Bugs in Computers & Typesetting, 1990 1

This is a list of all corrections made to Computers & Typesetting, Volumes A, C, and E, between 30 September 1989 (when the revisions for TEX Version 3.0 and Version 2.0 were made) and December 31, 1990. Corrections made to the softcover version of The TEXbook are the same as corrections to Volume A. Corrections to the softcover version of The book are the same as corrections to Volume C. 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 . Readers who need up-to-date information on the TEX and programs should refer to the WEB source files until new printings of Volumes B and D are issued.

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

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

Page A124, lines 18–21 (9/5/90)

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).

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

and you shouldn’t even be reading this manual, which is undoubtedly all English to you.

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

Thus if you type ‘$1\over2$’ (in a text) you get \frac{1}{2}, namely style S over style S′;

Page A156, line 2 (11/18/89)

Commands like \mathchardef\alpha="010B are used in Appendix B to define

Page A165, lines 2–3 (8/13/90)

Type the formula x̄^{T}Mx = 0 ⟺ x = 0, using as few keystrokes as possible. (The first ‘0’ is roman, the second is bold. The superscript ‘T’ is roman.)

Page A171, lines 24–26 (3/13/90)

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.

Page A193, lines 16–18 (12/2/89)

line if you insert ‘\noalign{\break}’ after the \cr for that line. You can prohibit

all breaks in an \eqalignno if you set \interdisplaylinepenalty=10000; or you can

enclose the whole works in a \vbox:

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

The \+ macro in Appendix B works by putting the ⟨text⟩ for each column that’s followed by & into an hbox as follows:

\hbox to ⟨column width⟩{⟨text⟩\hss}

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.

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

\vsize hasn’t changed, and if all insertions have been held in place, the same page break

Page A286, lines 30–32 (3/13/90)

reading and expanding this \underline{\overline{par}} token, TEX will see the ⟨vertical command⟩ token again. (The current meaning of the control sequence \par will be used; \underline{\overline{par}} might no longer stand for TEX’s \par primitive.)

Page A290, lines 12–13 (3/24/90)

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

Page A317, line 17 (5/17/90)

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

Page A321, lines 16–17 (8/13/90)

  18.6. $\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.)

Page A340, nonblank line 11 (3/13/90)

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

Page A342, line 6 (3/13/90)

\topglue but not \hglue. It does not illustrate \raggedright setting of para-

Page A346, lines 20–21 (12/3/89)

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).

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

manent value. These macros use registers \count10 through \count20 to hold the

Page A346, lines 8–13 from the bottom (12/3/89)

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.

\count10=22 % this counter allocates \count registers 23, 24, 25, ...

Page A347, lines 2–5 (12/3/89)

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

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

\outer\def\newlanguage{\alloc@9\language\chardef\@cclvi}

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

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

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

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

Page A363, lines 8–9 from the bottom (12/8/89)

  \if@mid \dimen@=\ht0 \advance\dimen@ by\dp\z@ \advance\dimen@ by12\p@
    \advance\dimen@ by\pagetotal \advance\dimen@ by-\pageshrink

Page A375, line 27 (10/30/89)

depending on whether or not \t contains an asterisk. (Do you see why?) And here’s

Page A393, lines 3–5 from the bottom (12/3/89)

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

Page A444, line 4 (3/13/90)

Shift box x down by \frac{1}{2}(h(x) − d(x)) − a, where a = σ_{22}, so that the operator character

Page A450, line 8 (12/3/89)

0h_{0}e_{0}n_{5}a_{0}t_{0} _{1}n_{0}a_{0} _{0}n_{2}a_{0}t_{0} _{1}t_{0}i_{0}o_{0} _{2}i_{0}o_{0} _{0}o_{2}n_{0}

Page A450, line 14 (12/3/89)

        ._{0}h_{0}y_{3}p_{0}h_{0}e_{2}n_{5}a_{4}t_{2}i_{0}o_{2}n_{0}.

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

0o_{2}n_{0} _{0}o_{0}n_{1}c_{0} _{1}c_{0}a_{0} _{1}n_{0}a_{0} _{0}n_{2}a_{0}t_{0} _{1}t_{0}i_{0}o_{0} _{2}i_{0}o_{0} _{0}o_{2}n_{0}

and this yields ‘_{0}c_{0}o_{2}n_{1}c_{0}a_{0}t_{0}e_{1}n_{2}a_{1}t_{2}i_{0}o_{2}n_{0}’, i.e., ‘con-cate-na-tion’.

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

sit yourself (even in restricted horizontal mode) by saying \setlanguage⟨number⟩; this changes the current language but it does not change \language. Each what-

sit records the current \lefthyphenmin and \righthyphenmin.

Page A467, right column (12/3/89)

*\hfilneg, 72, 100, 233, 283, 285, 290, 397.

Page A468, right column (12/2/89)

         \interdisplaylinepenalty, 193, 349, 362.

Page A469, left column (12/3/89)

*\language (hyphenation method), 273, 346, \underline{455}.

Page A469, right column (10/30/89)

*\lefthyphenmin, 273, 364, \underline{454}, 455.

Page A472, left column (12/3/89)

         \newlanguage, 346, \underline{347}.

Page A476, left column (10/30/89)

*\righthyphenmin, 273, 364, \underline{454}, 455.

Page A479, new entry (3/13/90)

\topglue, 340, \underline{352}.

Page A480, right column (3/13/90)

\vglue, \underline{352}, 408.

Page A483, the Providence lines (10/8/89) [Change the first one to

       Providence RI 02940\kern.05em-9506, USA.

Then the second one will be

Providence RI 02940-9506, USA. The second line will also appear on page C361.]

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

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.

— ERIC TEMPLE BELL, Mathematics: Queen and Servant of Science (1951)

Page C220, top line (3/13/90)

modes you get into by hitting ‘S’, ‘R’, or ‘Q’, respectively, in response to error messages

Page C252, line 16 (3/13/90)

         for i:=1 upto n_windows: display blankpicture inwindow i; endfor

Page C262, lines 19–21 (11/9/90)

for commonly occurring idioms. For example, ‘stop "hello"’ displays ‘hello’ on the terminal and waits until ⟨return⟩ is typed.

def upto = step 1 until enddef;  def downto = step -1 until enddef;

Page C264, lines 4–6 from the bottom (3/24/90)

vardef counterclockwise primary c =
 if turningcheck>0:
  interim autorounding:=0;
  if turningnumber c <= 0: reverse fi fi c enddef;

Page C306, line 6 (3/13/90)

 ligtable "'": "'" =: oct"042",                         % close quotes

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

 define_whole_vertical_blacker_pixels(vair,slab, · · · );

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

units of printer’s points):

Page C329, line 25 (12/29/90)

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

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

\def\startfont{\font\testfont=\fontname \spaceskip=0pt

Page C347, left column (9/27/90)

Bell, Eric Temple, 11.

Page C349, left column (9/27/90)

Descartes, René, 6, 11, 19.

Page C356, right column (9/27/90)

[remove the entry for Rex Stout.]

Page C358, right column (9/27/90)

[remove the entry for Nero Wolfe.]

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

“AMS Euler—A new typeface for mathematics” by Donald E. Knuth and Hermann Zapf, Scholarly Publishing 21 (1989), 131–157. The story of a design project that helps bridge the gulf between mathematics and art.

“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. Lavishly illustrated studies in parameter variation, leading to the design of a new typeface called Pandora.

Page E325, line 13 (3/13/90)

if serifs : x_{3r} = max(x_{1r}, hround(x_{1} + .5dot diam − .2jut ) − .5tiny ) else: x_{3} = x_{1} − .5 fi;

Page E483, line 4 (3/13/90)

% Character codes ´ 000 –´ 100 and ´ 133 –´ 177 are generated.

Bugs in Computers & Typesetting, 1990 7

Page E544, line 5 (3/13/90)

⋮  (the rest of the program for ‘γ’ in greekl comes here)

Page E557, line 9 (3/13/90)

‘Nevermore—Ah nevermore.’ ”

Page E558, line 21 (3/13/90)

Clasp a rare and radiant maiden whom the angels name Lenore."

Page E570, lines 27–28 look better with proper skewchars (3/13/90) Here’s some bold 10-point math: Â_{0}^{Γ} + B̌_{1}^{Δ} − C̃_{2}^{Θ} × D́_{3}^{Λ}/È_{4}^{Ξ} ⊕ Ḟ_{5}^{Π} ⊖ G̈_{6}^{Σ} ⊗ H̆_{7}^{Φ} ⊘ Ī_{8}^{Ψ} ⊙ J⃗_{9}^{Ω}.