关于 anonymize-paper
anonymize-paper 帮助作者在双盲投稿前检查和处理 LaTeX 论文及补充材料中的身份线索,并在录用后恢复作者信息。它会记录每项修改,便于按清单逆向还原。
主要功能
- 01扫描源码、文献与 PDF 元数据
- 02检查补充材料和身份相关链接
- 03按泄漏类别报告问题位置
- 04记录可逆修改及原始内容
- 05检查录用后恢复时的遗留占位内容
适用场景
- 01投稿前检查双盲身份泄漏
- 02匿名化论文及补充材料
- 03录用后恢复作者信息与致谢
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ shaishavmaisuria/ research-paper-lifecycle-skills --skill anonymize-paper安装后在 Claude Code 中输入/anonymize-paper确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/camera-ready-reversal.mdleak-catalog.mdscripts/scan_anonymization.py详细介绍
匿名化论文
让 LaTeX 投稿真正实现双盲——并在录用后干净地恢复。匿名化信息泄露有明确记录,会导致直接拒稿(CHI 和
NeurIPS 明确声明,包括补充材料和关联代码仓库中的泄露);而手动去匿名化常常会在发表的 PDF 中留下占位作者
或失效的 anonymous.4open.science 链接。此技能会双向执行深度扫描,并记录每项更改,让恢复过程可以机械完成,而非考古寻踪。
适用场景
- “帮我为 NeurIPS / CHI / ICML / KDD ... 匿名化论文” / “把这篇论文盲化”
- 投稿前询问“我有没有在任何地方泄露身份?” / “检查双盲”
- “把我的自引改成第三人称”
- “我的代码 / 数据链接会暴露身份——该怎么办?”
- 录用后:“去匿名化” / “恢复作者信息” / “准备最终出版版的作者栏”
- 从
tailor-to-venue调用(匿名化扫描步骤),或在preflight-check之前调用(最终关卡)。
输入
- 主
.tex文件(含\documentclass);会自动跟踪\input/\include文件。 - 会议信息配置文件
venues/conferences/<venue>-<year>.yml(结构见venues/schema.yml)——提供盲审级别(单盲 / 双盲 / 三盲)和cfp_url。如果没有配置文件,请向用户询问盲审级别,或使用parse-cfp创建配置文件。 - 可选但建议提供:编译后的 PDF(用于元数据检查)、补充材料目录,以及要搜索的作者 / 机构名称。
流程 — 匿名化(投稿)
-
确定匿名评审级别,然后在线重新核实——必须执行。 阅读会议资料页;获取
cfp_url,确认匿名评审级别和会议的匿名化政策措辞(哪些情况算违规、是否必须删除致谢、是否允许使用匿名化的工件链接)。单盲会议(例如 SIGSPATIAL)无需匿名化——告知用户并停止,不要破坏一篇本来很好的论文。 -
运行深度扫描:
python3 scripts/scan_anonymization.py paper.tex \ --venue venues/conferences/<venue>-<year>.yml \ --supplementary <supp-dir> --names "Jane Doe,Example University"标志:
--blind double(无会议资料页时使用)、--pdf paper.pdf(指定 PDF)、--no-pdf、--json、--strict(警告也视为失败)、--force(即使在单盲会议也扫描)、--no-inputs。退出码:0 表示干净,1 表示发现泄漏,2 表示参数错误。扫描器会检查:作者/单位/电子邮件/ORCID/\thanks块、致谢、资助/基金编号、可识别身份的链接、裸露的电子邮件地址、第一人称自引、机构自指、pdfauthor、LaTeX 注释、.bib文件、主目录路径、已编译 PDF 的元数据字节,以及补充材料目录树。 -
通过可逆编辑修复发现项。 先处理 ERROR,再处理 WARN(每项都需要判断——应讨论,不要批量删除)。各类泄漏的修复方法——作者块、致谢、自引、仓库/数据集链接、元数据、补充材料——请参阅 references/leak-catalog.md。两条规则:
- 优先使用
\ifanon开关,这样终稿切换只需改一行;如果要上传源文件(arXiv、补充材料压缩包),则改用submission-anongit 分支——开关会在源文件中泄露真实姓名。 - 将自引改写为第三人称(“Doe 等人证明了 [12]”),绝不要写成“Anonymous [12]”——除非所引作品本身尚未发表。
- 优先使用
-
记录还原清单。 每项更改都在
anonymization-manifest.md中写一行(不要放入投稿压缩包):说明删除/改写的内容、文件:行号,以及准确的原文(基金编号、致谢段落、真实仓库 URL)。格式见 references/camera-ready-reversal.md。 -
检查补充材料。 修复后使用
--supplementary重新运行步骤 2。代码应以干净的导出版本提交(不含.git),清除笔记本输出/元数据,删除 LICENSE/AUTHORS 中的版权所有者姓名,并将工件托管在匿名镜像上(anonymous.4open.science)——绝不要使用会暴露账户信息的 Drive/Dropbox/GitHub 链接。 -
核验已编译的 PDF。 重新编译,再次运行扫描以检查新 PDF 的元数据,并手动检查扫描器无法检查的内容:带有实验室徽标的图、显示用户名的终端截图、提及机构名称的数据集描述、水印。
-
重复运行直至干净,然后执行门禁检查。 重复扫描 → 修复 → 扫描,直到退出码为 0。然后运行完整的
preflight-check(它会验证 documentclass 调用以及其他可能导致编辑部拒稿的问题)。
流程 — 取消匿名化(终稿)
-
接收录用通知后,使用清单还原,并执行:
python3 scripts/scan_anonymization.py paper.tex --mode camera-ready此命令会标记残留项:占位符/空白作者块、遗留的
anonymous.4open.science链接、[review,anonymous]类选项、没有[final]的neurips_<year>、\anontrue开关、“omitted for review”措辞,以及缺失的致谢。还原作者块,使其与版权表(ACM eRights / IEEE eCF)完全一致——按 references/camera-ready-reversal.md 操作——然后交由prepare-camera-ready按会议要求处理。
输出
- 一份发现项报告(文本或
--json),包含严重性、检查 ID、file:line。 - 经用户批准后逐类处理泄漏,提供编辑后的
.tex/补充材料文件,以及用于还原的anonymization-manifest.md。 - 终稿阶段:残留项报告和还原后的源文件。
与 preflight-check 的关系
preflight-check 会将同一组源代码级匿名化检查(共享检查 ID,anonymization/*)作为多个关卡之一运行;此技能是其深入版本,涵盖注释、.bib、PDF 字节、补充材料目录树、名称搜索,以及修复工作流和终稿反向处理。快速关卡 → preflight;全面检查或取消匿名化 → 此技能。
适配你的学科
泄漏模式不受学科限制;政策则因学科而异。请分叉并替换为你所在领域期刊的配置文件(许多期刊采用单盲审查,因此扫描会自动跳过),并扩展 --names 规则,以涵盖你所在领域中可识别群体的机构审查委员会或临床试验注册 ID。
防护措施
- 绝不要声称论文“已经匿名”;应说“未发现机器可检测的身份泄漏”。写作风格、自有数据集和小众主题仍可能暴露作者身份,而且审稿人会主动查找线索。
- 绝不要为了匿名而删除学术内容(例如,完全删去自引有违学术诚信);应改写为第三人称。引用完整性问题请转交
verify-citations处理。 - 编辑前,请根据实时的
cfp_url重新核实盲审级别和匿名化政策;盲审级别错误会损坏原本正确的论文。 - 绝不要代表用户向任何系统提交内容;只需提供报告或编辑结果。
- 报告中引用的内容最多只能包含被标记的行;绝不要在输出中粘贴大段论文内容。