A portrait of the TeX novice/user/hacker/... Novice: * Uses LaTeX because his friends told him to. * Creates vertical space via \hfil\break\hfil\break\hfil\break\hfil\break or $$ $$ $$ $$ $$ $$ [or the LaTeX equivalent] * Lines up tables with \ \ \ \ \ \ . * Uses ... instead of \dots, \ldots, and \cdots. * Types $log \, x$ instead of $\log x$. * Has heard of macros but has never seen one. * Uses grouping but doesn't understand why. * Responds to every TeX error with `e'. * Isn't sure whether Leslie Lamport is a man or a woman. * Wonders why everybody thinks TeX is so cool. User: * Likes LaTeX. * Religiously inserts ties everywhere Chapter 14 tells him to. * Frequently puts punctuation marks on the wrong side of the $ sign. * Leaves math mode to get math operators that aren't built in. For example, $f \in$ Hom $(A, B)$. * Has written small style files that change parameters. * Writes a `boldface' macro as \long\def\boldface#1{{\bf#1}} * Wonders why \def\thing1{...} \def\thing2{...} \thing1 doesn't work. * Immediately asks, ``How can I make TeX larger?'' every time he gets a `TeX capacity exceeded' error. * Doesn't understand why \verb is so fragile. * Has heard of catcodes but has never seen one. Hacker: * Has given up on LaTeX because it's too confining. * Has written his own macro packages, but they sometimes produce unwanted spaces in the output. * Writes a \boldface macro as \def\beginboldface{\bgroup\bf} \def\endboldface{\egroup} * Understands catcodes but has trouble changing them. * Understands why \verb is so fragile, but doesn't know how to get around it. * Uses \futurelet, but sparingly. * Can produce tables, but has trouble with ruled tables. * Has read the single-dangerous bends in the TeXbook and tried to read the double-dangerous bends with mixed success. * Answers LaTeX questions by reading the LaTeX book. Wizard: * Understands the \tabalign macros in plain.tex. * Uses \@ne and \tw@ instead of `1 ' and `2 ' in his macro packages. * Omits the `=' from assignment statements. * Uses \futurelet and \aftergroup without hesitation. * Writes macro packages where nearly half of the punctuation characters are \active. * Writes macros that define macros. * Writes a `boldface' macro via \def\boldface{\bgroup\bf\let\next} * Can create ruled tables on the fly. * Answers LaTeX questions by typing `more latex.tex'. * Has corrected errors in the TeXbook. * Has studied the source code to TeX but doesn't understand it all. Guru: * Has fixed bugs in TeX. * Debugs other people's macro packages. * Writes macro packages for plain text files, so that a simple \input macros \input file.txt produces nicely formatted output. * Understands the LaTeX font selection scheme. * Answers LaTeX questions before you ask them. * Is on a first-name basis with Don and Leslie. (and Michael [Spivak]? Barbara [Beeton]?)