Is it still worth it to learn TeX?

Yes, it is definitely worth learning TeX and its derivatives.

It sounds like you have tried going straight to the core:

learning how to write the kind of as-of-now-to-me-completely-opaque code littered with @ symbols and all manner of unfamiliar low-level commands that typically appears in forum answers and obscure blogs

Personally, I don't think that this is the best way to get started. Instead, start gently by working with LaTeX, load packages and let them do the hard work for you. This will allow you to keep your .tex files relatively free from low-level commands.

Some packages to help you tweak the appearance of the standard classes (article, report, book)

  • geometry to get your page dimensions setup
  • fancyhdr to get your headers and footers
  • enumitem to customize your enumerations
  • titlesec to customize your section/chapter headings

You might also like to explore some of the other documentclass that have pre-built settings, such as memoir, koma-script.

If you find that you really can't get the packages to do what you want to (which is very unlikely these days) then you can start the low-level hacking.

The TeXbook is a wonderful manual, but I wouldn't recommend it as the first book you ever read about TeX. Start with some of the references given in this answer

What are good learning resources for a LaTeX beginner?

and when you're curious about how things work, then come back to the TeXbook as the definitive reference.


Yes, do learn some TeX, for at at least two reasons:

  • ConTeXt, LuaTeX, LaTeX3 - very nice and good, but it'll be years, if not many years, before any combination of these replaces (La)TeX the way it is now. And people will be writing today's kind of LaTeX for these years. The LaTeX 3 project got started in the early 1990s (!).
  • I think there is a lot of things that any of us could do to improve his/her documents using TeX programming. It doesn't have to be "hacking the core", but \@namedef, \@ifundefined and other @-riddled low-level commands are useful tools. Here's a recent example from my own experience: How do you add a list of figures only if you have figures - this isn't something esoteric or obscure, and still, you need a bit of low-level programming for it.

Of course, you don't need to go through the entire TeXBook and the other reference material, it may be enough to pick up some tricks here-and-there.


Yes, the solution have been there for 20 years now, no need to wait any longer; use ConTeXt :)