Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For all the well-deserved complaints about TeX's and LaTeX's syntax, Typst only makes this worse, by repurposing even more characters as markup.


I don't think this was ever my issue with Latex, which instead are mostly:

- the cryptic error messages and infinite logs

- the unintuitive ways to do stuff like store a value for later use or sum two lengths

- the very long compile times

- the amount of reliance on global state from various packages, which contributes to even more cryptic errors or weird behavior when something goes wrong

- various other quirks, e.g. the fact you often need to end a line with a comment or the newline will skrew up your content.


You forgot the of syntax that is latex. Very hard to read. (Worked with it for 20 years)

Typst on the other hand is inherently readable.


I could deal with all of the other issues if it weren't for the absurdly long compile times. I wonder where most of that time is spent.


Some is spent on optimizing the results on the paragraph, page, and multi-page level: river elimination, color balance, widow and orphan elimination, etc. I don't know how much of this Typst does; certainly HTML + CSS does none of it.


I'll put my finger on the perceived weak point: Which characters? Are they listed somewhere?


Sure: the Typst syntax is detailed here: https://typst.app/docs/reference/syntax/

The non-control characters of ASCII are largely characters you might actually want to put in a document. TeX uses some of these as markup, e.g., the dollar sign to bracket maths mode and the ampersand as a column separator in tables. Typst takes this much further, using plus and minus signs to introduce list items, at signs for references, and so on.

Ideally, all visible characters should produce themselves in the printed output, except for the backslash introducing control sequences that represent all of the markup and braces for delimiting the extent of parameters to those control sequences. This would produce a very predictable and easily-parsed syntax.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: