Universe

Create project in app

Official template for writing thesis at the Warsaw University of Technology. The template should accomodate all faculties.

Usage

Web app

Click the Create project in app on the package website to initialize the project from this template on the web app.

Locally

  1. Install Typst compiler
  2. Run the following command, which will initialize your project in a new directory:
typst init @preview/wut-thesis
  1. Go to the project’s directory and run the compiler in incremental compilation mode to start working:
cd wut-thesis
typst watch thesis.typ

Font installation

If you want to compile your thesis with a title page, then you need to install the appropriate fonts. You can safely ignore this section if you don’t need the title page (e.g., you will be using the one generated by APD).

  1. Download PW_Adagio_Slab.zip from WUT’s intranet (login with USOS credentials).
  2. Install the fonts:
    • web app: upload font files Adagio_Slab-Regular.otf and Adagio_Slab-Light.otf to your project (you can put them in a subdirectory such as fonts).
    • locally: install the font via your OS. Note that if a compiler is working in a watch mode, you must stop it and rerun it.

If you plan to open-source your thesis, please exclude the font files from your repository. For further information on adding fonts to your project, please refer to the Typst documentation.

Configuration

Follow the comments in the thesis.typ to configure your thesis.

Drafting and printing

  • The draft variable is used to change the coloring of links, show TODOs (both in the thesis and TODO outline), and DRAFT in the header and the title. It should be set to true until the final version is handed in.

  • The in-print variable is used to generate a PDF file for physical printing (it adds bigger margins on the binding part of the page, changes the numbering placement, and turns off coloring of links). It should be set to false unless you want to create a version of the PDF file for physical print, in which case, set it to true. Please set this variable to’ false’ to prepare a PDF file for the final hand-in (uploading it to APD/OneDrive).

Title page

By default, the template will generate an appropriate title page (assuming you insert all the appropriate information under the titlepage-info argument and have installed appropriate fonts). If you don’t need the title page (e.g., you will be using the one generated by APD), then set titlepage-info: none.

How to write using Typst?

content/tutorial.typ contains a brief tutorial on the Typst syntax and capabilities. The dummy thesis contains standard typesetting objects such as basic tables, figures, code listings, and algorithms. For examples of fully-fledged theses prepared using this template, you can refer to the following repositories:

Good practices

  • Save your generated graphics (e.g., graphs) in the vector form (as .svg)
  • Consider optimizing your image files, for example by using svgo, jpegoptim or oxipng:
    svgo my-file.svg
    jpegoptim my-file.jpg
    oxipng my-file.png
    
    Likewise, optimize your thesis file prior to the final hand in, for example by using pdfcpu:
    pdfcpu optimize thesis.pdf
    

Limitations

Currently one of the biggest limitations of Typst is the inability to add PDF figures. To mitigate this problem save your graphics in the .svg format. If for some reason you need to insert a PDF file then you can convert it to SVG using inkscape with the following command:

inkscape --without-gui --file=my-file.pdf --export-plain-svg=my-file.svg

Problems and Contributions

In case of any problems/feature requests, please open an issue or PR in the project’s repository.

License

The template source code and graphics in the template/images/ directory are distributed under the MIT0 license. You are free to use, modify, and distribute it without any warranty.

[!IMPORTANT]

This project contains the Warsaw University of Technology logo graphic for creating the title page.

Please note: The logo is a Warsaw University of Technology copyright. Except for this template, it should not be used for other purposes.


The dummy thesis, including the sources, was created by generative AI and is simply meant as a placeholder. The content, citations, and data presented are not based on actual research or verified information. They are intended for illustrative purposes only and should not be considered accurate, reliable, or suitable for any academic, professional, or research use. Any resemblance to real persons, living or dead, or actual research, is purely coincidental. Users are advised to replace all placeholder content with genuine, verified data and references before using this material in any formal or academic context.

Acknowledgements

This template is loosely based on the not-jku-thesis template.