按 Ctrl-C 退出连续预览时,Make 实用程序会删除 PDF

按 Ctrl-C 退出连续预览时,Make 实用程序会删除 PDF

我正在使用 Makefile 和latexmk实用程序从 LaTeX 文件构建 PDF。我的问题在下面。以下是一些背景信息:

我的 Makefile 的相关部分如下:

LATEX=pdflatex
LATEXOPT=--shell-escape --file-line-error
NONSTOP=--interaction=nonstopmode
LATEXMK=latexmk
LATEXMKOPT=-quiet -pdf
CONTINUOUS=-pvc

%.pdf: %.tex
    @${LATEXMK} ${LATEXMKOPT} ${CONTINUOUS} \
      -pdflatex="${LATEX} ${LATEXOPT} ${NONSTOP} %O %S" $<

此结构改编自此链接

我将 LaTeX 源代码编译file.texfile.pdf使用

make file.pdf

它会一直运行latexmk,并在每次修改时file.tex不断重新编译它(使用-pvc“连续预览”选项)。结合自动更新的 PDF 查看器,这样我每次保存时都可以编辑和查看更新的 PDF。pdflatexfile.texfile.tex

latexmk在后台运行时,它运行良好。问题是当我想结束时latexmk。它告诉我

=== Watching for updated files. Use ctrl/C to stop ...

我一打字Ctrl-Cmake就说

make: *** Deleting file `file.pdf'

我相信这是因为我file.pdf突然停止构建目标,所以make认为出了问题。因此,我的问题是

如何latexmk在使用时连续预览并退出make,而不删除 PDF?

答案1

问完这个问题后我读到来自make文档。事实证明,中断时make不会删除特殊目标的依赖项.PRECIOUS。添加行

.PRECIOUS: %.pdf

似乎解决了我的问题。

相关内容