@@ -120,7 +120,8 @@ anyEnvironment = try $ do
120120-- | Process LaTeX preamble, extracting metadata.
121121processLaTeXPreamble :: GenParser Char ParserState ()
122122processLaTeXPreamble =
123− skipMany $ notFollowedBy' anyEnvironment >> block
123+ skipMany $ choice [ bibliographic, unknownCommand,
124+ commentBlock, skipToken ]
124125
125126-- | Parse LaTeX and return 'Pandoc'.
126127parseLaTeX :: GenParser Char ParserState Pandoc
@@ -156,7 +157,9 @@ block = choice [ hrule
156157 , itemBlock
157158 , unknownEnvironment
158159 , ignore
159− , unknownCommand ] <?> "block"
160+ , unknownCommand
161+ , skipToken
162+ ] <?> "block"
160163
161164--
162165-- header blocks
@@ -435,6 +438,9 @@ unknownCommand = try $ do
435438commandsToIgnore :: [String]
436439commandsToIgnore = ["special","pdfannot","pdfstringdef","bibliography"]
437440
441+skipToken :: GenParser Char ParserState Block
442+skipToken = satisfy (/='\\') >> spaces >> return Null
443+
438444commentBlock :: GenParser Char st Block
439445commentBlock = comment >> return Null
440446