Expand \newenvironment macros.

Closes #987.

Depends on still unreleased texmath 0.9.3.
This commit is contained in:
John MacFarlane 2017-03-10 09:46:32 +01:00
parent a088d67f0d
commit c46febaaee
3 changed files with 25 additions and 11 deletions

View file

@ -269,7 +269,7 @@ Library
text >= 0.11 && < 1.3,
zip-archive >= 0.2.3.4 && < 0.4,
HTTP >= 4000.0.5 && < 4000.4,
texmath >= 0.9 && < 0.10,
texmath >= 0.9.3 && < 0.10,
xml >= 1.3.12 && < 1.4,
random >= 1 && < 1.2,
extensible-exceptions >= 0.1 && < 0.2,

View file

@ -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
----

12
test/command/987.md Normal file
View file

@ -0,0 +1,12 @@
```
pandoc -f latex -t markdown
\documentclass{article}
\newenvironment{flubble}{FOO}{BAR}
\begin{document}
\begin{flubble}
grr
\end{flubble}
\end{document}
^D
FOO grr BAR
```