Hacker News new | ask | show | jobs
by mkl 3306 days ago
You have much more control if you make your table in TikZ using a matrix of nodes. If you want borders, the key thing is setting "row sep=-\pgflinewidth, column sep=-\pgflinewidth" so the border doesn't get doubled up (see e.g. [1]).

Latex is far from ideal, but it's still the best because it hasn't stood still - many people are constantly contributing improvements and new packages, and it's very hard for a new replacement system to compete with that.

[1] https://tex.stackexchange.com/questions/18521/tikz-matrix-as...

2 comments

The takeaway is: If you are to judge LaTeX, judge its whole ecosystem.

Otherwise, this is like saying Python is not suitable as HTTP client because "urllib" has too many quirk - ignoring the fact everyone else uses the excellent "requests" libraray.

Although there are interesting developments at its code (XeLaTex, LuaTex), it is the packages which are ever evolving at a rapid pace. Have trouble with the "graphics" package? Use "graphicx" instead. Don't like the old "letter" class? Use "scrlttr2". And of course, use TikZ, it is one of the most well-designed, best-documented and comprehensive packages out there.

Compared to most programming languages, what I really like about LaTeX is their almost almost merciless take on backwards compatibility. This means that your old "article" document almost certainly works with later LaTeX versions. There will never be a breaking new version of "article" that forces you to adapt your LaTeX code, like we see with so many libraries in other languages. But this also means that you are stuck in your "old world" if you don't keep your eye open for new packages, and are willing to learn them. There are quite a lot of StackExchange questions that are essentially like this:

"Q: How do I fix my issue with package X? A: Use the newer package Y instead (or in addition)."

I think it's also the degree of flexibility. Typesetting is itself a creative process as much as a technical one. When I do technical writing with LaTeX (and I do a lot) I'm usually ok with about 99% of what it outputs, but then I have the ability to fiddle around and make that one table have the borders exactly how I like them and that picture caption to be spaced just a little differently etc; I want to indulge my sense of aesthetics just a bit.

It's the combination of (mostly works by default) and (I can make it look just right) that is appealing. It gives me just enough stuff to play with to be satisfying and even a bit fun, without having to tweak so many things that it gets frustrating.