\newcommand\erratafiledate{1999/04/21}

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


\begin{filecontents}{errata.cls}
% Copyright (C) 1997, Frank Mittelbach

\ProvidesClass{errata}
  [1997/12/31 v0.6b 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\par\@@par}

\newcommand*\hideamp{&}

\let\endgobble\relax


\newcommand\erratastartdate{}
\newcommand\myprinting{}


\newcommand\doweprint[2]{%
  \ifnum \myprinting < \if!#2!1000 \else#2 \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{* 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 \\%
   \displayrevisionfix{#1}{#5}
   \hideamp #2 \hideamp (\textsf{#3}) \hideamp
}

\newcommand\CHAPTER[1]{\endgobble
  &\\[4pt]%
  \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \\}

\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]
      \large Includes all entries found \printedentries\space #2
   \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$}

\end{filecontents}


\begin{filecontents}{\jobname.cfg}
%
%
% Configuration file for the errata listing of 
%
%  Das LaTeX-Handbuch
%
%
% \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 are typeset.
%

\renewcommand\erratastartdate{1995/05/16}


%
% \myprinting
%
% Specifies which (revised) printing you own. Currently there is
%    only the first printing.
%    
%

\renewcommand\myprinting{1}

%
% \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.  Since the
%    Handbuch no revision we turn this feature off.

\norevisionnumbers

%
% \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}

\providecommand{\BibTeX}{%
   B\kern-.05em{\scshape i\kern-.025emb}\kern-.08em\TeX}
\providecommand{\MakeIndex}{\textit{MakeIndex}}

\documentclass[german]{errata}

\usepackage{german}

\begin{document}

\erratatitle{Das \LaTeX-Handbuch}{\erratafiledate}


\begin{verbatim}
@book(A-W:Lamport95,
   author         = "Leslie Lamport",
   title          = "Das \LaTeX-Handbuch",
   publisher      = Addison-Wesley,
   address        = Bonn: Paris; Reading, Mass.,
   year           = 1995,
   pagenums       = {325 + 20},
   bibliography   = {yes},
   index          = {yes},
   isbn           = {3-89319-826-1}
   }
)
\end{verbatim}


\begin{list}{}{\setlength\leftmargin{0cm}\setlength\rightmargin{5cm}}
\item[]
Die jeweils letzte Version dieser Datei (\texttt{\jobname.err}) ist Teil der
\LaTeX{} distribution.

Die erste Spalte der Tabelle enth"alt die Seitenzahl des Fehlereintrags.
Die zweite Spalte gibt den genauen Ort an; negative Zeilennummern sind vom
Seitenende gerechnet.
In der dritten Spalte steht der Entdecker des Fehlers.
\end{list}

\begin{erratalist}

\CHAPTER{Zur deutschen Ausgabe}

\erroronpage{xix}{letzte Zeile}{MSc}{1995/12/25}{}
   seinen Schiedsspr"uchen \> seine Schiedsspr"uche

\CHAPTER{Darf ich vorstellen}

\erroronpage{7}{Zitat}{ILe}{1999/04/21}{}
   Das Zitat Kroneckers lautet korrekt:
   \begin{quote}
   Die ganzen Zahlen hat der liebe Gott gemacht,\\
   alles andere ist Menschenwerk.
   \end{quote}
   Im darauf"|folgenden Absatz mu"s das Zitat "`Gott schuf\dots"' durch
   "`Die ganzen Zahlen\dots"' ersetzt werden.

\CHAPTER{Im Anfang war die Tat}

\CHAPTER{Zu neuen Ufern}

\erroronpage{66}{zweites Beispiel, rechte Spalte, 2. Zeile}{ILe}{1999/03/29}{}
|\texit| \> |\textit|

\CHAPTER{Auf den Weg gebracht}

\CHAPTER{W"ahlt mir eine Klasse}

\CHAPTER{Formvollendet}

\CHAPTER{Ins Bild gesetzt}

\CHAPTER{Auf den Weg gebracht}

\CHAPTER{Per aspera ad astra}

\CHAPTER{\MakeIndex}

\CHAPTER{\BibTeX}

\CHAPTER{Referenz}

\erroronpage{252}{erste Zeile}{MSc}{1995/12/25}{}
   |\sbox{|\emph{text}|}| \> |\sbox{|\emph{bf"|l\/}|}{|\emph{text}|}| 

\CHAPTER{Deutsch \&{} andere Mysterien}

\erroronpage{272}{letzter Absatz, erste Zeile}{RSt}{1995/06/01}{}
   werden diese \> wird dieses

\erroronpage{275}{zweiter Punkt, erste Zeile}{JSk}{1995/06/01}{}
   Wor-tabk"urzungen \> Wort-abk"urzungen

\erroronpage{277}{letzte Zeile}{MSc}{1995/12/25}{}
   Streiche "`Norm"'

\CHAPTER{Index}

\erroronpage{305}{Kronecker, Leopold}{MSc}{1999/04/21}{}
   Verweis auf Seite 7 einf"ugen.

\end{erratalist}


\begin{multicols}{3}[Dank an alle, die Fehler oder Auslassungen 
   gefunden haben. Aufgef"uhrt sind die Entdecker der Fehler.]
\contributor{ILe}{Ingo Lepper}
\contributor{JSk}{Jochen Skupin}
\contributor{MSc}{Martin Schr"oder}
\contributor{RSt}{Rebecca Stiels}
\end{multicols}

Viele andere haben mir Korrekturen f"ur schon bekannte Fehler
geschickt. Vielen Dank an euch alle!

Wenn Sie noch mehr Fehler finden, schicken Sie bitte eine Notiz an
\begin{quote}\ttfamily
  martin.schroeder@acm.org
\end{quote}
am besten in einer Form, die in diese Datei eingebaut werden kann, 
d.\,h.
\begin{flushleft}
|\erroronpage{|\textit{Seitenzahl-Nummer}|}{|\textit{Zeile-Position}|}{|%
   \textit{Ihr-K"urzel}|}{|\textit{Datum}|}{}| \\
   \hspace*{2em}\textit{Beschreibung des Druckfehlers}
\end{flushleft}
Ein Beispiel:
\begin{verbatim}
\erroronpage{xix}{letzte Zeile}{MSc}{1995/12/25}{}
   seinen Schiedsspr"uchen \> seine Schiedsspr"uche
\end{verbatim}

\end{document}
