This is any unoffical thesis template for the Philipps University of Marburg. The author is not related in any form to the university and no guarrantee can be given, that the here implemented specifications meet a certain guide line, that might be valid for your department. Before using it, make sure your department agrees with this template.
This LaTeX-template might be used to write a bachelor or master thesis at the Computer Science department at Philipps University of Marburg. All the credits of this awesome work belong to Andre Miedé (see repo) and Michael Bredel. However, mostly colors and logos have been changed to meet the Marburg style guide.
The documentation below is taken from the Michael Bredel's thesis template repository. Only links have been adapted and the chapter for Github Actions has been added.
- Disclaimer
- marburg-thesis
The LaTeX template can be modified and configured easily using a very limited number of files, namely classicthesis-config.tex, hdathesis-config.tex, and thesis.tex. Only use these three files to modify your LaTeX thesis. Please DO NOT modify the actual LaTeX code for your thesis (as this becomes quite complex and consumes a lot of time). Please find a brief description of the various configuration options below:
The thesis.tex file contains the basic structure and all the chapter-files that contain the actual content of your thesis. Thus, you have to modify this file in order to configure some basic stuff like the language of your thesis. The subsequent section "Adding content" explains how to add content.
The default output of the LaTeX thesis template is a single-sided style that also has to be printed that way. In case you want to print two-sided, you have to add the twoside option in the \documentclass definition at line 35:
\documentclass[ openright,titlepage,numbers=noenddot,headinclude,twoside,%
footinclude=true,cleardoublepage=empty,abstractoff,%
BCOR=5mm,paper=a4,fontsize=11pt,%
ngerman,american,%lockflag%
]{scrreprt}
You may also adapt the paper size (paper=a4) and the font size (fontsize=11) if necessary.
By default all bibliographies that can be referenced in the thesis are put into the bibliography.bib file in the root directory of the LaTeX sources. However, if you want to use additional bibliography files, you may add them to the bibliograph section (starting at line 47) in thesis.tex
%*************************************************************************
% Bibliographies
%*************************************************************************
\addbibresource{bibliography.bib}
.... ADD YOUR FILES HERE ...
The default language of your thesis is German. If you want to switch to English, you have to modify the language selection from ngerman to american at line 63.
\selectlanguage{american} % ngerman, american
While this thesis template supports umlauts, i.e. ÄÖÜäöüß, in the main text of the thesis, there are some issues regarding umlauts on the title page (configured in the personal data at hdathesis-config.tex). Please see the umlauts section for further details and possible solutions.
By default, the thesis templates prints a lot of table of content, i.e. for figures, tables, listings, and acronyms. You may want to remove such tables if you only have a very limited number, i.e. less than 3-5, of figures, tables, listings, and acronyms. Simply comment the related line in thesis.tex starting at line 81.
%\cleardoublepage\include{frontbackmatter/Figures}
%\cleardoublepage\include{frontbackmatter/Tables}
%\cleardoublepage\include{frontbackmatter/Listings}
%\cleardoublepage\include{frontbackmatter/Acronyms}
The hdathesis-config.tex-file allows to configure the usual stuff needed for a thesis at h_da. Namely, you can configure the title of your thesis, your name, the names of your supervisors, dates, etc. Thus, you MUST touch this file and configure it accordingly.
This is where you have to place all the personal stuff of your thesis, starting at line 7.
\newcommand{\myTitle}{A Classic Thesis Style\xspace}
\newcommand{\mySubtitle}{An Homage to The Elements of Typographic Style\xspace}
\newcommand{\myDegree}{Bachelor of Science (B.Sc)\xspace}
\newcommand{\myName}{Your Name\xspace}
\newcommand{\myId}{Matrikelnummer\xspace}
\newcommand{\myProf}{Prof. Dr.-Ing. XY\xspace}
\newcommand{\myOtherProf}{Prof. Dr. YX\xspace}
\newcommand{\myFaculty}{Fachbereich Mathematik \& Informatik\xspace}
\newcommand{\myUni}{Phillipps Universität Marburg\xspace}
\newcommand{\myLocation}{Marburg\xspace}
\newcommand{\myTime}{20. Dezember 2020\xspace}
\newcommand{\myVersion}{version 4.4\xspace}
This thesis template supports German umlauts in the main text. However, if you need umlauts on the title page, say in your title, your name, and your professor's name, you have to use the native LaTeX way of writing umlauts. Please see the following table:
Umlaut | LaTeX way |
---|---|
Ä | {\"A} |
Ö | {\"Ö} |
Ü | {\"Ü} |
ä | {\"a} |
ö | {\"o} |
ü | {\"u} |
ß | {\ss} |
To write the Title "TOR - Schießen mit Füßen" you have to write "TOR - Schie{\ss}en mit F{"u}{\ss}en".
The classicthesis-config.tex-file allows you to configure stuff that comes with the classic-thesis style, like LaTeX packages used by classic thesis. This is quite advanced stuff already. Thus, you should touch this file only if you know what you are doing. Usually, you can leave the file as it is.
This template also comes with a expose. This is usually the first document you work on and where you draft your research and proposed approaches. The expose.tex-file should set you up.
In the following, we explain how to actually use, i.e. add content and compile, the thesis template to create a nice and shiny PDF file that will please your supervisor.
Every thesis has to have two abstracts; one in German and one in English. Thus, there are two abstract files included in the thesis.tex-file. Boths files, called AbstractDE.tex for the German abstract and AbstractEN.tex for the English abstract, are located in the ./frontbackmatter/ directory.
You have to modify both these files and place your abstract text in AbstractDE.tex and AbstractEN.tex respectively.
By default, the thesis template, i.e. the thesis.tex-file, references the ./chapters/thesis/main.tex-file and ./chapters/thesis/appendix.tex-file, which contains (includes) some default content files for chapters and appendix from the ./chapters/thesis/-directory. You have to remove those includes and include your own files. Please note that it is best practice to put all your content in separate files.
%*************************************************************************
% Add your content here
%*************************************************************************
\include{chapters/thesis/chapter01}
\include{chapters/thesis/chapter02}
\include{chapters/thesis/chapter03}⏎
and
%*************************************************************************
% Add your appendix here
%*************************************************************************
\include{chapters/thesis/appendix01}
\include{chapters/thesis/appendix02}⏎
For the expose the folder name is expose
instead of thesis
.
You may also want to have a look at the part(...) section. You may want to change the titles of the part(...)-sections. Alternatively, you remove the part(...) section and the corresponding cleardoublepage the line before.
Simlar to Adding content, the graphics are placed in the folder thesis
or expose
. But instead of chapters
you should look in the gfx
folder.
By default, this template uses the IEEE Alphabetic style for citatons. The IEEE citation style includes in-text citations in square brackets, which refer to the full citation listed in the reference list at the end of the paper. The reference list is organized alphabetically.
However, if you prefer to uses the old IEEE Numeric style for citations you can do so. To this end, you have to change lines 90 and 91 of classicthesis-config.tex:
style=numeric-comp,%
%style=alphabetic,%
You may compile the hda-thesis template using the pdflatex
and the bibtex
command. In addition, the thesis template repository contains a Makefile that allows you to compile the thesis template using the make tool available on most Unix and Linux systems. Simply type:
$ make
to compile the LaTeX code into a PDF-file. Moreover, you may use
$ make clean
to remove all temporary files, which are produced during the compilation process. Finally,
$ make bz2
generates a bz2-package file, which contains all the source files of your LaTeX code. In case you need to create a PDF-version with embedded fonts you may use
$ make publish
The h_da thesis template ships with two Dockerfiles that create Docker container used to compile the LaTeX code. One container - built by the Dockerfile.ci Docker file - is used by the CI to compile the thesis template and check its integrity at every commit. The other one - created by the Dockerfile.local Docker file - might be used to build the Docker container that allows to compile the LaTeX code on your local machine without the need to install any LaTeX files.
In order to build the Docker image you have to type the following command:
$ docker build --tag marburg-thesis --file Dockerfile.local .
Creating the image requires a working (and hopefully fast) Internet connection. It may take several minutes to download the required base-images as well as all needed dependencies. You only have to create the image once. Once the image is created, you can run the Docker container by running the following command
$ docker run --volume $(pwd):/marburg-thesis/ marburg-thesis && docker rm $(docker ps -lq)
inside the root directory containing the LaTeX code. The command mounts the current directory into the Docker container, runs the "publish" make target, and thus compiles the LaTeX code into a PDF file. Finally, the command removes the container again, as it is not needed anymore. You may re-compile the LaTeX code by re-running the "docker run ..." command again.
For more information on Docker, please take a look at the Docker documentation.
This thesis ships with multiple Github Action workflows to build the thesis directly on Github. The following workflows are included:
- latexmk: Builds the thesis with latexmk on any push/pull request on any branch except master
- Release with latexmk: Builds the thesis with latexmk on any
v*
tagged commit on the master branch and publishes the pdf on the Github release page
To configure latexmk
see .latexmkrc.
- The LaTeX template is tested using TeXLive which is available for Linux and Windows.
- It has not been tested for MiKTeX and MacTeX yet. Any input on these LaTeX distributions is very welcome.
- The LaTeX template only supports bachelor theses (by default)
- The thesis only supports German and (American) English
The marburg LaTeX thesis template is just like its base template (h_da computer science department) is licenced under GPL v3.0
- Many thanks to Sebastian Jung for his hints on the local Docker approach for compiling the LaTeX code.