Skip to content

An Asciidoctor template for an Austrian HTL thesis with features such as Local Docker Builds, Remote Builds, matplotlib and graphviz-py diagram support, and many more.

License

Notifications You must be signed in to change notification settings

Alwinator/thesis-template

Repository files navigation

Thesis Template

Build Stars

An Asciidoctor template for an Austrian HTL thesis with features such as Local Docker Builds, Remote Builds, matplotlib and graphviz-py diagram support, plus many more.

Features

  • Local Builds as PDF
  • Automatically rebuilds PDF after changes
  • Automated Remote Builds after a commit using GitHub Actions
  • Compatible with an Austrian HTL Diplomarbeit (NO GUARANTEES)
  • Based on Asciidoctor
  • Dynamically renders matplotlib and graphviz-py diagrams
  • Docker Support
  • Printed & PDF optimized version
  • Citation support using bibtex
  • Formulas using LatexMath

For faster builds, there is also a lite version available which has no matplotlib or graphviz-py diagram support.

Planned Features

  • Add more options (to disable certain features)
  • Add more documentation

Known Restrictions

  • Tested on Ubuntu 20.04 and Windows 10
  • The watcher only works on Ubuntu
  • I had a limited amount of time to build this template, I know that there are a lot of things that could be improved.
  • Pull Requests are welcome!

Getting Started

Before pulling, make sure you have git lfs installed.

Local Build

Build local using Docker

Windows

  1. Make sure Docker Desktop is running
  2. Run build.bat by double-clicking it or by using the terminal:
.\build.bat
  1. The built PDFs can be found in the build folder.

Linux & MacOS

  1. Run build.sh using the terminal:
bash build.sh
  1. The built PDFs can be found in the build folder.

If you want to skip the Docker container build, you can use:

bash build.sh skip

Common errors

Make sure that you can execute Docker without sudo.

https://askubuntu.com/a/477554/1226233

Remote Build

Builds after each commit and saves the generated PDF files as GitHub artifacts.

Just push and download the latest build from here.

Watcher (Ubuntu only)

The watcher automatically monitors your files and automatically rebuilds and refreshes the PDF when the build is complete.

Install

sudo apt-get install inotify-tools xdotool

Start (no packages or virtual env required)

python watcher.py

How to write?

AsciiDoc (Headings, Text, Images, ...)

See AsciiDoc Syntax Reference

Diagrams

See Graphviz Gallery and graphviz-py

Quotes

  1. Use BibTeX
  2. You can also use Zotero and export BibTeX
  3. Add your bibtex to bibtex.bib
  4. Quote in your text: See Asciidoctor-bibtex Macros

About

An Asciidoctor template for an Austrian HTL thesis with features such as Local Docker Builds, Remote Builds, matplotlib and graphviz-py diagram support, and many more.

Resources

License

Stars

Watchers

Forks

Packages

No packages published