From 3b96c9c6ec7ee8bdf985ef04b812d45e816da90b Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Wed, 29 Aug 2007 20:37:00 +0000
Subject: dtk update (28aug07)

git-svn-id: svn://tug.org/texlive/trunk@4839 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/latex/dtk/dtk.dtx | 1384 +++++++++++++++++++++-------
 1 file changed, 1040 insertions(+), 344 deletions(-)

(limited to 'Master/texmf-dist/source/latex/dtk/dtk.dtx')

diff --git a/Master/texmf-dist/source/latex/dtk/dtk.dtx b/Master/texmf-dist/source/latex/dtk/dtk.dtx
index 29c5b4c08a4..ef3248f0b1e 100644
--- a/Master/texmf-dist/source/latex/dtk/dtk.dtx
+++ b/Master/texmf-dist/source/latex/dtk/dtk.dtx
@@ -1,9 +1,10 @@
+%\iffalse
+%%  Time-stamp: "dtk.dtx        2006-08-11 18:18:53 CET Mittwoch  RN/HjG/hv"
 %<*!ist>
 %%
 %%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%^^A $Id: dtk.dtx,v 1.8 2002/04/10 21:03:42 gene Exp gene $
+%%^^A $Id: dtk.dtx,v 1.9b 2006/08/11 21:03:42 hv Exp hv $
 %%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\iffalse
 %% Purpose:
 %%      LaTeX Class and Styles for ``Die TeXnische Komoedie''.
 %%
@@ -19,19 +20,19 @@
 %% Mail:   gene@gerd-neugebauer.de
 %%
 %% Copyright (C) 1995-1996 Gerd Neugebauer
-%% Copyright (C) 1997-2002 DANTE, Deutschsprachige
-%%		           Anwendervereinigung TeX e.V.
+%% Copyright (C) 1997-2006 DANTE, Deutschsprachige
+%%                           Anwendervereinigung TeX e.V.
 %%
 %%  dtk.dtx is distributed in the hope that it  will  be useful, but
 %%  WITHOUT  ANY  WARRANTY.    No   author  or  distributor  accepts
 %%  responsibility to anyone for the consequences of using it or for
 %%  whether it serves any particular purpose or works at all, unless
 %%  he says so in writing.
-%% 
+%%
 %%  Everyone is granted permission to  copy, modify and redistribute
 %%  dtk.dtx,  provided  this copyright notice is preserved  and  any
 %%  modifications are indicated.
-%% 
+%%
 %%
 %<*class>
 %%  This class is still under development and may be replaced with a
@@ -45,13 +46,13 @@
 %\fi
 %^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-% \title{A \LaTeX\ Class and Style for\\``Die \TeX{}nische 
+% \title{A \LaTeX\ Class and Style for\\``Die \TeX{}nische
 %        Kom{\"o}die''\thanks{This file documents \filename\ version
-%        \fileversion\ as of \filedate.}} 
+%        \fileversion\ as of \filedate.}}
 % \author{Gerd Neugebauer\\
-%	  Mainzer Str.\ 8\\
-%	  56321 Rhens (Germany)\\
-%	  Net: \texttt{gene@gerd-neugebauer.de}}
+%          Mainzer Str.\ 8\\
+%          56321 Rhens (Germany)\\
+%          Net: \texttt{gene@gerd-neugebauer.de}}
 %
 % \date{{\footnotesize Documentation date: \docdate}}
 %
@@ -66,8 +67,15 @@
 % \changes{0.29}{1996/06/21}{Logos improved. ContentsArt slightly modified.}
 % \changes{1.0}{1996/07/18}{The new layout is ready. (DTK 1/96 in print)}
 % \changes{1.1}{1996/09/13}{Fixing a minor problem with long titles.\\
-%	double backslash in titles are now ignored in headlines and toc.}
+%        double backslash in titles are now ignored in headlines and toc.}
 % \changes{1.3}{1997/02/08}{Ancient layout moved to a class option file.}
+% \changes{1.9-pre}{2005/02/04}{Merge changes due to RN made to
+%       generated files back into DTX (HjG).}
+% \changes{1.9-pre}{2005/02/04}{M-x delete-trailing-whitespace (HjG).}
+% \changes{1.9-pre}{2005/03/23}{File userpackages.tex now generated (RN/HjG).}
+% \changes{1.9a}{2005/10/29}{added flushleft environment (RN/hv).}
+% \changes{1.9b}{2006/08/11}{added macro CTANurl (hv).}
+% \changes{1.10}{2007/08/28}{new dtx file created (hv).}
 %^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % \DoNotIndex{\ ,\",\',\.,\[,\\,\],\^,\`,\~,\(,\),\,,\/,\-,\:,\=,\@,\~,\^}
@@ -122,7 +130,7 @@
 % \DoNotIndex{\wd,\widowpenalty,\write,\xdef,\z@}
 %
 %^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%    \CheckSum{2615}
+%    \CheckSum{2624}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%  \CharacterTable
 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -185,11 +193,11 @@
 %    which should be incorporated into the new class.
 %
 %    Thus Gerd Neugebauer started to derive a new class by modifying
-%    options and macros of the standard document class \texttt{article}. 
+%    options and macros of the standard document class \texttt{article}.
 %
 %    At this time it was not unususal for many installations not to
 %    provide the current \LaTeXe{} but still to have \LaTeX\,2.09
-%    only.  Thus one design decision was to have a document style as 
+%    only.  Thus one design decision was to have a document style as
 %    well as a document class. The requirement was met by providing a
 %    set of definitions which emulate some of the new features of
 %    \LaTeX{} under the old releases.
@@ -204,7 +212,7 @@
 %    board of ``Die \TeX nische Kom\"odie'' had been integrated.
 %    Especially the following persons contributed during this process:
 %    Luzia Dietsche, Bernd Raichle, Volker RW Schaa, Rainer Sch\"opf,
-%    and Andreas Dafferner. 
+%    and Andreas Dafferner.
 %
 %    Over the years several additions and corrections have made it
 %    into some additional packages which have been used for the
@@ -219,7 +227,7 @@
 %    support the use besides the production of ``Die \TeX nische
 %    Kom\"odie''. In addition the major change is that the
 %    bibliography is typeset in ragged right.
-%    
+%
 %
 %    \section{The User Interface}
 %
@@ -251,7 +259,7 @@
 %    Each article should have be started with a short paragraph describing
 %    what this article is about. This paragraph is called abstract. The
 %    environment \verb|abstract| is meant for marking a paragraph as
-%    abstract. 
+%    abstract.
 %
 %
 %
@@ -264,39 +272,39 @@
 %    The following logos are provided by this class and separately by
 %    the package \verb|dtklogos| if not defined somewhere else. You
 %    are strongly encouraged to use those macros to typeset the logos
-%    instead of making your own. 
+%    instead of making your own.
 %    \smallskip
 %
 %    \begin{tabular}{ll}
-%    \texttt{\char'134AmSTeX}	&\AmSTeX	\\
-%    \texttt{\char'134AmS}	&\AmS		\\
-%    \texttt{\char'134BibTeX}	&\BibTeX	\\
-%    \texttt{\char'134dante}	&\dante		\\
-%    \texttt{\char'134Dante}	&\Dante		\\ 
-%    \texttt{\char'134DTK}	&\DTK		\\
-%    \texttt{\char'134eTeX}	&\eTeX		\\
-%    \texttt{\char'134eV}	&\eV		\\
-%    \texttt{\char'134emTeX}	&\emTeX		\\
-%    \texttt{\char'134LAmSTeX}	&\LAmSTeX	\\
-%    \texttt{\char'134LaTeXTeX} &\LaTeXTeX	\\ 
-%    \texttt{\char'134LaTeXe}	&\LaTeXe	\\
-%    \texttt{\char'134LaTeX}	&\LaTeX		\\
-%    \texttt{\char'134LyX}	&\LyX		\\
-%    \texttt{\char'134METAFONT}	&\MF		\\
-%    \texttt{\char'134METAPOST}	&\MP		\\
-%    \texttt{\char'134MF}	&\MF		\\
-%    \texttt{\char'134MP}	&\MP		\\
-%    \texttt{\char'134MakeIndex}&\MakeIndex	\\
-%    \texttt{\char'134NFSS}	&\NFSS		\\
-%    \texttt{\char'134NTS}	&\NTS		\\
-%    \texttt{\char'134PS}	&\PS		\\
-%    \texttt{\char'134PiCTeX}	&\PiCTeX	\\
-%    \texttt{\char'134PubliCTeX}&\PubliCTeX	\\
-%    \texttt{\char'134TUG}	&\TUG		\\
-%    \texttt{\char'134TeXXeT}	&\TeXXeT	\\
-%    \texttt{\char'134TeXeT}	&\TeXeT		\\
-%    \texttt{\char'134WinEdt}	&\WinEdt	\\			
-%    \texttt{\char'134WinEdtKK}	&\WinEdtKK
+%    \texttt{\char'134AmSTeX}        &\AmSTeX        \\
+%    \texttt{\char'134AmS}        &\AmS                \\
+%    \texttt{\char'134BibTeX}        &\BibTeX        \\
+%    \texttt{\char'134dante}        &\dante                \\
+%    \texttt{\char'134Dante}        &\Dante                \\
+%    \texttt{\char'134DTK}        &\DTK                \\
+%    \texttt{\char'134eTeX}        &\eTeX                \\
+%    \texttt{\char'134eV}        &\eV                \\
+%    \texttt{\char'134emTeX}        &\emTeX                \\
+%    \texttt{\char'134LAmSTeX}        &\LAmSTeX        \\
+%    \texttt{\char'134LaTeXTeX} &\LaTeXTeX        \\
+%    \texttt{\char'134LaTeXe}        &\LaTeXe        \\
+%    \texttt{\char'134LaTeX}        &\LaTeX                \\
+%    \texttt{\char'134LyX}        &\LyX                \\
+%    \texttt{\char'134METAFONT}        &\MF                \\
+%    \texttt{\char'134METAPOST}        &\MP                \\
+%    \texttt{\char'134MF}        &\MF                \\
+%    \texttt{\char'134MP}        &\MP                \\
+%    \texttt{\char'134MakeIndex}&\MakeIndex        \\
+%    \texttt{\char'134NFSS}        &\NFSS                \\
+%    \texttt{\char'134NTS}        &\NTS                \\
+%    \texttt{\char'134PS}        &\PS                \\
+%    \texttt{\char'134PiCTeX}        &\PiCTeX        \\
+%    \texttt{\char'134PubliCTeX}&\PubliCTeX        \\
+%    \texttt{\char'134TUG}        &\TUG                \\
+%    \texttt{\char'134TeXXeT}        &\TeXXeT        \\
+%    \texttt{\char'134TeXeT}        &\TeXeT                \\
+%    \texttt{\char'134WinEdt}        &\WinEdt        \\
+%    \texttt{\char'134WinEdtKK}        &\WinEdtKK
 %    \end{tabular}
 %
 %    \DescribeMacro{\footnote}
@@ -313,30 +321,35 @@
 %    Unfortunately the macros provided are not sufficient in several
 %    situations. Thus this class provides some additional markup
 %    macros to come closer to the ideal situation.
-%    
+%
 %    \DescribeMacro{\File}
-%    This macro is intended to be used for typesetting file names. 
-% 
+%    This macro is intended to be used for typesetting file names.
+%
 %    \DescribeMacro{\Package}
-%    This macro is intended to be used for typesetting package names. 
-% 
+%    This macro is intended to be used for typesetting package names.
+%
 %    \DescribeMacro{\Program}
-%    This macro is intended to be used for typesetting program names. 
-% 
+%    This macro is intended to be used for typesetting program names.
+%
 %    \DescribeMacro{\Command}
 %    This macro is intended to be used for typesetting command names.
 %    For instance command names are relevant when talking about Unix
-%    commands. 
-% 
+%    commands.
+%
 %    \DescribeMacro{\Macro}
 %    This macro is intended to be used for typesetting macro names.
-% 
+%
 %    \DescribeMacro{\Environment}
 %    This macro is intended to be used for typesetting environment names.
-% 
+%
 %    \DescribeMacro{\Email}
 %    This macro is intended to be used for typesetting email addresses.
-% 
+%
+%    \DescribeMacro{\CTANurl}
+%    Use this macro instead of \verb+\url+ for references to the \CTAN.
+%    It uses the \verb+\href+ and \verb+\nolinkurl+ from the package \Package{hyperref}.
+%    An example for a reference is \verb+\CTANurl{graphics/pstricks/}+: \CTANurl{graphics/pstricks/}
+%
 %    \DescribeMacro{\Acronym}
 %    This macro is intended to be used for typesetting acronyms. It is
 %    highly recommended to use this macro sparsingly
@@ -353,7 +366,7 @@
 %    The macro \verb|\DieTeXnischeKomoedie| is provided for this purpose. It
 %    takes three arguments. The first argument is the number. The second
 %    argument is the annual set and the third argument is the publication
-%    date. 
+%    date.
 %
 %    \DescribeMacro{\CoverArt}
 %    The macro \verb|\DieTeXnischeKomoedie| calls the macro \verb|\CoverArt|
@@ -384,7 +397,7 @@
 %    loaded in the preamble of the document. The macro
 %    \verb|\NeedPackage| provides a means to specify the required
 %    packages in the article files. Unfortunately \LaTeX{} does not
-%    provide a way to load missing packages in the document iyself
+%    provide a way to load missing packages in the document itself
 %    thus the only reasonable action for this macros is to issue a
 %    warning message if a needed package is not found. Nevertheless
 %    this helps finding potential problems.
@@ -407,7 +420,7 @@
 %    typeset the address information at the end.
 %
 %    To use the package you can use a driver file with the following
-%    structure: 
+%    structure:
 %
 %    \begin{quote}
 %      \verb|\documentclass{dtk}|\\
@@ -450,7 +463,7 @@
 %
 %    To enable you to make references across articles the original
 %    definitions of \verb|\label| and \verb|\ref|  have been saved in
-%    \verb|\Label| and \verb|\Ref| respectively.  
+%    \verb|\Label| and \verb|\Ref| respectively.
 %
 %
 %    \subsection{List of Authors}
@@ -467,7 +480,7 @@
 %    separately before. During this processing \BibTeX\ can be used to
 %    generate the appropriate bbl file.
 %    Things are arranged to include the bbl file for the article in
-%    question. 
+%    question.
 %
 %    One problem is not solved. This is the uniqueness of the \BibTeX\
 %    labels. Here manual invention is required.
@@ -483,14 +496,14 @@
 %    \section{The Version Information}
 %
 %    The following lines define the version information for the class
-%    and the pdf package file. 
+%    and the pdf package file.
 %
 %    \begin{macrocode}
 %<*class|pdf|logos>
 \def\DTKrcs$#1: #2 #3${#2}
 \def\filename{dtk.dtx}
-\xdef\fileversion{\DTKrcs$Revision: 1.8 $}
-\xdef\filedate{\DTKrcs$Date: 2002/04/10 21:03:42 $}
+\xdef\fileversion{\DTKrcs$Revision: 1.10 $}
+\xdef\filedate{\DTKrcs$Date: 2007/08/28 18:17:42 $}
 \let\docversion=\fileversion
 \let\docdate=\filedate
 %</class|pdf|logos>
@@ -505,14 +518,14 @@
 %
 %    The documentation can be adapted in a file named dtk.dcf
 %    (documentation configuration). This file can contain instructions
-%    for \verb|docstrip|. Especially useful might be the instruction 
+%    for \verb|docstrip|. Especially useful might be the instruction
 %
 %    \verb|\OnlyDescription|
 %
 %    which supresses the generation of the implementation description.
 %
 %    \changes{1.3}{1997/01/27}{The documentation driver has been
-%    integrated.} 
+%    integrated.}
 %    \begin{macrocode}
 %<*driver>
 \documentclass{ltxdoc}
@@ -582,7 +595,7 @@
 %
 %
 %    \subsection{Basic Definitions}
-%    
+%
 %    \begin{macrocode}
 %<*class>
 %    \end{macrocode}
@@ -597,6 +610,14 @@
 \DTK@Author@true
 %    \end{macrocode}
 %
+%    ???
+%
+%    \begin{macrocode}
+\newif\ifDTK@Draft@
+\newif\ifDTK@lineno@
+\DTK@lineno@false
+%    \end{macrocode}
+%
 %    The boolean \verb|DTK@german@| is used to determine if the german
 %    package should be loaded automatically. Usually it is turned on.
 %    Under certain circumstances it might be necessary to load other
@@ -628,7 +649,7 @@
 %    The macro \verb|RequirePackage| simply tries to load the appropriate
 %    style file. The category code of \verb|@| is changed temporarily.
 %    The old value is is saved in \verb|\DTK@cat| and restored at the end.
-%    
+%
 %    Optional arguments are not supported, yet.
 %
 %    \begin{macrocode}
@@ -639,24 +660,24 @@
     \catcode`\@=\DTK@cat}
 %    \end{macrocode}
 %    \end{macro}
-%    
+%
 %    \begin{macro}{\LoadClass}
 %    The concept of class and package files has not been so different in
 %    \LaTeX\,2.09. Thus the same that has been said for \verb|\RequirePackage|
 %    holds also for the macro \verb|\LoadClass|. Thus we just make it a
-%    synonym. 
-% 
+%    synonym.
+%
 %    \begin{macrocode}
   \let\LoadClass=\RequirePackage
 %    \end{macrocode}
 %    \end{macro}
-%    
+%
 %    \begin{macro}{\InputIfFileExists}
 %    Now things get a little bit more complicated. To implement the
 %    macro \verb|\InputIfFileExists| we try to open the file. If this
 %    fails we assume that the file does not exist. The appropriate
 %    action is performed in both cases.
-% 
+%
 %    \begin{macrocode}
   \newcommand\InputIfFileExists[3]{%
     \openin\DTK@file #1
@@ -726,14 +747,14 @@
 %    implement \verb|\InputIfFileExists|. Since \verb|\newread| is
 %    declared \verb|\outer| we have to allocate the new handle here. It is
 %    just used in the \LaTeX\,2.09 mode.
-% 
+%
 %    \begin{macrocode}
 \newread\DTK@file
 %    \end{macrocode}
 %
 %    Now we can continue without considering the \LaTeX{} dialect any
 %    more. Any changes we make from now on are exclusivly based on the
-%    interface defined above. 
+%    interface defined above.
 %
 %    This is all we had to do to implement the compatibility mode. It might
 %    turn out that more features are desirable. Those extensions are left to
@@ -743,7 +764,7 @@
 %
 %    \subsection{Initializations}
 %
-%    
+%
 %    Now we can start to define the class. The version date is taken
 %    from the macro \verb|\filedate|. This macro is defined at the
 %    beginning of this file. The value is changed by the version
@@ -752,7 +773,23 @@
 %    \begin{macrocode}
 \ProvidesClass{dtk}[\filedate\space\fileversion\space  gene]
 %    \end{macrocode}
-%    
+%
+%    ???
+%
+%    \begin{macrocode}
+% RN 2005-01-15, siehe `bibtopic.sty'.
+\newcommand\DTK@isnum[1]{%
+  \if!\ifnum9<1#1!\else_\fi
+      \expandafter\@firstoftwo
+  \else
+      \expandafter\@secondoftwo
+  \fi
+}
+% RN 2005-01-31
+\newcommand*\DTK@@thelinenumber{\thepage-\arabic{linenumber}}
+%%%%
+%    \end{macrocode}
+%
 %    The options to switch to other point sizes are disabled. Nobody
 %    is supposed to use this class with another than the single design
 %    size.
@@ -761,15 +798,15 @@
 \DeclareOption{11pt}{\OptionNotUsed}
 \DeclareOption{12pt}{\OptionNotUsed}
 %    \end{macrocode}
-%    
+%
 %    The options to switch the oneside and twoside settings are
 %    disabled. Nobody is supposed to use this class with another than
-%    the single design size. 
+%    the single design size.
 %    \begin{macrocode}
 \DeclareOption{twoside}{\OptionNotUsed}
 \DeclareOption{oneside}{\OptionNotUsed}
 %    \end{macrocode}
-%    
+%
 %    We define an internal style option ``full''. This loads
 %    the multicolumn package from the Mainz distribution. It is only
 %    needed to produce the full journal. Additionally several macros
@@ -778,38 +815,82 @@
 %    \begin{macrocode}
 \DeclareOption{full}{\DTK@Author@false}
 %    \end{macrocode}
-%    
+%
 %    The package option \verb|omitgerman| can be used to omit the
 %    loading of the package \verb|german.sty|. This migth be necessary
 %    if packages are required which have to be loaded before
-%    \verb|german|. 
+%    \verb|german|.
 %    \begin{macrocode}
 \DeclareOption{omitgerman}{\DTK@german@false}
 %    \end{macrocode}
-%    
+%
 %    In 1996 the layout of ``Die TeXnische Kom\"odie'' has been
 %    changed.  The option \verb|ancient| can be used to switch back to
 %    the old layout.
 %    \begin{macrocode}
 \DeclareOption{ancient}{\def\DTK@layout{95}}
 %    \end{macrocode}
-%    
+%    ???
 %    \begin{macrocode}
+% RN 2005-01-16
+\DeclareOption{draft}{%
+  \DTK@Draft@true
+  \DTK@lineno@true
+  \PassOptionsToPackage{pagewise}{lineno}%
+  \PassOptionsToClass{\CurrentOption}{book}%
+}
+% RN 2005-01-30
+\DeclareOption{linenumbers}{\DTK@lineno@true}
+\DeclareOption{nolinenumbers}{\DTK@lineno@false}
+\DeclareOption{pagewise}{%
+  \PassOptionsToPackage{\CurrentOption}{lineno}}
+\DeclareOption{running}{%
+  \PassOptionsToPackage{\CurrentOption}{lineno}}
+% RN 2005-01-31
+% RN/HjG 2005-02-11
+% Ein grauenvoller Hack!
+\DeclareOption{ln-long}{\def\DTK@@thelinenumber{%
+  %\def\Hugo{%
+  \ifoddNumberedPage% eigtl. Even!!!
+    \ifodd\c@page
+      \@tempswatrue %C
+    \else
+      \@tempswafalse %D
+    \fi
+  \else
+    \ifodd\c@page
+      \@tempswafalse %A
+    \else
+      \@tempswatrue %B
+    \fi
+  \fi
+  %}\Hugo
+  %\@tempcnta=\c@page
+  %\if@tempswa \advance\@tempcnta\@ne \fi
+  \if@tempswa \advance\c@page\@ne \fi
+  %\edef\thepage{\the\@tempcnta}%
+  \thepage-\arabic{linenumber}}}
+\DeclareOption{ln-short}{\def\DTK@@thelinenumber{%
+  \arabic{linenumber}}}
+%    \end{macrocode}
+%    ??? Now done better!
+%    \begin{macrocode}
+\iffalse% RN 2005-01-15
 \DeclareOption{95}{\def\DTK@layout{95}}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareOption{96}{\def\DTK@layout{96}}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareOption{97}{\def\DTK@layout{97}}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareOption{98}{\def\DTK@layout{98}}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareOption{99}{\def\DTK@layout{99}}
 %    \end{macrocode}
@@ -825,13 +906,23 @@
 %    \begin{macrocode}
 \DeclareOption{02}{\def\DTK@layout{02}}
 %    \end{macrocode}
-%    
+%
 %    The remaining options are handed down to the base class \verb|book|.
 %    This works for \LaTeXe{} and is a noop for \LaTeX\,2.09.
 %    \begin{macrocode}
 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
 %    \end{macrocode}
-%    
+%    ??? This is the way \dots!
+%    \begin{macrocode}
+\else
+\DeclareOption*{%
+  \DTK@isnum{\CurrentOption}%
+    {\edef\DTK@layout{\CurrentOption}}%
+    {\PassOptionsToClass{\CurrentOption}{book}}%
+}
+\fi
+%    \end{macrocode}
+%
 %    Now we can process all options. Again this works for \LaTeXe{}
 %    and is a noop for \LaTeX\,2.09 since the options are
 %    automatically processed there.
@@ -848,21 +939,58 @@
 \LoadClass{book}
 %    \end{macrocode}
 %
+%    ???
+%
+%    \begin{macrocode}
+% RN 2005-01-30
+\ifDTK@lineno@
+  \RequirePackage{lineno}\linenumbers
+  \RequirePackage{color}%
+  \linenumbersep=.8ex
+  \def\linenumberfont{\normalfont\scriptsize\sffamily\bfseries}%
+  \definecolor{DTK@lineno@color}{cmyk}{0.26,0,0.76,0}% SpringGreen
+  \def\thelinenumber{%
+  \begingroup
+    \fboxsep=.3ex\fcolorbox{black}{DTK@lineno@color}{%
+      \DTK@@thelinenumber}%
+  \endgroup}%
+\fi
+%%%%%%%%%%
+%    \end{macrocode}
+%
 %    The T1 font encoding is used.
 %    \changes{1.4}{2000/08/12}{T1 font encoding enabled.}
 %
 %    \begin{macrocode}
 \RequirePackage[T1]{fontenc}
+%    \end{macrocode}
+%
+%    ???
+%
+%    \begin{macrocode}
+% RN 2005-01-15
+\IfFileExists{lmodern.sty}{\RequirePackage{lmodern}}{}
+\RequirePackage[full]{textcomp}
+% RN/HjG 2005-03-23
+\ifDTK@Author@\else
+  \RequirePackage[utf8]{inputenc}
+\fi
+\usepackage[hyphens]{url}
+\usepackage[newcommands,newparameters]{ragged2e}
+\@ifundefined{flushleft}
+  {\let\flushleft\FlushLeft\let\endflushleft\endFlushLeft}{}
+%
+\usepackage{filecontents}
 %</class>
 %    \end{macrocode}
 %
 %    For old issues of the journal the OT1 font encoding is used
-%    instead. 
+%    instead.
 %
 %    \begin{macrocode}
-%<*ninetyfive|ninetysix|ninetyseven|ninetyeight>
+%<*1995|1996|1997|1998>
 \RequirePackage[OT1]{fontenc}
-%</ninetyfive|ninetysix|ninetyseven|ninetyeight>
+%</1995|1996|1997|1998>
 %<*class>
 %    \end{macrocode}
 %
@@ -878,7 +1006,7 @@
 %    |omitgerman| can be used. To ensure proper operation of dtk it is
 %    necesary to call the macro \verb|\DTKgerman| after the style
 %    (n)german has been loaded.
-%    
+%
 %    \changes{1.7}{2001/11/03}{The package ngerman is used to support
 %    the current orthography.}
 %    \begin{macrocode}
@@ -891,21 +1019,28 @@
 \typeout{*** Don't forget to use the macro \string\DTKgerman\space
   afterwards.}
 \fi
-%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%<*1995|1996|1997|1998|1999>
 \ifDTK@german@
 \RequirePackage{german}
 \selectlanguage{german}
 \fi
-%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%</1995|1996|1997|1998|1999>
 %    \end{macrocode}
 %
 %    The package ``\texttt{multicol}'' is used in the full version. Thus
 %    we only load it if the option \verb|full| has been given.
 %    \changes{1.4}{2000/08/06}{Packages graphicx and color are required.}
 %    \begin{macrocode}
+% RN 2005-01-22
+% Mindestens `multicol' wird auch im Autormodus gebraucht, falls dort 
+% ein Index erstellt wird. Vermutlich "graphicx,color" ("xcolor"?) auch
+% so allemeing\"ultig, dass es vorgezogen werden sollte!
+\RequirePackage{multicol}
 \ifDTK@Author@\else
-  \RequirePackage{multicol}
+%  \RequirePackage{multicol}
   \RequirePackage{graphicx,color}
+% RN 2005-01-22
+  \errorcontextlines=100\relax
 \fi
 \RequirePackage{dtklogos}
 %    \end{macrocode}
@@ -916,11 +1051,11 @@
 %    This macro can be used to declare in a single article which
 %    packages are required. At this places it is too late to load
 %    them if they are not loaded already. In stead a fat message is
-%    presented which warns the user of potential problems. 
+%    presented which warns the user of potential problems.
 %
 %    This macro takes a single argument which is the name of
 %    \emph{one} package. Multiple packages and versions are not
-%    supported (yet).  
+%    supported (yet).
 %
 %    This macro is copied and modified from an \LaTeX2\ (june 1996)
 %    internal. It seems as \LaTeXe\ defines a control sequences for
@@ -937,7 +1072,7 @@
     \typeout{*** I try to stumble along as good as I can.}%
     \typeout{*** Expect some undefined macros or other errors.}%
     \typeout{***}%
-    \typeout{***}
+    \typeout{***}%
   \fi}
 %    \end{macrocode}
 %    \end{macro}
@@ -968,10 +1103,10 @@
 %    width is 342\,pt = 120.19925\,mm. This is slightly larger than in the
 %    predecessor style.
 %    \begin{macrocode}
-%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%<*1995|1996|1997|1998|1999>
 \textheight = 484pt
 \textwidth  = 342pt
-%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%</1995|1996|1997|1998|1999>
 %<*class>
 %    \end{macrocode}
 %
@@ -980,8 +1115,10 @@
 %    printable area on the page is left to the output driver.
 %    \begin{macrocode}
 \oddsidemargin  = 0pt
-\evensidemargin = \oddsidemargin
-\topmargin      = 0pt
+\evensidemargin = \oddsidemargin\oddsidemargin  -35.89157pt
+\evensidemargin -17.70235pt
+\topmargin  -55.66684pt
+%\topmargin      = 0pt% RN 2005-01-16
 %    \end{macrocode}
 %
 %    The head line needs some space. In fact this depends on some
@@ -993,10 +1130,10 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \headheight = 14pt
 \headsep    = 12pt
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %
@@ -1007,9 +1144,9 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \footskip = 21pt
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %
@@ -1032,14 +1169,14 @@
 \renewcommand\textfraction{.1}
 %    \end{macrocode}
 %
-%    
+%
 %    \changes{1.4}{2000/08/21}{columnsep reduced to 5pt}
 %    \begin{macrocode}
 \columnsep = 5pt
 %</class>
-%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%<*1995|1996|1997|1998|1999>
 \columnsep = 10pt
-%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%</1995|1996|1997|1998|1999>
 %<*class>
 %    \end{macrocode}
 %
@@ -1047,9 +1184,9 @@
 %    \begin{macrocode}
 \emergencystretch = 1.5em
 %</class>
-%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine|twothousand>
+%<*1995|1996|1997|1998|1999|2000>
 \emergencystretch = 0pt
-%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine|twothousand>
+%</1995|1996|1997|1998|1999|2000>
 %<*class>
 %    \end{macrocode}
 %
@@ -1066,12 +1203,23 @@
 \clubpenalty  = 10000
 \widowpenalty = 10000
 %    \end{macrocode}
-% 
+%    ???
+%    \begin{macrocode}
+% RN 2005-01-16 ???
+\marginparwidth=1cm
+%\marginparsep=\z@
+\@ifdefinable\DTK@orig@marginpar{\let\DTK@orig@marginpar\marginpar}
+\renewcommand*\marginpar{%
+  \ClassWarning{dtk}{Command `\string\marginpar' not expected}%
+  \DTK@orig@marginpar}
+%
+%    \end{macrocode}
+%
 %    \begin{macro}{\DTKgerman}
 %    We will change some of the captions names used within \LaTeX{}. To avoid
 %    that the package ``\texttt{german}'' undoes our efforts we anchor the
 %    changes in the \verb|\captionsgerman| macro. To do so we have to save the
-%    old meaning in an internal name. 
+%    old meaning in an internal name.
 %    \changes{1.5}{2001/04/24}{Method for ngerman added}
 %    \begin{macrocode}
 \newcommand\DTKgerman{
@@ -1081,29 +1229,29 @@
 }
 %</class>
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
-%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%<*1995|1996|1997|1998|1999>
 \renewcommand\DTKgerman{
   \let\DTK@captionsgerman=\captionsgerman
   \let\captionsgerman=\DTK@captionsgerman
   \selectlanguage{german}%
 }
-%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%</1995|1996|1997|1998|1999>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\DTK@captionsgerman}
 %
 %    Now we can redefine the captions command. First of all we use the
 %    old definition. Thus we avoid duplicating the whole definition
-%    and maybe getting in trouble with some future version. 
+%    and maybe getting in trouble with some future version.
 %    \begin{macrocode}
 \newcommand\DTK@captionsgerman{
   \DTK@captionsgerman
 %    \end{macrocode}
-% 
+%
 %    \begin{macro}{\refname}
 %    Just in case that an article contains a list of references we
 %    define the title for this section.
@@ -1113,31 +1261,31 @@
   \gdef\refname{Literatur}%
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\bibname}
 %    Ok. And now the same trick for the title of the bibliography.
 %    \begin{macrocode}
   \gdef\bibname{Literatur}%
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\contentsname}
 %    The headline for the table of contents is defined appropriately.
 %    \verb|\volume| contains the number of the current volume. This
 %    number is set by the macro producing the front page.
 %    \begin{macrocode}
-  \gdef\contentsname{Inhalt Heft \volume}%
+  \gdef\contentsname{Inhalt Heft \Volume}%
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    Now we are done. We just have to make sure that the new values
 %    are activated by calling the new captions macros.
-% 
+%
 %    \begin{macrocode}
 }
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    If the option german has been loaded automatically then we have
 %    to modify the captions at once. Otherwise the user is responsible
 %    to call \verb|\DTKgerman| after the package german has been loaded.
@@ -1147,16 +1295,16 @@
 \fi
 %</class>
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
-%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%<*1995|1996|1997|1998|1999>
 \ifDTK@german@
   \DTKgerman
 \fi
-%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%</1995|1996|1997|1998|1999>
 %<*class>
 %    \end{macrocode}
-% 
+%
 %    \begin{macro}{\addressname}
 %    The heading for the list of authors is defined in this macro.
 %    \begin{macrocode}
@@ -1183,15 +1331,49 @@
 %    used in the full version we provide a reasonable default.
 %    \changes{1.4}{2000/08/12}{Current date and time added.}
 %    \begin{macrocode}
-\newcommand\volume{?/?? --- Entwurf \today\ 
+\newcommand\Volume{?/??}
+\newcommand\volume{\Volume\ --- Entwurf \today\
   \begingroup
     \count1=\time\divide\count1 60
     \count2=\count1 \multiply\count2 -60 \advance\count2\time
-    \the\count1:\ifnum\count2<10 0\fi\the\count2
+    \ifnum\count1<10 0\fi\the\count1:\ifnum\count2<10 0\fi\the\count2
   \endgroup
 }
 %    \end{macrocode}
 %    \end{macro}
+%    ???
+%    \begin{macrocode}
+% RN 2005-01-17
+\newcommand*\DTK@corr@version{}
+\ifDTK@Author@\else
+  \newcommand*\DTK@today{}%
+  \begingroup
+    \count@\time
+    \divide\count@ 60\relax
+    \count2=-\count@
+    \multiply\count2 60\relax
+    \advance\count2 \time
+    %% \loggingall %% Wuduh!
+    \xdef\DTK@today{%
+      \the\year-\two@digits{\the\month}-\two@digits{\the\day}% %!!! \the
+      %\protect~% Warum geht das nicht?
+      \noexpand\noexpand~%
+      %% Wuduh! 2 \noexpand noetig? Weil \number\the 2mal zuschlaegt?
+      %% Ohne \the langt 1 \noexpand!
+      \two@digits{\the\count@}:\two@digits{\the\count2}}%
+      %%\show\DTK@today
+  \endgroup
+  \ifDTK@Draft@
+    \def\DTK@corr@version{\fbox{Korrekturversion:~\DTK@today}}%
+    \AtEndOfClass{%
+      \let\ps@empty=\ps@plain
+      \let\ps@part=\ps@plain}%
+  \else
+    \let\@LN\@gobbletwo% Wegen .aux-Datei von vorherigem lineno-Lauf
+    \let\@LN@col\@gobble
+  \fi
+\fi
+%    \end{macrocode}
 %
 %    \begin{macro}{\footmark}
 %    This macro contains the text of the running foot.
@@ -1202,19 +1384,19 @@
 %
 %    \begin{macro}{\ChapterFont}
 %    This macro contains the font changing command issued before
-%    typesetting a chapter title. 
+%    typesetting a chapter title.
 %    \begin{macrocode}
 \newcommand\ChapterFont{\Large\sf}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\ChapterFont{\Large\bf}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\SectionFont}
 %    This macro contains the font changing command issued before
 %    typesetting the section heading.
@@ -1223,9 +1405,9 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\SectionFont{\normalsize\bf}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -1238,9 +1420,9 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\SubsectionFont{\normalsize\it}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -1253,88 +1435,88 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\SubsubsectionFont{\normalsize\it}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\AuthorFont}
 %    This macro contains the font changing command issued before
-%    typeseting the author of an article. 
+%    typeseting the author of an article.
 %    \begin{macrocode}
 \newcommand\AuthorFont{\large\sf}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\AuthorFont{\normalsize\rm}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\TitleFont}
 %    This macro contains the font changing command issued before
-%    typeseting the title of an article. 
+%    typeseting the title of an article.
 %    \begin{macrocode}
 \newcommand\TitleFont{\Large\sf}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\TitleFont{\large\bf}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\HeadFont}
 %    This macro contains the font changing command issued before
-%    typeseting the running head line. 
+%    typeseting the running head line.
 %    \begin{macrocode}
 \newcommand\HeadFont{\sf\fontshape{sl}\selectfont}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\HeadFont{\sl}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\FootFont}
 %    This macro contains the font changing command issued before
-%    typeseting the running foot line. 
+%    typeseting the running foot line.
 %    \begin{macrocode}
 \newcommand\FootFont{\footnotesize\sf\fontshape{sl}\selectfont}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\FootFont{\footnotesize\sl}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\PagenoFont}
 %    This macro contains the font changing command issued before
-%    typeseting the page number. 
+%    typeseting the page number.
 %    \begin{macrocode}
 \newcommand\PagenoFont{\sf}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\PagenoFont{\rm}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\NewpageThreshold}
 %    The macro \verb|\NewpageThreshold| is used to determine how much
 %    space is needed on a page to start a new article. If less space
@@ -1343,7 +1525,7 @@
 \newcommand\NewpageThreshold{100pt}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\HeadRuleDepth}
 %    This macro contains the depth of the line between the running
 %    head and the main body of text.
@@ -1352,13 +1534,13 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\HeadRuleDepth{0.1pt}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\FootRuleDepth}
 %    This macro contains the depth of the line between the running
 %    foot and the main body of text.
@@ -1367,16 +1549,16 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\FootRuleDepth{0.1pt}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\ContentsParSkip}
 %    This macro contains the \verb|parskip| used for the table of
-%    contents. 
+%    contents.
 %    \begin{macrocode}
 \newcommand\ContentsParSkip{1pt}
 %    \end{macrocode}
@@ -1387,11 +1569,11 @@
 %
 %    The size changing commands \verb|\small| and \verb|\footnotesize|
 %    redefine also \verb|\@listi|. This effect has to be undone.
-% 
-% 
+%
+%
 %    \begin{macro}{\DTK@math}
 %    This macro modifies the relavant parameters for typesetting
-%    mathematics. 
+%    mathematics.
 %    \begin{macrocode}
 \newcommand\DTK@math{%
   \abovedisplayskip      = 4pt plus 2pt minus 1pt
@@ -1401,7 +1583,7 @@
 }
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\@normalsize}
 %    This is an internal size changing command. We save the old
 %    definition in \verb|\DTK@@normalsize| and redefine it. After the
@@ -1414,12 +1596,12 @@
   \let\@listi=\@listI}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\normalsize}
 %    This is a size changing command. We save the old
 %    definition in the macro \verb|\DTK@normalsize| and redefine
 %    it. After the old definition is used some sizes are changed to a
-%    smaller value. 
+%    smaller value.
 %    \begin{macrocode}
 \let\DTK@normalsize=\normalsize
 \renewcommand\normalsize{%
@@ -1429,7 +1611,7 @@
 \normalsize
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\small}
 %    This is a size changing command. We save the old
 %    definition in \verb|\DTK@small| and redefine it. After the
@@ -1442,12 +1624,12 @@
   \let\@listi=\@listI}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\footnotesize}
 %    This is a size changing command. We save the old
 %    definition in the macro \verb|\DTK@footnotesize| and redefine
 %    it. After the old definition is used some sizes are changed to a
-%    smaller value. 
+%    smaller value.
 %    \begin{macrocode}
 \let\DTK@footnotesize=\footnotesize
 \renewcommand\footnotesize{%
@@ -1456,7 +1638,7 @@
   \let\@listi=\@listI}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\Path}
 %    \changes{1.3}{1997/01/28}{Macro added.}
 %    This macro can be used to typeset paths to network sources like
@@ -1476,13 +1658,13 @@
 \catcode`\^=0
 ^catcode`\\=13
 ^gdef^Path{^begingroup
-  ^catcode`^/=13 
-  ^catcode`^\=13 
-  ^catcode`^:=13 
-  ^catcode`^~=12 
+  ^catcode`^/=13
+  ^catcode`^\=13
+  ^catcode`^:=13
+  ^catcode`^~=12
   ^catcode`^$=12 %$
-  ^catcode`^_=12 
-  ^catcode`^#=12 
+  ^catcode`^_=12
+  ^catcode`^#=12
   ^let/=^Path@SepI
   ^let\=^Path@SepII
   ^let:=^Path@SepIII
@@ -1491,7 +1673,7 @@
 ^endgroup
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %
 %    \subsection{Logical Markup}
 %
@@ -1500,41 +1682,41 @@
 %    Unfortunately the macros provided are not sufficient in several
 %    situations. Thus this class provides some additional markup
 %    macros to come closer to the ideal situation.
-%    
+%
 %    \begin{macro}{\File}
-%    This macro is intended to be used for typesetting file names. 
+%    This macro is intended to be used for typesetting file names.
 %    \changes{1.7}{2001/11/04}{macro added.}
 %    \begin{macrocode}
 \providecommand\File[1]{\texttt{#1}}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\Package}
-%    This macro is intended to be used for typesetting package names. 
+%    This macro is intended to be used for typesetting package names.
 %    \changes{1.7}{2001/11/04}{macro added.}
 %    \begin{macrocode}
 \providecommand\Package[1]{\texttt{#1}}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\Program}
-%    This macro is intended to be used for typesetting program names. 
+%    This macro is intended to be used for typesetting program names.
 %    \changes{1.7}{2001/11/04}{macro added.}
 %    \begin{macrocode}
 \providecommand\Program[1]{\texttt{#1}}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\Command}
 %    This macro is intended to be used for typesetting command names.
 %    For instance command names are relevant when talking about Unix
-%    commands. 
+%    commands.
 %    \changes{1.7}{2001/11/04}{macro added.}
 %    \begin{macrocode}
 \providecommand\Command[1]{\texttt{#1}}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\Macro}
 %    This macro is intended to be used for typesetting macro names.
 %    \changes{1.7}{2001/11/04}{macro added.}
@@ -1542,7 +1724,7 @@
 \providecommand\Macro[1]{\texttt{#1}}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\Environment}
 %    This macro is intended to be used for typesetting environment names.
 %    \changes{1.7}{2001/11/04}{macro added.}
@@ -1550,7 +1732,7 @@
 \providecommand\Environment[1]{\texttt{#1}}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\Email}
 %    This macro is intended to be used for typesetting email addresses.
 %    \changes{1.7}{2001/11/04}{macro added.}
@@ -1558,7 +1740,20 @@
 \providecommand\Email[1]{\texttt{#1}}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
+%    \begin{macro}{\CTANurl}
+%% hv 2006-08-11
+%    Use this macro instead of \verb+\url+ for references to the \CTAN.
+%    It uses the \verb+\href+ and \verb+\nolinkurl+ from the package \Package{hyperref}
+%    or alternative the \Package{url} and an empty \Command{href}, if hyprref isn't loaded.
+%    An example for a reference is \verb+\CTANurl{graphics/pstricks/}+: \CTANurl{graphics/pstricks/}
+\providecommand*{\nolinkurl}{\url}
+\providecommand*{\href}[1]{}
+\newcommand*{\CTANurl}[1]{%
+  \href{ftp://ftp.ctan.org/tex-archive/#1}{\nolinkurl{CTAN:#1}}%
+}
+%    \end{macro}
+%
 %    \begin{macro}{\Acronym}
 %    This macro is intended to be used for typesetting acronyms. It is
 %    highly recommended to use this macro sparsingly
@@ -1567,14 +1762,14 @@
 \providecommand\Acronym[1]{\textsc{#1}}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %
 %    \subsection{List Making Environments}
 %
 %    The list making environments \verb|description|, \verb|itemize|,
 %    and \verb|enumerate| are adapted to use less vertical space. This
 %    is mainly done by resetting \verb|\parsep|, \verb|\itemsep|, and
-%    \verb|\topsep|. 
+%    \verb|\topsep|.
 %
 %    The environments \verb|itemize| and \verb|enumerate| use the
 %    macros \verb|@listi|, \verb|@listii|, etc. Thus it is sufficient
@@ -1635,7 +1830,7 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\labelitemi{$\m@th\bullet$}
 \renewcommand\labelitemii{\bf --}
 \renewcommand\labelitemiii{$\m@th\ast$}
@@ -1643,7 +1838,7 @@
 \setlength\leftmarginii{2.2em}
 \setlength\leftmarginiii{1.87em}
 \setlength\leftmarginiv{1.7em}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %
@@ -1672,9 +1867,9 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\descriptionlabel[1]{\hspace\labelsep \bf #1}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -1690,14 +1885,14 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewenvironment{quotation}{%
   \list{}{\listparindent 1.5em
     \itemindent\listparindent
     \rightmargin\leftmargin\parsep \z@ plus\p@}%
   \item\relax
 }{\endlist}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{environment}
@@ -1707,7 +1902,7 @@
 %    does not indent per default but just typesets the argument of the
 %    \verb|\item| macro in boldface. It has one optional argument
 %    which can be used to specify the amount of indentation desired.
-%    
+%
 %    \begin{macrocode}
 \newenvironment{roll}%
   {\@ifnextchar[{\r@ll}{\r@ll[0pt]}}%
@@ -1792,7 +1987,7 @@
 %    This second optional argument is the subtitle of the part.
 %    If none is given then the empty default is used instead.
 %    The second optional argument is an enhancement compared to the
-%    original definition of parts in \LaTeX. 
+%    original definition of parts in \LaTeX.
 %
 %    \begin{macrocode}
   \renewcommand\part{%
@@ -1807,7 +2002,7 @@
 %
 %    \begin{macro}{\part@star}
 %    If the next character is a \verb|[| then the part macro has an
-%    optional argument. 
+%    optional argument.
 %    \begin{macrocode}
 \newcommand\part@star[1]{%
   \@ifnextchar[{\part@optional{#1}}{\part@normal{#1}}}
@@ -1870,7 +2065,7 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\TopArt[2]{%
   \begingroup
     \unitlength = 1pt
@@ -1879,7 +2074,7 @@
     \framebox(\@tempcnta,38){\parbox{.95\textwidth}{%
         \begin{center}{\large\bf #1}#2 \end{center}}}
   \endgroup}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -1894,11 +2089,11 @@
     \typeout{*** Chapters can not be used in single articles.}}
 \else
 %    \end{macrocode}
-%    
+%
 %    The appearance of a chapter is the same as the appearance of a
 %    section. Additionally a line is added to the table of contents
 %    and the headline is set appropriately.
-%    
+%
 %    Since we want to deal with optional arguments and star variants
 %    things are becoming a little bit more complicated. I don't know
 %    if it is worth the effort. Maybe nobody will ever use this
@@ -1910,7 +2105,7 @@
 \fi
 %    \end{macrocode}
 %    Ignore any number of stars. Well this may be to harsh but I think
-%    this is enough. 
+%    this is enough.
 %    \begin{macrocode}
 \def\chapter@star*{\chapter}
 %    \end{macrocode}
@@ -1934,90 +2129,90 @@
 %
 %    \begin{macro}{\section}
 %    The section is redefined to use less vertical space than the
-%    original definition. 
-%    
+%    original definition.
+%
 %    \begin{macrocode}
 \renewcommand\section{\@startsection{section}{1}{\z@}{%
     -2ex plus-1ex minus-.2ex}{.5ex plus.2ex}{\SectionFont}}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\section{\@startsection{section}{1}{\z@}{%
     -1ex plus-1ex minus-.2ex}{.5ex plus.2ex}{\SectionFont}}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\subsection}
 %    The subsection is redefined to use less vertical space than the
-%    original definition. 
-%    
+%    original definition.
+%
 %    \begin{macrocode}
 \renewcommand\subsection{\@startsection{subsection}{2}{\z@}{%
     -2ex plus-1ex minus-.2ex}{0.75ex plus.2ex}{\SubsectionFont}}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\subsection{\@startsection{subsection}{2}{\z@}{%
     -1ex plus-1ex minus-.2ex}{0.75ex plus.2ex}{\SubsectionFont}}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\subsubsection}
 %    The subsubsection is redefined to use less vertical space than
-%    the original definition. 
-%    
+%    the original definition.
+%
 %    \begin{macrocode}
 \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}{%
     -2ex plus-1ex minus-.2ex}{0.75ex plus.2ex}{\SubsubsectionFont}}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}{%
     -1ex plus-1ex minus-.2ex}{0.75ex plus.2ex}{\SubsubsectionFont}}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\paragraph}
 %    The paragraph is redefined to use less vertical space than the
-%    original definition. 
-%    
+%    original definition.
+%
 %    \begin{macrocode}
 \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}{%
     0ex plus1ex minus.2ex}{-.5ex}{\SubsubsectionFont}}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}{%
     1ex plus1ex minus.2ex}{-.5ex}{\SubsubsectionFont}}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\subparagraph}
 %    The subparagraph is redefined to use less vertical space than the
-%    original definition. 
-%    
+%    original definition.
+%
 %    \begin{macrocode}
 \renewcommand\subparagraph{\@startsection{subparagraph}{4}%
   {\parindent}{0ex plus1ex minus.2ex}{-.5ex}{\SubsubsectionFont}}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\subparagraph{\@startsection{subparagraph}{4}%
   {\parindent}{1ex plus1ex minus.2ex}{-.5ex}{\SubsubsectionFont}}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -2088,7 +2283,7 @@
 %    pagebreak in beween (maybe not necessary). Then we draw a line to
 %    separate the article from the previous one. The line is required if the
 %    boolean variable \verb|FirstArticle| is true. This variable is set
-%    afterwards. 
+%    afterwards.
 %    \begin{macrocode}
   \begingroup
     \begin{minipage}{\textwidth}
@@ -2147,9 +2342,9 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\DTKtitle@skip{0pt}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -2161,10 +2356,10 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\DTKtitle@sep{\rule{\textwidth}{.4pt}%
   \vskip 14pt plus 8pt minus 12pt}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -2192,7 +2387,7 @@
 %
 %    \begin{macrocode}
 \newenvironment{abstract}{%
-  \begin{quote}\small 
+  \begin{quote}\small
     }{%
   \end{quote}\medskip\par}
 %    \end{macrocode}
@@ -2200,7 +2395,7 @@
 %
 %
 %    \subsection{Numbering}
-%    
+%
 %    The numbering is done on a global basis. No chapter numbers are
 %    prepended. Especially since none are used at all. This is just
 %    like in the article class.
@@ -2213,7 +2408,7 @@
 %
 %
 %    \subsection{Labels}
-%    
+%
 %    Labels have to be used on an per article basis for this purpose
 %    we use a macro to hold the prefix for the labels. This prefix is
 %    prepended whenever something is done with the labels.
@@ -2252,7 +2447,7 @@
 \let\Label=\label
 \let\Pageref=\pageref
 %    \end{macrocode}
-% 
+%
 %    \begin{macro}{\ref}
 %    The module prefix is prepended before the original \verb|\ref|
 %    macros is used.
@@ -2260,7 +2455,7 @@
 \renewcommand\ref[1]{\Ref{\Label@Prefix:#1}}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\label}
 %    The module prefix is prepended before the original \verb|\label|
 %    macros is used.
@@ -2268,7 +2463,7 @@
 \renewcommand\label[1]{\Label{\Label@Prefix:#1}}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\pageref}
 %    The module prefix is prepended before the original \verb|\pageref|
 %    macros is used.
@@ -2300,14 +2495,14 @@
 %    \end{macro}
 %
 %    \begin{macro}{\DTK@bibliography@rightskip}
-%    
+%
 %    \changes{1.8}{2002/04/01}{macro added.}
 %    \begin{macrocode}
 \newcommand\DTK@bibliography@rightskip{\rightskip=0pt plus 2em}
 %</class>
-%<*two>
+%<*2002>
 \newcommand\DTK@bibliography@rightskip{}
-%</two>
+%</2002>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -2328,7 +2523,7 @@
 \bibliographystyle{dtk}
 %    \end{macrocode}
 %
-% 
+%
 %    \subsection{Footnotes}
 %
 %    This is just my personal taste. I have incorporated my
@@ -2359,10 +2554,10 @@
      #1%
   \end{list}}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \long\def\@makefntext#1{\parindent 1em\noindent
             \hbox to 1.8em{\hss$\m@th^{\@thefnmark}$}#1}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -2388,11 +2583,11 @@
   \hrule\@width0.333\columnwidth
   \kern2.6\p@}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\footnoterule{\kern-3\p@
   \hrule width .4\columnwidth
   \kern 2.6\p@}
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -2405,7 +2600,7 @@
 %    The page style plain provides a head line and a foot line.  The
 %    page number is printed in the outer corner of the head line.  The
 %    inner part of the head line contains the title of the current
-%    article. 
+%    article.
 %
 %    The foot line contains the name and number of the current journal
 %    flushed towards the inner border of the page.
@@ -2427,12 +2622,24 @@
         \let\\=\relax
         \PagenoFont \thepage\hfil\HeadFont \leftmark}\kern 3pt
       \ifdim\HeadRuleDepth>0pt \hrule depth\HeadRuleDepth\fi}}%
+\iffalse% RN 2005-01-17
   \def\@oddfoot{\vbox{%
       \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi
       \kern 5pt \hbox to \textwidth{\FootFont \footmark\hfil\null}}}%
   \def\@evenfoot{\vbox{%
       \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi
-      \kern 5pt \hbox to \textwidth{\null\hfil\FootFont \footmark}}}}
+      \kern 5pt \hbox to \textwidth{\null\hfil\FootFont \footmark}}}%
+\else
+  \def\@oddfoot{\vbox{%
+      \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi
+      \kern 5pt \hbox to \textwidth{%
+        \FootFont \footmark\hfil\DTK@corr@version\null}}}%
+  \def\@evenfoot{\vbox{%
+      \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi
+      \kern 5pt \hbox to \textwidth{%
+        \null\FootFont\DTK@corr@version\hfil \footmark}}}%
+\fi
+}
 %    \end{macrocode}
 %
 %
@@ -2443,16 +2650,16 @@
 %    \begin{macrocode}
 \let\ps@headings\ps@plain
 %    \end{macrocode}
-% 
+%
 %    \subsubsection{The Page Style ``part''}
-% 
+%
 %    The page style \verb|part| contains the same foot as the page style
 %    \verb|plain|. The head line is empty.
-% 
+%
 %    This style is used when a new part is started. It can be
 %    configured by redefining the macros \verb|FootRuleDepth|,
 %    \verb|\FootFont|, and \verb|\PagenoFont|.
-% 
+%
 %    \begin{macrocode}
 \newcommand\ps@part{%
   \let\@mkboth=\@gobbletwo
@@ -2461,18 +2668,30 @@
   \let\subsectionmark=\@gobble
   \let\@oddhead=\@empty
   \let\@evenhead=\@empty
+\iffalse% RN 2005-01-17
   \def\@oddfoot{\vbox{%
       \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi
       \kern 5pt \hbox to \textwidth{\FootFont \footmark\hfil\null}}}%
   \def\@evenfoot{\vbox{%
       \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi
-      \kern 5pt \hbox to \textwidth{\null\hfil\FootFont \footmark}}}}
+      \kern 5pt \hbox to \textwidth{\null\hfil\FootFont \footmark}}}%
+\else
+  \def\@oddfoot{\vbox{%
+      \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi
+      \kern 5pt \hbox to \textwidth{%
+        \FootFont \footmark\hfil\DTK@corr@version\null}}}%
+  \def\@evenfoot{\vbox{%
+      \ifdim\FootRuleDepth>0pt \hrule depth\FootRuleDepth \fi
+      \kern 5pt \hbox to \textwidth{%
+        \null\FootFont \DTK@corr@version\hfil\footmark}}}%
+\fi
+}
 %    \end{macrocode}
-% 
+%
 %    The default page style is plain. This has been set by the book
 %    style before. If we want our changes to take effect we have to
 %    reinitialize the page style.
-% 
+%
 %    \begin{macrocode}
 \pagestyle{plain}
 %    \end{macrocode}
@@ -2487,20 +2706,34 @@
 %    stored in the macro \verb|\volume| for later use. The second
 %    argument is the number of the year and the third argument is the
 %    date when this volume is released. The date is given as month and
-%    year. 
+%    year.
 %
 %    The appearance of the cover page is determined by the macro
 %    \verb|\CoverArt|. This can be redefined to get a different cover
 %    page.
 %    \begin{macrocode}
-\ifDTK@Author@\else
+\ifDTK@Author@
+  \AtEndOfClass{%\show\DTK@jobname
+  \InputIfFileExists{\DTK@jobname.inf}{%
+  \renewcommand\volume{\Volume}}{}}%
+\else
   \newcommand\DieTeXnischeKomoedie[3]{%
     \thispagestyle{empty}%
-    \gdef\volume{#1}%
+    \gdef\Volume{#1}%
+    \xdef\volume{\Volume}%???
     \gdef\DTKedition{#2}%
     \gdef\DTKdate{#3}%
+    \immediate\openout\@unused \jobname.inf\relax
+    \immediate\write\@unused{%
+      \string\gdef\string\Volume{#1}^^J%
+      \string\gdef\string\DTKedition{#2}^^J%
+      \string\gdef\string\DTKdate{#3}%
+    }%
+    \immediate\closeout\@unused
+    \iffalse% RN 2005-02-20; unnoetig, da localer \jobname usw.
     \global\let\bibliography=\DTK@bibliography
     \global\let\bibliographystyle=\@gobble
+    \fi
     \CoverArt{#1}{#2}{#3}%
     \newpage}
 \fi
@@ -2517,10 +2750,10 @@
 %    \changes{1.7}{2001/11/02}{Correction of the size of the number on
 %    the title page for volumes after 1999.}
 %    \begin{macrocode}
-%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%<*1995|1996|1997|1998|1999>
 \newfont\CoverTitleFont{cmr17 scaled \magstep 5}
 \newfont\CoverNumberFont{cmr17 scaled 3583}
-%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%</1995|1996|1997|1998|1999>
 \newcommand\CoverArt[3]{%
   \ifx\CoverTitleFont\@undefined
   \newfont\CoverTitleFont{ecrm1700 scaled \magstep 5}
@@ -2536,7 +2769,7 @@
   \hbox to\@tempdimb{%
     \vbox to\wd\@tempboxa{%
       \vskip\wd\@tempboxa
-      \vss\rotatebox{90}{\box\@tempboxa}}\hss} \ 
+      \vss\rotatebox{90}{\box\@tempboxa}}\hss} \ %
   \rule{\CoverArt@barwidth}{\textheight}
   \begin{minipage}[b]{.7\textwidth}\raggedright
     \rule{1em}{0pt}%
@@ -2551,7 +2784,7 @@
     \\[-\baselineskip]\null\hspace{1em}%
     {\CoverArt@small\cover@sub{#1}{#2}{#3}}%
     \\[-\baselineskip]\rule{0pt}{.617647\textheight}%
-    \CoverNumberFont    
+    \CoverNumberFont
     \null\hfill
     \makebox(0,0)[br]{%
       \textcolor{CoverArt@grey}{%
@@ -2587,19 +2820,19 @@
 %    \begin{macro}{\CoverArt@strip@no}
 %    Extract the relevant part from the number of the issue.
 %    \changes{1.7}{2001/11/02}{Correction of the macro to deal with
-%    four digit numbers instead of striipng two digits. This is used
+%    four digit numbers instead of striping two digits. This is used
 %    since the year 2000.}
 %    \begin{macrocode}
 \def\CoverArt@strip@no#1/#2;{#1\raisebox{0.35ex}{\CoverTitleFont/}#2}
-%<*ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%<*1995|1996|1997|1998|1999>
 \def\CoverArt@strip@no#1/#2#3#4#5;{%
   #1\raisebox{0.35ex}{\CoverTitleFont/}#4#5}
-%</ninetyfive|ninetysix|ninetyseven|ninetyeight|ninetynine>
+%</1995|1996|1997|1998|1999>
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\CoverArt@linewidth}
-% 
+%
 %    This macro determines the thickness of the horizontal rule
 %    separating the publisher from the edition information.
 %    \begin{macrocode}
@@ -2608,34 +2841,39 @@
 %    \end{macro}
 %
 %    \begin{macro}{\CoverArt@barwidth}
-% 
+%
 %    \begin{macrocode}
 \newcommand\CoverArt@barwidth{2.41pt}
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\CoverArt@font}
-% 
+%
 %    \begin{macrocode}
 \newcommand\CoverArt@font{\Large\raggedleft}
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\CoverArt@small}
-% 
+%
 %    \begin{macrocode}
 \newcommand\CoverArt@small{\footnotesize}
 %    \end{macrocode}
 %    \end{macro}
 %
 %    \begin{macro}{\CoverArt@gap}
-% 
+%
 %    \begin{macrocode}
 \newcommand\CoverArt@gap{2em}
 %    \end{macrocode}
+%    \end{macro}
+%
+%
+%    \subsubsection{Redefinitions}
+%
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \renewcommand\CoverArt[3]{
   \ifx\CoverTitleFont\@undefined
     \newfont\CoverTitleFont{cmr17 scaled \magstep 5}%
@@ -2651,10 +2889,88 @@
     Heft #1\hfill #2.\ Jahrgang\hfill #3
     \normalsize
   \end{center}\vspace*{28.5pt}}
-%</ninetyfive>
-%<*class>
+%</1995>
+%    \end{macrocode}
+%
+% \subsection{Special code for 2007 layout}
+%
+% \changes{1.9-pre}{2005/01/15}{Class option for 2005 added. (RN)}
+% By now, the material is inserted all in one huge chunk.
+% Some parts of this material probably should be moved to other places
+% in the DTX file, where they belong.\\
+% \mbox{(HjG 2005-02-04)}
+%    \begin{macrocode}
+%<*2007|2008>
+
+\ProvidesFile{dtk07.clo}
+              [2007/08/28 v0.1 dtk class option (hv)]
+
+\renewcommand\CoverArt[3]{%
+  \ifx\CoverTitleFont\@undefined
+    %\newfont\CoverTitleFont{ecrm1700 scaled \magstep 5}
+    %\newfont\CoverTitleFont{lmr12 scaled 2938}
+    \DeclareFixedFont\CoverTitleFont{\encodingdefault}{\rmdefault}{m}{n}{41.26}%
+  \fi
+  \ifx\CoverNumberFont\@undefined
+    %\newfont\CoverNumberFont{ecrm1700 scaled 2986}
+    \DeclareFixedFont\CoverNumberFont{\encodingdefault}{\rmdefault}{m}{n}{51.66}%
+  \fi
+  \vspace*{-34pt}\hfill
+  \setbox\@tempboxa=\hbox to \textheight{\null\hfill\CoverTitleFont
+    Die \journalname\hfill\null}%
+  \@tempdimb=\ht\@tempboxa
+  \advance\@tempdimb by\dp\@tempboxa
+  \hbox to\@tempdimb{%
+    \vbox to\wd\@tempboxa{%
+      \vskip\wd\@tempboxa
+      \vss\rotatebox{90}{\box\@tempboxa}}\hss} \
+  \rule{\CoverArt@barwidth}{\textheight}
+  \begin{minipage}[b]{.7\textwidth}\raggedright
+    \rule{1em}{0pt}%
+    \dimen2=\textwidth\advance\dimen2-1em
+    \parbox{\dimen2}{\CoverArt@font
+      {\Huge\DANTE}\\
+      Deutschsprachige\\
+      Anwendervereinigung
+      \TeX\ \eV}\\[1ex]
+    \dimen3=\textwidth\advance\dimen3-\CoverArt@gap
+    \hfill\rule{\dimen3}{\CoverArt@linewidth}%
+    \\[-\baselineskip]\null\hspace{1em}%
+    {\CoverArt@small\cover@sub{#1}{#2}{#3}}%
+    \\[-\baselineskip]\rule{0pt}{.617647\textheight}%
+    \CoverNumberFont
+    \null\hfill
+    \makebox(0,0)[br]{%
+      \textcolor{CoverArt@grey}{%
+        \CoverArt@strip@no #1;\hspace{1pt}%
+      }}% Warum verwendet `\CoverArt@strip@no' \CoverTitleFont? RN
+  \end{minipage}%
+}
+
+\PassOptionsToPackage{ngerman}{babel}
+\RequirePackage{babel}
+\declare@shorthand{ngerman}{"`}{\frqq}%
+\declare@shorthand{ngerman}{"'}{\flqq}%
+%\def@dqmacro{`}{\frqq}{\frqq}
+%\def@dqmacro{'}{\flqq}{\flqq}
+%
+\RequirePackage{showexpl}
+\lstset{language=[LaTeX]TeX}
+\providecommand\lstverb{%
+    \leavevmode\bgroup %
+      \def\lst@boxpos{b}%
+      \lsthk@PreSet\lstset{flexiblecolumns,basicstyle=\mdseries\ttfamily\normalsize,backgroundcolor={},
+        breaklines=false,keywordstyle=\mdseries\ttfamily\normalsize}%
+      \lsthk@TextStyle
+      \@ifnextchar\bgroup{\afterassignment\lst@InlineG \let\@let@token}%
+                         \lstinline@}
+\providecommand*{\ctanurl}[1]{%
+  \href{ftp://ftp.ctan.org/tex-archive/#1}{\nolinkurl{CTAN:#1}}%
+}
+%
+%\endinput
+%</2007|2008>
 %    \end{macrocode}
-%    \end{macro}
 %
 %
 %    \subsection{List of Addresses}
@@ -2662,7 +2978,7 @@
 %    Addresses can be given anywhere throughout the whole
 %    document. The address together with the page where it has been
 %    given is stored in the index.
-% 
+%
 %    The list of addresses is handled by the index mechanism of
 %    \LaTeX.  I (safely) assume that nobody has the desire to make an
 %    index for a journal.
@@ -2671,7 +2987,7 @@
 %    The address macro takes three arguments. The first argument is the
 %    first name the second is the last name and the third is the
 %    address where several lines can be included which are separated
-%    by \verb|\\|. 
+%    by \verb|\\|.
 %
 %    The macro can be e.g. as follows:\\
 %    \verb|\address{Gerd}{Neugebauer}%|\\
@@ -2687,7 +3003,7 @@
 %    have to be expanded properly. Unfortunately plain expansion may
 %    leave braces which confuse makeindex. To get rid of these braces
 %    we have to scan the tokens and transfer those tokens that are not
-%    braces. 
+%    braces.
 %
 %    We use one big assumption. We assume that a name does not contain
 %    a dollar sign. Well, it is rather unusual that mathematics is
@@ -2697,6 +3013,7 @@
 %    is able to cope with those problems (wait and pray:-)
 %    \changes{1.5}{2001/06/05}{Some magic for doublequote}
 %    \begin{macrocode}
+%<*class>
 \chardef\DTK@cat=\the\catcode`\"
 \catcode`\"=13
 \newcommand\address[3]{%
@@ -2740,7 +3057,11 @@
     \def"{\string"}%
     \def\null{}%
     \expandafter\@strip\@ddress$%$
+    \iffalse% RN 2005-01-15
     \index{\STRIP@*#1 #2!#3}%
+    \else
+    \glossary{\STRIP@*#1 #2!#3}%
+    \fi
   \endgroup
 }
 \catcode`\"=\DTK@cat
@@ -2779,7 +3100,7 @@
 \def\detex@@U{Ue}
 \def\detex@@s{ss}
 %    \end{macrocode}
-% 
+%
 %    \begin{environment}{theaddresses}
 %    The addresses are collected in an environment Addresses. This
 %    environment is used to customize the layout of this list.
@@ -2811,23 +3132,25 @@
 %    For older issues another definition has been used.
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive|ninetysix>
+%<*1995|1996>
 \let\addresssize\relax
-%</ninetyfive|ninetysix>
+%</1995|1996>
 %<*class>
 %    \end{macrocode}
 %    \end{environment}
-% 
+%
 %    \begin{macro}{\listofaddresses}
 %    This macro reads the index file which is assumed to contain the
 %    properly formatted list of authors. If this file does not exist
-%    then a warning is printed. 
+%    then a warning is printed.
 %
 %    \begin{macrocode}
 \ifDTK@Author@
   \newcommand\listofaddresses{%
     \typeout{*** listofaddresses not supported in articles.}}
+  \let\makeaddresses\relax% RN 2005-01-15
 \else
+  \iffalse% RN 2005-01-15
   \newcommand\listofaddresses{%
     \InputIfFileExists{\jobname.ind}{}{%
       \typeout{No file \jobname.ind.}%
@@ -2835,10 +3158,20 @@
         makeindex -s dtk.ist \jobname}%
       \typeout{\space}}%
   }
+  \else
+  \newcommand\listofaddresses{%
+    \InputIfFileExists{\jobname.gls}{}{%
+      \typeout{No file \jobname.gls.}%
+      \typeout{Use the following command to create it:^^J%
+        \@spaces makeindex -s dtk.ist -o \jobname.gls \jobname.glo}%
+      \typeout{\space}}%
+  }
+  \let\makeaddresses\makeglossary
+  \fi
 \fi
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %
 %    \subsection{The Table of Contents}
 %
@@ -2846,8 +3179,8 @@
 %    The table of contents should appear as a page of it's own. It
 %    should have an appropriate headline if it is long
 %    enough. Otherwise the first page has no headline and no page
-%    number. 
-%    
+%    number.
+%
 %    \begin{macro}{\tableofcontents}
 %    This macro produces the table of contents. It is not availlable
 %    for single articles
@@ -2874,13 +3207,13 @@
 %
 %    \begin{macro}{\TOC@configure}
 %    This macro can be used to redefine properties of the table of
-%    contents. 
+%    contents.
 %    \begin{macrocode}
 \let\TOC@configure\relax
 %</class>
-%<*ninetyseven|ninetyeight|ninetynine>
+%<*1997|1998|1999>
 \def\TOC@configure{\renewcommand{\bfdefault}{bdx}}
-%</ninetyseven|ninetyeight|ninetynine>
+%</1997|1998|1999>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -2902,11 +3235,11 @@
 %    \end{macro}
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive>
+%<*1995>
 \ifDTK@Author@\else
   \renewcommand\ContentsArt{\part@nosubtitle{\contentsname}}
 \fi
-%</ninetyfive>
+%</1995>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -2939,7 +3272,7 @@
 %    contents for parts. It simply imitates the layout of chapters
 %    without additional space.
 %    \changes{1.4}{2000/08/12}{Definition modified.}
-%    
+%
 %    \begin{macrocode}
 \renewcommand\l@part[2]{%
   \addpenalty{-\@highpenalty}%
@@ -2959,7 +3292,7 @@
 %    For older issues another definition has been used.
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive|ninetysix>
+%<*1995|1996>
 \renewcommand\l@part[2]{%
   \addpenalty{-\@highpenalty}%
   \addvspace{0.5em plus 0pt}% space above part line
@@ -2974,17 +3307,17 @@
     #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
     \penalty\@highpenalty
   \endgroup}
-%</ninetyfive|ninetysix>
+%</1995|1996>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\l@chapter}
 %    This macro determines the layout of the line in the table of
 %    contents for chapters. It simply imitates the layout of
-%    sections. 
+%    sections.
 %    \changes{1.4}{2000/08/12}{Definition modified.}
-%    
+%
 %    \begin{macrocode}
 \renewcommand\l@chapter[2]{%
   \begingroup
@@ -3006,9 +3339,9 @@
 %    For older issues another definition has been used.
 %    \begin{macrocode}
 %</class>
-%<*ninetyfive|ninetysix>
+%<*1995|1996>
 \renewcommand\l@chapter{\@dottedtocline{0}{1.5em}{2.3em}}
-%</ninetyfive|ninetysix>
+%</1995|1996>
 %<*class>
 %    \end{macrocode}
 %    \end{macro}
@@ -3017,7 +3350,232 @@
 %    If an old layout is requested via a class option then we have to
 %    load now the appropriate class option file.
 %    \begin{macrocode}
+\iffalse% RN 2005-01-15
 \@ifundefined{DTK@layout}{}{\input dtk\DTK@layout.clo}
+\else
+\@ifundefined{DTK@layout}{}{\input{dtk\DTK@layout.clo}}
+\fi
+%    \end{macrocode}
+%    ??? New stuff !!!
+%    \begin{macrocode}
+% RN 2005-01-15
+\IfFileExists{eurosans.sty}
+% Reicht eigentlich nicht; die Fonts selbst müssen auch
+% vorhanden sein...
+{%
+  \RequirePackage{eurosans}
+%  ==> http://home.vr-web.de/was/x/latexeuro.pdf
+%  ==> ftp://ftp.adobe.com/pub/adobe/type/win/all/eurofont.exe
+%      (unzip eurofont.exe...)
+% RN 2005-02-12
+  %%%\AtBeginDocument{\let\texteuro\euro}
+  \AtBeginDocument{%
+    \DeclareTextCommandDefault{\texteuro}{\euro}}% ???
+}
+{%
+  % Das kann jeder.
+  \let\DTK@texteuro\texteuro
+  \AtBeginDocument{%
+    \renewcommand*\texteuro{\textsf{\DTK@texteuro}}}
+}
+% From: `graphics.cfg'
+% Send papersize information to the output driver
+\begingroup
+  \chardef\x=0 %
+  % check pdfTeX
+  \@ifundefined{pdfoutput}{}{%
+    \ifcase\pdfoutput
+    \else
+      \chardef\x=1 %
+    \fi
+  }%
+  % check VTeX
+  \@ifundefined{OpMode}{}{%
+    \chardef\x=2 %
+  }%
+\expandafter\endgroup
+\ifcase\x
+  % default case
+  \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}%
+\or
+  % pdfTeX is running in pdf mode
+  \pdfpagewidth\paperwidth\pdfpageheight\paperheight
+\else
+  % VTeX is running
+  \mediawidth\paperwidth\mediaheight\paperheight
+\fi
+
+% RN 2005-01-15
+% Solange die lmodern-Schreibmaschinenschrift fehlerhaft ist
+%  (nicht "monospaced"), nehmen wird das EC-Äquivalent. RN
+\AtBeginDocument{%
+  \begingroup% vielleicht noch intelligenter...
+    \ttfamily
+    \@tempdima\fontdimen3\font
+    \advance\@tempdima\fontdimen4\font
+    \ifdim\@tempdima>\z@
+      \edef\@tempa{\ttdefault}\gdef\ttdefault{cmtt}%
+      \ClassWarning{dtk}{%
+        Font `\@tempa' is bad, changed to '\ttdefault'}%
+    \fi
+  \endgroup
+}
+% RN 2005-01-22
+\RequirePackage{makeidx}
+% RN 2005-01-22
+% Muss evtl. noch verbessert werden?
+\renewenvironment{theindex}
+  {\begin{multicols}{2}[\section{\indexname}\vspace{-.5\baselineskip}]%
+   \parskip\z@ \@plus .3\p@\relax
+   \columnseprule \z@
+   \columnsep=10pt
+   \raggedbottom\raggedright
+   \let\item\@idxitem}
+  {\end{multicols}}
+\renewcommand\@idxitem{\par\hangindent 40\p@}
+\renewcommand\subitem{\@idxitem \hspace*{20\p@}}
+\renewcommand\subsubitem{\@idxitem \hspace*{30\p@}}
+%\renewcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
+\renewcommand\indexspace{\par \vskip 6\p@ \@plus2\p@ \@minus1\p@\relax}
+
+% 2005-02-11
+\newcommand*\DTK@embedded@documentclasshook{}
+\newcommand*\AtEmbeddedDocumentclass{%
+  \g@addto@macro\DTK@embedded@documentclasshook}
+\AtEmbeddedDocumentclass{%
+%%%    \filename@parse{\protect#1}\edef\DTK@local@jobname{\filename@base}%???
+%    \filename@parse{\DTK@local@jobname}%
+%    \edef\DTK@local@jobname{\filename@base}%
+      \edef\jobname{\DTK@local@jobname}%
+}
+%\show\DTK@embedded@documentclasshook
+\newcommand*\DTK@embedded@begindocumenthook{}
+\newcommand*\AtEmbeddedBeginDocument{%
+  \g@addto@macro\DTK@embedded@begindocumenthook}
+\AtEmbeddedBeginDocument{}
+\newcommand*\DTK@embedded@enddocumenthook{}
+\newcommand*\AtEmbeddedEndDocument{%
+  \g@addto@macro\DTK@embedded@enddocumenthook}
+\AtEmbeddedEndDocument{\endinput}
+% RN 2005-01-22
+\newcommand*\DTK@jobname{}
+\ifDTK@Author@
+  \edef\DTK@jobname{komoedie}
+\else
+  \edef\DTK@jobname{\jobname}
+\fi
+\newcommand*\DTK@local@jobname{}
+\newcommand*\DTK@local@inputname{}
+%%%\newcommand*\DTK@PSforPDF{}
+\newcommand*\DTK@eat@version[1][]{\ignorespaces}
+% Wie `\input', lädt aber auch komplette Dokumente. RN
+\newcommand*\DTK@usepackage{}
+\newcommand*\DTKinput[1]{%
+  \begingroup
+% RN/HjG 2005-03-23
+     \filename@parse{#1}%
+     \edef\DTK@local@jobname{\filename@base}%
+     \@ifundefined{filename@ext}%
+     {\IfFileExists{\DTK@local@jobname.ltx}%
+       {\edef\DTK@local@inputname{\DTK@local@jobname.ltx}}%
+       {\edef\DTK@local@inputname{\DTK@local@jobname.tex}}%
+     }%
+     {\edef\DTK@local@inputname{#1}}%
+    \renewcommand*\documentclass[2][]{%
+      %%\edef\jobname{\DTK@local@jobname}%
+      %%%\let\DTK@PSforPDF\PSforPDF
+      %\renewcommand\PSforPDF[2][]{}%
+      %%%\let\PSforPDF\@gobble
+      \DTK@embedded@documentclasshook
+      \DTK@eat@version}%
+    \renewcommand*\usepackage[2][]{%
+      \@ifnextchar[%]
+        {\DTK@usepackage{##1}{##2}}%
+        {\DTK@usepackage{##1}{##2}[]}%
+      }%
+    \def\DTK@usepackage##1##2[##3]{%
+      \edef\@tempb{\zap@space##2 \@empty}%
+      \@for\@tempa:=\@tempb\do{\def\@tempb{inputenc}%
+        \ifx\@tempa\@tempb
+          \edef\@tempa{##1}%
+          \ifx\@tempa\@empty\else\inputencoding{##1}\fi
+        \else
+          \ifx\@tempa\@empty\else\NeedPackage{\@tempa}%
+             \RecordPackage{##1}\@tempa{##3}\DTK@local@inputname
+          \fi
+        \fi}}%
+    \let\pagestyle\@gobble
+    \let\thispagestyle\@gobble
+    \let\nocite\@gobble
+    \let\listfiles\relax
+    \let\nofiles\relax
+    \renewcommand*\AtBeginDocument[1]{%
+       \typeout{\string\AtBeginDocument\space ignored!}}
+    \renewcommand*\AtEndDocument[1]{%
+       \typeout{\string\AtEndDocument\space ignored!}}
+    \renewenvironment*{document}%
+    %%%{\let\PSforPDF\DTK@PSforPDF}%
+    %%%{\endinput}%
+    {\DTK@embedded@begindocumenthook}%
+    {\DTK@embedded@enddocumenthook}%
+% RN 2005-02-19, now moved!
+%    \filename@parse{#1}%
+%    \@ifundefined{filename@ext}%
+%    {\InputIfFileExists{#1.ltx}{}{\input{#1}}}{\input{#1}}%
+    \input{\DTK@local@inputname}%
+% end
+  \endgroup
+}
+%%%\RequirePackage[final]{ps4pdf}
+\@ifdefinable\User@Packages{\newwrite\User@Packages}
+\AtBeginDocument{%
+  %%%\edef\DTK@jobname{\jobname}%
+  %%%\edef\PfP@container{\DTK@jobname-pics.pdf}%
+  \ifDTK@Author@\else
+    \listfiles
+    \InputIfFileExists{userpackages.tex}%
+    {\typeout{*************************************^^J%
+              * File `userpackages.tex' used.^^J%
+              *************************************}%
+      \newcommand*\RecordPackage[4]{}%
+      % warum gibt es kein \@gobblethree? ist jetzt egal!
+    }%
+    {%
+      \immediate\openout\User@Packages userpackages.tex\relax
+      \begingroup \catcode`\~=\active \let~=\space
+      \immediate\write\User@Packages{%
+        \@percentchar\space userpackages.tex^^J%
+        \@percentchar\space generated by `\jobname'^^J%
+        \@percentchar\space \DTK@today}%
+      \endgroup
+      \AtEndDocument{%
+        \immediate\closeout\User@Packages\relax}%
+      \newcommand*\RecordPackage[4]{%
+        \immediate\write\User@Packages{%
+          \string\usepackage[##1]{##2}[##3] %
+          \@percentchar\space From file: ##4}}%
+    }%
+  \fi
+  % RN 2005-03-21
+  \@ifpackageloaded{lineno}{%
+    \ifDTK@Draft@\else
+      \nolinenumbers
+    \fi
+  }{}
+}
+% RN 2005-01-22
+\def\indexname{Stichwortverzeichnis}% Besser woanders?
+% RN 2005-01-23
+\def\printindex{%
+  \InputIfFileExists{\DTK@jobname.ind}{}{%
+    \typeout{No file \DTK@jobname.ind.}%
+    \typeout{Use the following command to create it:^^J%
+      \@spaces makeindex -s dtk-idx.ist -o \DTK@jobname.ind \DTK@jobname.idx}%
+    \typeout{\space}}%
+}
+% RN 2005-01-22
+\@fptop\z@
+
 %    \end{macrocode}
 %
 %    Now the class is complete.
@@ -3122,7 +3680,7 @@
 %    then follow it with spelling variants.  Alternate definitions
 %    are discarded in favor of the official one.  Each family is
 %    separated by a line like the following one.
-%   
+%
 %    \begin{macro}{\TeX}
 %    Only change from plain.tex is the \verb|\spacefactor| assignment
 %    (suggested by Phil Taylor), so that \TeX\ at the end of a
@@ -3144,6 +3702,13 @@
 %    \end{macrocode}
 %    \end{macro}
 %
+%    \begin{macro}{\XeTeX}
+%    The new TeX\ program
+%    \begin{macrocode}
+\providecommand{\XeTeX}{X\kern-.1em\lower.5ex\hbox{\reflectbox{E}}\kern-.15em\TeX}
+%    \end{macrocode}
+%    \end{macro}
+%
 %    \begin{macro}{\AmSLaTeX}
 %    \begin{macrocode}
 \providecommand\AmSLaTeX{\AmS-\LaTeX}
@@ -3272,7 +3837,7 @@
 %    comments at \BibTeX.  Different definitions are given by
 %    latex/deproc.sty [24-Apr-1986], amstex/man.sty [15-Dec-1986]
 %    inputs/tugbot.sty [11-Jan-1988], and  latex/tugboat.com 1.08
-%    [24-Oct-1990]. 
+%    [24-Oct-1990].
 %
 %    \begin{macrocode}
 \providecommand\LaTeX{%
@@ -3291,7 +3856,7 @@
 %
 %    \begin{macro}{\LaTeXTeX}
 %    This logo is invented in \verb|dtk.cls| to denote either \TeX{} or
-%    \LaTeX. 
+%    \LaTeX.
 %
 %    \begin{macrocode}
 \ifOldLaTeX
@@ -3325,7 +3890,7 @@
 %    imappt.sty, so we should avoid it, and tugboat.com uses
 %    \verb|\mf| for \verb|{\smc Metafont}|. We therefore use
 %    \verb|\manfnt| here, defining it if necessary.  QUESTION: should
-%    we use manfnt, or logo10? 
+%    we use manfnt, or logo10?
 %
 %    \begin{macrocode}
 \ifOldLaTeX
@@ -3345,7 +3910,7 @@
 %    \end{macrocode}
 %
 %    The following improved definitions are taken from mflogo by Ulrik
-%    Vieth. 
+%    Vieth.
 %
 %    \begin{macrocode}
   \DeclareFontFamily{U}{logo}{}
@@ -3472,7 +4037,7 @@
 %    \end{macro}
 %
 %    \begin{macro}{\emTeX}
-%    
+%
 % \changes{1.3}{1997/02/03}{logo added.}
 %    \begin{macrocode}
 \providecommand\emTeX{{em\TeX}}
@@ -3480,7 +4045,7 @@
 %    \end{macro}
 %
 %    \begin{macro}{\PublicTeX}
-%    
+%
 %    \changes{1.3}{1997/02/03}{logo added.}
 %    \begin{macrocode}
 \providecommand\PubliCTeX{PubliC\TeX}
@@ -3530,6 +4095,19 @@
 %    \end{macrocode}
 %    \end{macro}
 %
+%    \begin{macro}{\exTeX}
+%    This one comes from the \exTeX\ team
+%    \changes{1.9}{2003/11/03}{logo added.}
+%    \begin{macrocode}
+\providecommand*{\exTeX}{%
+  \textrm{% das Logo grundsätzlich serifenbehaftet
+    \ensuremath{\textstyle\varepsilon_{\kern-0.15em\mathcal{X}}}%
+    \kern-.15em\TeX
+  }%
+}
+%    \end{macrocode}
+%    \end{macro}
+%
 %
 %    \subsection{Additional Macros for Acronyms}
 %
@@ -3547,9 +4125,9 @@
 %    this way in the predecessor style.
 %    \begin{macrocode}
 %</logos>
-%<*ninetyfive>
+%<*1995>
   \renewcommand\eV{e.\kern-.18emV\kern-.18em\@ifnextchar.{}{.}}
-%</ninetyfive>
+%</1995>
 %<*logos>
 %    \end{macrocode}
 %    \end{macro}
@@ -3564,7 +4142,7 @@
 %    \begin{macro}{\Dante}
 %    The long name of DANTE.
 %    \begin{macrocode}
-\providecommand\Dante{DANTE, 
+\providecommand\Dante{DANTE,
   Deutschsprachige Anwendervereinigung \TeX~\eV}
 %    \end{macrocode}
 %    \end{macro}
@@ -3661,11 +4239,71 @@
 %    \end{macrocode}
 %    \end{macro}
 %
+%    \begin{macro}{\ExTeX}
+% ^^A das Logo grundsätzlich serifenbehaftet
+%    This logo will generally sport serifs.
+%    \changes{1.9-pre}{2005/01/15}{ExTeX logo added. (RN)}
+%    \begin{macrocode}
+\providecommand*{\ExTeX}{% RN 2005-01-15
+  \textrm{% das Logo grundsätzlich serifenbehaftet
+    \ensuremath{\textstyle\varepsilon_{\kern-0.15em\mathcal{X}}}%
+    \kern-.15em\TeX
+  }%
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\DANTE}
+%    The ``official logo'' for DANTE is defined, using special fonts.
+%    \changes{1.9-pre}{2005/01/15}{DANTE logo with special fonts added. (RN)}
+%    \begin{macrocode}
+\IfFileExists{ot1dante.fd}% RN 2005-01-15
+{%
+  \providecommand*\DANTE[1][]{%
+    \begingroup
+      \usefont{OT1}{dante}{m}{n}\selectfont DANTE%
+    \endgroup
+  }
+}
+{\providecommand*\DANTE[1][]{DANTE}}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\ConTeXt}
+%    \begin{macro}{\conTeXt}
+%    This one has been missing for a long time!
+%    \changes{1.9-pre}{2005/01/17}{ConTeXt logos added. (RN)}
+%    \begin{macrocode}
+\providecommand*\ConTeXt{Con\TeX t}
+\providecommand*\conTeXt{con\TeX t}
+%    \end{macrocode}
+%    \end{macro}
+%    \end{macro}
+%
+%    \begin{macro}{\Than}
+%    Makes life easier \ldots
+%    \begin{macrocode}
+\providecommand\Thanh{H\`an Th\^e\protect\llap{\raise 0.5ex\hbox{\'{\relax}}} Th\`anh}
+%    \end{macrocode}
+%    \end{macrocode}
+%
+%    \begin{macro}{\MiKTeX}
+%    \begin{macro}{\MikTeX}
+%    Yet another logo \dots
+%    \changes{1.9-pre}{2005/01/17}{MiKTeX logo added. (RN)}
+%    \begin{macrocode}
+\providecommand*\MiKTeX{MiK\TeX}
+\providecommand*\MikTeX\MiKTeX
+%    \end{macrocode}
+%    \end{macro}
+%    \end{macro}
+%
 %    \begin{macrocode}
 %</logos>
 %    \end{macrocode}
 %
 %
+%^^A ??? 2005-02-11
 %    \section{The Package dtk-pdf for PDF Reprints}
 %    \changes{1.4}{2000/08/12}{Packet dtk-pdf integrated.}
 %
@@ -3685,14 +4323,15 @@
 %   A lot of packages are required to get things right.
 %
 %    \begin{macrocode}
-\RequirePackage{ae,multicol,graphicx,color}
+\RequirePackage{multicol,graphicx,color}
 \RequirePackage[bookmarks=false]{hyperref}
 %    \end{macrocode}
 %
 %   Configure the \verb|hyperref| package appropriately.
 %
 %    \begin{macrocode}
-\hypersetup{a5paper,colorlinks,urlcolor=blue}
+\definecolor{navy}{rgb}{0,0,.5}
+\hypersetup{a5paper,colorlinks,urlcolor=navy}
 %    \end{macrocode}
 %
 %   Slightly adjust the page on the paper.
@@ -3707,10 +4346,10 @@
 %    This macro contains the number of the volume in which the current
 %    article has been published.
 %    \begin{macrocode}
-\newcommand\Volume{?/??}
+\renewcommand\Volume{?/??}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\Pages}
 %    This macro contains the numbers of the pages on which the
 %    curtrent article has been published originally.
@@ -3718,14 +4357,14 @@
 \newcommand\Pages{???}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\volume}
 %    This macro is redefined to show appropriate information.
 %    \begin{macrocode}
 \renewcommand\volume{\Volume\ -- Nachdruck}
 %    \end{macrocode}
 %    \end{macro}
-% 
+%
 %    \begin{macro}{\titlemark}
 %    This macro is used in some old articles. Nowadays it simply has
 %    to eat up one following argument.
@@ -3734,7 +4373,7 @@
 %    \end{macrocode}
 %    \end{macro}
 %
-%   
+%
 %
 %    \begin{macrocode}
 \newcount\AdNo \AdNo=0
@@ -3751,7 +4390,7 @@
 %    \end{macrocode}
 %    \end{macro}
 %
-%   
+%
 %
 %    \begin{macrocode}
 \renewcommand\address[3]{%
@@ -3769,7 +4408,7 @@
     \texttt{dante@dante.de}}}
 %    \end{macrocode}
 %
-%   
+%
 %
 %    \begin{macrocode}
 \providecommand\DTK@keywords{}
@@ -3788,32 +4427,37 @@
 %    information fields aswell. This may lead to problems if they
 %    contain certain macros.
 %    \changes{1.5}{2001/10/21}{Mapping of certain macros}
+%    \changes{1.8}{2003/06/22}{Making thanks void when processing the
+%    head of a reprint}
 %    \begin{macrocode}
 \renewcommand\maketitle{%
   \thispagestyle{empty}%
-  \newlength{\lx}\settowidth{\lx}{\Large\DTK}%
-  \advance\lx3em\quad
+  \newlength{\l@@x}\settowidth{\l@@x}{\Large\DTK}%
+  \advance\l@@x3em\quad
   \href{http://www.dante.de/dante/DTK}{%
     \rotatebox{90}{\hspace*{1.5em}\Large\DTK}}
-  \rule{.9pt}{\lx}\quad
+  \rule{.9pt}{\l@@x}\quad
                                 %
   \begin{minipage}[b]{.75\textwidth}\parskip=1ex
     {\raggedleft\large
       \href{http://www.dante.de/}{DANTE\\
       Deutschsprachige\\
       Anwendervereinigung \TeX\ e.V.}\medskip\par
-      }
-    \ifx\@author\empty\else\@author: \fi\emph{\@title}, \DTK\
-    \Volume, S.\ \Pages.\medskip
-    
+      }%
+    {\let\thanks\@gobble
+    \ifx\@author\empty\else\@author: \fi
+    \ifx\@title\empty\else\emph{\@title}, \fi
+    }
+    \DTK\ \Volume, S.\ \Pages.\medskip
+
     \scriptsize Reproduktion oder Nutzung dieses Beitrags durch
     konventionelle, elektronische oder beliebige andere Verfahren ist
     nur im nicht-kommerziellen Rahmen gestattet.  Verwendungen in
     gr"o"serem Umfang bitte zur Information bei \dante{} melden.  F\"ur
     kommerzielle Nutzung ist die Zustimmung der Autoren einzuholen.
-    
+
     \DTK\ ist die Mitgliedszeitschrift von \Dante. Einzelne Hefte
-    k\"onnen von Mitgliedern bei der Gesch\"aftsstelle von \Dante\ 
+    k\"onnen von Mitgliedern bei der Gesch\"aftsstelle von \Dante\
     erworben werden. Mitglieder erhalten \DTK\ im Rahmen ihrer
     Mitgliedschaft.
   \end{minipage}
@@ -3843,7 +4487,7 @@
 %    \end{macrocode}
 %    \end{macro}
 %
-%   
+%
 %    \verb|\guillemotleft|/\verb|\guillemotright| from the polish
 %    version of the ``computer modern''.
 %
@@ -3865,7 +4509,7 @@
 }
 %    \end{macrocode}
 %
-%   
+%
 %
 %    \begin{macrocode}
 \newif\ifmaintitle
@@ -3873,7 +4517,7 @@
 %
 %   Old versions of \LaTeX\ used to define \verb|\footheight|. Some
 %   articles try to redefine this length.  Nowadays it is simply
-%   ignored. 
+%   ignored.
 %    \begin{macrocode}
 \newlength\footheight
 %    \end{macrocode}
@@ -3887,13 +4531,16 @@
 %
 %    \section{The Index Style}
 %    \changes{1.4}{2000/08/27}{Index file integrated into the dtx file.}
+%    \changes{1.9-pre}{2005/01/15}{Addresses are now collected via
+%             glossary instead of index (RN).}
+%    \changes{1.9-pre}{2005/01/15}{Add keyword \cmd{\glossaryentry} (RN).}
 %
 %    The index style is used to sort the authors of the journal for
 %    the list of all authors. Makeindex is used for this purpose. Here
 %    we have to define the appropriate configuration file.
 %
 %    \begin{macrocode}
-%<*ist>
+%<*adr>
 actual '*'
 preamble  "\\begin{theaddresses}"
 postamble "\n\\end{theaddresses}\n"
@@ -3907,7 +4554,56 @@ delim_2 "}{"
 delim_t "}"
 group_skip ""
 quote '$'
-%</ist>
+%%$
+keyword "\\glossaryentry"
+%</adr>
+%    \end{macrocode}
+%
+%
+%    \section{The Index Style}
+%
+%    ???
+%
+%    \begin{macrocode}
+%<*idx>
+%%
+%% This is file `Letter.ist',
+%%
+%% The idea is from Ingo Kloeckl, Latex2e:
+%% Herbert Voss 000726
+%%
+%% This is a MAKEINDEX style file which should be used to
+%% generate the formatted change history for use with the doc
+%% package. The TeX commands used below are defined in
+%% doc.sty.  The commands for MAKEINDEX like `level'
+%% `item_x1' are described in `` Makeindex, A General
+%% Purpose, Formatter-Independent Index Processor'' by
+%% Pehong Chen.
+%%
+headings_flag       1           % headings yes
+heading_prefix   "{\\SectionFont "%
+heading_suffix   "}\n"          % newline
+%
+quote                '"'
+%%level                '>'
+preamble
+  "\\begin{theindex}\n"
+item_1
+  "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}"
+item_01
+  "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}"
+item_x1
+  "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}"
+item_2
+  "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }"
+item_12
+  "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }"
+item_x2
+  "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }"
+%%
+%%
+%% End of file `Letter.ist'.
+%</idx>
 %    \end{macrocode}
 %
 %    That's all.
@@ -3916,7 +4612,7 @@ quote '$'
 %
 \endinput
 %
-% Local Variables: 
+% Local Variables:
 % mode: latex
 % TeX-master: t
-% End: 
+% End:
-- 
cgit v1.2.3

