This is a Typst port of the official Master of Logic thesis template of the Institute for Logic, Language, and Computation at the University of Amsterdam.
Preview
A preview generated from the main
branch of this repository is available online as a PDF.
Usage
To use this template, run
typst init @preview/illc-mol-thesis:0.2.0
from any directory to initialize a new project. If you already have a document, just keep reading.
Functions
The following code assumes all names from this template were imported beforehand in all of your files. This can be accomplished using:
#import "@preview/illc-mol-thesis:0.2.0": *
mol-thesis
An initialization function for show rules.
#show: mol-thesis
mol-titlepage
Renders the first page of the thesis.
#mol-titlepage(
title: "Title of the Thesis",
author: "John Q. Public",
birth-date: "April 1st, 1980",
birth-place: "Alice Springs, Australia",
defence-date: "August 28, 2005",
/* Only one supervisor? The singleton array ("Dr Jack Smith",) needs the
trailing comma. */
supervisors: ("Dr Jack Smith", "Prof Dr Jane Williams"),
committee: (
"Dr Jack Smith",
"Prof Dr Jane Williams",
"Dr Jill Jones",
"Dr Albert Heijn"),
degree: "MSc in Logic"
)
mol-abstract
Renders an abstract for your thesis.
#mol-abstract[
Your abstract here.
]
mol-chapter
Introduces a new chapter. Replaces first level headings =
, so section titles within your chapter should be prefixed by ==
.
#mol-chapter("Your Chapter Title")
== Your Section Title
...
Mathematical block
Introduces the appropriate block. Can be any of:
corollary
,definition
,example
,lemma
,proof
.proposition
,remark
,theorem
.
#definition[
We defined the language $cal(L)$ as follows:
$ phi.alt ::= top | p | phi.alt and phi.alt $
]
mathcounter
A counter keeping all the mathematical elements of this template in sync.
#import "@preview/great-theorems:0.1.2": *
#let joke = mathblock(
blocktitle: "Joke",
counter: mathcounter, // jokes follow the same numbering as definitions, etc.
)
load-bib
Bibliography function that does not throw an error if called multiple times. This allows you to invoke it once per file in your thesis. This is important, because Typst would otherwise raise an error if you were to cite a source in a file with no bibliography. As Typst packages cannot access files in the project directory for now, you must always use read
when invoking load-bib
, as shown in the following examples.
If invoked with “true”, it actually displays the bibliography.
// main.typ
#include "chapter-1.typ"
#load-bib(read("works.bib"), main: true)
Otherwise, it still makes the sources citable in the current file. Should be invoked with “true” at most once.
// chapter-1.typ
We build on the work of @Author_2025.
#load-bib(read("works.bib"))
Attributions
The original MoL thesis template, along with the ILLC logo by the Institute for Logic, Language, and Computation, is released under CC0.