CLI for creating standalone LaTeX projects from this toolbox.
Project description
LaTeX Toolbox
Skip the setup. Start writing. Everything you need, nothing more.
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
- Open the generated folder in VS Code.
- Fill in
frontmatter/metadata.tex— title, authors, course name, university logo. - Save the main
.texfile to trigger compilation (requires LaTeX Workshop). - 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78f9a1b0d076208cdcc601e459bf8fb009d008aa62a587a19ec89d21676df3d7
|
|
| MD5 |
f7764d763a7dcae0480f6445b191c539
|
|
| BLAKE2b-256 |
1141883ab8a3234c7c3345f68b2b41741a68d180d8d95a6e901f71ca9ea6751d
|
Provenance
The following attestation bundles were made for latex_toolbox-0.2.0.tar.gz:
Publisher:
publish.yml on thmsgo18/latex-toolbox
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
latex_toolbox-0.2.0.tar.gz -
Subject digest:
78f9a1b0d076208cdcc601e459bf8fb009d008aa62a587a19ec89d21676df3d7 - Sigstore transparency entry: 1698154821
- Sigstore integration time:
-
Permalink:
thmsgo18/latex-toolbox@0a491be2eb5fd9a7fd64a8b6c206c9a8e24db607 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/thmsgo18
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0a491be2eb5fd9a7fd64a8b6c206c9a8e24db607 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8e9f09826dee1c99faf0684e67f5acd939af047c8c09db4a4e89b8320984a61
|
|
| MD5 |
95e0f9b63c6490e31dda41683596560f
|
|
| BLAKE2b-256 |
e5efc66716ea03f25ceddb2c1840748d1d11f386e6b982c79263d6fafbceee6a
|
Provenance
The following attestation bundles were made for latex_toolbox-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on thmsgo18/latex-toolbox
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
latex_toolbox-0.2.0-py3-none-any.whl -
Subject digest:
a8e9f09826dee1c99faf0684e67f5acd939af047c8c09db4a4e89b8320984a61 - Sigstore transparency entry: 1698154893
- Sigstore integration time:
-
Permalink:
thmsgo18/latex-toolbox@0a491be2eb5fd9a7fd64a8b6c206c9a8e24db607 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/thmsgo18
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0a491be2eb5fd9a7fd64a8b6c206c9a8e24db607 -
Trigger Event:
push
-
Statement type: