Universe
Create project in app

   

A simple thesis template based on the ParCIO working group at Otto-von-Guericke University Magdeburg.

Getting Started

To use this template, simply import it as shown below (more options under Usage):

#import "@preview/parcio-thesis:0.1.0": *

#show: parcio.with(
  title: "My great thesis",
  author: (
    name: "Author",
    mail: "author@ovgu.de"
  ),
  abstract: [My abstract begins here.],
)

Local Installation

Following these steps will make the template available locally under the @local namespace. Requires “Just - A Command Runner”.

git clone git@github.com:xkevio/parcio-typst.git 
cd parcio-typst/parcio-thesis/
just install

Usage

See here for all possible arguments (and their default values) and utility functions:

#import "@preview/parcio-thesis:0.1.0": *

#show: parcio.with(
  title: "Title",
  author: (name: "Author", mail: "author@ovgu.de"),
  abstract: [],
  thesis-type: "Bachelor/Master",
  reviewers: (),
  date: datetime.today(),
  lang: "en",
  header-logo: none,
  translations: none,
)

// Use these to *enable* or *change* page numbering for your frontmatter and mainmatter respectively.
// (By default, this template hides the page numbering!)
#show: roman-numbering.with(reset: <true|false>)
#show: arabic-numbering.with(alternate: <true|false>, reset: <true|false>)

Utility Functions

These could be useful while writing your thesis!

// A TODO marker. (inline: false -> margin note, inline: true -> box).
#let todo(inline: false, body)

// Like \section* in LaTeX. (unnumbered level 2 heading, not in ToC).
#let section = heading.with(level: 2, outlined: false, numbering: none)

// A neat inline-section in smallcaps and sans font.
#let inline-section(title) = smallcaps[*#text(font: "Libertinus Sans", title)*] 

// Fully empty page, no page numbering.
#let empty-page = page([], footer: [])

// Subfigures (see chapters/introduction for syntax).
#let subfigure(..)

// A ParCIO-like table with a design taken from the LaTeX template.
#let parcio-table(max-rows, ..args)

// Nicer handling of (multiple) appendices. Specify `reset: true` with your first appendix to reset the heading counter!
#let appendix(reset: false, label: none, body)

Translations

If you wish, you can provide custom translations for things like “Section”, “Contents”, etc. by providing a custom translations.toml (this template already comes with translations for English and German) with the following schema:

# Top-level dict name should follow ISO 639 language codes!
default-lang = "en"

[de]
contents = "Inhaltsverzeichnis"
chapter = "Kapitel"
section = "Sektion"
thesis = { value = "Arbeit", compound = true }

[de.title-page]
first-reviewer = "Erstgutachter"
second-reviewer = "Zweitgutachter"
supervisor = "Betreuer"

[de.bibliography]
bibliography = "Quellenverzeichnis"
cited-on-page = "Zitiert auf Seite"
cited-on-pages = "Zitiert auf Seiten"
join = "und"

[de.date]
date-format = "[day]. [month repr:long] [year]"
months = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]

Fonts and OvGU Corporate Design

This template requires these three fonts to be installed on your system[^1]:

We bundle the default “Faculty of Computer Science” head banner and use it as the header-logo. You can find yours at: https://www.cd.ovgu.de/Fakultäten.html.

[^1]: Typst should already provide the Libertinus font family by default as it is their standard font.