henesyinit from p9f47575dc5 years agoHistory
491 lines · 14.7 KB · Text
RawDownload
% More bugs (sigh) in The TeXbook \input manmac\proofmodefalse\raggedbottom\output{\onepageout{\unvbox255\kern-\dimen@ \vfil}} \def\rhead{Bugs in {\tensl The \TeX book}, second printing}\def\bugonpage#1(#2) \par{\bigbreak\tenpoint  \hrule\line{\lower3.5pt\vbox to13pt{}Page #1\hfil(#2)}\hrule\nobreak\medskip} \noindent This is a list of all corrections made to {\sl The \TeX book\/}since the second printing. If your copy doesn't say `{\sl\kern-1pt Secondprinting (October 1984)\/}' on the copyright page, you should also look atthe previous bug list. In fact, the most important corrections to thefirst printing were discovered first, so they've already been~made. \bugonpage 23, line 16 (10/13/84) \tenpoint\indent|This is TeX, Version 1.0 (preloaded format=plain 83.7.15)| \bugonpage 33, line 32 (10/21/84) The bottom line shows how far \TeX\ has gotten until now in the|story|{\parfillskip=0pt\par} \bugonpage 41, lines 7 and 8 (10/8/85) \ddanger The twin operations ^|\uppercase||{|\<token list>|}| and^|\lowercase||{|\<token list>|}| go through a given token list and convertall of the character tokens to their\parfillskip=0pt\enddanger \bugonpage 57, line 17 (1/6/86) |dd|\quad didot point ($\rm1157\,dd=1238\,pt$) \bugonpage 61, lines 17--19 (12/18/85) \ninepoint\noindent|depth|, |em|, |ex|,|fil|, |height|, |in|, |l|, |minus|, |mm|, |mu|, |pc|, |plus|,|pt|, |scaled|, |sp|, |spread|, |to|, |true|, |width|. ^^{reserved words}\ (See Appendix~I for references to the contexts in which each of these isrecognized as a keyword.) \bugonpage 67, append a new exercise (1/19/85) \exno=5 \def\chapno{11}\gdef\frac#1/#2{\leavevmode\kern.1em  \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em  /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}} \ddangerexercise Construct a |\frac| macro such that `|\frac1/2|' yields`\frac1/2'. \bugonpage 130, line 15 (4/17/85) \beginmathdemo|$y'''_3+g'^2$|&y'''_3+g'{}^2\cr\endmathdemo \bugonpage 170, line 5 (5/28/85) \ninepoint\line{tall, unslantedletter; and so on. But two of the examples involve corrections that were} \bugonpage 194, lines 13--15 should be centered better (10/22/84) \ninepoint$$\displaylines{\hfill x\equiv x;\hfill\llap{(1)}\cr   \hfill\hbox{if}\quad x\equiv y\quad\hbox{then}\quad      y\equiv x;\hfill\llap{(2)}\cr   \hfill\hbox{if}\quad x\equiv y\quad\hbox{and}\quad      y\equiv z\quad\hbox{then}\quad      x\equiv z.\hfill\llap{(3)}\cr}$$ \bugonpage 215, lines 9 and 10 from the bottom (12/23/84) \ninepoint\noindentgeneral formatis the same as for |\def| and |\gdef|, but \TeX\ blindly expands the tokensof the replacement text according to the expansion rules above. Forexample, consider \bugonpage 233, lines 15--19 (1/19/85) \medskip\settabs\+\indent&10\frac1/2 lbs.\qquad&\it Servings\qquad&\cr\+&\negthinspace\it Weight&\it Servings&  {\it Approximate Cooking Time\/}*\cr\smallskip\+&8 lbs.&6&1 hour and 50 to 55 minutes\cr\+&9 lbs.&7 to 8&About 2 hours\cr\+&9\frac1/2 lbs.&8 to 9&2 hours and 10 to 15 minutes\cr\+&10\frac1/2 lbs.&9 to 10&2 hours and 15 to 20 minutes\cr \bugonpage 236, lines 18--21 (1/19/85) \ninepoint$$\vbox{\openup2pt\halign{\hfil\bf#&\quad\hfil\it#\hfil&\quad\hfil#\hfil&           \quad\hfil#\hfil&\quad#\hfil\crSquab&Poussin&2&\frac3/4 to 1&Broil, Grill, Roast\crBroiler&Poulet Nouveau&2 to 3&1\frac1/2 to 2\frac1/2&Broil, Grill, Roast\crFryer&Poulet Reine&3 to 5&2 to 3&Fry, Saut\'e, Roast\crRoaster&Poularde&5\frac1/2 to 9&Over 3&Roast, Poach, Fricassee\cr}}$$[This change should also be made at the bottom of page 237.] \bugonpage 236, fifth-last line (1/19/85) \ninepoint| Squab&Poussin&2&\frac3/4 to 1&Broil, Grill, Roast\cr| \bugonpage 237, line 25 (10/10/84) \ninepoint\noindentsaying `^|\tabskip||=|\<glue>'. For example,let's do the poultry table again, but with the{\parfillskip=0pt\par} \bugonpage 265, bottom line (11/6/85) [insert a comma after `{\eightss LEONTIEF}'.] \bugonpage 271, line 8 (11/12/85) \ninepoint\beginsyntax<fil unit>\is[fil]\alt<fil unit>[l]\endsyntax \bugonpage 280, lines 7 and 8 (1/8/85) \ninepoint\noindent\<4-bit number>.\enskipThe specified output stream is opened or closed, for use in |\write|commands, as explained in Chapter~21. \bugonpage 300, lines 5--10 [changed for version 1.3] (11/25/84) \ninepoint\noindentwhat part of \TeX's memory has become overloaded;one of the following fourteen things will be mentioned:\begindisplay|number of strings|\qquad(names of control sequences and files)\cr|pool size|\qquad(the characters in such names)\cr|main memory size|\qquad(boxes, glue, breakpoints, token lists,  characters, etc.)\cr\enddisplay \bugonpage 300, lines 23--29 [changed for version 1.3] (11/25/84) \danger If you have a job that doesn't overflow \TeX's capacity, yetyou want to see just how closely you have approached the limits,just set ^|\tracingstats| to a positive value before the end of yourjob. The log file will then conclude with a report on your actualusage of the first eleven things named above (i.e., the number of strings,\dots, the save size), in that order. ^^{stack positions}Furthermore, if you set |\tracingstats| equal to 2~or~more, \TeX\will show its current memory usage whenever itdoes a ^|\shipout| command. Such statistics are broken into twoparts; `|490&5950|' means, for example, that 490 words are being usedfor ``large'' things like boxes, glue, andbreakpoints, while 5950 words are being used for ``small'' things liketokens and characters. \bugonpage 302, line 14 (10/8/85) \begintt.\tenrm || (ligature ---)\endtt \bugonpage 305, line 26 (12/24/84) \ninepoint\noindentsentable as |^^M|. Asking \TeX\ to |\show\^^M|\looseness-1produces the response `|>| |\^^M=macro:->\|\]|.|'. \bugonpage 306, line 10 (7/1/85) \ninepoint\noindentno ``^{explicit kerns},'' and an italic correction is anexplicit kern.) \ But the italic correction may be too much (especially in anitalic font); |shelf{|^|\kern||0pt}ful| is often best. \bugonpage 308, line 25 (3/25/85) \ninepoint\indent|\def\appendroman#1#2#3{\edef#1{\def\noexpand#1{\csname| \bugonpage 311, insert a new answer (1/19/85) \ninepoint\ansno11.6: |\def\frac#1/#2{\leavevmode\kern.1em|\parbreak|\raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em|\parbreak|/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}| \smallskip\noindent[This causes answer 12.8 to move to page 312;answer 12.16 also moves to page 313.] \bugonpage 320, lines 17--20 (8/10/85) \ninepoint\ansno17.16: |\def\sqr#1#2{{\vcenter{\vbox{\hrule height.#2pt|\parbreak        |        \hbox{\vrule width.#2pt height#1pt \kern#1pt|\parbreak        |           \vrule width.#2pt}|\parbreak        |        \hrule height.#2pt}}}}| \bugonpage 327, lines 26--33 (10/22/84) \ninepoint\ansno19.16:  |$$\displaylines{\hfill x\equiv x;\hfill\llap{(1)}\cr|\parbreak        |   \hfill\hbox{if}\quad x\equiv y\quad\hbox{then}\quad|\parbreak        |      y\equiv x;\hfill\llap{(2)}\cr|\parbreak        |   \hfill\hbox{if}\quad x\equiv y\quad\hbox{and}\quad|\parbreak        |      y\equiv z\quad\hbox{then}\quad|\parbreak        |      x\equiv z.\hfill\llap{(3)}\cr}$$|\par\medskip\noindentThere's also a trickier solution, which begins with\begintt$$\displaylines{x\equiv x;\hfil\llap{(1)}\hfilneg\cr\endtt \bugonpage 330, line 29 (11/15/85) \ninepoint\indent|\edef\next#1#2{\def#1{\b#2\d}} \next\a\c| \bugonpage 332, lines 17--24 (1/19/85) \ninepoint\begintt\settabs\+\indent&10\frac1/2 lbs.\qquad&\it Servings\qquad&\cr\+&\negthinspace\it Weight&\it Servings&  {\it Approximate Cooking Time\/}*\cr\smallskip\+&8 lbs.&6&1 hour and 50 to 55 minutes\cr\+&9 lbs.&7 to 8&About 2 hours\cr\+&9\frac1/2 lbs.&8 to 9&2 hours and 10 to 15 minutes\cr\+&10\frac1/2 lbs.&9 to 10&2 hours and 15 to 20 minutes\cr\endtt \bugonpage 332, lines 33--35 (1/19/85) \ninepoint\noindentproofs. \ (You weren't supposed to think of this,but it has to be mentioned.) \ See exercise 11.\fracexno\ for the `|\frac|'macro; it's better to say `\frac1/2' than `$1\over2$', in a cookbook.\parAnother way to treat this table would be to display it in a vbox, insteadof including a first column whose sole purpose is to specify indentation. \bugonpage 337, line 28 (11/12/85) \ninepoint\noindent |\nextnumber|. Quick should put `|\relax|'at the end of his macro. \ (The {keywords} |l|,{\parfillskip=0pt\par} \bugonpage 357, lines 35 and 36 (1/8/85) \ninepoint\noindent|\def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}}| \bugonpage 357, last two lines (4/17/85) \ninepoint\noindent|\def\pr@m@s{\ifx'\next\let\next\pr@@@s|%  | \else\ifx^\next\let\next\pr@@@t|\par\noindent|  \else\let\next\egroup\fi\fi \next}|\par\noindent|\def\pr@@@s#1{\prim@s} \def\pr@@@t#1#2{#2\egroup}| \bugonpage 358, lines 8--12 (1/23/85) \ninepoint\noindent|\def\hbar{{\mathchar'26\mkern-9muh}}|\hfil\break\null|\def\surd{{\mathchar"1270}}|\hfil\break\null|\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr|\hfil\break\null|      \not\mathrel{\mkern14mu}\crcr \noalign{\nointerlineskip}|\hfil\break\null|      \mkern2.5mu\leaders\hrule height.34pt\hfill\mkern2.5mu\crcr}}}}| \bugonpage 359, lines 7--8 (1/22/85) \ninepoint\noindent|\def\ddots{\mathinner{\mkern1mu\raise7pt\vbox{\kern7pt\hbox{.}}\mkern2mu|%\hfil\break\null|    \raise4pt\hbox{.}\mkern2mu\raise1pt\hbox{.}\mkern1mu}}| \bugonpage 360, line 22 (1/22/85) \ninepoint\noindent|  \mkern5mu \raise.6\dimen@\copy\rootbox \mkern-10mu \box0}| \bugonpage 361, line 3 (3/27/85) \ninepoint\noindent|\def\buildrel#1\over#2{\mathrel{\mathop{\kern0pt #2}\limits^{#1}}}| \bugonpage 361, lines 19--20 (1/22/85) \ninepoint\noindent|\def\bmod{\mskip-\medmuskip \mkern5mu|\hfil\break\null|  \mathbin{\rm mod} \penalty900 \mkern5mu \mskip-\medmuskip}| \bugonpage 361, line 27 (5/1/85) \ninepoint\noindent|\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th| \bugonpage 361, bottom line (5/1/85) \ninepoint\noindent|  \null\;\vbox{\kern\ht1\box2}\endgroup}| \bugonpage 362, line 9 (5/1/85) \ninepoint\noindent|\def\eqalign#1{\null\,\vcenter{\openup1\jot \m@th| \bugonpage 362, lines 17--29 (8/10/85) {\parindent=0pt\ninepoint|\def\@lign{\tabskip=0pt\everycr={}} % restore inside \displ@y|\par|\def|^|\displaylines||#1{\displ@y|\parbreak%|  \halign{\hbox to\displaywidth{|% |$\hfil\@lign\displaystyle##\hfil$}\crcr|\parbreak%|    #1\crcr}}|\smallbreak|\def|^|\eqalignno||#1{\displ@y \tabskip=|^|\centering|\parbreak%|  \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip=0pt|\parbreak%|    &$\@lign\displaystyle{{}##}$\hfil\tabskip=\centering|\parbreak%|    &\llap{$\@lign##$}\tabskip=0pt\crcr|\parbreak%|    #1\crcr}}|\par|\def|^|\leqalignno||#1{\displ@y \tabskip=\centering|\parbreak%|  \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip=0pt|\parbreak%|    &$\@lign\displaystyle{{}##}$\hfil\tabskip=\centering|\parbreak%|    &\kern-\displaywidth\rlap{$\@lign##$}\tabskip=\displaywidth\crcr|\parbreak%|    #1\crcr}}|\par} \bugonpage 363, line 9 (5/12/85) \ninepoint\noindent|\def\footnote#1{\let\@sf=\empty % parameter #2 (the text) is read later| \bugonpage 364, line 3 (3/23/85) \ninepoint\noindent|\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}%| \bugonpage 364, fifth-last line (9/15/85) \ninepoint\noindent|\def\fmtname{plain}\def\fmtversion{2.0} % identifies the current format| \bugonpage 399, eighth-last line (2/11/85) \ninepoint\noindent|  \baselineskip=\footnotebaselineskip\noindent\unhbox0\par}| \bugonpage 401, line 5 (1/29/85) \ninepoint\noindent{|\fontdimen| parameters to qualify as a math symbol font).(2)~Set all the font identifiers\parfillskip=0pt\par} \bugonpage 414, line 10 (12/17/84) \ninepoint\noindent|\font\titlefont=cmssdc40           % titles in chapter openings| %\bugonpage 420, line 9 (10/3/85)%%\ninepoint\noindent%|\def\AmSTeX{$\cal A\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.075em|% that change comes under `font data', explained away below \bugonpage 444, bottom line (1/10/85) \ninepoint\noindentdepth $d(z)+v$, consistingof box~$x$ followed by an appropriate kern followed by box~$z$. \bugonpage 461, entry for character codes (11/6/85) \eightpointAdd `{\sl see also\/} category codes'. \bugonpage 463, entries for {\tt dd}, Didot, and didot (1/6/86) \eightpointRemove the circumflex accents. \bugonpage 466, left column (1/19/85) \eightpointfractions, 67, 139--143, 152, 170, 179,\par\qquad 186, 444--445.\par\quad huge, 196.\par\quad slashed form, 67, 139--140, 233, 236. \bugonpage 467, index entry for {\tt\char`\\hsize} (6/14/85) \eightpointAdd a reference to page {\it 60}. \bugonpage 469, index entry for {\tt\char`\\kern} (7/1/85) \eightpointAdd a reference to page {\it 306}. \bugonpage 469, index entry for kerns (7/1/85) \eightpointAdd a reference to page 306. \bugonpage 469, new entry (11/12/85) \eightpoint|l| after |fil|, $\underline{271}$, 337. \bugonpage 469, second line on the right (9/13/85) \eightpoint%\def\LaTeX{L\kern-.25em\raise.7ex\hbox{a}\kern-.05em\TeX} % old style{L\kern -.36em\raise.6ex\hbox{\sixrm A}\kern-.15em\TeX}, 137. \bugonpage 470, index entries for {\tt\char`\\longleftarrow}      thru {\tt\char`\\Longrightarrow} (10/5/84) \eightpointThe references to page 358 should be underlined (seven times). \bugonpage 475, index entry for punctuation in formulas (4/29/85) \eightpointAdd a reference to page 161. \bugonpage 476, index entry for {\tt\char`\\scriptspace} (8/10/85) \eightpointChange `445' to `445--446'. \bugonpage 478, first and last lines (10/11/84) \noindent Delete the last line in the right-hand column(since it appears on page 479), and add the following lineat the top of the left-hand column (since it was dropped by mistakefrom the second printing): \smallskip\eightpoint styles of math formatting, 140--141, 441--447. \bugonpage 478, new entry after tabbing (5/28/85) \eightpointtables, {\sl see\/} alignments, tabbing. \bugonpage 478, tabskip entries (3/25/85) \eightpoint\noindent Instead of `237--239' and `237--238' it should say`$\underline{237}$--$\underline{239}$' twice. \bugonpage 481, the entry for {\tt\char`\\widetilde} (9/23/85) \eightpointPage 359 should be underlined. \bugonpage 483, lines 16--17 (1/19/85) |P.O. Box 9506|\parbreak|Providence RI 02940-9506, USA.| \bugonpage 483, lines 22--23 (1/19/85) P.O. Box 9506\parProvidence RI 02940-9506, USA. \bigskip\hrule\bigskip\noindent\tenrmNote: The next printing will use the ``real'' Computer Modern fontsinstead of the ``almost'' Computer Modern fonts. Therefore many ofthe line breaks will be slightly different. Also, the font-relatednumerical data on pages 27, 29, 66, 75, 76, 79, 88, 98, 99, 112, 113, 310,314, 396, 399, 409, 420, and 459 will be different. However, thesedifferences need not be listed here, because the old book was correct withrespect to the old fonts. \bye

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t