The project provides a Latex template for a PhD thesis. The template was originally designed for theses at RWTH Aachen University.
- Format B5
- Fonts: Linux Libertine, Linux Biolinum and Droid Sans Mono
- Colored boxes for environments
- Summary boxes for each chapter
- Separate bibliography for own publications
- Index for keywords
- List of symbols for notation
- Tikz externalize to save compilation time
- Dedicated output folder and separate build types (partial, complete, debug)
We provide a Makefile allowing to compile three different versions of the thesis:
make complete: build the complete version of the thesis. The main file and configuration can be found in main_complete.tex.make current: build only a parts of the thesis. This is the default when executingmakeand limits the compilation to the currently changed files. This improves compilation times. The parts which should be compiled are defined in main_current.tex in\IncludeOnly{...}.make debug: build parts of the thesis with additional debug output. Can be used to fix some warnings. The configuration in main_debug.tex also includes a dedicated file debug/test_chapter.tex which tests most of the constructs defined in this template.
Compilation is performed by latexmk and uses lualatex.
Usage of pdflatex is not possible with the chosen fonts.
We make use of tikz externalize such that each tikz pictures are cached. This can lead to long compilation times in the beginning though as all figures need to explicitly generated as separate pdfs.
All build files are generated in the dedicated folder output.
The commands make open, make open_complete and make open_debug can be used to (compile and) open the respective PDF documents.
The command make copy_all copies the generated PDF document and the source files to the folder specificied in the Makefile (COPY_DIR).
This can be used to additionally backup files for example on a shared drive.
We recommend to use Git for versioning anyway.
- thesis.tex: the main file
- chapters: contains the chapters with the main content
- style: defines the style of the thesis
- colors.tex defines the colors. The main color scheme is based on the Solarized color scheme, you might want to change it.
- presets.tex defines the fonts, bibliography, environments and tcolorboxes
- tikz/tikz.tex defines tikz styles
- tikz/plots.tex defines styles for plots with pgfplots
- commands.tex defines custom commands
- macros.tex defines macros of the template for keywords, index entries, figures, etc.
- packages.tex defines the Latex packages which are used
- own_publations.bib contains all personal publications. This allows to have a dedicated section detailing the personal contributions.
- literature.bib contais the bibtex literature entries
- appendix: appendices such as bibliography, index, glossary, proofs, etc.
- preface: acknowledgements and cover
- Dedicated directories for algorithms, data, figures and [tables][tables]. Subdirectories are usually corresponding to the chapters.
- debug: contains a test chapters used for build type
make debug. - output: will be generated by the Makefile and contains all generated files from Latex including the tikz pictures.
Required changes are indicated by TODO:.
- Change
\TITLEand\AUTHORin thesis.tex. - Use own surname in style/presets.tex such that own publications are handled correctly.
Afterwards compile and open the document with make open_complete.
As next steps, we recommend to take a look an example chapter, see chapters/02-preliminaries.tex.
Also take a look at debug/test_chapter.tex for an overview of all available commands.
The following macros are especially useful:
- Internal comments allows to add
\todo{...}, which parts still need be written\towrite{...}, add questions\question{...}and insert comments from others\feedback{...} - Highlight text with
\highlight{...} - define a keyword which is added to the index
\keyword{keyA}. Use\keyword[ParentB]{keyB}for a sub-keyword and\keywordpl[KeyCTest]{keysC}{keyC}when using plural in the text ind singular in the index. - Notation/symbols are added with
$\newsymbol{testtopic}{testsymbol}{\alpha}{Description of the test symbol}$.Symbol topics are defined with\newsymboltopic{testtopic}{Test Topic}. - Assumption for a chapters can be added with
\begin{assumptionbox}
Some assumptions
\end{assumptionbox}
- Summaries at the end of each chapters are added with
\begin{summary}
\item First item
\item Second item
\end{summary}
- The first version of the template was developed by Sebastian Junges.
- The template was extended by Matthias Volk.
The following theses use some version of this template: