\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 <page> <line info> <contributor> <date> <fixed in revision>

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