
arXiv LaTeX Cleaner
https://github.com/google-research/arxiv-latex-cleaner- Category
- Developer Tools
- Rank
- No. 612Tools index
Previous survey · No. 606 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- google-research
- GitHub
- 7.0k stars
- Latest release
- v1.0.11
- Date
About
Google Research's tool for cleaning the LaTeX of your paper before submitting to arXiv — strips comments, unused files, and embeds figures.
What it does
It turns a working paper project into a separate upload-ready copy. It follows referenced source and image assets, simplifies selected TeX conditionals, removes configurable writing-time markup, and can shrink or convert graphics under user-set exceptions.
Why it's ranked here
This is a focused release-preparation tool with unusually practical coverage. Dependency-aware copying, configurable text rewrites, image controls, Inkscape handling, and external TikZ substitution address several common submission chores through one command.
What's good
The cleaner preserves escaped percent signs and percentages inside URLs while removing comments. It understands nested removable commands, can retain their wrapped text, and aborts conditional simplification on malformed structures instead of silently rewriting them. Image allowlists protect selected assets from global resizing.
Tradeoffs
PDF compression depends on Ghostscript and is limited to Linux and macOS. TikZ concealment requires figures compiled externally and explicitly named. Conditional parsing assumes most commands beginning with the TeX conditional prefix are primitives, so custom exceptions may be necessary. PNG-to-JPG conversion can trade fidelity for size.
How to use it well
It suits LaTeX authors who want a repeatable final packaging step after the paper already builds correctly. Keep stable cleanup settings in YAML, add asset-specific size exceptions, then inspect the generated copy before zipping it. Uploading and external TikZ compilation remain separate responsibilities.
Technical notes+
arxiv_latex_cleaner/__main__.py exposes an argparse CLI, loads YAML with yaml.safe_load, merges CLI values through merge_args_into_config, and invokes run_arxiv_cleaner. setup.py registers the arxiv_latex_cleaner console script and packages dependencies read from requirements.txt: absl_py, Pillow, PyYAML, and regex. The README states Python 3.9 or newer, while setup.py declares only python_requires='>=3', so package metadata does not enforce the documented floor. arxiv_latex_cleaner/arxiv_latex_cleaner.py uses recursive regex matching for balanced command arguments, builds a tree for conditional simplification, includes Windows path normalization, and shells out to Ghostscript for PDF resampling. arxiv_latex_cleaner/tests/arxiv_latex_cleaner_test.py contains parameterized unit coverage for configuration merging, comment handling, command removal, and reference matching.
Observed
- License
- Apache License 2.0
- Primary language
- Python
- Install surface
- PyPI via pip, Homebrew on macOS, or installation from source
- Interface
- Command-line program, also runnable as a Python module
- Python support
- README documents Python 3.9 or newer
- Platform notes
- Windows path handling is implemented; Ghostscript PDF compression is limited to Linux and macOS
- Testing structure
- Repository includes a parameterized unittest module under arxiv_latex_cleaner/tests
Read from README.md, setup.py, requirements.txt, __init__.py, arxiv_latex_cleaner/__init__.py, arxiv_latex_cleaner/__main__.py, arxiv_latex_cleaner/_version.py, arxiv_latex_cleaner/arxiv_latex_cleaner.py, arxiv_latex_cleaner/tests/arxiv_latex_cleaner_test.py, LICENSE, MANIFEST.in, CONTRIBUTING.md, cleaner_config.yaml, test_data/tex/main.bbl.
What it can do
Strip comments from LaTeX files
LaTeX files with comments → Clean LaTeX files without comments
Remove unused files from LaTeX project
LaTeX project directory with potentially unused files → LaTeX project with only necessary files
Embed figures into LaTeX project
LaTeX files with external figure references → LaTeX project with embedded figures
Clean LaTeX code for arXiv submission
Raw LaTeX manuscript files → arXiv-ready cleaned LaTeX files
Prepare LaTeX project for publication
Complete LaTeX project directory → Sanitized LaTeX project ready for submission
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.