Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions packages/preview/athena-tu-darmstadt-exercise/0.3.0/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Joshua J.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
115 changes: 115 additions & 0 deletions packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# Typst Templates for the Corporate Design of TU Darmstadt :book:
These **unofficial** templates enable you to write documents in [Typst](https://github.com/typst/typst) with the corporate design of [TU Darmstadt](https://www.tu-darmstadt.de/).

#### Disclaimer
Please ask your supervisor if you are allowed to use Typst and one of these templates for your thesis or other documents.
Note that this template is not checked by TU Darmstadt for correctness.
Thus, this template does not guarantee completeness or correctness.
For notes for publishing on TUbama see [Publishing](#publishing-on-tubama).


## Implemented Templates
The templates imitate the style of the corresponding latex templates in [tuda_latex_templates](https://github.com/tudace/tuda_latex_templates).
Note that there can be visual differences between the original latex template and the Typst template (you may open an issue when you find one).

For missing features, ideas or other problems you can just open an issue :wink:. Contributions are also welcome.

| Template | Preview | Example | Scope |
|----------|---------|---------|-------|
| [tudapub](https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudapub/template/tudapub.typ) | <img src="https://raw.githubusercontent.com/JeyRunner/tuda-typst-templates/refs/heads/main/tudapub/preview/tudapub_prev-01.png" height="300px"> | [example_tudapub.pdf](https://github.com/JeyRunner/tuda-typst-templates/blob/main/example_tudapub.pdf) <br/> [example_tudapub.typ](https://github.com/JeyRunner/tuda-typst-templates/blob/main/example_tudapub.typ) | Master and Bachelor thesis |

Check failure on line 19 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L19

Missing alternative description for image. Please add a short description to make this image more accessible.

Check warning on line 19 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L19

GitHub URL links to default branch: `https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudapub/template/tudapub.typ`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudapub/template/tudapub.typ Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.

Check warning on line 19 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L19

GitHub URL links to default branch: `https://raw.githubusercontent.com/JeyRunner/tuda-typst-templates/refs/heads/main/tudapub/preview/tudapub_prev-01.png`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudapub/preview/tudapub_prev-01.png Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.

Check warning on line 19 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L19

GitHub URL links to default branch: `https://github.com/JeyRunner/tuda-typst-templates/blob/main/example_tudapub.pdf`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/example_tudapub.pdf Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.

Check warning on line 19 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L19

GitHub URL links to default branch: `https://github.com/JeyRunner/tuda-typst-templates/blob/main/example_tudapub.typ`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/example_tudapub.typ Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.
| [tudaexercise](https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudaexercise/template/tudaexercise.typ) | <img src="https://raw.githubusercontent.com/JeyRunner/tuda-typst-templates/refs/heads/main/tudaexercise/preview/tudaexercise-light.png" height="300px"> | [Example File](https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudaexercise/example/main.typ) | Exercises |

Check failure on line 20 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L20

Missing alternative description for image. Please add a short description to make this image more accessible.

Check warning on line 20 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L20

GitHub URL links to default branch: `https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudaexercise/template/tudaexercise.typ`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudaexercise/template/tudaexercise.typ Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.

Check warning on line 20 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L20

GitHub URL links to default branch: `https://raw.githubusercontent.com/JeyRunner/tuda-typst-templates/refs/heads/main/tudaexercise/preview/tudaexercise-light.png`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudaexercise/preview/tudaexercise-light.png Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.

Check warning on line 20 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L20

GitHub URL links to default branch: `https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudaexercise/example/main.typ`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudaexercise/example/main.typ Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.
| [not-tudabeamer-2023](https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudabeamer/template/lib.typ) | <img src="https://raw.githubusercontent.com/JeyRunner/tuda-typst-templates/refs/heads/main/tudabeamer/preview/thumbnail.webp" height="300px"> | [Example File](https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudabeamer/example/main.typ) | Presentations |

Check failure on line 21 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L21

Missing alternative description for image. Please add a short description to make this image more accessible.

Check warning on line 21 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L21

GitHub URL links to default branch: `https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudabeamer/template/lib.typ`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudabeamer/template/lib.typ Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.

Check warning on line 21 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L21

GitHub URL links to default branch: `https://raw.githubusercontent.com/JeyRunner/tuda-typst-templates/refs/heads/main/tudabeamer/preview/thumbnail.webp`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudabeamer/preview/thumbnail.webp Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.

Check warning on line 21 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L21

GitHub URL links to default branch: `https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudabeamer/example/main.typ`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/tudabeamer/example/main.typ Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.

## Usage
Create a new typst project based on this template locally.
```bash
# for tudapub
typst init @preview/athena-tu-darmstadt-thesis
cd athena-tu-darmstadt-thesis

# for tudaexercise
typst init @preview/athena-tu-darmstadt-exercise
cd athena-tu-darmstadt-exercise

# for not-tudabeamer-2023
typst init @preview/not-tudabeamer-2023
cd not-tudabeamer-2023
```
Or create a project on the typst web app based on this template.

<details>
<summary>Or do a manual installation of this template.</summary>
For a manual setup create a folder for your writing project and download this template into the `templates` folder:

```bash
mkdir my_thesis && cd my_thesis
mkdir templates && cd templates
git clone https://github.com/JeyRunner/tuda-typst-templates
```
</details>

### Logo and Font Setup
Download the tud logo from [download.hrz.tu-darmstadt.de/protected/ULB/tuda_logo.pdf](https://download.hrz.tu-darmstadt.de/protected/ULB/tuda_logo.pdf) and put it into the `assets/logos` folder.
Now execute the following script in the `assets/logos` folder to convert it into an svg:

```bash
cd assets/logos
./convert_logo.sh
```

Note: The here used `pdf2svg` command might not be available. In this case we recommend a online converter like [PDF24 Tools](https://tools.pdf24.org/en/pdf-to-svg). There is also a [tool](https://github.com/FussballAndy/typst-img-to-local) to install images as local typst packages.

Also download the required fonts `Roboto` and `XCharter`:
```bash
cd assets/fonts
./download_fonts.sh
```
Optionally, you can install all fonts in the folders in `fonts` on your system. But you can also use Typst's `--font-path` option. Or install them in a folder and add the folder to `TYPST_FONT_PATHS` for a single font folder.

Note: wget might not be available. In this case, either download it or replace the command with something like `curl <url> -o <filename> -L`

<details>
<summary>Create a main.typ file for the manual template installation.</summary>
Create a simple `main.typ` in the root folder (`my_thesis`) of your new project:

```js
#import "templates/tuda-typst-templates/templates/tudapub/template/lib.typ": *

#show: tudapub.with(
title: [
My Thesis
],
author: "My Name",
accentcolor: "3d"
)

= My First Chapter
Some Text
```

</details>

### Compile you typst file

```bash
typst watch main.typ --font-path assets/fonts/
```

This will watch your file and recompile it to a pdf when the file is saved. For writing, you can use [Vscode](https://code.visualstudio.com/) with these extensions: [Tinymist Typst](https://marketplace.visualstudio.com/items?itemName=myriad-dreamin.tinymist). Or use the [typst web app](https://typst.app/) (here you need to upload the logo and the fonts).

Note that we add `--font-path` to ensure that the correct fonts are used.
Due to a bug (typst/typst#2917 typst/typst#2098) typst sometimes uses the font `Roboto condensed` instead of `Roboto`.
To be on the safe side, double-check the embedded fonts in the pdf (there should be no `Roboto condensed`).
What also works is to uninstall/deactivate all `Roboto condensed` fonts from your system.

### Publishing on TUbama
For publishing your compiled document (e.g. thesis) on TUbama, the document has to comply with the pdf/A standard.
Therefore, set the PDF standard for compiling for the final submission:
```bash
typst compile main.typ --font-path assets/fonts/ --pdf-standard a-2b
```
In case this should not yield a PDF which is accepted by TUbama, you can use a converter to convert from the Typst output to PDF/A, but check that there are no losses during the conversion.

## Contributing

See [CONTRIBUTING.md](https://github.com/JeyRunner/tuda-typst-templates/blob/main/./CONTRIBUTING.md)

Check warning on line 115 in packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md

View check run for this annotation

Typst package check / @preview/athena-tu-darmstadt-exercise:0.3.0

packages/preview/athena-tu-darmstadt-exercise/0.3.0/README.md#L115

GitHub URL links to default branch: `https://github.com/JeyRunner/tuda-typst-templates/blob/main/CONTRIBUTING.md`. Consider using a link to a specific tag/release or a permalink to a commit instead. This will ensure that the linked resource always matches this version of the package. You can create a permalink here: https://github.com/JeyRunner/tuda-typst-templates/blob/main/CONTRIBUTING.md Alternatively you can also link to a local file. This is preferred if the linked file is already present in the submitted package.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "${SCRIPT_DIR}"

echo "> will download fonts ..."


# roboto font
#wget https://dl.dafont.com/dl/?f=roboto
wget https://mirrors.ctan.org/fonts/roboto.zip
unzip -o roboto.zip
mv roboto/opentype roboto_
rm -r roboto
mv roboto_ roboto
rm roboto/RobotoCondensed*
rm roboto/RobotoSerif_Condensed*
rm roboto/RobotoSerif*
rm roboto.zip

# xcharta font
wget http://mirrors.ctan.org/fonts/xcharter.zip
unzip -o xcharter.zip
mv xcharter/opentype xcharter_
rm -r xcharter
mv xcharter_ xcharter
rm xcharter.zip
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/sh

# first download the logo from:
# https://download.hrz.tu-darmstadt.de/protected/ULB/tuda_logo.pdf

cd "$(dirname "$0")"

# install with: apt get install pdf2svg
pdf2svg tuda_logo.pdf tuda_logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
197 changes: 197 additions & 0 deletions packages/preview/athena-tu-darmstadt-exercise/0.3.0/example/main.typ
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
#import "@preview/athena-tu-darmstadt-exercise:0.3.0": (
difficulty-format, info-layout, point-format, subtask, task, task-points-header, text-roboto, tuda-difficulty-stars,
tuda-gray-info, tuda-section, tuda-subsection, tudaexercise,
)

#show: tudaexercise.with(
language: "en",
info: (
title: "Usage of TUDaExercise",
header_title: "TUDaExercise",
subtitle: "A small guide.",
author: (("Andreas", "129219"), "Dennis"),
term: auto,
date: datetime.today(),
sheet: 5,
group: 1,
tutor: "Dr. John Smith",
lecturer: "Prof. Dr. Jane Doe",
),
info-layout: info-layout.exercise(),
headline: ("title", "name", "id"),
logo: image("logos/tuda_logo_replace.svg"),
design: (
accentcolor: "0b",
colorback: true,
darkmode: "darkmode" in sys.inputs,
),
task-prefix: auto,
task-prefix-subtasks: false,
)

#set enum(spacing: 1em, numbering: "1.", indent: 5pt)
#set list(marker: [--], indent: 5pt, spacing: 1em)

= Most basic usage

The easiest way is by using `typst init` like on this templates universe page. But here is everything broken down:

== Add to typst
+ Import the package: `#import "@preview/athena-tu-darmstadt-exercise:0.3.0": *`

+ Apply the template using `#show: tudaexercise.with(<options>)`

== Fonts
The template requires the following fonts: Roboto and XCharter. Typst right now does not allow fonts to be installed as packages. So you will either need to install them locally or configure Typst and co. to use the fonts.

#tuda-gray-info(title: "For more info:")[
https://github.com/JeyRunner/tuda-typst-templates?tab=readme-ov-file#logo-and-font-setup
]

== Logo
Similarly as the logo is protected and Typst does not have a folder for global resources you will need to setup the logo manually. You will need to download the logo and convert it into a svg. Then pass the `logo: image(<path to logo>)` option to this package. The height of the logo will automatically be set to 22mm.

Additionally, a partner or institution logo can be passed using the `sublogo` parameter.

= Configuring the title
All options of the title can be controlled using the `info` dictionary:

```
info: (
title: "The big title",
header_title: "The title in the page header",
subtitle: "The smaller title below",
author: "The author",
// author: ("Author 1", "Author 2"), // can also be an array of authors
// author: (("Author 1", "123456"), "Author 2"), // or the matriculation number can be provided

term: "The current term aka. semester",
// term: auto, // can also be inferred automatically
date: "The current date",
// date: datetime.today(), // can also be a datetime object
// _date: datetime.today(), // can start with an underscore to control the date for automatic term generation but not show date in the info
sheet: 0, // The current sheetnumber

// submission extras:
group: "05", // the lecture group you are in
tutor: "John", // the tutor of your group
lecturer: "Karpfen", // the lecturer of the module that this assignment is for
)
```
The options can also be left empty. Then their corresponding item will not appear.

Additionally there is the `info-layout` field which controls the subline of the title's look. By default this is set to the exercise version. There also is a submission version which displays the submission's additional information fields. Or, if both don't fit your needs, you can also pass raw content to the field and control the subline to your will. \
For more info see the exported `info-layout` module of this template.

If you do not want to have a title card you can also set `show-title` to `false`.

= Design

You can control the design using the following options of the `design` dictionary:

```
design: (
accentcolor: "0b", // either be color code of the TUDa coloring scheme or a typst color object
colorback: true, // whether the title should have the accent color as background,
darkmode: false, // If you like a dark background
)
```

Furthermore using the `tud_design` state you get a dictionary with the following colors used by the template: ` text_color, background_color, accent_color, text_on_accent_color`.

Note that changing any of the state's values will have no effect on the template. See the state as read-only.

If you do not like lines around subtasks you can pass `subtask: "plain"` to not show the lines.

= More options

The leftover options are:
- `language` to control the language of certain keywords (can either be `"de"` or `"en"`)
- `margins` which is a dictionary controlling the page margins
- `paper` which currently only supports `"a4"`
- `headline` control the headline. The following values are supported:
- An array (or single string) with keys `"title"`, `"name"` and `"id"` for the default headline style. Further, `"fl"` can be provided to control the order of first and last name in the header.
- Raw `content` that will be displayed
- `none` or `()` for no headline


= Creating tasks

Creating tasks is fairly easy. You simply write
```
= Title of your task
```
Similarly subtasks are created using
```
== Title of your subtask
```

If you dislike the default task format, you can slightly customize it using the `task-prefix`, `task-separator` and `task-prefix-subtasks` fields of the template.

= Tasks with points and difficulty #task-points-header(points: 5, difficulty: 2.65)
== Task point header #task-points-header(points: 2)
If you want to add points and difficulty to your tasks, you can use the `task-points-header` function. This will add a header to the task with the points and difficulty.
You can pass the following parameters:
- `points` (int or float): The amount of points of the task
- `difficulty` (int or float): The difficulty rating the task, must be a number between 0 and `max-difficulty`
- `max-difficulty` (int): The maximum difficulty, default is 5
- `hspace` (length): The horizontal space between the task title and the points, default is 1em
- `details-seperator` (string): The string that separates the task title from the points
header, default is `", "`
- `star-fill` (color): The fill color of the stars, default is the currentaccent color
- `points-function` (function): The function to format the points, default is `point-format`
- `difficulty-function` (function): The function to format the difficulty, default is `tuda-difficulty-stars`, but you can also pass `difficulty-format` to use a more simple text representation of the difficulty (or even a custom function). See @task-and-subtask-commands to see `difficulty-format` in action.

For example you can writethe following command to recreate the header of this task:
```typst
= Tasks with points and difficulty #task-points-header(points: 5, difficulty: 2.65)
== Task point header #task-points-header(points: 2)
```

== Task and subtask commands #task-points-header(points: 1, difficulty: 1, difficulty-function: difficulty-format)<task-and-subtask-commands>
Instead of the normal section and subsection commands you can also use the `task` and `subtask` functions to create tasks and subtasks with points and difficulty:
```typst
#task(points: 5, difficulty: 3.69)[Tasks with *points* and _difficulty_]
// you can also just pass the points and omit the title if desired
#subtask(points: 2)
```
They take the same parameters as the `task-points-header` function, but additionally you can pass a `title` parameter to set the title of the task or subtask.
== Advanced task header styling (#task-points-header(
points: 2,
difficulty: 1.5,
max-difficulty: 3,
details-seperator: " | ",
hspace: none,
star-fill: blue,
points-function: point-format.with(points-name-single: "Bonus point", points-name-plural: "Bonus points"),
difficulty-function: tuda-difficulty-stars.with(difficulty-name: "Effort", edges: 6, rotation: 45deg, baseline: 2pt),
))
As mentioned above, you can overwrite the point- and difficulty functions of the `task-points-header` function. This allows you to customize the header even further. For example, you can change the number of edges of the stars, the rotation of the stars, or the fill color of the stars:
```typst
== Advanced task header styling (#task-points-header(points: 2, difficulty: 1.5, max-difficulty: 3, details-seperator: " | ", hspace: none, star-fill: blue, points-function: point-format.with(points-name-single: "Bonus point", points-name-plural: "Bonus points", baseline: 2pt), difficulty-function: tuda-difficulty-stars.with(difficulty-name: "Effort", edges: 6, rotation: 45deg)))
```
#tuda-gray-info(title: "Note:")[
Passing all these parameters everytime is a bit cumbersome, but since typst #link("https://github.com/typst/typst/issues/147")[does not yet support user-defined elements], this is the only way to archieve this without relying on states. You can create your own function to simplify this if you want to: ```typst
#let custom-tph = task-points-header.with(points-function: point-format.with(points-name-single: "Bonus point", points-name-plural: "Bonus points"), difficulty-function: difficulty-format)
```
]

#pagebreak()

#tuda-subsection("Sections")

If you want to create an unnumbered section you can use the `tuda-section` or `tuda-subsection` functions accordingly. Simply pass the section title as a string.
```
#tuda-subsection("Sections")
```

= Currently not supported features from the LaTeX template and the why

+ Points -- This would require a state and make declaring tasks far more complex than just using headings. Though technically the points can also be written manually into the task title.

+ Solutions -- Enabling whether solutions should be shown or not from within the template would again require a state and is thus rather costly. However you can implement them rather easily as from outside the template a boolean will already do.

= Migrations from v0.2.0 to v0.3.0

- The `title-sub` parameter was renamed to `info-layout`. Further, it now generates no subline, if set to `none`, or no relevant info keys are passed.
- A `task-prefix` of `none` now removes the task prefix. Instead, `auto` should be passed, to have the default task prefix.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading