如何使用 Pandoc 将降价页面放到新的 PDF 页面上?

How to put markdown pages onto new PDF pages with Pandoc?

Pandoc 允许用户将多个 Markdown 输入文件翻译成一个 PDF 文件。

pandoc --pdf-engine=xelatex -o test.pdf *.md

通过此调用,所有 Markdown 页面都在 PDF 输出中连续列出,没有任何新页面。我想为每个 Markdown 文件创建一个新的 PDF 页面。

如何在每个插入的 Markdown 文件之前或之后添加 \newpage

如果您对多个文件使用 GNU awk,即 gawk,它有一个在每个文件末尾触发的扩展名,因此您可以使用它来像这样插入 "newpage" 命令:

gawk '1; ENDFILE{print "\newpage"}' *.md | pandoc --pdf-engine=xelatex -o test.pdf

gawk 中的 1 计算结果为 "True",这导致 gawk 执行其默认操作,即打印当前行,这意味着所有行得到打印,除了每个文件末尾的 "newpage" 命令。


如果您添加 -s 选项将每个文档视为单独的,您可能会得到与 GNU sed 相同的结果,因此您会得到一个单独的 "last line" 每个文档:

sed -se '$a\\newpage' doc*.md | pandoc ...