Loading repository data…
Loading repository data…
Amet13 / repository
A universal, modern LaTeX thesis template for bachelor's, master's, or PhD theses
View Thesis PDF • View Slides PDF
Writing a thesis is hard enough without fighting LaTeX errors. This template provides a production-ready, modern LaTeX environment out of the box. It uses a current package stack (LuaLaTeX, biblatex, pgfplots, cleveref) and comes with a fully configured Docker build system and VS Code Dev Container.
You don't need to install a 4GB TeX Live distribution on your machine. Just open the project, write your content, and let the automation handle the rest.
LuaLaTeX for native UTF-8 support, system fonts, and advanced microtypography (microtype).pgfplots and programmatic diagrams with TikZ.biblatex/biber and intelligent cross-referencing with cleveref.chktex linting, latexindent formatting, and pre-commit hooks to keep your LaTeX source clean.| Feature | tex-thesis | Overleaf | Local TeX Live | Word / Docs |
|---|---|---|---|---|
| Zero-install setup | Docker | Browser | 4GB download | Browser |
| CI/CD pipeline | GitHub Actions | -- | -- | -- |
| Linting & formatting | chktex + latexindent | -- | Manual | Spell check |
| Reproducible Docker build | Multi-stage | -- | -- | -- |
| Version control friendly | Plain text | Limited | Plain text | Binary |
| Defense slides included | Beamer | Separate | Separate | Separate |
| Free and open source | GPLv3 | Freemium | Free | Freemium |
| Offline capable | Yes | No | Yes | No |
You can use this template instantly in your browser/editor, or locally with Docker.
The easiest way to get started without installing LaTeX locally:
main.tex and save it — the PDF will build automatically!If you prefer using the terminal:
# 1. Clone the repository
git clone https://github.com/Amet13/tex-thesis.git
cd tex-thesis/
# 2. Build the PDFs (thesis.pdf and slides/slides.pdf)
make build
# 3. Watch for changes and rebuild automatically
make watch
Available Commands:
make build — Build thesis and slides.make build-thesis — Build thesis only.make build-slides — Build slides only.make watch / make watch-thesis — Rebuild thesis on file changes.make watch-slides — Rebuild slides on file changes.make lint — Run chktex linter.make fmt — Format .tex files with latexindent.make fmt-check — Check formatting without changing files.make check — Run all quality checks (lint + format check).make clean — Remove generated PDFs and auxiliary files.| Component | Supported / Recommended |
|---|---|
| Build mode | Docker (recommended), Dev Container |
| TeX engine | LuaLaTeX (latexmk + biber) |
| OS | macOS, Linux, Windows (via Docker/WSL) |
| Editor | VS Code + LaTeX Workshop |
| Symptom | Action |
|---|---|
| Build fails with missing package/font | Run make build (Docker build includes required dependencies) |
| Lint fails only locally | Run make lint in Dev Container or rely on Docker fallback |
| Formatting differs between contributors | Run make fmt and commit changes |
| CI fails but local succeeds | Check pinned dependency updates in Dependabot PRs and rerun |
tex-thesis/
├── main.tex # Main thesis document (includes chapters)
├── preamble.tex # LaTeX packages, fonts, and styling config
├── references.bib # Bibliography database (BibTeX)
├── chapters/ # Thesis content (Introduction, Literature, etc.)
├── images/ # Figures and diagrams
├── slides/ # Beamer presentation for defense
│ ├── main.tex # Main slides document
│ └── slides.tex # Slides content
├── Makefile # Build automation commands
└── .devcontainer/ # VS Code container configuration
preamble.tex to adjust formatting (margins, fonts, spacing) and PDF metadata..tex files in the chapters/ directory with your own content.references.bib with your bibliography entries.slides/main.tex (author, title) and slides/slides.tex (content) for your defense.The template includes working examples of almost every LaTeX feature you might need. Look for the % === EXAMPLE: ... === comments in the source code!
pgfplots).booktabs), decimal alignment (siunitx), and multi-row cells.listings, xcolor).subcaption), and custom image insertion commands.Contributions are welcome! Whether it's a new TikZ example, a bug fix, or a documentation improvement.
make pre-commit and make lint to ensure code quality.See CONTRIBUTING.md for detailed guidelines.
This template follows semantic versioning for tagged releases.
This project uses dual licensing:
.tex, .bib, .sty files, images, slidesSee LICENSE for details. Your own thesis content is yours.