Recommendations :: Some LaTeX References (E-mail)

I got an e-mail today asking for some recommended references on LaTeX. Here is my response, which is a marked-up paste of an e-mail.

[ This post can also be found in a blog post of mine. ]

 
 

The reference that I keep handy is:

The LaTeX Companion (Tools and Techniques for Computer
Typesetting)
The LaTeX Companion, Second Edition by Mittelbach and Goosens

That reference, often called TLC2, is a standard one. You really can't go wrong with it. It's dense, includes lots of examples, and is pretty easy to use. One other book that came in handy when I started drawing graphics in LaTeX is:
LaTeX Graphics Companion, The (2nd Edition)
The LaTeX Graphics Companion by Goosens, Rahtz, and Mittelbach

That introduced me to things like picture environments and PSTricks. I use PSTricks a lot now, and the book really is only meant to be an introduction (albeit a nice one) to PSTricks as well as other competing (and complementary) tools. Now I typically use the PSTricks documentation on the PSTricks home page at TUG (you can google for "PStricks" to find the web page).

A nice small reference to LaTeX is:

LaTeX: A Document Preparation System (2nd Edition)
LaTeX: A Document Preparation System by Lamport

A very complete but also intimidating reference for TeX is:

Computers & Typesetting, Volume B: TeX: The Program
The TeXbook by Knuth

Three other notable and popular books on TeX (that are far less intimidating) are:

You can still get that last book in print from some sources that print out of print books (lulu.com), but I believe it has been released for free as a PDF as well. Yes, see:
http://eijkhout.net/texbytopic/texbytopic.html
for the free download link (released under GNU FDL).

[ If you really don't want to get into the nitty gritty details, I would recommend sticking to the LaTeX references. ]

Otherwise, I've just done a lot of learning by doing. It helped to learn about typesetting in general. A good reference for both things is the documentation that comes with the memoir package:

That documentation link (memman.pdf) is an excellent introduction to all of the basic typographical elements of a book... and memoir is a nice LaTeX package in general.

After that, see comp.text.tex (available as a Google group) which is known simply as "CTT" to insiders...

http://groups.google.com/group/comp.text.tex/
LaTeX and TeX experts watch that group and will answer your questions about how to do things. You can also search the group for some previous answers to similar questions. You can also see announcements of new versions of packages that do cool things. It's a great resource.

Finally, seeing the LaTeX 2e source (implemented in TeX) can be helpful to understand exactly what goes on when you do things like a \section. "source2e.pdf" is included with the LaTeX distribution. You can also view it on-line here:

http://www.tug.org/texlive/devsrc/Master/texmf-dist/doc/latex/base/source2e.pdf
That includes all of the TeX implementations for the LaTeX macros and gives you some idea of what goes on when you build a LaTeX document.

Off the top of my head, that's all I can think of. Just go into things thinking that LaTeX probably *CAN* do whatever you want it to (including solving and plotting differential equations, which pure LaTeX (as opposed to PDFLaTeX) can do). Like a sculptor, you just have to figure out what to chip away to get it to do it. Keep trying things until something is qualitatively similar to what you want, and then tune (perhaps with the help of CTT) after that. Eventually you'll come up with better and better implementations. If you come up with something especially novel, post it on-line. In fact, contributing to CTAN directly is usually recommended.

Another thing that helps me is to remember that TeX is really is just a giant machine that tokenizes, parses, and expands. It's not a "programming language" so much as it is a text "filter" in that a single run of LaTeX doesn't necessarily result in what you want. Keeping this in the back of my head helps me anticipate the problems I might have with certain approaches, and it further helps me figure out how to approach LaTeX in order to succeed.