Skip to main content

Robust arXiv LaTeX cleaner with DPI-based image rescaling.

Project description

arxivit 🧹

Robust arXiv LaTeX cleaner with DPI-based image rescaling.

Installation

pip install arxivit

Usage

# Create an uploadable archive: /path/to/paper.arxiv.tar.gz
arxivit /path/to/paper/main.tex

# Convert images to JPEG at max 300 DPI in the final PDF and save to dir /path/to/output
arxivit /path/to/paper/main.tex --image-options 'jpeg,300dpi' --output /path/to/output

# Convert images to max 300 DPI in the final PDF, images in figures/pca/ to max 1000px
arxivit /path/to/paper/main.tex --image-options '300dpi' --image-options 'figures/pca/*:1000px'

For more options, run:

arxivit --help

Q&A

Why Not arxiv-latex-cleaner?

arxiv-latex-cleaner statically analyzes LaTeX source code, which has some limitations:

  1. It does not reliably track dependencies in all scenarios—e.g., when images are included via complex macros that obscure their filenames in the source code.
  2. It only supports fixed-size image rescaling, without considering how large an image appears in the final compiled PDF.

How Does arxivit Work?

arxivit takes a different approach:

  • It uses latexmk to compile the LaTeX source code.
  • It analyzes the compilation log to determine which .tex files and images are included, as well as their sizes in the final PDF.
  • It rescales images to the desired DPI based on their actual dimensions in the final document, ensuring uniform sharpness while minimizing file size.
  • It uses latexpand to strip comments from .tex files.

Related Projects

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arxivit-0.6.0.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arxivit-0.6.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file arxivit-0.6.0.tar.gz.

File metadata

  • Download URL: arxivit-0.6.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.6

File hashes

Hashes for arxivit-0.6.0.tar.gz
Algorithm Hash digest
SHA256 804e9cfe2930eddc6da0b5fd21e7ee4d253511691e3936f5f698638542dbe82d
MD5 3d4127daad26c95087774d0be9db90de
BLAKE2b-256 ad97dd2b310f592093cabad4065b621595e7881d8d84771e0e85fd4b7e53817f

See more details on using hashes here.

File details

Details for the file arxivit-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: arxivit-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.6

File hashes

Hashes for arxivit-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 892982ef39516d3c07497aa0f5de35bc2bc4cbc0cde42701dd717a6eeeb5c5b0
MD5 d5511894a25c86aadc5c16d54cd9c441
BLAKE2b-256 88c704dd19a5bcf4ec485706f9ee71cde55af8e836f421ae7133d5eb25718501

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page