如何从 latexmk 的目标列表中排除 DVI 文件?

如何从 latexmk 的目标列表中排除 DVI 文件?

我使用 upLaTeX,它不能直接生成 PDF,用于日文文档和latexmk排版顺序的自动化。我.latexmkrc对 upLaTeX 的典型操作如下(提取相关部分):

#!/usr/bin/env perl

$pdf_mode = 3;
$latex = 'uplatex -file-line-error -halt-on-error -interaction=nonstopmode %O %S';
$dvipdf = 'dvipdfmx %O -o %D %S';

现在,我想latexmk自动删除 DVI,因为我不需要它。我尝试了一种新的配置$dvipdf

$dvipdf = 'dvipdfmx %O -o %D %S && rm %B.dvi';

这几乎可以正常工作,但是出现了一个问题。尽管我有意删除了 DVI,但latexmk它却提示无法创建 DVI 文件。

$ latexmk test.tex
# other logs here
Running 'dvipdfmx  -o "test.pdf" "test.dvi" && rm "test".dvi'
------------
test.dvi -> test.pdf
[1]
6802 bytes written
Failure to make 'test.dvi'
Latexmk: Errors, so I did not complete making targets
Latexmk: Use the -f option to force complete processing,
 unless error was exceeding maximum runs of latex/pdflatex.

latexmk当第一个 不产生错误时.latexmkrc,它会说Latexmk: All targets (test.pdf test.dvi) are up-to-date。所以我猜 的存在对于成功完成test.dvi是必要的。latexmk

我怎样才能从目标列表中排除 DVI,以便latexmk能够在这种情况下成功?

一种替代方法是使用$pdf_update_methodand $pdf_update_command

$pdf_update_method = 4;
$pdf_update_command = 'rm %R.dvi';

然而,这需要-pvc选择,这对我来说是不受欢迎的。

相关内容