不幸的是,由于我无法控制的原因,我只能使用mendeley
引用管理器,它提供了将其库导出到文件的选项bib
。
我的mendeley
图书馆按相关主题组织成文件夹。两个文件夹中有一些相同的条目,因为这些文件夹相关的技术领域/主题有很大的重叠,例如,paper "x"
可能属于topic A (folder A)
,但也同样属于topic B (folder B)
。这会导致导出文件中出现重复的条目bib
。
deduplication
中提供了类似于 和其他此类工具中的类似功能的点击式功能。mendeley
但是,出于两个原因,我不希望使用此类程序。jabref
endnote
- 我的引文管理器(与其云界面结合使用)是我整理参考文献以供日后阅读的唯一方式。这有助于提供一种跨多台设备管理大型图书馆的便携方式。我希望
paper "x"
同时保留folder A
和folder B
,因为有时我想继续阅读topic A
,有时又想阅读topic B
,例如我有时sort-by-year
在某个主题中使用选项,我不想paper x
仅仅因为它已被重复删除而错过。 - 点击式界面不利于实现无缝工作流程。目前,我正在写一篇论文。随着我在图书馆中即时收集更多参考资料(一些同时转到
topic A
和topic B
),它们被不断导出mendeley
到bib
文件中,导致出现一堆重复项。这需要手动点击重复项删除程序,这违背了上述第 1 条,而且也很繁琐。
我知道删除重复bibtex
条目很难。我只是在谈论完全相同条目的重复条目。但考虑到它的实用性,是否有任何脚本(shell、perl、python 或其他)可以优雅地处理这种重复条目。同样,从命令行界面调用此脚本很繁琐,因此从文档中调用此脚本的自动化解决方案main.tex
(可能是类似于序言中的一行代码\bibtexdedup{}
)将是有利的。我正在考虑使用makeindex
或makeglossaries
使用该shell-escape
机制来完成其工作。
是否有任何解决方案可以实现这些目标?
答案1
您可以使用
biber --tool duplicates.bib
这将创建一个duplicates-bibertool.bib
没有重复的。