Tar all files needed to re-compile your LaTeX project
Project description
tartex
TarTeX is a command-line utility to generate a tarball including all required — but no more! — (non-system) source files to (re)compile your LaTeX project elsewhere.
Table of Contents
Features
- Defaults to including the least number of files needed to recompile your LaTeX project in the output tar file.
- Creates tarballs compatible with arXiv (and most journal) requirements.
- Automatically determines pdf or ps processing based on source dir contents.
- Supports different compression methods for output tarball.
- Does not modify or create files inside source directory itself.
- Preserves directory structure in generated tarball, i.e. no flattening.
- Handy options to allow edge cases.
- Native TAB-completion for common interactive shells: bash, fish, and zsh (help welcome for others).
Installation
Note: Unless you provide a prepared ".fls" file as FILENAME input, you
must have latexmk and pdflatex, as well as a full LaTeX env installed to
allow compilation of your LaTeX project. tartex does not include any
system-wide files, such as standard TeX style files, classes, etc. in the tar
file.
Using pipx
This is the easy way to install tagged releases.
pipx install tartex
From GitHub sources:
Compile using hatch to generate a wheel,
which may be then installed using pipx as follows:
git clone https://github.com/badshah400/tartex.git
cd tartex
hatch build
pipx install ./dist/*.whl
Usage
Supported OS: Potentially any POSIX-like, tested only on Linux.
usage: tartex [OPTIONS] FILENAME
Build a tarball including all source files needed to compile your LaTeX project
(version 0.6.0).
positional arguments:
FILENAME input file name [.tex|.fls] (with or without suffix)
options:
-h, --help show this help message and exit
-V, --version print tartex version and exit
-a, --add=PATTERNS include additional files matching glob-style
PATTERN; separate multiple PATTERNS using commas
-b, --bib find and add bib file to tarball
-l, --list print list of files to include and quit
-o, --output=NAME[.SUF] output tar file name; tar compression mode will be
inferred from .SUF, if possible (default 'gz')
-p, --packages add names of used (La)TeX packages as a json file
-s, --summary print a summary at the end
-v, --verbose increase verbosity (-v, -vv, etc.)
-x, --excl=PATTERNS exclude file names matching PATTERNS
-j, --bzip2 recompress with bzip2 (.bz2) (overrides .SUF in
'-o')
-J, --xz recompress with lzma (.xz) (overrides .SUF in '-o')
-z, --gzip recompress with gzip (.gz) (overrides .SUF in '-o')
Options for latexmk processing:
--latexmk-tex=TEXMODE force TeX processing mode used by latexmk; TEXMODE
must be one of: dvi, lualatex, luatex, pdf, pdflua,
ps, xdv, xelatex
-F, --force-recompile force recompilation even if .fls exists
Shell completion options:
--completion print shell completion guides for tartex
--bash-completions install bash completions for tartex
--fish-completions install fish completions for tartex
--zsh-completions install zsh completions for tartex
Note: If the source dir of your LaTeX project already contains the .fls
file previously generated by, say latex -record or latexmk, then tartex
will directly use that file to determine which input files to include in the
tarball. Otherwise, tartex will recompile your project using latexmk in a
temp dir and use the .fls file generated there. To be precise, recompilation
will invoke:
latexmk -f -<texmode> -cd -outdir=<tmpdir> -interaction=nonstopmode filename
texmode is one of pdf or ps by default, as detemined from the contents of
the source dir. It may be overridden by the --latexmk-tex option.
License
tartex is distributed under the terms of the MIT license.
Similar utilities
- bundledoc is a post-processor for the
snapshotpackage that bundles together all the classes, packages and files needed to build a given LaTeX document.
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 tartex-0.6.0.tar.gz.
File metadata
- Download URL: tartex-0.6.0.tar.gz
- Upload date:
- Size: 143.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d4158742cb02def0b5fe25906207a6b505882d1ed34e3bed96ab0ccacbb77ef
|
|
| MD5 |
e3dfd11e21434b58d845f97b86269f47
|
|
| BLAKE2b-256 |
21e44cf7b364d6556d4175ed43134c02a8ffb8b3888c32a3a1810c88a05f7c3e
|
File details
Details for the file tartex-0.6.0-py3-none-any.whl.
File metadata
- Download URL: tartex-0.6.0-py3-none-any.whl
- Upload date:
- Size: 19.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
186bbe77af204fc2087bdb0087e680da2ebe01d462cd537ffb3d671e2eedf6b6
|
|
| MD5 |
4229e62082d6f2c15fda25ad74b5df4c
|
|
| BLAKE2b-256 |
ecd8d5f744f10c7a0e5c4e587b181e08f8cf1bb82719cc6cf78b0a09460bc856
|