\newcommand\erratafiledate{2008/06/13} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % To produce a printed version of this errata file run this file through % LaTeX. It will unpack a small class file (if not already present) and % a configuration file with the extension .cfg. You might want to modify % the setting in this configuration file to print only a partial errata % suitable for your printed revision of this book, see details in the % .cfg file. % % The current version of this file can be found at: % % https://www.latex-project.org/help/books % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{filecontents}{ttcterrata.cls} %% %% Copyright (C) 1997-2021 Frank Mittelbach %% This class file is licenced under LPPL latest version; %% see https://www.latex-project.org/lppl % % % It sets up a few commands used to format the errata entries for books in the % Addison-Wesley Series: % % Tools and Techniques for Computer Typesetting % % hence the name. However, anybody who likes to use it is free to apply it for % errata files of other books. % % Changes: % % v1.0a - changed name from errata.cls to ttcterrata.cls % v1.0b - added \arraybackslash % v1.0c - and took it out again and used \tabularnewline instead \ProvidesClass{ttcterrata} [2021/08/03 v1.0c Mini class for errata files; subject to change (FMi)] \LoadClass{article} \setcounter{secnumdepth}{-1} \addtolength\textwidth{5cm} \addtolength\oddsidemargin{-3cm} \addtolength\textheight{36pt} \RequirePackage{shortvrb} \MakeShortVerb{\|} \RequirePackage{array,longtable} \RequirePackage{multicol} \newcommand\erratagetnumber{} \def\erratagetnumber#1/#2/#3\erratagetnumber{#1#2#3} \newcommand\gobbleerrata{% \setbox\@tempboxa\vbox\bgroup \let\endgobble\egroup \let\hideamp\relax \let\\\relax \let\tabularnewline\relax \let\par\@@par} \newcommand*\hideamp{&} \let\endgobble\relax \newcommand\erratastartdate{} \newcommand\myprinting{1} \newcommand\doweprint[2]{% \ifnum \myprinting < \if!#2!1000 \else \ifx s#2 1000\else#2 \fi\fi \ifnum \expandafter\erratagetnumber\erratastartdate\erratagetnumber < \erratagetnumber#1\erratagetnumber \relax \@tempswatrue \else \@tempswafalse \fi \else \@tempswafalse \fi } \newcommand\includedentries{entries after = \erratastartdate} \newcommand\printedentries{between \erratastartdate\space and} \newcommand\showallerrors{% \renewcommand\includedentries{all errata entries}% \renewcommand\printedentries{up to} \renewcommand\doweprint[2]{\@tempswatrue}} \newcommand\displayrevisionfix[2]{% \if!#2!\textbf{#1}\else\textit{#1}\rlap{\textsuperscript{#2}}\fi} \newcommand\norevisionnumbers{% \renewcommand\displayrevisionfix[2]{\textbf{##1}}} \IfFileExists{\jobname.cfg} { \input{\jobname.cfg} \typeout{***************************************************} \typeout{*} \typeout{* Configuration file for \jobname.err found } \typeout{*} \typeout{***************************************************} \AtEndDocument{ \typeout{***************************************************} \typeout{*} \typeout{* If you wish to generate an errata listing} \typeout{* containing only errors found after a certain revision} \typeout{* and/or only errors found after a certain date} \typeout{* modify the information stored in \jobname.cfg} \typeout{*} \typeout{* Current settings are:} \typeout{*} \typeout{* \@spaces printing of your book = \myprinting} \typeout{* \@spaces include \includedentries} \typeout{*} \typeout{***************************************************} }} {} %% \erroronpage \newcommand\erroronpage[5]{% \endgobble \doweprint{#4}{#5}% \if@tempswa \typeout{Typesetting entry #1 #2 #3 #4}% \else \typeout{Ignoring entry #1 #2 #3 #4}% \expandafter\gobbleerrata \fi \hideamp \tabularnewline \displayrevisionfix{#1}{#5} \hideamp #2 \hideamp (\textsf{#3}) \hideamp } \newcommand\seriouserroronpage[5]{% \endgobble \doweprint{#4}{#5}% \if@tempswa \typeout{Typesetting entry #1 #2 #3 #4}% \else \typeout{Ignoring entry #1 #2 #3 #4}% \expandafter\gobbleerrata \fi \hideamp \tabularnewline \fbox{\bfseries !!}\hfill \displayrevisionfix{#1}{#5} \hideamp #2 \hideamp (\textsf{#3}) \hideamp } \newcommand\CHAPTER[1]{\endgobble &\tabularnewline[4pt]% \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \tabularnewline} \newenvironment{erratalist} {\begin{longtable}{r>{\raggedright}p{2cm}l>{\raggedright}p{10cm}l}} {\endgobble\end{longtable}} \newcommand\erratatitle[2] {\begin{center}\LARGE\bfseries Errata list for #1\\[5pt](\myprinting.\ printing)\\[10pt] \small Includes all entries found \printedentries\space #2\\ (For other periods/print runs reprocess this document with different config settings) \end{center}% \markright{Errata for #1 (\printedentries\space #2)}% \thispagestyle{plain}% \vspace{20pt}} \pagestyle{myheadings} \AtBeginDocument{\small} \setlength\parindent{0pt} \setlength\parskip{2pt} \newcommand\contributor[2]{\makebox[1cm][l]{\sffamily#1} #2\par} % some special shortcuts overwriting existing commands: \let\u\underline \renewcommand\>{$\to$} %%% some code suggested by Thorsten Hansen to count the number of %%% contributions by individuals (will work only if we do not get %%% too many :-) \def\count@contributors#1/#2/#3\@nil{ \@ifundefined{c@#1}{\newcounter{#1}}{}\stepcounter{#1}% %%% also count secondary: %%% \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}% } \renewcommand\erroronpage[5]{% \count@contributors#3/secondary/\@nil \endgobble \doweprint{#4}{#5}% \if@tempswa \typeout{Typesetting entry #1 #2 #3 #4}% \else \typeout{Ignoring entry #1 #2 #3 #4}% \expandafter\gobbleerrata \fi \hideamp \tabularnewline \displayrevisionfix{#1}{#5} \hideamp #2 \hideamp (\textsf{#3}) \hideamp } \renewcommand\seriouserroronpage[5]{% \count@contributors#3/secondary/\@nil \endgobble \doweprint{#4}{#5}% \if@tempswa \typeout{Typesetting entry #1 #2 #3 #4}% \else \typeout{Ignoring entry #1 #2 #3 #4}% \expandafter\gobbleerrata \fi \hideamp \tabularnewline \fbox{\bfseries !!}\hfill \displayrevisionfix{#1}{#5} \hideamp #2 \hideamp (\textsf{#3}) \hideamp } \renewcommand\contributor[2]{\makebox[1cm][l]{% \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par} \end{filecontents} \begin{filecontents}{\jobname.cfg} % % % Configuration file for the errata listing of % % The LaTeX Graphics Companion, Second Edition % % % \erratastartdate % % Specifies the date from which on errata entries should be listed. % % The format is YYYY/MM/DD. % % The default below ensures that all entries for a particular % printing are typeset. % \renewcommand\erratastartdate{2007/06/30} % % \myprinting % % Specifies which (revised) printing you own. For example, if you % have the second printing set this to 2 so that errors already % corrected in that printing will not appear in your errata % listing. % % The default below ensures that all entries relevant to the x-th % printing are typeset. % % \renewcommand\myprinting{2} % % \norevisionnumbers % % Specifies that all page numbers in the errata are shown in the same % format (bold face) irregardless of whether or not they are fixed % in some revision. The default is to print corrected errors in % italic and add the revision number as a superscript. % % \showallerrors % % With this command you tell the program that all errata entries are % supposed to be generated. This makes \myprinting and % \erratastartdate basically obsolete so this isn't turned on by % default. % % \endinput \end{filecontents} \documentclass{ttcterrata}[2005/11/10] % we want new class \usepackage[T1]{fontenc} \let\u\underline % shortcut for this file \newcommand\meta[1]{$\langle$\textit{#1\/}$\rangle$} \usepackage{textcomp} \usepackage{url} \begin{document} \erratatitle{The \LaTeX{} Graphics Companion, Second Edition}{\erratafiledate} \begin{verbatim} @book(A-W:GMRRV07, author = {Michel Goossens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo{\ss}}, title = {The {\LaTeX} Graphics Companion}, edition = 2, series = {Tools and Techniques for Computer Typesetting}, publisher = {Addison-Wesley}, address = {Boston, Massachusetts}, year = 2007, pagenums = {976}, bibliography = {yes}, index = {yes}, isbn = {978-0-321-50892-8}, ) \end{verbatim} Reprinted by Lehmanns in 2022: \begin{verbatim} @book(Lehmanns:GMRRV2022, author = {Michel Goossens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo{\ss}}, title = {The {\LaTeX} Graphics Companion}, edition = 2, series = {Tools and Techniques for Computer Typesetting}, publisher = {Lehmanns Media}, address = {Köln}, year = {2022}, isbn = {978-3-96543-303-8 (softcover), 978-3-96543-299-4 (ebook)}, originalyear = {2007}, pagenums = {976}, bibliography = {yes}, index = {yes}, ) \end{verbatim} \begin{list}{}{\setlength\leftmargin{0cm}\setlength\rightmargin{3cm}} \item[] This file (\texttt{\jobname.err}) can be found as part of the \LaTeX{} distribution and its latest version is maintained on the \LaTeX{} project site at \texttt{https://www.latex-project.org/help/books/\jobname.err} where you will also find extracts of the book. The first column in the table shows the page number of the errata entry. Superscript numbers in the first column refer to the printed revision in which this entry was corrected (\textit{s} indicates a correction in the sources only). The second column gives the precise location (negative line or paragraph numbers are counted from the bottom of the page). The third column shows the first finder of the problem. You can customize this list to only show errata related to the printing you own by changing the configuration in the file \texttt{\jobname.cfg}. \begin{center} \Large \bfseries To Err is Human --- Bug Contest (no longer open) \end{center} Any mistake found and reported is a gain for all readers of our book. For this reason Addison-Wesley and the authors offer a prize to the eligible person who finds the largest number of bugs during that period (in case of a draw a random choice will be made between all those with the largest number of findings). A person can receive at most one prize, ever; errors found by any of the authors do not count. Each prize is a free choice of any single computing book found on the AW Professional web site \texttt{http://www.awprofessional.com} (that is, no boxed sets or multiple volume offers). As usual, the authors and publisher reserve the right to make various decisions such as whether a reported feature is an error for competitive purposes or whether similar features count as a single or multiple errors. --- Good luck! \begin{center} \begin{tabular}{clr} Contest period ends & Winner \\[4pt] 2008/05 & Milan Vujtek & 16 suggestions\\ 2010/05 & & \\ \ldots & -- contest no longer open -- \end{tabular} \end{center} \end{list} \newpage %<-------------------------- \newcommand\BibTeX{\textsc{Bib}\TeX} \begin{erratalist} \CHAPTER{General } \seriouserroronpage{general}{}{FMi}{2007/07/01}{} To help you in assessing this errata document we have placed exclamation marks in front of each entry that we consider essential for correctly understanding the book contents. \erroronpage{general}{}{FMi}{2007/07/01}{} Due to the printing process there may be small alignment problems between blue and black text on some pages. These can vary from book to book depending on how the paper was handled between print runs---such is the analog nature of printing on a press. \CHAPTER{Front matter} \erroronpage{xxix}{para 4, l.1}{FMi/hv}{2007/08/23}{2} Add ``In case of \textsf{PSTricks} \u{and, for example, the \textsf{beamer} class} the syntax \ldots'' \erroronpage{xxix}{para 5, code}{FMi}{2007/08/24}{2} There should be a bit more space in front of the code block \CHAPTER{Chapter 1} \erroronpage{2}{para 3, l.1}{MiV}{2008/05/22}{2} ``First.'' \> ``First,'' \CHAPTER{Chapter 2} \CHAPTER{Chapter 3} \CHAPTER{Chapter 4} \seriouserroronpage{152}{exa 4-1-15}{HjG}{2007/08/17}{2} Output of example is missing! Oops \ldots\ it was there honest \erroronpage{177}{para 2, l.1}{MiV}{2008/05/22}{2} Missing interword space: ``Flowcharts\u{ }are'' \CHAPTER{Chapter 5} \erroronpage{221}{last line}{RSh}{2008/02/13}{2} ``down'' should be ``up''. \erroronpage{223}{}{hv}{2008/02/22}{2} Changed explanation for example 5-4-1 slightly (since example changed). \erroronpage{224}{exa. 5-4-1}{hv}{2008/02/22}{2} Coding changed to: \begin{verbatim} \begin{pspicture}(-1,-1)(2,2) \psaxes{->}(0,0)(-1,-1)(2,2) \parabola[linewidth=1.5pt](1,2)(-0.5,-0.5) \parabola[origin={0.25,-0.5}, linestyle=dashed](1,2)(-0.5,-0.5) \psaxes[origin={0.25,-0.5},linestyle=dashed, linewidth=0.2pt]{->}(0,0)(-1,-1)(2,2) \end{pspicture} \end{verbatim} \erroronpage{240}{para 4, l.8}{MiV}{2008/05/22}{2} Remove backslash in: ``keyword setting \verb/\showpoints=true/'' \erroronpage{254}{Ex 5-9-1}{MiV}{2008/05/22}{} The blue circle shouldn't be visible behind the black circle. This is a problem due to the printing process used for the book---it does not show up on all books. \erroronpage{290}{Ex 5-13-22}{MSh}{2008/06/11}{2} Inside |\pscustom| the |\psbezier| macro needs four arguments in case there exists no current point (always for the first macro) and three arguments if the bezier curve connects to an existing line or curve (path). \CHAPTER{Chapter 6} \erroronpage{335}{para 5, l.4}{JMi}{2008/06/23}{2} ``\ldots{} summarized in \u{Table} 5.2 \ldots" \> ``\ldots{} summarized in \u{Figure} 5.2 \ldots'' \erroronpage{406}{margin}{hv}{2007/08/20}{2} Missing interword space: ``The\u{ }plotpoints \ldots''. \erroronpage{416}{exa 6-6-34}{hv}{2007/08/20}{2} The filling (crosshatch) of the example isn't quite correct. \erroronpage{458}{para 2, l.1}{HjG}{2007/08/17}{2} Missing interword space: ``The\u{ }\textsf{pst-pdf} package \dots'' \CHAPTER{Chapter 7} \erroronpage{491}{2nd line}{yhj}{2008/01/06}{2} The name of author of xytree package should be ``Koaunghi Un'' but not ``Koaungli Un''. Sorry for the mistake. \CHAPTER{Chapter 8} \erroronpage{514}{tab. 8.3}{FMi}{2008/012/21}{2} Slightly increase spacing after hline. \erroronpage{515}{tab. 8.4}{MiV}{2008/05/22}{2} There should be vertical spacing in the first line (superscript $10^{24}$ touches top line) \seriouserroronpage{579}{para 2, l.3}{MiV}{2008/05/22}{2} \verb=\ln= \> \verb=\nl= (this will also change the index entry) \erroronpage{583}{para 4, l.9}{MiV}{2008/05/22}{2} Replace: ``of the voltage $V_C$'' \> ``of the voltage $v_C$'' \CHAPTER{Chapter 9} \erroronpage{598/599}{several}{FMi}{2007/08/19}{2} The text and the displayed logs talk about example 7-2-6 but afterwards two more chapters got added (without the logs being regenerated), i.e., this should now be 9-2-6. \CHAPTER{Chapter 10} \seriouserroronpage{683}{exa. 10-1-22}{FMi}{2007/08/26}{2} The example unfortunately highlights a bug in the current texmate package: a linebreak (in contrast to a space) is not recognized as a move separator resulting in all moves getting scrambled in the output, e.g., you see \texttt{dxe5 Bxf3 Qxf5} put together under move 4. Fix: use \texttt{;} to separate moves on linebreaks or wait for the next release of the package. \CHAPTER{Chapter 11} \erroronpage{720}{6th item}{MiV}{2008/05/22}{2} Replace: ``documentwide'' \> ``\u{D}ocumentwide'' \erroronpage{726}{para 2, l.2}{MiV}{2008/05/22}{2} Extra space after parenthesis: ``( in practice'' \erroronpage{740}{para 2, l.1}{MiV}{2008/05/22}{2} Replace: ``given by \textit{start\u{ row}}'' \> ``given by \textit{start} row'' \seriouserroronpage{741}{Ex 11-3-5}{MiV}{2008/05/22}{2} Usage of \verb=\cellcolor= might introduce extra space in the output (as one can see in the example). This can be argued as being a bug in the \texttt{colortbl} package. Given that the basic \verb=\color= command ignores spaces after it, \verb=\cellcolor= should behave similarly. \seriouserroronpage{744}{line after Ex 11-3-9}{MiV}{2008/05/22}{2} Replace: ``This does \u{not}, of course, affect'' \> ``This does, of course, \u{also} affect'' \erroronpage{758}{para 3, l.2}{MiV}{2008/05/22}{2} Add small space between values and units in frame dimension \erroronpage{760}{fig. 11.1}{MiV}{2008/05/22}{2} why differs section names (``Introduction to encoding'' vs. ``Introduction'' etc.)? Frank: because the author of this section used a real live example where he had used an optional argument to |\section| to make the toc have special text for some reason (should be mentioned in the source though). \erroronpage{774}{2nd snytax box}{hv}{2009/05/8}{2} The |\transduration| command takes ``time in seconds'' as mandatory argument (and not ``key/vals'') \erroronpage{779}{para 3, l.1}{MiV}{2008/05/22}{2} ``in not shown''\> ``\u{is} not shown'' \erroronpage{794}{exa 11--4-36}{hv}{2009/05/12}{2} Replace ``pic2e'' \> ``pic\u{t}2e'' in output, corresponding input not displayed in the book. \CHAPTER{Appendix A} \CHAPTER{Appendix B} \erroronpage{809}{para -1, l.-1}{HjG}{2007/08/17}{2} Missing interword space before opening parenthesis: ``\dots \texttt{faq}\u{ }(or \dots'' Frank: actually there is nothing missing in the source. It is a deficiency of the fonts. \CHAPTER{Appendix C} \CHAPTER{Bibliography} \erroronpage{822}{entry [32]}{MiV}{2008/05/22}{2} Use capital C in ``Lecture Notes in computer Science'' \erroronpage{823}{entry [35]}{JPFD}{2007/09/05}{2} The author name ``Eitan M. Gurai'' should be ``Eitan M. Gurari''. \erroronpage{824}{entry [47]}{GTa}{2010/02/10}{} An updated version of the manual can be downloaded from \url{https://www.tug.org/docs/metapost/mpman.pdf} \erroronpage{825}{entry [50]}{FMi}{2008/12/21}{2} Use capital C in ``Lecture Notes in computer Science'' \erroronpage{826}{entry [59]}{FMi}{2008/12/21}{2} Add web url: \url{http://archiv.dante.de/DTK/PDF/komoedie_2002_1.pdf} \erroronpage{826}{entry [60]}{FMi}{2008/12/21}{2} Add web url: \url{http://archiv.dante.de/DTK/PDF/komoedie_2002_2.pdf} \erroronpage{828}{entry [60]}{FMi}{2008/12/21}{2} Add web url: ``Sample chapter at: \url{https://www.latex-project.org/help/books/}'' \erroronpage{829/830}{editorial change}{FMi}{2008/12/21}{2} Page breaks changed due to other changes \erroronpage{833}{entry [128]}{FMi}{2008/12/21}{2} Url changed to: \url{obsolete/graphics/pstricks/doc/code/pst-code.pdf} \erroronpage{833}{entry [129]}{FMi}{2008/12/21}{2} Url changed to: \url{macros/generic/multido/} \erroronpage{833}{entry [135]}{ADo}{2008/01/02}{2} An ``s'' is missing in ``using'' (end of the first line of comment) \CHAPTER{Index} \erroronpage{856/860/866}{editorial change}{FMi}{2008/12/21}{2} changed index entries due to changes above \erroronpage{886}{col.2, l.-7}{GTa}{2010/02/10}{} image(METAPOST) should also reference example on p.145 \erroronpage{891}{editorial change}{FMi}{2008/12/21}{2} changed index entries due to changes above \erroronpage{910/911}{editorial change}{FMi}{2008/12/21}{2} changed index entries due to changes above \erroronpage{925}{editorial change}{FMi}{2008/12/21}{2} changed index entries due to changes above \end{erratalist} \setcounter{collectmore}{3} \begin{multicols}{3}[Thanks to all who have found errors or omissions. Listed are the people who found an errata entry first.] \contributor{ADo}{Alain Dondelinger} \contributor{FMi}{Frank Mittelbach} \contributor{GTa}{Gr\'egoire Taviot} \contributor{HjG}{Hubert G\"a\ss lein} \contributor{JPFD}{Jean-Pierre Drucbert} \contributor{JMi}{John Middlekauff} \contributor{MSh}{Michael Sharpe} \contributor{MiV}{Milan Vujtek} \contributor{RSh}{Richard Shepard} \contributor{hv}{Herbert Vo\ss} \contributor{yhj}{You Hyun Jo} \end{multicols} Other people have sent us corrections for errors already found. Thanks to all of you! If you find further errors please report them to one of the authors, e.g., \begin{quote}\ttfamily frank.mittelbach@latex-project.org \end{quote} preferably in a form usable directly in this file, i.e., \begin{flushleft} |\erroronpage{|\textit{page-number}|}{|\textit{line-identification}|}{|% \textit{your-initials}|}{|\textit{date}|}{}| \\ \hspace*{2em}\textit{description of the the erratum} \end{flushleft} Here is an example: \begin{verbatim} \erroronpage{5}{para 3, l.1}{MOs}{2007/07/01}{} ``LaTeX'' should be typeset ``\LaTeX''. \end{verbatim} \end{document} > > In addition, with regards to content of Section 8.1 it would be nice > > to use Roman ``d'' in integrands in examples 3-2-3, 3-5-83, 3-5-84, > > 5-12-21, 6-5-6 and 6-5-11.