latexmk-使用-auxdir标志时“(Pdf)Latex未能生成预期的日志文件”

latexmk-使用-auxdir标志时“(Pdf)Latex未能生成预期的日志文件”

我使用的是latexmk4.41 版。调用编译正常,没有任何错误。但是,当我尝试使用以下命令latexmk -pdf document_template.tex将所有辅助文件输出到文件夹中时:tmp

latexmk -auxdir=./tmp/ -pdf document_template.tex

我收到以下错误:

Latexmk: Errors, so I did not complete making targets
Collected error summary (may duplicate other messages):
  pdflatex: (Pdf)LaTeX failed to generate the expected log file 'tmp/document_template.log'
Latexmk: Did not finish processing file 'document_template.tex':
   (Pdf)LaTeX failed to generate the expected log file 'tmp/document_template.log'
Latexmk: Use the -f option to force complete processing,
 unless error was exceeding maximum runs of latex/pdflatex.

并且只有.aux.fdb_latexmk文件会位于.\tmp文件夹中,而其余的辅助文件与.tex文档位于同一文件夹中。我做错了什么?

答案1

我遇到了完全相同的问题。经过一番探索,我发现了以下内容。

诊断

首先,我在 MacOSX 上使用 MacTex 作为 Latex 编译器。文档latexmk说明如下:

-auxdir=FOO设置 (pdf)latex 辅助输出文件 (.aux、.log 等) 的目录。这通过 (pdf)latex 的 -aux-directory 选项实现其效果,该选项目前仅在 MiKTeX 版本的 (pdf)latex 上实现。(摘自:https://man.cx/latexmk

我没有使用 MikTex,因此我怀疑这是问题的一部分。(更多信息请点击此处:Latex 发行版。它们的主要区别是什么?

解决方案

添加选项outdir并将其指向与 相同的目录auxdir。在您的例子中将是:

latexmk -auxdir=./tmp/ -outdir=./tmp/ -pdf document_template.tex

这会将所有衍生文件放入tmp

检查是否需要辅助文件夹

如果您在 latex 文档中使用 \include{} 命令,则可能需要在tmp目录中创建一个目录。更多信息请见此处:(latexmk -outdir 带有 \include

相关内容