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
- Install Typst compiler
- Run the following command, which will initialize your project in a new directory:
typst init @preview/wut-thesis
- 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).
- Download
PW_Adagio_Slab.zip
from WUT’s intranet (login with USOS credentials). - Install the fonts:
- web app: upload font files
Adagio_Slab-Regular.otf
andAdagio_Slab-Light.otf
to your project (you can put them in a subdirectory such asfonts
). - 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.
- web app: upload font files
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 totrue
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 tofalse
unless you want to create a version of the PDF file for physical print, in which case, set it totrue
. 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:
- “Implementation of the de novo genome assembler in the Rust programming language” (engineering thesis)
- “Heuristic hyperparameter optimization for neural networks” (master’s thesis)
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
oroxipng
:
Likewise, optimize your thesis file prior to the final hand in, for example by usingsvgo my-file.svg jpegoptim my-file.jpg oxipng my-file.png
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.