我编辑 TeX 文件时的通常工作流程是从终端调用 Makefile,通常打开输出 PDF 文件,调用后make
,该文件会更新最新的更改。
在这种特殊情况下,Makefile 仅包含对 pdflatex 的调用,如下所示:
FILE ?=texfile
all:
pdflatex '\nonstopmode\input $(FILE)'
clean:
rm -f *.toc *.aux *.log *.dvi *.blg *.bbl *~
我在 macOS Mojave 上使用它;pdfTeX 版本 3.14159265-2.6-1.40.19(TeX Live 2018)。Make 是 GNU Make 3.81。
然而,我开始注意到,这个调用现在生成了几个 PDF 文件(我假设是在自动更新之后),这样新的文件就不会覆盖旧的文件。因此,如果结果texfile.pdf
已经存在,make
将生成一个新的调用texfile 2.pdf
,依此类推。这破坏了我的工作流程,因为我需要关闭之前打开的 PDF 并打开新创建的 PDF,然后找出哪个数字是最新的。大多数时候,我使用快捷方式从 vim 执行此操作,它不会自动将数字添加到文件名中,因此无法打开最新的 PDF 文件。
pdflatex
此外,据我所知,文件命名的这种变化并没有反映在调用后生成的 .log 文件中,因为它只是说
Output written on texfile.pdf (X pages, Y bytes).
有什么线索可以说明为什么现在会发生这种情况,以及我该如何避免这种情况?