Last Updated 1 August 2001.
Errors Contributed by Nelson H. F. Beebe

This file records errata in the book

@String{pub-SV                  = "Spring{\-}er-Ver{\-}lag"}
Germany~/ London, UK~/ etc."}

@Book{Salomon:1995:AT,
author =       "David Salomon",
publisher =    pub-SV,
year =         "1995",
ISBN =         "0-387-94556-3",
LCCN =         "Z253.4.T47 S25 1995",
acknowledgement = ack-nhfb,
pages =        "xx + 490",
price =        "US\$39.95", bibdate = "Wed Nov 08 16:46:55 1995", } In the following, negative line numbers count from the bottom of the page. p. vii, l. -1: TeXand -> TeX and p. 22, l. -17: 13_5: the text should note here that the subscript 5 refers to the catcode p. 23, l. 15: mutiplies -> multiplies p. 55, l. -9: The text "which produces" just before the figure should not be indented. p. 68, l. -16: Sanskrit), which are often -> Sanskrit); they are often p. 89, l. 21: The line "To break ... \break," is very loose, and is not right justified. p. 91, l. -9 there is a space missing at the end of the argument in the quoted macro: according to the discussion on p. 95, it should read \hbox{.*\setbox0=\hbox{x}*\setbox0=\hbox{x}*} where * marks a single space. p. 105, l. 5: paragarph -> paragraph p. 128, l. -22 (Exercise 5.21): Definiton -> Definition p. 128, l. -18: .. such as French is used, where accented dotless \'i's are common ... French has no acute accent on the letter i, just a circumflex accent, and even that is rare, as in ci g\^it Victor Hugo' on a tombstone. Turkish is an example of a language where there actually is a dotless i, but I don't know if Turkish uses accents. Pierre Mackay is an expert on Turkish, and can provide further details. p. 130, l. 8: |\def\abc -> \def\abc p. 184, l. -1: at the Index -> look at the Index p. 188, l. 20: be inserted -> are inserted p. 219, l. -21: ... how the \tt commands was expanded ... to \fam \ttfam \tentt', thereby ... The \tt command is NOT expanded this way in the .toc file shown on the next page p. 240, l. 15--16: a \phantom can also be used for this purpose No: this is not the same as would be obtained with \rlap, because the text in the \phantom would be invisible in the output. p. 271, l. 3: (page 5. -> (page 5). p. 274, l. -12: pre ferred -> preferred p. 275, l. -6: 1984, edition -> 1984 edition p. 278, l. 14: When \pretolerance=0, the first pass will always fail. No, it will pass if the line has zero badness. p. 296, l. 13: J\^orgen -> J\/orgen p. 306, l. 6: \uvbox255 -> \unvbox255 p. 307, l. 6: Any nonzero register in this group is written on the .dvi file. No, all ten \count registers 0..9 are written on the .dvi file; see TeX: The Program, section 585, bop command. p. 308, l. 15: 3pc each, enough for about four lines of text. -> 3pc each, enough for about three lines of text. 3pc == 36pt; with a 10pt font and 12pt leading, three lines will take 10pt + 12pt + 12pt = 34pt; four lines would need 46pt. p. 315, l. -4: which that the page -> which ...???... the page Text was apparently lost from the sentence here, but I don't know what the author intended to say. p. 338, l. 12: OTRsimply -> OTR simply p. 346, l. 9: Lines 1--19 -> Lines 1--16 Lines 22--24 -> Lines 19--23 p. 346, l. 10: line 22, -> line 19, p. 346, l. 15: line 9, -> line 8, p. 346, l. 16: lines 12--15, -> lines 10--13 p. 347, l. 6: lines 27--29 -> lines 25--28 p. 348, l. -13 -- -12: The sp is necessary since, otherwise, the value of \lineno would be converted to scaled points. No, use of \lineno here would raise an error: % tex **\relax *\newcount \lineno *\lineno = 99 *\setbox0=\vbox{\vskip \lineno \relax} ! Illegal unit of measure (pt inserted). \relax <*> \setbox0=\vbox{\vskip \lineno \relax } Since \lineno is an integer, exactly one of the standard TeX dimension units must be supplied after \lineno to be acceptable as an argument to \vskip. p. 353, l. 10,11: 500sp ... 1000sp The first incorrectly uses {\tt sp} instead of {\rm sp}. p. 354, l. 16: 0--500sp The second incorrectly uses {\tt sp} instead of {\rm sp}. p. 355, l. 16: and17.5 -> and 17.5 p. 358, l. -11 .. p. 359, l. 3: The dimensions 1sp and 2sp occur in font \tt; they should be in font \rm for consistency with the rest of the book. p. 366, l. 14: Haralambous and the main -> Haralambous and is the main p. 376, l. -11 -- -10: transcript file).'. -> transcript file).'. p. 391, l. -4: #1#2 \strut -> #1#2\strut If the space is included here, it could be a place where a linebreak could occur in the footnote, which would force the struct onto the next line, and thereby make the footnote one line higher than it should be. p. 392, l. -5: four footnote lines -> three footnote lines -> A value of 0.4in is 28.908pt; with the footnote set in 7pt text with \baselineskip = 8pt, n lines of text require 7 + (n-1)*8 points, or 8*n - 1 points; setting "8n - 1 = 28.908" and solving for n gives 3.73850, which must be truncated to 3. p. 425, l. 19: Here is its definition -> Here is its definition: p. 437, l. 1: Pehong, C. -> Chen, P. Pehong is his given name, and Chen his family name. experience -> Experience [This capitalization is consistent with other entries in the bibliography.] p. 456, l. 11: G. Lamaitre -> G. Lemaitre The word maitre is masculine, so unless this name is a horrid corruption of French grammar, it takes the masculine article, Le; I personally know someone named Lemaitre. p. 469, l. -13: The answers to the 10 exercise in chapter 17 are missing. The answers to exercises 19.2 -- 19.5 are omitted too, but the text warns on p. 410 of the omission; I find no such warning in Chapter 17. p. 484, l. 11, column 1: count0 -> \count0 [Use font \tt for this word!] p. 484, l. 5, column 2: Pehong, C., 437 -> Chen, P., 437 [and move this index entry to p. 473, column 2.] ======================================================================== Errors Contributed by Guenter Rote on 20 Dec 95. Your claim that \hboxes or \vboxes with negative dimensions don't show in print (p.38 top and p.45 bottom respectively) must be a misunderstanding. You were probably thinking of rules. Also, I can set \ht0 \dp0 \wd0 to any negative dimension I like. The answer to exercise 8.7 is wrong. When you write \aste5, for example, 5 is a numeric quantity, but the number of asterisks printed will be the value of \ctst. The correct answer is that the macro \aste expects the number of stars to be printed in the counter variable \ctst. (In fact, this is an example of bad programming practice. Either remove the parameter: \def\aste{\ifnum \ctst>0... or set \ctst=#1 inside \aste An opposite case occurs on the bottom of p.117. Why can you not just write \def\multbf #1{\if #1.\let\next=\relax and continue with the rest of \actdef? At least one can say that the use of futurelet is not sufficiently motivated. Your answer to exercise 3.51 does not give the intended box. (At least, the solution is in general not rotation-symmetric. the second \vrule should be raised by 2\dimen0. In general, the quantity by which the second vrule is raised must be by \dimen0 bigger than the quantity by which the first vrule is lowered. Similarly, the second \hrule should be raised by 2\dimen0 instead of \dimen0 + \thick. (In your example, the last two quantities happen to be equal. In Exercise 11.5, there is a larger gap between the first and second row than between the remaining rows. In section 5.11 you give bad examples of superfluous expandafters. On p.123, in the first example there is no need to expand { before \jobname, and thus 2 \expandafters can be omitted. The example works even if all three \expandafters in the first line are omitted, see section 2.6. Similarly, on the opposite page \macB works just as well without \expandafter. (Why!) On p.257 and also in 13.12 you seem to encourage the use of relation symbols < and > for the inner product notation of vectors. From a mathematical standpoint, the use of \langle and \rangle should be encouraged instead. On page 118, after Ex. 5.8, the macro \boxt is described but not shown; on the other hand, the reader should rather not try to type in the verbatim-text above the two boxes. You should have rather checked the contents carefully before "fine-tuning the page and line breaks". The text of section 19.4 is a quite verbatim copy of 16.3. Although you use \mark and \botmark etc. in the book it is not explained. (At least not in the places mentioned in the index. \string is not in the index. On p.320, section 16.14, I find that the situation is not well explained. In the first proposed solution \shipout \vbox{\unvbox 255 \vfil}, the \vfil is indeed superfluous, but this solution does achieve a ragged bottom. (It does not get rid of underfull vbox messages. In \breakup on p.340, is there any point in copying the penalty to box 1 instead of simply ignoring it? On top of p.397 you write: The reason for the failure is that \penalty does not invoke the output routine immediately. If the reason for the failure were really just this, it could be easily solved by setting \global\Savedtrue directly in \endinsert instead of inserting the penalty. p.288, line -14. TeX is not positioned before 'pt post error' but before 'post error' p.289, line -5 should be something like$\left( a+b \right)\$
^           ^

I think your "magical" explanation on the bottom of p.107 is wrong.
This has to do nothing with mouth and stomach but with grouping.
Since endgraph is enclosed in { }, the automatic resetting of \parshape=0
is kept local, and parshape is set to its original values at the closing }.
You might try to insert showlists after \endgraf to check that the consecutive
paragraphs are not read as one paragraph.

Misprints: p. 263, line 4: latter->letter
p. 315, line -4
p.123, line -11, \token2 should be  and in a different font.
p. 158 line -4 catocde
p. 241: The page number is affected by font changes in the heading line,
because \firstmark on top of p.424 is not enclosed in braces.
Also the size in the section headings is not uniform. compare sections 12.2
with 17.8 or 6.4