git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: pass through macro defs in rawLaTeXBlock...
e7d95caJohn MacFarlane
src/Text/Pandoc/Readers/LaTeX.hs+2−4
@@ -272,10 +272,8 @@ rawLaTeXBlock = do
272 lookAhead (try (char '\\' >> letter))
272 lookAhead (try (char '\\' >> letter))
273 -- we don't want to apply newly defined latex macros to their own
273 -- we don't want to apply newly defined latex macros to their own
274 -- definitions:
274 -- definitions:
275− (do (_, raw) <- rawLaTeXParser macroDef
275+ (snd <$> rawLaTeXParser macroDef)
276− (guardDisabled Ext_latex_macros >> return raw) <|> return "")
277− <|> (do (_, raw) <- rawLaTeXParser (environment <|> blockCommand)
276+ <|> ((snd <$> rawLaTeXParser (environment <|> blockCommand)) >>= applyMacros)
278− applyMacros raw)
279
277
280rawLaTeXInline :: (PandocMonad m, HasMacros s, HasReaderOptions s)
278rawLaTeXInline :: (PandocMonad m, HasMacros s, HasReaderOptions s)
281 => ParserT String s m String
279 => ParserT String s m String
test/command/4159.md+2−1
@@ -3,5 +3,6 @@
3\newcommand{\gen}{a\ Gen\ b}
3\newcommand{\gen}{a\ Gen\ b}
4abc
4abc
5^D
5^D
6+[RawBlock (Format "latex") "\\newcommand{\\gen}{a\\ Gen\\ b}"
6−[Para [Str "abc"]]
7+,Para [Str "abc"]]
7```
8```
test/command/macros.md+3
@@ -3,6 +3,7 @@
3\newcommand{\my}{\phi}
3\newcommand{\my}{\phi}
4$\my+\my$
4$\my+\my$
5^D
5^D
6+\newcommand{\my}{\phi}
6$\phi+\phi$
7$\phi+\phi$
7```
8```
8
9
@@ -73,6 +74,7 @@ x &= y\\\end{aligned}\]
73\my+\my
74\my+\my
74\end{equation}
75\end{equation}
75^D
76^D
77+\newcommand{\my}{\phi}
76\begin{equation}
78\begin{equation}
77\phi+\phi
79\phi+\phi
78\end{equation}
80\end{equation}
@@ -96,5 +98,6 @@ x &= y\\\end{aligned}\]
96\newcommand{\my}{\emph{a}}
98\newcommand{\my}{\emph{a}}
97\my
99\my
98^D
100^D
101+\newcommand{\my}{\emph{a}}
99\emph{a}
102\emph{a}
100```
103```
test/markdown-reader-more.native+1
@@ -54,6 +54,7 @@ Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "Author",S
54,OrderedList (3,Example,TwoParens)
54,OrderedList (3,Example,TwoParens)
55 [[Plain [Str "Third",Space,Str "example."]]]
55 [[Plain [Str "Third",Space,Str "example."]]]
56,Header 2 ("macros",[],[]) [Str "Macros"]
56,Header 2 ("macros",[],[]) [Str "Macros"]
57+,RawBlock (Format "latex") "\\newcommand{\\tuple}[1]{\\langle #1 \\rangle}"
57,Para [Math InlineMath "\\langle x,y \\rangle"]
58,Para [Math InlineMath "\\langle x,y \\rangle"]
58,Header 2 ("case-insensitive-references",[],[]) [Str "Case-insensitive",Space,Str "references"]
59,Header 2 ("case-insensitive-references",[],[]) [Str "Case-insensitive",Space,Str "references"]
59,Para [Link ("",[],[]) [Str "Fum"] ("/fum","")]
60,Para [Link ("",[],[]) [Str "Fum"] ("/fum","")]