summaryrefslogtreecommitdiff
path: root/systems/knuth/dist/errata/errata.six
blob: ad7444d86006386f6e25637b4f8b1e20ee6b6b91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
% Bugs (sigh) in Computers \& Typesetting

\input manmac
\font\sltt=cmsltt10
\font\niness=cmss9
\font\ninessi=cmssi9
\proofmodefalse
\raggedbottom
\output{\hsize=29pc \onepageout{\unvbox255\kern-\dimen@ \vfil}}

\def\today{\number\day\
  \ifcase\month\or
  Jan\or Feb\or Mar\or Apr\or May\or Jun\or
  Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi
  \ \number\year}

\def\cutpar{{\parfillskip=0pt\par}}

\def\rhead{Bugs in {\tensl Computers \& Typesetting, 1990}}
\def\bugonpage#1(#2) \par{\bigbreak\tenpoint
  \hrule width\hsize
  \line{\lower3.5pt\vbox to13pt{}Page #1\hfil(#2)}\hrule width\hsize
  \nobreak\medskip}
\def\buginvol#1(#2) \par{\bigbreak\penalty-1000\tenpoint
  \hrule width\hsize
  \line{\lower3.5pt\vbox to13pt{}Volume #1\hfil(#2)}\hrule width\hsize
  \nobreak\medskip}
\def\slMF{{\manual 89:;}\-{\manual <=>:}} % slant the logo
\def\0{\raise.7ex\hbox{$\scriptstyle\#$}}
\newcount\nn
\newdimen\nsize \newdimen\msize \newdimen\ninept \ninept=9pt
\newbox\eqbox \setbox\eqbox=\hbox{\kern2pt\eightrm=\kern2pt}

\tenpoint
\noindent This is a list of all corrections made to {\sl Computers \&
Typesetting}, Volumes A,~C, and E\null, between 30 September 1989 (when
the revisions for \TeX\ Version 3.0 and \MF\ Version 2.0 were made) and
December 31, 1990.
Corrections made to the softcover version of {\sl The \TeX book\/} are
the same as corrections to Volume~A\null. Corrections to the softcover
version of {\sl The \slMF\kern1ptbook\/} are the same as corrections
to Volume~C\null.  Some of the corrections below have already been made in
reprintings of the books. Hundreds of changes, too many to list here,
have been made to Volumes B~and~D because of the upgrades to \TeX\ and
\MF\null.  Readers who need up-to-date information on the \TeX\ and
\MF\ programs should refer to the |WEB| source files until new
printings of Volumes B~and~D are issued. \looseness=-1

% volume A

\bugonpage A99, line 4 from the bottom (2/22/90)

\ninepoint\indent
to be chosen because there was no feasible
way to keep total demerits small.

\bugonpage A124, lines 18--21 (9/5/90)

\ninepoint\noindent
Floating insertions can be accommodated
as a special case of split insertions, by making each floating topinsert
start with a small penalty, and by having
zero as the associated |\floatingpenalty|; non-floating insertions
like footnotes are accommodated by associating larger penalties with
split insertions (see Appendix~B).

\bugonpage A137, lines 2 and 3 from the bottom (11/9/90)

{\eightssi
\rightline{and you shouldn't even be reading this manual,}
\rightline{which is undoubtedly all English to you.}
}

\bugonpage A141, line 15 from the bottom (10/18/90)

\tenpoint\noindent
Thus if you type `|$1\over2$|' (in a text) you get $1\over2$, namely style
$S$ over style~$S'$;\cutpar

\bugonpage A156, line 2 (11/18/89)

\ninepoint
Commands like |\mathchardef\alpha="010B| are used in
Appendix~B to define\cutpar

\bugonpage A165, lines 2--3 (8/13/90)

\ninepoint
 Type the formula $\bf\bar x^{\rm T}Mx={\rm0}\iff x=0$,
using as few keystrokes as possible.
\ (The first `0' is roman, the second is bold. The superscript `T' is roman.)

\bugonpage A171, lines 24--26 (3/13/90)

\ninepoint\noindent
formula produces a result exactly equivalent to
`|\left(|\<subformula>|\right)|', when the \<subformula> doesn't end
with Punct, except that the {delimiters} are forced to
be of the |\big| size regardless of the height and depth of the subformula.

\bugonpage A193, lines 16--18 (12/2/89)

\ninepoint\noindent
line if you insert
`^|\noalign||{|^|\break||}|'
after the |\cr| for that line. You can prohibit {\sl all\/} breaks
in an |\eqalignno| if you set ^|\interdisplaylinepenalty||=10000|; or you
can enclose the whole works in a ^|\vbox|:

\bugonpage A233, bottom 9 lines, and top three on next page (12/2/89)

\danger The |\+| macro in Appendix~B works
by putting the \<text> for each column that's followed by~|&|
into an hbox as follows:
\begindisplay
|\hbox to |\<column width>|{|\<text>|\hss}|
\enddisplay
The ^|\hss| means that the text is normally flush left, and that it can
extend to the right of its box. Since |\hfill| is ``more infinite'' than
|\hss| in its ability to stretch, it has the effect of right-justifying or
centering as stated above. Note that |\hfill| doesn't shrink, but |\hss|
does; if the text doesn't fit in its column, it will stick out at the right.
You could cancel the shrinkability of |\hss| by adding ^|\hfilneg|; then
an oversize text would produce an overfull box.
You could also center some text by putting `|\hss|' before it and just
`|&|' after it; in that case the text would be allowed to extend to the
left and right of its column.
 The last column of a |\+|~line (i.e., the column entry that is
followed by |\cr|) is treated differently: The
\<text> is simply put into an hbox with its natural~width.\looseness=-1

\bugonpage A254, line 5 from the bottom (10/5/89)

\ninepoint\noindent
|\vsize| hasn't changed, and if all insertions have been
held in place, the same page break\cutpar

\bugonpage A286, lines 30--32 (3/13/90)

\ninepoint\noindent
reading and expanding this \cstok{par}
token, \TeX\ will see the \<vertical command> token again. \ (The current
meaning of the control sequence ^|\par| will be used; \cstok{par} might no
longer stand for \TeX's |\par| primitive.)

\bugonpage A290, lines 12--13 (3/24/90)

\ninepoint\noindent
simply a single Ord atom without subscripts or superscripts,
or an Acc whose nucleus is an Ord, the
enclosing braces are effectively removed.

\bugonpage A317, line 17 (5/17/90)

\ninepoint
|\pretolerance=9999 \tolerance=9999 \parindent=0pt|

\bugonpage A321, lines 16--17 (8/13/90)

\ninepoint\noindent
\hbox to\parindent{\bf\hss18.6.\enspace}\ignorespaces
|$\bf\bar x^{\rm T}Mx={\rm0}\iff x=0$|.  \ (If you typed a space between
|\rm| and~|0|, you wasted a keystroke; but don't feel guilty about it.)

\bugonpage A340, nonblank line 11 (3/13/90)

\tenpoint\noindent
|\topglue 1in % This makes an inch of blank space (1in=2.54cm).|

\bugonpage A342, line 6 (3/13/90)

\tenpoint\noindent
|\topglue| but not |\hglue|. It does not
illustrate |\raggedright| setting of para-\cutpar

\bugonpage A346, lines 20--21 (12/3/89)

\ninepoint\noindent
streams used by ^|\read| and ^|\write|, to math
^{families} used by ^|\fam|, to sets of hyphenation rules used by
^|\language|, and to insertions (which require
^|\box|, ^|\count|, ^|\dimen|, and ^|\skip| registers all having the
same number).

\bugonpage A346, line 20 from the bottom (12/3/89)

\ninepoint\noindent
manent value. These macros use registers
|\count10| through |\count20| to hold the\cutpar

\bugonpage A346, lines 8--13 from the bottom (12/3/89)

\ninepoint\noindent
number was allocated. The inside story of how allocation is actually performed
should be irrelevant when the allocation macros are used at a higher level;
you mustn't assume that |plain.tex| really does allocation in any
particular way.
\beginlines
|\count10=22 % this counter allocates \count registers 23, 24, 25, ...|
\endgroup

\bugonpage A347, lines 2--5 (12/3/89)

\ninepoint{\parindent=0pt
|\count19=0  % this counter allocates language codes 1, 2, 3, ...|\parbreak
|\count20=255 % this counter allocates insertions 254, 253, 252, ...|\parbreak
|\countdef\insc@unt=20 % nickname for the insertion counter|\parbreak
|\countdef\allocationnumber=21 % the most recent allocation|\parbreak
|\countdef|^|\m@ne||=22 \m@ne=-1 % a handy constant|\par}

\bugonpage A347, new line after former line 17 (12/3/89)

\ninepoint\noindent
|\outer\def|^|\newlanguage||{\alloc@9\language\chardef\@cclvi}|

\bugonpage A352, new line before line 6 from the bottom (3/13/90)

\ninepoint\noindent
|\def\topglue{\nointerlineskip \vglue-\topskip \vglue} % for top of page|

\bugonpage A355, line 8 from the bottom (12/3/89)

\ninepoint\noindent
|  \noindent{\bf#1.\enspace}{\sl#2\par}%|

\bugonpage A363, lines 8--9 from the bottom (12/8/89)

{\ninepoint\parindent=0pt
|  \if@mid \dimen@=\ht0 \advance\dimen@ by\dp\z@ |%
 |\advance\dimen@ by12\p@|\parbreak%
|    \advance\dimen@ by\pagetotal \advance\dimen@ by-\pageshrink|
\par}

\bugonpage A375, line 27 (10/30/89)

\ninepoint\noindent
depending on whether or not |\t|~contains
an asterisk. \ (Do you see why?) \ And here's\cutpar

\bugonpage A393, lines 3--5 from the bottom (12/3/89)

\ninepoint
|\hskip-.17em plus-3em minus.11em|\par
|\vadjust{}\penalty10000|\par
|\leaders\copy\dbox\hskip3.3\wd\dbox plus1fil minus.3\wd\dbox|

\bugonpage A444, line 4 (3/13/90)

\ninepoint\noindent
Shift box~$x$ down by ${1\over2}\bigl(h(x)-d(x)\bigr)
-a$, where $a=\sigma_{22}$, so that the operator character\cutpar

\bugonpage A450, line 8 (12/3/89)

\def\\#1{$_{\kern\scriptspace#1}$}
\ninepoint\indent
{\qquad\tt\\0h\\0e\\0n\\5a\\0t\\0 \\1n\\0a\\0 \\0n\\2a\\0t\\0
  \\1t\\0i\\0o\\0 \\2i\\0o\\0 \\0o\\2n\\0}

\bugonpage A450, line 14 (12/3/89)

\ninepoint
{\tt.\\0h\\0y$_3$p\\0h\\0e\\2n\\5a\\4t\\2i\\0o\\2n\\0.}

\bugonpage A450, lines 19 and 20 (12/3/89)

\ninepoint\vskip-10pt
\begindisplay
\tt\\0o\\2n\\0
\\0o\\0n\\1c\\0
\\1c\\0a\\0
\\1n\\0a\\0
\\0n\\2a\\0t\\0
\\1t\\0i\\0o\\0
\\2i\\0o\\0
\\0o\\2n\\0
\enddisplay
and this yields `{\tt\\0c\\0o\\2n\\1c\\0a\\0t\\0e\\1n\\2a\\1t\\2i\\0o\\2n\\0}',
i.e., `|con-cate-na-tion|'.

\bugonpage A455, last lines before the quotes (11/30/89)

\ninepoint\noindent
sit yourself (even in restricted horizontal mode) by saying
^|\setlanguage|\<number>;\break
 this changes the current language but it
does not change |\language|. Each what-\break
sit records the current
|\lefthyphenmin| and |\righthyphenmin|.

\bugonpage A467, right column (12/3/89)

\eightpoint\indent\hbox to0pt{\hss\lower1pt\hbox{*}}%
|\hfilneg|, 72, 100, 233, 283, 285, 290, 397.

\bugonpage A468, right column (12/2/89)

\eightpoint
|\interdisplaylinepenalty|, {\it193}, 349, 362.

\bugonpage A469, left column (12/3/89)

\eightpoint\indent\hbox to0pt{\hss\lower1pt\hbox{*}}%
|\language| (hyphenation method), 273, 346, $\underline{455}$.

\bugonpage A469, right column (10/30/89)

\eightpoint\indent\hbox to0pt{\hss\lower1pt\hbox{*}}%
|\lefthyphenmin|, 273, {\it364}, $\underline{454}$, 455.

\bugonpage A472, left column (12/3/89)

\eightpoint
|\newlanguage|, 346, $\underline{347}$.

\bugonpage A476, left column (10/30/89)

\eightpoint\indent\hbox to0pt{\hss\lower1pt\hbox{*}}%
|\righthyphenmin|, 273, {\it364}, $\underline{454}$, 455.

\bugonpage A479, new entry (3/13/90)

\eightpoint
|\topglue|, {\it340}, $\underline{352}$.

\bugonpage A480, right column (3/13/90)

\eightpoint
|\vglue|, $\underline{352}$, {\it408}.

\bugonpage A483, the Providence lines (10/8/89)

\noindent[Change the first one to
\begintt
Providence RI 02940\kern.05em-9506, USA.
\endtt
Then the second one will be
\begindisplay
Providence RI 02940\kern.05em-9506, USA.
\enddisplay
The second line will also appear on page C361.]

% volume B
\hsize=35pc
\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
\def\to{\mathrel{.\,.}} % double dot, used only in math mode


% volume C
\hsize=29pc
\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers

\bugonpage C11, replacement for second quotation at bottom of page (9/27/90)

\begingroup
  \eightpoint \let\tt=\ninett
  \baselineskip 10pt
  \parfillskip \z@
  \interlinepenalty 10000
  \leftskip \z@ plus 40pc minus \parindent
  \let\rm=\eightss \let\sl=\eightssi
  \everypar{\sl}
  \def\par{\ifhmode\/\endgraf\fi}\obeylines
To anyone who has lived in a modern American city (except Boston)
at least one of the underlying ideas of ^{Descartes}' analytic geometry
will seem ridiculously evident. Yet, as remarked,
it took mathematicians all of two thousand years
to arrive at this simple thing.
\author ERIC TEMPLE ^{BELL}, {\sl Mathematics: Queen and Servant of %
 Science\/} (1951) % p123

\endgroup

\bugonpage C220, top line (3/13/90)

\ninepoint\noindent
modes you get into by hitting
`|S|', `|R|', or `|Q|', respectively, in response to error messages\cutpar

\bugonpage C252, line 16 (3/13/90)

\ninepoint\indent
| for i:=1 upto n_windows: display blankpicture inwindow i; endfor|

\bugonpage C262, lines 19--21 (11/9/90)

\ninepoint\noindent
for commonly occurring idioms.
For example, `{\bf stop} |"hello"|' displays `|hello|' on the terminal and waits
until \<return> is typed.
\beginlines
|def |^|upto|| = step 1 until enddef;  def |^|downto|| = step -1 until enddef;|
\endgroup

\bugonpage C264, lines 4--6 from the bottom (3/24/90)

\ninepoint\noindent
|vardef |^|counterclockwise|| primary c =|\par\noindent
| if turningcheck>0:|\par\noindent
|  interim |^|autorounding||:=0;|\par\noindent
|  if |^|turningnumber|| c <= 0: reverse fi fi c enddef;|

\bugonpage C306, line 6 (3/13/90)

\ninepoint\noindent
| ligtable "'": "'" =: oct"042",                         % close quotes|

\bugonpage C309, second line from bottom (11/18/89)

\ninepoint\noindent
| define_whole_vertical_blacker_pixels(vair,slab,| $\cdots$ |);|

\bugonpage C315, line 9 from the bottom (1/2/90)

\ninepoint\noindent
units of printer's points):

\bugonpage C329, line 25 (12/29/90)

\ninepoint\noindent
which can be used to specify a nonstandard file area
or directory name for the gray\cutpar

\bugonpage C337, line 4 from the bottom (1/7/90)

\ninepoint\noindent
|\def\startfont{\font\testfont=\fontname \spaceskip=0pt|

\bugonpage C347, left column (9/27/90)

\eightpoint\noindent
Bell, Eric Temple, 11.

\bugonpage C349, left column (9/27/90)

\eightpoint\noindent
Descartes, Ren\'e, 6, 11, 19.

\bugonpage C356, right column (9/27/90)

\eightpoint\noindent
[remove the entry for Rex Stout.]

\bugonpage C358, right column (9/27/90)

\eightpoint\noindent
[remove the entry for Nero Wolfe.]

% Volume D
\hsize=35pc
\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
\def\to{\mathrel{.\,.}} % double dot, used only in math mode

% volume E
\hsize=29pc
\def\dashto{\mathrel{\hbox{-\kern-.05em}\mkern3.9mu\hbox{-\kern-.05em}}}

\bugonpage Exiii, replacement for last four lines (4/30/90)

\textindent{\bull}``AMS Euler---A new typeface for mathematics''
 by Donald~E. Knuth
and Hermann Zapf, {\sl Scholarly Publishing\/ \bf21} (1989), 131--157.
\ {\it The story of a design project that helps bridge the gulf between
mathematics and art.}

\smallskip
\textindent{\bull}``Meta-Marks:
 Preliminary studies for a Pandora's Box of shapes''
by Neenie Billawala, Stanford Computer Science report 1259 (Stanford,
California, July 1989), 132~pp.
\ {\it Lavishly illus\-trated studies in parameter variation,
leading to the design of a new typeface called Pandora.}



\bugonpage E325, line 13 (3/13/90)

\ninepoint\noindent
{\bf if} \\{serifs}: $x_{3r}=\max(x_{1r},{\rm hround}(x_1+.5\\{dot\_diam}
 -.2\\{jut})-.5\\{tiny})$\par\noindent
{\bf else}: $x_3=x_1-.5$ {\bf fi};

\bugonpage E483, line 4 (3/13/90)

\ninepoint
\rightline{\% Character codes \oct{000}--\oct{100} and \oct{133}--\oct{177}
 are generated.}

\bugonpage E544, line 5 (3/13/90)

\ninepoint\noindent
\hskip 3em\vdots\hskip2em\raise2pt\hbox{(the rest of the
 program for `$\gamma$' in |greekl| comes here)}

\bugonpage E557, line 9 (3/13/90)

\ninepoint
\rightline{\sl`Nevermore---Ah nevermore.'\thinspace''}

\bugonpage E558, line 21 (3/13/90)

\eightpoint\noindent
|Clasp a rare and radiant maiden whom the angels name Lenore."|

\bugonpage E570, lines 27--28 look better with proper skewchars (3/13/90)

\begingroup
\tenpoint\bf
\textfont0=\tenbf \scriptfont0=\sevenbf
\font\boldi=cmmib10 \font\boldsy=cmbsy10
\skewchar\boldi='177 \skewchar\boldsy='60
\textfont1=\boldi
\textfont2=\boldsy
\noindent Here's some bold 10-point math:
${\hat A}^\Gamma_0
+{\check B}^\Delta_1
-{\tilde C}^\Theta_2
\times{\acute D}^\Lambda_3
/{\grave E}^\Xi_4
\oplus{\dot F}^\Pi_5
\ominus{\ddot G}^\Sigma_6
\otimes{\breve H}^\Phi_7
\oslash{\bar I}^\Psi_8
\odot{\vec J}^{\,\Omega}_9$.
\endgroup

\bye