Невозможно использовать titlesec с уценкой и pandoc?

Когда я использовал titlesec в моем документе уценки, как показано ниже:

---
header-includes:
    - \usepackage{titlesec}
---

при обработке pandoc я получил следующую ошибку:

pandoc try.md -o try.pdf
! Argument of \paragraph has an extra }.
<inserted text> 
                \par 
l.1290 \[email protected]\paragraph

pandoc: Error producing PDF

путем поиска, я нашел следующую рабочую среду для R-markdown: Не могу вязать в pdf с пользовательскими стилями

Интересно, как я могу реализовать аналогичную работу с заголовками и YAML-заголовками?

Я также нашел и проверил следующий подход:

pandoc --variable=subparagraph try.md -o try.pdf

Но это труднее для пользователя, так как можно забыть о работе.

Существует некоторое обсуждение обходной работы https://www.bountysource.com/issues/40574981-latex-template-incompatible-with-titlesec, но это не я.

Спасибо за вашу помощь

Ответы

Ответ 1

Это потому, что шаблон LaTeX по умолчанию переопределяет \paragraph. Чтобы отключить это поведение, вы можете использовать переменную subparagraph в pandoc. Вы можете указать это в командной строке:

pandoc --variable subparagraph -o file.pdf file.md

Или вы можете встроить его в метаданные YAML документа с любым ненулевым значением:

---
subparagraph: yes
---

Из man pandocруководства пользователя):

subparagraph

отключает стандартное поведение шаблона LaTeX, которое переопределяет (под) абзацы как разделы, изменяя внешний вид вложенных заголовков в некоторых классах

После этого titlesec.sty должен работать.