summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/LaTeX.hs
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2010-12-14 19:34:28 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2010-12-14 19:34:28 -0800
commit3ac6f72f988da20af7d460868fc1971b3ea63758 (patch)
tree175ea8a6d0b7d82400389d2a155bbe8a45a88509 /src/Text/Pandoc/Readers/LaTeX.hs
parent34d30efc5c58b8f60c44f5db369a3056780f654a (diff)
Fixed preamble parsing in LaTeX reader.
Diffstat (limited to 'src/Text/Pandoc/Readers/LaTeX.hs')
-rw-r--r--src/Text/Pandoc/Readers/LaTeX.hs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
index f02d7a564..70a913a1b 100644
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -120,7 +120,8 @@ anyEnvironment = try $ do
-- | Process LaTeX preamble, extracting metadata.
processLaTeXPreamble :: GenParser Char ParserState ()
processLaTeXPreamble =
- skipMany $ notFollowedBy' anyEnvironment >> block
+ skipMany $ choice [ bibliographic, unknownCommand,
+ commentBlock, skipToken ]
-- | Parse LaTeX and return 'Pandoc'.
parseLaTeX :: GenParser Char ParserState Pandoc
@@ -156,7 +157,9 @@ block = choice [ hrule
, itemBlock
, unknownEnvironment
, ignore
- , unknownCommand ] <?> "block"
+ , unknownCommand
+ , skipToken
+ ] <?> "block"
--
-- header blocks
@@ -435,6 +438,9 @@ unknownCommand = try $ do
commandsToIgnore :: [String]
commandsToIgnore = ["special","pdfannot","pdfstringdef","bibliography"]
+skipToken :: GenParser Char ParserState Block
+skipToken = satisfy (/='\\') >> spaces >> return Null
+
commentBlock :: GenParser Char st Block
commentBlock = comment >> return Null