答案1
latexmk 文档中提到的后处理可能性仅适用于 dvi 和 postscript 文件。(请参阅-dF
和-pF
选项以及配置变量$dvi_filter
和的描述$ps_filter
。)我需要更正文档中关于这一点的内容。我可以改进 latexmk,使其也适用于 pdf 文件。
但是有一种更简单、更通用的方法。只需定义命令$pdflatex
以包含对 qpdf 的调用即可。例如,您可以将以下内容放入 latexmk 的初始化文件之一中:
$pdflatex = 'pdflatex %O %S && qpdf -linearize %D tmp.pdf && mv tmp.pdf %D';
(这是适合类 Unix 操作系统的形式,可能需要为 MS-Windows 进行更改。)当 latexmk 使用它时,它会执行 pdflatex 命令;如果成功,它会调用 qpdf,将结果放入临时文件中;如果成功,则移动临时文件以替换最初生成的 pdf 文件。
我的计算机上没有安装 qpdf,所以我根据它的文档编写适当的调用。
如果您想要一个命令行选项来控制 qpdf 的使用,请将上述行放在其自己的文件中,例如 useqpdf。然后您可以在需要时调用 latexmk 来读取此文件:
latexmk -r useqpdf foo.tex