Ready-to-use, SDU-branded document frontpages for coursework at the University of Southern Denmark (Syddansk Universitet), a title page and page setup for every kind of hand-in.

Quick start
#import "@preview/sdust:0.1.0": *
#show: note.with(
title: "Analysis & Topology",
course: "MM537 — Metric Spaces",
author: "Firstname Lastname",
date: "Autumn 2026",
)
= Open and closed sets
Your content here.
Every template renders an A4 cover page in the SDU layout with the SDU red
accent, sets up 1.5 line spacing, numbered headings and a centred
current/total page number, and (optionally) an outline.
Want the styling without a cover page? Use page-setup:
#import "@preview/sdust:0.1.0": *
#show: page-setup
= First Section
The logo
The SDU logo is a controlled brand asset and is therefore not bundled. No logo is drawn unless you pass one, one can download it from SDUs own website:
#show: thesis.with(
logo: image("sdu-logo.png", width: 12em),
// ...
)
logo: none (the default) omits it entirely.
Templates
| Function | For |
|---|---|
page-setup |
Base styling only, no cover page |
thesis |
Bachelor’s / Master’s thesis title page |
note |
Lecture notes |
exercise |
Exercise sheets |
assignment |
Assignments |
project |
Group / solo project reports |
submission |
Lightweight hand-in title card |
exam |
Exam submissions |
Common named arguments: title, subtitle, author (string or array),
supervisor, course, date, logo, outline, outline-depth.
thesis also takes department: and programme:; project takes
group:, abstract: and keywords:; exam takes duration:,
student-number: and more.
Page cards
Coloured titled cards for notes and exercises — theorem, definition,
example, proof and corollary, plus exercise pair
question / answer:
#theorem(title: "Theorem 2.1 (Pythagorean theorem)")[
For a right-angled triangle with legs $a$ and $b$ and hypotenuse $c$,
#boxed($ a^2 + b^2 = c^2 $)
]
#definition(title: "Definition 2.2 (Injective function)")[
A function $f: A -> B$ is *injective* if
$ f(x) = f(y) arrow.r.double x = y. $
]
#example(title: "Example 2.3")[
The derivative of $f(x) = x^3$ is
$ f'(x) = 3x^2. $
]
#proof[
Let $a$ and $b$ be odd integers. Then there exist integers $m$ and $n$ such that
$a = 2m + 1$ and $b = 2n + 1$.
Therefore,
$ a + b = 2m + 2n + 2 = 2(m+n+1), $
which is even. #QED
]
#question(title: "Exercise 5")[
What is the probability of rolling a $6$ with a fair six-sided die?
]
#answer[
There is one favourable outcome out of six possible outcomes, so
$ P(X = 6) = 1/6. $
]

The title argument is optional (#theorem[...] defaults to “Theorem”).
The cards use fixed light fills and are meant for print / PDF; they do not adapt to a dark editor preview.
Boxing an equation
boxed frames a key result. A block equation is centred like a normal
display equation; anything else is framed inline. Optional fill:,
stroke:, inset:, radius:.
#boxed($ e^(i pi) + 1 = 0 $)
the bound #boxed($O(n log n)$) is tight
#boxed(fill: rgb("#fff8e1"), $ sum_(k=1)^n k = (n(n+1)) / 2 $)
Also exported
base-style, bib (Chicago author–date bibliography), word-count /
total-words, the branding constants sdu-red and sdu-university, and
the Faculty of Science department names imada, bmb, biology, fkf
(pass one as department: on thesis).
ACM / CHI papers
sdust does not reproduce the ACM class. For an ACM paper, including CHI
(format: "manuscript" for review, format: "sigconf" for camera-ready) —
use faithful-acmart.
License
MIT — see LICENSE.