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:
- 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.
- 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
latexmkto compile the LaTeX source code. - It analyzes the compilation log to determine which
.texfiles 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
latexpandto strip comments from.texfiles.
Related Projects
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arxivit-0.7.1.tar.gz.
File metadata
- Download URL: arxivit-0.7.1.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25566ec799b9823aaa86d0387c106893a42f97685505657282e425fc557f73bc
|
|
| MD5 |
aa358fc550c2f3f9ecb05c12013c4213
|
|
| BLAKE2b-256 |
d738b3979397603e8e94f139ed498a49cbcc08177d5a5e753b4b2a53ad4a1654
|
Provenance
The following attestation bundles were made for arxivit-0.7.1.tar.gz:
Publisher:
python-publish.yml on kabouzeid/arxivit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arxivit-0.7.1.tar.gz -
Subject digest:
25566ec799b9823aaa86d0387c106893a42f97685505657282e425fc557f73bc - Sigstore transparency entry: 232995350
- Sigstore integration time:
-
Permalink:
kabouzeid/arxivit@4da4c84db515413ed5782ba5c18738a35dd9c928 -
Branch / Tag:
refs/tags/v0.7.1 - Owner: https://github.com/kabouzeid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@4da4c84db515413ed5782ba5c18738a35dd9c928 -
Trigger Event:
release
-
Statement type:
File details
Details for the file arxivit-0.7.1-py3-none-any.whl.
File metadata
- Download URL: arxivit-0.7.1-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26664c5a0f1dc42ca1cdff54177e28060ef076d8ef70e93f126c14ce58a3d2a9
|
|
| MD5 |
88ab68a7eb39a0e91ff4bcd3b944421e
|
|
| BLAKE2b-256 |
7225a86e153497bdd6a684d1296102e0bd001ce9bfbb0d5b54d8f8b6fc67c799
|
Provenance
The following attestation bundles were made for arxivit-0.7.1-py3-none-any.whl:
Publisher:
python-publish.yml on kabouzeid/arxivit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arxivit-0.7.1-py3-none-any.whl -
Subject digest:
26664c5a0f1dc42ca1cdff54177e28060ef076d8ef70e93f126c14ce58a3d2a9 - Sigstore transparency entry: 232995386
- Sigstore integration time:
-
Permalink:
kabouzeid/arxivit@4da4c84db515413ed5782ba5c18738a35dd9c928 -
Branch / Tag:
refs/tags/v0.7.1 - Owner: https://github.com/kabouzeid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@4da4c84db515413ed5782ba5c18738a35dd9c928 -
Trigger Event:
release
-
Statement type: