Skip to content

bib-tidy:BibTeX 整理 ​

写论文带脚本,结果可复核Python 3.9+,无第三方依赖需要联网下载源码(ZIP)

找出重复条目、缺字段、同一会议的不同写法、没有保护的缩写、引用了 arXiv 版本的已发表论文,把安全的修改写到新文件。

能做什么 ​

参考文献格式乱,审稿人第一眼就能看出来。这个技能检查:

问题例子
重复同一个 key 出现两次;两个条目标题或 DOI 相同
缺字段会议论文缺 booktitle、期刊论文缺 journal
会议名写法不统一“NeurIPS”和“Advances in Neural Information Processing Systems”混用
缩写没有保护标题中的 LLM、GPU、PagedAttention 没加大括号,很多格式会转成小写
引用了 arXiv 版本加 --check-published 联网查 Crossref 和 OpenAlex,看是否已经正式发表
小错误页码用了单个连字符、doi 带网址前缀、author 写了 et al.
和正文对不上正文引用了但 .bib 里没有;.bib 里有但正文没引用

可以把安全的修改(统一会议名、保护缩写、修正页码等)写到新文件,不会覆盖原文件。它不核对文献是否真实存在,那是 cite-verify 的事。

只是偶尔用一下?

网页版:科研工具箱 · BibTeX 检查与整理,粘贴 .bib 就能检查和整理(不查 arXiv 条目的正式版本)。数据只在浏览器里处理。

安装 ​

装到当前项目(.claude/skills/),macOS / Linux
curl -LO https://skills.bnuai.com/download/skills/bib-tidy.zip && mkdir -p .claude/skills && unzip -o bib-tidy.zip -d .claude/skills
装到个人目录,所有项目都能用,macOS / Linux
curl -LO https://skills.bnuai.com/download/skills/bib-tidy.zip && mkdir -p ~/.claude/skills && unzip -o bib-tidy.zip -d ~/.claude/skills
装到当前项目,Windows PowerShell
Invoke-WebRequest https://skills.bnuai.com/download/skills/bib-tidy.zip -OutFile bib-tidy.zip; Expand-Archive bib-tidy.zip -DestinationPath .claude\skills -Force

压缩包从本站下载,不需要 Node.js 或 GitHub。带脚本的技能需要 Python 3.9 以上。更新时重新下载解压、覆盖原文件夹即可。

怎么用 ​

text
帮我整理一下 paper/refs.bib:会议名统一用全称,标题里的缩写加上保护,看看哪些 arXiv 引用已经正式发表了。

示例 ​

text
# BibTeX 整理结果

共 8 个条目:2 处必须改、3 处建议改、10 处请确认。

## arXiv 条目的正式版本(检查了 2 条,找到 1 条)
- dup:可能已发表于 2023 IEEE/CVF International Conference on Computer Vision (ICCV)(2023),
  https://doi.org/10.1109/iccv51070.2023.00387(Crossref)。核实后改成正式版本
- 其余条目没有找到正式版本,但仍可能已经发表:NeurIPS、ICML、ICLR 等会议的论文大多没有 DOI,……

## 必须改(2)
- [et-al] sglang:author 字段里写了 et al.,要写全作者,或者用 “and others”
- [missing-cite] missingkey:正文引用了这个 key,但 .bib 中没有

## 建议改(3)
- [venue-form] sglang, nips2:NeurIPS 有 2 种写法:“NeurIPS”(sglang);“Advances in Neural Information Processing Systems”(nips2)
……

## 请确认(10)
- [acronym] kwon2023:标题中的 PagedAttention 没有用大括号保护,很多参考文献格式会把它们转成小写
……

直接运行脚本 ​

bash
python3 skills/bib-tidy/scripts/bibtidy.py 论文目录/ --check-published
python3 skills/bib-tidy/scripts/bibtidy.py 论文目录/ --write refs.tidy.bib --venue-style full --protect --drop-unused

权限说明 ​

加 --check-published 时联网访问 api.crossref.org 和 api.openalex.org,只发送论文标题。写出时只写到你指定的新文件。

局限 ​

NeurIPS、ICML、ICLR 等会议的论文大多没有 DOI,Crossref 和 OpenAlex 常常查不到正式版本,需要到 DBLP 或会议网站确认。查到的结果也要核实后再替换。