English | 简体中文
一个用于验证 LaTeX BBL 文件中参考文献正确性的工具。通过多个学术数据库 API 交叉验证引用信息。
- 📄 BBL 文件解析:自动解析 LaTeX 生成的
.bbl文件,提取引用条目 - 🔍 多源验证:通过以下数据库验证引用:
- CrossRef(DOI 验证)
- DBLP(计算机科学文献)
- arXiv(预印本)
- Semantic Scholar
- Google Scholar
- 📊 详细报告:生成控制台、JSON 和 Markdown 格式的检查报告
- 🔄 智能重试:遇到速率限制时自动等待并重试
- 📈 相似度匹配:使用字符串相似度算法匹配标题
BBL 文件是 LaTeX 编译过程中生成的参考文献文件,包含格式化后的参考文献列表。
BBL 文件通常通过以下两种方式生成:
# 编译流程
pdflatex paper.tex # 第一次编译,生成 .aux 文件
bibtex paper # 处理 .bib 文件,生成 .bbl 文件
pdflatex paper.tex # 第二次编译,读取 .bbl 文件
pdflatex paper.tex # 第三次编译,解决交叉引用# 编译流程
pdflatex paper.tex # 第一次编译
biber paper # 处理 .bib 文件,生成 .bbl 文件
pdflatex paper.tex # 第二次编译
pdflatex paper.tex # 第三次编译| 文件 | 说明 |
|---|---|
.bib |
参考文献数据库文件(源文件) |
.aux |
LaTeX 辅助文件,包含引用信息 |
.bbl |
格式化后的参考文献列表(本工具检查的文件) |
.blg |
BibTeX/Biber 的日志文件 |
- 🔍 发现错误:引用的年份、作者、标题可能存在拼写错误
- 📚 验证来源:确保引用的文献确实存在于学术数据库中
- ✅ 提高质量:在论文提交前发现并修正引用问题
pip install requests# 检查默认文件 1.bbl
python main.py
# 检查指定的 BBL 文件
python main.py your_file.bbl
# 只检查前 5 条引用
python main.py your_file.bbl -l 5
# 显示详细信息
python main.py your_file.bbl -v# 生成 Markdown 报告(默认:citation_report.md)
python main.py your_file.bbl -m report.md
# 生成 JSON 报告
python main.py your_file.bbl -j report.json
# 同时生成两种报告
python main.py your_file.bbl -m report.md -j report.json| 参数 | 简写 | 说明 |
|---|---|---|
bbl_file |
- | BBL 文件路径(默认:1.bbl) |
--markdown |
-m |
输出 Markdown 报告到指定文件 |
--json |
-j |
输出 JSON 报告到指定文件 |
--limit |
-l |
只检查前 N 条引用 |
--verbose |
-v |
显示详细信息 |
================================================================================
BBL 引用检查报告
================================================================================
总计: 10 条引用
✓ 已验证: 7
⚠ 部分匹配: 2
✗ 未找到: 1
--------------------------------------------------------------------------------
[1] ✓ smith2024deep
标题: Deep Learning for Natural Language Processing
作者: John Smith, Jane Doe
年份: 2024
[dblp] ✓ 找到匹配 (相似度: 0.95)
[semantic_scholar] ✓ 找到匹配 (相似度: 0.92)
| 状态 | 图标 | 说明 |
|---|---|---|
| 已验证 | ✓ | 至少在一个数据库中找到高度匹配的结果 |
| 部分匹配 | ⚠ | 找到了结果但相似度不够高或年份不匹配 |
| 未找到 | ✗ | 在所有数据库中都未找到匹配的文献 |
- API 速率限制:程序会自动处理速率限制,遇到 429 错误时会等待后重试
- Google Scholar:可能会要求验证码,建议主要依赖其他数据源
- 网络要求:需要稳定的网络连接以访问各学术数据库 API
- BBL 格式:目前支持 ACM 等常见格式的 BBL 文件
-
解析 BBL 文件:提取每个
\bibitem条目的信息- 作者列表
- 发表年份
- 论文标题
- DOI(如果有)
- arXiv ID(如果有)
-
多源验证:
- 如果有 DOI,通过 CrossRef 验证
- 通过 DBLP 搜索验证
- 如果有 arXiv ID,通过 arXiv API 验证
- 通过 Semantic Scholar 搜索验证
- 通过 Google Scholar 搜索验证
-
结果评估:
- 计算标题相似度
- 验证年份匹配
- 综合多个数据源的结果
bbl-check/
├── main.py # 主程序
├── README.md # 中文说明文档
├── README_EN.md # 英文说明文档
└── citation_report.md # 生成的报告示例
欢迎提交 Issue 和 Pull Request!
MIT License