mcpField
S
submit-paper

submit-paper

github.com/a-green-hand-jack文档处理46 次安装
代码仓库

关于 submit-paper

submit-paper 是用于检查 LaTeX 论文会议投稿准备情况的工作流技能,适合作者在提交前核查论文。它结合静态检查,并依据投稿模式、源文件可见范围和编译后端提供检查指引。

主要功能

  1. 01识别论文项目与投稿会议
  2. 02检查必需章节和摘要长度
  3. 03查找草稿痕迹及匿名性问题
  4. 04核对参考文献与图表引用
  5. 05指导本地或远程编译核查
  6. 06检查源文件可见范围与清理项

适用场景

  1. 01检查论文是否适合首次投稿
  2. 02复核终稿或 arXiv 版本
  3. 03分享前检查源文件卫生
  4. 04排查版面与编译问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/a-green-hand-jack/ml-research-skills --skill submit-paper

安装后在 Claude Code 中输入/submit-paper确认已加载。

附带文件references/layout-debugging.mdscripts/check.sh

详细介绍

提交论文 — 提交前检查清单

在向会议提交之前,对 LaTeX 论文项目进行系统的就绪检查。涵盖提交模式、必需章节、草稿痕迹、参考文献、匿名性、源文件格式,以及可选的编译。

不要将本地 TeX 可用性记录为共享项目状态。latexmk、pdflatex、xelatex、lualatex、tectonic 或 tlmgr 是否存在,是某位用户机器上的运行时事实。持久的项目状态是论文或工作树使用的编译后端:local、Overleaf-GitHub、CI 或 unknown。

默认在本地进行静态检查。仅当项目编译后端为 local,或用户明确要求本地编译时,才运行本地 LaTeX 编译,并且只有在运行时检测到可用编译器后才能执行。对于 Overleaf-GitHub 或 CI 后端,应使用已推送的源文件以及远程日志/PDF 产物作为编译依据。

论文的不同版本可能位于单独的工作树中。如果项目有 paper-worktrees/,优先检查用于目标会议、arXiv 发布或定稿提交的特定版本工作树,而不是修改主 paper/ 分支。

如果任务涉及版面调试、浮动体位置、溢出/松散的盒子、短行、分页或基于截图的格式反馈,请先阅读 references/layout-debugging.md,再提出修复建议。优先针对特定页面/对象进行局部修改,避免一次性全局调整参数。


步骤 1 — 定位 LaTeX 项目

// turbo 查找论文目录:

# If we're inside a project-init project, look for paper/ sibling
git rev-parse --show-toplevel 2>/dev/null
ls "$(git rev-parse --show-toplevel 2>/dev/null)/../" 2>/dev/null || true

# Find main.tex
find . -maxdepth 3 -name "main.tex" 2>/dev/null | head -5

确定 $PAPER_DIR——包含 main.tex 的目录。

如果 $ARGUMENTS 提供了路径,请直接使用。 如果项目采用 project-init 项目结构,请检查是否有同级的 paper/ 目录。 如果请求的目标是转换投稿会议、发布 arXiv 版本或生成定稿版本,也请检查是否有匹配的同级 paper-worktrees/ 目录。


步骤 2 — 询问提交背景

在一条消息中询问用户:

  1. 提交类型:初次提交(匿名)/定稿/arXiv 预印本?
  2. 截止日期:截止日期是什么时候?(有助于确定修复工作的优先级)
  3. 编译后端:这篇论文通过本地编译、经由 GitHub 的 Overleaf、CI,还是未知工作流进行验证?
  4. 版本工作区:这是主 paper/ 仓库,还是针对特定会议/arXiv/定稿目标的 paper-worktrees/ 版本?
  5. 源文件可见性:此源文件属于 agent-private、通过 Overleaf/合作者可见的 author-visible、anonymous-submission、public-preprint、camera-ready-public,还是 publisher-artifact?

如果可以从 venue_preamble.tex 推断出会议名称(步骤 3 会读取该文件),则跳过询问。

等待用户回答后再继续。


步骤 3 — 运行检查脚本

// turbo

bash <submit-paper-skill-dir>/scripts/check.sh "$PAPER_DIR" [--compile]

重要:将 <submit-paper-skill-dir> 解析为此技能的安装目录,并使用 check.sh 的绝对路径。

只有当编译后端为 local,或用户明确要求本地编译时,才传入 --compile。脚本会在运行时检测可用的编译器。如果没有可用编译器,请在不带 --compile 的情况下运行脚本;脚本仍会执行有用的静态检查。

脚本执行以下检查:

检查项检查内容
项目检测是否存在 main.tex,是否能从 venue_preamble.tex 确定会议名称
草稿痕迹\todo、\fixme、\red{}、作者注释宏、TODO/FIXME 文本
匿名性致谢、资金披露、个人网址/邮箱
参考文献.bib 文件非空,且存在 \bibliography{} 调用
必需章节会议特定的必需章节(见下文)
摘要长度约 30–350 个词(超出范围时发出警告)
图表所有 \label{fig:*} 和 \label{tab:*} 均有对应的 \ref
源文件格式安装了 tex-fmt 时,可选运行 tex-fmt --check --nowrap --recursive .
编译对本地编译工作流,可选进行本地 LaTeX 编译;否则通过 Overleaf 或 CI 验证 PDF/页数

第 4 步 — 处理源文件格式

如果已安装 tex-fmt,检查脚本只会以检查模式运行它:

tex-fmt --check --nowrap --recursive .

除非用户或项目政策将格式检查设为阻断关卡,否则格式不匹配应视为警告。提交检查期间,不要擅自格式化源文件。可以提议运行:

tex-fmt --nowrap --recursive .

然后在提交或推送前检查差异。如果存在项目本地的 tex-fmt 配置,请使用该配置。默认回退时保留 --nowrap,避免格式化程序重新排版较长的正文行,除非项目明确选择自动换行。

如果未安装 tex-fmt,不要仅为继续操作而要求用户安装。请说明已跳过可选格式检查。


第 5 步 — 处理 Overleaf/GitHub 编译

当项目的编译后端为 Overleaf-GitHub,或用户要求为 Overleaf 发布更改时,使用此工作流。不要仅仅因为当前机器缺少 TeX 就选择此工作流;如果编译后端未知,请询问用户,或说明编译验证尚待完成。

  1. 确认本地论文仓库配置了 GitHub 远程仓库:
git -C "$PAPER_DIR" remote -v
git -C "$PAPER_DIR" status --short --branch
  1. 如果用户要求为 Overleaf 发布更改,请按照常规 Git 流程提交并推送。未检查差异前,不要提交与本次更改无关的用户更改。这是关联 Overleaf 的论文通常采用的编译交接方式。

  2. 告知用户在 Overleaf 中编译已同步的分支。以下各项应以 Overleaf 为准:

    • 编译状态是否干净
    • 页数
    • 溢出框和版式警告
    • 参考文献的排版
    • 最终 PDF 检查
  3. 如果 Overleaf 报错,请将 Overleaf 日志文本或屏幕截图用作编译证据。在本地修复 LaTeX 源文件,然后再次推送。

除非项目的编译后端明确为 local,否则不要仅仅因为本地无法使用 latexmk、pdflatex、xelatex、lualatex 或 tectonic 而阻止提交就绪。对于非本地后端,请使用 Overleaf 或 CI 的编译证据。

如果存在项目记忆,且论文源文件对合作者、审稿人、arXiv、出版商或工件读者可见,请更新 memory/source-visibility-board.md,记录可见性级别、同步目标、清理关卡、审计状态和清理措施。


第 6 步 — 修正 venue_preamble.tex 中的投稿模式

阅读脚本输出后,检查 venue_preamble.tex,并确认 \usepackage 选项与用户在第 2 步中的说明一致。

如果模式有误,请向用户说明应如何更改,并提议代为修正:

投稿类型venue_preamble.tex 应包含
初次投稿 / 匿名例如 \usepackage{neurips_<year>}、\usepackage[review]{cvpr} 或 \usepackage[review]{iccv}
arXiv / 预印本例如 \usepackage[preprint]{neurips_<year>}
终稿例如 \usepackage[final]{neurips_<year>}、\usepackage{cvpr} 或 \usepackage{iccv}

询问“要我将 venue_preamble.tex 更新为 [mode] 模式吗?”——确认后再编辑。


步骤 7 — 检查源文件可见性并清理

不同版本的论文对源文件卫生有不同要求。源文件可见性独立于投稿场所。如果分支已关联 Overleaf/GitHub,或合作者可以查看,请将其视为 author-visible,而非私有。

可见性级别典型源文件范围必需的清理工作
agent-private本地/私有的草稿工作树可以包含 Agent 状态、内部笔记、绘图脚本、CSV 文件和来源记录;不应推送到 Overleaf/公共远程仓库
author-visible与 Overleaf/GitHub 关联的主分支排除 .agent/、AGENTS.md、CLAUDE.md、原始 CSV 文件、内部结果文档、绘图脚本、审稿人策略、私有路径和仅供 Agent 使用的笔记
anonymous-submission投稿场所的投稿源文件/PDF确保匿名化,删除身份泄露信息;避免内部注释,因为源文件可能会被上传
public-preprintarXiv/公开源文件删除 TODO、作者评论、审稿人笔记、隐藏注释、内部图表说明、匿名化残留、Agent 文件、来源记录文档、脚本、CSV 文件和非公开路径
camera-ready-public出版方/最终源文件包取消匿名化,添加致谢/资助信息,删除仅用于草稿的笔记,履行答辩承诺,并排除 Agent/私有文件

对于作者可见、匿名投稿、arXiv、最终版或出版方可见的源文件,不要在源文件目录树中留下内部审查材料。这包括 .agent/、AGENTS.md、CLAUDE.md、图表说明、来源记录、审稿人回复笔记、TODO、原始 CSV 文件、内部结果文档、绘图脚本、笔记本、私有路径和作者注释宏。请将这些内容保留在根目录的 memory/、代码侧文档或 agent-private 论文工作树中,而不要放在可见的源文件中。

检查可见源文件中是否存在禁止的文件:

find "$PAPER_DIR" -maxdepth 3 \( \
  -path "$PAPER_DIR/.agent" -o \
  -name "AGENTS.md" -o -name "CLAUDE.md" -o \
  -name "*.csv" -o -name "*.ipynb" -o \
  -path "*/docs/results/*" -o -path "*/docs/reports/*" -o -path "*/docs/runs/*" -o \
  -path "*/scripts/*" -o -path "*/plot_scripts/*" -o \
  -iname "*provenance*" -o -iname "*result-inventory*" -o -iname "*writing-memory*" \
\) -print

检查源文件中是否存在有风险的文本:

grep -RIn "\\\\todo\\|\\\\fixme\\|TODO\\|FIXME\\|\\\\jieke\\|\\\\jerry\\|\\\\wwm\\|Reviewer\\|internal\\|description\\|provenance" "$PAPER_DIR" --include="*.tex" || true

删除前请先判断。有些词(例如“description”)可能是论文中合理的正文内容。只删除或改写草稿/内部材料。


步骤 8 — 报告发现并制定行动计划

请按结构化格式呈现结果:

明确说明本地/Overleaf 编译状态:

  • 本地静态检查结果
  • tex-fmt 状态:通过、需要修改,或因不可用而跳过
  • 编译后端:本地、Overleaf-GitHub、CI,或未知
  • 已知时注明编译状态;如需 Overleaf/CI 证据,则写“等待远程编译”
  • 是否因后端为非本地、未知或不可用而跳过本地 LaTeX 编译
  • 版本工作区状态:主论文仓库或特定论文工作树
  • 可见性级别,以及作者可见、匿名投稿、arXiv、最终版或出版方可见模式下的源文件卫生状态
  • 相关时注明版面调试状态:受影响的页面/对象、尝试过的本地修复、编译后端、目视检查结果,以及是否需要复查后续页面
## Submission Readiness: <venue> — <mode>

### ✅ Passed (N)
- ...

### ⚠️ Warnings (N) — review before submitting
- ...

### ❌ Must Fix (N) — blocking submission
- ...

### Action Plan
1. <highest-priority fix>
2. ...

对于每项失败或警告,请提供具体文件和行号以及准确的修复方法。


第 9 步 — 提供有针对性的修复方案

对于常见问题,主动提出立即修复:

  • 草稿残留:列出这些内容;询问是否要将其删除。
  • 源文件格式:如果 tex-fmt 报告有改动,提出运行 tex-fmt --nowrap --recursive .,然后检查差异。
  • 缺少必需章节:提出创建占位内容,供用户填写。
  • 提交模式错误:提出编辑 venue_preamble.tex。
  • 源文件卫生问题:对于作者可见版/公开版/提交版源文件,先展示差异范围,再提出删除或移走 .agent/、AGENTS/CLAUDE 指南、内部注释、图表说明、审稿人备注、TODO、原始 CSV、绘图脚本、来源文档和作者注释宏。
  • 排版、浮动体和短行问题:使用 references/layout-debugging.md;先确定页面/对象,再优先采用局部措辞修改、局部浮动间距调整、移动对象,或使用 \Needspace / \FloatBarrier,而不是全局修改 \sloppy、\emergencystretch 或段落/浮动体间距。
  • 空的 bib 文件:提醒用户将参考文献添加到 bib/refs.bib。

未经确认,不要自动修复。


会议投稿参考:必需章节与页数限制

会议截止时间页数(正文)必需的其他内容
ICML1 月9sections/impact.tex(更广泛影响)
ACL2 月8sections/limitations.tex
ICCV3 月(奇数年)8—
ECCV3 月(偶数年)14 页,含图
NeurIPS5 月9sections/impact.tex + sections/checklist.tex
EMNLP5 月8sections/limitations.tex
ICLR9 月约 9 页(不严格)—
CVPR11 月8—
NAACL12 月8sections/limitations.tex
ACM不定不定CCS 概念、\acmConference(最终版)

参考文献和必需的其他内容不计入页数限制(以上所有会议均适用)。


提交模式速查

NeurIPS
% Anonymous submission (default):
\usepackage{neurips_<year>}
% arXiv preprint:
\usepackage[preprint]{neurips_<year>}
% Camera-ready:
\usepackage[final]{neurips_<year>}
ICML
\usepackage{icml<year>}           % anonymous
\usepackage[accepted]{icml<year>} % camera-ready
ICLR
\usepackage[submitted]{iclr<year>_conference}  % anonymous
\usepackage[accepted]{iclr<year>_conference}   % camera-ready
CVPR
\usepackage[review]{cvpr}   % anonymous
\usepackage{cvpr}           % camera-ready
\usepackage[pagenumbers]{cvpr}  % arXiv (shows page numbers)
ICCV
\usepackage[review]{iccv}   % anonymous
\usepackage{iccv}           % camera-ready
\usepackage[pagenumbers]{iccv}  % arXiv (shows page numbers)
ACL / EMNLP / NAACL
\usepackage[review]{acl}   % anonymous
\usepackage{acl}           % camera-ready
ECCV
\usepackage{eccv}            % anonymous (blind review)
\usepackage[final]{eccv}     % camera-ready

最终版检查清单(附加项目)

当使用 --mode camera-ready 或提交类型为最终版时,还需额外检查:

  • venue_preamble.tex 已设为 [final] / [accepted] 模式
  • 已在 main.tex 中填写作者姓名和所属机构
  • 已添加致谢(资助、计算资源额度等)
  • 已移除所有作者注释宏(\jieke{}、\jerry{} 等)
  • sections/acknowledgement.tex 内容非空
  • 按要求添加版权/许可声明(ACM)
  • 最终参考文献格式正确(没有“Anonymous”条目)
  • 按要求单独打包补充材料
  • .tex 源文件已打包为 zip,准备上传(许多会议要求提交源文件)

arXiv 提交须知

arXiv 的打包要求与会议投稿不同:

  • 必须提交 .tex 源文件(不能只提交 PDF)
  • 如果使用多个文件,请展开 \input{...}(某些 arXiv 配置要求使用单个 .tex 文件)
  • 切换到 [preprint] 模式(移除会议标识/匿名设置)
  • 将所有 .sty、.bst、.cls 文件包含在 zip 中
  • 如可用,请运行 tex-fmt --check --nowrap --recursive .,然后仅在检查预期差异范围后再格式化
  • 从公开源文件中移除内部注释、TODO、作者注释宏、审稿人备注、私有路径和图表说明
  • 如果 \usepackage{times} 导致 arXiv 上出现字体问题,请将其移除
  • arXiv 使用较旧版本的 TeX Live 编译——请检查软件包兼容性

调用示例

/submit-paper                                   # check current directory
/submit-paper ~/Papers/my-neurips-paper         # check specific project
/submit-paper . --compile                       # include local LaTeX check only if a compiler exists
/submit-paper . --mode camera-ready             # camera-ready checklist

评论

支持 Markdown