razzi.abuissa.net

Razzi's guide to typst

Typst is a new markup language that is somewhere between markdown and TeX.

Here’s what the syntax looks like:

= My presentation

Here is Euler's identity.

$ e^(i pi) = -1 $

And the rendered pdf:

installation

Unfortunately it’s currently not apt installable.

The best solution for now seems to be to install a rust compiler and install it from source, or if you have homebrew you could use that.

$ sudo apt install cargo libssl-dev pkg-config
$ cargo install --locked typst-cli

usage

The main command typst compile will create a pdf from a .typ file.

$ typst compile mytypst.typ
$ open mytypst.pdf

However it’s a bit tedious to keep running this; helpfully there is typst watch command:

$ typst watch mytypst.typ

While that is running, you can open the output in your browser and refresh the pdf to see the latest.

You can get an even faster feedback loop by compiling from typ to html:

$ typst watch mytypst.typ -f html --features html

It will serve on http://localhost:3000 and automatically reload itself, something you can’t do in a typical pdf viewer. However it (as of October 2025) doesn’t support math equations, with warnings such as:

warning: equation was ignored during HTML export

The final frontier is to integrate typst into your editor itself, which you can accomplish via 3rd party packages such as tinymist. I have gotten this working with VSCode using the Tinymist Typst extension in vscode and the typst-preview.el package for emacs. I followed the instructions here. If I keep using them, at some point I’ll reinstall them from a clean environment and document the process.

Run typst-preview.preview from the command palette in vscode to see a pdf preview.

source code

https://github.com/typst/typst

depends on