The following tools are required to render this dissertation:
python3.7+;pandoc2.11+;pandoc-crossref;pandoc-plot;inkscape1.0+- A LaTeX toolchain, including
lualatexandbiber. I tested withMikTex(Windows) andtexlive-full(Ubuntu). - The fonts in
fonts/need to be installed; they are used for plots.
To install the Python dependencies required to render figures:
python -m pip install -r requirements.txtOnce the environment has been set-up, use the dissc.py script to build.
> python dissc.py
usage: dissc [-h] {clean,build,compute-prerequisites} ...
Dissertation compiler
positional arguments:
{clean,build,compute-prerequisites}
sub-command help
clean Clean auxiliary files that are transiently generated during build.
build Build dissertation.
compute-prerequisites
Compute plotting prerequisites from data.
optional arguments:
-h, --help show this help message and exit
The build subcommand has other options:
usage: dissc build [-h] [--print]
optional arguments:
-h, --help show this help message and exit
--print Build the dissertation for printing media: no hyperlinks, single linespacing, etc.Figures will be automatically generated by pandoc-plot.
This sections describes the available mark-up tools that the toolchain supports.
Citations go inside square brackets and are separated by semicolons. Each citation must have a key, composed of ‘@’ + the citation identifier from the database, and may optionally have a prefix, a locator, and a suffix. The citation key must begin with a letter, digit, or _, and may contain alphanumerics, _, and internal punctuation characters (:.#$%&-+?<>~/). Here are some examples:
Blah blah [@smith04;@doe99].Labels based on pandoc-crossref are possible. To create a label for an item:
# Introduction {#sec:intro}
As you can read in the @sec:intro, ...
$$
e = m c ^2
$${#eq:label}
Take a look at @eq:label ...For more complex equation forms (e.g. aligned equations), \labels can be used. For example:
\begin{align}
...
\label{eq:myequation}
\end{align}
You can refer to the equation like so @eq:myequationThis is not entirely true[^1]
[^1]: details
This repository is partly based on pandoc-thesis.