aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2020-01-08 08:43:51 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2020-01-08 08:43:51 -0800
commitfc78be1140532dcd7dc4ef614ac753cca5cf8b1e (patch)
treec2918a27e05a53efa2df2c60b4f795000e9fbd87 /src/Text/Pandoc
parentbef0133fe044350caeee24cdf79203a9306534da (diff)
downloadpandoc-fc78be1140532dcd7dc4ef614ac753cca5cf8b1e.tar.gz
LaTeX reader: improve parsing of raw environments.
If parsing fails in a raw environment (e.g. due to special characters like unescaped `_`), try again as a verbatim environment, which is less sensitive to special characters. This allows us to capture special environments that change catcodes as raw tex when `-f latex+raw_tex` is used. Closes #6034.
Diffstat (limited to 'src/Text/Pandoc')
-rw-r--r--src/Text/Pandoc/Readers/LaTeX.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
index adb66d54a..bfade7284 100644
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -1942,7 +1942,7 @@ environment = try $ do
if M.member name (inlineEnvironments
:: M.Map Text (LP PandocPure Inlines))
then mzero
- else rawEnv name
+ else rawEnv name <|> rawVerbEnv name
env :: PandocMonad m => Text -> LP m a -> LP m a
env name p = p <* end_ name