A LaTeX thesis template for TU Dresden following the Corporate Design guidelines. Based on KOMA-Script (scrbook), with custom packages for the title page, heading style, chapter sidebar markers, and TUD color palette. Edit thesis.tex, preamble.tex, minted.tex, and the files under sections/ — template infrastructure in tex-sty/ should stay untouched.
Maintaining the template itself? See
tex-sty/README.md.
- A modern TeX distribution (TeX Live 2022+ or MiKTeX 22+) with the full package set
- LuaLaTeX (recommended) or pdfLaTeX
biberfor bibliographiesminteduses Pygments, so compile with-shell-escape(the includedMakefilealready sets this)
latexmk -lualatex thesisThen edit:
thesis.tex— metadata (title, author, supervisors, date) and chapter inputssections/abstract.tex,sections/introduction.tex,sections/appendix.tex— your contentbibliography.bib— your citations
thesis.tex Main document — edit metadata and chapter inputs here
preamble.tex Package setup — see "What's pre-configured" below
bibliography.bib BibLaTeX database
minted.tex minted code-style defaults
lst.tex listings code-style defaults (legacy alternative)
.latexmkrc latexmk config
Makefile make targets: all, clean, latexdiff, textidote, sources-zip
sections/
abstract.tex
introduction.tex Example chapter with usage examples (rename/replace)
appendix.tex
figures/ Images and graphics (TUD logos in blau/weiss × de/en variants)
tex-sty/ Template infrastructure — see tex-sty/README.md
latexmk -lualatex thesisIf you compile without latexmk, set TEXINPUTS manually:
TEXINPUTS=./tex-sty//: lualatex -shell-escape thesis.texThe Makefile exposes additional targets:
make # build thesis.pdf via latexmk
make clean # remove latex aux files
make cleanall # + remove minted cache, bbl, sources.zip
make latexdiff # build latexdiff.pdf (requires latexdiff.tex)
make textidote # run grammar/style check, output HTML
make sources-zip # pack all used source files into sources.zipSwitch between English and German by changing two lines in thesis.tex:
\documentclass[ngerman, ...]{scrbook}
\usepackage[ngerman]{babel}Affected text: thesis-type label, supervisor/reviewer labels, submission-date label, statutory declaration, abstract heading, research-question title tab.
Set in thesis.tex before \maketitle:
\faculty{<faculty name>}
\institute{<institute name>}
\chair{<chair name>}
\title{<thesis title>}
% \subtitle{<subtitle>}
\thesis{master} % master | bachelor | diploma | phd — also sets accent colors
\graduation[<degree>]{<full degree name>}
\author{<your name>}
\matriculationnumber{<matriculation number>}
\email{<email>}
\supervisor{<name> \and <name>} % multiple supervisors via \and
\professor{<professor name>}
\reviewer{<reviewer name>}
\date{<submission date>}The default style is shapes (variant 5, Dunkelblau background, Brilliantblau shape). Override with \titlestyle before \maketitle.
unicolor — full-page solid color background; text and logo color auto-selected.
\titlestyle{unicolor} % Brilliantblau background (default)
\titlestyle[<bgcolor>]{unicolor} % custom background color
\titlestyle[<textcolor>][<bgcolor>]{unicolor} % custom background + explicit text colorshapes — full-page background with the TUD CD logo-mark shape overlay.
\titlestyle{shapes} % tonal scheme, variant 5 (default)
\titlestyle[<variant>]{shapes} % tonal, custom variant (1–5)
\titlestyle[<variant>][<scheme>]{shapes} % scheme: accent | tonal
\titlestyle[<variant>][<text>][<shape>][<bg>]{shapes} % full custom colors| Scheme | Background | Shape color |
|---|---|---|
tonal (default) |
Dunkelblau |
Brilliantblau |
accent |
white |
Blau2 |
| Variant | Rotation | Scale | Position |
|---|---|---|---|
| 1 | 90° | 4× | upper-left |
| 2 | 90° | 2.75× | near center |
| 3 | 0° | 2× | centered |
| 4 | 0° | 4× | lower-right |
| 5 (default) | 0° | 2.75× | lower-right |
legacy — white background, no shapes, Brilliantblau accent (the pre-CD look).
\titlestyle{legacy}Fine-tune shape placement after \titlestyle:
\titleshapevariant{<1–5>} % apply a numbered preset
\titleshaperotation{<0–7>} % rotation in steps of 45° (e.g. 2 = 90°)
\titleshapescale{<factor>} % scale factor (1 = natural page-width proportional size)
\titleshapeoffset{<x>}{<y>} % X/Y offset from page center (e.g. 10mm, -20mm)Adding a new style or shape variant? See tex-sty/README.md § Extending the template.
\logovariant{de} % switch to German logo (default: auto from babel language)
\logocolor{weiss} % force white logo (default: auto-detected from bg color)
\titlebgcolor{Gruen1} % change background color after \titlestyle
\titleshapecolor{Violett1} % change shape color after \titlestyle
\titletextcolor{black} % override lower-block text color after \titlestyleEach element is controlled via KOMA's \setkomafont / \addtokomafont. Four elements reuse standard KOMA names; two (tudorgunit, tudmeta) are specific to this template:
| Element | Key | Default |
|---|---|---|
| Faculty / institute / chair | tudorgunit |
\footnotesize |
| Thesis title | title |
26 pt bold, accent color |
| Subtitle | subtitle |
17 pt |
| Thesis type + degree | subject |
\large |
| Author name | author |
\large\bfseries |
| Email, matrnr, supervisors, date | tudmeta |
\normalsize |
Colors default to the active \titlestyle and update automatically. Examples:
\setkomafont{title}{\fontsize{28pt}{33pt}\selectfont\bfseries\color{Rot1}}
\addtokomafont{tudmeta}{\itshape}
\setkomafont{author}{\Large\bfseries\color{white}}Headings default to Brilliantblau. To use black headings:
\renewcommand{\headingcolor}{black}\thesis sets an accent color that is automatically applied to the chapter thumb markers and research-question boxes. \titlestyle does the same from the title page background color. Both sync derived colors via \tudupdatecolors.
To override after \thesis or \titlestyle:
\renewcommand*{\chapterthumbboxcolor}{<color>} % chapter thumb background
\renewcommand{\researchquestioncolor}{<color>} % research-question frame + fillIf \titlestyle is called inside the document body, call \tudupdatecolors afterwards to re-sync.
How the sync works internally → tex-sty/README.md § Color flow.
All TUD CD colors are defined in tex-sty/tud-colors.sty and available as xcolor names:
| Group | Colors |
|---|---|
| Primary | Brilliantblau, Dunkelblau |
| Secondary | Blau1/2, Violett1/2, Magenta1/2, Rot1/2, Orange1/2, Gelb1/2, Oliv1/2, Gruen1/2, Tuerkis1/2 |
| Grayscale | Grau100, Grau80, Grau60, Grau40, Grau20, Grau10 |
The 1 suffix is the bold variant; 2 is the pastel variant. Grayscale numbers are approximate lightness percentages.
Worked examples for everything below live in sections/introduction.tex.
The research-question environment renders a styled tcolorbox with a title tab that follows the active title-page color. Title text is bilingual (DE/EN) via babel.
\begin{research-question}
\item Do we live in the Matrix?
\item Based on \cite{gos_2020}, is it actually possible to answer the first question?
\end{research-question}Rename the title tab:
\renewcommand{\researchquestiontitle}{Forschungsfragen}\confirmation renders a bilingual statutory-declaration page using \author and \date. Drop it anywhere after \maketitle:
\confirmationCode is rendered via minted (Pygments-backed). Requires -shell-escape (the Makefile sets this).
\begin{minted}{python}
def hello():
print("world")
\end{minted}Global style defaults live in minted.tex (font size, line numbers, frame, breaklines). Edit there to change every listing at once. If you prefer listings, a lst.tex configuration exists as a drop-in alternative — \input{lst} instead of \input{minted} in preamble.tex.
Preconfigured packages:
- Figures:
graphicx,svg,floatrow - Tables:
booktabs,tabularx,tabulary,longtable,multirow - Captions:
caption(hang format, raggedright, sans-serif label) - Cross-refs:
cleveref(use\Cref{fig:foo},\cref{tab:bar}) - Theorem environments:
lem(Lemma),thm(Theorem),defs(Definition) — all wired up with cleveref names - Margin notes:
todonotes(\todo{...},\todo[inline]{...},\missingfigure{...}) - Quotes:
csquotes(use\enquote{...}— renders correctly per language)
These files are set up so most theses don't need to touch them. Touch them only when adding a package that isn't here, or changing a global default.
- Bibliography —
biblatex(alphabetic style,biberbackend, hyperref-aware) - Links —
hyperrefwithhidelinks(clickable but no ugly boxes) - Cross-references —
cleveref(capitalise, name-in-link, no abbreviations) - Typography —
microtype, one-half line spacing,isodatefor ISO dates - Page layout —
geometrywith inner 1.5 cm, outer 3 cm, top 1.5 cm, bottom 2.5 cm; include head - Fonts — Noto Sans/Serif (
notopackage); T1 font encoding under pdfLaTeX - Code listings —
mintedwith\footnotesize, left-aligned line numbers, line breaking, tabsize 2 (seeminted.tex) - Floats —
floatrow(replacesfloat),plaintoptable style - Lists —
enumitemwithnoitemsepdefaults - Title page + headings + chapter thumbs + research-question + statutory declaration —
tud-colors,tud-titlepage,tud-thesis
The package load order in preamble.tex is deliberate. Don't reorder lines without reading tex-sty/README.md § Load order.
no output PDF file producedor minted errors → compile with-shell-escape(use theMakefileorlatexmk).Package noto not found→ installnotovia your TeX distribution's package manager (tlmgr install noto).- Fonts look wrong or engine errors → use LuaLaTeX (
latexmk -lualatex thesis); pdfLaTeX works but LuaLaTeX has native OpenType. - Code listings show stale content after edits → run
make cleanto drop the_minted/cache, then rebuild.