Name | tartex JSON |
Version |
0.5.0
JSON |
| download |
home_page | None |
Summary | Tar all files needed to re-compile your LaTeX project |
upload_time | 2024-03-15 01:56:20 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
keywords |
latex
latexmk
tar
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# tartex
[![PyPI - Version](https://img.shields.io/pypi/v/tartex.svg)](https://pypi.org/project/tartex)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/tartex.svg)](https://pypi.org/project/tartex)
[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
-----
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](#features)
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)
- [Similar utilities](#similar-utilities)
## 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.
```console
pipx install tartex
```
### From GitHub sources:
Compile using [hatch](https://hatch.pypa.io/latest/) to generate a wheel,
which may be then installed using `pipx` as follows:
```console
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.
```console
usage: tartex [OPTIONS] FILENAME
Build a tarball including all source files needed to compile your LaTeX project
(version 0.5.0).
positional arguments:
FILENAME input file name (with .tex or .fls 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:
```console
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](https://spdx.org/licenses/MIT.html) license.
## Similar utilities
* [bundledoc](https://ctan.org/tex-archive/support/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.
Raw data
{
"_id": null,
"home_page": null,
"name": "tartex",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "LaTeX,latexmk,tar",
"author": null,
"author_email": "Atri Bhattacharya <atrib@duck.com>",
"download_url": "https://files.pythonhosted.org/packages/35/a0/290dd92d5e48ec8c8455e65e22c86e438a4600bc15fc3553adf78bfe4b64/tartex-0.5.0.tar.gz",
"platform": null,
"description": "# tartex\n\n[![PyPI - Version](https://img.shields.io/pypi/v/tartex.svg)](https://pypi.org/project/tartex)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/tartex.svg)](https://pypi.org/project/tartex)\n[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)\n\n-----\n\nTarTeX is a command-line utility to generate a tarball including all required\n\u2014 but no more! \u2014 (non-system) source files to (re)compile your LaTeX project\nelsewhere.\n\n**Table of Contents**\n\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [License](#license)\n- [Similar utilities](#similar-utilities)\n\n## Features\n\n* Defaults to including the least number of files needed to recompile your LaTeX project in the output tar file.\n* Creates tarballs compatible with arXiv (and most journal) requirements.\n* Automatically determines pdf or ps processing based on source dir contents.\n* Supports different compression methods for output tarball.\n* Does not modify or create files inside source directory itself.\n* Preserves directory structure in generated tarball, i.e. no flattening.\n* Handy options to allow edge cases.\n* Native TAB-completion for common interactive shells: bash, fish, and zsh (help welcome for others).\n\n## Installation\n\n__Note__: Unless you provide a prepared \".fls\" file as `FILENAME` input, you\nmust have `latexmk` and `pdflatex`, as well as a full LaTeX env installed to\nallow compilation of your LaTeX project. `tartex` does not include any\nsystem-wide files, such as standard TeX style files, classes, etc. in the tar\nfile.\n\n### Using pipx\n\nThis is the easy way to install tagged releases.\n\n```console\npipx install tartex\n```\n\n### From GitHub sources:\n\nCompile using [hatch](https://hatch.pypa.io/latest/) to generate a wheel,\nwhich may be then installed using `pipx` as follows:\n\n```console\ngit clone https://github.com/badshah400/tartex.git\ncd tartex\nhatch build\npipx install ./dist/*.whl\n```\n\n## Usage\n\nSupported OS: Potentially any POSIX-like, tested _only_ on Linux.\n\n```console\nusage: tartex [OPTIONS] FILENAME\n\nBuild a tarball including all source files needed to compile your LaTeX project\n(version 0.5.0).\n\npositional arguments:\n FILENAME input file name (with .tex or .fls suffix)\n\noptions:\n -h, --help show this help message and exit\n -V, --version print tartex version and exit\n -a, --add=PATTERNS include additional files matching glob-style\n PATTERN; separate multiple PATTERNS using commas\n -b, --bib find and add bib file to tarball\n -l, --list print list of files to include and quit\n -o, --output=NAME[.SUF] output tar file name; tar compression mode will be\n inferred from .SUF, if possible (default 'gz')\n -p, --packages add names of used (La)TeX packages as a json file\n -s, --summary print a summary at the end\n -v, --verbose increase verbosity (-v, -vv, etc.)\n -x, --excl=PATTERNS exclude file names matching PATTERNS\n -j, --bzip2 recompress with bzip2 (.bz2) (overrides .SUF in\n '-o')\n -J, --xz recompress with lzma (.xz) (overrides .SUF in '-o')\n -z, --gzip recompress with gzip (.gz) (overrides .SUF in '-o')\n\nOptions for latexmk processing:\n --latexmk-tex=TEXMODE force TeX processing mode used by latexmk; TEXMODE\n must be one of: dvi, lualatex, luatex, pdf, pdflua,\n ps, xdv, xelatex\n -F, --force-recompile force recompilation even if .fls exists\n\nShell completion options:\n --completion print shell completion guides for tartex\n --bash-completions install bash completions for tartex\n --fish-completions install fish completions for tartex\n --zsh-completions install zsh completions for tartex\n```\n\n__Note__: If the source dir of your LaTeX project already contains the `.fls`\nfile previously generated by, say `latex -record` or `latexmk`, then `tartex`\nwill directly use that file to determine which input files to include in the\ntarball. Otherwise, `tartex` will recompile your project using `latexmk` in a\ntemp dir and use the `.fls` file generated there. To be precise, recompilation\nwill invoke:\n\n```console\nlatexmk -f -<texmode> -cd -outdir=<tmpdir> -interaction=nonstopmode filename\n```\n\n`texmode` is one of `pdf` or `ps` by default, as detemined from the contents of\nthe source dir. It may be overridden by the `--latexmk-tex` option.\n\n\n## License\n\n`tartex` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.\n\n## Similar utilities\n\n* [bundledoc](https://ctan.org/tex-archive/support/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.\n",
"bugtrack_url": null,
"license": null,
"summary": "Tar all files needed to re-compile your LaTeX project",
"version": "0.5.0",
"project_urls": {
"Documentation": "https://github.com/badshah400/tartex#readme",
"Issues": "https://github.com/badshah400/tartex/issues",
"Source": "https://github.com/badshah400/tartex"
},
"split_keywords": [
"latex",
"latexmk",
"tar"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c9321433ec33e8fbcfb2a7e11722742f8800b4b658c749339ef4a79216f4e213",
"md5": "e80a4076728cd0c74b8e493f700543ad",
"sha256": "d6886b992c7aaa19f649b0cb359d87e319065db2b966be4d4ce176a3dfef3e2e"
},
"downloads": -1,
"filename": "tartex-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e80a4076728cd0c74b8e493f700543ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 19366,
"upload_time": "2024-03-15T01:56:23",
"upload_time_iso_8601": "2024-03-15T01:56:23.308238Z",
"url": "https://files.pythonhosted.org/packages/c9/32/1433ec33e8fbcfb2a7e11722742f8800b4b658c749339ef4a79216f4e213/tartex-0.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "35a0290dd92d5e48ec8c8455e65e22c86e438a4600bc15fc3553adf78bfe4b64",
"md5": "7856d7268db4cabd2b9a16f38441728e",
"sha256": "54dd8c3011958eaf821873158fb06f07ae38c8c4a0477958ed73665672447f5f"
},
"downloads": -1,
"filename": "tartex-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "7856d7268db4cabd2b9a16f38441728e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 143587,
"upload_time": "2024-03-15T01:56:20",
"upload_time_iso_8601": "2024-03-15T01:56:20.889946Z",
"url": "https://files.pythonhosted.org/packages/35/a0/290dd92d5e48ec8c8455e65e22c86e438a4600bc15fc3553adf78bfe4b64/tartex-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-15 01:56:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "badshah400",
"github_project": "tartex#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tartex"
}