Skip to main content

CLI for creating standalone LaTeX projects from this toolbox.

Project description

LaTeX Toolbox

LaTeX Toolbox

Skip the setup. Start writing. Everything you need, nothing more.

PyPI version CI Python versions License MIT

Lire en français


LaTeX Toolbox is a command-line tool that generates ready-to-compile, standalone LaTeX projects from templates. Each generated project embeds its own styles and assets — it can be compiled, shared, and versioned independently, with no dependency on this repository.

Installation

pipx install latex-toolbox

Requires Python 3.10+. If pipx is not installed: brew install pipx on macOS, or see pipx.pypa.io.

First setup

On a fresh machine, run the setup command to check your environment and install LaTeX automatically:

latex-toolbox setup

This verifies that latexmk and lualatex are available, and offers to install them via your system package manager (brew on macOS, apt on Debian/Ubuntu, winget on Windows). VS Code extensions are also installed if the code CLI is available.

Usage

Interactive mode

Run create with no arguments to be guided step by step:

$ latex-toolbox create

Project name: my-report
Available templates:
  1. rapport-projet-en
  2. rapport-projet-fr
  3. rapport-ter
  4. research
Choose a template [1-4]: 1
Create project in [/Users/thomas/Desktop]:

Project created: /Users/thomas/Desktop/my-report
Edit: my-report/my-report.tex
Next: fill in frontmatter/metadata.tex then save to compile.
Open project in VS Code? [y/N]

With flags

All arguments are optional — omitted ones are prompted interactively.

# specify everything upfront
latex-toolbox create --name my-report --template rapport-projet-en

# create in a specific directory
latex-toolbox create --name my-paper --template research --output ~/Desktop

Rename a project

# from the parent directory
latex-toolbox rename old-name new-name

# from inside the project directory
latex-toolbox rename new-name

This renames the folder, the main .tex file, and any existing build artifacts.

Available templates

Template Language Description
rapport-projet-en English Project report with cover page, TOC, introduction, conclusion, AI statement
rapport-projet-fr French Same structure as above, in French
rapport-ter English Academic TER report with detailed structure, bibliography, and appendices
research English Research article with two-column layout, abstract, and BibTeX bibliography
latex-toolbox list-templates

After creating a project

  1. Open the generated folder in VS Code.
  2. Fill in frontmatter/metadata.tex — title, authors, course name, university logo.
  3. Save the main .tex file to trigger compilation (requires LaTeX Workshop).
  4. The PDF is built into build/.

Example metadata.tex:

\newcommand{\reporttitle}{Audio Fingerprinting Study}
\newcommand{\coursename}{Machine Learning}

\resetauthors
\addauthor{Alice Martin}{}
\addauthor{Bob Durand}{}

\resetteachers
\addteacher{Dr Example}{}

\resetprojectlinks
\addprojectlink{Repository}{https://github.com/example/project}

Leaving the second argument empty in \addauthor{...}{} or \addteacher{...}{} hides the role label.

Generated project structure

my-project/
├── my-project.tex            ← main file (named after the project)
├── frontmatter/
│   ├── metadata.tex          ← title, authors, course
│   └── toc.tex
├── sections/
├── backmatter/
├── figures/
├── images/
├── screens/
├── assets/
│   ├── images/common/
│   └── logos/
├── styles/packages/          ← embedded styles, no external dependency
├── scripts/                  ← standalone setup scripts
├── .vscode/                  ← LaTeX Workshop settings
└── .gitignore

Styles and logos are copied into the project at creation time. The generated project has no runtime dependency on this repository.

Command reference

Command Description
latex-toolbox create Create a project (interactive)
latex-toolbox create --name NAME --template TEMPLATE Create with explicit arguments
latex-toolbox create --output DIR Set output directory
latex-toolbox rename OLD NEW Rename from parent directory
latex-toolbox rename NEW Rename from inside project directory
latex-toolbox list-templates List available templates
latex-toolbox setup Check and set up the LaTeX environment
latex-toolbox setup --check-only Check without installing anything
latex-toolbox setup --install-tex Install LaTeX directly
latex-toolbox --version Show installed version

Versioning generated projects

Each generated project is self-contained, making it straightforward to version independently:

cd my-project
git init
git add .
git commit -m "Initial report"

Create a dedicated private repository and invite only the collaborators relevant to that document.

Contributing

See CONTRIBUTING.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

latex_toolbox-0.2.0.tar.gz (194.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

latex_toolbox-0.2.0-py3-none-any.whl (206.9 kB view details)

Uploaded Python 3

File details

Details for the file latex_toolbox-0.2.0.tar.gz.

File metadata

  • Download URL: latex_toolbox-0.2.0.tar.gz
  • Upload date:
  • Size: 194.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for latex_toolbox-0.2.0.tar.gz
Algorithm Hash digest
SHA256 78f9a1b0d076208cdcc601e459bf8fb009d008aa62a587a19ec89d21676df3d7
MD5 f7764d763a7dcae0480f6445b191c539
BLAKE2b-256 1141883ab8a3234c7c3345f68b2b41741a68d180d8d95a6e901f71ca9ea6751d

See more details on using hashes here.

Provenance

The following attestation bundles were made for latex_toolbox-0.2.0.tar.gz:

Publisher: publish.yml on thmsgo18/latex-toolbox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file latex_toolbox-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: latex_toolbox-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 206.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for latex_toolbox-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8e9f09826dee1c99faf0684e67f5acd939af047c8c09db4a4e89b8320984a61
MD5 95e0f9b63c6490e31dda41683596560f
BLAKE2b-256 e5efc66716ea03f25ceddb2c1840748d1d11f386e6b982c79263d6fafbceee6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for latex_toolbox-0.2.0-py3-none-any.whl:

Publisher: publish.yml on thmsgo18/latex-toolbox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page