% \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}
%
%\NeedsTeXFormat{LaTeX2e}[1995/12/01]
%\ProvidesFile{scrclass.drv}
%\ProvidesClass{scrartcl}
%\ProvidesClass{scrreprt}
%\ProvidesClass{scrbook}
%\ProvidesPackage{typearea}
%<*scrartcl|scrreprt|scrbook|typearea|dtx|driver>
[1996/11/09 v2.4h LaTeX2e KOMA
%
% document class]
% 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}
%
% \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}
%
% \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
%\@titlepagefalse
%\@titlepagetrue
%\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}
%\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}
%\DeclareOption{openright}{\@openrighttrue}
%\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}
%\DeclareOption{abstracton}{\@abstrttrue}
%\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}
% {scrreprt}
% {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}
% {scrreprt}
% {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}}
%
\let\size@part\Huge
\let\size@partnumber\huge
% \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}
% {scrreprt}
% {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}}
%
\let\size@part\huge
\let\size@partnumber\huge
%<*scrbook|scrreprt>
\let\size@chapter\LARGE
\let\size@section\Large
\let\size@subsection\large
%
%<*scrartcl>
\let\size@section\large
\let\size@subsection\normalsize
%
\let\size@subsubsection\normalsize
\let\size@paragraph\normalsize
\let\size@subparagraph\normalsize}}
\DeclareOption{normalheadings}{\@normalheadings}
\DeclareOption{normalheading}{\@normalheadings
\ClassError
% {scrbook}
% {scrreprt}
% {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}}
%
\let\size@part\LARGE
\let\size@partnumber\LARGE
%<*scrbook|scrreprt>
\let\size@chapter\Large
\let\size@section\large
%
%<*scrartcl>
\let\size@section\normalsize
%
\let\size@subsection\normalsize
\let\size@subsubsection\normalsize
\let\size@paragraph\normalsize
\let\size@subparagraph\normalsize}}
\DeclareOption{smallheadings}{\@smallheadings}
\DeclareOption{smallheading}{\@smallheadings
\ClassError
% {scrbook}
% {scrreprt}
% {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{%
% \addsec{\refname}}
% \addchap{\bibname}}
}}
\DeclareOption{bibtotocnumbered}
{\AtEndOfClass{%
\renewcommand*\bib@heading{%
% \section{\refname}}
% \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[%
% \addsec{\indexname}]\@mkboth{\indexname}{\indexname}}%
%<*scrreprt|scrbook>
\@makeschapterhead{\indexname}]%
\@mkboth{\indexname}{\indexname}%
\addcontentsline{toc}{chapter}{\indexname}}%
%
}}
% \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,%
%oneside,abstractoff}
%oneside,openany,abstractoff}
%twoside,openright}
\ProcessOptions
%\input{size1\@ptsize.clo}
%\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}}}
%
%<*scrreprt|scrbook>
\def\chaptermark##1{%
\markboth {\ifnum \c@secnumdepth >\m@ne
% \if@mainmatter
\chaptermarkformat\fi
% \fi
##1}{}}%
\def\sectionmark##1{%
\markright {\ifnum \c@secnumdepth >\z@
\sectionmarkformat\fi
##1}}}
%
\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}}}}%
% \def\chaptermark##1{}
% \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}}}
%
% \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
% \if@mainmatter
\chaptermarkformat\fi
% \fi
##1}}}
%
\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}}}}%
% \def\subsectionmark##1{}%
% \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
% \ClassWarning{scrartcl}
% \ClassWarning{scrreprt}
% \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}
%\newcommand*\chaptermark[1]{}
%\setcounter{secnumdepth}{2}
%\setcounter{secnumdepth}{3}
\newcounter {part}
%\newcounter {chapter}
%\newcounter {section}
%\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}
%\renewcommand*\thechapter {\@arabic\c@chapter}
%\renewcommand*\thesection {\thechapter.\@arabic\c@section}
%\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}
%\newcommand*\@chapapp{\chaptername}
%<*scrartcl>
\newcommand\part{\par
\addvspace{4ex}%
\@afterindentfalse
\secdef\@part\@spart}
%
%<*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}
%
%<*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}
%
\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}
%
%<*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}
%
\def\@spart#1{%
%<*scrartcl>
{\parindent \z@ \raggedright
\interlinepenalty \@M
\normalfont
\size@part\sectfont #1\par}%
\nobreak
\vskip 3ex
\@afterheading}
%
%<*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
% \if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}#1}%
% \else
% \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%
% \if@mainmatter \chapterformat\fi\fi}%
% \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
}}
%
\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}
%
\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}
{%
% \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}}
%
%<*scrreprt|scrbook>
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\renewcommand*\@chapapp{\appendixname}%
\renewcommand*\thechapter{\@Alph\c@chapter}}
%
% \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@}
%\@addtoreset{equation}{chapter}
\renewcommand*\theequation{%
% \thechapter.%
\@arabic\c@equation}
%\newcounter{figure}[chapter]
%\newcounter{figure}
\renewcommand*\thefigure{%
% \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}
%\newcounter{table}
%\newcounter{table}[chapter]
\renewcommand*\thetable{%
% \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}
%\setcounter{tocdepth}{2}
%\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}%
%
%<*scrreprt|scrbook>
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\contentsname
\@mkboth{\contentsname}{\contentsname}}%
\@starttoc{toc}%
\if@restonecol\twocolumn\fi
%
}
\newcommand*\l@part[2]{%
\ifnum \c@tocdepth >-2\relax
% \addpenalty{\@secpenalty}%
% \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
% \if@compatibility
\global\@nobreaktrue
% \end{macrocode}
% \changes{v2.3g}{1996/01/14}{Fehlendes Kommentarzeichen erg"anzt.}
% \begin{macrocode}
\everypar{\global\@nobreakfalse\everypar{}}%
% \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}
%
%<*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}}
%
%<*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}}
%
%<*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}}
%
% \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}%
%
%<*scrreprt|scrbook>
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\listfigurename
\@mkboth{\listfigurename}%
{\listfigurename}}%
\@starttoc{lof}%
\if@restonecol\twocolumn\fi
%
}
\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}%
%
%<*scrreprt|scrbook>
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\listtablename
\@mkboth{\listtablename}{\listtablename}}%
\@starttoc{lot}%
\if@restonecol\twocolumn\fi
%
}
\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{%
% \section*{\refname
% \chapter*{\bibname
% \@mkboth{\refname}{\refname}}}
% \@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}%
%
%<*scrreprt|scrbook>
\@makeschapterhead{\indexname}]%
\@mkboth{\indexname}{\indexname}%
%
}
% \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@}
%\@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}
%\newcommand*\refname{References}
%\newcommand*\bibname{Bibliography}
\newcommand*\indexname{Index}
\newcommand*\figurename{Figure}
\newcommand*\tablename{Table}
\newcommand*\partname{Part}
%\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}
%
%<*scrartcl>
\newcommand*\sectionmarkformat {\thesection\if@altsecnumformat.\fi\quad}
\newcommand*\subsectionmarkformat {\thesubsection\if@altsecnumformat.\fi\quad}
%
% \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\ }
%
\newcommand*\figureformat {\figurename~\thefigure%
% \if@altsecnumformat.\fi%
}
\newcommand*\tableformat {\tablename~\thetable%
% \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@}
%\pagestyle{plain}
%\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}
%
% \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'