From armory
Packages TeX/LaTeX projects into clean .tar.gz or .zip archives for arXiv submission: file selection, build artifact exclusion, 00README.XXX generation, validation.
npx claudepluginhub mathews-tom/armory --plugin armoryThis skill uses the workspace's default tool permissions.
---
Prepares LaTeX papers for arXiv submission by cleaning source with arxiv-latex-cleaner, ensuring .bbl and 4-pass compilation, building tarball, and extracting metadata.
Validates arXiv paper submissions for compliance with TeX/LaTeX source, PDF, figures, metadata, bibliography, file organization, and error requirements. Produces pass/fail report with specific fixes.
Converts LaTeX academic papers between publisher formats (e.g., Springer/IPOL to MDPI/IEEE/Nature) by extracting content, injecting into new templates, fixing formatting, and compiling PDFs.
Share bugs, ideas, or general feedback.
Assemble a TeX/LaTeX project into a clean, correctly structured .tar.gz or
.zip archive ready for arXiv upload. Handles file selection, artifact
exclusion, directory structure, 00README generation, and validation of the
final package.
Companion skills:
arxiv-preflight — validate before packagingarxiv-figures — optimize figures before packagingScan the project directory. Classify every file:
INCLUDE — Required
.tex file(s)\input/\include targets (recursively trace)\includegraphics targets.bbl files (pre-processed bibliography).ind files (pre-processed index).gls/.nls files (glossary/nomenclature).sty, .cls, .bst files not in TeX Live00README.XXX (if present)anc/ directory contents (ancillary files)EXCLUDE — Build Artifacts
.aux, .log, .toc, .lot, .lof, .out, .nav, .snm, .vrb.dvi, .ps, .pdf (except figure PDFs and ancillary PDFs).synctex, .synctex.gz, .fls, .fdb_latexmk.blg, .ilg, .glg, .nlg (log files from bib/index/glossary processing)*.bak, *~, *.swp, *.swo (editor backups).DS_Store, Thumbs.db, desktop.ini (OS artifacts)EXCLUDE — Should Not Submit
.sty needed for compilation)Makefile, latexmkrc) — not needed by arXiv.git/, .svn/, version control directories.vscode/, .idea/, .texpadtmp/)FLAG — Needs Decision
.bib files (include alongside .bbl or omit — arXiv processes both).tex files with \documentclass (needs 00README.XXX with toplevelfile)Create or update the 00README.XXX file when needed:
# Auto-generated by arxiv-package
# Main TeX file (only if ambiguous — multiple \documentclass files)
main.tex toplevelfile
# Files to exclude from processing
cover-letter.pdf ignore
notes.txt ignore
# Optional directives
# nostamp
# nohypertex
Only generate if:
.tex files contain \documentclass (declare toplevelfile)ignore directivesnostamp or other directivesBefore creating the archive:
\input/\include targets resolve to files in the package\includegraphics targets resolve to files in the package\bibliography targets have corresponding .bbl filesanc/ directory contains no .tex files# From project root, create tar.gz excluding unwanted files
tar czf submission.tar.gz \
--exclude='*.aux' --exclude='*.log' --exclude='*.toc' \
--exclude='*.lot' --exclude='*.lof' --exclude='*.out' \
--exclude='*.nav' --exclude='*.snm' --exclude='*.vrb' \
--exclude='*.dvi' --exclude='*.synctex*' \
--exclude='*.fls' --exclude='*.fdb_latexmk' \
--exclude='*.blg' --exclude='*.ilg' --exclude='*.glg' \
--exclude='*.bak' --exclude='*~' --exclude='*.swp' \
--exclude='.git' --exclude='.svn' \
--exclude='.DS_Store' --exclude='Thumbs.db' \
--exclude='.vscode' --exclude='.idea' \
[list of files/directories to include]
# Or create zip
zip -r submission.zip [files] \
-x '*.aux' -x '*.log' -x '*.toc' ...
Prefer explicit file inclusion over directory-wide inclusion with exclusions. This prevents accidental inclusion of sensitive or unnecessary files.
After creation:
# arXiv Package Report
**Archive:** submission.tar.gz
**Compressed size:** [size]
**Uncompressed size:** [size]
**File count:** [count]
## Contents
| File | Size | Type |
|------|------|------|
| main.tex | 45 KB | Source |
| references.bbl | 12 KB | Bibliography |
| fig1.pdf | 380 KB | Figure |
| anc/data.csv | 1.2 MB | Ancillary |
## Excluded
| File | Reason |
|------|--------|
| main.aux | Build artifact |
| main.log | Build artifact |
| referee-response.pdf | Not for submission |
## 00README.XXX
[Contents if generated]
## Verification
- [ ] Archive extracts cleanly
- [ ] All source references resolve
- [ ] Compilation succeeds (if tested)
- [ ] No sensitive files included
.tar.gz preferred over .zip (standard in academic TeX workflows).tar (gzipped) and .zip.tar.gz inside a .zip).env, credentials, personal notes, referee
correspondence before packaging.