Typst for linguists
What is it
In a nutshell, Typst is a language designed for typsetting academic and scientific documents. It’s still young, but it is very promising because it is:
- modern
- easy to learn
- intuitive (e.g., error messages that are actually useful)
- very light
- extremely fast
If you’ve used \(\LaTeX\), you will appreciate all five points above. I have used \(\LaTeX\) for over a decade, and even though I really like it, it didn’t take me long to be convinced to switch to Typst. For example, suppose you want to create a simple document with some colourful tables, a figure, some references, nice headers and footers. In \(\LaTeX\), you would probably load natbib, graphicx, xcolor, colortbl, fancyhdr, booktabs… — these are packages I often use myself. In Typst, you would need exactly zero packages to accomplish the same task.
Where to start?
First, explore their their website. Second, follow their tutorial with their own (online and free) editor — this is the most user-friendly way to get started because you don’t need to install anything. I also have this YouTube series (repo here), where I go over the basics and discuss some key aspects for linguists. If you decide to give it a go, you will probably want to work on it off line.
I would also strongly recommend one of these two options if you plan to use Typst:
- Use it with VS Code, Positron, etc. Simply install the Tinymist extension and you’re good to go
- Use Vim or NeoVim. Same thing: install the Tinymist plugin.
I would also recommend installing the Typst compiler if you enjoy working from the terminal. On a Mac, you can install it with Homebrew.
brew install typstInstaling Typst CLI can be advantageous if you enjoy working from the terminal. You can easily create bash functions to automate tasks and compile files to PNG, for example. The main commands you will be using are typst preview and typst compile, but typst watch is equally useful, since it allows for continuous compilation on your browser.
Linguistics
Can Typst completely replace \(\LaTeX\) if you’re a linguist? I think the answer here is “it depends”. It depends on what you need. Being a young language, Typst doesn’t have the breadth (nor the maturity) of packages you may be used to. How fancy are your tex files? How convoluted are your syntax trees? For phonology, I believe Typst can do more than \(\LaTeX\) if you consider the packages available. My whole goal with the Phonokit package is exactly that: to do everything I need with Typst.
Spend some type browsing the current packages offered in Typst here. You will find templates for posters, slides, CVs, and hundreds of packages. You can fork them and customize each to your own needs. Here are some packages you will want to use for linguistics-related documents:
- Syntax trees: arborly, lingotree, syntree
- Numbered examples: eggs
- Phonology: phonokit, linphon, tyipa, ascii-ipa
Since it’s faster, lighter, more user-friendly and more modern, the question I had was whether Typst could match the quality of tex outputs. I believe it can. I still think there are no packages that match tikz-qtree, for example, so the syntacticians out there may have to wait a bit for a complete switch. Of course, you could use \(\LaTeX\) only for trees (say, with LaTeXit on a Mac). In other words, you don’t have to choose one or the other necessarily.
As of December 2025, I have completely switched to Typst for my CV, my slides (for teaching and conferences), and my writing in general. I haven’t experienced any down sides yet.
Common questions and concerns
- But most journals don’t accept it. True. But many journals in linguistics don’t accept
texfiles either. So this is hardly a new problem. Indeed, many journals by Cambridge University Press still usedocfiles. Of course, this will likely change as more people adopt the language. - I already have a comprehensive setup in
tex. I did too. With AI agents, it is obviously much faster to learn a new language and adapt our documents and templates. I think new adopters are usually more common than switchers. In other words, graduate students who would learn \(\LaTeX\) would likely favor Typst if they knew about it. Iftexworks well for you, why change? - How would Typst improve my workflow? It would make your typesetting faster and “cleaner”. For example, in my slides, I have a “switch” to make solutions appear and disappear for in-class exercises. This works fine with \(\LaTeX\) (I use Beamer), but it does require multiple lines of code, and it is a bit finicky at times. With Typst, the same task is accomplished in a much “cleaner” fashion. It always works, and it is very fast. The level of automation is also potentially much higher in Typst. In my Phonokit pacakge, the function
#maxent()calculates probabilities automatically, for example. - How will I deal with my references…? Typst also accepts
bibfiles, so that doesn’t really change. It does introduce a new system (yml), but you don’t have to use it. - Any caveats? Yes. Typst doesn’t work with non-local files. For example, if you have a
bibfile somewhere on your computer and you like to use absolute paths to it, you will need to create symlinks. It is also very picky aboutbibfiles, which may force you to fix any inconsistencies you may have in your library of references.
Copyright © Guilherme Duarte Garcia

