自动检测 pdflatex 的错误

自动检测 pdflatex 的错误

背景:

我有许多单独的文件需要编译,因此我使用脚本来执行此操作,并使用以下选项:

set PDFLATEX_OPTIONS = "        --file-line-error         --shell-escape         --synctex=1         --interaction=nonstopmode         --recorder "

因为我不想因为一个文件中存在错误而终止编译。

介绍:

我希望我的脚本能够检测哪些文件完全无法产生有用的结果。目前,我不太关心轻微的过满/不足的盒子报告,而是试图关注那些必须是固定的(相对于那些应该需要修复)。

对于我自己用例的特定情况,我尽可能多地进行错误检测,并将非常具体的错误消息写入日志文件,我的脚本可以检测到并报告任何问题。这个过程一直很有效,直到我最近遇到了一个问题,一些由于我的常用文件发生了变化,所以根本无法生成 PDF 文件.sty。好吧,这是一个简单的修复方法,我只需使用:

grep "no output PDF file produced"

并测试返回代码以检测此故障。但这让我想到,这总是一个不好的迹象 :-),也许在某些情况下,该消息未生成,但 PDF 文件不包含任何内容,或者可能发生其他灾难性故障。

问题:

我正在寻找有关具体的在日志文件中查找错误消息,或者应该执行自动化测试以尽量减少忽视某些极其重要的故障的机会。

尽管我主要关心的是必须修复后,我需要查看应该也是固定类别。例如,在某些时候,过满的箱子警告实际上是必须已修复。关于这些问题的任何建议也都会很有用。

笔记:

  • 也许我应该只查看返回代码而pdflatex不是特定的错误消息,但我认为能够对失败进行分类以便我可以确定优先次序会更有用。
  • 这个问题不是关于可以通过nag包检测到的东西,例如

    我正在尽可能多地使用我所知道的此类检测,并在创建时检查 PDF 文件以确保它看起来合理,但不能查看每一个每次我更改.sty文件时都会生成 PDF。

参考:

答案1

可能存在这样的情况:虽然不会生成该消息,但 PDF 文件不包含任何内容,或者可能发生其他灾难性故障。

本文档没有产生任何错误或“未生成输出 PDF”警告,但可能被视为应该修复的错误。这可能是也可能不是您描述的情况,具体取决于您如何定义“无内容”......

\shipout\null\stop
\documentclass{article}


\begin{document}

hello, this important message must be typeset

\end{document}

相关内容