如何使用 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 ...
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 ...