Skip to main content

Robust arXiv LaTeX cleaner with DPI-based image rescaling.

Project description

arxivit 🧹

image

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.8.0.tar.gz (22.5 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.8.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: arxivit-0.8.0.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arxivit-0.8.0.tar.gz
Algorithm Hash digest
SHA256 fd6ee650f894c7faf462a62f0b117c0b0b18c1578f196d16be3b6928c4c90b9d
MD5 77339173b794c85c15dd6f51c0f24e82
BLAKE2b-256 d91de72a05a895d2107e1924be0c97f9a2fe65a6cf6f4adcd4319e59e0e98db2

See more details on using hashes here.

Provenance

The following attestation bundles were made for arxivit-0.8.0.tar.gz:

Publisher: python-publish.yml on kabouzeid/arxivit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: arxivit-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arxivit-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1fa1d8cba2d09b51698640c5d99ce4f453199c76f0a34b9b275a5452040d6770
MD5 577b5fa4f3e29fa5bc5e3c0fe07e9ed9
BLAKE2b-256 e38f22d675d8ddf9c39fcd138eee3903d4f669d08ceb95706637e881a7831854

See more details on using hashes here.

Provenance

The following attestation bundles were made for arxivit-0.8.0-py3-none-any.whl:

Publisher: python-publish.yml on kabouzeid/arxivit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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