Yohan Beugin - November 2025
Typst is a new markup-based typesetting system and ecosystem that feels mature enough to start taking on and replacing LaTex for several use cases. I first looked into Typst about two years ago, but things did not seem to be quite there yet. Earlier in October, prompted by a post on HackerNews and a friend that had recently tried it too, I gave it another go. This time, I was quickly impressed by where the project and community were at, the different resources and templates that were now available, how easy it took me to pick up the quite simple and yet very flexible syntax, and how fast live compilation and preview were. You should try it too!
Typst was designed with some of LaTex’s flaws in mind, and it shows: when editing an existing LaTex template or package can feel like a daunting task to make it do what you want, in Typst, in less than a few hours, I was already generating my own templates for several documents (CV, reports, slides). And most importantly, it was fun to do so and did not turn into a frustrating experience. Compiling and previewing Typst document is virtually instantaneous; no more time wasted waiting for things to compile. Additionally, the few error messages that I have seen with Typst appear to make more sense and are less cryptic than LaTex’s.
As researchers, we will just need to convince conferences and other venues to also accept submissions generated with Typst rather than LaTex exclusively.
First, I switched my CV to using Typst, which allowed me to finish automating both the generation of my static website (publications and activities pages) and CV from common configuration and BibTex files. Although it would have technically been feasible to do so also with the LaTex version of my CV, it would have been less straightforward and would have required me to package together a local LaTex install with all necessary packages, when Typst essentially abstracts this away.
As, I was browsing this collection of
projects that other Typst users have put together, I came across
the possibility to also generate slide decks. For a year and half,
I have been using Markdown and pandoc to
generate reveal.js slides as described in this other post. And while I
have been quite happy with these HTML presentations, they required
an intricate chain of dependencies to make everything worked
(which I had luckily been able to package with Docker) and their
preview needed to be refreshed every time a modification was made
to see it. As you probably already have guessed it, slides made
with Typst solve these two last pain points and fit my needs on
GNU/Linux even better.
This new Typst setup uses the Polylux package
to create presentation slides using a custom template that I
adjusted to my needs. The generated pdf file can be
presented using the excellent pdfpc tool and as a bonus
supports out of the box pdfpc features such as
speaker notes, timer settings, etc.
Here is my new setup: https://github.com/yohhaan/typst-polylux-slides
Here is the corresponding demo: demo.typ demo.pdf (demo.pdfpc)
Note: the Polylux package is great, but releases appear a bit
sporadic, so in order to enjoy the latest changes, I am using it
as a git submodule and link to that version from within the custom
template for the slides. I have also added support (as proposed in
this pull
request) in the custom slides template for generating directly
the .pdfpc metadata file with Typst (without having
to install the extra polylux2pdfpc tool).