No description
  • Shell 66%
  • Python 16.2%
  • TeX 7.3%
  • Jinja 5.9%
  • Makefile 4.6%
Find a file Use this template
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Agent 72b772595b
refactor(template): adopt Copier _subdirectory layout
Move the project scaffold under template/ and set _subdirectory in copier.yml, so the repo root keeps a browsable README describing the template plus copier.yml. Generation output is unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 18:24:44 -04:00
template refactor(template): adopt Copier _subdirectory layout 2026-07-05 18:24:44 -04:00
copier.yml refactor(template): adopt Copier _subdirectory layout 2026-07-05 18:24:44 -04:00
README.md refactor(template): adopt Copier _subdirectory layout 2026-07-05 18:24:44 -04:00

LaTeX Book Template (Copier)

A Copier template for a LaTeX book/document, wired for Git LFS (with file locking), LF line endings, lowercase-extension enforcement, latexindent formatting, chktex linting, ruff + mypy + codespell on the tooling and prose, and a latexmk build on push. The project scaffold lives in template/.

Generate a project

pipx install copier          # or: pip install --user copier
copier copy gh:<owner>/latex-template my-book

Copier asks for the project name, author, and description, then writes the project into my-book/. Finish setup there:

cd my-book
git init -b main
./setup.sh                   # checks tools, enables LFS + pre-commit hooks

Update an existing project

Template improvements can be pulled into an already-generated project. From the project root:

copier update

This works because generation records your answers in .copier-answers.yml.

Layout

copier.yml   the questionnaire and Copier settings
template/    the project scaffold copied on generation

Files under template/ ending in .jinja are rendered (the suffix is stripped); everything else is copied verbatim. Because LaTeX uses {{ }} itself, this template renders Jinja with << >> delimiters instead -- see copier.yml.