latexmk 可以使用 lualatex 生成 DVI 文件或使用 xelatex 生成 XDV 文件而不生成 PDF 吗?

latexmk 可以使用 lualatex 生成 DVI 文件或使用 xelatex 生成 XDV 文件而不生成 PDF 吗?

背景:我是鬣蜥特克斯,一个 PowerPoint 插件,用于在 Powerpoint 中插入 LaTeX 显示。我想让我的用户使用dvisvgmDVI 文件或 XDV 文件生成 SVG 文件,因为 PDF 可能会导致生成的 SVG 文件中的问题。我的一些用户想要使用 lualatex 或 xelatex,而他们中的一些人还想依赖 latexmk 来产生正确的交叉引用。

latexmk 支持 xelatex 和 lualatex,但主要目标输出是 PDF,并且我找不到仅输出 DVI 或 XDV 文件的方法。

对于 xelatex,我可以用来latexmk -pdfxe -pdfxelatex="xelatex --shell-escape %O %S" foo.tex生成 XDV 和 PDF。

对于 lualatex,我可以用来latexmk -pdflua -lualatex="lualatex --shell-escape -output-format dvi %O %S" -e "$dvipdf='dvipdfmx %O %S'" foo.tex生成 DVI 和 PDF。

在这两种情况下,我都不需要最终的 DVI 到 PDF 转换步骤,并且为了提高效率我想跳过它。有办法吗?

答案1

Latex 维护者在这里。你可以获取 latexmk 来使用 lualatex 生成 dvi 文件(无需以下

latexmk -dvi -pdf- -latex="dvilualatex --shell-escape %O %S" foo.tex

也就是说,你告诉 latex 制作一个 dvi 文件,但使用 dvilualatex,而默认情况下它会使用 latex。

使用当前版本的 latexmk,没有简单的方法可以使用它来生成 xdv 文件,而无需制作 pdf 文件。

我会把这个问题作为一个功能请求,以便提供实现所要求的选项,也许-dvilua-xdv

后记(2022 年 4 月 23 日):我已将这些功能添加到 latexmk 的开发版本中,它们将在下一个版本中出现。

相关内容