diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-03-10 09:46:32 +0100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-03-10 09:46:32 +0100 |
commit | c46febaaeef1c203f5bbb88d845ad5554622f609 (patch) | |
tree | 18654f772bb8d50d4b9345031b3076e90340ac65 /src/Text | |
parent | a088d67f0d7212c96f5b59c568f0fc61a1106be4 (diff) | |
download | pandoc-c46febaaeef1c203f5bbb88d845ad5554622f609.tar.gz |
Expand \newenvironment macros.
Closes #987.
Depends on still unreleased texmath 0.9.3.
Diffstat (limited to 'src/Text')
-rw-r--r-- | src/Text/Pandoc/Readers/LaTeX.hs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index 48266f894..7018d2ce3 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -971,17 +971,19 @@ rawEnv name = do let parseRaw = extensionEnabled Ext_raw_tex exts rawOptions <- mconcat <$> many rawopt let beginCommand = "\\begin{" ++ name ++ "}" ++ rawOptions - unless parseRaw $ do - pos1 <- getPosition - report $ SkippedContent beginCommand pos1 + pos1 <- getPosition (bs, raw) <- withRaw $ env name blocks - raw' <- applyMacros' raw - if parseRaw - then return $ rawBlock "latex" $ beginCommand ++ raw' - else do - pos2 <- getPosition - report $ SkippedContent ("\\end{" ++ name ++ "}") pos2 - return bs + raw' <- applyMacros' $ beginCommand ++ raw + if raw' /= beginCommand ++ raw + then parseFromString blocks raw' + else if parseRaw + then return $ rawBlock "latex" $ beginCommand ++ raw' + else do + unless parseRaw $ do + report $ SkippedContent beginCommand pos1 + pos2 <- getPosition + report $ SkippedContent ("\\end{" ++ name ++ "}") pos2 + return bs ---- |