This repository contains a markdown template for theses and seminar papers. For simplicity, we refer to theses exclusively, but the guidelines also apply to seminar papers. Below you can find guidelines related to the different aspects of a thesis.
Q: Why use markdown?
A: Because it is super easy and powerful. The future of academic publishing (see manubot, 1).
- You can focus on contents and format automatically at the end (save effort)
- Pandoc and templates easily convert your work into multiple formats (e.g., docx, pdf)
- Based on csl, giving you access to more than 9,000 citation styles
- Compatible with all reference managers (e.g., Zotero, Endnote, Jabref, ...)
- Works with git, allowing you to keep transparent versions and to collaborate
- Cross-platform, available on Linux, Windows, Mac
- There are no lock-in issues like in proprietary tools
Q: How to setup markdown?
A: Install and build Docker, use a markdown editor and this template repository.
On Windows, it is recommended to use the WSL, e.g., Ubuntu. Run the following commands in the WSL shell. Install make (apt-get install make
).
-
Install docker from https://hub.docker.com/search/?type=edition&offering=community
-
Download this repository:
git clone https://github.com/digital-work-lab/thesis-template
-
Navigate to the repository (
cd thesis-template
) and build docker image containing all dependencies, e.g. pandoc and TeX Live:make docker
-
Use a markdown editor to edit the markdown documents:
- You can use any other markdown editor, including visual code (e.g., with the citer plugin).
Note: On a Mac, line 9 of the docker/dockerfile.df should be replaced by
ARG PANDOCDEB=https://github.com/jgm/pandoc/releases/download/2.18/pandoc-2.18-1-arm64.deb
Q: How to write your thesis with markdown?
A: Follow these steps:
Note: on Windows/WSL, files are available at \wsl$ in the Windows File explorer.
- Add your references to
references.bib
- Put the title of your thesis, your name and other meta information in
md/metadata.yaml
- Adjust optional definitions in
md/metadata.yaml
- Develop your content in the markdown files under
md/
- Examples for citations, figures, tables, formulas, and code are in
md/appendix.md
- If you change filenames, also update them in the Makefile
- Examples for citations, figures, tables, formulas, and code are in
- Build the thesis:
- Run
make pdf
- Run
- Clean up:
- To remove temporary (generated) filed:
make clean
- To also remove the generated thesis (PDF):
make distclean
- To remove temporary (generated) filed:
Q: How to add new latex packages?
A: Follow these steps:
Latex packages can be added to the titlepage.tex
using the \usepackage{package-name}
command.
Q: How do I adjust the title page (if contents are printed on page 2)?
A: Adjust the vspace
s in titlepage.tex
.
Q: I have cited a paper in a figure or table. How can I include the reference in the bibliography section?
A:: Add the following command with corresponding paper IDs (citation_keys) to the 'md/metadata.yaml` file:
nocite: |
@paper_id1,@paper_id2
When submitting the thesis, make sure to
- include the data and the code for your analyses in a digital appendix
Webster, J., & Watson, R. T. (2002). Analyzing the past to prepare for the future: Writing a literature review. MIS quarterly, xiii-xxiii.
This template is based on cagix/pandoc-thesis. Like the original work by Carsten Gips and contributors, it is licensed under MIT.