LaTeX template for theses (i. e. dissertation) at the Institute of Geomechanics and Underground Technology at RWTH Aachen. The template is based on the scrbook-class of the KOMA-Script. Some design modifications are made to match the design demands of the chair:
- fonts and fontsize
- margins
- linespacing
- header/footer
- citation
- headings (chapter/section/subsection)
- captions (tables and figures)
- title page
This template is coded to be compiled with PdfLaTeX. Other compilers like XeLaTex or LuaLaTeX can cause unpredictable errors. The continuous development of KOMA-Script, MiKTeX and other packages may lead to some commands being deprecated or to packages no longer being compatible with each other. The template was developed for the following packages and the announced specific version.
- MiKTeX v20.7
- KOMA-Script v3.31
- Babel v3.51
Other required packages are listed under the topic Packages.
-
Include the biblatex citation and bibliography styles. This can be done in two different ways:
-
Add the texmf folder (in biblatex-style) to your miktex installation:
- Open Miktex Console
- Select Operation Mode
- Goto Settings > Directories > Add
- Choose texmf folder from ./biblatex-style folder
- Task > Refresh file name database
- You are good to go
-
Copy the files rwth-gib.bbx and rwth-gib.cbx contained in one of the subfolders to the root directory of your document (same folder where main.tex is stored).
It is highly recomended to choose the first solution, as an update to a newer version of this repo is much easier and less confusing.
-
-
Include
designGiB.texto your main document:
\input{designGiB}-
Optional: Change language from english to ngerman in document class. This needs to be hardcoded into the designGiB!
-
Setup user configuration file
user_config.texin subfolder./additionals. You must not include this file, this is automatically done by the template.-
Set document
\def\myThesisType{xx}type BA for bachelor thesis, MA for master thesis or DISS for dissertation: -
Set author, reviewers/examiners and exam date
\def\myAuthor{Your Name} \def\myFirstReviewer{First Reviewer} \def\mySecondReviewer{Second Reviewer} \def\myExamDate{30.02.2021}
-
Setup additional information like title/subtitle (for dissertation) or german/english title, supervisor and location (for master/bachelor thesis).
% dissertation \def\myTitle{Dissertation Title} \def\mySubtitle{Subtitle for Dissertation} % bachelor/master thesis \def\myTitleDe{Deutscher Titel der Arbeit} \def\myTitleEn{English Thesis Title} \def\mySupervisor{Supervisors Name} \def\myExamLocation{Location}
Find additional information in Data input for headings and title page.
-
Optional: Load additional packages
-
-
Optional: Include bibliography and acronym sources in
main.texnot inuser_config.tex.\input{acronyms} % acronyms.tex contains acronyms definitions \addbibresource{bibliography.bib} % bibliography.bib is a BibLaTeX file
-
Begin the document.
\begin{document} ... \end{document}
-
Include a specific title page (automatically set by template)
\input{../../design-template/\myTitlepage}
-
Remember to use
/frontmatter,/mainmatterand/appendix. (see Additional Hints|Document segmantation) -
Start your thesis!
This repository consists of a design template, title pages (different per document type), a bibliography style and samples (minimal and full).
├── design-template/
│ ├── designGiB.tex design template
│ ├── titlepage_dissertation_de.tex title page for dissertation in german
│ └── titlepage_bachelor_master.tex title page for master/bachelor thesis language independend
├── biblatex-style/
│ └── texmf/tex/latex/biblatex/
│ ├── bbx/
│ └── rwth-gib.bbx biblatex bibliography style
│ └── cbx/
│ └── rwth-gib.cbx biblatex bibliography style
└── samples/
├── minimal/ folder containing a minimal sample
│ ├── bibliography.bib contains the bibliography
│ ├── content.tex this file contains all content
│ ├── main.tex merges everything together, sets language, sets user variables
│ └── main.pdf final document
└── full/ folder containing a full sample (with german remarks)
├── additionals/ folder containing additional content like user_config.tex, bibliography and acronyms.
├── chapter/ folder containing the thesis content
├── figures/ folder containing all figures
├── main.text merges everything together, sets language, sets user variables
└── main.pdf final document (compiled)
All up-coming packages, with the exception of the packages recommended for Germans, are already set up in the template.
acrohandles acronymsamsmathimproves the math mode and is strongly recomended when working with equationsbabelsets the documents languagebiblatexhandels citations with BibLaTeX not BibTeXcaptionadditional options for captions and required for subcaption packagecsquotesprovides advanced facilities for inline and display quotationsenumitemimproves enumerate and itemize environmentfontencmandatory for correct encoding of western european lettersgeometryis used to change marginslmodernchanges fonts and makes them clearerlongtabletable enrivonment for tables longer then a single page (in this case its used list of symbols)microtypebetter results in line breaks and overfull boxesscrlayer-scrpageis part of KOMA-script and is used to manipulate header and footer, i. e. adding seperation linessetspacechanges the linespacing in an easy waysubcaptionincludes subfigure environmenttextcompmodifies symbols, i. e. § and €uarialuse an arial-cloned font as ssfamily fontxcolormakes latex more colorful and is needed to create title pages
booktabsadds and changes lines and spacing in tables and beautifies themenumitemmodifies and extends enumerate and itemize environmentgraphicxused to include graphicshyperrefmodifies links and refs in generated pdf (in this case links are not shown)linenocreates line numbering which is usefull for a review processlscapeintroduce landscape environment, for exmaple to turn tablespdfpagesinclude full pdf documents (not only single pages like includegraphics)siunitxhelpfull to show value-unit-pairs in texttabularxcreate tabulars with a fixed width (one flexible col)textalphamakes it possible to use greek letters in the source code (unicode) instead of using functions like$\alpha$todonotesinsert to–do items in your document
zifferactivates the german punctation conversion:,is decimal separator;.is thousand separator (will be replaced by protected space)
Different title pages are available depending on the document type.
To create a nice and correct title page some additional information are needed and the kind of intermation depends on the title page.
The information have to be written into commands, that are going to be used by the title page, e. g. \def{\myAuthor}{Jane Doe}.
These additional information have to be stored in a seperate file called user_config.tex stored in additional subfolder (see full sample).
\myThesisTypetype of document: BA, MA or DISS\myAuthorauthor of the document\myFirstReviewerfirst reviewer or examiner\mySecondReviewersecond reviewer or examiner\myExamDatedate of the presentation or submission
Additional for dissertation:
\myTitletitle of the thesis\mySubtitlesubtitle of the thesis
Additional for bachelor/master thesis:
\myTitleDetitle of thesis in german\myTitleEntitle of thesis in english\mySupervisorname of supervisor\myExamLocationlocation of the examination, i. e. Aachen
-
Modify language in template
designGiB. Changeenglishtongermanas follows from\documentclass[ paper=a4, % paper size set to DIN A4 [...] % some options are left out here for a better overview! % set language that will be send to all language dependend packages, e.g. babel english % set language to english % ngerman % set language to new german ]{scrbook} % document class
to
\documentclass[ paper=a4, % paper size set to DIN A4 [...] % some options are left out here for a better overview! % set language that will be send to all language dependend packages, e.g. babel % english % set language to english ngerman % set language to new german ]{scrbook} % document class
-
Include package
ziffer\usepackage{ziffer} % conversion of punctuation in maths mode (switches . and ,)
-
Change headings for bibliography:
- When calling
\printbibliographyset option totitle={\myBibCaption}\printbibliography[title={\myBibCaption}]
- When calling
If you are running into errors while compiling your latex document, these hints might help you to solve your problem:
- Update your miktex installation to prevent errors due to oudated packages.
- Check if compiler is set to PdfLaTeX and not XeLaTex or LuaLaTeX.
- Check if bibliography interpreter is set to biber (biblatex) but not to bibtex
- Take a deeper look into the log files and try to solve it on your own.
- Running on Linux? Inlcude
inputencpackage and set option to utf8.
Set up/declare the bibliography file *.bib in your main document and not in the user_config.tex. Due to the software you are using this can cause problems, because the software, e.g. TeXstudio, doesn't recognize the bibliography files, doesn't run biber and therefore the compiler tells you, that main.bbl is missing. Furthermore will the bibliography compiling not be done automatically, as changes of the bibliography file are not automatically recognized by your software.
-
Insert the title page before the frontmatter starts to ensure the start of page numbering at the TOC.
-
Use
\frontmatterat the beginning and set the page numbering to Roman. The front matter includes all lists of something, e. g. figures and table of contents.\frontmatter \pagenumbering{Roman} ... (title page, list of...)
-
Following use
\mainmatterfor the main part of the document, closing with the bibliography. In this and the upcomming parts page numbering is set so arabic automatically. -
Close the document with
\appendix.\appendix \clearpage ... your appendix content \end{document}
- Include package
lineno\usepackage{lineno}
- Put the following code at the beginning of your document
\begin{document} \linenumbers % add numbers to each line \setstretch{2} % set line spacing to factor 2 ...
You can preset a default path where figures are stored to reduce typing in your main document. Set default path via
\graphicspath{{figures/}}Now you can use
\includegraphics{yourFigure.jpg}instead of
\includegraphics{figures/yourFigure.jpg}The easiest way to create a list of symbols is to create a table containing your symbols and the description. You should use a longtable in this case to be prepared for a table enlarging a single page. Each column has a fixed width to ensure linebreaks if a description is to long for a single line.
\chapter{List of Symbols}
\section*{Latin Letters}
\begin{longtable}[l]{p{1.5cm}p{1.5cm}p{0.7\linewidth}}
$A_0$ & $[m^2]$ & cross-sectional area at the beginning of the experiment \\
$B$ & $[m]$ & Sample width\\
...
\end{longtable}To create a value unit pair the opportunities of siunitx package should be used.
\SI{35}{\kilo\newton\per\square\meter} % single value
\SIrange{1e-9}{10e-9}{\meter\per\second} % range inlcuding valueTo create a caption above a table, respecting design margings \captionabove must be used instead of \caption.
\begin{table}
\captionabove{Your table caption}
\label{tbl:yourTableName}
\centering
\begin{tabular}{lrr}
% content
\end{tabular}
\end{table}Reach out to me at one of the following places!
- Website at
www.gut.rwth-aachen.de - ORCID
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details