An unofficial Latex template for a TUM dissertation/PhD thesis that aims to satisfy the new 2016 corporate design guidelines of the TUM regarding titlepage header and color usage.
Made by Andre Richter with help from his colleagues.
For a preview of the cover, click here. For a full preview, see either the template PDF or have a look at already published dissertations in the Hall of Fame.
If you used the template to publish your dissertation, we'd be super happy if you reference yourself in the Hall of Fame. Just create a pull request or an issue.
The Hall of Fame is also a great resource for previewing the template and getting inspired regarding style.
The following instructions work with Linux, macOS and Windows, because a Docker image is used that provides the whole build environment.
- Install Docker on your system. Find install instructions or binaries for your OS here.
- Windows users only: Share the local drive. Right-click on the Docker icon in the bottom right gives you access to the settings.
- Logos are needed for the cover. To circumvent copyright problems, they must be downloaded using your TUM login and cropped manually. You can skip this for now, and run
make placeholder
(ormake.bat placeholder
under Windows) to use placeholders. But eventually you need to get the logos:- Login at https://portal.mytum.de/corporatedesign/vorlagen/index_Logos
- Download the SVG version of the blue TUM logo and save it to
inc/
- Download the SVG version of your faculty's logo and save it to
inc/
- If the above link did not work for you, e.g. you could not see or access the logos, please refer to the section Link list of logo resources at the bottom of this readme. They provide alternative links that may work.
- Start a terminal/console/command and navigate where you saved the repository.
- Linux/macOS: Execute
make crop
- Windows: Execute
make.bat crop
- Linux/macOS: Execute
The command in the last step will first pull the Docker image from remote, which will take a couple of minutes. Fortunately, this must only be done once.
If everything worked, your setup is complete now and you are good to go!
In a terminal, execute
make
to build the pdf.make clean
to clean up temporary files.
In a cmd or powershell, execute
make.bat
to build the pdf.make.bat clean
to clean up temporary files.
Double-clicking make.bat
in the explorer also builds the pdf.
- If you get errors on the
make
commands, you can try to invoke them via sudo, e.g.sudo make crop
- At the top of
dissertation.tex
, you'll find parameters for the titlepage, e.g. names, faculty name, dissertation title, etc.- Also, have a look at the two binding correction options!
- Use
\captionabove{}
instead of\caption{}
if you place a caption above a figure. - Easy usage of TUM CI colors is provided by the tumcolors package. See
doc/tumcolor.pdf
for instructions.
The TUM design guidelines lack explicit statements about how to place non-quadratic faculty logos. Each faculty logo has at least a partial circle. Most likely, the logo must be centered to the center of the logo's partial circle, and scale the diameter of the partial circle to 10mm. At least this is what we can derive from looking at page 16 of the style guide.
- Error handling in
crop_place_logos.sh
(missing binaries, files not found, etc.). - Improve the windows batch file.
Linux/macOS users who want to build without Docker most likely know what to do. Dependencies can be found inside Dockerfile
.
The Makefile
already has targets for building without docker, just make them default.
You can auto build and publish your dissertation on every tagged release.
- Use GitLab (e.g. gitlab.com or gitlab.lrz.de).
- Enable Pipelines for your project under
Settings > General > Permissions
. - Enable GitLab runners for your project under
Settings > CI/CD
. - Create a Personal Access Token with the
api
scope. - Add the token as environment variable
GITLAB_ACCESS_TOKEN
in projectSettings > CI/CD > Variables
. - Create and push a tag, wait ~2mins and find your dissertation as PDF under your project tags to download (https://gitlab.com/USER/REPO/tags).
Note: https://gitlab.lrz.de/ currently does not provide shared runners. Submit a friendly request here: https://servicedesk.lrz.de/de
To use GitHub Actions, you can simply paste the below code into a new .yml
or .yaml
file in .github/workflows/
. The automatic tests then work after the next push event.
# This is a workflow file to auto-build the latex code.
name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Runs a single command using the runners shell
- name: Build
uses: docker://andrerichter/tum-dissertation-latex
with:
entrypoint: make
args: pdf-local
# if your dissertation is not in the root directory of the github repository, add the directory using the -C option of make.
# Publish the artifacts
- name: Publish artifact
uses: actions/upload-artifact@v2-preview
with:
name: dissertation
path: dissertation.pdf
# if your dissertation is not in the root directory of the github repository, you have to adapt the previous path!
# Publish artifact as release so it is more prominent
- name: Release artifact
uses: ncipollo/release-action@v1
with:
artifacts: "dissertation.pdf"
# if your dissertation is not in the root directory of the github repository, you have to adapt the previous path!
token: ${{ secrets.GITHUB_TOKEN }}
tag: current
allowUpdates: true
Andre Richter - [email protected]
- Makefile
- Title page design
- Plot cycle list
- Figures, tables, acronyms in table of contents
- Added a customized bibliography style based on unsrturl.bst that abbreviates first names
- Appendix support
- TUM color syntax highlighting for source code listings
- Siunitx styles
- Support for non-quadratic faculty logos
Michael Vonbun - [email protected]
- tumcolors package
- Various cls file tweaks
- Latexmk support
- Sans serif title page option
Christian Herber - [email protected]
- Barchart cycle list with pattern styles
- Table of contents in pdf index hack
Stefan Wallentowitz - [email protected]
- Prevent orphans and widows
Andreas Oeldemann - [email protected]
- Help with Docker support.
This work is licensed under a Creative Commons Attribution 4.0 International License.
See license file for details.