Hacker News new | ask | show | jobs
by ants_everywhere 876 days ago
Document formatting seems like one of those problems where 80% or so of the problem space is simple and the remaining 20% is an unfathomable pit of nightmares.

There are so many different ways people could want characters printed on a sheet of virtual paper that the problem is virtually unconstrained in its difficulty.

TeX was a major theoretical advance, and LaTeX is a nice enough UI layer on TeX that has gotten significant traction. But even outside of TeX, it feels like even software like MS Word are impossibly complex and clunky.

You can make something nicer by dramatically simplifying or cutting the feature set. I think that's probably how Google Docs has a pretty simple interface. But I'm not convinced there's a real replacement for the incumbents that simply tries to improve UI without having a deep technical insight about document layout the way Knuth had with TeX.

2 comments

Latex has a lot of caked in design mistakes which are never going away.

Unfortunately typst seems to have replicated the primary one - inventing a new turing complete programming language rather than piggybacking off an existing one.

It's possible to conceptualize a much better latex but it would take years to build properly and build the ecosystem around it to do all the odd things people need when doing markup requiring 1000-2000 community packages.

What are the other caked-in design mistakes in LaTeX, and which existing language(s) would you like to see a DSL piggybacked off?
Thing is, you can't really cut the feature set much. Nobody needs 90% of the features but for almost everyone there's some 10% of the less-used features that's a must-have, a total dealbreaker if the other tool doesn't have them or does them poorly; and that's a different 10% for different people, so if you have a cut-down feature set you lose many people - some because you don't have A, some because you don't have B, some because you don't have Z, and they all instead use the same old, complex tool that has support for "their thing".