tartex


Nametartex JSON
Version 0.5.0 PyPI version JSON
download
home_pageNone
SummaryTar all files needed to re-compile your LaTeX project
upload_time2024-03-15 01:56:20
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
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"
}
        
Elapsed time: 0.19679s