我有几份手稿,每份都有自己的参考书目(*.bib 文件)。我现在想将这些手稿合并成一个只有一个 bib 文件的文档。我的问题是这些 bib 文件中有重复的条目,我想删除它们。
我的操作系统是 OS X Yosemite,所以如果可以的话,我可以使用 BibDesk(我提到这一点是因为在我问这个问题之前,这个在谷歌搜索中出现过几次)。我也试过使用bibtool
来注释掉重复项。它效果很好,但只适用于精确的重复。我的问题是,对于同一参考文献,我在不同的 bib 文件中有不同的引用键。
我的问题是:有没有什么办法可以清理合并的 bib 文件并将两个引用键分配给一个参考文献——或者——自动检测重复项(具有不同的引用键)?
谢谢。
答案1
是的,BibDesk 和 Jabref 都有内部重复查找工具。但它们都没有高级的重复清除方法。虽然 Jabref 在为用户提供合并或选择任何重复项的选项方面仍然更好,但其查找重复项的算法并不透明。它也经常无法检测到标题完全相同的条目。
问题是:这两个参考文献管理器似乎只有在所有必填字段的值完全相同时才会检测到重复项。我有大约 4000 篇参考文献。Jabref 和 Bibdesk 一开始都检测到了一些参考文献。经过一番清理后,它们报告没有重复项。但我知道我的图书馆中有 500 多个重复条目。我知道这一点是因为我测试了 Bookends 中的图书馆;这是一个具有更高级重复查找工具的参考文献管理器。
为了找到一个永久的解决方案,我请求 Jabref 中提供更高级的重复查找器工具:http://discourse.jabref.org/t/more-control-on-the-duplicate-finder/120(对于 Java 程序员来说,如果您能在 Jabref 上提供帮助那就太好了。)
与此同时,我已在此网站上寻求基于 AppleScript 的解决方案(BibDesk 接受 AppleScript)。用户千斤顶r300帮助我使用 AppleScript。我现在能够根据 Title 和 CiteKey 清除所有重复项。请在此处查看答案:https://stackoverflow.com/questions/39427926/find-and-remove-duplicates-in-a-bibtex-bibdesk-using-applescript/39439542?noredirect=1#comment66377804_39439542
答案2
在任何 Intellij 产品(例如 Pycharm)中打开.tex
/.bib
文件,您将能够检测到重复项(尽管该程序的最初目的不是操作.tex
文件,但有一个名为 TeXiFy 的插件)。
答案3
我刚刚遇到了同样的问题,并创建了一个网站(借助 ChatGPT)您可以直接粘贴所有 bibtex 代码。它会根据标题查找重复的参考文献。