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
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).
To produce a pdf, pandoc uses typst, pdfroff, lualatex, whatever you please. There is no particular connection to latex. The idea exhibits complete ignorance.
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
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 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.
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
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.
"A single document can now contain multiple bibliographies"
https://yufeng-shen.github.io/Mogan.html
Mogan is a TeXmacs fork and the above link is a web demo you can try from your browser.
Check out the math typesetting via Help => Manual => Mathematical formulas
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.
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
pandoc -r markdown -w pdf --pdf-engine=typst input.md -o output.pdf
I have been waiting on this one for years now. Great work.
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).
- 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.