LaTeX многоколонный блок в уценке Пандока

Я хочу конвертировать файл уценки в HTML и PDF с помощью Pandoc. Для файла PDF, который предназначен для печати, я хотел бы визуализировать блок (узкого) текста в формате двух столбцов. Вот что я придумал (и не работает):

---
papersize: a4
documentclass: article
header-includes:
    - \usepackage{multicol}
...

H1
==============

H2 - A
--------------

\begin{multicols}{2}

### H3 - a
Blah blah blah...

### H3 - b
Blah blah blah...

### H3 - c
Blah blah blah...

\end{multicols}

H2 - B
--------------
Blah blah blah...

Может ли это быть достигнуто с Pandoc? Проблема в том, что Пандок, кажется, лечит все от \begin{multicols}{2} в \end{multicols} как источник сырого латекса. Это означает, что:

  1. Вывод html не включает в себя содержимое блока.
  2. LaTeX душит блок, потому что уценка не интерпретируется до того, как она будет передана ему.

Есть ли способ дать команду pandoc ввести команду запуска среды (\begin{multicols}{2}) но остановите блок LaTeX raw в этой точке вместо сканирования, чтобы найти его конец? Или, может быть, лучшее решение для достижения желаемого эффекта?

Командные строки, которые я использую для преобразований:

pandoc --standalone --normalize -f markdown-hard_line_breaks -t html5 --self-contained -o out.pdfl in.md
pandoc --standalone --normalize -f markdown-hard_line_breaks -t latex -o out.pdf in.md

1 ответ

Решение

Вы можете использовать трюк, обсуждаемый здесь

По сути, Pandoc кодируется для распознавания \begin и \end, поэтому вместо этого определите \Begin и \End в заголовке и используйте их.

Например:

---
papersize: a4
documentclass: article
header-includes:
    - \usepackage{multicol}
    - \newcommand{\hideFromPandoc}[1]{#1}
    - \hideFromPandoc{
        \let\Begin\begin
        \let\End\end
      }
...

H1
==============

H2 - A
--------------

\Begin{multicols}{2}

### H3 - a
Blah blah blah...

### H3 - b
Blah blah blah...

### H3 - c
Blah blah blah...

\End{multicols}

H2 - B
--------------
Blah blah blah...
Другие вопросы по тегам