Briefly, LaTeX consists of several layers. (Those who were actually involved in LaTeX's development, please feel free to correct me.)
The lowest layer is the three hundred or so TeX primitives such as \hbox
or \vskip
.
On top of this, there is the LaTeX kernel. This is a set of macros such as \documentclass
, \usepackage
, or \begin
. The source of the kernel is documented in the source2e document.
Each document written in LaTeX begins (more or less) with \documentclass{foo}
which loads the file foo.cls
, for example article.cls
or book.cls
. This file is another set of macros, this time written using a combination of TeX primitives and macros from the LaTeX kernel. These class files can also load another class to extend it or modify the macros from that class. It can also load packages which are up next.
LaTeX packages—that is, files ending in .sty (and their related files)—are additional sets of macros written using any combination of macros from lower levels. Some are specific to particular document classes, others are more general. These packages can be loaded using \usepackage
from user documents, or \RequirePackage
from classes and other packages.
At the highest level, the users' documents use a class file and optionally packages. As I'm sure you're aware, these documents contain macros written using any combination of TeX primitives and class- and package-defined macros as well as the prose, verse, and mathematics to be typeset.
There is a lot more detail that one could go into regarding things like fonts and class and package options, but this isn't so "brief" after all.
One final point, Knuth wrote TeX as well as the plain TeX macro package—a set of about 600 macros that make typesetting far easier than using just TeX's primitives. LaTeX was originally written by Leslie Lamport. LaTeX 2e—the most recent version—was also written by Johannes Braams, David Carlisle, Alan Jeffrey, Frank Mittelbach, Chris Rowley, and Rainer Schöpf.
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.
Best Answer
You probably had some customization in your thesis. Try to make a package of your code, publish it on CTAN and then support it, answering users' requests.
This will definitely help you to learn TeX and to procraste in your other activity.
At least this advice works for me.