关于 arxiv-preflight
arxiv-preflight 是供研究人员和维护者使用的投稿准备技能,用于检查 TeX/LaTeX 项目或 PDF 是否符合 arXiv 技术要求。它根据处理器执行检查,并生成包含通过、失败结果和具体修复建议的报告;不评估行文或科学内容。
主要功能
- 01检查投稿文件组织
- 02验证 TeX 与处理器兼容性
- 03检查插图和参考文献
- 04审查元数据与编译后的 PDF
- 05验证附属文件和指令
- 06生成含修复建议的通过/失败报告
适用场景
- 01投稿前检查论文文件包
- 02查找缺失或不应提交的源文件
- 03解决 TeX 处理器和插图问题
- 04检查编译后的 PDF 是否符合技术要求
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mathews-tom/ armory --skill arxiv-preflight安装后在 Claude Code 中输入/arxiv-preflight确认已加载。
附带文件evals/cases.yamlreferences/guidelines.md
详细介绍
arXiv 提交前检查
流程阶段: 第 3a 阶段(提交准备)。在第 2 阶段修复并重新编译 PDF 后运行。是 arxiv-figures 和 arxiv-package 的关卡。
完整执行顺序请参阅 /manuscript-pipeline。
目的
系统地检查 TeX/LaTeX 项目(或 PDF 投稿)是否符合所有 arXiv 提交要求,并生成结构化的通过/失败报告,为发现的每项违规提供具体修复方案。
配套技能:
manuscript-review— 审核文字质量、结构和论断manuscript-provenance— 审核计算可复现性arxiv-figures— 优化适用于 arXiv 的插图arxiv-package— 打包投稿 tarball
此技能专注于 arXiv 技术合规性,不检查文字质量或科学内容。
工作流程
1. 收集文件
确定投稿目录。定位以下内容:
- 主
.tex文件 - 所有被包含的文件(插图、
.bbl、.bst、样式文件、子目录) - 任何
00README.XXX文件 - 任何
anc/目录 - 已编译的 PDF(如果有)
Read references/guidelines.md
2. 验证环节
执行所有环节。对于每项检查:
- PASS — 符合要求
- FAIL — 发现违规(记录确切文件、行号和具体修复方案)
- WARN — 提示(不会阻止提交,但可能引发问题)
- N/A — 不适用
环节 1 — 文件组织
- 所有
.tex文件中均无绝对文件路径(\input、\includegraphics、\include、\bibliography) - 文件名中不含空格或特殊字符(
&、\、:) - 不含应排除的辅助文件:
.aux、.log、.toc、.lot、.lof、.dvi、.ps、.pdf(插图 PDF 除外) - 所需文件齐全:使用 BibTeX/BibLaTeX 时需有
.bbl,使用 makeindex 时需有.ind,使用术语表/术语索引时需有.gls/.nls - 不含隐藏文件(以
.开头),与.tex相关的配置文件除外 - 不包含期刊模板或审稿人来信
- 子目录结构:不要使用
\include{}调用子目录中的文件(改用\input{}) - 如果有多个含
\documentclass的.tex文件:确认00README.XXX声明了toplevelfile
环节 2 — TeX/LaTeX 合规性
- 处理器兼容性:插图格式须与处理器匹配
- DVI 模式:仅限
.ps/.eps插图 - PDFLaTeX:仅限
.pdf/.png/.jpg插图 - 未使用条件编译时,不得混用格式
- DVI 模式:仅限
- 不使用
psfig宏包(改用graphicx) - 日期字段中不使用
\today宏 - 不嵌入 JavaScript
- 测试
\pdfoutput时使用ifpdf宏包,而非\ifx\pdfoutput\undefined - 不使用依赖 shell-escape 且无替代方案的宏包(
minted→frozencache=true) - 不使用
xr宏包引用外部文档 - 不使用双倍行距的“referee”模式排版
- 标题中的
\cite调用使用\protect\cite - 不使用
\include加载子目录中的文件 - BibLaTeX
.bbl格式版本与目标 TeX Live 兼容(TL2025 为 3.3) - 投稿中包含所有自定义/非标准样式文件
- 不使用 TeX Live 发行版之外的宏包(对照常见的非 TL 宏包检查)
环节 3 — 插图验证
- 所有引用的插图均存在于指定路径
- 插图格式符合处理器要求
- 插图未引用绝对路径
- 不包含嵌入式动画、JavaScript 或交互元素
- PNG 文件:检查是否存在超大图像(超过 34 百万像素时提示)
- 文件大小合理(单张插图超过 5MB 时标记,总插图超过 25MB 时标记)
\includegraphics调用中提供替代文本(建议项,符合无障碍最佳实践)\includegraphics使用graphicx宏包,而非已弃用的替代方案
环节 4 — 参考文献验证
-
.bbl文件名与对应的.tex文件名一致 -
如果包含
.bib文件:也要包含.bbl文件(arXiv 可以处理.bib,但提供.bbl更稳妥) -
参考文献中的 arXiv 标识符格式正确(
YYMM.NNNNN) -
e-print 标识符中没有多余的格式内容
-
检查 BibLaTeX
.bbl格式版本(查看.bbl中的\RequirePackage版本) 第 5 步——元数据合规性(检查.tex前言部分) -
标题:不使用全大写,不包含原始 Unicode 字符,展开晦涩的宏
-
作者:姓名格式规范,不带尊称,不使用
et al.截断 -
摘要:开头不出现 “Abstract” 字样,不超过 1920 个字符,各行开头不留空白
-
摘要:展开不透明的 TeX 宏,不使用格式命令(
\em、\it) -
如果存在评论元数据:包含页数和图数(仅供参考)
第 6 步——PDF 验证(如果有已编译的 PDF)
- 所有字体均已嵌入(使用
pdffonts或同等工具检查) - 不含 Type 3(位图)字体
- 可机器读取(不是扫描件或位图)
- 不含嵌入式 JavaScript
- 没有阻止文本提取的安全限制
- 文件大小合理
第 7 步——00README.XXX 验证(如果存在)
- 指令语法有效(每行格式为
filename directive或独立指令) - 引用的文件均存在
- 与 DVI 相关的指令使用正确的文件名(不带
.tex扩展名) - 不含冲突指令
第 8 步——辅助文件(如果存在 anc/ 目录)
anc/目录中不含.tex文件- 不含嵌入式 JavaScript 的 PDF
.tex源文件中没有对anc/目录的内部引用- 总大小合理
第 9 步——常见错误扫描
- PS/EPS 文件顶部(而非末尾)包含
%%BoundingBox newtxmath和amssymb之间没有\Bbbk冲突- 没有含糊的双重下标或上标(
a_x_y→a_{x}_y) - 没有拼接在一起的源文件
- 没有 Scientific Workplace
.rap文件 - 没有经过修改的标准样式文件(
epsf.sty、epsfig.sty) - 对于带有复杂节名称的
hyperref:使用bookmarks=false或正确处理 PDF 字符串
3. 生成报告
生成一份结构化报告:
# arXiv Preflight Report
**Project:** [directory name]
**Date:** [date]
**Processor:** [detected processor]
**Verdict:** [READY / NEEDS FIXES / BLOCKED]
## Summary
| Category | Pass | Fail | Warn | N/A |
|----------|------|------|------|-----|
| File Organization | | | | |
| TeX Compliance | | | | |
| Figures | | | | |
| Bibliography | | | | |
| Metadata | | | | |
| PDF | | | | |
| 00README | | | | |
| Ancillary Files | | | | |
| Common Errors | | | | |
## Blocking Issues (FAIL)
[Each with file, line number, specific violation, exact fix]
## Warnings (WARN)
[Advisory items that may cause processing issues]
## All Checks
[Full pass/fail/warn/N/A status for every checkpoint]
4. 输出
将报告保存为项目目录中的 arxiv-preflight-report.md。
给出结论和阻塞问题数量。如果结果为 READY,请确认可以继续提交。 如果结果为 NEEDS FIXES,请按优先级列出具体修复项。
核心原则
- 二元合规。 arXiv 要求不是建议——FAIL 表示提交会被拒绝或处理流程会出错。WARN 表示可能会造成问题。
- 精确修复。 每项 FAIL 都必须包含所需的具体命令、行或文件修改。
- 不误报。 只标记违反有文档记录的 arXiv 要求之处。不要将风格偏好或最佳实践判为错误。
- 考虑处理器差异。 所有检查都应考虑检测到的 TeX 处理器。PDFLaTeX 规则不适用于 DVI 模式提交,反之亦然。