Skip to content

andros21/pandoc-thesis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pandoc-thesis build e2e slsa 2

A Template for Thesis Documents written in Markdown

Prerequisites

  • container engine
    • docker - most popular container engine
    • podman - a daemonless container engine
  • make command - build automation tool

Warning

supported platforms

  • amd64-unknown-linux
  • arm64-unknown-linux
  • amd64-apple-darwin
  • arm64-apple-darwin

Usage

  • Maintain your references in md/references.bib

  • Put the title of your thesis, your name and other meta information in metadata.yaml

  • Adjust optional definitions in metadata.yaml to your needs:

    [!NOTE]
    want an abstract or acknowledgements page uncomment and fill them

  • 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

    [!NOTE]
    you will find some help regarding the use of Markdown in example/introduction.md
    as well as typical number of pages for each chapter in the comment section of each file

    [!WARNING]
    do not forget to reflect the changed filenames in Makefile

  • Create pandoc-thesis container with everything you need to build thesis: make container

  • Build the thesis: make

  • Clean up

    • to remove temporary (generated) filed: make clean
    • to also remove the generated thesis (PDF): make distclean
    • to remove container: make containerclean
    • to remove image: make imageclean

Note

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

Note

to upgrade to latest pandoc-thesis image make containerupgrade

Pandoc filters

Inside markdown source is possible to insert code-blocks of these available tools:

  • gnuplot - a portable command-line driven graphing utility
  • graphviz - open source graph visualization software
  • plantuml - easily create beautiful uml diagrams from simple text
  • matplotlib - a comprehensive library for creating static plot in python

thanks to pandocfilters and imagine are rendered as image inside final pdf

Note

there is a special section inside example/introduction.md
for better understanding how it work and how to use it

Note

imagine global configuration inside metadata.yaml or
config per block inside code-block header

Note

gnuplot global configuration inside .gnuplot loaded at startup

Acknowledgements

Forked from work of Carsten Gips and contributors licensed MIT