aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers/Markdown.hs
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2021-01-29 18:29:17 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2021-01-29 18:29:17 -0800
commit9223788a05fe619d567bcbdf4cb31db63de86f32 (patch)
treea1ab1dc4c43e67c7062dc97e5617c725d2d36338 /src/Text/Pandoc/Writers/Markdown.hs
parentd82fe52a02e43d905f34830162def346d851fc5a (diff)
downloadpandoc-9223788a05fe619d567bcbdf4cb31db63de86f32.tar.gz
Markdown writer: handle math right before digit.
We insert an HTML comment to avoid a `$` right before a digit, which pandoc will not recognize as a math delimiter.
Diffstat (limited to 'src/Text/Pandoc/Writers/Markdown.hs')
-rw-r--r--src/Text/Pandoc/Writers/Markdown.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index de9075ac4..898905603 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -22,7 +22,7 @@ module Text.Pandoc.Writers.Markdown (
writePlain) where
import Control.Monad.Reader
import Control.Monad.State.Strict
-import Data.Char (isAlphaNum)
+import Data.Char (isAlphaNum, isDigit)
import Data.Default
import Data.List (find, intersperse, sortOn, transpose)
import qualified Data.Map as M
@@ -987,6 +987,10 @@ inlineListToMarkdown opts lst = do
inlist <- asks envInList
go (if inlist then avoidBadWrapsInList lst else lst)
where go [] = return empty
+ go (x@Math{}:y@(Str t):zs)
+ | T.all isDigit (T.take 1 t) -- starts with digit -- see #7058
+ = liftM2 (<>) (inlineToMarkdown opts x)
+ (go (RawInline (Format "html") "<!-- -->" : y : zs))
go (i:is) = case i of
Link {} -> case is of
-- If a link is followed by another link, or '[', '(' or ':'