Has anyone written, or is anyone working on, a LaTeX cookbook? Specifically, a guide to writing intermediate/advanced LaTeX macros and solutions to other common tasks?
I found a handful of resources on the Web, but these were all brief and basic and appeared to be written for beginners. I also found a document called "Advanced LaTeX", which looks good, but is only 23 pages, and is actually only intermediate rather than advanced.
I would love to have on my shelf a thick book that covers hundreds of short practical topics, with lots of visual examples.
Things I have wondered how to do—and eventually learned thanks to folks here who have kindly answered my questions—include:
Symbols
- Using
\ooalignto stack glyphs for finely-tuned custom symbols. - Creating custom symbols with TikZ when a symbol can't easily be created by mixing existing symbols.
- Extracting a single glyph from a font without loading the font to use in a macro.
- Patching
\verbatim*and\verb*to override a symbol.
Styles
- Testing whether the current style is slant or italic.
- Using
\mathchoiceto ensure a macro displays properly in various math contexts.
General
- Using
\makeatletterand\makeatotherfor internal sub-macros. - Detecting an optional argument inside a macro.
- Extracting specific characters from a macro argument string.
- Using
\futureletto query the next token. - Using
\ifthenelseto select different behaviors within a macro (I didn't even know about theifthenpackage until yesterday, and I wish I'd known about it weeks ago). - Using
\fboxto debug heights, depths, and width issues.
Formatting
- Custom vertical and horizontal spacing in the
tabularenvironment. - When and how to use
\parbox. - Subtle differences between
\hboxand\mbox.
Words
- Right and wrong ways to suppress ligatures within a tricky word (such as "shelfful" or "cufflinks").
Many of these things turned out to be easy, but some (like \mathchoice, \ooalign, and \futurelet) were difficult if not overwhelming at first attempt. Most common questions seem to have answers here on TeX.sx already, but the answers can be elusive when the magic word or phrase to search for is not known, or when the possibility itself is not known (I totally didn't know about TikZ/PGF, for example).
\if\else\fi. It's not the if-then-else part of\ifthenelsethat I found so seductive; it was the ease with which strings could be compared using\equal. But again, I probably need to read more about lower-level TeX.) – Todd Lehman Feb 03 '12 at 16:06:). Is there a specific reason you tagged this {[tag:texniques]}? I'm afraid this might be a meta-tag, which are not everybody's favorite tags, to put it carefully. How about {[tag:learning]} and/or {[tag:tutorials]}? – doncherry Feb 03 '12 at 16:09\def\xxx{#1}\def\yyy{#2}\ifx\xxx\yyy yes \else no\fiPerhaps I'm hard on ifthenelse but 2 decades later I still feel the pain of trying to take the syntax as given and making it do anything useful without locking up a 0.5M 386 PC for days on end:-) – David Carlisle Feb 03 '12 at 16:11\f@shapeto the stringit, one could\def\foo@it{it}and then\ifx\f@shape\foo@it{Yes}\else{No}\fi? Nice! – Todd Lehman Feb 03 '12 at 17:08\indexis a powerful command:) I want to edit them and publish on the web as a Free ebook, later on in the year. – yannisl Feb 03 '12 at 17:32