From 4a07977715021da241b1bf5ab3e1ee62fef89fa1 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 22 Dec 2017 17:33:02 -0800 Subject: Markdown reader: improved raw tex parsing. + Preserve original whitespace between blocks. + Recognize `\placeformula` as context. --- src/Text/Pandoc/Readers/Markdown.hs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 9ffdbf00d..af020261b 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -1120,14 +1120,17 @@ rawVerbatimBlock = htmlInBalanced isVerbTag rawTeXBlock :: PandocMonad m => MarkdownParser m (F Blocks) rawTeXBlock = do guardEnabled Ext_raw_tex - result <- (B.rawBlock "context" . concat <$> - rawConTeXtEnvironment `sepEndBy1` blankline) - <|> (B.rawBlock "latex" . concat <$> - rawLaTeXBlock `sepEndBy1` blankline) - - optional blanklines + result <- (B.rawBlock "context" . trimr . concat <$> + many1 ((++) <$> (rawConTeXtEnvironment <|> conTeXtCommand) + <*> (blanklines <|> many spaceChar))) + <|> (B.rawBlock "latex" . trimr . concat <$> + many1 ((++) <$> rawLaTeXBlock + <*> (blanklines <|> many spaceChar))) return $ return result +conTeXtCommand :: PandocMonad m => MarkdownParser m String +conTeXtCommand = oneOfStrings ["\\placeformula"] + rawHtmlBlocks :: PandocMonad m => MarkdownParser m (F Blocks) rawHtmlBlocks = do (TagOpen tagtype _, raw) <- htmlTag isBlockTag -- cgit v1.2.3