Unofficial KFU Typst letter template
Find a file
2026-05-13 09:21:03 +02:00
src fixes, add info on how to get the contact info in the footer 2026-05-12 14:14:58 +02:00
template README: add thumbnail and comment out alternative footer example 2026-05-12 14:22:11 +02:00
README.md Update README.md 2026-05-13 09:21:03 +02:00
thumbnail.png README: add thumbnail and comment out alternative footer example 2026-05-12 14:22:11 +02:00
typst.toml typst.toml: fix template entrypoint 2026-05-12 13:36:17 +02:00

Unofficial KFU Typst letter template

thumbnail

Installation (Linux only)

Using typship

typship download -n local https://imsc.uni-graz.at/git/gjankowiak/typst-kfu-letter

Manually

mkdir -p ~/.local/share/typst/packages/local/kfu-letter/
cd  ~/.local/share/typst/packages/local/kfu-letter/
curl https://imsc.uni-graz.at/git/gjankowiak/typst-kfu-letter/archive/0.1.0.tar.gz | tar zx --xform 's/typst-kfu-letter/0.1.0/'

Quickstart (CLI)

typst init @local/kfu-letter letter

Template

#import "@local/kfu-letter:0.1.0": letter

#letter(
lang: "de",

place: "Graz",
// the date is not automatically localized in Typst,
// you have to date care of that.
date: datetime.today().display("[day].[month].[year]"),

title: "Dr.",
firstname: "John",
lastname: "Doe",

departement: [Institut für Mathematik und Wissenschaftliches Rechnen],

address: "Heinrichstraße 36, 8010 Graz",

phone: 1234,

homepage: "https://imsc.uni-graz.at/doe",

subject: [The letter subject should fit on one line.],

signature: none,
  // [Mit freundlichen Grüßen
  //
  // Dr. John Doe
  // #image("signature.png")],
[
  This is the letter' first page's body.

  #lorem(200)

  #lorem(200)
])

// The CD manual of the KFU [1] requires the contact information of the sender to be placed in the footer
// except for the first page, where it is placed above the date. This is not naturally doable in Typst.
// On way is to provide the content of the other pages separately with the `body` option, as follows:
//
// [1] https://static.uni-graz.at/fileadmin/presse/Sonstiges/Corporate_Design_Manual_Uni_Graz_2023.pdf
//
// #letter( /* your options here */
//   date: datetime.today().display("[day].[month].[year]"),
// [
//   This is the content of the first page, you have to make sure it does not overflows to the second page.
// ],
// body: [
//   This is the content of the following pages. It will always start with a page break.
//
//   #lorem(200)
//
//   #lorem(200)
// ])

Compile with

typst compile letter.typ

Tested typst version: 0.14.2.