Skip to content

Repository files navigation

Master Thesis Template

This repository is a template for writing a Master's Thesis using Typst and creating accompanying presentation slides using Slidev.

Repository Structure

  • thesis/ contains the thesis source, Typst templates, assets, bibliography, fonts, and build scripts.
  • present/ contains the Slidev presentation, including components, diagrams, and public assets.
  • expose/ contains the thesis exposé.
  • notes/ directory for personal research notes and planning documents.
  • build/ contains generated build output such as PDFs, lint results, and PlantUML files.

Getting Started

Thesis Document

  1. Edit metadata (title, author, degree, examiners, etc.) in thesis/main.typ.
  2. Write chapters in thesis/chapters/ and include them in thesis/chapters/0-chapters.typ.
  3. Manage acronyms in thesis/acronyms.typ and glossary entries in thesis/glossary.typ.
  4. Add literature citations in thesis/bib.bib.

To compile the thesis to PDF:

typst compile thesis/main.typ build/thesis.pdf --root . --font-path thesis/fonts/

Thesis Linting

A unified lint script checks the Typst thesis for academic style, terminology, headings, Unicode symbols, lists, paragraph length, articles, references, bibliography quality, and spelling:

python thesis/scripts/lint.py

Use --fix to apply supported automatic corrections.

Text-to-Speech (Audio Generation)

Generate spoken audio per chapter (for proofreading or audio export) using Kokoro-TTS:

python thesis/scripts/generate_tts.py

Options include --chapter <num|name>, --voice <voice>, --speed <float>, and --list-chapters. Audio (.mp3) and extracted text are cached and saved to build/audio/.

Presentation

The Slidev presentation is located in present/.

cd present
pnpm install
pnpm dev    # Start dev server
pnpm build  # Build presentation slides & PDF export

Build Process

  • Reusing Typst in Slidev: Typst diagrams can be rendered inside Slidev using the Typst Vite plugin. For this setup, .typ files should reside within present/diagrams/.
  • PlantUML Precompilation: PlantUML diagrams (present/diagrams/*.puml.md) are precompiled to SVG in build/puml/ using python thesis/scripts/precompile.py.
  • Lint Results in CI: The lint script writes findings to build/lint.txt. The thesis template can display a Lint Errors page when findings exist.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages