Awesome Open Source
Awesome Open Source


A Template for Thesis Documents written in Markdown


Docker (recommended)

  1. Install docker from
  2. Build docker image containing all dependencies, e.g. pandoc and TeX Live: make docker

Note: You will need about 2GB of free disk space:

$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
pandoc-thesis       latest              b8680fd61337        10 seconds ago      2GB
debian              stable-slim         eb8569e750e6        5 days ago          69.2MB

Alternative Route

  1. Install pandoc from
  2. You also need to install LaTeX, e.g. from
  3. Install packages needed by pandoc:
  4. Either set an environment variable PANDOC pointing to the location of your pandoc installation or change the line PANDOC ?= docker run --rm -v $(WORKDIR):/pandoc pandoc-thesis pandoc in the Makefile to reflect your settings

Additional Templates

Note: If the template files do not yet exist in the project folder, use make eisvogel or make cleanthesis to download them.

Usage Example

  1. Maintain your references in references.bib
  2. Put the title of your thesis, your name and other meta information in md/metadata.yaml
  3. Adjust optional definitions in md/metadata.yaml to your needs:
    • Disable extras like abstract-* or acknowledgements or restrictionnote: Remove or comment this optional definitions
    • Modify content (text) of optional definitions like abstract-* or acknowledgements or restrictionnote
    • If you like Eisvogel but want a more useful^Wconventional page header (i.e. chapter/section instead of the thesis title) activate (i.e. remove comment in front of) headeralternative
  4. Fill the markdown files under md/ with your content
    • The default files in the folder md/ correspond to a typical structure of a scientific thesis (see also @Balzert2017: Balzert et al. "Wissenschaftliches Arbeiten", Springer, 2017). You can just use this as starting point for your work ... Hint: You will find some help regarding the use of Markdown in md/ as well as typical number of pages for each chapter in the comment section of each file.
    • In case you see need for an other layout, please do not forget to reflect the changed filenames in Makefile.
  5. Pandoc uses per default the Chicago Manual of Style for citations (cf. You can search or for alternative style definitions, download the corresponding .csl file to your project folder and activate the style in the Makefile (option --csl=XXX.csl).
  6. Build the thesis:
    • Using the simple layout: make simple
    • Using Eisvogel: make eisvogel
    • Using Clean Thesis: make cleanthesis
  7. Clean up:
    • To remove temporary (generated) filed: make clean
    • To also remove the generated thesis (PDF): make distclean

The above mentioned files constitute a minimal working example. To start your own project, simply clone this project and customize the files mentioned above.

The generated PDF is intended to be printed double sided like a book. Also, chapters start always on a new (right) page, i.e. this may produce an empty left page at the end of a chapter.

Note: When switching between templates, please make sure to make clean first! Failing to do so may lead to strange behaviour or even to weird errors.

Note: In rare circumstances, e.g. when using Cygwin, the path to the working directory is not correctly recognized by make. In this case, set it manually by overwriting the variable WORKDIR in the Makefile (use absolute paths).


Example using Simple Layout

Simple Titlepage Simple Chapter
Simple Titlepage Simple Chapter

Example using Eisvogel Template

Eisvogel Titlepage Eisvogel Chapter
Eisvogel Titlepage Eisvogel Chapter

Example using Clean Thesis Template

Clean Thesis Titlepage Clean Thesis Chapter
Clean Thesis Titlepage Clean Thesis Chapter


This work by Carsten Gips and contributors is licensed under MIT.

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Docker (96,992
Markdown (28,207
Tex (19,365
Latex (10,061
Definition (7,975
Thesis (4,884
Pandoc (2,321
Citations (867
Thesis Template (344
Oer (61