Hacker News new | ask | show | jobs
by jl2718 1184 days ago
It seems to me that LaTeX is primarily used as academic gatekeeping. This is one step better, but why a new DSL versus a library to build your layout representation from a common language?
5 comments

People familliar with LaTeX will use it in places where it is definitely not required and sometimes even where it’s arguably not a very good fit, such as for presentation slides, illustrated posters laid out in complicated ways, or in one notable case a diagramming package with automatic graph layout, plotting, symbols for circuits, and a boatloat of other things (TikZ).

It might be difficult to believe given the unfriendly failure modes characteristic of a macroexpander and an abundance of dusty corners, but LaTeX really is very convenient for a proficient user when the problem fits (e.g. not a magazine).

I have to disagree to "arguably not a very good fit, such as for presentation slides." I have to make regular work presentations with a lot of math. There are two choices: Powerpoint and Latex/beamer. While the latter is far from painless, powerpoint takes much more time and is much worse to revise.
Etching slides into clay tablets with your hands tied behind your back is less painful than PowerPoint. Beating that isn't much of a flex.
Why do you say that LaTeX is gatekeeping? My experience is that it’s easy to get LaTeX help, and most people don’t care if you write your paper in Word.

A big chunk of academic papers are done in Word, even in mathematics.

I think a DSL really makes sense here, because that’s what you spend half of your time dealing with—the syntax—so there is a lot of room to make it easier.

Because a library in a programming language would be madly inconvenient? I can't see something like this being pleasant to use:

  document(
    paragraph("blah blah blah"),
    math("sum_(i=1)^n i = (n (n+1))/2"),
    paragraph("foo bar")
  )
Also, I'd imagine being a DSL and having a dedicated compiler is what let's Typst have such great incremental compilation (it's actually instant).
Not to say people haven’t done it, though, and with enough willingness to adapt the syntax of the host language it can work quite well[1,2,perhaps 3].

[1] https://docs.racket-lang.org/scribble/

[2] https://docs.racket-lang.org/pollen/

[3] https://patoline.github.io/

Just like math is used as academic gatekeeping? (An insane argument that many have made.)
An open source, very well documented piece of software that run on many different operative systems used for gate keeping?