Universe

Create project in app

modern-zhaw-thesis is an unofficial template for ZHAW academic works, adapted from the official branding and following official requirements. It supports both English and German.

Here’s a showcase of how it looks like.

Setup

  1. Download the font files from the repo’s font directory:

    GitHub

    Direct download

Web-app (easiest)

  1. Create a project using the template
  2. In the left sidebar, under “Files”, create a folder called fonts
  3. Drag and drop the files into this fonts directory

Local

  1. Install Typst from https://typst.app/open-source/
  2. Make the downloaded fonts accessible to the compiler (https://typst.app/docs/reference/text/text/#parameters-font)
  3. Run typst init @preview/modern-zhaw-thesis:0.1.1 in your project directory

All configuration options

Below is the complete list of configuration options, including default values and explanations. Most are optional.

#import "@preview/modern-zhaw-thesis:0.1.1": zhaw-thesis, languages

// Note: `override` options accept Typst files, e.g. `override: [#include: "my-override.typ"]`
#show: zhaw-thesis.with(
  language: languages.de,       // Document language

  cover: (
    school: none,               // E.g., "School of Engineering" REQUIRED
    institute: none,            // E.g., "Computer Science" REQUIRED
    work-type: none,            // E.g., "Bachelor Thesis" REQUIRED
    title: none,                // Work's title REQUIRED
    authors: none,              // Author name(s), e.g. ("Max Muster", "Erika Muster") REQUIRED
    supervisors: none,          // Supervisor name(s), two formats:
                                   // 1. Simple: `("Prof. Dr. John Doe", "Dr. Jane Doe")`
                                   // 2. Categorised: `(main: "Prof. Dr. John Doe",
                                   //       secondary: "Dr. Jane Doe", external: "Dr. External")`
    industry-partner: none,     // Industry partner name, e.g. "Schweizer AG"
    study-program: none,        // E.g., "Computer Science BSc"
    override: none,             // Override the cover page with your own file
  ),

  abstract: (
    keywords: none,             // List of keywords, e.g. `("machine learning")` REQUIRED
    en: none,                   // English abstract text
    de: none,                   // German abstract text. REQUIRED by ZHAW even when lang is English.
    override: none,             // Override the abstract page with your own file
  ),

  acknowledgements: (
    text: none,                 // Custom acknowledgements text
    override: none,             // Override the acknowledgements page with your own file
  ),

  declaration-of-originality: (
    location: none,             // E.g., "Zurich" REQUIRED
    text: none,                 // Custom declaration text
    override: none,             // Override the declaration page with your own file
  ),

  biblio: (
    file: none,                 // Stream to .bib file e.g. `read("references.bib", encoding: none)`
    style: "ieee",              // Bibliography style, e.g. "ieee"
  ),

  glossary-entries: none,       // Variable containing glossary entries (see template)
  appendix: none,               // Appendix Typst file, e.g. [#include: "appendix.typ"]
  page-border: true,            // Enable/disable page border
  hide-frontmatter: false,      // Hide all content before the 1st chapter (to focus on writing)
  print-mode: false,            // Gives a white background to the cover page to reduce ink usage  
)

Exported symbols

The package exports the following symbols for you to use if needed:

#import "@preview/modern-zhaw-thesis:0.1.1": (
  zhaw-thesis,   // Main template function, see docu above
  callout,       // Coloured callout box to highlight important text

  centered,      // Vertically centred layout
  today,         // Current date in local format
  languages,     // Available languages
  push-lang,     // Set new language (see docu below)
  pop-lang,      // Switch back to previous language (see docu below)
)

You can refer to the demo document for usage examples.

Configuration of dependencies

Glossary

The template uses the Glossy package to power the glossary feature under the hood. You can find instructions about how to use all its options directly on the package page.

Code blocks

The template uses the Codly package to style code snippets. You can find instructions about how to use all its options in its PDF manual.

Multi-linguism

Should you need use different languages for different pages of your work, you can refer to Tieflang’s documentation.

Feature requests & problems

Feel free to request features or report probems here

License and Trademark Notice

Software License

The Typst code and template structure in this package are licensed under the MIT-0 License (MIT No Attribution). See the LICENSE file for details.

ZHAW Logo and Trademark

Important: The ZHAW logo and trademark included in this package are NOT covered by the MIT-0 license.

  • Trademark Owner: The ZHAW logo and brand are the exclusive property of Zürcher Hochschule für Angewandte Wissenschaften (ZHAW).
  • Rights: Users of this package do not receive any rights to sublicense, sell, or redistribute the ZHAW logo under the MIT-0 license terms.
  • Usage: The logo is included for the specific purpose of creating ZHAW-compliant academic documents. Any other use requires permission from ZHAW.

As specified in section 2.b.2 of Creative Commons and similar public licenses: “The trademark ZHAW is not affected by the license. Patent and trademark rights are not licensed under this Public License.”

For information about ZHAW’s branding guidelines, refer to the official ZHAW trademark guidelines for open educational resources.

Unofficial Template Notice

This is an unofficial template created by a student. It is not endorsed, maintained, or supported by ZHAW. The template attempts to follow official ZHAW branding guidelines and academic requirements, but users should verify compliance with current university standards.