pandoc-thesis
Pandoc Thesis Template: A Template for Thesis Documents written in Markdown
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.8%) to scientific vocabulary
Keywords
Repository
Pandoc Thesis Template: A Template for Thesis Documents written in Markdown
Basic Info
Statistics
- Stars: 93
- Watchers: 2
- Forks: 24
- Open Issues: 7
- Releases: 0
Topics
Metadata Files
README.md
Pandoc Thesis Template
A template for thesis documents written in Markdown.
About
This template makes it easy to write your thesis in Markdown. It uses an integrated toolchain to translate your work into LaTeX, creating a properly formatted PDF document. So you don't have to worry about the somewhat arcane TeX commands and you can still enjoy the centuries-old art of letterpress printing, with its rules integrated into LaTeX.
You can choose between two different styles:
'simple'
The 'Simple' theme uses the scrbook LaTeX class and adds a custom title page.
'Eisvogel'
The 'Eisvogel' style is based on the Eisvogel LaTeX template and adds a back page for the cover sheet with all the information you need for a thesis.
Both styles let you add an acknowledgement, an abstract (in German and/or English) and a restriction note.
Prerequisites
There are two different ways you can start with this template:
Working locally on your own machine:
You will need Docker and the
pandoc/extradocker image, as well as the contents of this template repository plus GNU Make.
- Fork this repository into your own namespace
Here's a tip: If you don't need the history or future update, just click the '*Use
this template*' button above!
- *Git clone* your repository locally to your machine
- Install [Docker]
- Fetch the [`pandoc/extra`] docker image containing all dependencies, e.g. pandoc and
TeX Live: `make docker` or `docker pull pandoc/extra:latest-ubuntu`
**Note**: You will need about 1.5GB of free disk space:
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
pandoc/extra latest-ubuntu 4be5559759ed 6 weeks ago 1.27GB
- Work on the [`thesis.md`] and [`references.bib`] files to create your thesis and build
the PDF using `make simple` or `make eisvogel` (see below)
</details>
Working remote using GitHub workflows:
Maintain a repository with the two relevant files
thesis.mdandreferences.bib, and use a GitHub workflow to build the PDF.
- Either fork this repository into your own namespace or create your own repository
containing copies of both the [`thesis.md`] and [`references.bib`] files provided here
- Create a GitHub workflow in your repository using the GitHub action
`cagix/pandoc-thesis` that is included in this template, e.g.:
``` yaml
on:
pull_request:
jobs:
compile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: cagix/pandoc-thesis@master
with:
srcfile: thesis.md
targetfile: thesis.pdf
bibfile: references.bib
template: eisvogel
- uses: actions/upload-artifact@v4
with:
path: thesis.pdf
overwrite: true
```
Please adjust the file names as needed.
- Work on the [`thesis.md`] and [`references.bib`] files to create your thesis and build
the PDF by pushing to your repository (see below)
</details>
Working with this template
Maintain your references in
references.bibThere are many reference management programs offering BibTeX export. A nice example is JabRef, which allows you to create and maintain your BibTeX file locally.
Put the title of your thesis, your name and other meta information into the YAML header of
thesis.mdAdjust optional definitions in the YAML header of
thesis.mdto 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`
Put your content into the markdown file
thesis.mdThe default chapters correspond to a typical structure of a scientific thesis (see also
@Balzert2022: Balzert et al. "Wissenschaftliches Arbeiten", 2022). You can just use this as starting point for your work ...Hint: You will find some help regarding the use of Markdown in the first chapter of
thesis.mdas well as typical number of pages for each chapter in the beginning of each chapter.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 the corresponding default file, i.e.eisvogel.yamlorsimple.yaml.Build the thesis:
- Locally:
- Simple layout: `make simple`
- Eisvogel theme: `make eisvogel`
- Remote:
- `git push` (and let your GitHub workflow do the heavy lifting)
- Clean up (when working locally):
- To remove temporary (generated) filed: `make clean`
- To also remove the generated thesis (PDF): `make distclean`
[!WARNING] When switching between templates, please make sure to
make cleanfirst! Failing to do so may lead to strange behaviour or even to weird errors.[!IMPORTANT] Do not use Windows + Docker directly, but via WSL:
- Install WSL (see https://learn.microsoft.com/en-us/windows/wsl/install), any distribution will work
- Start the subsystem to get access to its shell
git clone https://github.com/cagix/pandoc-thesis.gitto pull the projectmake dockerto pull thepandoc/extraimagemake simpleormake eisvogelto build the thesis- Success!
Submitting your thesis
HSBI students submit their work as a PDF using the upload form at https://www.hsbi.de/hochschule/schriftliche-arbeiten.
A declaration of originality must also be submitted. The form can be found at "Eigenständigkeitserklärung" and must be completed, signed and uploaded together with the thesis PDF.
Preview
Example using Simple Layout
| Simple Titlepage | Simple Chapter |
|--------------------------|------------------------|
|
|
|
Example using Eisvogel Template
| Eisvogel Titlepage | Eisvogel Chapter |
|----------------------------|--------------------------|
|
|
|
License
This work by Carsten Gips and contributors is licensed under MIT.
Owner
- Name: Carsten Gips
- Login: cagix
- Kind: user
- Repositories: 115
- Profile: https://github.com/cagix
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Pandoc Thesis Template
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Carsten
family-names: Gips
email: cagix@hsbi.de
affiliation: HSBI
orcid: 'https://orcid.org/0000-0002-4230-9060'
repository-code: 'https://github.com/cagix/pandoc-thesis'
abstract: A Template for Thesis Documents written in Markdown
keywords:
- thesis
- markdown
- pandoc
- docker
- oer
license: MIT
GitHub Events
Total
- Issues event: 41
- Watch event: 7
- Delete event: 9
- Issue comment event: 18
- Push event: 65
- Pull request review comment event: 2
- Pull request review event: 3
- Pull request event: 12
- Fork event: 5
- Create event: 10
Last Year
- Issues event: 41
- Watch event: 7
- Delete event: 9
- Issue comment event: 18
- Push event: 65
- Pull request review comment event: 2
- Pull request review event: 3
- Pull request event: 12
- Fork event: 5
- Create event: 10
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 22
- Total pull requests: 6
- Average time to close issues: about 1 year
- Average time to close pull requests: about 1 hour
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 0.45
- Average comments per pull request: 0.33
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 12
- Pull requests: 6
- Average time to close issues: 14 days
- Average time to close pull requests: about 1 hour
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.17
- Average comments per pull request: 0.33
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- cagix (27)
- coppertank (1)
- Paddy369 (1)
- moerk0 (1)
- jonas-wago (1)
Pull Request Authors
- cagix (8)