有没有办法可以删除 bib 文件中的错误条目?

有没有办法可以删除 bib 文件中的错误条目?

我使用 Mendeley 导出了一个巨大的 bib 文件,其中包含我笔记本电脑上的所有文章。正如预期的那样,有很多错误的引用条目,例如缺少作者姓名等。问题是这些错误的条目似乎阻止了 biber 生成参考列表。由于有成千上万个这样的错误条目,我迫切希望找到一种自动摆脱它们的方法……或者也许我的整体策略是错误的?

答案1

理想情况下,Mendeley 应该生成格式良好的.bib文件。根据我的经验,Mendeley 偶尔会导出有问题的条目,但不应该有大量错误条目。

.bib文件中的错误大致有两种类型

  • BibTeX 语法错误和
  • LaTeX 语法错误。

虽然 Biber 和 BibTeX 不会注意到 LaTeX 语法错误,但 BibTeX 语法问题当然会在.blg文件中被标注出来。

对于 BibTeX 语法错误,Biber 应该生成一个错误,其中包含行号或指向格式错误的条目的条目键。行号并不总是完全准确,因为错误有时只有在处理完其他代码后才会显现出来,但它们应该可以让您大致了解要查找的位置。

不幸的是,Biber 无法真正跳过大多数错误。有一种方法可以尝试让 Biber 在遇到错误后运行更长时间,但这并不能保证在这里有所帮助,并且通常不建议这样做,请参阅我如何让 biblatex 跳过不正确的 BibTeX 条目,就像 bibtex 总是做的那样?

如果问题不是文件.bib语法不合理,而是字段包含错误的 LaTeX 代码,则错误可能只发生在 LaTeX 运行期间,此时找到有问题的条目可能有点困难。通常,生成的 LaTeX 错误消息包含一些周围文本,这可能有助于您识别问题。


当您尝试诊断 LaTeX 中的错误时,二分搜索法总是可以提供很大的帮助。

复制一份.bib文件并删除一半(比如说后半部分)。删除临时的.aux、、.bbl文件.bcf并重新编译。如果错误消失,删除后半部分并重新添加前半部分。如果错误没有消失,则什么也不做。重复此操作,直到您隔离了有问题的条目。


一些.bib文件 linters 列在如何验证(检查) biblatex .bib 文件?。我没用过它们,也不知道它们是否能捕捉到所有可能存在问题的相关语法错误。但它们值得一试。

答案2

感谢大家的提示。我终于知道该如何处理有问题的 bib 条目了。以下是我的方法:

  1. 把我所有的纸质文件夹扔进 Mendeley;
  2. 按类型排序。删除所有非 PDF 条目;
  3. 按标题排序。删除所有非英语条目;
  4. 按作者排序。删除所有作者为空的条目;
  5. 导出bib文件。在Notepad++中打开;
  6. 运行 biber -tool -V xx.bib (适用于 Windows);
  7. 如果您愿意,可以通过在 Notepad++ 中执行搜索替换来逐一修复所有错误,也许还有一些警告。

欢迎评论:)

相关内容