mcpField
A
anonymize-paper

anonymize-paper

github.com/shaishavmaisuria文档处理5792 次安装4 天前更新
代码仓库

关于 anonymize-paper

anonymize-paper 帮助作者在双盲投稿前检查和处理 LaTeX 论文及补充材料中的身份线索,并在录用后恢复作者信息。它会记录每项修改,便于按清单逆向还原。

主要功能

  1. 01扫描源码、文献与 PDF 元数据
  2. 02检查补充材料和身份相关链接
  3. 03按泄漏类别报告问题位置
  4. 04记录可逆修改及原始内容
  5. 05检查录用后恢复时的遗留占位内容

适用场景

  1. 01投稿前检查双盲身份泄漏
  2. 02匿名化论文及补充材料
  3. 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.md
leak-catalog.md
scripts/
scan_anonymization.py

详细介绍

匿名化论文

让 LaTeX 投稿真正实现双盲——并在录用后干净地恢复。匿名化信息泄露有明确记录,会导致直接拒稿(CHI 和 NeurIPS 明确声明,包括补充材料和关联代码仓库中的泄露);而手动去匿名化常常会在发表的 PDF 中留下占位作者 或失效的 anonymous.4open.science 链接。此技能会双向执行深度扫描,并记录每项更改,让恢复过程可以机械完成,而非考古寻踪。

适用场景

  • “帮我为 NeurIPS / CHI / ICML / KDD ... 匿名化论文” / “把这篇论文盲化”
  • 投稿前询问“我有没有在任何地方泄露身份?” / “检查双盲”
  • “把我的自引改成第三人称”
  • “我的代码 / 数据链接会暴露身份——该怎么办?”
  • 录用后:“去匿名化” / “恢复作者信息” / “准备最终出版版的作者栏”
  • 从 tailor-to-venue 调用(匿名化扫描步骤),或在 preflight-check 之前调用(最终关卡)。

输入

  1. 主 .tex 文件(含 \documentclass);会自动跟踪 \input / \include 文件。
  2. 会议信息配置文件 venues/conferences/<venue>-<year>.yml(结构见 venues/schema.yml)——提供盲审级别(单盲 / 双盲 / 三盲)和 cfp_url。如果没有配置文件,请向用户询问盲审级别,或使用 parse-cfp 创建配置文件。
  3. 可选但建议提供:编译后的 PDF(用于元数据检查)、补充材料目录,以及要搜索的作者 / 机构名称。

流程 — 匿名化(投稿)

  1. 确定匿名评审级别,然后在线重新核实——必须执行。 阅读会议资料页;获取 cfp_url,确认匿名评审级别和会议的匿名化政策措辞(哪些情况算违规、是否必须删除致谢、是否允许使用匿名化的工件链接)。单盲会议(例如 SIGSPATIAL)无需匿名化——告知用户并停止,不要破坏一篇本来很好的论文。

  2. 运行深度扫描:

    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 的元数据字节,以及补充材料目录树。

  3. 通过可逆编辑修复发现项。 先处理 ERROR,再处理 WARN(每项都需要判断——应讨论,不要批量删除)。各类泄漏的修复方法——作者块、致谢、自引、仓库/数据集链接、元数据、补充材料——请参阅 references/leak-catalog.md。两条规则:

    • 优先使用 \ifanon 开关,这样终稿切换只需改一行;如果要上传源文件(arXiv、补充材料压缩包),则改用 submission-anon git 分支——开关会在源文件中泄露真实姓名。
    • 将自引改写为第三人称(“Doe 等人证明了 [12]”),绝不要写成“Anonymous [12]”——除非所引作品本身尚未发表。
  4. 记录还原清单。 每项更改都在 anonymization-manifest.md 中写一行(不要放入投稿压缩包):说明删除/改写的内容、文件:行号,以及准确的原文(基金编号、致谢段落、真实仓库 URL)。格式见 references/camera-ready-reversal.md。

  5. 检查补充材料。 修复后使用 --supplementary 重新运行步骤 2。代码应以干净的导出版本提交(不含 .git),清除笔记本输出/元数据,删除 LICENSE/AUTHORS 中的版权所有者姓名,并将工件托管在匿名镜像上(anonymous.4open.science)——绝不要使用会暴露账户信息的 Drive/Dropbox/GitHub 链接。

  6. 核验已编译的 PDF。 重新编译,再次运行扫描以检查新 PDF 的元数据,并手动检查扫描器无法检查的内容:带有实验室徽标的图、显示用户名的终端截图、提及机构名称的数据集描述、水印。

  7. 重复运行直至干净,然后执行门禁检查。 重复扫描 → 修复 → 扫描,直到退出码为 0。然后运行完整的 preflight-check(它会验证 documentclass 调用以及其他可能导致编辑部拒稿的问题)。

流程 — 取消匿名化(终稿)

  1. 接收录用通知后,使用清单还原,并执行:

    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 重新核实盲审级别和匿名化政策;盲审级别错误会损坏原本正确的论文。
  • 绝不要代表用户向任何系统提交内容;只需提供报告或编辑结果。
  • 报告中引用的内容最多只能包含被标记的行;绝不要在输出中粘贴大段论文内容。

评论

支持 Markdown