Если я использую изолированный блок кода в уценке pandoc, он дает разумный результат 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}
Вы не можете использовать какие-либо команды уценки внутри латексных сред. Однако если вы используете подчиненные макросы, которые latex внутренне использует для сред, markdown не будет знать, что вы находитесь в латексной среде, и с радостью выполнит свою работу:
---
output: pdf_document
---
\minipage{\textwidth}
```python
foo = 1
```
\endminipage