aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2016-05-05 13:20:09 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2016-05-05 13:20:09 -0700
commitf7a5c17a63d48b26e3c676170e8673f3011cf452 (patch)
tree5a7a42cd4ec440cc5010e065342e6d4d40190252 /src
parentcc9a9c7150250609919e06932aa3da6d4c04d3ff (diff)
parent405c3e9c36837226b0f714f241b115c72f0b8861 (diff)
downloadpandoc-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.hs12
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)