pandoc-thesis
pandoc-thesis copied to clipboard
Pandoc Thesis Template: A Template for Thesis Documents written in Markdown
pandoc-thesis
A Template for Thesis Documents written in Markdown
Installation
Docker (recommended)
- Install docker from https://hub.docker.com/search/?type=edition&offering=community
- 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
- Install pandoc from https://pandoc.org/
- You also need to install LaTeX, e.g. from https://www.tug.org/texlive/
- Install packages needed by pandoc: https://pandoc.org/MANUAL.html#creating-a-pdf
- Either set an environment variable
PANDOCpointing to the location of your pandoc installation or change the linePANDOC ?= docker run --rm -v $(WORKDIR):/pandoc pandoc-thesis pandocin theMakefileto reflect your settings
Additional Templates
- Eisvogel: For using the Eisvogel template, download the latest
version of the template
eisvogel.texand move it to the project folder (Note: Latest tested commit isad404d0446(version 2.0.0).) - Clean Thesis: For using the Clean Thesis template, download the latest version
of the template
cleanthesis.styand move it to the project folder (Note: Latest tested commit is63d1fdd815.)
Note: If the template files do not yet exist in the project folder, use make eisvogel or make cleanthesis to download them.
Usage Example
- Maintain your references in
references.bib - Put the title of your thesis, your name and other meta information in
md/metadata.yaml - Adjust optional definitions in
md/metadata.yamlto your needs:- Disable extras like
abstract-*oracknowledgementsorrestrictionnote: Remove or comment this optional definitions - Modify content (text) of optional definitions like
abstract-*oracknowledgementsorrestrictionnote - 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
- Disable extras like
- 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 inmd/introduction.mdas 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.
- The default files in the folder
- Pandoc uses per default the Chicago Manual of Style for citations (cf. pandoc.org/MANUAL.html#citations).
You can search zotero.org/styles or editor.citationstyles.org/searchByName
for alternative style definitions, download the corresponding
.cslfile to your project folder and activate the style in theMakefile(option--csl=XXX.csl). - Build the thesis:
- Using the simple layout:
make simple - Using Eisvogel:
make eisvogel - Using Clean Thesis:
make cleanthesis
- Using the simple layout:
- Clean up:
- To remove temporary (generated) filed:
make clean - To also remove the generated thesis (PDF):
make distclean
- To remove temporary (generated) filed:
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).
Preview
Example using Simple Layout
| Simple Titlepage | Simple Chapter |
|---|---|
![]() |
![]() |
Example using Eisvogel Template
| Eisvogel Titlepage | Eisvogel Chapter |
|---|---|
![]() |
![]() |
Example using Clean Thesis Template
| Clean Thesis Titlepage | Clean Thesis Chapter |
|---|---|
![]() |
![]() |
License
This work by Carsten Gips and contributors is licensed under MIT.





