As a non-developer who really only uses computers to write and produce documents, why would I use typst over org-mode or $your_fave_markdown + pandoc?
I'm sure everyone has their own use case but I use typst for resumes or other documents that I want to keep in git but I need to share with others using PDF.
I use typst in visual studio code using tiny mist extension. I can generate PDF without installing any new software other than vscode which I already have and the tiny mist extension. The live preview is also nice.
The one thing that bothers me is the dollar sign and the hash sign so to write something like saved $50 million using c#, I write something like saved USD 50 million using #csharp
And near the top I add a variable like this
#let csharp = "C#"Typst does typesetting like TeX (or InDesign for a WYSIWYG alternative), neither org-mode nor markdown has a rich enough formatting language for general typesetting, like if you want to make a flyer for a concert, a brochure or a comic book.
I pass from markdown to typst pdf via pandoc a few times a day. From that point of view it is just an alternative to latex or roff, e.g.
pandoc -r markdown -w pdf --pdf-engine=typst input.md -o output.pdf
I tried using markdown+pandoc for my notes for a while, but I couldn't figure out even the most basic things, mostly because of the dozens of incompatible flavors; in no particular order:
- formatting math blocks is mostly not a thing; some formatters will straight up break the document depending on the flavor you use
- lsp
- live preview; you could use e.g. a neovim plugin for that, but it's built on top of mathjax
- pandoc isn't even a single flavor, as you have a bunch of feature flags and multiple ways to do the same thing
- rendering with pandoc is pretty slow even for a few pages of lecture notes (especially compared to typst)
- latex (required by pandoc) is huge, meanwhile typst binary was something like 50M last time I checked
- syntax highlighting: markdown treesitter grammar only supports the common extensions, e.g. the esoteric latex block variants break the entire document
I guess if I didn't need math rendering, the only major complaint I'd have is performance, but at that point .txt is enough
Markdown is for "I want to type semantic content and get a vaguely reasonable result". Typst is for typesetting documents where you care what the output looks like, and where you want a print-quality PDF (or, in the future, also HTML; currently still WIP).
I use pandoc + typst to render beautiful documents from Markdown. Works really, really well.
It produces beautiful PDF output from org-mode!
Compilation speed on typst is crazy
You can pass a JSON structure to a Typst document and render it however you like. No need for a templating engine or anything like that.
Pandoc probably uses latex under the hood, and Typst is order of magnitudes faster. Also, much better error messages.
Typst is vastly superior for usage in automation or when developing document classes.
If that's not your use case, don't bother.