![latexmk 可以使用 lualatex 生成 DVI 文件或使用 xelatex 生成 XDV 文件而不生成 PDF 吗?](https://linux22.com/image/447517/latexmk%20%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20lualatex%20%E7%94%9F%E6%88%90%20DVI%20%E6%96%87%E4%BB%B6%E6%88%96%E4%BD%BF%E7%94%A8%20xelatex%20%E7%94%9F%E6%88%90%20XDV%20%E6%96%87%E4%BB%B6%E8%80%8C%E4%B8%8D%E7%94%9F%E6%88%90%20PDF%20%E5%90%97%EF%BC%9F.png)
背景:我是鬣蜥特克斯,一个 PowerPoint 插件,用于在 Powerpoint 中插入 LaTeX 显示。我想让我的用户使用dvisvgm
DVI 文件或 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 的开发版本中,它们将在下一个版本中出现。