% \CheckSum{3497}
% \iffalse
%
% scrclass.dtx Copyright (C) 1995-1996 Markus Kohm
%
% This file is part of the LaTeX2e KOMA-Script-Bundle
%
% It should be distributed UNCHANGED and together with all other
% files in the KOMA-Script-Bundle. The file readme.txt contains a list
% of all these files.
%
% A modified version of this file may be distributed, but it should
% be distributed with a DIFFERENT name. Changed files must be
% distributed TOGETHER WITH A COMPLETE AND UNCHANGED distribution
% of these files.
%
% See also readme.txt for further information.
%
% This bundle is written specialy for use with the German language. So the
% main documentation is German. Perhaps in the future an English translation
% will be available. If you want to write this doc, you may contact me, see
% readme.txt.
%
%
% Das ganze jetzt noch einmal kurz auf Deutsch:
%
% Diese Datei ist Teil des LaTeX2e KOMA-Script Pakets.
%
% Die Datei sollte nur UNVER"ANDERT und zusammen mit allen anderen
% Dateien aus dem Paket weitergegeben werden. Die Datei liesmich.txt
% enth"alt eine Liste all dieser Dateien.
%
% Eine ver"anderte Version dieser Datei darf weitergegeben werden,
% aber nur, wenn sie einen ANDEREN Namen bekommt. Ver"anderte Dateien
% d"urfen nur ZUSAMMEN MIT EINER KOMPLETTEN UND UNVER"ANDERTEN Version
% dieser Dateien weitergegeben werden.
%
% Unter keinen Umst"anden ist erlaubt, durch Weitergabe oder zur Verf"ugung
% stellen einer oder mehrerer Dateien aus dem KOMA-Script Paket einen
% wie auch immer gearteten Gewinn zu erzielen.
%
% Weitere Informationen sind in liesmich.txt zu finden.
%
% Dieses Paket ist f"ur den deutschen Sprachraum konzipiert. Daher ist
% auch die Haupt-Anleitung komplett in Deutsch. Vielleicht wird es irgendwann
% auch einmal eine englische Dokumentation geben. Wer eine solche
% erstellen m"ochte, kann sich gerne an mich wenden. Siehe dazu ebenfalls
% liesmich.txt.
%
% \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
%   Lower-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
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
%<*dtx>
            \ProvidesFile{scrclass.dtx}
%</dtx>
%<scrartcl|scrreprt|scrbook|typearea>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
%<driver>\ProvidesFile{scrclass.drv}
%<scrartcl>\ProvidesClass{scrartcl}
%<scrreprt>\ProvidesClass{scrreprt}
%<scrbook>\ProvidesClass{scrbook}
%<typearea>\ProvidesPackage{typearea}
%<*scrartcl|scrreprt|scrbook|typearea|dtx|driver>
              [1996/11/09 v2.4h LaTeX2e KOMA
%</scrartcl|scrreprt|scrbook|typearea|dtx|driver>
%<scrartcl|scrreprt|scrbook>               document class]
%<typearea>               package]
%
%<*driver>
              Script bundle]
\documentclass{ltxdoc}
\usepackage[a4paper,BCOR15mm,DIV12]{typearea}
\usepackage{german}
%
% Fuer den Fall von |\EnableCrossrefs|
%
\DoNotIndex{\.,\@M,\@abstrtfalse,\@abstrttrue,\@addtoreset,\@afterheading}
\DoNotIndex{\@afterindentfalse,\@arabic,\@badmath,\@beginparpenalty}
\DoNotIndex{\@car,\@cdr,\@centercr,\@cite,\@dblfloat,\@dotsep}
\DoNotIndex{\@dottedtocline,\@empty,\@endparpenalty,\@endpart}
\DoNotIndex{\@finclfalse,\@fincltrue,\@float,\@fontswitch,\@fslfalse}
\DoNotIndex{\@fsltrue,\@gobbletwo}
\DoNotIndex{\@hangfrom,\@highpenalty,\@hinclfalse,\@hincltrue,\@hslfalse}
\DoNotIndex{\@hsltrue,\@idxitem,\@ifnextchar,\@ifundefined,\@itempenalty}
\DoNotIndex{\@latex@warning,\@m,\@mainmatterfalse,\@mainmattertrue}
\DoNotIndex{\@medpenalty,\@minus,\@mkboth,\@mparswitchfalse,\@mparswitchtrue}
\DoNotIndex{\@ne,\@nil,\@nobreakfalse,\@nobreaktrue,\@noitemerr,\@nomath}
\DoNotIndex{\@openrightfalse,\@openrighttrue}
\DoNotIndex{\@plus,\@restonecolfalse,\@restonecoltrue}
\DoNotIndex{\@tempa,\@tempboxa,\@tempdima,\@tempswafalse,\@tempswatrue}
\DoNotIndex{\@titlepagefalse,\@titlepagetrue,\@tocrmarg,\@topnewpage}
\DoNotIndex{\@topnum,\@twocolumnfalse,\@twocolumntrue,\@twosidefalse}
\DoNotIndex{\@twosidetrue}
\DoNotIndex{\@whiledim,\@whilenum,\\,\ }
\DoNotIndex{\addcontentsline,\addpenalty,\addtocontents,\addtolength}
\DoNotIndex{\addvspace,\advance,\@Alph,\@alph,\@arabic}
\DoNotIndex{\begin,\begingroup,\bfseries,\box,\bullet}
\DoNotIndex{\c@figure,\c@page,\c@secnumdepth,\c@table,\c@tocdepth}
\DoNotIndex{\cdot,\centering,\changes,\cleardoublepage,\clearpage}
\DoNotIndex{\cmd,\col@number,\CurrentOption,\CodelineIndex}
\DoNotIndex{\day,\dblfloatpagefraction,\dbltopfraction}
\DoNotIndex{\DeclareOldFontCommand,\DeclareOption,\def,\DisableCrossrefs}
\DoNotIndex{\divide,\DoNotIndex}
\DoNotIndex{\ifdim,\else,\fi,\empty,\em,\EnableCrossrefs,\end,\end@dblfloat}
\DoNotIndex{\end@float,\endgroup,\endlist,\endquotation,\endtitlepage}
\DoNotIndex{\everypar,\ExecuteOptions,\expandafter}
\DoNotIndex{\fboxrule,\fboxsep}
\DoNotIndex{\gdef,\global}
\DoNotIndex{\hangindent,\hbox,\hfil,\hrule,\hsize,\hskip,\hspace,\hss}
\DoNotIndex{\if@tempswa,\ifcase,\or,\fi,\fi}
\DoNotIndex{\ifnum,\ifodd,\ifx,\fi,\fi,\fi}
\DoNotIndex{\input,\InputIfFileExists,\item,\itshape}
\DoNotIndex{\kern,\leavevmode,\leftmark,\leftskip,\let,\lineskip}
\DoNotIndex{\list,\long}
\DoNotIndex{\m@ne,\m@th,\marginpar,\markboth,\markright,\mathbf,\mathcal}
\DoNotIndex{\mathit,\mathnormal,\mathrm,\mathsf,\mathtt,\MessageBreak,\month}
\DoNotIndex{\newblock,\newcommand,\newcount,\newcounter,\newdimen}
\DoNotIndex{\newenvironment,\newlength,\newpage,\nobreak,\noindent}
\DoNotIndex{\normalfont,\normallineskip,\normalsize,\null,\number}
\DoNotIndex{\numberline}
\DoNotIndex{\OldMakeindex,\OnlyDescription,\overfullrule}
\DoNotIndex{\p@,\PackageError,\PackageInfo,\PackageWarningNoLine}
\DoNotIndex{\pagenumbering,\pagestyle,\par,\paragraph,\parbox}
\DoNotIndex{\PassOptionsToPackage,\pcal,\penalty,\pmit,\PrintChanges}
\DoNotIndex{\PrintIndex,\ProcessOptions,\protect,\providecommand}
\DoNotIndex{\ProvidesClass}
\DoNotIndex{\raggedbottom,\raggedleft,\raggedright,\refstepcounter,\relax}
\DoNotIndex{\renewcommand,\RequirePackage,\reset@font}
\DoNotIndex{\rightmargin,\rightmark,\rightskip,\rmfamily,\@Roman,\@roman}
\DoNotIndex{\sc@temp,\scshape,\secdef,\setbox,\setcounter,\setlength}
\DoNotIndex{\settowidth,\sfcode,\sffamily,\skip,\sloppy,\slshape,\space}
\DoNotIndex{\string}
\DoNotIndex{\ta@temp,\the,\thispagestyle,\triangleright,\ttfamily,\twocolumn}
\DoNotIndex{\typeout}
\DoNotIndex{\undefined,\usecounter}
\DoNotIndex{\vfil,\vfill,\vspace}
\DoNotIndex{\wd,\xdef,\year,\z@}
%
\begin{document}
 \DocInput{scrclass.dtx}
\end{document}
%</driver>
% \fi
%
% \GetFileInfo{scrclass.dtx}
%
% \makeatletter
% \def\macro{\begingroup
%    \catcode`\\12
%    \MakePrivateLetters \m@cro@ 0}
% \def\environment{\begingroup
%    \catcode`\\12
%    \MakePrivateLetters \m@cro@ 1}
% \def\option{\begingroup
%    \catcode`\\12
%    \MakePrivateLetters \m@cro@ 2}
% \long\def\m@cro@#1#2{\endgroup \topsep\MacroTopsep \trivlist
%   \edef\saved@macroname{\string#2}%
%   \ifcase #1%
%     \edef\saved@@macroname{\expandafter\@gobble\saved@macroname}
%   \or
%     \edef\saved@@macroname{\expandafter\@gobble\saved@macroname}
%   \else
%     \let\saved@@macroname\saved@macroname
%   \fi
%   \def\makelabel##1{\llap{##1}}%
%   \if@inlabel
%     \let\@tempa\@empty \count@\macro@cnt
%     \loop \ifnum\count@>\z@
%       \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat
%     \edef\makelabel##1{\llap{\vtop to\baselineskip
%                                {\@tempa\hbox{##1}\vss}}}%
%     \advance \macro@cnt \@ne
%   \else  \macro@cnt\@ne  \fi
%   \edef\@tempa{\noexpand\item[%
%      \ifcase #1%
%        \noexpand\PrintMacroName
%      \or
%        \noexpand\PrintEnvName
%      \else
%        \noexpand\PrintOptionName
%      \fi
%      {\string#2}]}%
%   \@tempa
%   {\advance\c@CodelineNo\@ne
%    \ifcase #1%
%       \SpecialMainIndex{#2}\nobreak
%       \DoNotIndex{#2}%
%    \or
%       \SpecialMainEnvIndex{#2}\nobreak
%    \else
%       \SpecialOptionIndex{#2}\nobreak
%    \fi
%    }%
%   \ignorespaces}
% \let\endoption\endtrivlist
% \@ifundefined{PrintOptionName}
%    {\def\PrintOptionName#1{\strut \MacroFont #1\ }}{}
% \def\SpecialOptionIndex#1{\@bsphack
%     \index{#1\actualchar{\protect\ttfamily#1}
%            (option)\encapchar usage}%
%     \index{options:\levelchar{\protect\ttfamily#1}\encapchar
%            usage}\@esphack}
% \def\changes@#1#2#3{%
%   \protected@edef\@tempa{\noexpand\glossary{#1\levelchar
%                          \ifx\saved@macroname\@empty
%                            \space
%                            \actualchar
%                            \generalname
%                          \else
%                            \saved@@macroname
%                            \actualchar
%                            \string\verb\quotechar*\verbatimchar%
%                            \saved@macroname
%                            \verbatimchar
%                          \fi
%                          :\levelchar #3}}%
%   \@tempa\endgroup\@esphack}
% \makeatother
%
% \title{Die Haupt-classes und -packages des \textsf{KOMA-Script}
%        Pakets\thanks{Diese Datei hat die Versionsnummer \fileversion,
%        letzte "Anderung \filedate.}}
% \author{Frank Neukam\and Markus Kohm}
% \date{\filedate}
% \maketitle
%
% \tableofcontents
%
% \changes{v2.0e}{1994/10/28}{Erste Version, die \texttt{docstrip} verwendet.}
% \changes{v2.3}{1995/06/25}{Change-Glossary aufger"aumt.}
% \changes{v2.3a}{1995/07/08}{\texttt{0pt} jeweils durch \cs{z@} ersetzt.}
% \changes{v2.3a}{1995/07/08}{Verwendung von \cs{cs} statt \cs{cmd} im Change
%                             Glossary.}
% \changes{v2.3a}{1995/07/08}{Die Mehrzahl der \cs{newcommand} mit Parameter
%                             durch \cs{newcommand*} ersetzt.}
% \changes{v2.3a}{1995/07/08}{\cs{hbox to} durch \cs{hb@xt@} ersetzt.}
% \changes{v2.3a}{1995/07/08}{\cs{reset@font} durch \cs{normalfont} ersetzt.}
% \changes{v2.3g}{1996/01/14}{Diverse weitere \cs{newcommand} mit und ohne
%                             Parameter durch \cs{newcommand*} ersetzt.}
% \changes{v2.3g}{1996/01/14}{Diverse \cs{renewcommand} mit und ohne Parameter
%                             durch \cs{renewcommand*} ersetzt.}
%
% \part{Anleitung}
%
% \section{Generelles}
%
% \subsection{Rechtliches}
% Es wird keinerlei Haftung "ubernommen f"ur irgendwelche Sch"aden,
% die aus der Benutzung der Programme und Dateien des hier
% beschriebenen Paketes folgen.
%
% \subsection{Das \textsf{KOMA-Script} Paket}
%
% Das gesamte \textsf{KOMA-Script} Paket besteht aus mehreren Teilen.
% Dieser Teil (|scrclass.dtx|) beinhaltet die Haupt-classes |scrartcl.cls|,
% |scrreprt.cls| und |scrbook.cls| sowie das von diesen ben"otigte package
% |typearea.sty|.
%
% Die urspr"unglich ebenfalls in |komascr.dtx| enthaltene Anleitung wurde von
% Harald Sommerfeldt "uberarbeitet und ist nun als getrennte Datei
% |scrguide.tex| zu finden. |scrguide.tex| sollte am selben Ort verf"ugbar
% sein, an dem Sie auch |scrclass.dtx| gefunden haben.
%
% Die urspr"unglich in |komascr.dtx| enthaltene Brief-class |scrlettr.cls|
% liegt nun ebenfalls separat bei.
%
% Zum Gesamtpaket geh"oren weitere Dateien.
% Eine Aufz"ahlung finden Sie in der Installationsanleitung |liesmich.txt|.
% Dort ist auch angegeben, wie die classes, packages und andere Dateien
% aus den |*.dtx|-Dateien extrahiert werden.
%
% Das \textsf{KOMA-Script} Paket entspricht dem Stand nach den Standard \LaTeX
% Document Classes Version 1.3q [1995/12/20].
%
% \StopEventually
%
% \part{"`typearea"'-package}
% \section{Implementierung}
%
%    \begin{macrocode}
%<*typearea>
%    \end{macrocode}
% \changes{v2.0e}{1994/07/07}{Auf \LaTeXe umgestellt}
% \changes{v2.0e}{1994/09/02}{\cs{ProvideClass} durch \cs{ProvidePackage}
%                             ersetzt}
% \changes{v2.0e}{1994/09/02}{\cs{endinput} angeh"angt}
% \changes{v2.1a}{1994/10/29}{Auf doc/docstrip umgestellt}
% \changes{v2.1b}{1994/12/31}{Letzte Version f"ur 1994 fertiggestellt}
% Zuerst einmal zeigen, was es ist:
%    \begin{macrocode}
\typeout{Package: typearea, Copyright (C) Frank Neukam, 1992-1994
      ^^J\space\space\space\space\space\space\space\space\space
         \space\space\space\space\space\space\space\space\space\space
                            Copyright (C) Markus Kohm, 1994-1996}
%    \end{macrocode}
%
% \subsection{Befehle vor den Optionen}
%
%    \begin{macrocode}
\newif\if@hincl
\newif\if@fincl
%    \end{macrocode}
%  \begin{macro}{\SetDIVList}
%  \changes{v2.1a}{1994/10/28}{neu eingef"uhrt}
% Der Befehl |\SetDIVList| tut nichts weiter als die innere Variable
% f"ur die schriftgr"o"senabh"angige \emph{DIV}-Liste |\ta@divlist| neu
% zu definieren.
%    \begin{macrocode}
\newcommand*\SetDIVList[1]{\def\ta@divlist{#1}}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\ta@bcor}
%  \changes{v2.2a}{1995/01/25}{Definition der Dimension wegen der Option
%                              \texttt{BCOR} vorgezogen.}
% Dimension f"ur die Bindekorrektur reservieren. Diese wird implizit zu
% 0pt initialisiert.
%    \begin{macrocode}
\newdimen\ta@bcor
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\@BCOR}
%  \begin{macro}{\@@BCOR}
%  \begin{macro}{\@@@BCOR}
%  \begin{macro}{\@@@@BCOR}
%  \begin{macro}{\@v@BCOR}
%  \begin{macro}{\@vi@BCOR}
% Die Befehle |\@BCOR|, |\@@BCOR|, |\@@@BCOR|, |\@@@@BCOR|, |\@v@BCOR|
% und |\@vi@BCOR| werden ben"otigt, um die sp"ater deklarierte Option
% |BCOR|\emph{BCOR} zur erkennen und zu analysieren. Dabei wird die
% Option zeichenweise erkannt und der Wert dann als ein Parameter ausgelesen.
%    \begin{macrocode}
\def\@BCOR{\@ifnextchar B{\@@BCOR}{\@DIV}}
\def\@@BCOR B{\@ifnextchar C{\@@@BCOR}{\ta@TraceError B}}
\def\@@@BCOR C{\@ifnextchar O{\@@@@BCOR}{\ta@TraceError BC}}
\def\@@@@BCOR O{\@ifnextchar R{\@v@BCOR}{\ta@TraceError BCO}}
\def\@v@BCOR R{\@ifnextchar .{\@vi@BCOR}
               {\@ifnextchar 0{\@vi@BCOR}
                {\@ifnextchar 1{\@vi@BCOR}
                 {\@ifnextchar 2{\@vi@BCOR}
                  {\@ifnextchar 3{\@vi@BCOR}
                   {\@ifnextchar 4{\@vi@BCOR}
                    {\@ifnextchar 5{\@vi@BCOR}
                     {\@ifnextchar 6{\@vi@BCOR}
                      {\@ifnextchar 7{\@vi@BCOR}
                       {\@ifnextchar 8{\@vi@BCOR}
                        {\@ifnextchar 9{\@vi@BCOR}
                         {\ta@TraceError BCOR}}}}}}}}}}}}
\def\@vi@BCOR#1|{\ta@bcor#1}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\ta@dic}
%  \changes{v2.2a}{1995/01/25}{Definition wegen der Option \texttt{DIV}
%                              vorgezogen}
% Z"ahler f"ur \emph{DIV} reservieren. Dieser wird implizit zu
% 0 initialisiert.
%    \begin{macrocode}
\newcount\ta@div
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\@DIV}
%  \begin{macro}{\@@DIV}
%  \begin{macro}{\@@@DIV}
%  \begin{macro}{\@@@@DIV}
% \changes{v2.3}{1995/06/25}{bei 9 \cs{@v@BCOR} durch \cs{@v@DIV}
%                            ersetzt.}
%  \begin{macro}{\@v@DIV}
% Die Befehle |\@DIV|, |\@@DIV|, |\@@@DIV|, |\@@@@DIV| und |\@v@DIV|
% werden ben"otigt, um die sp"ater deklarierte Option
% |DIV|\emph{DIV} zur erkennen und zu analysieren. Dabei wird die
% Option zeichenweise erkannt und der Wert dann als ein Parameter ausgelesen.
%    \begin{macrocode}
\def\@DIV{\@ifnextchar D{\@@DIV}{\ta@TraceError}}
\def\@@DIV D{\@ifnextchar I{\@@@DIV}{\ta@TraceError D}}
\def\@@@DIV I{\@ifnextchar V{\@@@@DIV}{\ta@TraceError DI}}
\def\@@@@DIV V{\@ifnextchar 0{\@v@DIV}
               {\@ifnextchar 1{\@v@DIV}
                {\@ifnextchar 2{\@v@DIV}
                 {\@ifnextchar 3{\@v@DIV}
                  {\@ifnextchar 4{\@v@DIV}
                   {\@ifnextchar 5{\@v@DIV}
                    {\@ifnextchar 6{\@v@DIV}
                     {\@ifnextchar 7{\@v@DIV}
                      {\@ifnextchar 8{\@v@DIV}
                       {\@ifnextchar 9{\@v@DIV}
                        {\ta@TraceError DIV}}}}}}}}}}}
\def\@v@DIV #1|{\ta@div #1}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\ta@TraceError}
% Falls die zu"atzliche Option nicht \texttt{BCOR} oder \texttt{DIV} ist,
% ist eine Fehlermeldung f"allig.
%    \begin{macrocode}
\def\ta@TraceError#1|{\PackageError{typearea}{Unknown option #1}
                      {You've used an unknown option.\MessageBreak
                       Read the KOMA-Script-documentation for further
                       information.}}
%    \end{macrocode}
%  \end{macro}
%
%
% \subsection{Optionen}
%
% \subsubsection{Kopfbereich und Textbereich}
%
%  \begin{option}{headinclude}
%  \begin{option}{headexclude}
% Diese Optionen bestimmen, ob der Seitenkopf bereits zum Textbereich geh"ort.
%    \begin{macrocode}
\DeclareOption{headinclude}{\@hincltrue}
\DeclareOption{headexclude}{\@hinclfalse}
%    \end{macrocode}
%  \end{option}
%  \end{option}
%
% \subsubsection{Fu"sbereich und Textbereich}
%
%  \begin{option}{footinclude}
%  \begin{option}{footexclude}
% Diese Optionen bestimmen, ob die Fu"szeilen noch zum Textbereich geh"oren.
%    \begin{macrocode}
\DeclareOption{footinclude}{\@fincltrue}
\DeclareOption{footexclude}{\@finclfalse}
%    \end{macrocode}
%  \end{option}
%  \end{option}
%
% \subsubsection{Papiergr"o"sen-Optionen}
%
% Diese Optionen bestimmen die Papiergr"o"se. Aus der Papiergr"o"se wird
% sp"ater mit |\typearea| der Seitenspiegel berechnet. Dar"uber hinaus w"are
% das eine passende Gelegenheit |\SetDIVList| anzuwenden.
%
%  \begin{option}{a4paper}
% ISO/DIN A4:
%    \begin{macrocode}
\DeclareOption{a4paper}
   {\setlength\paperheight {297mm}%
    \setlength\paperwidth  {210mm}}
%    \end{macrocode}
%  \end{option}
%  \begin{option}{a5paper}
% ISO/DIN A5:
%    \begin{macrocode}
\DeclareOption{a5paper}
   {\setlength\paperheight {210mm}%
    \setlength\paperwidth  {148mm}}
%    \end{macrocode}
%  \end{option}
%  \begin{option}{b5paper}
% ISO/DIN B5:
%    \begin{macrocode}
\DeclareOption{b5paper}
   {\setlength\paperheight {250mm}%
    \setlength\paperwidth  {176mm}}
%    \end{macrocode}
%  \end{option}
%  \begin{option}{letterpaper}
% ISO letter:
%    \begin{macrocode}
\DeclareOption{letterpaper}
   {\setlength\paperheight {11in}%
    \setlength\paperwidth  {8.5in}}
%    \end{macrocode}
%  \end{option}
%  \begin{option}{legalpaper}
% ISO legal:
%    \begin{macrocode}
\DeclareOption{legalpaper}
   {\setlength\paperheight {14in}%
    \setlength\paperwidth  {8.5in}}
%    \end{macrocode}
%  \end{option}
%  \begin{option}{executivepaper}
% executive:
%    \begin{macrocode}
\DeclareOption{executivepaper}
   {\setlength\paperheight {10.5in}%
    \setlength\paperwidth  {7.25in}}
%    \end{macrocode}
%  \end{option}
%
% \subsubsection{landscape}
%
%  \begin{option}{landscape}
% Mit der Option |landscape| werden |\paperheight| und |\paperwidth|
% vertauscht. Damit wird das entsprechende Querformat erreicht. Nun
% ben"otigt man nur noch einen entsprechenden Drucker oder einen
% |DVI|-Treiber, der mit einer speziellen Option eine um 90\,Grad
% gedrehte Ausgabe erstellen kann.
%    \begin{macrocode}
\DeclareOption{landscape}
   {\setlength\@tempdima   {\paperheight}%
    \setlength\paperheight {\paperwidth}%
    \setlength\paperwidth  {\@tempdima}}
%    \end{macrocode}
%  \end{option}
%
% \subsubsection{Satzspiegeloptionen}
%
%  \begin{option}{BCOR}
%  \changes{v2.2a}{1995/01/25}{nun als Option verf"ugbar}
%  \changes{v2.2c}{1995/05/25}{nicht mehr im Kompatibilit"atsmodus}
%  \begin{option}{DIV}
%  \changes{v2.2a}{1995/01/25}{nun als Option verf"ugbar}
%  \changes{v2.2c}{1995/05/25}{nicht mehr im Kompatibilit"atsmodus}
% F"ur die neu hinzugekommenen Optionen |BCOR| und |DIV| mu"s eine
% Sonderbehandlung durchgef"uhrt werden. Diese Sonderbehandlung mu"s
% die Optionen scannen und Fehler zur"uckweisen. Daf"ur werden die
% oben definierten Befehle |\@...BCOR| und |\@...DIV| sowie
% |\ta@TraceError| verwendet. Damit die Optionen zeichenweise
% gescannt werden k"onnen, wird die Expansion von |\CurrentOption|
% erzwungen.
% \begin{macro}{DIVcalc}
% Zuvor wird jedoch noch die Sonderbehandlung fuer |DIVcalc| eingebaut.
% Diese wird durch eine einfache Option realisiert, "uber die die
% Default-DIV-Liste so manipuliert wird, da"s automatisch nach einem guten
% DIV-Wert gesucht wird.
% \changes{v2.4g}{1996/11/04}{Neue Option \texttt{DIVcalc}.}
%    \begin{macrocode}
\DeclareOption{DIVcalc}{\providecommand\ta@divlist{{1}{1}{1}}}
%    \end{macrocode}
% \end{macro}
%    \begin{macrocode}
\if@compatibility\else
  \DeclareOption*{\expandafter\@BCOR\CurrentOption|}
\fi
%    \end{macrocode}
%  \end{option}
%  \end{option}
%
% \subsection{Konfigurationsdatei}
%
% \changes{v2.0e}{1994/10/28}{Konfigurationsdatei \texttt{typearea.cfg} zur
%                             Definition weiterer Optionen bzw.
%                             Papiergr"o"sen.}
% Es ist m"oglich in einer Datei |typearea.cfg| z.B. weitere Optionen
% zu definieren, die dann automatisch eingeladen werden.
%    \begin{macrocode}
\InputIfFileExists{typearea.cfg}
           {\typeout{***************************************^^J%
                     * Local config file typearea.cfg used^^J%
                     ***************************************}}
           {}
%    \end{macrocode}
%
% \subsection{Standardeinstellungen}
% Als Standardoptionen sind |headexclude|, |footexclude| und die
% Papiergr"o"se |a4paper| eingestellt. Diese Optionen k"onnen
% selbstverst"andlich durch explizite Angaben "uberladen werden.
% \changes{v2.3h}{1995/01/19}{\cs{relax} nach \cs{ProcessOptions}
%                             erg"anzt.}
%    \begin{macrocode}
\ExecuteOptions{headexclude,footexclude,a4paper}
\ProcessOptions\relax
%    \end{macrocode}
%
%  \begin{macro}{\ta@divlist}
%  \changes{v2.0e}{1994/10/28}{neue interne Definition}
% Au"serdem mu"s an dieser Stelle noch f"ur die Standardeinstellung der
% |DIV|-Liste gesorgt werden, falls eine solche noch nicht definiert wurde.
%    \begin{macrocode}
\providecommand\ta@divlist{{8}{10}{12}}
%    \end{macrocode}
%  \end{macro}
% \subsection{Einige interne Register}
%
% Diese Gr"o"senparameter und Z"ahler werden intern f"ur verschiedene Befehle
% ben"otigt. (|\ta@bcor| und |\ta@div| werden bereits bei der
% Optionenauswertung ben"otigt und sind deshalb vorgezogen.)
%    \begin{macrocode}
\newdimen\ta@hblk
\newdimen\ta@vblk
\newdimen\ta@temp
%    \end{macrocode}
%
% \subsection{Die Berechnung des Seitenspiegels}
%
%  \begin{macro}{\typearea}
% Die Berechnung des Seitenspiegels, wie sie im Hauptteil der Anleitung
% beschrieben ist, findet mit Hilfe des Befehls |\typearea| statt, der hier
% definiert wird. Die Berechnung selbst findet in mehreren Stufen statt.
% \changes{v2.4g}{1996/11/04}{"Uberfl"ussigen Kommentar gel"oscht.}
%    \begin{macrocode}
\newcommand*\typearea[2][\z@]{
 \ta@bcor #1
 \ta@div=#2
%    \end{macrocode}
% \changes{v2.4g}{1996/11/04}{\texttt{DIV}=0 versucht den Wert aus der
%                             Default-Liste zu verwenden.}
% Vor der eigentlichen Berechnung des Satzspiegels wird zun"achst "uberpr"uft,
% ob der "ubergebene |DIV|-Wert 0 ist. Da Werte von 0 bis 3 nicht m"oglich
% sind (Minimum sind drei Teile Rand und ein Teil Text), wird der Wert 0
% daf"ur verwendet, den Defaultwert aus der Liste zu ermitteln, falls ein
% solcher vorhanden ist.
%    \begin{macrocode}
 \ifnum\ta@div=\z@
  \@ifundefined{@ptsize}{%
   \PackageWarningNoLine{typearea}{\string\@ptsize not defined!\MessageBreak
                                   Using calculated DIV}
  }{%
   \ta@divfor{\@ptsize}
  }
 \fi
%    \end{macrocode}
% Wurde kein Defaultwert gefunden oder ein |DIV|-Wert von 1 bis 3 angegeben,
% so wird nun ein m"oglichst optimaler |DIV|-Wert ermittelt.
%    \begin{macrocode}
 \ifnum\ta@div<4
%    \end{macrocode}
% Zun"achst k"onnte die Textbreite die gesamte Sichtbare Papierbreite
% einnehmen.
%    \begin{macrocode}
  \setlength{\textwidth}{\paperwidth}
  \addtolength{\textwidth}{-\ta@bcor}
%    \end{macrocode}
% Voraussetzung f"ur diese Berechnung ist, da"s Zeilenbreiten von ca. 66 bis
% 72 Zeichen optimal sind. Zur Vereinfachung wird mit dem Mittelwert 69
% gerechnet. Eine solche Zeile bsteht dann aus 66 durchschnittlichen Klein-
% und 3 durchschnittlichen Gro"sbuchstaben.
%    \begin{macrocode}
  \settowidth{\ta@hblk}{abcdefghijklmnopqrstuvwxyz}
  \multiply\ta@hblk by 66
  \settowidth{\ta@temp}{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
  \multiply\ta@temp by 3
  \addtolength{\ta@hblk}{\ta@temp}
  \divide\ta@hblk by 26
%    \end{macrocode}
% Im Zweispaltenmodus besteht jede Zeile aus zwei solchen Spalten zuz"uglich
% dem Spaltenabstand.
%    \begin{macrocode}
  \if@twocolumn
    \addtolength{\ta@hblk}{\ta@hblk}
    \addtolength{\ta@hblk}{\columnsep}
  \fi
%    \end{macrocode}
% Die Breite eines Streifens ist nun ein Drittel des Seitenrestes.
%    \begin{macrocode}
  \setlength{\ta@temp}{-\ta@hblk}
  \setlength{\ta@hblk}{\textwidth}
  \addtolength{\ta@hblk}{\ta@temp}
  \divide\ta@hblk by 3
%    \end{macrocode}
% Nat"urlich k"onnte ein Streifen nun so schmal werden, da"s nicht mehr genug
% Rand bleibt. Das k"onnte so weit gehen, da"s der Rand einen negativen Wert
% erh"alt, also "uber die Papierausma"se hinausgeschrieben werden m"u"ste.
% Deshalb wird im Notfall eine minimale Streifenbreite von 14\,pt eingesetzt.
% Damit ergibt sich im doppelseitigen Druck ein Rand von ca. 1\,cm. Im
% einseitigen Druck bleiben immerhin 7\,mm.
%    \begin{macrocode}
  \ta@temp14pt
  \ifdim\ta@hblk<\ta@temp\ta@hblk\ta@temp\fi
%    \end{macrocode}
% Nun mu"s berechnet werden, welcher |DIV|-Wert zu der ermittelten optimalen
% Streifenbreite pa"st. Dazu wird der |DIV|-Wert in einer Schleife ausgehend
% von 6 so lange erh"oht, bis die resultierende Streifenbreite kleiner als die
% gew"unschte Streifenbreite ist.
%    \begin{macrocode}
  \ta@div=6
  \setlength{\ta@temp}{\textwidth}
  \divide\ta@temp by \ta@div
  \@whiledim\ta@temp>\ta@hblk
   \do{\advance\ta@div by \@ne
       \setlength{\ta@temp}{\textwidth}
       \divide\ta@temp by \ta@div}
%    \end{macrocode}
% Wenn der |DIV|-Wert gr"o"ser als 6 ist, also der Text mehr Platz einnimmt
% als die R"ander, wird jetzt noch "uberpr"uft, ob der n"achst kleinere
% |DIV|-Wert die ge"unschte Streifenbreite besser trifft. Falls dies der Fall
% ist, wird jener Wert verwendet, sonst der gerade ermittelte.
%    \begin{macrocode}
  \ifnum\ta@div>6
   \setlength{\@tempdima}{\ta@hblk}\addtolength{\@tempdima}{-\ta@temp}
   \ifdim\@tempdima<\z@\setlength{\@tempdima}{-\@tempdima}\fi
   \advance\ta@div by -1
   \ta@temp\textwidth\divide\ta@temp by \ta@div
   \setlength{\@tempdimb}{\ta@hblk}\addtolength{\@tempdimb}{-\ta@temp}
   \ifdim\@tempdimb<\z@\setlength{\@tempdimb}{-\@tempdimb}\fi
   \ifdim\@tempdima<\@tempdimb\advance\ta@div by\@ne\fi
  \fi
%    \end{macrocode}
% Im logischen Landscape-Format wird nun noch sichergestellt, da"s ein
% vertikaler Streifen ebenfalls mindestens 14\,pt hoch ist. Dazu wird
% zun"achst die H"ohe eines Streifens berechnet und wenn diese zu gering ist,
% wird |DIV| wieder verkleinert. Dabei wird auch ber"ucksichtigt, da"s der
% |DIV|-Wert nicht kleiner als 6 sein sollte.
%    \begin{macrocode}
  \ifdim\paperheight<\textwidth
   \ta@vblk\paperheight\divide\ta@vblk by \ta@div
   \ta@temp14pt
   \@whiledim\ta@vblk<\ta@temp
    \do{\ifnum\ta@div>6
         \advance\ta@div by -\@ne
         \ta@vblk\paperheight
         \divide\ta@vblk by \ta@div
        \else
         \ta@temp\ta@vblk
        \fi}
  \fi
 \fi
%    \end{macrocode}
% Damit steht jetzt also der |DIV|-Wert fest, und die eigentliche Berechnung
% kann folgen.
%
% Zun"achst wird die Gr"o"se einer horizontalen L"angeneinheit (\emph{HLE})
% ermittelt:
%    \begin{macrocode}
 \ta@hblk \paperwidth
 \advance \ta@hblk by -\ta@bcor
 \divide\ta@hblk by \ta@div
%    \end{macrocode}
% Der linke und rechte Rand wird relativ zur benutzbaren Seitenbreite
% berechnet. Dabei mu"s auch der Rand ber"ucksichtigt werden, der vom
% Druckertreiber standardm"a"sig hinzugef"ugt wird. Au"serdem ist der Rand
% abh"angig davon, ob es sich um ein einseitiges oder beidseitiges Layout
% handelt.
%    \begin{macrocode}
 \oddsidemargin -1in
 \evensidemargin -1in
 \if@twoside
  \advance\oddsidemargin by \ta@hblk
  \advance\oddsidemargin by \ta@bcor
  \advance\evensidemargin by 2\ta@hblk
 \else
  \advance\oddsidemargin by 1.5\ta@hblk
  \advance\oddsidemargin by \ta@bcor
  \evensidemargin\oddsidemargin
 \fi
%    \end{macrocode}
% Der Rest steht nun f"ur den Textbereich zur Verf"ugung:
%    \begin{macrocode}
 \textwidth \paperwidth
 \advance\textwidth by -\ta@bcor
 \advance\textwidth by -3\ta@hblk
%    \end{macrocode}
% Nun werden die vertikalen Verteilungen berechnet:
% \changes{v2.1b}{1994/12/31}{\cs{headheight} von \cs{@ptsize}
%                             abh"angig gemacht.}
% \changes{v2.2a}{1995/01/25}{Wenn ein Makro oder eine Dimension
%                             \cs{ta@hh} existiert, wird diese(s) f"ur
%                             die H"ohe des Kopfbereichs verwendet.}
%    \begin{macrocode}
\@ifundefined{ta@hh}{
  \headheight 15\p@
  \advance\headheight \@ptsize\p@
 }{\headheight\ta@hh}
 \headsep 1.5\baselineskip
 \footskip 3.5\baselineskip
 \ta@vblk \paperheight
 \divide\ta@vblk by \ta@div
 \ta@temp \paperheight
 \advance\ta@temp by -3\ta@vblk
%    \end{macrocode}
% Dabei wird ber"ucksichtigt, ob Kopf- und der Fu"steil der Seite
% f"ur die Berechnung zum Textbereich gez"ahlt werden soll.
%    \begin{macrocode}
 \if@hincl
  \advance\ta@temp by -\headheight
  \advance\ta@temp by -\headsep
 \fi
 \if@fincl
  \advance\ta@temp by -\footskip
 \fi
 \textheight \topskip
%    \end{macrocode}
% Die H"ohe des Textbereichs soll ein Vielfaches von |\baselineskip| sein.
%    \begin{macrocode}
 \@whiledim\textheight<\ta@temp
  \do{\advance\textheight by \baselineskip}
 \topmargin \ta@vblk
 \advance\topmargin by -1in
 \if@hincl \else
  \advance\topmargin by -\headheight
  \advance\topmargin by -\headsep
 \fi
 \if@twoside
  \marginparwidth 1.5\ta@hblk
 \else
  \marginparwidth \ta@hblk
 \fi
%    \end{macrocode}
% \changes{v2.0e}{1994/10/28}{Die Seitenaufteilung wird in die log-Datei
%                             geschrieben.}
% Zum Schlu"s soll die Seitenaufteilung noch in die |log|-Datei geschrieben
% werden.
%    \begin{macrocode}
 \PackageInfo{typearea}{%
    These are the values describing the layout:\MessageBreak
    DIV\space\space=\space\number\ta@div\MessageBreak
    BCOR\space=\space\the\ta@bcor\MessageBreak
    \string\paperwidth\space\space\space\space\space\space=%
                         \space\the\paperwidth\MessageBreak
    \space\string\textwidth\space\space\space\space\space\space=%
                         \space\the\textwidth\MessageBreak
    \space\string\evensidemargin\space=%
                         \space\the\evensidemargin\MessageBreak
    \space\string\oddsidemargin\space=%
                         \space\the\oddsidemargin\MessageBreak
    \string\paperheight\space\space\space\space\space=%
                         \space\the\paperheight\MessageBreak
    \space\string\textheight\space\space\space\space\space=%
                         \space\the\textheight\MessageBreak
    \space\string\topmargin\space\space\space\space\space\space=%
                         \space\the\topmargin\MessageBreak
    \space\string\headheight\space\space\space\space\space=%
                         \space\the\headheight\MessageBreak
    \space\string\headsep\space\space\space\space\space\space\space\space=%
                         \space\the\headsep\MessageBreak
    \space\string\topskip\space\space\space\space\space\space\space\space=%
                         \space\the\topskip\MessageBreak
    \space\string\textheight\space\space\space\space\space=%
                         \space\the\textheight\MessageBreak
    \space\string\footskip\space\space\space\space\space\space\space=%
                         \space\the\footskip\MessageBreak
  }
 \marginparsep 1cc
 \marginparpush 0.45\baselineskip}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\areaset}
% \changes{v2.1b}{1994/12/31}{\cs{headheight} von \cs{@ptsize}
%                             abh"angig gemacht}
% Zur Berechnung eines Seitenspiegels mit fester Breite und
% H"ohe dient der Befehl |\areaset|. Der Algorithmus ist "ahnlich dem
% vorherigen Verfahren, aber einfacher.
%    \begin{macrocode}
\newcommand*\areaset[3][\z@]{
 \ta@bcor #1
 \textwidth #2
 \textheight #3
 \ta@hblk \paperwidth
 \advance\ta@hblk by -\ta@bcor
 \advance\ta@hblk by -\textwidth
 \divide\ta@hblk by 3
 \oddsidemargin -1in
 \evensidemargin -1in
 \if@twoside
  \advance\oddsidemargin by \ta@hblk
  \advance\oddsidemargin by \ta@bcor
  \advance\evensidemargin by 2\ta@hblk
 \else
  \advance\oddsidemargin by 1.5\ta@hblk
  \advance\oddsidemargin by \ta@bcor
  \evensidemargin\oddsidemargin
 \fi
 \headheight 15\p@
 \advance\headheight \@ptsize\p@
 \headsep 1.5\baselineskip
 \footskip 3.5\baselineskip
 \ta@vblk \paperheight
 \advance\ta@vblk by -\textheight
 \divide\ta@vblk by 3
 \if@hincl
  \advance\textheight by -\headheight
  \advance\textheight by -\headsep
 \fi
 \if@fincl
  \advance\textheight by -\footskip
 \fi
 \topmargin \ta@vblk
 \advance\topmargin by -1in
 \if@hincl \else
  \advance\topmargin by -\headheight
  \advance\topmargin by -\headsep
 \fi
 \if@twoside
  \marginparwidth 1.5\ta@hblk
 \else
  \marginparwidth \ta@hblk
 \fi
 \marginparsep 1cc
 \marginparpush 0.45\baselineskip}
%    \end{macrocode}
%  \end{macro}
%
% \subsection{Berechnung des Standardseitenspiegels}
%
%  \begin{macro}{\ta@divfor}
% Der Standardseitenspiegel ist abh"angig von den mit |\SetDIVList|
% vorgegebenen Einstellungen. Dazu mu"s aus einer eventuell vorhandenen
% inneren Liste |ta@divlist| der von der Schriftgr"o"se abh"angige
% \textsf{DIV}-Wert ausgelesen werden. Dies geschieht mit Hilfe des
% |\ta@divfor|-Befehls, der sich wiederum einiger interner Befehle
% zur Listenbearbeitung bedient.
% \changes{v2.4g}{1996/11/04}{Der Satzspiegel wird nicht mehr direkt
%                             berechnet, sondern nur der \texttt{DIV}-Wert aus
%                             der Defaultliste ermittelt.}
%    \begin{macrocode}
\def\ta@divfor#1{
 \xdef\@tempa{\ta@divlist{}}
 \ta@div=#1\relax
 \@whilenum \ta@div >0 \do {%
  \ifx\@tempa\empty \relax%
   \else \xdef\@tempa{\expandafter\@cdr\@tempa\@nil}%
  \fi
  \advance\ta@div by -1 %
 }
 \ifx\@tempa\empty %
%    \end{macrocode}
% Wenn keine Voreinstellung gefunden werden konnte, so wird immer
% der Optimalwert berechnet. Mit einer Warnung wird darauf hingewiesen.
%    \begin{macrocode}
  \PackageWarningNoLine{typearea}{%
              DIV for 1#1pt and used papersize\MessageBreak
              not defined!\MessageBreak
              Using calculated DIV}
  \ta@div=1
 \else %
%    \end{macrocode}
% Ansonsten wird der vorgegebene Wert verwendet.
%    \begin{macrocode}
  \xdef\@tempa{\expandafter\@car\@tempa\@nil}
  \ta@div=\@tempa\relax
 \fi}
%    \end{macrocode}
%  \end{macro}
% Nun fehlt nur noch die eigentliche Initialisierung. Dazu wird einfach der
% Satzspiegel mit den getroffenen Voreinstellungen berechnet. Da der
% |DIV|-Wert 0 f"ur einen Wert aus der Default-Liste steht, bleibt die
% Kompatibilit"at zu "alteren Versionen erhalten. Den berechneten |DIV|-Wert
% erh"alt man hingegen mit der Option |DIVcalc| immer, da hierbei die
% Defaultwerte so abge"andert wurden, da"s die automatische Berechnung
% verwendet wird. Die Initialisierung des Pakets ist damit sehr einfach.
%    \begin{macrocode}
\typearea[\ta@bcor]{\ta@div}
%    \end{macrocode}
%
% \subsection{Das Ende}
%
%    \begin{macrocode}
%</typearea>
%    \end{macrocode}
%
% \part{"`scrartcl"'-class,
%       "`scrreprt"'-class,
%       "`scrbook"'-class}
%
% \section{Vorbemerkung}
%
% Alle drei Haupt-\emph{classes} haben viele Teile gemeinsam. Die gr"o"sten
% Gemeinsamkeiten bestehen dabei zwischen |scrreprt| und |scrbook|. |scrartcl|
% unterscheidet sich in mehreren Punkten von den beiden "ubrigen
% Haupt-\emph{classes}.
%
% |scrlettr| unterscheidet sich in vielen Punkten grundlegend von den drei
% Haupt-\emph{classes}. Deshalb wird diese class in einer eigenen Datei
% implementiert.
%
% \section{Implementierung}
%
%    \begin{macrocode}
%<*scrartcl|scrreprt|scrbook>
%    \end{macrocode}
%
% \changes{v2.0e}{1994/07/07}{Erste Version von "`scrartcl"', "`scrreprt"'
%                             und "`scrbook"'.}
% \changes{v2.0e}{1994/08/10}{\cs{sectdef} "uberall in "`scrreprt"' und
%                             "`scrbook"' durch \cs{secdef} ersetzt.}
% \changes{v2.0e}{1994/08/10}{\cs{addcontensline} in "`scrreprt"' und
%                             "`scrbook"' durch \cs{addcontentsline}
%                             ersetzt.}
% \changes{v2.0e}{1994/08/10}{\cs{@makechapterhead} an zwei Stellen in
%                             "`scrreprt"' und "`scrbook"' durch
%                             \cs{@makeschapterhead} ersetzt.}
% \changes{v2.0e}{1994/08/10}{\cs{afterheadings} in "`scrreprt"' und
%                             "`scrbook"' durch \cs{@afterheadings}
%                             ersetzt.}
% \changes{v2.1b}{1994/12/31}{Letzte Version f"ur 1994 fertiggestellt.}
%
% Die Implementierung "ahnelt in vielen Punkten der der Standard-classes.
% Deshalb werden hier allenfalls grobe Unterschiede behandelt.
%
% \subsection{Optionen}
%
%    \begin{macrocode}
\newcommand*\@ptsize{}
\newif\if@restonecol
\newif\if@titlepage
%<scrartcl>\@titlepagefalse
%<scrreprt|scrbook>\@titlepagetrue
%<!scrartcl>\newif\if@openright
%    \end{macrocode}
% \changes{v2.3g}{1996/01/14}{\cs{if@openbib} (\cs{@openbibtrue},
%                             \cs{@openbibfalse} entfernt.}
% \changes{v2.3a}{1995/07/08}{\cs{if@mainmatter} Anforderung verschoben.}
%    \begin{macrocode}
%<scrbook>\newif\if@mainmatter \@mainmattertrue
\newif\if@hsl
\newif\if@fsl
\newif\if@abstrt
%    \end{macrocode}
%
%  \begin{macro}{\@BCOR}
%  \begin{macro}{\@@BCOR}
%  \begin{macro}{\@@@BCOR}
%  \begin{macro}{\@@@@BCOR}
%  \begin{macro}{\@v@BCOR}
%  \begin{macro}{\@vi@BCOR}
% Auch hier werden die Scan-Befehle f"ur die Optionen |BCOR| und |DIV|
% ben"otigt. Allerdings erfolgt keine direkte Wertzuweisung sondern nur
% eine explizite Weitergabe der globalen Option an das
% \emph{typearea}-package. Die Befehle werden anschlie"send von den
% gleichnamigen Scan-Befehlen des packages "uberladen.
%    \begin{macrocode}
\def\@BCOR{\@ifnextchar B{\@@BCOR}{\@DIV}}
\def\@@BCOR B{\@ifnextchar C{\@@@BCOR}{\sc@TraceError B}}
\def\@@@BCOR C{\@ifnextchar O{\@@@@BCOR}{\sc@TraceError BC}}
\def\@@@@BCOR O{\@ifnextchar R{\@v@BCOR}{\sc@TraceError BCO}}
\def\@v@BCOR R{\@ifnextchar .{\@vi@BCOR}
               {\@ifnextchar 0{\@vi@BCOR}
                {\@ifnextchar 1{\@vi@BCOR}
                 {\@ifnextchar 2{\@vi@BCOR}
                  {\@ifnextchar 3{\@vi@BCOR}
                   {\@ifnextchar 4{\@vi@BCOR}
                    {\@ifnextchar 5{\@vi@BCOR}
                     {\@ifnextchar 6{\@vi@BCOR}
                      {\@ifnextchar 7{\@vi@BCOR}
                       {\@ifnextchar 8{\@vi@BCOR}
                        {\@ifnextchar 9{\@vi@BCOR}
                         {\sc@TraceError BCOR}}}}}}}}}}}}
\def\@vi@BCOR#1|{\PassOptionsToPackage{BCOR#1}{typearea}}
%    \end{macrocode}
%
%  \begin{macro}{\@DIV}
%  \begin{macro}{\@@DIV}
%  \begin{macro}{\@@@DIV}
%  \begin{macro}{\@@@@DIV}
% \changes{v2.3}{1995/06/25}{bei 9 \cs{@v@BCOR} durch \cs{@v@DIV}
%                            ersetzt.}
%  \begin{macro}{\@v@DIV}
%    \begin{macrocode}
\def\@DIV{\@ifnextchar D{\@@DIV}{\sc@TraceError}}
\def\@@DIV D{\@ifnextchar I{\@@@DIV}{\sc@TraceError D}}
\def\@@@DIV I{\@ifnextchar V{\@@@@DIV}{\sc@TraceError DI}}
\def\@@@@DIV V{\@ifnextchar 0{\@v@DIV}
               {\@ifnextchar 1{\@v@DIV}
                {\@ifnextchar 2{\@v@DIV}
                 {\@ifnextchar 3{\@v@DIV}
                  {\@ifnextchar 4{\@v@DIV}
                   {\@ifnextchar 5{\@v@DIV}
                    {\@ifnextchar 6{\@v@DIV}
                     {\@ifnextchar 7{\@v@DIV}
                      {\@ifnextchar 8{\@v@DIV}
                       {\@ifnextchar 9{\@v@DIV}
                        {\sc@TraceError DIV}}}}}}}}}}}
\def\@v@DIV #1|{\PassOptionsToPackage{DIV#1}{typearea}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\sc@TraceError}
% \changes{v2.3}{1995/06/25}{Unbekannte Optionen in die Liste der nicht
%                            verwendeten Optionen zur"uckschreiben.}
% Falls die zu"atzliche Option nicht \texttt{BCOR} oder \texttt{DIV} ist,
% ist hier keine Fehlermeldung f"allig. Die Option wird statt dessen
% in die Liste der nicht betrachteten Optionen zur"uckgeschrieben.
%    \begin{macrocode}
\def\sc@TraceError#1|{\OptionNotUsed}
%    \end{macrocode}
%  \end{macro}
%
% Es gibt einige neue Optionen gegen"uber den Standard-Classes.
%
% \subsubsection{Headseparation-Lines}
%  \begin{option}{headsepline}
%  \begin{option}{headnosepline}
% Der Kopfteil kann mit einer Linie vom Textbereich getrennt werden.
%    \begin{macrocode}
\DeclareOption{headsepline}{\PassOptionsToPackage{headinclude}{typearea}
                            \@hsltrue}
\DeclareOption{headnosepline}{\@hslfalse}
%    \end{macrocode}
%  \end{option}
%  \end{option}
%
% \subsubsection{Footseparation-Lines}
%  \begin{option}{footsepline}
% \changes{v2.0e}{1994/08/14}{bei \cs{PassOptionsToPackage} fehlte die
%                             package-Angabe.}
%  \begin{option}{footnosepline}
% Der Fu"steil kann mit einer Linie vom Textbereich getrennt werden.
%    \begin{macrocode}
\DeclareOption{footsepline}{\PassOptionsToPackage{footinclude}{typearea}
                            \@fsltrue}
\DeclareOption{footnosepline}{\@fslfalse}
%    \end{macrocode}
%  \end{option}
%  \end{option}
%
% \subsubsection{Standardoptionen}
%  \begin{option}{10pt}
%  \begin{option}{11pt}
%  \begin{option}{12pt}
%  \begin{option}{oneside}
%  \begin{option}{twoside}
%  \begin{option}{draft}
%  \begin{option}{final}
%  \begin{option}{titlepage}
%  \begin{option}{notitlepage}
%  \begin{option}{openright}
%  \begin{option}{openany}
%  \begin{option}{onecolumn}
%  \begin{option}{twocolumn}
%  \begin{option}{leqno}
%  \begin{option}{fleqno}
%    \begin{macrocode}
\DeclareOption{10pt}{\renewcommand*\@ptsize{0}}
\DeclareOption{11pt}{\renewcommand*\@ptsize{1}}
\DeclareOption{12pt}{\renewcommand*\@ptsize{2}}
\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
\DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
\DeclareOption{titlepage}{\@titlepagetrue}
\DeclareOption{notitlepage}{\@titlepagefalse}
%<!scrartcl>\DeclareOption{openright}{\@openrighttrue}
%<!scrartcl>\DeclareOption{openany}{\@openrightfalse}
\DeclareOption{onecolumn}{\@twocolumnfalse}
\DeclareOption{twocolumn}{\@twocolumntrue}
\DeclareOption{leqno}{\input{leqno.clo}}
\DeclareOption{fleqn}{\input{fleqn.clo}}
%    \end{macrocode}
%  \begin{option}{openbib}
% \changes{v2.3g}{1996/01/14}{Definition der openbib Option neu
%                             implementiert.}
%    \begin{macrocode}
\DeclareOption{openbib}{%
  \AtEndOfPackage{%
   \renewcommand*\@openbib@code{%
      \advance\leftmargin\bibindent
      \itemindent -\bibindent
      \listparindent \itemindent
      \parsep \z@
      }%
   \renewcommand*\newblock{\par}}%
}
%    \end{macrocode}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%  \end{option}
%
% \subsubsection{Abstract (Zusammenfassung)}
%  \begin{option}{abstracton}
%  \begin{option}{abstractoff}
% Das Abstract (Zusammenfassung) kann mit einem standardm"a"sigen Titel
% versehen werden. Der Titel kann aber auch unterdr"uckt werden.
%
% Bei |scrbook| gibt es kein Abstract.
%    \begin{macrocode}
%<!scrbook>\DeclareOption{abstracton}{\@abstrttrue}
%<!scrbook>\DeclareOption{abstractoff}{\@abstrtfalse}
%    \end{macrocode}
%  \end{option}
%  \end{option}
%
% \subsubsection{Optionen zur Steuerung der Numerierung}
%
%  \begin{option}{pointednumbers}
% \changes{v2.3h}{1995/01/19}{Option zum Einschalten des Punktes nach
%                             Nummern.}
% \changes{v2.4g}{1996/11/04}{Die Option hei"st nun wirklich so, bei
%                             \texttt{pointednumber} wird explizit ein Fehler
%                             gemeldet.}
% \changes{v2.4g}{1996/11/04}{\cs{@altsecnumformatfalse} wird direkt auf
%                             \cs{@altsecnumformattrue} gesetzt.}
%  \begin{option}{pointlessnumbers}
% \changes{v2.3h}{1995/01/19}{Option zur Verhinderung des Punktes nach
%                             Nummern.}
% \changes{v2.4g}{1996/11/04}{Die Option hei"st nun wirklich so, bei
%                             \texttt{pointlessnumber} wird explizit ein Fehler
%                             gemeldet.}
% \changes{v2.4g}{1996/11/04}{\cs{@altsecnumformattrue} wird direkt auf
%                             \cs{@altsecnumformatfalse} gesetzt.}
% Normalerweise wird automatisch entschieden, ob Nummern mit einem Punkt
% enden m"ussen oder nicht. Um dies abzuschalten, mu"s nur der
% gew"unschte Zustand eingeschaltet und die Umschaltm"oglichkeit entfernt
% werden. Dies kann jedoch erst am Ende der Class geschehen.
%    \begin{macrocode}
\DeclareOption{pointednumbers}
  {\AtEndOfClass{\@altsecnumformattrue
                 \global\let\@altsecnumformatfalse\@altsecnumformattrue}}
\DeclareOption{pointednumber}
  {\AtEndOfClass{\@altsecnumformattrue
                 \global\let\@altsecnumformatfalse\@altsecnumformattrue}
   \ClassError
%<scrbook>    {scrbook}
%<scrreprt>    {scrreprt}
%<scrartcl>    {scrartcl}
    {undefined option `pointednumber' instead of `pointednumbers'.}
    {You've used the class-option `pointednumber'.\MessageBreak
     This name was an implementation-error at versions from 2.3h till
     2.4f.\MessageBreak
     The correct name ist `pointednumber'.
     Change this at your document.\MessageBreak
     If you'll continue, the option `pointednumbers' will be used.}}
\DeclareOption{pointlessnumbers}
  {\AtEndOfClass{\@altsecnumformatfalse
                 \global\let\@altsecnumformattrue\@altsecnumformatfalse}}
\DeclareOption{pointlessnumber}
  {\AtEndOfClass{\@altsecnumformatfalse
                 \global\let\@altsecnumformattrue\@altsecnumformatfalse}
   \ClassError
%<scrbook>    {scrbook}
%<scrreprt>    {scrreprt}
%<scrartcl>    {scrartcl}
    {undefined option `pointlessnumber' instead of `pointlessnumbers'.}
    {You've used the class-option `pointlessnumber'.\MessageBreak
     This name was an implementation-error at versions from 2.3h till
     2.4f.\MessageBreak
     The correct name ist `pointlessnumber'.
     Change this at your document.\MessageBreak
     If you'll continue, the option `pointlessnumbers' will be used.}}
%    \end{macrocode}
%  \end{option}
%  \end{option}
%
% \subsubsection{Optionen zur Steuerung der "Uberschriftgr"o"se}
%
% \begin{option}{bigheadings}
% \changes{v2.3h}{1996/01/20}{Neue Option.}
% \changes{v2.4g}{1996/11/04}{Die Option hei"st nun wirklich so. Bei Verwendung
%                             des alten, falschen Namens wird ein Fehler
%                             ausgegeben.}
% \begin{option}{normalheadings}
% \changes{v2.3h}{1996/01/20}{Neue Option.}
% \changes{v2.4g}{1996/11/04}{Die Option hei"st nun wirklich so. Bei Verwendung
%                             des alten, falschen Namens wird ein Fehler
%                             ausgegeben.}
% \begin{option}{smallheadings}
% \changes{v2.3h}{1996/01/20}{Neue Option.}
% \changes{v2.4g}{1996/11/04}{Die Option hei"st nun wirklich so. Bei Verwendung
%                             des alten, falschen Namens wird ein Fehler
%                             ausgegeben.}
% Neuerdings kann zwischen verschiedenen "Uberschriftgr"o"sen umgeschaltet
% werden, wobei die bisherige Gr"o"se als gro"s gilt und
% voreingestellt wird.
% \changes{v2.3h}{1996/01/20}{Die Gr"o"se von \cs{chapter} um eine Stufe
%                             veringert.}
% \changes{v2.3h}{1996/01/20}{Verwendung von \cs{chaperheadstartvskip}
%                             und \cs{chapterheadendvskip} an Stelle von
%                             festen vertikalen Abst"anden am Anfang und
%                             am Ende eines Kapitels.}
%    \begin{macrocode}
\newcommand\@bigheadings
  {\AtEndOfClass{
%<*scrbook|scrreprt>
    \def\chapterheadstartvskip{\vspace*{2.3\baselineskip}}
    \def\chapterheadendvskip{\vspace{1.7\baselineskip}}
%</scrbook|scrreprt>
    \let\size@part\Huge
    \let\size@partnumber\huge
%<scrbook|scrreprt>    \let\size@chapter\huge
    \let\size@section\Large
    \let\size@subsection\large
    \let\size@subsubsection\normalsize
    \let\size@paragraph\normalsize
    \let\size@subparagraph\normalsize}}
\DeclareOption{bigheadings}{\@bigheadings}
\DeclareOption{bigheading}{\@bigheadings
  \ClassError
%<scrbook>    {scrbook}
%<scrreprt>    {scrreprt}
%<scrartcl>    {scrartcl}
    {You've used the old option name `bigheading'!\MessageBreak
     The correct name of the option ist `bigheadings'.\MessageBreak
     The old name was an implementation error from\MessageBreak
     version 2.3h till 2.4f.\MessageBreak
     You should change this at your document!\MessageBreak
     If you'll continue, option `bigheadings' will be used.}}
\newcommand\@normalheadings
  {\AtEndOfClass{
%<*scrbook|scrreprt>
    \def\chapterheadstartvskip{\vspace*{2\baselineskip}}
    \def\chapterheadendvskip{\vspace{1.5\baselineskip}}
%</scrbook|scrreprt>
    \let\size@part\huge
    \let\size@partnumber\huge
%<*scrbook|scrreprt>
    \let\size@chapter\LARGE
    \let\size@section\Large
    \let\size@subsection\large
%</scrbook|scrreprt>
%<*scrartcl>
    \let\size@section\large
    \let\size@subsection\normalsize
%</scrartcl>
    \let\size@subsubsection\normalsize
    \let\size@paragraph\normalsize
    \let\size@subparagraph\normalsize}}
\DeclareOption{normalheadings}{\@normalheadings}
\DeclareOption{normalheading}{\@normalheadings
  \ClassError
%<scrbook>    {scrbook}
%<scrreprt>    {scrreprt}
%<scrartcl>    {scrartcl}
    {You've used the old option name `normalheading'!\MessageBreak
     The correct name of the option ist `normalheadings'.\MessageBreak
     The old name was an implementation error from\MessageBreak
     version 2.3h till 2.4f.\MessageBreak
     You should change this at your document!\MessageBreak
     If you'll continue, option `normalheadings' will be used.}}
\newcommand\@smallheadings
  {\AtEndOfClass{
%<*scrbook|scrreprt>
    \def\chapterheadstartvskip{\vspace*{1.8\baselineskip}}
    \def\chapterheadendvskip{\vspace{1.3\baselineskip}}
%</scrbook|scrreprt>
    \let\size@part\LARGE
    \let\size@partnumber\LARGE
%<*scrbook|scrreprt>
    \let\size@chapter\Large
    \let\size@section\large
%</scrbook|scrreprt>
%<*scrartcl>
    \let\size@section\normalsize
%</scrartcl>
    \let\size@subsection\normalsize
    \let\size@subsubsection\normalsize
    \let\size@paragraph\normalsize
    \let\size@subparagraph\normalsize}}
\DeclareOption{smallheadings}{\@smallheadings}
\DeclareOption{smallheading}{\@smallheadings
  \ClassError
%<scrbook>    {scrbook}
%<scrreprt>    {scrreprt}
%<scrartcl>    {scrartcl}
    {You've used the old option name `smallheading'!\MessageBreak
     The correct name of the option ist `smallheadings'.\MessageBreak
     The old name was an implementation error from\MessageBreak
     version 2.3h till 2.4f.\MessageBreak
     You should change this at your document!\MessageBreak
     If you'll continue, option `smallheadings' will be used.}}
%    \end{macrocode}
% \end{option}
% \end{option}
% \end{option}
%
% \subsubsection{Optionen zur Beeinflussung des Inhaltsverzeichnisses}
%
%  \begin{option}{liststotoc}
% \changes{v2.3h}{1995/01/21}{Neue Option.}
% Die Option sorgt daf"ur, da"s das Abbildungs- und das
% Tabellenverzeichnis im Inhalsverzeichnis aufgef"uhrt werden. Dazu
% m"ussen nur \cs{lof@heading} und \cs{lot@heading} umdefiniert werden.
% \changes{v2.4a}{1996/03/13}{\cs{listtabelname} durch \cs{listtablename}
%                             ersetzt.}
%  \begin{macro}{\lot@heading}
%  \begin{macro}{\lof@heading}
%    \begin{macrocode}
\DeclareOption{liststotoc}
  {\AtEndOfClass{%
    \renewcommand*\lot@heading{\addsec{\listtablename}
      \@mkboth{\listtablename}{\listtablename}}
    \renewcommand*\lof@heading{\addsec{\listfigurename}
      \@mkboth{\listfigurename}{\listfigurename}}
  }}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{option}
%
%  \begin{option}{bibtotoc}
% \changes{v2.3h}{1995/01/21}{Neue Option.}
% Die Option sorgt daf"ur, da"s das Literaturverzeichnis im
% Inhaltsverzeichnis aufgef"uhrt wird.
%  \begin{option}{bibtotocnumbered}
% \changes{v2.3h}{1995/01/21}{Neue Option.}
% Wobei auch eine normal numerierte Variante m"oglich ist.
%  \begin{macro}{\bib@heading}
%    \begin{macrocode}
\DeclareOption{bibtotoc}
  {\AtEndOfClass{%
    \renewcommand*\bib@heading{%
%<scrartcl>  \addsec{\refname}}
%<!scrartcl>  \addchap{\bibname}}
  }}
\DeclareOption{bibtotocnumbered}
  {\AtEndOfClass{%
    \renewcommand*\bib@heading{%
%<scrartcl>  \section{\refname}}
%<!scrartcl>  \chapter{\bibname}}
  }}
%    \end{macrocode}
%  \end{macro}
%  \end{option}
%  \end{option}
%
%  \begin{option}{idxtotoc}
% \changes{v2.3h}{1995/01/21}{Neue Option.}
% Die Option sorgt daf"ur, da"s der Index auch im Inhaltsverzeichnis
% erscheint.
%  \begin{macro}{\idx@heading}
% \changes{v2.4c}{1996/04/04}{Kolumnentitel werden nun korrekt behandelt.}
% \changes{v2.4g}{1996/11/04}{Index auch bei scrartcl wieder zweispaltig.}
%    \begin{macrocode}
\DeclareOption{idxtotoc}
 {\AtEndOfClass{%
  \renewcommand*\idx@heading{\twocolumn[%
%<scrartcl>   \addsec{\indexname}]\@mkboth{\indexname}{\indexname}}%
%<*scrreprt|scrbook>
   \@makeschapterhead{\indexname}]%
   \@mkboth{\indexname}{\indexname}%
   \addcontentsline{toc}{chapter}{\indexname}}%
%</scrreprt|scrbook>
  }}
%    \end{macrocode}
%  \end{macro}
%  \end{option}
%
% \subsubsection{Optionen f"ur den Satzspiegel}
%
%  \begin{option}{BCOR}
% \changes{v2.2a}{1995/01/25}{nun als Option verf"ugbar.}
% \changes{v2.2c}{1995/05/25}{nicht mehr im Kompatibilit"atsmodus.}
%  \begin{option}{DIV}
% \changes{v2.2a}{1995/01/25}{nun als Option verf"ugbar.}
% \changes{v2.2c}{1995/05/25}{nicht mehr im Kompatibilit"atsmodus.}
% Die Optionen |BCOR| und |DIV| m"ussen f"ur ihre Weiterleitung an das
% \emph{typearea}-package gesondert erkannt werden. Da die Optionen
% Parameter besitzen, k"onnen sie nur mit |\DeclareOption*| verarbeitet
% werden.
%    \begin{macrocode}
\if@compatibility\else
  \DeclareOption*{\expandafter\@BCOR\CurrentOption|}
\fi
%    \end{macrocode}
%  \end{option}
%  \end{option}
%
% \subsubsection{Optionenauswahl}
% \changes{v2.0e}{1994/09/04}{Standardoption \texttt{abstactoff} durch
%                             \texttt{abstractoff} ersetzt.}
% \changes{2.2f}{1995/06/14}{\cs{ExecuteOptions} von Leerzeichen u."a.
%                            befreit.}
% Es m"ussen die Standardoptionen festgelegt und alle Optionen ausgew"ahlt
% werden. Anschlie"send ist die Schriftgr"o"seneinstellung vorzunehmen und der
% Seitenspiegel mit Hilfe des |typearea|-packages zu berechnen.
%    \begin{macrocode}
\ExecuteOptions{11pt,onecolumn,final,headnosepline,footnosepline,bigheadings,%
%<scrartcl>oneside,abstractoff}
%<scrreprt>oneside,openany,abstractoff}
%<scrbook>twoside,openright}
\ProcessOptions
%<!scrbook>\input{size1\@ptsize.clo}
%<scrbook>\input{bk1\@ptsize.clo}
%    \end{macrocode}
% \changes{v2.4}{1996/02/25}{Es wird jetzt explizit nach einem aktuellen
%                            typearea verlangt.}
%    \begin{macrocode}
\RequirePackage{typearea}[1995/06/25]
%    \end{macrocode}
% \subsection{Einige Gr"o"sen}
% Einige Gr"o"sen sind festzulegen:
%    \begin{macrocode}
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\renewcommand*\baselinestretch{}
\setlength\parskip{0\p@ \@plus \p@}
\@lowpenalty   51
\@medpenalty  151
\@highpenalty 301
\setcounter{topnumber}{2}
\renewcommand*\topfraction{.7}
\setcounter{bottomnumber}{1}
\renewcommand*\bottomfraction{.3}
\setcounter{totalnumber}{3}
\renewcommand*\textfraction{.2}
\renewcommand*\floatpagefraction{.5}
\setcounter{dbltopnumber}{2}
\renewcommand*\dbltopfraction{.7}
\renewcommand*\dblfloatpagefraction{.5}
%    \end{macrocode}
% \subsection{Befehle f"ur den Kompatibilit"atsmodus}
%  \begin{macro}{\headincludeon}
%  \begin{macro}{\headincludeoff}
%  \begin{macro}{\headseplineon}
%  \begin{macro}{\headseplineoff}
%  \begin{macro}{\footincludeon}
%  \begin{macro}{\footincludeoff}
%  \begin{macro}{\footseplineon}
%  \begin{macro}{\footseplineoff}
% Da die classes des \textsf{KOMA-Script} Pakets nun auch im
% Kompatibilit"atsmodus verwendet werden k"onnen, ben"otigen wir einige
% Befehle, die es bei \textsf{Script 2.0} noch gab. Betroffen sind an dieser
% Stelle nur die Befehle f"ur die Kopf- und Fu"szeilentrennlinie und
% die Einbeziehung von Kopf- und Fu"szeilen in den Textbereich bei
% der Berechnung des Seitenspiegels.
% \changes{v2.0e}{1994/10/12}{Kopf- und Fu"szeilenhandling f"ur den
%                             Kompatibilit"atsmodus erg"anzt}
%    \begin{macrocode}
\if@compatibility
  \newcommand*\headincludeon{\@hincltrue}
  \newcommand*\headincludeoff{\@hinclfalse}
  \newcommand*\headseplineon{\@hsltrue \@hincltrue}
  \newcommand*\headseplineoff{\@hslfalse \@hinclfalse}
  \newcommand*\footincludeon{\@fincltrue}
  \newcommand*\footincludeoff{\@finclfalse}
  \newcommand*\footseplineon{\@fsltrue \@fincltrue}
  \newcommand*\footseplineoff{\@fslfalse \@finclfalse}
\fi
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \subsection{Kopf- und Fu"szeilendefinition}
%
%  \begin{macro}{\ps@plain}
%  \begin{macro}{\ps@headings}
%  \begin{macro}{\ps@myheadings}
% Es wird das Aussehen der Kopf- und Fu"szeilen f"ur die Standardseitenstile
% |empty|, |plain|, |headings| und |myheadings| festgelegt. Diese sind bei
% |scrartcl| abh"angig davon, ob es sich um einseitiges oder beidseitiges
% Layout handelt.
%
% Im Gegensatz zu den Seitenstilen der Standard-classes steht die
% Seitennummer beim \textsf{KOMA-Script} Paket immer in der Fu"szeile.
% Au"serdem sind Trennlinien zwischen Kopf- und Textbereich sowie zwischen
% Text- und Fu"sbereich m"oglich.
%
% Die Kopfzeile wird auch nicht mehr in Gro"sbuchstaben gewandelt.
%
% \changes{v2.0e}{1994/08/10}{Bei "`scrbook"' gibt es kein einseitiges
%                             Layout.}
% \changes{v2.3a}{1995/07/08}{Da bei "`book"' seit Version 1.2v die Option
%                             oneside wieder ein einseitiges Layout erzeugt,
%                             dieses wieder eingebaut.}
% \changes{v2.2a}{1995/02/07}{Bei "`scrbook"' und "`scrreprt"' Punkt
%                             hinter der section-Nummer entfernt.}
% \changes{v2.2c}{1995/05/25}{Punkt hinter der Kapitelnummer in der
%                             Kopfzeile entfernt.}
% \changes{v2.2c}{1995/05/25}{Nummern in der Kopfzeile auf CJK umgestellt.}
% \changes{v2.4f}{1996/10/08}{\cs{strut} in der Kopfzeile eingef"ugt.}
%    \begin{macrocode}
\if@twoside
 \def\ps@plain{\let\@mkboth\@gobbletwo
  \def\@evenhead{}%
  \def\@oddhead{}%
  \def\@evenfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3\p@ \fi
   \hb@xt@ \textwidth{{\pnumfont\thepage\hfil}}}}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3\p@ \fi
   \hb@xt@ \textwidth{{\pnumfont\hfil\thepage}}}}}
 \def\ps@headings{\let\@mkboth\markboth
  \def\@evenhead{\vbox{\hsize=\textwidth
   \hb@xt@ \textwidth{{\headfont\strut\leftmark\hfil}}%
   \if@hsl \vskip 1.5\p@ \hrule \fi}}
  \def\@oddhead{\vbox{\hsize=\textwidth
   \hb@xt@ \textwidth{{\headfont\hfil\strut\rightmark}}%
   \if@hsl \vskip 1.5\p@ \hrule \fi}}
  \def\@evenfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3\p@ \fi
   \hb@xt@ \textwidth{{\pnumfont\thepage\hfil}}}}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3\p@ \fi
   \hb@xt@ \textwidth{{\pnumfont\hfil\thepage}}}}%
%<*scrartcl>
  \def\sectionmark##1{%
   \markboth {\ifnum \c@secnumdepth >\z@%
    \sectionmarkformat\fi ##1}{}}
  \def\subsectionmark##1{%
   \markright {\ifnum \c@secnumdepth >\@ne%
    \subsectionmarkformat\fi ##1}}}
%</scrartcl>
%<*scrreprt|scrbook>
  \def\chaptermark##1{%
   \markboth {\ifnum \c@secnumdepth >\m@ne
%<scrbook>      \if@mainmatter
        \chaptermarkformat\fi
%<scrbook>      \fi
        ##1}{}}%
  \def\sectionmark##1{%
    \markright {\ifnum \c@secnumdepth >\z@
        \sectionmarkformat\fi
        ##1}}}
%</scrreprt|scrbook>
 \def\ps@myheadings{\let\@mkboth\@gobbletwo
  \def\@evenhead{\vbox{\hsize=\textwidth
   \hb@xt@ \textwidth{{\headfont\strut\leftmark\hfil}}
   \if@hsl \vskip 1.5\p@ \hrule \fi}}%
  \def\@oddhead{\vbox{\hsize=\textwidth
   \hb@xt@ \textwidth{{\headfont\hfil\strut\rightmark}}
   \if@hsl \vskip 1.5\p@ \hrule \fi}}%
  \def\@evenfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3\p@ \fi
   \hb@xt@ \textwidth{{\pnumfont\thepage\hfil}}}}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3\p@ \fi
   \hb@xt@ \textwidth{{\pnumfont\hfil\thepage}}}}%
%<!scrartcl>  \def\chaptermark##1{}
%<scrartcl>  \def\subsectionmark##1{}
  \def\sectionmark##1{}}
\else
 \def\ps@plain{\let\@mkboth\@gobbletwo
  \def\@evenhead{}%
  \def\@oddhead{}%
  \def\@evenfoot{}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3\p@ \fi
   \hb@xt@ \textwidth{{\pnumfont\hfil\thepage\hfil}}}}}
 \def\ps@headings{\let\@mkboth\markboth
  \def\@evenhead{}%
  \def\@oddhead{\vbox{\hsize=\textwidth
   \hb@xt@ \textwidth{{\headfont\hfil\strut\rightmark\hfil}}
   \if@hsl \vskip 1.5\p@ \hrule \fi}}%
  \def\@evenfoot{}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3\p@ \fi
   \hb@xt@ \textwidth{{\pnumfont\hfil\thepage\hfil}}}}%
%<*scrartcl>
%    \end{macrocode}
% \changes{v2.1b}{1994/12/31}{Im einseitigen Seitenstil
%                             \cs{markboth} durch
%                             \cs{markright} ersetzt.}
% \changes{v2.2a}{1995/02/07}{Im einseitigen Seitenstil
%                             bei "`scrartcl"' und \texttt{oneside}
%                             \cs{subsectionmark} eingef"ugt.}
% \changes{v2.2a}{1995/02/07}{Im einseitigen Seitenstil
%                             bei "`scrreprt"' und \texttt{oneside}
%                             \cs{sectionmark} eingef"ugt.}
%    \begin{macrocode}
  \def\subsectionmark##1{}
  \def\sectionmark##1{\markright {\ifnum \c@secnumdepth >\z@
      \sectionmarkformat\fi ##1}}}
%</scrartcl>
%    \end{macrocode}
% \changes{v2.0e}{1994/08/17}{Im einseitigen Seitenstil
%                             \cs{markboth} durch
%                             \cs{markright} ersetzt.}
%    \begin{macrocode}
%<*scrreprt|scrbook>
  \def\sectionmark##1{}
  \def\chaptermark##1{\markright {\ifnum \c@secnumdepth >\m@ne
%<scrbook>   \if@mainmatter
      \chaptermarkformat\fi
%<scrbook>   \fi
    ##1}}}
%</scrreprt|scrbook>
 \def\ps@myheadings{\let\@mkboth\@gobbletwo
  \def\@evenhead{}%
  \def\@oddhead{\vbox{\hsize=\textwidth
   \hb@xt@ \textwidth{{\headfont\hfil\strut\rightmark\hfil}}
   \if@hsl \vskip 1.5\p@ \hrule \fi}}%
  \def\@evenfoot{}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3\p@ \fi
   \hb@xt@ \textwidth{{\pnumfont\hfil\thepage\hfil}}}}%
%<scrartcl>  \def\subsectionmark##1{}%
%<!scrartcl>  \def\chaptermark##1{}%
  \def\sectionmark##1{}}
\fi
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \subsection{Titel}
%
%  \begin{macro}{\extratitle}
%  \begin{macro}{\titlehead}
%  \begin{macro}{\subject}
%  \begin{macro}{\publishers}
%  \begin{macro}{\uppertitleback}
%  \begin{macro}{\lowertitleback}
%  \begin{macro}{\dedication}
% Da der Titel im \textsf{KOMA-Script} Paket wesentlich mehr
% Angaben erlaubt als bei den Standard-classes, gibt es nat"urlich
% auch einige Befehle, mit denen diese gesetzt werden k"onnen.
%
% Alle zus"atzlichen Angaben sind optional und k"onnen auch weggelassen
% werden. In diesem Fall werden Leerfelder verwendet. Bis auf |\subject|
% sind alle Zusatzbefehle |\long| deklariert.
%
%    \begin{macrocode}
\newcommand*{\@extratitle}{}
\newcommand{\extratitle}[1]{\gdef\@extratitle{#1}}
\newcommand*{\@titlehead}{}
\newcommand{\titlehead}[1]{\gdef\@titlehead{#1}}
\newcommand*{\@subject}{}
\newcommand*{\subject}[1]{\gdef\@subject{#1}}
\newcommand*{\@publishers}{}
\newcommand{\publishers}[1]{\gdef\@publishers{#1}}
\newcommand*{\@uppertitleback}{}
\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{#1}}
\newcommand*{\@lowertitleback}{}
\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{#1}}
\newcommand*{\@dedication}{}
\newcommand{\dedication}[1]{\gdef\@dedication{#1}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\next@tpage}
% \changes{v2.3b}{1995/07/24}{\cs{null} entfernt.}
% \changes{v2.3g}{1996/01/14}{\cs{newpage} durch \cs{clearpage} ersetzt.}
%    \begin{macrocode}
\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}}
%    \end{macrocode}
% Innerhalb eines Titels auf die n"achste Seite umschalten.
%  \end{macro}
%  \begin{macro}{\maketitle}
% Anschlie"send wird der Titel generiert.
% Bei |scrartcl| mu"s unterschieden werden, ob der Titel auf einer eigenen
% Titelseite oder als Seitenkopf erstellt werden soll. Der
% \textsf{KOMA-Script}-Titel ist u.U. sehr gro"s. In diesem Fall
% sollte eigentlich immer eine Titelseite verwendet werden.
% \changes{v2.1a}{1994/10/29}{Das Hilfskonstrukt \cs{@maketitle}
%                             wurde aus der Unterscheidung
%                             herausgenommen. Dies ist f"ur
%                             den Fall, da"s \cs{maketitle}
%                             von einem package "uberladen wird.}
% \changes{v2.3a}{1995/07/08}{\texttt{plus} durch \cs{@plus} ersetzt.}
% \changes{v2.3a}{1995/07/08}{\texttt{fill} durch \cs{fill} ersetzt.}
% \changes{v2.3d}{1995/08/19}{\cs{fill} durch \texttt{fill} ersetzt.}
% \changes{v2.3a}{1995/07/08}{\cs{vfil} durch \cs{vfill} ersetzt.}
% \changes{v2.3b}{1995/07/24}{Umbruch bei \cs{@extratitle} in der
%                             beidseitigen Titelseite korrigiert.}
% \changes{v2.3g}{1996/01/14}{\cs{footnote} funktioniert nun auch im Titel.}
% \changes{v2.4}{1996/02/25}{\cs{footnote} funktioniert nun wirklich im
%                            Titel.}
% \changes{v2.4h}{1996/11/09}{Egal ob der Titel auf eine Extraseite kommt
%                             oder nicht, \cs{@title} wird mit \cs{sectfont}
%                             gesetzt, wobei die Gr"o"se neuerdings danach
%                             eingestellt wird.}
%    \begin{macrocode}
\if@titlepage
    \newcommand*\maketitle[1][1]{\begin{titlepage}%
    \setcounter{page}{#1}
    \let\footnotesize\small
    \let\footnoterule\relax
    \let\footnote\thanks
    \ifx\@extratitle\@empty \else
        \noindent\@extratitle\next@tpage\cleardoublepage\thispagestyle{empty}
    \fi
    \ifx\@titlehead\@empty \else
        \noindent\begin{minipage}[t]{\textwidth}
        \@titlehead
        \end{minipage}\par
    \fi
    \null\vfill
    \begin{center}
    \ifx\@subject\@empty \else
        {\Large \@subject \par}
        \vskip 3em
    \fi
    {\sectfont\huge \@title\par}
    \vskip 3em
    {\Large \lineskip 0.75em
    \begin{tabular}[t]{c}
        \@author
    \end{tabular}\par}
    \vskip 1.5em
    {\Large \@date \par}
    \vskip \z@ \@plus3fill
    {\Large \@publishers \par}
    \vskip 3em
    \end{center}\par
    \@thanks
    \vfill\null
    \if@twoside\next@tpage
        \noindent\begin{minipage}[t]{\textwidth}
        \@uppertitleback
        \end{minipage}\par
        \vfill
        \noindent\begin{minipage}[b]{\textwidth}
        \@lowertitleback
        \end{minipage}
    \fi
    \ifx\@dedication\@empty \else
        \next@tpage\null\vfill
        {\centering \Large \@dedication \par}
        \vskip \z@ \@plus3fill
        \if@twoside \next@tpage\cleardoublepage \fi
    \fi
    \end{titlepage}
    \setcounter{footnote}{0}%
%    \end{macrocode}
% \changes{v2.3g}{1996/01/14}{Verwendung von \cs{global}\cs{let} statt
%                             \cs{gdef}, um Speicher zu sparen.}
% \changes{v2.3g}{1996/01/14}{\cs{@date} und \cs{title} u."a. ebenfalls
%                             l"oschen, um Speicher zu sparen.}
%    \begin{macrocode}
    \global\let\thanks\relax
    \global\let\maketitle\relax
    \global\let\@thanks\@empty
    \global\let\@author\@empty
    \global\let\@date\@empty
    \global\let\@title\@empty
    \global\let\@extratitle\@empty
    \global\let\@titlehead\@empty
    \global\let\@subject\@empty
    \global\let\@publishers\@empty
    \global\let\@uppertitleback\@empty
    \global\let\@lowertitleback\@empty
    \global\let\@dedication\@empty
    \global\let\author\relax
    \global\let\title\relax
    \global\let\extratitle\relax
    \global\let\titlehead\relax
    \global\let\subject\relax
    \global\let\publishers\relax
    \global\let\uppertitleback\relax
    \global\let\lowertitleback\relax
    \global\let\dedication\relax
    \global\let\date\relax
    \global\let\and\relax}
\else
%    \end{macrocode}
% \changes{v2.3a}{1995/07/08}{Verwendung von \cs{@makefnmark} in
%                             \cs{@makefntext}.}
% \changes{v2.3a}{1995/07/08}{Definition von \cs{@makefnmark} und
%                             \cs{@makefntext} unabh"angig von math
%                             definiert.}
% \changes{v2.3e}{1995/08/30}{Optionales Argument bei der einseitigen
%                             Version erlauben und ignorieren.}
% \changes{v2.3g}{1996/01/14}{Mehrfach \cs{null} bei \cs{next@tpage}
%                             erg"anzt.}
%    \begin{macrocode}
     \newcommand*\maketitle[1][1]{\par
       \@tempcnta=#1\relax\ifnum\@tempcnta=1\else
%<scrartcl>         \ClassWarning{scrartcl}
%<scrreprt>         \ClassWarning{scrreprt}
%<scrbook>         \ClassWarning{scrbook}
                      {Optional argument of \string\maketitle\space ignored
                       at\MessageBreak
                       notitlepage-mode}\fi
       \begingroup
         \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
         \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
         \long\def\@makefntext##1{\parindent 1em\noindent
                 \hb@xt@1.8em{\hss\@makefnmark}##1}%
         \if@twocolumn
           \ifnum \col@number=\@ne
             \@maketitle
           \else
             \twocolumn[\@maketitle]%
           \fi
         \else
           \newpage
           \global\@topnum\z@   % Prevents figures from going at top of page.
           \@maketitle
         \fi
         \thispagestyle{plain}\@thanks
       \endgroup
       \setcounter{footnote}{0}%
       \let\thanks\relax
       \let\maketitle\relax
       \let\@maketitle\relax
%    \end{macrocode}
% \changes{v2.3g}{1996/01/14}{Verwendung von \cs{global}\cs{let} statt
%                             \cs{gdef}, um Speicher zu sparen.}
% \changes{v2.3g}{1996/01/14}{\cs{@date} und \cs{title} u."a. ebenfalls
%                             l"oschen, um Speicher zu sparen.}
%    \begin{macrocode}
       \global\let\@thanks\@empty
       \global\let\@author\@empty
       \global\let\@date\@empty
       \global\let\@title\@empty
       \global\let\@extratitle\@empty
       \global\let\@titlehead\@empty
       \global\let\@subject\@empty
       \global\let\@publishers\@empty
       \global\let\@uppertitleback\@empty
       \global\let\@lowertitleback\@empty
       \global\let\@dedication\@empty
       \global\let\author\relax
       \global\let\title\relax
       \global\let\extratitle\relax
       \global\let\titlehead\relax
       \global\let\subject\relax
       \global\let\publishers\relax
       \global\let\uppertitleback\relax
       \global\let\lowertitleback\relax
       \global\let\dedication\relax
       \global\let\date\relax
       \global\let\and\relax}
\fi
\def\@maketitle{%
    \clearpage
    \let\footnote\thanks
    \ifx\@extratitle\@empty \else
        \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi
    \fi
    \ifx\@titlehead\@empty \else
        \noindent\begin{minipage}[t]{\textwidth}
        \@titlehead
        \end{minipage}\par
    \fi
    \null
    \vskip 2em%
    \begin{center}%
    \ifx\@subject\@empty \else
        {\Large \@subject \par}
        \vskip 1.5em
    \fi
    {\sectfont\huge \@title \par}%
    \vskip 1.5em%
    {\Large
      \lineskip .5em%
      \begin{tabular}[t]{c}%
        \@author
      \end{tabular}\par}%
    \vskip 1em%
    {\Large \@date \par}%
    \vskip \z@ \@plus 1em
    {\Large \@publishers \par}
    \ifx\@dedication\@empty \else
        \vskip 2em
        {\Large \@dedication \par}
    \fi
  \end{center}%
  \par
  \vskip 2em}
%    \end{macrocode}
%  \end{macro}
%
% \subsection{Kapiteleinteilung}
%
% \changes{v2.3h}{1996/01/20}{Gr"o"senbefehle in den "Uberschriften
%                             variabel gestaltet.}
%  \begin{macro}{\part}
% \changes{v2.1c}{1995/01/17}{Zeichenkette "`markboth"' durch
%                             Befehl \cs{markboth} ersetzt.}
% \changes{v2.2c}{1995/05/25}{Part-Ausgabe auf CJK umgestellt.}
% \changes{v2.3c}{1995/08/06}{Alternative Numerierung bei r"omischer
%                             Part-Numerierung.}
% \changes{v2.3d}{1995/08/19}{Alternative Numerierung korrigiert.}
%  \begin{macro}{\chapter}
%  \begin{macro}{\addchap}
% \changes{v2.0e}{1994/08/10}{\cs{sectdef} durch \cs{secdef} ersetzt.}
% \changes{v2.0e}{1994/08/10}{\cs{addcontensline} durch
%                             \cs{addcontentsline} ersetzt.}
% \changes{v2.0e}{1994/08/10}{\cs{chaptermark} durch
%                             \cs{markboth} ersetzt.}
% \changes{v2.0e}{1994/10/12}{\cs{markboth} durch \cs{chaptermark}
%                             ersetzt.}
% \changes{v2.0e}{1994/08/10}{\cs{@makechapterhead} durch
%                             \cs{@makeschapterhead} ersetzt.}
% \changes{v2.0e}{1994/08/10}{\cs{afterheadings} durch
%                             \cs{@afterheading} ersetzt.}
% \changes{v2.1a}{1994/10/29}{Argument von \cs{chaptermark} entfernt bei
%                             "`scrbook"'.}
% \changes{v2.0e}{1994/10/12}{Mehrfach \cs{markboth} durch
%                             \cs{sectionmark} ersetzt.}
% \changes{v2.2b}{1995/03/20}{\cs{chaptermark} durch \cs{@mkboth}
%                             ersetzt.}
%  \begin{macro}{\addsec}
% \changes{v2.0e}{1994/10/12}{Mehrfach \cs{markboth} durch
%                             \cs{sectionmark} ersetzt.}
% \changes{v2.2b}{1995/03/20}{\cs{sectionmark} durch \cs{@mkboth}
%                             ersetzt.}
% \changes{v2.3h}{1995/01/21}{Jetzt auch bei scrbook und scrreprt.}
% \changes{v2.4g}{1996/11/04}{\cs{section*} vorgezogen, damit dadurch
%                             provozierte Seitenumbr"uche im
%                             Inhaltsverzeichnis ber"ucksichtigt werden.}
%  \begin{macro}{\section}
%  \begin{macro}{\subsection}
%  \begin{macro}{\subsubsection}
% \changes{v2.3d}{1995/08/19}{\cs{subsubsection} wird bei \texttt{scrartcl}
%                             nun ebenfalls numeriert und ins
%                             Inhaltsverzeichnis geschrieben.}
%  \begin{macro}{\paragraph}
%  \begin{macro}{\subparagraph}
%  \begin{macro}{\minisec}
% Die Befehle und das Aussehen der Kapiteleinteilung werden definiert. Im
% Gegensatz zu den Standard-classes gibt es im \textsf{KOMA-Script} Paket
% \emph{keine} Titel-W"orter in den Kapitel"uberschriften, gleich welcher
% Stufe.
%
% In |scrartcl| beginnt die erste Stufe mit |\section|, die letzte Stufe ist
% |\subparagraph|. In |scrreprt| und |scrbook| beginnt es mit |\chapter| und
% endet mit |\paragraph|. Dar"uber hinaus gibt es bei |scrartcl| noch den
% zus"atzlichen Befehl |\addsec|. In |scrreprt| und |scrbook| existiert
% stattdessen der analoge Befehl |\addchap|.
%
% In allen drei Haupt-classes gibt es den zus"atzlichen Einteilungsbefehl
% |\minisec|, der nur eine kleine "Uberschrift ohne Numerierung oder Aufnahme
% in Inhaltsverzeichnis oder Kopfzeile bietet.
%
%  \begin{macro}{\numberline}
% \changes{v2.3c}{1995/08/06}{\cs{numberline} umdefiniert.}
% Dieses Makro mu"s umdefiniert werden, um Duden Regel~5 und Regel~6 zu
% implementieren.
%    \begin{macrocode}
\renewcommand*{\numberline}[1]{%
  \hb@xt@\@tempdima{#1\if@altsecnumformat.\fi\hfil}}
%    \end{macrocode}
%  \end{macro}
%    \begin{macrocode}
%<!scrartcl>\newcommand*\chaptermark[1]{}
%<!scrartcl>\setcounter{secnumdepth}{2}
%<scrartcl>\setcounter{secnumdepth}{3}
\newcounter {part}
%<!scrartcl>\newcounter {chapter}
%<scrartcl>\newcounter {section}
%<!scrartcl>\newcounter {section}[chapter]
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
\newcounter {subparagraph}[paragraph]
\renewcommand*\thepart          {\@Roman\c@part}
\let\@thepart\thepart
\newcommand*\@maybeasf{%
  \ifx\@thepart\thepart\global\@altsecnumformattrue\fi}
%<!scrartcl>\renewcommand*\thechapter       {\@arabic\c@chapter}
%<!scrartcl>\renewcommand*\thesection       {\thechapter.\@arabic\c@section}
%<scrartcl>\renewcommand*\thesection       {\@arabic\c@section}
\renewcommand*\thesubsection    {\thesection.\@arabic\c@subsection}
\renewcommand*\thesubsubsection {\thesubsection.\@arabic\c@subsubsection}
\renewcommand*\theparagraph     {\thesubsubsection.\@arabic\c@paragraph}
\renewcommand*\thesubparagraph  {\theparagraph.\@arabic\c@subparagraph}
%<!scrartcl>\newcommand*\@chapapp{\chaptername}
%<*scrartcl>
\newcommand\part{\par
   \addvspace{4ex}%
   \@afterindentfalse
   \secdef\@part\@spart}
%</scrartcl>
%<*scrbook>
%    \end{macrocode}
%  \begin{macro}{\frontmatter}
% \changes{v2.4e}{1996/07/02}{Option \texttt{openany} beachten.}
%    \begin{macrocode}
\newcommand*\frontmatter{\if@openright\cleardoublepage\else\clearpage\fi
  \@mainmatterfalse\pagenumbering{roman}}
%    \end{macrocode}
%  \end{macro}
%  \begin{macro}{\mainmatter}
% \changes{v2.4e}{1996/07/02}{Option \texttt{openany} beachten.}
%    \begin{macrocode}
\newcommand*\mainmatter{\if@openright\cleardoublepage\else\clearpage\fi
  \@mainmattertrue\pagenumbering{arabic}}
%    \end{macrocode}
%  \end{macro}
%  \begin{macro}{\mainmatter}
%    \begin{macrocode}
\newcommand*\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
      \@mainmatterfalse}
%    \end{macrocode}
%  \end{macro}
%  \begin{macro}{\part}
% \changes{v2.4e}{1996/07/02}{Option \texttt{openany} beachten.}
%    \begin{macrocode}
%</scrbook>
%<*scrreprt|scrbook>
\newcommand\part{\if@openright\cleardoublepage\else\clearpage\fi
                 \thispagestyle{plain}%
                 \if@twocolumn
                     \onecolumn
                     \@tempswatrue
                   \else
                     \@tempswafalse
                 \fi
%    \end{macrocode}
% \changes{v2.3g}{1996/01/14}{\cs{hbox} durch \cs{null} ersetzt.}
%    \begin{macrocode}
                 \null\vfil
                 \secdef\@part\@spart}
%</scrreprt|scrbook>
\def\@part[#1]#2{%
%<*scrartcl>
    \ifnum \c@secnumdepth >\m@ne
      \refstepcounter{part}\@maybeasf%
      \addcontentsline{toc}{part}{\thepart\if@altsecnumformat.\fi%
        \hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    {\parindent \z@ \raggedright
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >\m@ne
%    \end{macrocode}
% \changes{v2.4b}{1996/03/29}{\cs{size@partnumer} durch
%                             \cs{size@partnumber} ersetzt.}
%    \begin{macrocode}
       \size@partnumber\sectfont\partformat
       \par\nobreak
     \fi
     \size@part\sectfont #2%
     \markboth{}{}\par}%
     \nobreak
     \vskip 3ex
    \@afterheading}
%</scrartcl>
%<*scrreprt|scrbook>
    \ifnum \c@secnumdepth >-2\relax
      \refstepcounter{part}\@maybeasf%
      \addcontentsline{toc}{part}{\thepart\if@altsecnumformat.\fi%
        \hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    \chaptermark{}
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >-2\relax
       \size@partnumber\sectfont\partformat
       \par
       \vskip 20\p@
     \fi
     \size@part\sectfont #2\par}%
    \@endpart}
%</scrreprt|scrbook>
\def\@spart#1{%
%<*scrartcl>
    {\parindent \z@ \raggedright
     \interlinepenalty \@M
     \normalfont
     \size@part\sectfont #1\par}%
     \nobreak
     \vskip 3ex
    \@afterheading}
%</scrartcl>
%<*scrreprt|scrbook>
    {\centering
     \interlinepenalty \@M
     \normalfont
     \size@part\sectfont #1\par}%
    \@endpart}
%    \end{macrocode}
% \changes{v2.3g}{1996/01/14}{\cs{@endpart} wird f"ur scrartcl nicht mehr
%                             definiert.}
%    \begin{macrocode}
\def\@endpart{\vfil\newpage
              \if@twoside
                \null%
                \thispagestyle{empty}%
                \newpage
              \fi
              \if@tempswa
                \twocolumn
              \fi}
\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
%<scrbook>                       \if@mainmatter
                         \refstepcounter{chapter}%
                         \typeout{\@chapapp\space\thechapter.}%
                         \addcontentsline{toc}{chapter}%
                                   {\protect\numberline{\thechapter}#1}%
%<scrbook>                       \else
%<scrbook>                         \addcontentsline{toc}{chapter}{#1}\fi
                    \else
                      \addcontentsline{toc}{chapter}{#1}
                    \fi
                    \chaptermark{#1}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                      \@topnewpage[\@makechapterhead{#2}]%
                    \else
                      \@makechapterhead{#2}%
                      \@afterheading
                    \fi}
\def\@makechapterhead#1{\chapterheadstartvskip%
  {\size@chapter{\sectfont
    \@hangfrom{\ifnum \c@secnumdepth >\m@ne%
%<scrbook>                 \if@mainmatter \chapterformat\fi\fi}%
%<!scrbook>                  \chapterformat\fi}%
              {\raggedsection \interlinepenalty \@M #1\par}}
    \nobreak\chapterheadendvskip
  }}
\def\@schapter#1{\if@twocolumn
                   \@topnewpage[\@makeschapterhead{#1}]%
                 \else
                   \@makeschapterhead{#1}%
                   \@afterheading
                 \fi}
\def\@makeschapterhead#1{\chapterheadstartvskip%
  {\parindent \z@ \raggedsection
    \normalfont
    \size@chapter\sectfont #1\par
    \nobreak\chapterheadendvskip
  }}
%</scrreprt|scrbook>
\newcommand\addsec{\secdef\@addsec\@saddsec}
\def\@addsec[#1]#2{\section*{#2}\addcontentsline{toc}{section}{#1}
 \if@twoside \@mkboth{#1}{}\else \@mkboth{#1}{#1}\fi}
\def\@saddsec#1{\section*{#1}\@mkboth{}{}}
%<*scrreprt|scrbook>
\newcommand\addchap{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@addchap\@saddchap}
\def\@addchap[#1]#2{\typeout{#2}
                    \addcontentsline{toc}{chapter}{#1}%
                    \if@twoside\@mkboth{#1}{}\else\@mkboth{}{#1}\fi
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                         \@topnewpage[\@makeschapterhead{#2}]%
                    \else
                         \@makeschapterhead{#2}%
                         \@afterheading
                    \fi}
\def\@saddchap#1{\@mkboth{}{}
                 \if@twocolumn
                      \@topnewpage[\@makeschapterhead{#1}]%
                 \else
                      \@makeschapterhead{#1}%
                      \@afterheading
                 \fi}
%</scrreprt|scrbook>
\newcommand\section{\@startsection{section}{1}{\z@}%
  {-3.5ex \@plus -1ex \@minus -.2ex}%
  {2.3ex \@plus.2ex}%
  {\raggedsection\normalfont\size@section\sectfont}}
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\raggedsection\normalfont\size@subsection\sectfont}}
\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\raggedsection\normalfont\size@subsubsection\sectfont}}
\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  {3.25ex \@plus1ex \@minus.2ex}%
  {-1em}%
  {\raggedsection\normalfont\size@paragraph\sectfont}}
\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
  {3.25ex \@plus1ex \@minus .2ex}%
  {-1em}%
  {\raggedsection\normalfont\size@subparagraph\sectfont}}
\newcommand\minisec[1]{\@afterindentfalse \vskip 1.5ex
  {\parindent \z@ \raggedsection\sectfont #1\par\nobreak}%
  \@afterheading}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\sectionragged}
% \changes{v2.3h}{1996/01/20}{"Uberschriften werden \cs{raggedsection}
%                             gesetzt.}
% \changes{v2.3h}{1996/01/20}{\cs{raggedsection} ist als \cs{raggedright}
%                             voreingestellt.}
\let\raggedsection\raggedright
%  \end{macro}
%
% \subsection{Listen-Umgebungen}
%
% \subsubsection{R"ander}
%
% F"ur die Listenumgebungen in verschiedenen Stufen m"ussen R"ander
% definiert werden.
%    \begin{macrocode}
\if@twocolumn
  \setlength\leftmargini  {2em}
\else
  \setlength\leftmargini  {2.5em}
\fi
\setlength\leftmarginii  {2.2em}
\setlength\leftmarginiii {1.87em}
\setlength\leftmarginiv  {1.7em}
\if@twocolumn
  \setlength\leftmarginv  {.5em}
  \setlength\leftmarginvi {.5em}
\else
  \setlength\leftmarginv  {1em}
  \setlength\leftmarginvi {1em}
\fi
\setlength\leftmargin    {\leftmargini}
\setlength  \labelsep  {.5em}
\setlength  \labelwidth{\leftmargini}
\addtolength\labelwidth{-\labelsep}
\@beginparpenalty -\@lowpenalty
\@endparpenalty   -\@lowpenalty
\@itempenalty     -\@lowpenalty
%    \end{macrocode}
%
% \subsubsection{Marken}
%
% F"ur die numerierten Listenumgebungen m"ussen Marken bzw. Numerierungen
% festgelegt werden.
%    \begin{macrocode}
\renewcommand*\theenumi{\@arabic\c@enumi}
\renewcommand*\theenumii{\@alph\c@enumii}
\renewcommand*\theenumiii{\@roman\c@enumiii}
\renewcommand*\theenumiv{\@Alph\c@enumiv}
\newcommand*\labelenumi{\theenumi.}
\newcommand*\labelenumii{(\theenumii)}
\newcommand*\labelenumiii{\theenumiii.}
\newcommand*\labelenumiv{\theenumiv.}
\renewcommand*\p@enumii{\theenumi}
\renewcommand*\p@enumiii{\theenumi(\theenumii)}
\renewcommand*\p@enumiv{\p@enumiii\theenumiii}
\newcommand*\labelitemi{$\m@th\bullet$}
\newcommand*\labelitemii{\normalfont\bfseries --}
\newcommand*\labelitemiii{$\m@th\triangleright$}
\newcommand*\labelitemiv{$\m@th\cdot$}
%    \end{macrocode}
%
% \subsubsection{Definition der Umgebungen}
%
%  \begin{environment}{description}
% Die |description|-Umgebung dient der Beschreibung von einzelnen
% Begriffen. Der Begriff aus dem optionalen Argument des |\item|-Befehls
% wird in einem speziellen Font, dem |descfont|, gesetzte.
%    \begin{macrocode}
\newenvironment{description}
               {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                        \let\makelabel\descriptionlabel}}
               {\endlist}
\newcommand*{\descriptionlabel}[1]{\hspace\labelsep
                                \descfont #1}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{labeling}
% Die |labeling|-Umgebung ist eine Erweiterung des \textsf{Script} Pakets.
% Sie erwartet ein optionales und ein normales Argument. Das optionale
% Argument beschreibt einen speziellen Trenntext zwischen |\item|-Marke und
% |\item|-Beschreibung. Das eigentliche Argument wird f"ur die Ermittlung
% der Einr"uckung des Beschreibungstextes bzw. des Trenntextes ben"otigt.
%    \begin{macrocode}
\newenvironment{labeling}[2][]
  {\def\sc@septext{#1}
   \list{}{\settowidth{\labelwidth}{#2#1}
     \leftmargin\labelwidth \advance\leftmargin by \labelsep
     \let\makelabel\labelinglabel}}
  {\endlist}
\newcommand\labelinglabel[1]{#1\hfil\sc@septext}
%    \end{macrocode}
%  \end{environment}
%
% \changes{v2.1a}{1994/10/29}{\texttt{abstract}-Environment verschoben.}
%  \begin{environment}{verse}
% \changes{v2.3g}{1996/01/14}{\cs{item} mu"s keine "`[]"'-Klammern mehr
%                             verarbeiten.}
% Die Verse-Umgebung ist f"ur Zitate in Gedichtform und "ahnliches gedacht.
%    \begin{macrocode}
\newenvironment{verse}
               {\let\\=\@centercr
                \list{}{\itemsep      \z@
                        \itemindent   -1.5em%
                        \listparindent\itemindent
                        \rightmargin  \leftmargin
                        \advance\leftmargin 1.5em}%
                \item\relax}
               {\endlist}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{quotation}
% \changes{v2.3g}{1996/01/14}{\cs{item} mu"s keine "`[]"'-Klammern mehr
%                             verarbeiten.}
%  \begin{environment}{quote}
% \changes{v2.3g}{1996/01/14}{\cs{item} mu"s keine "`[]"'-Klammern mehr
%                             verarbeiten.}
% Die |quotation|- und die |quote|-Umgebung erlauben rechts und links
% einger"uckte Passagen. Abs"atze werden entweder in der ersten Zeile
% zus"atzlich einger"uckt oder durch vertikalen Abstand markiert.
%    \begin{macrocode}
\newenvironment{quotation}
               {\list{}{\listparindent 1em%
                        \itemindent    \listparindent
                        \rightmargin   \leftmargin
                        \parsep        \z@ \@plus\p@}%
                \item\relax}
               {\endlist}
\newenvironment{quote}
               {\list{}{\rightmargin\leftmargin}%
                \item\relax}
               {\endlist}
%    \end{macrocode}
%  \end{environment}
%  \end{environment}
%
% \subsection{Abstract (Zusammenfassung)}
%  \begin{environment}{abstract}
% |scrartcl| und |scrreprt| bieten die M"oglichkeit einer Zusammenfassung,
% eines sogenannten Abstracts. Wenn eine Titelseite verlangt wurde,
% wird auch die Zusammenfassung auf eine eigene Seite gesetzt.
%
% |scrbook| kennt kein Abstract.
% \changes{v2.3a}{1995/07/08}{\cs{@endparpenalty} zur Verhinderung eines
%                             Seitenumbruchs nach dem Abstract-Kopf
%                             eingef"ugt.}
% \changes{v2.3g}{1996/01/14}{\cs{@beginparpenalty} zur Verhinderung eines
%                             Seitenumbruchs vor dem Abstract-Kopf
%                             eingef"ugt.}
%    \begin{macrocode}
%<*!scrbook>
\if@titlepage
 \newenvironment{abstract}{%
     \titlepage
     \null\vfil
     \@beginparpenalty\@lowpenalty
     \if@abstrt
     \begin{center}
       \sectfont \abstractname
       \@endparpenalty\@M
     \end{center}\fi}
    {\par\vfil\null\endtitlepage}
\else
 \newenvironment{abstract}{%
     \if@twocolumn\if@abstrt
       \section*{\abstractname}\fi%
     \else
       \if@abstrt
       \small
       \begin{center}%
         {\sectfont \abstractname\vspace{-.5em}\vspace{\z@}}%
       \end{center}\fi%
       \quotation
     \fi}
     {\if@twocolumn\else\endquotation\fi}
\fi
%</!scrbook>
%    \end{macrocode}
%  \end{environment}
%
% \subsection{Umgebung f"ur die Titelseite}
%
%  \begin{environment}{titlepage}
% Die Titelseite bedarf ebenfalls einer gesonderter Umgebung. Beim
% zweispaltigen Layout soll die Titelseite z.B. einspaltig gedruckt werden.
%    \begin{macrocode}
\newenvironment{titlepage}
    {%
%<!scrartcl>      \cleardoublepage
      \if@twocolumn
        \@restonecoltrue\onecolumn
      \else
        \@restonecolfalse\newpage
      \fi
      \thispagestyle{empty}%
      \if@compatibility
        \setcounter{page}{0}
      \fi}%
    {\if@restonecol\twocolumn \else \newpage \fi
    }
%    \end{macrocode}
%  \end{environment}
%
% \subsection{Randmarkierung}
%  \begin{macro}{\marginline}
% Das \textsf{Script} Paket stellt zus"atzlich ein Randzeilenmakro zur
% Verf"ugung, das je nach gerader oder ungerader Seite in doppelseitigen
% Layout rechts- oder linksb"undig gesetzt werden mu"s.
%    \begin{macrocode}
\newcommand\marginline[1]{\marginpar%
  {\if@twoside \ifodd\c@page \raggedright \else \raggedleft \fi
   \else \raggedright \fi #1}}
%    \end{macrocode}
%  \end{macro}
%
% \subsection{Anhang}
%  \begin{macro}{\appendix}
% Wird der Anhang aktiviert, so werden Kapitel zuk"unftig mit Buchstaben
% "`numeriert"'.
% \changes{v2.2d}{1995/05/28}{\texttt{scrartcl} ben"otigt keinen Z"ahler
%                             f"ur chapter.}
% \changes{v2.3c}{1995/08/06}{Alternative Numerierung bei Verwendung
%                             eines Anhangs.}
%    \begin{macrocode}
\newcommand*\appendix{\par\global\@altsecnumformattrue
%<*scrartcl>
  \setcounter{section}{0}%
  \setcounter{subsection}{0}%
  \renewcommand*\thesection{\@Alph\c@section}}
%</scrartcl>
%<*scrreprt|scrbook>
  \setcounter{chapter}{0}%
  \setcounter{section}{0}%
  \renewcommand*\@chapapp{\appendixname}%
  \renewcommand*\thechapter{\@Alph\c@chapter}}
%</scrreprt|scrbook>
%    \end{macrocode}
%  \end{macro}
%
% \subsection{Flie"sumgebungen}
%
% F"ur die Flie"sumgebungen m"ussen verschiedene Konstanten definiert werden,
% die Aufteilung zwischen Text und Flie"sumgebung und "ahnliches regeln.
%
%  \begin{environment}{figure}
% \changes{v2.2c}{1995/05/25}{Abbildungsausgabe auf CJK umgestellt.}
% Zun"achst werden "`figures"', also Abbildungen behandelt.
%    \begin{macrocode}
\setlength\arraycolsep{5\p@}
\setlength\tabcolsep{6\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
\setlength\tabbingsep{\labelsep}
\skip\@mpfootins = \skip\footins
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
%<!scrartcl>\@addtoreset{equation}{chapter}
\renewcommand*\theequation{%
%<!scrartcl>                          \thechapter.%
                          \@arabic\c@equation}
%<!scrartcl>\newcounter{figure}[chapter]
%<scrartcl>\newcounter{figure}
\renewcommand*\thefigure{%
%<!scrartcl>                        \thechapter.%
                        \@arabic\c@figure}
\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figureformat}
\newenvironment{figure}
               {\@float{figure}}
               {\end@float}
\newenvironment{figure*}
               {\@dblfloat{figure}}
               {\end@dblfloat}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{table}
% \changes{v2.2c}{1995/05/25}{Tabellenausgabe auf CJK umgestellt.}
% Auch verschiebbare Tabellen sind m"oglich:
%    \begin{macrocode}
%<scrartcl>\newcounter{table}
%<!scrartcl>\newcounter{table}[chapter]
\renewcommand*\thetable{%
%<!scrartcl>                       \thechapter.%
                       \@arabic\c@table}
\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{\tableformat}
\newenvironment{table}
               {\@float{table}}
               {\end@float}
\newenvironment{table*}
               {\@dblfloat{table}}
               {\end@dblfloat}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{macro}{\caption}
% \changes{v2.2c}{1995/05/25}{Flie"stitel auf CJK umgestellt.}
% Es ist m"oglich, die Flie"sumgebungen mit einem Titel und einer Beschreibung
% zu versehen:
%    \begin{macrocode}
\newlength\abovecaptionskip
\newlength\belowcaptionskip
\setlength\abovecaptionskip{10\p@}
\setlength\belowcaptionskip{0\p@}
%    \end{macrocode}
% \changes{v2.3a}{1995/07/08}{\cs{setbox}\cs{tempboxa}\cs{hbox} durch
%                             \cs{sbox}\cs{@tempboxa} ersetzt.}
% \changes{v2.3a}{1995/07/08}{Minipage-Flag zur"uckgesetzt (ist das ok?).}
% \changes{v2.3f}{1995/12/09}{Fontumschaltung einheitlich f"ur lange und
%                             kurze Unter-/"Uberschriften.}
%    \begin{macrocode}
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \sbox\@tempboxa{{\caplabelfont #1\captionformat}{\capfont #2}}%
  \ifdim \wd\@tempboxa >\hsize
    \@hangfrom{{\caplabelfont #1\captionformat}}{\capfont #2\par}
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}
%    \end{macrocode}
%  \end{macro}
%
% \subsection{"`Alte"' Font-Auswahlbefehle}
%
%  \begin{macro}{\rm}
%  \begin{macro}{\sf}
%  \begin{macro}{\tt}
%  \begin{macro}{\bf}
%  \begin{macro}{\it}
%  \begin{macro}{\sl}
%  \begin{macro}{\sc}
%  \begin{macro}{\sfb}
% \changes{v2.2c}{1995/05/25}{nicht mehr mathematisch.}
% \changes{v2.3a}{1995/07/08}{Keine Unterscheidung mehr f"ur den
%                             Kompatibilit"atsmodus.}
% Um die Umstellung von \LaTeX\ auf \LaTeXe\ zu erleichtern, gibt es
% die alten Font-Auswahlbefehle |\rm|, |\sf|, |\tt|, |\bf|, |\it|, |\sl|
% und |\sc| auch in den \emph{classes}. Es ist zu beachten, da"s diese
% Befehle hier nach dem alten Fontauswahlverfahren arbeiten. Es werden
% also immer alle Parameter zugleich ge"andert. Somit ist zu empfehlen,
% da"s statt dieser Befehle zuk"unftig in der Regel die neuen
% |\text..|-Befehle verwendet werden.
%
% Der aus der \textsf{Script 2.0}-Familie bekannte Befehl |\sfb| ist hier
% ebenfalls definiert.
%    \begin{macrocode}
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\@nomath\sfb}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \begin{macro}{\cal}
% \changes{v2.3}{1995/06/25}{Der Befehl ist in \LaTeX nicht mehr definiert.
%                            Deshalb wird er nun neu und gleich robust
%                            deklariert. Daf"ur f"allt \cs{pcal} weg.}
% \changes{v2.3g}{1996/01/14}{"Uberfl"ussige Klammerpaare entfernt.}
% \begin{macro}{\mit}
% \changes{v2.3}{1995/06/25}{Der Befehl ist in \LaTeX nicht mehr definiert.
%                            Deshalb wird er nun neu und gleich robust
%                            deklariert. Daf"ur f"allt \cs{pmit} weg.}
% \changes{v2.3g}{1996/01/14}{"Uberfl"ussige Klammerpaare entfernt.}
% Die beiden Befehle |\cal| und |\mit| war bis zur \LaTeX-Version vom
% 1.12.1994 patch level 3 noch im Kernal definiert. Jetzt sind die beiden
% den classes "uberlassen. Hier ist die Definition aus den Standard-classes
% "ubernommen.
%    \begin{macrocode}
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \subsection{Font-Variablen}
%  \begin{macro}{\descfont}
%  \begin{macro}{\sectfont}
%  \begin{macro}{\headfont}
%  \begin{macro}{\capfont}
%  \begin{macro}{\caplabelfont}
% Das \textsf{Script}-Paket definiert einige Font-Variablen, f"ur
% verschiedene Gestaltungsbereiche wie "Uberschriften, Unterschriften oder
% die Paginierung.
%    \begin{macrocode}
\newcommand*\descfont{\sffamily\bfseries}
\newcommand*\sectfont{\sffamily\bfseries}
\newcommand*\pnumfont{\normalfont}
\newcommand*\headfont{\slshape}
\newcommand*\capfont{\normalfont}
\newcommand*\caplabelfont{\normalfont}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%
% \subsection{Inhaltverzeichnis, Abbildungsverzeichnis und
%             Tabellenverzeichnis}
%
%  \begin{macro}{\tableofcontents}
% F"ur das Inhaltsverzeichnis m"ussen die Eintr"age f"ur die
% unterschiedlichen Kapiteleinteilungen definiert werden.
%    \begin{macrocode}
\newcommand*\@pnumwidth{1.55em}
\newcommand*\@tocrmarg {2.55em}
\newcommand*\@dotsep{4.5}
%<!scrartcl>\setcounter{tocdepth}{2}
%<scrartcl>\setcounter{tocdepth}{3}
%    \end{macrocode}
%  \begin{macro}{\toc@heading}
% \changes{v2.3h}{1995/01/21}{Befehl, zum Setzen der "Uberschrift des
%                             Inhaltsverzeichnisses.}
%    \begin{macrocode}
\newcommand*\toc@heading{\section*{\contentsname
  \@mkboth{\contentsname}{\contentsname}}}
%    \end{macrocode}
%  \end{macro}
% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{toc@heading}.}
%    \begin{macrocode}
\newcommand*\tableofcontents{%
%<*scrartcl>
    \toc@heading%
    \@starttoc{toc}%
%</scrartcl>
%<*scrreprt|scrbook>
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\contentsname
        \@mkboth{\contentsname}{\contentsname}}%
    \@starttoc{toc}%
    \if@restonecol\twocolumn\fi
%</scrreprt|scrbook>
    }
\newcommand*\l@part[2]{%
  \ifnum \c@tocdepth >-2\relax
%<scrartcl>    \addpenalty{\@secpenalty}%
%<!scrartcl>    \addpenalty{-\@highpenalty}%
    \addvspace{2.25em \@plus\p@}%
    \begingroup
      \setlength\@tempdima{3em}%
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      {\leavevmode
       \large \sectfont #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
       \nobreak
%<scrartcl>       \if@compatibility
         \global\@nobreaktrue
%    \end{macrocode}
% \changes{v2.3g}{1996/01/14}{Fehlendes Kommentarzeichen erg"anzt.}
%    \begin{macrocode}
         \everypar{\global\@nobreakfalse\everypar{}}%
%<scrartcl>       \fi
    \endgroup
  \fi}
%<*scrartcl>
\newcommand*\l@section[2]{%
  \ifnum \c@tocdepth >\z@
    \addpenalty{\@secpenalty}%
    \addvspace{1.0em \@plus\p@}%
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \sectfont
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
    \endgroup
  \fi}
%</scrartcl>
%<*scrreprt|scrbook>
\newcommand*\l@chapter[2]{%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip 1.0em \@plus\p@
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \sectfont
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
      \penalty\@highpenalty
    \endgroup
  \fi}
\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
%</scrreprt|scrbook>
%<*scrartcl>
\newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
\newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
\newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
%</scrartcl>
%<*scrreprt|scrbook>
\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
\newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
\newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
%</scrreprt|scrbook>
%    \end{macrocode}
%  \end{macro}
%  \begin{macro}{\listoffigures}
%  \begin{macro}{\lof@heading}
% \changes{v2.3h}{1995/01/21}{Befehl, zum Setzen der "Uberschrift des
%                             Abbildungsverzeichnisses.}
% \changes{v2.4d}{1996/04/11}{\cs{addsec} durch \cs{section*} ersetzt.}
%    \begin{macrocode}
\newcommand*\lof@heading{\section*{\listfigurename
  \@mkboth{\listfigurename}{\listfigurename}}}
%    \end{macrocode}
%  \end{macro}
% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lof@heading}.}
%    \begin{macrocode}
\newcommand*\listoffigures{%
%<*scrartcl>
    \lof@heading%
    \@starttoc{lof}%
%</scrartcl>
%<*scrreprt|scrbook>
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listfigurename
      \@mkboth{\listfigurename}%
              {\listfigurename}}%
    \@starttoc{lof}%
    \if@restonecol\twocolumn\fi
%</scrreprt|scrbook>
    }
\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
%    \end{macrocode}
%  \end{macro}
%  \begin{macro}{\listoftables}
%  \begin{macro}{\lot@heading}
% \changes{v2.3h}{1995/01/21}{Befehl zum Setzen der "Uberschrift des
%                             Tabellenverzeichnisses.}
% \changes{v2.4a}{1996/03/13}{\cs{listtabelname} durch \cs{listtablename}
%                             ersetzt.}
%    \begin{macrocode}
\newcommand*\lot@heading{\section*{\listtablename
  \@mkboth{\listtablename}{\listtablename}}}
%    \end{macrocode}
%  \end{macro}
% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lot@heading}.}
%    \begin{macrocode}
\newcommand*\listoftables{%
%<*scrartcl>
    \lot@heading%
    \@starttoc{lot}%
%</scrartcl>
%<*scrreprt|scrbook>
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listtablename
      \@mkboth{\listtablename}{\listtablename}}%
    \@starttoc{lot}%
    \if@restonecol\twocolumn\fi
%</scrreprt|scrbook>
    }
\let\l@table\l@figure
%    \end{macrocode}
%  \end{macro}
%
% \subsection{Das Literaturverzeichnis}
%
%  \begin{environment}{thebibliography}
%  \begin{macro}{\bib@heading}
% \changes{v2.3h}{1995/01/21}{Befehl zum Setzen der "Uberschrift des
%                             Literaturverzeichnisses.}
%    \begin{macrocode}
\newcommand*\bib@heading{%
%<scrartcl>  \section*{\refname
%<!scrartcl>  \chapter*{\bibname
%<scrartcl>    \@mkboth{\refname}{\refname}}}
%<!scrartcl>    \@mkboth{\bibname}{\bibname}}}
%    \end{macrocode}
%  \end{macro}
%  \changes{2.2a}{1995/02/01}{In \texttt{scrartcl} \cs{bibname}
%                             vollst"andig durch \cs{refname} ersetzt.}
%  \changes{v2.3g}{1996/01/14}{Implementierung von openbib ge"andert.}
% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{bib@heading}}
% Nun werden noch die Umgebung f"ur das Literaturverzeichnis und der Befehl
% f"ur die einzelnen Eintr"age definiert.
%    \begin{macrocode}
\newdimen\bibindent
\bibindent=1.5em
\newenvironment{thebibliography}[1]{\bib@heading%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand*\theenumiv{\@arabic\c@enumiv}}%
      \sloppy\clubpenalty4000\widowpenalty4000%
      \sfcode`\.=\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
%    \end{macrocode}
%  \end{environment}
%
% \begin{macro}{\newblock}
% \changes{v2.3g}{1996/01/14}{Grundeinstellung ge"andert.}
%    \begin{macrocode}
\newcommand*\newblock{\hskip .11em\@plus.33em\@minus.07em}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@openbib@code}
% \changes{v2.3g}{1996/01/14}{Neues Makro.}
%    \begin{macrocode}
\let\@openbib@code\@empty
%    \end{macrocode}
% \end{macro}
%
% \subsection{Index}
%  \begin{environment}{theindex}
%  \begin{macro}{\idx@heading}
% \changes{v2.3h}{1995/01/21}{Befehl zum Setzen der "Uberschrift des
%                             Indexes.}
% \changes{v2.4c}{1995/04/04}{Kolumnentitel werden nun korrekt behandelt.}
% \changes{v2.4g}{1996/11/04}{Index auch bei scrartcl wieder zweispaltig.}
%    \begin{macrocode}
\newcommand*{\idx@heading}{\twocolumn[%
%<*scrartcl>
  \section*{\indexname}]
    \@mkboth{\indexname}{\indexname}%
%</scrartcl>
%<*scrreprt|scrbook>
  \@makeschapterhead{\indexname}]%
  \@mkboth{\indexname}{\indexname}%
%</scrreprt|scrbook>
}
%    \end{macrocode}
%  \end{macro}
% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{idx@heading}}
% Ein Index ist ebenfalls m"oglich. Dieser ist wie "ublich definiert.
%    \begin{macrocode}
\newenvironment{theindex}
               {\if@twocolumn
                  \@restonecolfalse
                \else
                  \@restonecoltrue
                \fi
                \columnseprule \z@
                \columnsep 35\p@
                \idx@heading%
                \thispagestyle{plain}\parindent\z@
                \parskip\z@ \@plus .3\p@\relax
                \let\item\@idxitem}
               {\if@restonecol\onecolumn\else\clearpage\fi}
\newcommand*\@idxitem  {\par\hangindent 40\p@}
%    \end{macrocode}
% \changes{v2.3g}{1996/01/14}{Verwendung von \cs{@idxitem} in \cs{subitem}
%                             und \cs{subsubitem} spart Speicher.}
%    \begin{macrocode}
\newcommand*\subitem   {\@idxitem \hspace*{20\p@}}
\newcommand*\subsubitem{\@idxitem \hspace*{30\p@}}
\newcommand*\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
%    \end{macrocode}
%  \end{environment}
%
% \subsection{Fu"snoten}
%
% Fu"snoten sind etwas abweichend definiert.
% \changes{v2.3a}{1995/07/08}{\cs{@width} verwendet.}
%    \begin{macrocode}
\renewcommand*\footnoterule{%
  \kern-3\p@
  \hrule\@width.4\columnwidth
  \kern 2.6\p@}
%<!scrartcl>\@addtoreset{footnote}{chapter}
\newdimen\sc@temp
\long\def\@makefntext#1{%
  \noindent \sc@temp\columnwidth%
  \advance\sc@temp by -1.5em%
  \hb@xt@1em{\hss\@makefnmark}\hskip.5em%
  \parbox[t]{\sc@temp}{\parindent\z@\parskip\z@\hskip-.5em #1}}
%    \end{macrocode}
%
% \subsection{Standardbezeichnungen}
%
% Diese werden von |german.sty| ohnehin "uberschrieben.
%    \begin{macrocode}
\newcommand*\contentsname{Contents}
\newcommand*\listfigurename{List of Figures}
\newcommand*\listtablename{List of Tables}
%<scrartcl>\newcommand*\refname{References}
%<!scrartcl>\newcommand*\bibname{Bibliography}
\newcommand*\indexname{Index}
\newcommand*\figurename{Figure}
\newcommand*\tablename{Table}
\newcommand*\partname{Part}
%<!scrartcl>\newcommand*\chaptername{Chapter}
\newcommand*\appendixname{Appendix}
\newcommand*\abstractname{Abstract}
\newcommand*\today{\ifcase\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi
  \space\number\day, \number\year}
%    \end{macrocode}
%
% \subsection{Erweiterung der Internationalisierung}
% \changes{v2.2c}{1995/05/25}{Anpassung an CJK von Werner Lemberg.}
%
% Die Standardnamen wie |\figurename| etc. sind nicht immer ausreichend, da
% manche Sprachen Z"ahlw"orter vor oder nach dem jeweiligen Z"ahler einf"ugen
% m"ussen (man denke da sogar im Deutschen an "`Abbildung~1"' und "`Erste
% Abbildung"'). Desweiteren werden bei manchen Sprachen die Zwischenr"aume
% anders gesetzt bzw. sogar ganz unterdr"uckt.
%
% Es gibt drei Ebenen, die man modifizieren kann, um verschiedenste Sprachen
% zu implementieren: Ebene~1 besteht aus den hinl"anglich bekannten Makros wie
% |\figurename| und alle weiteren Makros, die z.B. |german.sty| modifiziert.
% Desweiteren k"onnen die Makros |\sectfont| etc. etwaige zus"atzliche Fonts
% aktivieren. Ebene~2 ist die zus"atzliche Adaptierung von den Z"ahlern selbst
% (|\thesection| k"onnte z.B. chinesische Schriftzeichen ansprechen anstelle
% von arabischen Ziffern). Die allgemeinste Form der dritten Ebene besteht aus
% den Makros |\chaptermarkformat|, |\sectionmarkformat|,
% |\subsectionmarkformat|, |\partformat|, |\chapterformat|, |\figureformat|,
% |\tableformat| und |\captionformat|, welche die "Anderung der Reihenfolge
% von Z"ahler und Titel sowie die genaue Kontrolle der Zwischenr"aume etc.
% erm"oglichen.
%
% F"ur die g"angigen Sprachen k"onnen alle Makros f"ur die dritte Ebene
% identisch definiert werden. Bei Verwendung von "`exotischen"' Sprachen,
% aber auch speziellen Darstellungen in den g"angigen Sprachen k"onnen diese
% Makros umdefiniert werden.
%
% Das Konzept f"ur der Internationalisierung mit der dritten Ebene wurde
% urspr"unglich von Werner Lemberg\footnote{Werner Lemberg ist im InterNet
% unter \texttt{a7621gac@awiuni11.bitnet} zu erreichen.} entwickelt.
% Die "`caption files"' seines CJK-Pakets (\textbf{C}hinesisch,
% \textbf{J}apanisch, \textbf{K}oreanisch) bauen auf diesem Konzept auf.
% Damit ist \textsf{KOMA-Script} f"ur alle m"oglichen Sprachanpassungen
% bestens ge"ustet.
%
%  \begin{macro}{\if@altsecnumformat}
% \changes{v2.3c}{1995/08/06}{Einf"uhrung von \cs{if@altsecnumformat}.}
% Dieses Hilfsmakro wird f"ur die Umschaltung auf Duden-Regel~6 bei der
% Numerierung ben"otigt.
%    \begin{macrocode}
\newif\if@altsecnumformat\@altsecnumformatfalse
%    \end{macrocode}
% Dabei soll die Umstellung beim zweiten TeX-Lauf bereits am Anfang
% aktiv sein. Deshalb wird die Information am Ende in die aux-Datei
% geschrieben.
%    \begin{macrocode}
\AtEndDocument{\if@altsecnumformat\if@filesw
    \immediate\write\@auxout{\string\global\string\@altsecnumformattrue}
  \fi\fi}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\chaptermarkformat}
% \changes{v2.3a}{1995/07/08}{Leerraum nach der Kapitelnummer erh"oht.}
% \changes{v2.3c}{1995/08/06}{Duden Regel 6.}
%  \begin{macro}{\sectionmarkformat}
% \changes{v2.3a}{1995/07/08}{Leerraum nach der Kapitelnummer erh"oht.}
% \changes{v2.3c}{1995/08/06}{Duden Regel 6.}
%  \begin{macro}{\subsectionmarkformat}
% \changes{v2.3a}{1995/07/08}{Leerraum nach der Kapitelnummer erh"oht.}
% \changes{v2.3c}{1995/08/06}{Duden Regel 6.}
% Diese drei Makros werden f"ur die Markierungen innerhalb der pagestyles
% in |\chaptermark|, |\sectionmark| und |\subsectionmark| verwendet.
% Die drei Makros sind bewu"st unabh"angig voneinander definiert.
%    \begin{macrocode}
%<*scrreprt|scrbook>
\newcommand*\chaptermarkformat    {\thechapter\if@altsecnumformat.\fi\quad}
\newcommand*\sectionmarkformat    {\thesection\if@altsecnumformat.\fi\quad}
%</scrreprt|scrbook>
%<*scrartcl>
\newcommand*\sectionmarkformat    {\thesection\if@altsecnumformat.\fi\quad}
\newcommand*\subsectionmarkformat {\thesubsection\if@altsecnumformat.\fi\quad}
%</scrartcl>
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \begin{macro}{\partformat}
% \changes{v2.3c}{1995/08/06}{Duden Regel 6.}
%  \begin{macro}{\chapterformat}
% \changes{v2.3c}{1995/08/06}{Duden Regel 6.}
%  \begin{macro}{\figureformat}
% \changes{v2.3c}{1995/08/06}{Duden Regel 6.}
%  \begin{macro}{\tableformat}
% \changes{v2.3c}{1995/08/06}{Duden Regel 6.}
%  \begin{macro}{\captionformat}
% \changes{v2.3c}{1995/08/06}{Duden Regel 6.}
% Diese f"unf Makros werden nun innerhalb der entsprechenden "Uberschriften,
% Unterschriften, Titel etc. verwendet.
%    \begin{macrocode}
\newcommand*\partformat    {\partname~\thepart\if@altsecnumformat.\fi\ }
%<*scrreprt|scrbook>
\newcommand*\chapterformat {\thechapter\if@altsecnumformat.\fi\ }
%</scrreprt|scrbook>
\newcommand*\figureformat  {\figurename~\thefigure%
%<!scrartcl>  \if@altsecnumformat.\fi%
  }
\newcommand*\tableformat   {\tablename~\thetable%
%<!scrartcl>  \if@altsecnumformat.\fi%
}
\newcommand*\captionformat {:\ }
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% Dieses Makro wird bei allen "Uberschriften mit |\@startsection| verwendet:
%  \begin{macro}{\@seccntformat}
% \changes{v2.3c}{1995/08/06}{CJK erweitert}
%    \begin{macrocode}
\renewcommand*{\@seccntformat}[1]{%
  \csname the#1\endcsname\if@altsecnumformat.\fi\quad}
%    \end{macrocode}
%  \end{macro}
%
% \subsection{Grundeinstellungen}
%
%    \begin{macrocode}
\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
%<!scrbook>\pagestyle{plain}
%<scrbook>\pagestyle{headings}
\pagenumbering{arabic}      % Arabic page numbers
%<*!scrbook>
\if@twoside
\else
     \raggedbottom
\fi
%</!scrbook>
\if@twocolumn
  \twocolumn
  \sloppy
  \flushbottom
\else
  \onecolumn
\fi
%    \end{macrocode}
%
% \subsection{Das Ende}
%
%    \begin{macrocode}
%</scrartcl|scrreprt|scrbook>
%    \end{macrocode}
%
% \IndexPrologue{\section*{Index}
%                \markboth{Index}{Index}
%                Die kursiven Zahlen geben die Seiten an, auf denen
%                der entsprechende Eintrag beschrieben ist.
%                Die unterstrichenden Zahlen geben die Stelle der
%                Definition des Eintrags an.
%                Alle anderen Zahlen benennen Stellen, an denen der
%                entsprechende Eintrag verwendet ist.
%                \vspace{1em}\noindent}
%
% \GlossaryPrologue{\section*{"Anderungsverzeichnis}
%                   \markboth{"Anderungsverzeichnis}{"Anderungsverzeichnis}
%                   \addcontentsline{toc}{section}{"Anderungsverzeichnis}
%                   Die erste Version des \textsf{KOMA-Script} Pakets
%                   stammt vom 7.\,Juli~1994. Es werden nur die
%                   "Anderungen ab diesem Zeitpunkt dokumentiert.\par%
%                   \vspace{1em}\noindent}
%
% \Finale
%
\endinput
%
% Ende der Datei `scrclass.dtx'