Back to Blog

I Tried Typst (And Actually Loved It)

PublishedFebruary 21, 2026
CategoryTools
Tags
TypstLaTeXAcademic WritingThesisTools

This semester I officially started working on my graduation thesis. The university template was in LaTeX, Overleaf was the expected tool, and everything seemed straightforward — until I actually opened the project.

Within the first week I had already hit a memory limit error, spent half a day debugging a bibliography package conflict, and developed a reflex of switching tabs the moment I clicked compile to go do something else while it built. For a document I’d be living inside for months, this was not a sustainable workflow.

So I went looking for an alternative. I found Typst — and I actually loved it.


The Overleaf Problem

Overleaf is genuinely useful. Collaborative editing in the browser, no local installation, version history — for most academic work it’s fine. But graduation theses stress it in ways normal papers don’t.

The university template I was given came with custom chapter styles, a cover page macro, and a bibliography configuration spread across four separate style files. The combination meant:

  • Compile times of 2–4 minutes per build, even for small edits
  • Memory cap errors that appeared mid-document with no explanation
  • Package conflicts from the template’s dependencies fighting each other
  • Cryptic error messages pointing at generated auxiliary files I never touched

The worst part was the feedback loop. Edit a sentence. Wait three minutes. Error. Google the error for twenty minutes. Try a fix. Wait three minutes. Different error. Repeat until you question every decision that led you to engineering.


Finding Typst

I searched “LaTeX alternative” half-expecting nothing useful. Instead I found Typst — a new typesetting system built from scratch, designed to be fast, modern, and actually programmable. The pitch: write in a cleaner markup syntax, get near-instant compilation, and get readable error messages.

My first reaction was skepticism. Every “LaTeX killer” I’d seen was either too limited for technical documents or just as painful in different ways. I gave it thirty minutes anyway.

That was the beginning of this semester. I haven’t opened Overleaf since.


What Typst Can Actually Do

Before getting into the fun stuff, here’s the honest scope of what Typst handles — and it’s more than you’d expect:

Typst feature showcase — diagrams, math, charts, circuit diagrams, and more

A sampling of what Typst's ecosystem can produce natively — transformer diagrams, 3D plots, Gantt charts, quantum circuits, mathematical proofs, and more.

Math rendering, data visualisation, vector graphics, charts, circuit diagrams — all without leaving Typst. The ecosystem is younger than CTAN but growing fast, and the scripting layer means things that would require a separate tool in LaTeX can often be done inline.


The First Hour

The syntax clicked quickly. Coming from LaTeX, it felt like someone had redesigned the language with the benefit of hindsight.

thesis.typ
#set document(title: "My Graduation Thesis", author: "Javad Ibrahimli")
#set page(paper: "a4", margin: (top: 3cm, bottom: 2.5cm, x: 2.5cm))
#set text(font: "New Computer Modern", size: 11pt, lang: "en")
#set heading(numbering: "1.1")

= Introduction

This is my first chapter. Typst handles headings,
*bold*, _italic_, and `inline code` naturally.

== Background

Subsections work the same way. No \begin{} needed.

No preamble ceremony. No \usepackage chains. No \begin{document}. Just content.

The compilation? Under a second. Every time. Even as the document grows. Typst’s incremental compiler only reprocesses what changed, so a single-sentence edit on page 12 doesn’t rebuild the entire PDF.

Compared to Overleaf's 2–4 minute builds on the same document structure, local Typst compilation runs in 200–400ms. That's not a small difference — it changes how you write.

Virgin LaTeX vs. Chad Typst

This meme exists for a reason.

Virgin LaTeX vs Chad Typst meme

The community has feelings about this.

The error messages alone justify the switch. A LaTeX error looks like:

! Undefined control sequence.
l.847 \@ifstar
              {\ST@star}{\ST@nostar}[#1]

A Typst error looks like:

error: unknown variable: `titl`
  --> thesis.typ:12:8
   |
12 | #set text(titl: "My Thesis")
   |           ^^^^ did you mean `title`?

It points to the exact line. It tells you what’s wrong. It suggests the fix. It reads like a 2025 compiler, not a 1985 error code.


Wait — There’s a Tetris Game?

Here’s where things got unexpectedly fun.

While exploring the Typst package registry, I found @preview/soviet-matrix — a fully playable Tetris implementation that runs inside a Typst document. Two lines of code:

main.typ
#import "@preview/soviet-matrix:0.2.1": game
#show: game.with(seed: 0)

Then you type your moves as a comment block — a to move left, d to move right, s to soft drop, f to hard drop, q/e to rotate — and the document renders the resulting board state.

Tetris running inside a Typst document

Soviet Matrix — fully playable Tetris, rendered as a Typst document. The code on the left controls the game; the board on the right updates on each compile.

This sounds like a gimmick but it’s actually a testament to how capable Typst’s scripting layer is. It’s a full programming environment — functions, loops, conditionals, state — embedded directly in your document. If someone can build Tetris in it, writing a custom chapter header style is trivial.


And a 3D Vector Game Too

The community didn’t stop at Tetris. There’s also @preview/badformer — a 3D wireframe exploration game that runs entirely inside Typst’s PDF renderer. No JavaScript, no external engine, just Typst’s native drawing primitives constructing geometry frame by frame.

main.typ
#import "@preview/badformer:0.1.0": game
#show: game(read("main.typ"))

// Move with WASD and jump with space.
wwwwwwww

Badformer — 3D wireframe game running inside Typst

Badformer: a 3D wireframe game rendered natively by Typst. You move by typing WASD into the source file and recompiling.

Both games exist not because Typst’s team built them, but because community members did — which tells you something real about the scripting environment’s expressiveness.


Circuit Diagrams Without Leaving Typst

This one is particularly relevant for electronics and engineering students. There’s a package called cirCeTZ — a port of LaTeX’s circuitikz library — that lets you draw full circuit diagrams natively in Typst using the CeTZ canvas library.

circuit.typ
#import "@preview/cetz:0.3.1": canvas, draw
#import "circuitypst.typ": node, to

#canvas(length: 1cm, {
  import draw: *
  // Draw a simple RC circuit
  node((0, 0), "ground")
  to((0, 0), (0, 2), "battery", label: $V_s$)
  to((0, 2), (2, 2), "resistor", label: $R$)
  to((2, 2), (2, 0), "capacitor", label: $C$)
  to((2, 0), (0, 0), "wire")
})

For my thesis this is significant. I’m in Electronics and Communication Engineering — circuit schematics are a core part of any technical document. Previously that meant exporting from a separate EDA tool, fighting with image scaling, and hoping the fonts matched. With cirCeTZ, the schematic lives in the same source file as the text describing it, uses the same fonts, and scales perfectly in the output PDF.

The package is still maturing (the developer notes features are being added as needed), but resistors, capacitors, inductors, voltage sources, and basic passive components already work. For a thesis with standard circuit diagrams, it covers everything I need.

CirCeTZ is on GitHub at fenjalien/cirCeTZ. It requires manual installation alongside the CeTZ canvas library — it's not yet on the Typst package registry, but the dev branch is active.

Templates for Everything

The Typst Universe template library already has thesis formats, IEEE and APA paper styles, CV templates, presentation slides, and more. Many universities now have community-maintained Typst templates. The ecosystem is younger than CTAN but it moves faster.

Feature Overleaf / LaTeX Typst
Compile time (full document) 2–4 min < 1 sec
Error messages Cryptic Clear + suggestions
Local install size ~3 GB (TeX Live) ~15 MB binary
Learning curve Steep Moderate
Circuit diagrams circuitikz (mature) cirCeTZ (growing)
Template ecosystem CTAN (huge) Universe (growing fast)
Offline support Full Full (CLI)

Should You Switch?

If you’re starting a new thesis this semester: try Typst first. The learning curve is lower, the feedback loop is dramatically faster, and you won’t spend three days debugging a bibliography style.

If your institution requires a specific LaTeX template: check if a Typst equivalent exists — many do now. Some departments are open to alternatives if the PDF output is identical.

If you’re mid-project in LaTeX: probably not worth migrating mid-document. Finish it, then use Typst for the next one.

To get started locally: winget install --id Typst.Typst on Windows or brew install typst on macOS. The binary is self-contained, requires no TeX installation, and works completely offline.

Frequently Asked Questions

Is Typst free?
The Typst CLI is fully open source (Apache 2.0) and free. The typst.app web editor has a free tier covering everything you need for a thesis. Paid plans add storage and private project collaboration.
Will the PDF output look as good as LaTeX?
Yes. Typst uses New Computer Modern fonts by default, so the output is visually identical to a well-typeset LaTeX document. Math rendering is strong. Reviewers won't be able to tell the difference from the PDF alone.
Does Typst handle math and equations?
Yes, with cleaner syntax than LaTeX. Inline math uses $x^2 + y^2 = z^2$ and display math uses $ ... $ on its own line. Most LaTeX math notation carries over with minor differences. Complex multi-line derivations work well.
Can I use Typst offline?
Completely. The CLI is a single self-contained binary (~15 MB). No TeX installation required, no internet needed. It's one of the cleanest offline writing setups available — just a text editor, the Typst binary, and a PDF viewer with auto-refresh.

The thesis is just getting started. But for the first time since I opened that university template, I’m not dreading the writing process.

That’s not nothing.




    Enjoy Reading This Article?

    Here are some more articles you might like to read next:

  • Useful Papers I Read in Early 2026
  • Downloading CARLA Simulator with Docker on Ubuntu 22.04 in 2025
  • 2024 Machine Learning Paper List
  • Why can't we write code the way we used to?