学术论文格式检测、自动修复与引文验证一站式工具
Academic paper format checking, auto-fix, and citation verification
| 功能 | 说明 |
|---|---|
| 一键修复 | paper 命令:建目录 → 修复 → 记录改动 → HTML 报告,一步到位(推荐入口) |
| 格式检测 | 页边距、字体字号、行距、标题层级、三线表、页眉页脚、封面、摘要、目录、致谢 |
| 自动修复 | 修复格式问题并生成前后对比报告;保留楷体引文块、参考文献五号(10.5pt)、run-in 摘要正确处理 |
| 中英符号检查 | 16 类规则引擎:中英文间距、引号/括号配对、全半角混用、中文语境误用英文标点等 |
| 内容结构检查 | 必需章节完整性、摘要字数、关键词数量、缩略语候选 |
| 引文格式化 | CNU《外国文学评论》/ CSL / GB/T 7714 标准;外文译著 [国籍] 标注、出版地补全 |
| 引文验证 | 本地 .bib 验证 + OpenAlex/CrossRef/知网/万方外部验证 + DOI/字段完整性 |
| 引文逐字核对 | PDF 出处比对,支持扫描版 OCR + 截图高亮 |
| 模板生成 | 预配置中文学术论文模板(期刊/学位论文) |
| 样本解析 | 从格式正确的论文中提取格式规则 |
| 对比报告 | HTML 交互式报告(item-level 已修复/未修复)+ Word 对比报告 |
# 克隆仓库
git clone https://github.com/Callioper/paper-format.git
cd paper-format
# 安装依赖
pip install -r requirements.txt
# 一键修复(推荐):自动建目录、修复、生成 HTML 报告
python paper_format.py paper 论文.docx --mode journal --bib refs.bib
# 仅格式检测
python paper_format.py check 论文.docx
# 仅格式修复
python paper_format.py fix 论文.docx --output repaired.docx
# 中英符号检查(16 类规则)
python paper_format.py lang 论文.docx --rules references/language_rules.yaml
# 生成模板
python paper_format.py template --mode thesis --output 模板.docx下载 paper-format.skill 文件,拖入 Claude Desktop 或通过插件管理器安装。
或手动安装:
cp -r paper-format ~/.claude/skills/触发方式:输入 /paper-format 或说"帮我检查论文格式"
# 解压到 agent 的 skills 目录
unzip paper-format-universal.zip -d <agent-skills-dir>/
# 安装依赖
cd paper-format && pip install -r requirements.txtAgent 读取 SKILL.md 获取指令,调用 python paper_format.py <command> 执行功能。
pip install python-docx lxml
python paper_format.py check 论文.docx --mode journal| 模式 | 适用 | 检测项 |
|---|---|---|
journal(默认) |
期刊论文/小论文 | 标题页、摘要、关键词、正文、参考文献、脚注 |
thesis |
学位论文/大论文 | 封面、摘要、目录、正文、参考文献、致谢、附录 |
# 一键修复 + 报告(推荐):建输出目录、复制副本、修复、生成 HTML 报告
python paper_format.py paper 论文.docx [--mode thesis|journal] [--spec spec.json] [--bib refs.bib]
# 格式检测
python paper_format.py check 论文.docx [--mode thesis|journal] [--spec spec.json]
# 格式修复(自动创建副本,不修改原文件)
python paper_format.py fix 论文.docx --output repaired.docx
# 中英符号检查(16 类规则,含"中文语境误用英文标点")
python paper_format.py lang 论文.docx --rules references/language_rules.yaml --output sym.json
# 内容结构检查(必需章节、摘要字数、关键词)
python paper_format.py content 论文.docx [--mode thesis|journal]
# 提取并分类脚注
python paper_format.py footnotes 论文.docx --output footnotes.json
# 生成 HTML 交互式报告(含 before/after)
python paper_format.py html-report 原始.docx 修复后.docx --repair-records records.json --output 报告.html
# 生成 Word 对比报告
python paper_format.py report 原始.docx 修复后.docx 报告.docx
# 增强引用检查(DOI 格式 + BibTeX 字段完整性 + URL 可达性)
python paper_format.py refs 论文.docx --bib refs.bib [--check-urls] --output refs.json
# CSL 结构校验 / 语义检查
python paper_format.py validate-csl style.csl
python paper_format.py lint-csl style.csl
# 生成预格式化模板
python paper_format.py template --mode thesis --output 模板.docx
# 样本解析(从格式正确的论文提取规则)
python paper_format.py spec 样本.docx --output spec.json
# CSL 解析
python paper_format.py csl style.csl --output rules.json
# 本地引文验证(.bib 文件)
python paper_format.py verify 论文.docx --bib refs.bib --output result.json
# 外部引文验证(API)
python paper_format.py verify 论文.docx --sources openalex,crossref --output result.json
# 交叉校验(正文引用 ↔ 参考文献)
python paper_format.py cross 论文.docx --output cross.json
# 引文逐字核对(PDF 出处比对)
python paper_format.py quotes 论文.docx --sources "书.pdf:1-100" --output quote.json
# 引用格式修复
python paper_format.py cite 论文.docx --bib refs.bib --output report.docx从 Zotero + Better BibTeX 导出 .bib 文件:
- 安装 Better BibTeX 插件
- 在 Zotero 中选择文献库 → 右键 → 导出文献库 → Better BibTeX 格式
- 勾选"保持更新"
- 保存为 .bib 文件
python paper_format.py verify 论文.docx --bib refs.bib| 数据源 | 类型 | 配置要求 |
|---|---|---|
| OpenAlex | 免费 API | 无需配置 |
| CrossRef | 免费 API | 无需配置 |
| Semantic Scholar | 免费 API | 可选 S2_API_KEY |
| CORE | 免费 API | 可选 CORE_API_KEY |
| 知网 CNKI | HTML 抓取 | 需要 CNKI_COOKIE(有封禁风险) |
| 万方 Wanfang | HTML 抓取 | 无需配置 |
从论文中提取直接引文,与出处 PDF 原文逐字比对:
python paper_format.py quotes 论文.docx --sources "书名.pdf:1-100" --output quote.json
# 扫描版 PDF 强制 OCR
python paper_format.py quotes 论文.docx --sources "扫描版.pdf" --ocr --output quote.json
# 导出 Excel(含截图嵌入)
python paper_format.py quotes 论文.docx --sources "书.pdf" --excel 核对报告.xlsxpip install python-docx lxmlpip install pdfplumber Pillow openpyxl # PDF + 截图 + Excel
pip install paddleocr # 扫描版 OCR(重型)paper-format/
├── paper_format.py # 统一入口
├── SKILL.md # AI agent 指令(引导流程)
├── README.md # 本文档
├── requirements.txt # Python 依赖
├── package.py # 通用打包脚本
├── scripts/
│ ├── check_format.py # 格式检测(编排器)
│ ├── fix_format.py # 格式修复
│ ├── generate_report.py # 报告生成
│ ├── generate_template.py # 模板生成
│ ├── csl_parser.py # CSL 解析
│ ├── parse_spec.py # 样本解析
│ ├── verify_local.py # 本地引文验证
│ ├── verify_external.py # 外部引文验证
│ ├── verify_quotes.py # 引文逐字核对 + OCR + 高亮 + Excel
│ ├── cross_check.py # 交叉校验
│ ├── citation_repair.py # 引用格式修复
│ ├── extract_references.py
│ ├── extract_footnotes.py
│ ├── checks/
│ │ └── format_checks.py # 检测函数库
│ ├── lib/
│ │ ├── bib_parser.py # .bib 文件解析
│ │ ├── citation_models.py
│ │ ├── doc_helpers.py # .docx/.md 文档工具
│ │ └── quote_models.py
│ └── sources/
│ ├── source_openalex.py
│ ├── source_crossref.py
│ ├── source_semantic_scholar.py
│ ├── source_core.py
│ ├── source_cnki.py
│ └── source_wanfang.py
└── references/
├── CNU_citation_rules.md
├── GBT7714-2015-numeric.csl
└── common_issues.md
from scripts.check_format import check_format
result = check_format("thesis.docx", mode="journal")
from scripts.fix_format import fix_format
result = fix_format("thesis.docx", output_path="repaired.docx")
from scripts.generate_template import generate_template
generate_template(mode="thesis", output_path="template.docx")将 SKILL.md 内容复制到 agent 的 skill 指令中。SKILL.md 包含完整的引导决策树(Step 0-6),指导 agent 按正确顺序调用脚本。
| 文件 | 说明 |
|---|---|
| paper-format.skill | Claude Code 专用包 |
| paper-format-universal.zip | 通用分发包(Hermes/OpenClaw/Codex) |
本项目在开发过程中参考了以下开源项目和资源:
| 项目 | 参考内容 |
|---|---|
| sashavegal/paper-check | 原始 paper-check 项目的格式检测流程、三线表检测、修复记录结构、对比报告设计 |
| ganzhi-black/humanities-thesis-skill | 引文验证的数据源架构(OpenAlex/CrossRef/知网/万方并行查询)、防幻觉规则引擎、知网/万方 HTML 抓取实现 |
| Gostyan/docx-skill-4-cn-paper | 中文学术论文 .docx 模板生成的预配置方案、样式定义参考 |
| citation-checker(twobabycoach) | 引文逐字核对功能设计:PDF 出处比对、截图证据嵌入 Excel、OCR 扫描版支持 |
| zotero-csl-builder(twobabycoach) | CSL 引用样式构建与校验思路,启发本项目的 CSL 三阶段校验流水线与 journal-csl-builder 流程 |
| retorquere/zotero-better-bibtex | Better BibTeX .bib 文件解析、file 字段 PDF 路径提取、引文元数据丰富化方案 |
| citation-style-language/styles | GB/T 7714-2015 CSL 文件,用于 CSL 解析器开发和测试 |
| redleafnew/Chinese-STD-GB-T-7714-related-csl | 中文 CSL 样式参考 |
特别感谢 twobabycoach —— 其开发的 citation-checker(引文逐字核对)与 zotero-csl-builder(CSL 样式构建)两个项目为本项目的引文核对与 CSL 处理流程提供了关键设计参考。
MIT