【科研】11BibTool:在.bib文件中,1、去掉latex论文中没有用到的引用;2、去掉重复的引用(2025更新版)
写在最前面
版权声明:本文为原创,遵循 CC 4.0 BY-SA 协议。转载请注明出处。
BibTool:
在.bib文件中,
1、去掉latex论文中没有用到的引用;
2、去掉重复的引用(2025更新版)
一、去掉latex论文中没有用到的引用——使用 bibtool
工具自动清理
要在 .bib
文件中去掉未使用的引用,可以使用 bibtool
工具根据 .aux
文件筛选引用条目。以下是具体操作步骤:
1、在 Overleaf 生成 .aux
文件
在 Overleaf 中编译你的 LaTeX 文档(通常是通过 pdflatex
),编译后会生成一个 .aux
文件,包含所有实际引用的条目。
2、下载 .aux
文件到本地
在 Overleaf 项目的“Logs and Output Files”面板中找到 .aux
文件,将其下载到本地,以便使用 bibtool
进行筛选。
3、使用 bibtool
创建一个新的 .bib
文件
- 在大多数 Linux 系统上,你可以使用包管理器安装:
sudo apt install bibtool
对于其他操作系统,可以从 BibTool 官方网站 下载并安装。
-
使用
bibtool
清理.bib
文件:使用以下命令过滤出已引用的条目:
bibtool -x yourfile.aux -i yourfile.bib -o pruned.bib
其中:
yourfile.aux
为编译生成的.aux
文件,包含所有实际引用的条目。yourfile.bib
是原始的.bib
文件。pruned.bib
是生成的精简.bib
文件,仅包含已引用的条目。
例如:
bibtool -x /path/to/output.aux -i /path/to/main.bib -o /path/to/pruned.bib
-
替换原
.bib
文件:使用生成的pruned.bib
文件替换原始.bib
文件,然后重新编译你的 LaTeX 文档。
二、去掉重复的引用
- 使用
-d
选项可以去除重复的引用。 - 通过自定义规则(
config.bt
),可以按字段去重。 - 如果需要仅检测重复项,可将结果输出到日志文件。
1. 运行 BibTool 去重
运行以下命令,使用 BibTool 检测并去除重复的引用:
bibtool -s -d -i input.bib -o output.bib
-s
:对 BibTeX 文件按引用键(key)进行排序。-d
:去掉重复的文献条目。-i input.bib
:输入的.bib
文件。-o output.bib
:输出去重后的.bib
文件。
效果是这样的:
会帮你注释掉,而不是直接删除
运行时也会显示,哪些重复引用了
2. 自定义去重规则
BibTool 允许你自定义去重的规则,例如按文献的某些字段(如 title
或 author
)进行比较。在 BibTool
配置文件中定义规则:
创建一个配置文件,例如 config.bt
:
select {
duplicate={key,title}
}
运行命令时指定配置文件:
bibtool -r config.bt -i input.bib -o output.bib
上述配置将根据 key
和 title
字段来检测重复。
3. 仅检测重复
如果你只想检测是否存在重复条目,而不直接删除,可以使用以下命令:
bibtool -i input.bib -X duplicates.log
-X duplicates.log
:将检测到的重复条目输出到duplicates.log
。
四、上传新的 .bib
文件到 Overleaf
将生成的 pruned.bib
文件上传到 Overleaf 项目中,替换原 .bib
文件并重新编译文档。
hello,我是 是Yu欸 。如果你喜欢我的文章,欢迎三连给我鼓励和支持:👍点赞 📁 关注 💬评论,我会给大家带来更多有用有趣的文章。
原文链接 👉 ,⚡️更新更及时。
欢迎大家点开下面名片,添加好友交流。