| name | arxiv-preflight |
| description | Pre-submission validation audit for arXiv papers across TeX source, PDF, figures, metadata, bibliography, file organization, and common-error scans. Produces pass/fail report with specific fixes per arXiv requirement. Triggers on: "check my arXiv submission", "validate for arXiv", "arXiv preflight", "ready for arXiv", "arxiv check", "arxiv submission readiness". Companion to manuscript-review (prose), manuscript-provenance (code), arxiv-figures, arxiv-package. |
| metadata | {"version":"1.0.0","complements":["manuscript-review","manuscript-provenance","arxiv-figures","arxiv-package"],"category":"review","tags":["arxiv","preflight","latex","validation","submission"],"difficulty":"advanced","phase":"review"} |
arXiv Preflight Check
Pipeline position: Phase 3a (submission readiness). Runs after Phase 2
fixes and PDF recompilation. Gate for arxiv-figures and arxiv-package.
See /manuscript-pipeline for full execution order.
Purpose
Systematically validate a TeX/LaTeX project (or PDF submission) against all
arXiv submission requirements, producing a structured pass/fail report with
specific fixes for every violation found.
Companion skills:
manuscript-review — audits prose quality, structure, and claims
manuscript-provenance — audits computational reproducibility
arxiv-figures — optimizes figures for arXiv
arxiv-package — packages the submission tarball
This skill focuses exclusively on arXiv technical compliance — not prose
quality or scientific content.
Workflow
1. Ingest
Identify the submission directory. Locate:
- Main
.tex file(s)
- All included files (figures,
.bbl, .bst, style files, subdirectories)
- Any
00README.XXX file
- Any
anc/ directory
- Compiled PDF (if available)
Read references/guidelines.md
2. Validation Passes
Execute all passes. For each check:
- PASS — requirement met
- FAIL — violation found (document exact file, line, specific fix)
- WARN — advisory (not a blocker but may cause issues)
- N/A — not applicable
Pass 1 — File Organization
- No absolute file paths in any
.tex file (\input, \includegraphics, \include, \bibliography)
- No spaces or special characters (
&, \, :) in filenames
- No auxiliary files that should be excluded:
.aux, .log, .toc, .lot, .lof, .dvi, .ps, .pdf (except figure PDFs)
- Required files present:
.bbl if using BibTeX/BibLaTeX, .ind if using makeindex, .gls/.nls if using glossary/nomenclature
- No hidden files (starting with
.) except .tex-related configs
- No journal templates or referee letters included
- Subdirectory structure: no
\include{} calls into subdirectories (use \input{} instead)
- If multiple
.tex files with \documentclass: verify 00README.XXX declares toplevelfile
Pass 2 — TeX/LaTeX Compliance
- Processor compatibility: figure formats match processor
- DVI mode: only
.ps/.eps figures
- PDFLaTeX: only
.pdf/.png/.jpg figures
- No mixed formats without conditional compilation
- No
psfig package usage (use graphicx)
- No
\today macro in date fields
- No embedded JavaScript
\pdfoutput testing uses ifpdf package, not \ifx\pdfoutput\undefined
- No shell-escape dependent packages without workarounds (
minted → frozencache=true)
- No
xr package for external document references
- No double-spaced "referee" mode formatting
- Caption
\cite calls use \protect\cite
\include not used for subdirectory files
- BibLaTeX
.bbl format version compatible with target TeX Live (3.3 for TL2025)
- All custom/non-standard style files included in submission
- No packages outside TeX Live distribution (check against common non-TL packages)
Pass 3 — Figure Validation
- All referenced figures exist at specified paths
- Figure formats match processor requirements
- No figures reference absolute paths
- No embedded animations, JavaScript, or interactive elements
- PNG files: check for oversized images (>34 Megapixel warning)
- Reasonable file sizes (flag individual figures >5MB, total figures >25MB)
- Alt text present in
\includegraphics calls (advisory — accessibility best practice)
\includegraphics uses graphicx package, not deprecated alternatives
Pass 4 — Bibliography Validation
.bbl filename matches corresponding .tex filename
- If
.bib included: .bbl also included (arXiv can process .bib but .bbl is safer)
- arXiv identifiers in references use correct format (
YYMM.NNNNN)
- No extraneous formatting within e-print identifiers
- BibLaTeX
.bbl format version check (examine \RequirePackage version in .bbl)
Pass 5 — Metadata Compliance (check .tex front matter)
- Title: no all-uppercase, no raw Unicode, cryptic macros expanded
- Authors: proper name format, no honorifics, no
et al. truncation
- Abstract: no leading "Abstract" text, within 1920 character limit, no leading whitespace on lines
- Abstract: opaque TeX macros expanded, no formatting commands (
\em, \it)
- If comments metadata present: page count and figure count included (advisory)
Pass 6 — PDF Validation (if compiled PDF available)
- All fonts embedded (check with
pdffonts or equivalent)
- No Type 3 (bitmap) fonts
- Machine readable (not scanned/bitmapped)
- No embedded JavaScript
- No security restrictions preventing text extraction
- Reasonable file size
Pass 7 — 00README.XXX Validation (if present)
- Valid directive syntax (each line:
filename directive or standalone directive)
- Referenced files exist
- DVI-related directives use correct filename (no
.tex extension)
- No conflicting directives
Pass 8 — Ancillary Files (if anc/ directory present)
- No
.tex files in anc/ directory
- No PDFs with embedded JavaScript
- No internal references to
anc/ directory from .tex source
- Reasonable total size
Pass 9 — Common Error Scan
%%BoundingBox at top of PS/EPS files (not at end)
- No
\Bbbk conflicts between newtxmath and amssymb
- No ambiguous double subscript/superscript (
a_x_y → a_{x}_y)
- No concatenated source files
- No Scientific Workplace
.rap files
- No modified versions of standard style files (
epsf.sty, epsfig.sty)
hyperref with complex section names: bookmarks=false or proper PDF string handling
3. Generate Report
Produce a structured report:
# 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. Output
Save report as arxiv-preflight-report.md in the project directory.
Present verdict and blocking issue count. If READY, confirm submission can proceed.
If NEEDS FIXES, list the specific fixes in priority order.
Core Principles
- Binary compliance. arXiv requirements are not suggestions — FAIL means the submission
will be rejected or processing will break. WARN means it may cause issues.
- Exact fixes. Every FAIL includes the specific command, line, or file change needed.
- No false positives. Only flag violations against documented arXiv requirements.
Do not impose style preferences or best practices as failures.
- Processor-aware. All checks account for the detected TeX processor.
PDFLaTeX rules do not apply to DVI-mode submissions and vice versa.