Hacker News new | ask | show | jobs
by opto 1 hour ago
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?
9 comments

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 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
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#"
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\#.
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