Home

Awesome

typst-timetable

GitHub Repository including Examples and Changelog

A typst template for timetables

Features

A resulting timetable looks like this: example

Usage

The main difficulty lies in defining the dictionary with the necessary data. Take a look into the example to see how a json or toml file can be used to specify the data, which can then be included into .typ files.

Functions

The exposed timetable function takes the following arguments:

Data Dictionary

general
    period
    person
    times: array
        start [end - defaults.duration]
        end [start + defaults.duration]
        display: string [start "--" end]
        show-time [false]

defaults
    duration [2]

description?: array
    id
    title
    type: text|link|content [text]

courses: {abbrv}?: string ->
    {description.id}?
    color?
    priority [0]
    hide [false]
    hide-description [false]
    events: {eventtype}?: string ->
        day
        start [end - default.duration]
        end [start + default.duration]
        room
        priority [thiscourse.priority]
        hide [false]

Here ? denotes optional values, [] the corresponding default value, {} parametrices keys and -> denotes another dictionary.

Necessary are only a few options, for a quick start look at this simplified version:

general
    period
    person
    times: array
        start or end

courses: {abbrv}?: string ->
    events: {eventtype}?: string ->
        day
        start or end
        room

Take a look at the example files, currently only the toml ones show all options.

Typst Usage Tipp

I plan to eventually release this as a package to typst packages. Until then, or additionally, you can place this in your local packages repo. If you use the web app,