This is a TAU thesis template written in the
typst typesetting language, a potential
successor to LaTeΧ. The version of Typst used to test
this template is 0.14.0. See the Typst
tutorial for basic
instructions on how Typst is used.
Using the template on typst.app
This template is also available on Typst Universe
as scholarly-tauthesis. Simply
create an account on https://typst.app/ and start a new
scholarly-tauthesis project by clicking on Start from
template and searching for scholarly-tauthesis.
If you have initialized your project with an older stable
version of this template and wish to upgrade to a newer
release, the simplest way to do it is to change the value
of $VERSION ≥ 0.9.0 in the import statements
#import "@preview/scholarly-tauthesis:$VERSION" as tauthesis
to correspond to a newer released version. Alternatively,
you could download the tauthesis.typ file from the
thesis template repository, and upload it
into your project on https://typst.app/. Then use
#import "path/to/tauthesis.typ" as tauthesis
instead of
#import "@preview/scholarly-tauthesis:$VERSION" as tauthesis
to import the tauthesis module.
Note
Versions of this template before 0.9.0 do not actually work with typst.app due to a packaging issue.
Local installation
If Typst Universe is online, this template will be downloaded automatically to
$CACHEDIR/typst/packages/preview/scholarly-tauthesis/$VERSION/
when one runs the command
typst init @preview/scholarly-tauthesis:$VERSION mythesis
Here $VERSION should be ≥ 0.9.0. The value
$CACHEDIR for your OS can be discovered from
https://docs.rs/dirs/latest/dirs/fn.cache_dir.html.
Manual installation
For a manual installation, download the contents of this repository via Git or as a ZIP file from the template tags page, and store them in the folder
$DATADIR/typst/packages/preview/scholarly-tauthesis/$VERSION/
so that a local installation of typst can
discover the tauthesis.typ file no matter
where you are running it from. To find out the
value $DATADIR for your operating system, see
https://docs.rs/dirs/latest/dirs/fn.data_dir.html. The
value $VERSION is the version A.B.C ≥ 0.9.0 of this
template you wish to use.
Initializing a local copy of the project
Once the package has been installed either automatically or manually, the command
typst init @preview/scholarly-tauthesis:$VERSION mythesis
creates a folder mythesis with the template files in
place. Simply make the mythesis folder you current
working directory and run
typst compile template/main.typ --pdf-standard ua-1
in the shell of your choice to compile the document from scratch. Alternatively, type
typst watch template/main.typ --pdf-standard ua-1
to have a typst process watch the file for
changes and compile it when a file is changed.
If all else fails…
… and these installation instructions do not work for some
reason, the package file tauthesis.typ can be moved next
to the file template/main.typ, and the import statements
#import "@preview/scholarly-tauthesis:$VERSION" as tauthesis
can be changed to
#import "relative/path/to/tauthesis.typ" as tauthesis
in all files that need to import the template package. This
includes at least template/main.typ but possibly other
content files as well.
On the choice of fonts
As of 2025-04-16 the Typst packaging ecosystem has yet to figure out a best way of distributing template-specific fonts and other binary-format resources that a template might rely on. The packaging system currently relies on a Git repository, which means that it is not practical to include the fonts that Tampere University recommends along with this template.
You should therefore download and install the (static)
OpenType (.otf) or TrueType (.ttf) versions of the
recommended fonts onto your system, if they are not
already installed. If you want to write your thesis on
typst.app, it should be enough to upload the required
(static versions) of the .ttf or .otf font files into
the project there, if they are not already available on
the service.
The current font recommendation is as follows:
-
Normal text: Roboto,
-
Mathematics: STIX Two Math and
-
Raw text or code: Fira Mono.
These are all openly licensed, meaning they should be accessible for all major operating systems. They also support the font features, such as small capital letters and bold text, that are required by this thesis template.
Archiving the final version of your work
Before submitting your thesis to the university archives, it needs to be converted to an accessible PDF format. Typst versions ≥ 0.14.0 should support the creation of PDF/UA-1 files, when run with the command
typst compile --pdf-standard ua-1 template/main.typ
This should work, by itself, if you do not include PDF files as images into your document, or forget to add alternative texts to your images and equations. To include vector graphics, use SVG files instead. See the Typst accessibility guide for details.
Once you are getting ready to submit your thesis, check that it fulfills basic accessibility requirements by running the thesis file through the program veraPDF with the PDF/UA-1 profile. Profile selection should happen automatically, if the file was generated with the correct PDF standard flag of the Typst compiler.
If the program complains that the file template/main.pdf
does not conform to the standard, the Muuntaja-service of
Tampere University could be used to do the final conversion
to a weaker PDF/A standard. See the related instructions
(link) for how to do it. Basically
it boils down to feeding your compiled PDF document to
the converter at https://muuntaja.tuni.fi. Remember to
check that the output of the converter is not corrupted,
before submitting your thesis to the archives. Also note
that the converter might strip tags from your document,
making in unaccessible.
In addition to using veraPDF to perform basic PDF/UA-1
conformance checks, you should also have a quick look at
the accessibility tags generated by Typst. This can be done
on the service showtags
provided by the helpful people of The LaTeX
Project. On Microsoft Windows®︎, the program
PAC is also
available. You do not have to go through the entire tag
tree, as it is mainly meant for screen reader consumption,
but it is a good idea to look up alternative texts of
images and equations (Formula elements) and check that
they seem sensible.
Once the output of both veraPDF and showtags (or PAC) seems acceptable, you may submit your thesis to Trepo.
Note: if you are unable to produce an accessible version of your thesis according to these PDF accessibility checkers, you should attach the source code of the thesis in a sensible reading order to the Trepo submission! This template shows examples of embedding the source code into the PDF file itself, but note that a separate ZIP archive is the best format for the source code submission. Visually impaired people might not be able to extract the attachments from a PDF file, but a separate ZIP archive can be opened easily on any system.
Usage
Start out by filling in the thesis metadata into the file
metadata.typ. Once this is in
place, you may start writing the content of your thesis.
Front matter contents are written into the files in
the folder frontmatter/.
These include the thesis abstracts, preface, glossary and
artificial intelliegence disclaimer page contents.
You can either write your entire main matter in the
mainmatter/index.typ
file, or more preferrably, split it into multiple
chapter-specific files, place those in the
mainmatter/ folder and include
them into the index file, which this template tries to
demonstrate. Appendices may be included into the file
appendices/index.typ
as their own chapters.
Appendices are added into the folder
appendices/. They can
all be written as separate chapters into the file
appendices/index.typ,
or included into the index file as the index file currently
demonstrates.
You can write your own commands (functions) in the
preamble.typ file. This needs
to be imported at the start of each chapter you plan to use
the commands in.
You should probably not modify the file
tauthesis.typ, unless there is a bug
that needs fixing right now, and not when the maintainer of
this project manages to find the time to do it.
Contributing
Issues may be created in the issue tracker on the template GitLab repository, if one has a GitLab account. Merge requests may also be performed after GitLab account creation, and forking the project. See GitLab’s documentation on this to find out how to do it (link).
License
This project itself uses the MIT license. See the LICENSE file for details.