As a former software developer, now turned student (studying theology while I train to become a pastor), Typst has been great for writing my dissertation with one notable exception: it really doesn't handle footnotes well. Specifically, see:
Discursive footnotes do not really work when including bibliography references. I've also hit other issues, like footnotes appearing a page before the text they are linked from.
It's a real shame, as otherwise it's great software. I suspect footnotes are currently buggy because most users are currently from the science world and use inline referencing instead.
I'm really hoping this is fixed soon. (And once I hit my current deadline this week, I'll take a look at it myself.)
But at the moment, a big caveat for anyone working in the humanities / who uses e.g. Chicago-style footnotes.
I'm currently working on my fourth book produced using Typst, and it has been nothing but amazing. LLMs struggle with Typst a bit but other than that it has been an absolute joy to work with.
I have a pretty good workflow set up for publishing these books, which are mostly collections of student essays. I use Pandoc to convert the students' Word documents into Typst, then unify the formatting, styles, and headers (mostly via LLMs). From there, I generate both a nice digital PDF and a print-ready PDF using Typst, and then use Pandoc again to convert the Typst into what ultimately becomes an EPUB.
It all works quite beautifully. Most of the challenges I've run into are related to Typst features that don't map cleanly to Pandoc, so I end up adding a few funky conditionals so those features aren't hit when converting via Pandoc. sys.inputs makes that very easy https://github.com/jgm/pandoc/issues/11588
I had the same experience as the root commenter. Sometimes ChatGPT seems to generate invalid typst code that doesn’t even compile. Maybe the syntax changed and it did work at some point but some stuff looked so wrong that I would guess it just doesn’t have enough training data for proper typst generation without feeding examples into the context first.
I’ve been using Typst pretty heavily for the past few months after a few years of LaTeX, and I’ve had a similar experience. I do really love Typst though. It feels nimble, pleasant to work with and like a huge improvement over LaTeX in a lot of ways.
That said, LLMs have been noticeably better with LaTeX than with Typst for me. Typst works fine for the basics: loops, functions, small layout tweaks and that kind of thing. The problems mostly show up with more niche features.
What helped me was pointing the LLM to the current Typst docs, either the website or as they mention in their blog about the new update they also have a PDF export of the docs now (https://github.com/typst/typst/releases/download/v0.15.0/typ...). The docs are very good, and I suspect older training data plus Typst’s breaking changes are part of the problem.
One downside is that because I started using Typst with LLMs right away, I got a big head start but never became fully fluent in the language. I still find myself going back to the docs, the internet or an LLM more often than I’d like.
I've switched form LaTeX to Typst for all my informal/semi-formal writing and it's a delight to work with. I hope I'll be able to use it for more formal documents in the future (conference/journal papers, slides for high stakes presentations)
To produce a pdf, pandoc uses typst, pdfroff, lualatex, whatever you please. There is no particular connection to latex. The idea exhibits complete ignorance.
There was probably a nicer way of expressing this, but yes, ideally I will continue to use Org mode for my documents and substitute typst for LaTex when exporting to pdf.
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
Markdown has the same class of issue and resolves it the same way you would with Typst: The escape character \. You instead write saved \$50 million using C\#.
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
Latex is in no sense required by pandoc and never has been, not ten years ago, not twenty years ago. Everything you are writing is deep conceptual confusion from top to bottom. You might as well say it has required Microsoft Word since the docx readers and writers came out.
Latex is a typical route to produce pdfs according to your specification, but typst is what I use; occasionally groff. I use latex when what I am typesetting uses greek, arabic or hebrew text, but only because I haven't yet bothered to learn the typst approach to them.
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.
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've been using LaTeX for math for over a decade now. I'm pretty happy with it frankly, but there are major pain points in the compilation time and whenever it's time to interface with the language programmatically. Typst is, frankly, awesome in that regard.
However, I really dislike the 'magic' in the math mode syntax, and I think dropping backslashes (more generally, a delineator) for commands was a mistake. Those aren't blockers though, and I think the org is largely making good decisions. I'm really looking forward to the day I can write research in it!
I think all that's remaining is time in the community and stability. Once journals begin accepting it, I know I'll definitely try to submit in it.
I've heard this from other LaTeX veterans, but as someone that has never done any LaTeX himself and was scared by all those backslashes and braces, the simple C-like syntax is a blessing.
This is awesome! I’ve been excited about the new bundle feature for months.
I use typst to format sheet music. Given a folder of PDFs, I currently have a script that generates a booklet of music for each person in the ensemble. Hopefully now I can just run a single typst file which outputs multiple PDFs.
Cool project. I made something similar to programmatically generate my CV, but using LaTeX with a LuaLaTeX backend. It works, but it is really slow and has a lot of dependencies.
I’m seriously considering rewriting it in Typst at some point. It probably would not be that hard, and I’d likely get much faster builds with far fewer dependencies.
I became a Typst user earlier this week, and it has been a delightful experience. It did not take me long at all to get up to speed. I have used LaTeX before, but that was over 20 years ago.
I’m doing some postgraduate where I need to submit a paper written in the two column IEEE style. I’m pretty sure I spent 40% of my time last time fighting with a Word template, rather than producing content.
Typest is amazing, Claude Code + Opus 4.8 knows how to use it, but I found that Claude by default is crap at designing even a reasonably formatted PDF. E.g. Claude sets the line height to be so small, all the lines are squished together, and a 1-pager PDF is half blank.
I see many folks saying you're producing beautiful PDFs. How are you dealing with design?
Have you tried showing Claude your output, or simply telling it to look at the PNG output? Together with some design or frontend skill you should get reasonable results.
I still much prefer LaTeX actually, I don't feel like Typst improves over its main flaw, i.e. lack of consistency. One could argue that it's even more inconsistent. I really miss commands, \section for example clearly does what it says it does, while '=' is more nebulous. I don't like that instead of typing `\alpha+c` now I need to write `alpha + c` it blurs the line between what is a command and what isn't.
So imo in terms of scientific writing it's pretty off the mark
Most, if not all of these are just syntactic sugar. You can simply write `#heading()` instead. Although I'm not sure if there is an equivalent in math mode.
Almost exactly a year ago, I made the switch from generating LaTeX from markdown using pandoc to typst. Best decision I have ever made. I can actually write my own macros (both LaTeX and pandoc were a pain in the ass).
The ecosystem is not quite a mature as latex, however I can implement the things I need myself.
I have used many things to generate print documents and layouted PDFs:
- Adobe Illustrator
- Adobe InDesign
- Markdown with and without custom themes
- Markdown compiled to .idml to integrate into InDesign
- HTML and CSS
- LATeX
Typst is so far one of the most enjoyable ways of programmatically generating layouted stuff I ever used.
The only thing missing is a good Desktop editor that allows dumb users to double-click a .typ file and see/edit the file instead of having to setup VSCode, plugins etc.
As a former software developer, now turned student (studying theology while I train to become a pastor), Typst has been great for writing my dissertation with one notable exception: it really doesn't handle footnotes well. Specifically, see:
https://github.com/typst/typst/pull/8147
Discursive footnotes do not really work when including bibliography references. I've also hit other issues, like footnotes appearing a page before the text they are linked from.
It's a real shame, as otherwise it's great software. I suspect footnotes are currently buggy because most users are currently from the science world and use inline referencing instead.
I'm really hoping this is fixed soon. (And once I hit my current deadline this week, I'll take a look at it myself.)
But at the moment, a big caveat for anyone working in the humanities / who uses e.g. Chicago-style footnotes.
I'm currently working on my fourth book produced using Typst, and it has been nothing but amazing. LLMs struggle with Typst a bit but other than that it has been an absolute joy to work with.
I have a pretty good workflow set up for publishing these books, which are mostly collections of student essays. I use Pandoc to convert the students' Word documents into Typst, then unify the formatting, styles, and headers (mostly via LLMs). From there, I generate both a nice digital PDF and a print-ready PDF using Typst, and then use Pandoc again to convert the Typst into what ultimately becomes an EPUB.
It all works quite beautifully. Most of the challenges I've run into are related to Typst features that don't map cleanly to Pandoc, so I end up adding a few funky conditionals so those features aren't hit when converting via Pandoc. sys.inputs makes that very easy https://github.com/jgm/pandoc/issues/11588
The books in question: https://thelabofthought.co/shop
"LLMs struggle with Typst a bit"
My experience is the opposite. Especially when instructing the LLM to do very fine grained and detailed adjustments. Works like a charm.
Typst is my go-to format if I need more than plain text.
I had the same experience as the root commenter. Sometimes ChatGPT seems to generate invalid typst code that doesn’t even compile. Maybe the syntax changed and it did work at some point but some stuff looked so wrong that I would guess it just doesn’t have enough training data for proper typst generation without feeding examples into the context first.
I’ve been using Typst pretty heavily for the past few months after a few years of LaTeX, and I’ve had a similar experience. I do really love Typst though. It feels nimble, pleasant to work with and like a huge improvement over LaTeX in a lot of ways.
That said, LLMs have been noticeably better with LaTeX than with Typst for me. Typst works fine for the basics: loops, functions, small layout tweaks and that kind of thing. The problems mostly show up with more niche features.
What helped me was pointing the LLM to the current Typst docs, either the website or as they mention in their blog about the new update they also have a PDF export of the docs now (https://github.com/typst/typst/releases/download/v0.15.0/typ...). The docs are very good, and I suspect older training data plus Typst’s breaking changes are part of the problem.
One downside is that because I started using Typst with LLMs right away, I got a big head start but never became fully fluent in the language. I still find myself going back to the docs, the internet or an LLM more often than I’d like.
I have nothing but great things to say about typst, and this is my personal favorite from this release:
"A single document can now contain multiple bibliographies"
HTML support just keeps getting better and better!
[1]: https://github.com/typst/typst/pull/7436Oh, that’s very exciting! That probably improves the path from Typst to EPUB considerably!
I've switched form LaTeX to Typst for all my informal/semi-formal writing and it's a delight to work with. I hope I'll be able to use it for more formal documents in the future (conference/journal papers, slides for high stakes presentations)
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?
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.
To produce a pdf, pandoc uses typst, pdfroff, lualatex, whatever you please. There is no particular connection to latex. The idea exhibits complete ignorance.
There was probably a nicer way of expressing this, but yes, ideally I will continue to use Org mode for my documents and substitute typst for LaTex when exporting to pdf.
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
Markdown has the same class of issue and resolves it the same way you would with Typst: The escape character \. You instead write saved \$50 million using C\#.
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
Latex is in no sense required by pandoc and never has been, not ten years ago, not twenty years ago. Everything you are writing is deep conceptual confusion from top to bottom. You might as well say it has required Microsoft Word since the docx readers and writers came out.
Latex is a typical route to produce pdfs according to your specification, but typst is what I use; occasionally groff. I use latex when what I am typesetting uses greek, arabic or hebrew text, but only because I haven't yet bothered to learn the typst approach to them.
only if you don't care about the output and half the features; otherwise you can just use "mv" to compile your documents to .txt
“latex (required by pandoc)”
No.
`--pdf-engine=typst`
but then you're limited to an undocumented subset of pandoc markdown
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
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
I've been using LaTeX for math for over a decade now. I'm pretty happy with it frankly, but there are major pain points in the compilation time and whenever it's time to interface with the language programmatically. Typst is, frankly, awesome in that regard.
However, I really dislike the 'magic' in the math mode syntax, and I think dropping backslashes (more generally, a delineator) for commands was a mistake. Those aren't blockers though, and I think the org is largely making good decisions. I'm really looking forward to the day I can write research in it!
I think all that's remaining is time in the community and stability. Once journals begin accepting it, I know I'll definitely try to submit in it.
I've heard this from other LaTeX veterans, but as someone that has never done any LaTeX himself and was scared by all those backslashes and braces, the simple C-like syntax is a blessing.
This is awesome! I’ve been excited about the new bundle feature for months.
I use typst to format sheet music. Given a folder of PDFs, I currently have a script that generates a booklet of music for each person in the ensemble. Hopefully now I can just run a single typst file which outputs multiple PDFs.
Also using it to generate printable programs for concerts: https://concert-programs.projects.jaygoel.com/
Cool project. I made something similar to programmatically generate my CV, but using LaTeX with a LuaLaTeX backend. It works, but it is really slow and has a lot of dependencies.
I’m seriously considering rewriting it in Typst at some point. It probably would not be that hard, and I’d likely get much faster builds with far fewer dependencies.
I became a Typst user earlier this week, and it has been a delightful experience. It did not take me long at all to get up to speed. I have used LaTeX before, but that was over 20 years ago.
I’m doing some postgraduate where I need to submit a paper written in the two column IEEE style. I’m pretty sure I spent 40% of my time last time fighting with a Word template, rather than producing content.
Typest is amazing, Claude Code + Opus 4.8 knows how to use it, but I found that Claude by default is crap at designing even a reasonably formatted PDF. E.g. Claude sets the line height to be so small, all the lines are squished together, and a 1-pager PDF is half blank.
I see many folks saying you're producing beautiful PDFs. How are you dealing with design?
Have you tried showing Claude your output, or simply telling it to look at the PNG output? Together with some design or frontend skill you should get reasonable results.
Typst killed the invoice industry
How so?
Typst has probably saved us thousands of dollars generating PDF documents programmatically.
You might already do this, but great opportunity to support them with a donation.
Apparently Typst isn't supported by many journals, forcing LaTeX usage, anyone have experiences with this situation?
I still much prefer LaTeX actually, I don't feel like Typst improves over its main flaw, i.e. lack of consistency. One could argue that it's even more inconsistent. I really miss commands, \section for example clearly does what it says it does, while '=' is more nebulous. I don't like that instead of typing `\alpha+c` now I need to write `alpha + c` it blurs the line between what is a command and what isn't.
So imo in terms of scientific writing it's pretty off the mark
Most, if not all of these are just syntactic sugar. You can simply write `#heading()` instead. Although I'm not sure if there is an equivalent in math mode.
> A single document can now contain multiple bibliographies
I have been waiting on this one for years now. Great work.
Reminder that it's 2026 and batch-mode typesetting seems an oddly low bar for what we can get from a computer.
Tree-structured documents in a live (WYSIWYG) typesetter with a programmable editor are possible, as is demonstrated by https://texmacs.org (https://www.texmacs.org/tmweb/home/videos.en.html if you don't have it installed).
“batch-mode typesetting seems an oddly low bar for what we can get from a computer.”
I don’t know what this is intended to mean.
“a live (WYSIWYG) typesetter”
I don’t like this mode of interaction. No, thanks.
Typst is fast enough to provide a live preview, and I can use Vim or any editor I want, along with my choice of PDF viewer.
good timing, I just started learning Typst this weekend!
see also: https://typst.app/blog/2026/typst-0.15
Almost exactly a year ago, I made the switch from generating LaTeX from markdown using pandoc to typst. Best decision I have ever made. I can actually write my own macros (both LaTeX and pandoc were a pain in the ass).
The ecosystem is not quite a mature as latex, however I can implement the things I need myself.
If you are on the fence, do yourself a favor and try it. There is a VS Code extension https://marketplace.visualstudio.com/items?itemName=myriad-d....
I have used many things to generate print documents and layouted PDFs:
- Adobe Illustrator - Adobe InDesign - Markdown with and without custom themes - Markdown compiled to .idml to integrate into InDesign - HTML and CSS - LATeX
Typst is so far one of the most enjoyable ways of programmatically generating layouted stuff I ever used.
The only thing missing is a good Desktop editor that allows dumb users to double-click a .typ file and see/edit the file instead of having to setup VSCode, plugins etc.