当我在 Markdown 文档中使用 titlesec 时,如下所示:
---
header-includes:
- \usepackage{titlesec}
---
在使用pandoc处理时,出现以下错误:
pandoc try.md -o try.pdf
! Argument of \paragraph has an extra }.
<inserted text>
\par
l.1290 \ttl@extract\paragraph
pandoc: Error producing PDF
通过搜索,我找到了以下 R-markdown 的解决方法:无法使用自定义样式编织为 pdf https://stackoverflow.com/questions/40439701/cant-knit-to-pdf-with-custom-styles
我想知道如何使用 markdown 和 YAML 标头实现类似的解决方法?
我还发现并验证了以下方法可行:
pandoc --variable=subparagraph try.md -o try.pdf
但这对于用户来说比较困难,因为人们可能会忘记解决方法。
有一些关于解决方法的讨论https://www.bountysource.com/issues/40574981-latex-template-inknown-with-titlesec https://www.bountysource.com/issues/40574981-latex-template-incompatible-with-titlesec,
但这超出了我的知识范围
感谢您的帮助
这是因为默认的 LaTeX 模板重新定义了\paragraph
。要禁用此行为,您可以使用subparagraph
pandoc 中的变量。您可以在命令行中提供它:
pandoc --variable subparagraph -o file.pdf file.md
或者您可以将其嵌入到文档的 YAML 元数据中,并使用任何非空值:
---
subparagraph: yes
---
From man pandoc
(以及用户手册 http://pandoc.org/MANUAL.html#metadata-blocks):
subparagraph
禁用 LaTeX 模板的默认行为,将(子)段落重新定义为部分,从而更改某些类中嵌套标题的外观
在这之后,titlesec.sty
应该管用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)