暂时禁止所有 BibTeX 警告

暂时禁止所有 BibTeX 警告

我想抑制全部来自 bibtex、natbib 和相关软件包的警告。我想这样做是因为我打算在最后阶段修复这些问题,同时,我不希望引用警告扰乱我的编译输出;我只想看到“真正的”错误和警告(即我现在需要修复的错误和警告)。我该怎么做?

目前我正在使用: \usepackage{silence}\WarningFilter*{natbib}{}。但是,这并不能消除所有警告。例如,我仍然收到以下形式的警告:

<no file>: warning: no database entry for "foo"
<no file>: warning: no database entry for "bar"
somefile.bib:89: warning: empty address in baz
somefile.bib:73: warning: page numbers missing in both pages and numpages fields in quux

(还有更多;这些只是为了说明,并稍加修改以删除文件名。)

我该如何抑制这些警告?理想情况下,我想在不删除我的引文(我仍然打算引用一些东西!)或手动更改我的 .bib 文件(如果可以通过简单的脚本或搜索和替换完成/撤消更改,那就没问题)的情况下执行此操作。我也无法更改为 biblatex 或其他系统;引文样式和工具由我所撰写的场所固定。

答案1

您提到的警告是由 BibTeX 生成的,并且silence无法应对这些警告,因为它仅在运行 LaTeX 时才会起作用。

如果您不想看到它们,就不要运行 BibTeX。如果您使用诸如 之类的包装器latexrun,那么请找到一种方法来告诉它您不需要 BibTeX,直到您决定是时候修复 bib 条目为止。但是,由于latexrun存在的主要原因似乎是在必要时运行 BibTeX,因此请将其保留,直到您需要它为止。

答案2

我认为这里最大的误解是你的句子

我想这样做是因为我打算在最后阶段解决这些问题

我认为你想要走的路是你能选择的最糟糕的路:

您抑制的每个警告都可能导致创建的 pdf 出现错误,或者导致大量后续警告或(有时)错误。

更好的办法是不使用包silence并尽快纠正所有出现的警告和错误!

相关内容