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 (non-system) source files needed to compile your LaTeX project.
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.
- Preserves directory structure in generated tarball, i.e. no flattening.
- Handy options to allow edge cases.
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 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.
sage: tartex [options] filename
Build a tarball including all source files needed to compile your LaTeX project (version 0.2.0).
positional arguments:
filename Input file name (with .tex or .fls suffix)
options:
-h, --help show this help message and exit
-a ADD, --add ADD Comma separated list of additional files (wildcards allowed!) to include (loc relative to main TeX file)
-b, --bib find and add bib file to tarball
-l, --list Print a list of files to include and quit (no tarball generated)
-o OUTPUT, --output OUTPUT
Name of output tar file (suffix can determine tar compression)
-s, --summary Print a summary at the end
-v, --verbose Print file names added to tarball
-x EXCL, --excl EXCL Comma separated list of files (wildcards allowed!) to exclude (loc relative to main TeX file)
-j, --bzip2 bzip2 (.tar.bz2) compression (overrides OUTPUT ext if needed)
-J, --xz lzma (.tar.xz) compression (overrides OUTPUT ext if needed)
-z, --gzip gzip (.tar.gz) compression (overrides OUTPUT ext if needed)
-V, --version Print tartex version
Options for latexmk processing:
--latexmk_tex {dvi,luatex,lualatex,pdf,pdflua,ps,xdv,xelatex}
Force TeX processing mode used by latexmk
-F, --force_recompile
Force recompilation even if .fls exists
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
snapshot
package 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.