Package Information
- Last Updated
- Minimum Typst Version
- 0.14.0
- Authors
- Elias PΓΆschl
- Categories
- layoutpaper
- Disciplines
- computer-scienceeducation
Preview
1. Get the package
Download the package using the TPIX CLI:
tpix get @preview/htlium:1.6.02. Initialize from template
Create a new project from this template:
typst init @preview/htlium:1.6.0π HTLium
A clean, modern Typst template for school protocols and reports.
Built for the HTL Salzburg β adaptable to any school or course.
β¨ Features
- π¨ Eye-catching cover page with a geometric, color-themed design that you can switch off with a single flag.
- π Any color scheme β pass any Typst color and the whole document (headings, accents, tables, cover) adapts.
- π Bilingual β built-in German (
de) and English (en) labels for the cover, outlines and bibliography. - π Automatic front matter β table of contents, list of figures, list of tables and an IEEE bibliography, each toggleable.
- π¬ Ready-made callout boxes β info, warning, note, tip and important, plus a fully custom box.
- π― Styled tables & code β striped, rounded tables out of the box and syntax highlighting via
codly. - πΌοΈ Custom logo & header β drop in your school logo; it appears on the cover and in the running header.
π Quick start
Create a new project from the template:
typst init @preview/htlium:1.6.0
Or import it into an existing document:
#import "@preview/htlium:1.6.0": *
#show: body => template(
body,
author: "Your Name",
title: "Sorting Algorithms",
subtitle: "A comparison of common approaches",
logo: image("logo.png"),
class: "3AHIF",
subject: "Software Engineering",
school: "HTL Salzburg",
department: "Computer Science",
)
= My first heading
#lorem(40)
Sensible defaults are set for every option, so the template compiles even with no arguments β but you'll want to fill in your own details.
βοΈ Configuration
template accepts the following named arguments:
| Argument | Type | Default | Description |
|---|---|---|---|
lang |
str |
"de" |
Document language β "de" or "en" for labels. |
color-scheme |
color |
red |
Accent color applied across the whole document. |
author |
str |
"Your Name" |
Full name of the author. |
title |
str |
"Title" |
Main title on the cover page. |
subtitle |
str |
"Subtitle" |
Subtitle shown beneath the title. |
class-long |
str |
"Protokoll" |
Centered text in the running header. |
logo |
image |
β | Your logo, e.g. image("logo.png"). Use none to omit. |
school-year |
str |
"2025/26" |
School year, shown on the cover and in the footer. |
task-title |
str |
"Task Title" |
Heading of the assignment/task block. |
task-content |
str |
"Task Content" |
Description of the assignment/task. |
class |
str |
"Class" |
Your school class. |
date |
str |
today | Date of the protocol. |
subject |
str |
"Subject" |
School subject. |
school |
str |
"School" |
School name. |
department |
str |
"Department" |
Department / branch. |
teachers |
array(str) |
sample names | List of teachers, e.g. ("Ms. Smith", "Mr. Doe"). |
do-lof |
bool |
true |
Include a list of figures. |
do-lot |
bool |
true |
Include a list of tables. |
do-bib |
bool |
true |
Include a bibliography. |
bib-src |
str (path) |
"refs.bib" |
Path to your bibliography file. |
fancy-design |
bool |
true |
Toggle the decorative cover graphics & header bar. |
before-logo-info |
array |
() |
Extra cover rows shown above the logo. |
after-logo-info |
array |
() |
Extra cover rows shown below the logo. |
π Color schemes
The color-scheme argument accepts any Typst color and re-themes the entire document β cover graphics, headings, accent bar, and table striping all follow it. Pass a built-in color, build one with rgb("#..."), or use any color expression.
#show: body => template(body, color-scheme: blue)
red (default) |
blue |
green |
|---|---|---|
![]() |
![]() |
![]() |
purple |
orange |
teal |
![]() |
![]() |
![]() |
Want a school-branded look? Try a custom color such as
color-scheme: rgb("#0a5c36").
π¬ Callout boxes
The template ships with a set of ready-to-use callouts:
#info-box([Helpful background information.])
#warning-box([Watch out for this!])
#note-box([A small note.])
#tip-box([A handy tip.])
#important-box([Don't miss this.])
Need your own? Build one with custom-box:
#custom-box(
icon("star", solid: false), // any heroic icon, or none
purple, // the box color
"My custom box", // the title
[Your content goes here.], // one or more content blocks
[$a^2 + b^2 = c^2$],
)
πΌοΈ Gallery
| Cover | Contents | Figures & tables |
|---|---|---|
![]() |
![]() |
![]() |
The full example lives in
example/main.typ. Compile it yourself with:typst compile --root . example/main.typ "example/preview-{p}.png"
π¦ Local installation
To use the template without publishing it, copy all files into your Typst local
package directory:
~/AppData/Local/typst/packages/local/htlium/1.6.0/ # Windows
~/.local/share/typst/packages/local/htlium/1.6.0/ # Linux
~/Library/Application Support/typst/packages/local/htlium/1.6.0/ # macOS
Then import it with the @local namespace:
#import "@local/htlium:1.6.0": *
#show: body => template(body)
π Resources
π License
Released under the MIT License Β© 2026 Elias PΓΆschl.







