如果我在 pandoc markdown 中使用围栏代码块,它会产生合理的 LaTeX 输出:
\pagebreak
```python
foo = 1
```
pandoc input.md -o output.tex
\pagebreak
\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{foo }\OperatorTok{=} \DecValTok{1}
\end{Highlighting}
\end{Shaded}
但是如果我用环境命令替换
\pagebreak
LaTeX 命令,受保护的代码块将不再工作:
\begin{minipage}{\textwidth}
```python
foo = 1
```
\end{minipage}
pandoc input.md -o output.tex
\begin{minipage}{\textwidth}
```python
foo = 1
```
\end{minipage}
pandoc 似乎对 LaTeX 环境有一些特殊的处理,这会破坏一些东西。有谁知道我可以在哪里寻找解决方案?我希望将环境命令按原样插入到输出中,就像所有其他 LaTeX 命令一样,无需任何特殊处理。
我知道的解决方案是将 LaTeX 代码本身作为围栏块插入,但这会添加很多不必要的代码行,我宁愿避免:
```{=latex}
\begin{minipage}{\textwidth}
```
`\begin{minipage}{\textwidth}`{=latex}
---
output: pdf_document
---
\minipage{\textwidth}
```python
foo = 1
```
\endminipage