【科研】11BibTool:在.bib文件中,1、去掉latex论文中没有用到的引用;2、去掉重复的引用(2025更新版)


请添加图片描述

🌈你好呀!我是 是Yu欸
🚀 感谢你的陪伴与支持~ 欢迎添加文末好友
🌌 在所有感兴趣的领域扩展知识,不定期掉落福利资讯(*^▽^*)

写在最前面

版权声明:本文为原创,遵循 CC 4.0 BY-SA 协议。转载请注明出处。

BibTool:
在.bib文件中,
1、去掉latex论文中没有用到的引用;
2、去掉重复的引用(2025更新版)

一、去掉latex论文中没有用到的引用——使用 bibtool 工具自动清理

要在 .bib 文件中去掉未使用的引用,可以使用 bibtool 工具根据 .aux 文件筛选引用条目。以下是具体操作步骤:

1、在 Overleaf 生成 .aux 文件

在 Overleaf 中编译你的 LaTeX 文档(通常是通过 pdflatex),编译后会生成一个 .aux 文件,包含所有实际引用的条目。

生成 .aux 文件

2、下载 .aux 文件到本地

在 Overleaf 项目的“Logs and Output Files”面板中找到 .aux 文件,将其下载到本地,以便使用 bibtool 进行筛选。

3、使用 bibtool 创建一个新的 .bib 文件

  1. 在大多数 Linux 系统上,你可以使用包管理器安装:
sudo apt install bibtool

对于其他操作系统,可以从 BibTool 官方网站 下载并安装。

安装 bibtool

在这里插入图片描述

  1. 使用 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 文件

  2. 替换原 .bib 文件:使用生成的 pruned.bib 文件替换原始 .bib 文件,然后重新编译你的 LaTeX 文档。

二、去掉重复的引用

  1. 使用 -d 选项可以去除重复的引用。
  2. 通过自定义规则(config.bt),可以按字段去重。
  3. 如果需要仅检测重复项,可将结果输出到日志文件。

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 允许你自定义去重的规则,例如按文献的某些字段(如 titleauthor)进行比较。在 BibTool 配置文件中定义规则:

创建一个配置文件,例如 config.bt

select {
  duplicate={key,title}
}

运行命令时指定配置文件:

bibtool -r config.bt -i input.bib -o output.bib

上述配置将根据 keytitle 字段来检测重复。


3. 仅检测重复

如果你只想检测是否存在重复条目,而不直接删除,可以使用以下命令:

bibtool -i input.bib -X duplicates.log
  • -X duplicates.log:将检测到的重复条目输出到 duplicates.log

四、上传新的 .bib 文件到 Overleaf

将生成的 pruned.bib 文件上传到 Overleaf 项目中,替换原 .bib 文件并重新编译文档。


hello,我是 是Yu欸 。如果你喜欢我的文章,欢迎三连给我鼓励和支持:👍点赞 📁 关注 💬评论,我会给大家带来更多有用有趣的文章。
原文链接 👉 ,⚡️更新更及时。

欢迎大家点开下面名片,添加好友交流。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是Yu欸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值