从文档源序言无缝调用 bib 重复数据删除脚本?

从文档源序言无缝调用 bib 重复数据删除脚本?

不幸的是,由于我无法控制的原因,我只能使用mendeley引用管理器,它提供了将其库导出到文件的选项bib

我的mendeley图书馆按相关主题组织成文件夹。两个文件夹中有一些相同的条目,因为这些文件夹相关的技术领域/主题有很大的重叠,例如,paper "x"可能属于topic A (folder A),但也同样属于topic B (folder B)。这会导致导出文件中出现重复的条目bib

deduplication中提供了类似于 和其他此类工具中的类似功能的点击式功能。mendeley但是,出于两个原因,我不希望使用此类程序。jabrefendnote

  1. 我的引文管理器(与其云界面结合使用)是我整理参考文献以供日后阅读的唯一方式。这有助于提供一种跨多台设备管理大型图书馆的便携方式。我希望paper "x"同时保留folder Afolder B,因为有时我想继续阅读topic A,有时又想阅读topic B,例如我有时sort-by-year在某个主题中使用选项,我不想paper x仅仅因为它已被重复删除而错过。
  2. 点击式界面不利于实现无缝工作流程。目前,我正在写一篇论文。随着我在图书馆中即时收集更多参考资料(一些同时转到topic Atopic B),它们被不断导出mendeleybib文件中,导致出现一堆重复项。这需要手动点击重复项删除程序,这违背了上述第 1 条,而且也很繁琐。

我知道删除重复bibtex条目很难。我只是在谈论完全相同条目的重复条目。但考虑到它的实用性,是否有任何脚本(shell、perl、python 或其他)可以优雅地处理这种重复条目。同样,从命令行界面调用此脚本很繁琐,因此从文档中调用此脚本的自动化解决方案main.tex(可能是类似于序言中的一行代码\bibtexdedup{})将是有利的。我正在考虑使用makeindexmakeglossaries使用该shell-escape机制来完成其工作。

是否有任何解决方案可以实现这些目标?

答案1

您可以使用

biber --tool duplicates.bib

这将创建一个duplicates-bibertool.bib没有重复的。

相关内容