创建 PDF

要生成 PDF 的话,只要为输出文件指定 .pdf 后缀即可。

pandoc test.txt -o test.pdf

默认情况下, pandoc 使用 LaTeX 来构建 PDF, 它要求安装 LaTeX 引擎(参考 —pdf-engine 部分内容), 当然你可以选择安装 ConTeXt, roff ms 或者 HTML 作为中间格式。如果选择这样做的话,就要为输出文件指定 .pdf 后缀,而且添加 —pdf-engine 选项或者 -t context, -t html 或者 -t ms,对应的生成 PDF 的引擎可以通过使用 —pdf-engine 来指定。

可以通过使用变量来控制 PDF 的样式,这取决于使用到的中间格式,具体可以参考 LaTeX 、ConTeXt 、wkhtmltopdf 以及 ms 变量,当使用 HTML 作为中间变量的时候,输出的时候可以通过 —css 来指定对应的样式。

调试 PDF 创建过程的方法是观察中间展示,比如你可以通过 -s -o test.tex 来生成中间态的 LaTeX 格式,然后就可以通过 pdflatex test.tex 来测试了

使用 LaTeX 时,需要安装以下包(这些包包含在最新版的 TeX Live 中):amsfonts, amsmath, lm, unicode-math, iftex, listings (如果使用 —listings 选项的话), fancyvrb, longtable, booktabs, graphicx (假如文档包含图片), hyperref, xcolor, ulem, geometry (包含 geometry 相关变量), setspace (包含 linestretch), and babel (with lang). 如果想要设置 CJKmainfont 选项就需要 xeCJK 包。xelatex 或者 lualatex PDF 引擎需要 fontspec 。lualatex 要用到 selnolig. xelatex 要用到 bidi (同时要设置 dir 变量)。如果 mathspec 有被设置的话,那么 xelatex 会使用 mathspec 而不是 unicode-math。如果有的话会使用到 upquote 和 microtype 包,如果 csquotes 变量或元数据字段设置为 true,则 csquotes 将用于排版。natbib, biblatex, bibtex和biber包装可以选择用于引用文章渲染。以下包将用于提高输出质量,但 pandoc 不要求安装他们: upquote (用于逐字记录环境中的直接引号)、microtype(用于更好的间距调整)、parskip(用于更好的段间空格)、xurl(用于更好的url换行)、bookmark(用于更好的PDF书签)和 footnotehyper 或 footnote (允许在表中添加脚注)。