Project
Migrate from tex-thesis
What changed when the tex-thesis template became Overfull, and how to move an existing thesis to the new thesis template or add Overfull checks to it.
Overfull is the new name of the tex-thesis repository. The thesis template is
still here, with the same LuaLaTeX, biblatex, pgfplots and Docker foundations.
Around it there is now a CLI that checks the build, references, accessibility
and venue rules, plus templates for papers and slides and instructions for AI
agents.
If your thesis builds today, nothing forces you to move. Your fork or copy keeps working. Releases up to v2.4.1 stay available, and Overfull continues the version line at v3.0.0.
Old links: GitHub redirects github.com/amet13/tex-thesis (the repository,
clones and issues) to github.com/amet13/overfull. The old GitHub Pages
address under /tex-thesis/ does not redirect; the site now lives at
https://amet13.github.io/overfull/.
What changed
| tex-thesis | Overfull |
|---|---|
One repository: thesis plus slides/ |
Separate thesis, paper and slides templates, created with overfull init |
preamble.tex holds packages, styling and PDF metadata |
main.tex holds the preamble; title, authors and PDF metadata are in metadata.tex |
images/ |
figures/, with plot data in figures/data/ |
| No PDF tagging | \DocumentMetadata{… tagging=on}: tagged, accessible PDF by default |
make check = chktex + latexindent check |
make check = overfull check (build, output, references, accessibility, venue) |
| No reference checking | Every cited entry is looked up in CrossRef, doi.org, arXiv, DBLP (and OpenAlex with OPENALEX_API_KEY) |
| GPLv3 code, CC BY-SA content | Templates are MIT-0, so your thesis carries no licence obligations |
| (none) | overfull.yml project configuration |
| (none) | AGENTS.md, CLAUDE.md and skills for AI agents |
| (none) | notes/ for your own notes |
Option 1: add checks to your existing thesis
The quickest path. Keep your files and add Overfull on top.
-
Build as usual with
make build. The PDF isthesis.pdf. -
Create
overfull.ymlat the root:main: main.tex jobname: thesis bib: [references.bib] profile: thesis checks: [build, output, references, accessibility, venue] -
Run the checks:
overfull checkOr with Docker only:
docker run --rm -v "$PWD":/work -w /work ghcr.io/amet13/overfull:3 overfull check
The accessibility check will fail, because the old template does not tag the
PDF. That is expected. Option 2 fixes it, or you can add \DocumentMetadata to
your main.tex yourself (see Accessibility).
Option 2: move to the new thesis template
-
Create the new project next to the old one:
overfull init thesis my-thesis -
Copy your content:
chapters/*.texintomy-thesis/chapters/, and update the\inputlines inmain.tex;images/*intomy-thesis/figures/, and update\includegraphicspaths;references.bibas is.
-
Move title, author, supervisor and keywords into
metadata.tex. -
Compare your
preamble.texwith the newmain.tex. Carry over only what your university requires (font size, spacing, margins, heading styles). The old defaults were Times New Roman, 14pt and 1.5 line spacing. -
Add alt text to every
\includegraphicsand plot. See Accessibility. -
Build and check:
cd my-thesis make build make check -
Fix what the report shows. Packages you added yourself may need updates to work with tagging.
-
Slides: create them separately with
overfull init slides my-slides.
Linting and formatting
If you relied on chktex, latexindent and pre-commit, copy .chktexrc,
.latexindent.yaml and .pre-commit-config.yaml into the new project. They
work alongside Overfull.
Questions
Open an issue on the repository if something from the old template has no obvious place in the new one.