Today I want to introduce you to my brief experience with Typst, a modern typesetting system that aims to be a more user-friendly alternative to LaTeX. As someone who has used LaTeX extensively for academic writing and document preparation, I was intrigued by Typst’s promise of simplicity and ease of use. Actually I started using Typst for preparing some lecture notes and some proposal documents; mind you that many journals and conferences still require LaTeX submissions, so Typst is not yet a full replacement for LaTeX in all scenarios.

There are few really positive aspects of Typst that I found particularly appealing:

  • the markdown-like syntax, which makes it easy to learn and use, even for those who are not familiar with LaTeX;
  • the incredible speed of compilation: Typst compiles documents almost instantaneously, which is a significant improvement over LaTeX, especially for large documents; if you have ever used Overleaf, you know how slow the compilation can be sometimes;
  • the easiness of including packages and libraries: Typst has a built-in package manager that makes it easy to include additional functionality in your documents;
  • the smallness of the installation: Typst is a lightweight application that can be installed quickly and easily on any system.

I leave you to judge by yourself if Typst is a good alternative to LaTeX for your needs. For me for the moment it is rather a complement than a replacement, especially for quick documents and notes.

Here are some useful links to get started with Typst:

Installation on MacOS is straightforward using Homebrew:

brew install typst

Actually you can also download the executable, move it to your usr/local/bin folder (and mark is safe for Mac with xattr -d com.apple.quarantine typst) and BOOM, you are good to go with typst compile myfile.typ.

Here is a simple example of Typst code to create a document with a title, section, and some text:

= My First Typst Document
# Introduction
This is my first document created with Typst. It is easy to use and has a simple syntax.

Cheers from CMS control room at CERN, no data was lost during the writing of this post!

Edit: forgot to add the nice VSCode extension for Typst: Tinymist