我有一个巨大的 bib 文件,我尽我所能保持干净。现在我发现在使用它的 tex 文件上运行 biber 会产生这些警告
WARN - BibTeX subsystem: warning: comma(s) at end of name (removing)
WARN - BibTeX subsystem: author, warning: comma(s) at end of name (removing)
但我不知道 4000 行中的哪一行会产生此警告。有没有办法获得 biber 输出行号或其他信息来帮助找到这些警告的来源?
答案1
搜寻
,}
和, }
或
,and
和, and
有帮助...
这些是作者领域内有问题的输入。
答案2
这是一个 biber 开发人员可能不会修复的问题,请参阅他们的 bugtracker 中排名第 60。
我用来查找那些有问题的地方的方法是:
grep -nP '(?:author|editor)\s*=.*,\s*(?:and\b|})' *.bib
这将查找任何
- 包含
author =
或editor =
和 - 包含一个逗号,后跟
and
或一个右括号}
。
但是,这在多行字段上会失败。因此,如果你无法使用上述命令找到所有出现的情况,你可能需要尝试
grep -nP ',\s*(?:and\b|})' *.bib
尽管这会输出许多其他字段,例如摘要中的列表,但实际上并没有问题。