[Tex/LaTex] What are good advanced LaTeX books

big-listbooksdocumentation

I've been using LaTeX for about 3 months, and I'm hooked. My background is programming, so for the basic, google is sufficient. I did some research on amazon.com and found these two books with many positive feedback:
LaTeX-Companion-Techniques-Computer-Typesetting
Guide to LaTeX (4th Edition)

However, most of people said they are more like references than a real book. And if they really are, then I think I'd rather look up at CTAN. What I'm looking for is a book that can teach me how to program in LaTeX, for example:

  1. Write my own package

  2. Create animation

  3. Create and using macro in LaTeX
    ….

I know there are many options around, however to pick the right one is not an easy task. Any advice or suggestion would be greatly appreciated. Thank you.

Best Answer

A personal list of list for heavy LaTeX users:

  • More Math into LaTeX, 4ed. (easier)
  • A Guide To LaTeX, 4ed.
  • Digital Typography Using LaTeX. Springer.

More advanced:

  • The LaTeX Companion, 2ed.
  • The LaTeX Graphics Companion, 2ed.

And more: Many documents of LaTeX packages (user-level).


A personal useful book list for macro writers:

A personal useful (package) documentation list for package and class writers, general purpose:

  • clsguide: LaTeX2e for class and package writers.
  • source2e: Documented source code of LaTeX kernel.
  • classes: Documented source code of LaTeX standard classes.
  • macros2e: Martin's useful manual for LaTeX internal macros. (c.f. source2e)
  • eTeX's manual.
  • etoolbox: a useful toolbox of eTeX. For modern packages it is really useful.
  • keyval: Support for key-value interface.
  • pgfkey or xkeyval or l3keys2e: More advanced key-value interface.
  • Some packages of Oberdiek bundle: ifpdf, ifxetex, ifluatex, atbegshi, kvoptions, zref, ...
  • Some packages of tools bundle: array, calc (c.f. eTeX's primitives), fontsmpl (c.f. fonttable), layout (c.f. layouts), showkeys, trace, xspace, ...
  • expl3, interface3 and source3 (i.e. l3kernel bundle): Introduction of LaTeX3 syntax and documented (developing) LaTeX3 kernel.
  • Some packages of l3packages bundle, especially xparse.
  • Documents of pdfTeX, and maybe XeTeX and LuaTeX.

To be continued... I'll add links for the documents.

Related Question