Skip to main content

CLI for creating standalone LaTeX projects from this toolbox.

Project description

LaTeX Forge

LaTeX Forge

Create professional documents. Save. Your PDF appears instantly.

PyPI version CI Python versions License MIT

Lire en français


One command creates a ready-to-write document project. Open it in VS Code, start writing, save — your PDF rebuilds and appears in a side panel automatically. No manual compilation, no window switching.

Works for humans and AI agents alike. Every generated project includes an AGENTS.md that briefs any AI assistant on the document structure, so it can contribute immediately.

How it feels

LaTeX Forge live preview in VS Code

Write on one side. See your document on the other. Every save refreshes the result.

Quick start

# 1 — install
pipx install latex-forge

# 2 — set up your environment (LaTeX + VS Code extensions)
latex-forge setup

# 3 — create a project
latex-forge create --name my-report --template project-report-en

# 4 — open and start writing
code my-report

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

Installation

pipx install latex-forge

First setup

On a fresh machine, run the setup command to verify your environment and install what's missing:

latex-forge setup

This checks for latexmk and lualatex, and offers to install them automatically (brew on macOS, apt on Debian/Ubuntu, winget on Windows). VS Code extensions are installed too if the code CLI is available.

Shell completion

Tab completion for commands, flags, and template names:

bash (~/.bashrc) or zsh (~/.zshrc):

eval "$(latex-forge completion)"

Configuration

# ~/.latex-forge.toml
default_template = "project-report-en"
default_output_dir = "~/Documents/projects"
Key Description
default_template Template used when --template is omitted
default_output_dir Output directory used when --output is omitted

Usage

Interactive mode

$ latex-forge create

Project name: my-report
Available templates:
  1. cv-en
  2. cv-fr
  3. project-report-en
  4. project-report-fr
  5. research
Choose a template [1-5]: 3
Create project in [/Users/alice/Desktop]:

Project created: /Users/alice/Desktop/my-report
Open project in VS Code? [y/N]

With flags

latex-forge create --name my-report --template project-report-en
latex-forge create --name my-paper --template research --output ~/Desktop

Rename a project

latex-forge rename old-name new-name   # from parent directory
latex-forge rename new-name            # from inside the project

Built-in templates

Template Language Description
project-report-en English ISO/IEEE project report — requirements, architecture, testing, bibliography
project-report-fr French AFNOR/ISO project report — cahier des charges, architecture, tests, bibliographie
research English Two-column research article — related work, methodology, experiments, bibliography
cv-en English CV / résumé — education, experience, projects, skills
cv-fr French CV — formation, expérience, projets, compétences
latex-forge list-templates

Template gallery

More document types are available in the latex-forge-gallery: CVs, theses, articles, presentations, posters, and more.

# install any template directly by URL
latex-forge template install https://github.com/thmsgo18/latex-forge-gallery/tree/main/templates/thesis/clean-thesis

# create a project from it
latex-forge create --template clean-thesis --name my-thesis

# manage installed templates
latex-forge template list
latex-forge template remove clean-thesis

Filling in your project

Open frontmatter/metadata.tex to set the title, authors, and course:

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

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

\resetteachers
\addteacher{Dr Example}{}

Save the main .tex file — the PDF rebuilds instantly in VS Code.

Generated project structure

my-project/
├── my-project.tex            ← main file (renamed from the project name)
├── frontmatter/
│   ├── metadata.tex          ← title, authors, course — start here
│   └── toc.tex
├── sections/                 ← one .tex file per section
├── backmatter/               ← acknowledgements, appendices
├── bibliography/
│   └── references.bib
├── figures/
├── images/
├── assets/logos/
├── styles/packages/          ← embedded styles, no external dependency
├── .vscode/                  ← pre-configured for live PDF preview
├── AGENTS.md                 ← AI briefing for this document
└── .gitignore

The project is fully self-contained: styles and assets are copied in at creation time. It compiles, shares, and versions independently — no dependency on this repository.

AI-friendly by design

Every generated project includes AGENTS.md — a self-contained briefing that tells any AI assistant exactly what the project contains, how to compile it, how to add content, and what not to touch. An AI can open a project cold and contribute correctly without any extra context.

Command reference

Command Description
latex-forge create Create a project (interactive)
latex-forge create --name NAME --template TEMPLATE Create with explicit arguments
latex-forge create --output DIR Set output directory
latex-forge rename OLD NEW Rename from parent directory
latex-forge rename NEW Rename from inside project
latex-forge list-templates List available templates
latex-forge setup Check and set up the environment
latex-forge setup --check-only Check without installing
latex-forge setup --install-tex Install LaTeX
latex-forge template install URL Install a template
latex-forge template list List all templates
latex-forge template remove NAME Remove an installed template
latex-forge completion Print shell completion code
latex-forge --version Show version

Versioning

Each project is self-contained — version it independently:

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

Contributing

See CONTRIBUTING.md.


Made by thmsgo18

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_forge-0.2.5.tar.gz (215.6 kB view details)

Uploaded Source

Built Distribution

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

latex_forge-0.2.5-py3-none-any.whl (233.5 kB view details)

Uploaded Python 3

File details

Details for the file latex_forge-0.2.5.tar.gz.

File metadata

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

File hashes

Hashes for latex_forge-0.2.5.tar.gz
Algorithm Hash digest
SHA256 ffd6bea2b80f4d4964f6e9e9ca35c023b98e0c1b36f8eccd58297add9c65aaf2
MD5 fb06da4ec595e8d27b6add2a9e24b30e
BLAKE2b-256 d86eb192c485004cbc03371b861f336a71ed7ede40d2cd99cd8bb32b4c6ae728

See more details on using hashes here.

Provenance

The following attestation bundles were made for latex_forge-0.2.5.tar.gz:

Publisher: publish.yml on thmsgo18/latex-forge

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_forge-0.2.5-py3-none-any.whl.

File metadata

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

File hashes

Hashes for latex_forge-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f73762361202124e1045b27f2f0ca3d74346e107c757355e9c5d0942a3b72b9a
MD5 294d618b3cc1d7f6b427bf0fa5bdf33d
BLAKE2b-256 e3e7e31ac57302c4ee76d2a5187abc056a4b2b0eb68e7e174937a721abb41f23

See more details on using hashes here.

Provenance

The following attestation bundles were made for latex_forge-0.2.5-py3-none-any.whl:

Publisher: publish.yml on thmsgo18/latex-forge

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