参考文献核验(本地版)
什么时候用
用户说「参考文献格式对吗 / 帮我查下这些文献 / 投稿被说引用不规范 / DOI 是不是真的 / GB/T 7714 / 文末引用核对」。
不适用:知网/中文库真伪核验(无公开接口,不做);查重降重;论文代写。
前置
- 依赖:
python-docx(读 docx)、PyYAML。联网核验另需requests;缺requests时自动降级为「仅格式」。 - 输入三选一:docx 路径、txt 路径、或直接粘贴一段文献列表(以
[1]/1.开头)。
怎么跑
python scripts/check_ref.py refs.txt # 只查格式
python scripts/check_ref.py refs.txt --verify # 格式 + DOI/PMID 真伪
python scripts/check_ref.py 稿件.docx --md out.md # 从 docx 抽正文并出报告
python scripts/check_ref.py refs.txt --json
输出与判读
{ "entries": 6, "score": 58,
"counts": {"P0": 1, "P1": 3, "P2": 2},
"issues": [{"entry": 1, "sev": "P1", "id": "REF-03",
"msg": "作者超过3人未用“等”或“et al”缩写"}],
"verified": [{"entry": 2, "status": "verified", "title": "…", "year": 2025}] }
P0:缺类型标识、缺年份、编号断号/重复(会导致退修)P1:作者截断、全角标点、期刊缺卷期页、专著缺出版地P2:DOI 不完整、页码连字符、英文全大写
真伪三态必须如实转述:verified(Crossref/PubMed 命中)/ not_found(可能写错)/ unverified·skipped(网络失败或无标识,不得暗示已通过)。
呈现规则
- 先给一句结论:「X 条中 Y 条需改,其中 Z 条可能导致退修」。
- 表格列:条目号 / 级别 / 问题 / 期望 / 实际。
- 真伪核验单独一段,只列命中与未通过;未核验的合并成一句。
- 能明确判断时给可直接替换的整条。
规则覆盖(15 类)
REF-01 缺类型标识 · REF-02 标识不规范 · REF-03 作者截断 · REF-04 全角标点 ·
REF-05 缺年份 · REF-06 期刊缺卷期页 · REF-07 专著缺出版地 · REF-08 学位论文缺保存地 ·
REF-09 电子资源缺 URL/日期 · REF-10 DOI 不完整 · REF-11 编号异常 · REF-12 正文对应 ·
REF-13 英文全大写 · REF-14 末尾标点 · REF-15 页码连字符
边界
- 只做格式与标识真伪,不评价文献质量、不判断引用是否恰当。
- 中文文献只核格式(知网无公开 API)。
- 不联网时(或未装 requests)只输出格式结论,并明确标注「未核验」。