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:

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
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.
typst-preview.preview from the command palette in vscode to see a pdf preview.https://github.com/typst/typst