可以告诉 latexmk 完全忽略特定的中间文件吗?

可以告诉 latexmk 完全忽略特定的中间文件吗?

一次latex运行即可生成 LaTeX 文档的 DVI/PDF 版本

\documentclass{article}

\usepackage{comment}

\includecomment{comment}

\begin{document}

\begin{comment}
  \noindent
  Test
\end{comment}

\end{document}

相比之下,latexmk认为latex需要运行两次。原因如下:由于要包含注释,环境comment会将其内容写入中间文件(默认情况下comment.cut)。与其他中间文件(例如和文件)Latexmk类似,因此需要再运行一次。忽略的是,是在环境结束时输入的,之后就没用了。因此,第二次运行是多余的。comment.cuttocloflatexlatexmkcomment.cutcommentlatex

有人知道是否可以进行配置latexmk以使其完全忽略特定的中间文件?

答案1

@mhp:您的诊断是正确的。 comment.cut被检测为依赖文件,并在发现依赖文件已更改时latexmk重新运行规则(pdf)latex。它不会尝试确定更改是否对输出有实际影响。

在 的当前实现中tex,记录器选项可用,并可由 使用latexmk。这样就有足够的信息来确定文件是否仅在在同一次运行中写入后才被读取。latexmk检测并处理这种情况将是一个有用的优化。我会将它添加到改进列表中。

请注意,过度重新运行通常很少见:仅当评论环境的内容发生变化时才会发生。

相关内容