A Typst template to write qualification papers, bachelor’s theses, and master’s theses for Latvijas Universitāte (Faculty of Science and Technology). The package provides university-compliant layout rules, helpers for title/abstract/attachments, and a ready-to-edit example.
Usage
Use the template in the Typst web app by clicking “Start from template” and
searching for solo-lu-df
, or initialize a new project with the CLI:
typst init @preview/solo-lu-df
Typst will create a new directory with the files needed to get started.
Configuration
This template exports the ludf
function which accepts named arguments to
configure the whole document and attachment
helper function. Important arguments:
title
: Document title (content).authors
: Array of author dictionaries. Each author must havename
andcode
and may includelocation
andemail
.advisors
: Array of advisor dictionaries withtitle
andname
.reviewer
: Reviewer dictionary withname
.thesis-type
: e.g.,"Bakalaura darbs"
,"Kvalifikācijas Darbs"
.date
:datetime(...)
value for the thesis date. Defaults totoday
.place
: Place string (e.g.,"Rīga"
).abstract
: A record withprimary
andsecondary
abstracts. Each hastext
(content) andkeywords
(array) as well astitle
,lang
andkeyword-title
.bibliography
: Result ofbibliography("path/to/file.yml")
ornone
.attachments
: Tuple ofattachment(...)
items (tables, figures).- Positional argument: the document body follows the
ludf.with(...)
call.
The function also accepts a single, positional argument for the body of the paper.
The template will initialize your package with a sample call to the ludf
function in a show rule. If you want to change an existing project to use this
template, you can add a show rule like this at the top of your file:
#import "@preview/solo-lu-df:0.1.0": *
#show: ludf.with(
title: "Darba Nosaukums",
authors: (
(name: "Jānis Bērziņš", code: "jb12345", email: "jb12345@edu.lu.lv"),
),
advisors: (
(title: "Mg. dat.", name: "Ivars Ozoliņš"),
),
date: datetime(year: 2025, month: 1, day: 1),
place: "Rīga",
bibliography: bibliography("bibliography.yml"),
abstract: (
primary: (text: [ Anotācijas teksts... ], keywords: ("Foo", "Bar")),
secondary: (text: [ Abstract text... ], keywords: ("Foo", "Bar")),
),
attachments: (
attachment(
caption: "Attachment table",
label: <table-1>,
table(
columns: (1fr, 1fr),
[Column 1], [Column 2],
),
),
)
// Your content goes below.
Examples
A ready-to-edit qualification thesis example is included in the repository:
View the example on GitHub: https://github.com/kristoferssolo/LU-DF-Typst-Template/tree/main/examples/qualification-thesis
The example contains main.typ
, bibliography.yml
and small helpers under
utils/
. Use it as a starting point or copy it into a new project.
Tips
- Install the fonts used by the template (Times family, JetBrains Mono) to
reproduce exact layout, or change font names in
src/lib.typ
. You can override font by setting text font to your desired one. - Bibliography: use Typst’s
bibliography(...)
call with a YAML or Bib file. - Diagrams: the example imports the fletcher package and includes small
helpers under
examples/.../utils/
, but you can also use exported images from draw.io (diagrams.net) or any other diagram editor.
License
This project is licensed under the MIT-0 License - see the LICENSE file for details.