bib-manage 是一个用于管理稿件参考文献(bibliography)的技能,核心目标是把文献库当作索引来维护:让每个条目都指向正确的 PDF,并确认该 PDF 是正式发表版本。它由 pincite 消费:pincite 仅通过条目中的 file = {...} 解析脚注到来源,因此条目缺少 file 会导致脚注静默跳过,条目指向预印本则会导致自信的错误引用。
主要能力包括:audit 检查有/无 file 的条目、磁盘缺失文件、无 DOI 条目、无人认领的 PDF,建议先运行;link 将 citekey 映射到 PDF 并写回 file = {...};version 判断每个条目的 PDF 是发表版本还是预印本/校样;doi 从 Crossref 回填缺失 DOI,并用文献库页码校验;reconcile 用更可靠来源重写条目自身字段,优先级为 Paperpile > Crossref > 提取值,不触碰 file 和 citekey;fedreg 抓取条目引用的 Federal Register PDF。
使用方式为命令行,典型命令如 python3 "$B" audit --root .、link --root . --dry-run 后 --backup、version --root .、doi --root . --dry-run --only aggarwal2015、reconcile --root . --dry-run 等。路径均通过 --bib、--pdf-dir、--fedreg-dir 等标志配置,默认采用 pincite 的布局。--dry-run 只报告不写入,--backup 留下 .bak,--strict 让 version 在非正式版本时以 1 退出。audit、link、version 不联网;doi 和 fedreg 会联网;reconcile 本地读 Paperpile,仅对 Paperpile 未覆盖的部分访问 Crossref。
限制与注意事项:link 的匹配阈值依赖年份,同年 0.55 足够,跨年须 ≥ 0.95,不应强行匹配,未映射项应报告并人工处理。Paperpile 只写姓氏,首作者姓氏是第一个 token。6 位 pages 是 Elsevier 文章编号而非页码。出版商 PDF 可能是提前获取校样。不要用期刊名匹配首页来判定正式版本。联邦公报应从 govinfo 链接服务获取,2000 年前卷会返回整期。reconcile 不修改 file 和 citekey。完整命令示例与更多细节以原始资料为准,此处未逐条抄录。