Typst templates for documents at the Integrated Systems Laboratory (IIS), ETH Zurich.
| Package | Description | Audience |
|---|---|---|
ethz-iis-dissertation |
PhD dissertation | PhD students |
ethz-iis-thesis |
Master / Bachelor / Semester thesis report | Students |
ethz-iis-research-plan |
PhD research plan (first-year report) | PhD students |
ethz-iis-assignment |
Thesis assignment sheet | Advisors |
Tip
The easiest way is to click one of the links above or search for ethz-iis on
Typst Universe and click Start from template to
create a new project in the Typst web app directly.
Alternatively, initialize a local project from the command line with typst init:
typst init @preview/ethz-iis-dissertation # PhD dissertation
typst init @preview/ethz-iis-thesis # thesis report
typst init @preview/ethz-iis-research-plan # research plan
typst init @preview/ethz-iis-assignment # assignment sheetClone the repository. A justfile provides all common recipes:
just link <pkg> # install a package under @local/ethz-iis-*
just compile <pkg> # compile a template
just fmt # format all .typ files
just release <pkg> # bump version from CHANGELOG, tag, and push
just prepare <pkg> /path/to/fork # copy to typst/packages fork for submissionNote
Most recipes have a -all variant (e.g. just compile-all). Run just to list all available recipes.
Run just link <pkg> once after cloning to install packages into Typst's @local
namespace. Then change @preview/ to @local/ in a template's main.typ to
pick up local changes on every compile:
git clone https://github.com/pulp-platform/iis-typst
cd iis-typst
just link <pkg>
# in template/main.typ: change @preview/ethz-iis-* to @local/ethz-iis-*
just compile <pkg>See RELEASING.md for the full release and publishing workflow.
Each template lives in its own subdirectory and is an independent Typst package:
<package>/
├── typst.toml # package manifest
├── lib.typ # template implementation
├── shared/ # symlink → ../shared/ (utils + ETH figures)
└── template/ # example project copied on `typst init`
└── main.typ
Shared utilities (utils.typ) and ETH brand assets (figures/) live in
shared/ and are symlinked into each package. The just prepare recipe
dereferences symlinks and rewrites @local/ → @preview/ imports when
copying to the Typst Universe fork.
Apache-2.0 — see LICENSE.
Warning
The ETH Zürich logo (shared/figures/eth_logo_kurz_pos.svg) is a trademark of
ETH Zürich and is not covered by the Apache-2.0 license. It is reproduced as
publicly available on Wikimedia Commons.
Users must comply with ETH Zürich's branding guidelines.