diff options
author | John MacFarlane <jgm@berkeley.edu> | 2016-05-05 13:20:09 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2016-05-05 13:20:09 -0700 |
commit | f7a5c17a63d48b26e3c676170e8673f3011cf452 (patch) | |
tree | 5a7a42cd4ec440cc5010e065342e6d4d40190252 /src | |
parent | cc9a9c7150250609919e06932aa3da6d4c04d3ff (diff) | |
parent | 405c3e9c36837226b0f714f241b115c72f0b8861 (diff) | |
download | pandoc-f7a5c17a63d48b26e3c676170e8673f3011cf452.tar.gz |
Merge pull request #2900 from tarleb/org-symbol-fix
Org reader: fix spacing after LaTeX-style symbols
Diffstat (limited to 'src')
-rw-r--r-- | src/Text/Pandoc/Readers/Org.hs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Readers/Org.hs b/src/Text/Pandoc/Readers/Org.hs index 5e98be31d..a7987475a 100644 --- a/src/Text/Pandoc/Readers/Org.hs +++ b/src/Text/Pandoc/Readers/Org.hs @@ -49,7 +49,7 @@ import qualified Text.TeXMath.Readers.MathML.EntityMap as MathMLEntityMap import Control.Arrow (first) import Control.Monad (foldM, guard, liftM, liftM2, mplus, mzero, when) import Control.Monad.Reader (Reader, runReader, ask, asks, local) -import Data.Char (isAlphaNum, toLower) +import Data.Char (isAlphaNum, isSpace, toLower) import Data.Default import Data.List (intersperse, isPrefixOf, isSuffixOf) import qualified Data.Map as M @@ -1587,8 +1587,8 @@ inlineLaTeX = try $ do state :: ParserState state = def{ stateOptions = def{ readerParseRaw = True }} - texMathToPandoc inp = (maybeRight $ readTeX inp) >>= - writePandoc DisplayInline + texMathToPandoc :: String -> Maybe [Inline] + texMathToPandoc cs = (maybeRight $ readTeX cs) >>= writePandoc DisplayInline maybeRight :: Either a b -> Maybe b maybeRight = either (const Nothing) Just @@ -1598,9 +1598,11 @@ inlineLaTeXCommand = try $ do rest <- getInput case runParser rawLaTeXInline def "source" rest of Right (RawInline _ cs) -> do - let len = length cs + -- drop any trailing whitespace, those should not be part of the command + let cmdNoSpc = takeWhile (not . isSpace) $ cs + let len = length cmdNoSpc count len anyChar - return cs + return cmdNoSpc _ -> mzero smart :: OrgParser (F Inlines) |