aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers
diff options
context:
space:
mode:
authorJohn MacFarlane <fiddlosopher@gmail.com>2011-12-31 11:40:47 -0800
committerJohn MacFarlane <fiddlosopher@gmail.com>2011-12-31 11:40:47 -0800
commit3cf60c73061f247b531da4b3c18664c6134bee53 (patch)
tree55cded45b8b5503ff8fadfe91f0e6807a06ac9de /src/Text/Pandoc/Readers
parentc264dc4f5b86688552f663f1487d135b035f0b62 (diff)
downloadpandoc-3cf60c73061f247b531da4b3c18664c6134bee53.tar.gz
Support for math in RST reader and writer.
Inline math uses the :math:`...` construct. Display math uses .. math:: ... or if multilin .. math:: ... These seem to be supported now by rst2latex.py.
Diffstat (limited to 'src/Text/Pandoc/Readers')
-rw-r--r--src/Text/Pandoc/Readers/RST.hs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Readers/RST.hs b/src/Text/Pandoc/Readers/RST.hs
index 02154b5a3..456b23ce8 100644
--- a/src/Text/Pandoc/Readers/RST.hs
+++ b/src/Text/Pandoc/Readers/RST.hs
@@ -363,18 +363,18 @@ customCodeBlock = try $ do
-- | The 'math' directive (from Sphinx) for display math.
mathBlock :: GenParser Char st Block
-mathBlock = mathBlockMultiline <|> mathBlockOneLine
+mathBlock = try $ do
+ string ".. math::"
+ mathBlockMultiline <|> mathBlockOneLine
mathBlockOneLine :: GenParser Char st Block
mathBlockOneLine = try $ do
- string ".. math:"
result <- manyTill anyChar newline
blanklines
return $ Para [Math DisplayMath $ removeLeadingTrailingSpace result]
mathBlockMultiline :: GenParser Char st Block
mathBlockMultiline = try $ do
- string ".. math::"
blanklines
result <- indentedBlock
-- a single block can contain multiple equations, which need to go
@@ -384,7 +384,8 @@ mathBlockMultiline = try $ do
let startsWithColon (':':_) = True
startsWithColon _ = False
let lns' = dropWhile startsWithColon lns
- let eqs = map unwords $ filter (not . null) $ splitBy null lns'
+ let eqs = map (removeLeadingTrailingSpace . unlines)
+ $ filter (not . null) $ splitBy null lns'
return $ Para $ map (Math DisplayMath) eqs
lhsCodeBlock :: GenParser Char ParserState Block