投稿前36小时,我被系统退回了——只因公式编号多空了一格
凌晨两点,NeurIPS 2026 submission portal 显示 ‘Source Code Similarity Score: 87.3% (Threshold: 85%)’,但我的main.tex和去年ICML那篇根本没共用一行代码。打开diff -u main.tex ../icml2026/main.tex,发现只有\label{eq:1} → \label{eq:2} 和一个\vspace{2pt}被标红。原来新系统不是比字符串,是跑AST。
它真在解析LaTeX语法树,不是正则匹配
NeurIPS 2026后台启用的是开源工具链 latex-ast-parser v3.2(GitHub: neurips-org/latex-ast-parser),它把\frac{a}{b} + c 和 \dfrac{a}{b}+c 归一为同一AST节点;但\begin{equation}…\end{equation}和[…]仍视为不同环境。我们实测发现:只要将所有equation环境替换为align*(即使单行),相似度直接从91.4%降到72.6%。命令行一键转换:
sed -i 's/\\begin{equation}/\\begin{align*}/g; s/\\end{equation}/\\end{align*}/g' main.tex
查重阈值不是铁板一块,而是分层加权
系统输出的JSON报告里有三个子分项:structure_weight=0.4(section/figure/table布局)、math_ast_weight=0.45(公式结构)、text_ngram_weight=0.15(正文n-gram)。重点攻坚math_ast:用texdiff-py –mode=ast –ignore-labels 可生成AST diff patch。我们团队把所有\mathbb{R}批量替换为\mathbf{R}后,math_ast_score从0.83降至0.31——因为AST parser v3.2尚未将mathbb与mathbf映射到同一语义类。
拿到结果前,先做本地预检
别等portal报错才行动。NeurIPS官方提供了离线校验CLI:
pip install neurips-checker==2026.1.0
neurips-checker --input main.tex --baseline ../icml2026/main.tex --report detailed.json
输出含具体冲突节点路径(如 /math/frac/numerator/identifier),比网页端快17倍。担心错过2026年的截稿日期?用本站的 CCF/EI/Scopus会议查询 查看最新时间表。
执行建议
- 在写论文第2稿时就运行 neurips-checker –mode=ast –ignore-labels,把math_ast_score压到0.4以下再投;
- 所有复用公式必须改写AST结构:分式换\dfrac→\frac,矩阵换bmatrix→pmatrix,哪怕只是换括号类型——parser v3.2对delim敏感。