summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrclass.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrclass.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrclass.dtx12466
1 files changed, 0 insertions, 12466 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrclass.dtx b/Master/texmf-dist/source/latex/koma-script/scrclass.dtx
deleted file mode 100644
index b9ecef2d564..00000000000
--- a/Master/texmf-dist/source/latex/koma-script/scrclass.dtx
+++ /dev/null
@@ -1,12466 +0,0 @@
-% \CheckSum{11211}
-% \iffalse
-% ======================================================================
-% scrclass.dtx
-% Copyright (C) 1995-2004 Markus Kohm
-%
-% This file is part of the LaTeX2e KOMA-Script-Bundle
-%
-% This file can be redistributed and/or modified under the terms
-% of the LaTeX Project Public License Version 1.0 distributed
-% together with this file. See LEGAL.TXT or LEGALDE.TXT.
-%
-% This bundle is written specialy for use at german-language. So the
-% main documentation is german. There is also a english documentation,
-% but this is NOT up-to-date.
-% ----------------------------------------------------------------------
-% scrclass.dtx
-% Copyright (C) 1995-2004 Markus Kohm
-%
-% Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets.
-%
-% Diese Datei kann nach den Regeln der LaTeX Project Public
-% Licence Version 1.0, wie sie zusammen mit dieser Datei verteilt
-% wird, weiterverbreitet und/oder modifiziert werden. Siehe dazu
-% auch LEGAL.TXT oder LEGALDE.TXT.
-%
-% Dieses Paket ist fuer den deutschen Sprachraum konzipiert. Daher ist
-% auch diese Anleitung komplett in Deutsch. Zwar existiert auch eine
-% englische Version der Anleitung, diese hinkt der deutschen Anleitung
-% jedoch fast immer hinterher.
-% ======================================================================
-%
-% \charactertable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-%<*dtx>
- \ProvidesFile{scrclass.dtx}
-%</dtx>
-%<class|package>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-%<driver>\ProvidesFile{scrclass.drv}
-%<class>\ProvidesClass{%
-%<scrartcl> scrartcl%
-%<scrreprt> scrreprt%
-%<scrbook> scrbook%
-%<scrlettr> scrlttr2%
-%<class> }
-%<package>\ProvidesPackage{%
-%<typearea> typearea%
-%<scrlfile> scrlfile%
-%<package> }
-%<lco>\ProvidesFile{%
-%<DIN> DIN%
-%<DINmoretext> DINmtext%
-%<SN> SN%
-%<SNold> SNold%
-%<SwissLeft> SNleft%
-%<KOMAold> KOMAold%
-%<lco> .lco}
- [2004/09/16 v2.9t LaTeX2e KOMA
-%<beta> BETA-VERSION
-%<class> document class]
-%<package> package]
-%<lco> letter-class-option]
-%
-%<*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}
-\DoNotIndex{\@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}
-\DoNotIndex{\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}
-\DoNotIndex{\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{\scshape,\secdef,\setbox,\setcounter,\setlength}
-\DoNotIndex{\settowidth,\sfcode,\sffamily,\skip,\sloppy,\slshape,\space}
-\DoNotIndex{\string}
-\DoNotIndex{\ta@temp,\the,\thispagestyle,\triangleright,\ttfamily}
-\DoNotIndex{\twocolumn,\typeout}
-\DoNotIndex{\undefined,\usecounter}
-\DoNotIndex{\vfil,\vfill,\vspace}
-\DoNotIndex{\wd,\xdef,\year,\z@}
-\CodelineIndex
-%
-\begin{document}
- \DocInput{scrclass.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \GetFileInfo{scrclass.dtx}
-% \RecordChanges
-%
-% \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}
-% \def\Length{\begingroup
-% \catcode`\\12
-% \MakePrivateLetters \m@cro@ 3}
-% \def\Counter{\begingroup
-% \catcode`\\12
-% \MakePrivateLetters \m@cro@ 4}
-% \def\KOMAvar{\begingroup
-% \catcode`\\12
-% \MakePrivateLetters \m@cro@ 5}
-% \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
-% \or
-% \noexpand\PrintOptionName
-% \or
-% \noexpand\PrintLengthName
-% \or
-% \noexpand\PrintCounterName
-% \or
-% \noexpand\PrintKOMAvarName
-% \fi
-% {\string#2}]}%
-% \@tempa
-% {\advance\c@CodelineNo\@ne
-% \ifcase #1%
-% \SpecialMainIndex{#2}\nobreak
-% \DoNotIndex{#2}%
-% \or
-% \SpecialMainEnvIndex{#2}\nobreak
-% \or
-% \SpecialMainOptionIndex{#2}\nobreak
-% \or
-% \SpecialMainLengthIndex{#2}\nobreak
-% \or
-% \SpecialMainCounterIndex{#2}\nobreak
-% \or
-% \SpecialMainKOMAvarIndex{#2}\nobreak
-% \fi
-% }%
-% \ignorespaces}
-% \let\endoption\endtrivlist
-% \providecommand*{\PrintOptionName}[1]{\strut \MacroFont #1\ }
-% \providecommand*{\PrintLengthName}[1]{\strut \MacroFont \char`\\#1\ }
-% \providecommand*{\PrintCounterName}[1]{\strut \MacroFont #1\ }
-% \providecommand*{\PrintKOMAvarName}[1]{\strut \MacroFont #1\ }
-% \newcommand*{\ttbksp}{\texttt{\char`\\}}
-% \newcommand*{\SpecialMainOptionIndex}[1]{\@bsphack
-% \special@index{#1\actualchar{\string\ttfamily\space#1}
-% (Option)\encapchar main}%
-% \special@index{Optionen:\levelchar{\string\ttfamily\space#1}\encapchar
-% main}\@esphack}
-% \newcommand*{\SpecialMainLengthIndex}[1]{\@bsphack
-% \special@index{#1\actualchar{\string\ttfamily\string\ttbksp\space#1}
-% (L"ange)\encapchar main}%
-% \special@index{L"angen:\levelchar{\string\ttfamily\string\ttbksp\space
-% #1}\encapchar
-% main}\@esphack}
-% \newcommand*{\SpecialMainCounterIndex}[1]{\@bsphack
-% \special@index{#1\actualchar{\string\ttfamily\space#1}
-% (Z"ahler)\encapchar main}%
-% \special@index{Z"ahler:\levelchar{\string\ttfamily\space#1}\encapchar
-% main}\@esphack}
-% \newcommand*{\SpecialMainKOMAvarIndex}[1]{\@bsphack
-% \special@index{#1\actualchar{\string\ttfamily\space#1}
-% (Variable)\encapchar main}%
-% \special@index{KOMA-Script
-% Variablen:\levelchar{\string\ttfamily\space
-% #1}\encapchar
-% main}\@esphack}
-% \renewcommand*{\changes@}[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
-% \MacroIndent=2em
-%
-% \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}
-% \changes{v2.7b}{2001/01/05}{Implementierungsdokumentation verbessert
-% und bessert geordnet
-% (Gliederungsbefehle)}
-% \changes{v2.8q}{2001/11/13}{diverse \texttt{pt} durch \cs{p@} und
-% \texttt{0pt} durch \cs{z@} 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 gleichen
-% Ort verf"ugbar sein, an dem Sie auch |scrclass.dtx| gefunden haben.
-%
-% Urspr"unglich war in |komascr.dtx| eine Brief-Klasse
-% enthalten. Die Klasse |scrlettr.cls| wurde dann jedoch als
-% |scrlettr.dtx| abgetrennt. Inzwischen ist die neue Brief-Klasse
-% |scrlttr2.cls| wieder enthalten.
-%
-% 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{\PrintIndex\PrintChanges}
-%
-% \part{Implementierung}
-% \changes{v2.9}{2002/06/21}{Release}
-%
-% \section{Generell}
-%\iffalse
-% \begin{macrocode}
-%<*beta>
-%<*package>
-\PackageWarningNoLine{%
-%<typearea> typearea%
-%<scrlfile> scrlfile%
- }
-%</package>
-%<*class>
-\ClassWarningNoLine{%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
-%<scrartcl> scrartcl%
-%<scrlettr> scrlttr2%
- }
-%</class>
-%<*lco>
-\GenericWarning{(%
-%<DIN> DIN%
-%<DINmoretext> DINmtext%
-%<SN> SN%
-%<SNold> SNold%
-%<SwissLeft> SNleft%
-%<KOMAold> KOMAold%
- .lco)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces}{%
- Letter-class-option
-%<DIN> DIN
-%<DINmoretext> DINmtext
-%<SN> SN
-%<SNold> SNold
-%<SwissLeft> SNleft
-%<KOMAold> KOMAold
- Warning:\space
-%</lco>
-%<class|package> {%
-%<*class|package|lco>
- THIS IS A BETA VERSION!\MessageBreak
- YOU SHOULD NOT USE THIS VERSION!\MessageBreak
- YOU SHOULD INSTALL THE RELEASE FROM CTAN\MessageBreak
- AND USE THAT INSTEAD OF THIS BETA VERSION%
-%<lco> \@gobble%
-}
-%</class|package|lco>
-%</beta>
-% \end{macrocode}
-%\fi
-%
-%
-% \section{"`scrlfile"'-package}
-%
-% Dieser Abschnitt ist englisch dokumentiert. Ich bitte daf"ur um
-% Verst"andnis.
-%
-% \subsection{Let's start}
-%
-% \begin{macrocode}
-%<*scrlfile>
-\typeout{Package scrlfile, \csname ver@scrlfile.sty\endcsname%
- ^^J\@spaces\@spaces\@spaces\@spaces\space\space
- Copyright (C) Markus Kohm^^J}
-%
-%
-% \subsection{Options}
-%
-% Currently there are no options.
-% \begin{macrocode}
-\ExecuteOptions{}
-\ProcessOptions\relax
-% \end{macrocode}
-%
-%
-% \subsection{The macros}
-%
-% \begin{macro}{\InputIfFileExists}
-% \LaTeX{} uses this macro for loading files with
-% \cs{input}\marg{filename}, \cs{include}, \cs{LoadClass},
-% \cs{LoadClassWithOptions}, \cs{documentclass}, \cs{documentstyle},
-% \cs{RequirePackage}, \cs{usepackage}. Only
-% \cs{input}~\meta{filename} loads \meta{filename} without using
-% \cs{InputIfFileExists}.
-%
-% Because of this, it's very easy to add stuff before and after
-% loading a file. We simply change this macro and add to
-% macros\,---\,one before loading the file and one after loading the
-% file. But before we redefine the macro, we test, if the macro was
-% defined like we expected. \LaTeX{} will warn, if not.
-% \begin{macrocode}
-\CheckCommand{\InputIfFileExists}[2]{%
- \IfFileExists{#1}%
- {#2\@addtofilelist{#1}\@@input \@filef@und}}
-% \end{macrocode}
-% Now we can redefine the macro like described above:
-% \begin{macrocode}
-\renewcommand{\InputIfFileExists}[2]{%
- \IfFileExists{#1}{%
- \scr@load@hook{before}{#1}%
- #2\@addtofilelist{#1}\@@input \@filef@und
- \scr@load@hook{after}{#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scr@load@hook}
-% This macro simply calls a load-file-hook, either the \emph{before}
-% or the \emph{after} one, if the hook exists. After calling the hook
-% it will be deleted. First argument is the type of hook
-% (\meta{before} or \meta{after}), second argument is a filename.
-% \begin{macrocode}
-\newcommand*{\scr@load@hook}[2]{%
- \@ifundefined{#2-@#1}{}{%
- \@nameuse{#2-@#1}%
- \expandafter\let\csname #2-@#1\endcsname=\relax}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scr@set@load@hook}
-% This command adds stuff to a load-file-hook, either the
-% \emph{before} or the \emph{after} one. First argument is the type of
-% hook (\meta{before} or \meta{after}), second is a filename. There's
-% a third argument not parsed by the macro itself but
-% \cs{g@addto@macro}. This third argument is the stuff, which will be
-% added to the hook. Because of using \cs{g@addto@macro} the hook must
-% be defined. So we define it, if it isn't.
-% \begin{macrocode}
-\newcommand*{\scr@set@load@hook}[2]{%
- \@ifundefined{#2-@#1}{\@namedef{#2-@#1}{}}{}%
- \expandafter\g@addto@macro\csname #2-@#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\BeforeFile}
-% \begin{macro}{\AfterFile}
-% \begin{macro}{\BeforeClass}
-% \begin{macro}{\AfterClass}
-% \changes{v2.9f}{2002/08/29}{Sternvariante funktioniert jetzt}
-% \begin{macro}{\@AfterClass}
-% \begin{macro}{\@sAfterClass}
-% \begin{macro}{\BeforePackage}
-% \begin{macro}{\AfterPackage}
-% \changes{v2.9f}{2002/08/29}{Sternvariante funktioniert jetzt}
-% \begin{macro}{\@AfterPAckage}
-% \begin{macro}{\@sAfterPackage}
-% These macros add stuff to a load-file-hook of a file, class or
-% package. First argument is the name of the file (with extension),
-% class (without extension) or package (without extension). There's a
-% second argument parsed by wether the macros themself nor
-% \cs{scr@set@load@hook} but \cs{g@addto@macro}. See
-% \cs{scr@set@load@hook} for more information. The star-forms
-% \cs{AfterClass*} and \cs{AfterPackage*} does the action immediate,
-% if the class or package was already loaded.
-% \begin{macrocode}
-\newcommand*{\BeforeFile}{\scr@set@load@hook{before}}
-\newcommand*{\AfterFile}{\scr@set@load@hook{after}}
-\newcommand*{\BeforeClass}[1]{%
- \scr@set@load@hook{before}{#1.\@clsextension}}
-\newcommand*{\AfterClass}{%
- \@ifstar {\@sAfterClass}{\@AfterClass}}
-\newcommand*{\@AfterClass}[1]{%
- \scr@set@load@hook{after}{#1.\@clsextension}}
-\newcommand*{\@sAfterClass}[1]{%
- \begingroup
- \@ifclassloaded{#1}{%
- \aftergroup\@secondoftwo
- }{%
- \aftergroup\@AfterClass
- }%
- \endgroup
- {#1}%
-}
-\newcommand*{\BeforePackage}[1]{%
- \scr@set@load@hook{before}{#1.\@pkgextension}}
-\newcommand*{\AfterPackage}{%
- \@ifstar {\@sAfterPackage}{\@AfterPackage}}
-\newcommand*{\@AfterPackage}[1]{%
- \scr@set@load@hook{after}{#1.\@pkgextension}}
-\newcommand*{\@sAfterPackage}[1]{%
- \begingroup
- \@ifpackageloaded{#1}{%
- \aftergroup\@secondoftwo
- }{%
- \aftergroup\@AfterPackage
- }%
- \endgroup
- {#1}%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% That's all
-% \begin{macrocode}
-%</scrlfile>
-% \end{macrocode}
-%
-%
-% \section{"`typearea"'-package}
-%
-% \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, \csname ver@typearea.sty\endcsname%
- ^^J\@spaces\@spaces\@spaces\@spaces\space\space
- Copyright (C) Frank Neukam, 1992-1994%
- ^^J\@spaces\@spaces\@spaces\@spaces\space\space
- Copyright (C) Markus Kohm, 1994-2002^^J}
-% \end{macrocode}
-%
-% \subsection{Befehle vor den Optionen}
-%
-% \begin{macro}{\SetDIVList}
-% \changes{v2.1a}{1994/10/28}{neu eingef"uhrt.}
-% \changes{v2.6}{2000/01/04}{\cs{ta@divlist} enth"alt Werte f"ur
-% Schriftgr"o"sen ab 1pt.}
-% 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. Dabei k"onnen \emph{DIV}-Werte f"ur Gr"o"sen ab 10\,pt
-% gesetzt werden.
-% \begin{macrocode}
-\newcommand*\SetDIVList[1]{\def\ta@divlist{{}{}{}{}{}{}{}{}{}#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\SetXDIVList}
-% \changes{v2.6}{2000/01/04}{neu eingef"uhrt.}
-% Da mit \cs{SetDIVList} aus Kompatibilit"atsgr"unden nur Werte f"ur
-% Gr"o"sen ab 10\,pt gesetzt werden k"onnen, wird f"ur Werte ab 1\,pt
-% ein neuer Befehl ben"otigt.
-% \begin{macrocode}
-\newcommand*\SetXDIVList[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}
-% \changes{v2.7g}{2001/04/17}{\cs{newlength} and Stelle von
-% \cs{newdimen} f"ur die Definition
-% verwendet}
-% Dimension f"ur die Bindekorrektur reservieren. Diese wird implizit
-% zu 0pt initialisiert.
-% \begin{macrocode}
-\newlength{\ta@bcor}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ifnumber}
-% Dieses Makro testet, ob ein "ubergebener Parameter eine positive,
-% ganze Zahl ist. Ist dies der Fall, wird der zweite Parameter
-% ausgef"uhrt, sonst der dritte.
-% \begin{macrocode}
-\providecommand\ifnumber[3]{
- \begingroup\@tempswafalse\let\scr@next\test@number
- \expandafter\scr@next#1\scr@next
- \if@tempswa\endgroup#2\else\endgroup#3\fi
-}
-% \end{macrocode}
-% F"ur den eigentlichen Test wird der erste Parameter Token f"ur Token
-% gescannt und beurteilt.
-% \begin{macro}{\test@number}
-% \begin{macrocode}
-\newcommand*{\test@number}[1]{
- \ifx \scr@next#1
- \let\scr@next\relax
- \else
-% \end{macrocode}
-% Dabei wird f"ur einen schnelleren Vergleich die Tatsache genutzt, da"s
-% Ziffernzeichen immer im selben durchg"angigen Bereich liegen
-% \begin{macrocode}
- \@tempcnta=\expandafter\expandafter\expandafter\number
- \expandafter`#1\relax
- \ifnum \@tempcnta>47\relax
- \ifnum \@tempcnta<58\relax
- \@tempswatrue
- \else\@tempswafalse\fi
- \else\@tempswafalse\fi
-% \end{macrocode}
-% Das zeichenweise scannen und parsen kann nat"urlich nicht einfach
-% abgebrochen werden. Stattdessen ist der Parameterrest noch zu
-% entfernen.
-% \begin{macrocode}
- \if@tempswa\else\let\scr@next\gobble@till@next\fi\fi
- \scr@next}
-% \end{macrocode}
-% \begin{macro}{\gobble@till@next}
-% Das geschieht mit einem einzigen "`Leermacro"'.
-% \begin{macrocode}
-\newcommand*{\gobble@till@next}{}
-\def\gobble@till@next#1\scr@next{}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\ifdimen}
-% Dieses Makro testet, ob ein "ubergebener Parameter eine Dimension
-% ist und f"uhrt in Abh"angigkeit davon den zweiten oder dritten
-% Parameter aus.
-% \begin{macrocode}
-\newcommand{\ifdimen}[3]{
- \begingroup\@tempswatrue\let\scr@next\test@posdimen
- \expandafter\test@dimen#1\scr@next
- \if@tempswa\endgroup#2\else\endgroup#3\fi
-}
-% \end{macrocode}
-% \begin{macro}{\test@dimen}
-% Als erste mu"s ein Vorzeichen entfernt werden.
-% \begin{macrocode}
-\newcommand*{\test@dimen}[1]{\ifx -#1\else\ifx +#1\else
- \def\scr@next{\let\scr@next\test@posdimen\scr@next#1}\fi\fi\scr@next}
-% \end{macrocode}
-% \begin{macro}{\test@posdimen}
-% Dann mu"s getestet werden, ob es sich beim Rest um eine Dimension
-% handelt. Dabei werden der einfachheit halber mehrere Dezimalkomma
-% und -punkte erlaubt. Nat"urlich k"onnte man es auch wirklich richtig
-% machen, aber das w"are nochmal etwas aufwendiger. Ist das wirklich
-% notwendig?
-% \begin{macrocode}
-\newcommand*{\test@posdimen}[1]{
- \ifx \scr@next#1
- \@tempswafalse\let\scr@next\relax
- \else
- \if .#1\else\if ,#1\else
- \@tempcnta=%
- \expandafter\expandafter\expandafter\number\expandafter`#1\relax
- \ifnum \@tempcnta>47\relax
- \ifnum \@tempcnta<58\relax
- \else\def\scr@next{\test@dimunt#1}\fi
- \else\def\scr@next{\test@dimunt#1}\fi\fi\fi\fi
- \scr@next}
-% \end{macrocode}
-% \begin{macro}{\testdimunt}
-% \begin{macro}{\test@trueunt}
-% Au"ser einer Gleitkomma- bzw. Gleitpunktzahl mu"s auch noch die Einheit
-% behandelt werden. Dabei sind sowohl die neun Standardeinheiten als auch
-% deren "`true"'-Variante zu ber"ucksichtigen. Deshalb wird zuerst ein
-% eventuelles "`\texttt{true}"' weggeworfen.
-% \begin{macrocode}
-\newcommand*{\test@dimunt}{}
-\def\test@dimunt#1\scr@next{%
- \expandafter\test@trueunt#1truetrue\test@trueunt}
-\newcommand*{\test@trueunt}{}
-\def\test@trueunt#1true#2true#3\test@trueunt{
- \edef\@tempa{#1}
- \ifx\@tempa\@empty\test@@ifdimunt{#2}\else\test@@ifdimunt{#1}\fi}
-% \end{macrocode}
-% \begin{macro}{\test@@ifdimunt}
-% Anschlie"send wird dann getestet, ob es sich um eine der neun "ublichen
-% Einheiten handelt.
-% \begin{macrocode}
-\newcommand*\test@@ifdimunt[1]{
- \@tempswafalse
- \ifstr{#1}{pt}{\@tempswatrue}{}
- \ifstr{#1}{pc}{\@tempswatrue}{}
- \ifstr{#1}{in}{\@tempswatrue}{}
- \ifstr{#1}{bp}{\@tempswatrue}{}
- \ifstr{#1}{cm}{\@tempswatrue}{}
- \ifstr{#1}{mm}{\@tempswatrue}{}
- \ifstr{#1}{dd}{\@tempswatrue}{}
- \ifstr{#1}{cc}{\@tempswatrue}{}
- \ifstr{#1}{sp}{\@tempswatrue}{}}
-% \end{macrocode}
-% \begin{macro}{\ifstr}
-% Dieses Macro wird oben ben"otigt und vergleicht zwei
-% Tokenfolgen.
-% \begin{macrocode}
-\newcommand\ifstr[4]{
- \begingroup\edef\@tempa{#1}\edef\@tempb{#2}
- \ifx\@tempa\@tempb\endgroup#3\else\endgroup#4\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@BCOR}
-% \begin{macro}{\@@BCOR}
-% \changes{v2.5}{1997/06/17}{Einzelzeichenscanner durch Mustererkennung
-% ersetzt.}
-% Das Makro |\@BCOR| wird sp"ater ben"otigt, um die Option
-% |BCOR|\emph{BCOR} zu erkennen. Die Option wird "uber ihr Muster
-% erkannt.
-% \begin{macrocode}
-\newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR}
-\newcommand*{\@@BCOR}{}
-\def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{
-% \end{macrocode}
-% Handelt es sich um die Option |BCOR|, so ist der erste Parameter leer.
-% \begin{macrocode}
- \edef\@tempa{#1}\ifx\@tempa\@empty
-% \end{macrocode}
-% Au"serdem ist der dritte Parameter dann |BCOR|.
-% \begin{macrocode}
- \edef\@tempa{#3}\def\@tempb{BCOR}\ifx\@tempa\@tempb
-% \end{macrocode}
-% Der zweite Parameter sollte dann die Gr"o"se enthalten. Ist dies
-% nicht der Fall, wird ein Fehler gemeldet (Fehlerzeile ist dann
-% |\ProcessOptions|).
-% \begin{macrocode}
- \ifdimen{#2}{\setlength{\ta@bcor}{#2}}{\ta@opt@err}
-% \end{macrocode}
-% In allen anderen F"allen ist es nicht diese Option, dann wird ein Fehler
-% ausgegeben. Stattdessen k"onnte hier auch auf weitere Optionen getestet
-% werden.
-% \begin{macrocode}
- \else\ta@opt@err\fi
- \else\ta@opt@err\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ta@div}
-% \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}
-% \changes{v2.5}{1997/06/17}{Einzelzeichenscanner durch Mustererkennung
-% ersetzt.}
-% Die grunds"atzliche Funktion ist die gleiche wie bei |\@BCOR|, |\@@BCOR|.
-% \begin{macrocode}
-\newcommand*{\@DIV}{\expandafter\@@DIV\CurrentOption DIVDIV\@@DIV}
-\newcommand*{\@@DIV}{}
-\def\@@DIV #1DIV#2DIV#3\@@DIV{
- \edef\@tempa{#1}\ifx\@tempa\@empty
- \edef\@tempa{#3}\def\@tempb{DIV}\ifx\@tempa\@tempb
- \ifnumber{#2}{\ta@div=#2\relax}{\ta@opt@err}
- \else\ta@opt@err\fi
-% \end{macrocode}
-% Der Unterschied liegt darin, da"s bei einem Fehlschlag der
-% Mustererkennung kein Fehler vorliegt, sondern u.\,U. noch auf |BCOR|
-% getestet werden mu"s.
-% \begin{macrocode}
- \else\@BCOR\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@headlines}
-% \begin{macro}{\@@headlines}
-% \changes{v2.7g}{2001/04/17}{Neue Mustererkennung f"ur die Anzahl der
-% Kopfzeilen}
-% Das Macro \cs{@headlines} wird ben"otigt, um die Option
-% \texttt{headlines} zu erkennen.
-% \begin{macrocode}
-\newcommand{\@headlines}{%
- \expandafter\@@headlines\CurrentOption headlines\@@headlines}
-\newcommand*{\@@headlines}{}
-\def\@@headlines #1headlines#2\@@headlines{
- \edef\@tempa{#2}\edef\@tempb{headlines}\ifx\@tempa\@tempb
- \setlength{\@tempdima}{#1\baselineskip}
- \def\ta@hh{#1\baselineskip}
- \else\@DIV\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\x@paper}
-% \begin{macro}{\x@@paper}
-% \changes{v2.5}{1997/06/17}{Neue Mustererkennung f"ur die Papiergr"o"se.}
-% Diese Makros werden ebenfalls sp"ater ben"otigt, wenn die Papiergr"o"se
-% festgelegt wird.
-%
-% \begin{macro}{\isopaper}
-% \changes{v2.5}{1997/06/17}{Neuer Befehl zur Berechnung unterschiedlicher
-% ISO/DIN-Papierformate.}
-% Da das Makro |\isopaper| in der Mustererkennung f"ur die Papiergr"o"se
-% ben"otigt wird, wurde dieses Makro ebenfalls vorgezogen.
-% \begin{macrocode}
-\newcommand\isopaper[2][a]{%
-% \end{macrocode}
-% Das Makro kennt zwei Parameter, von denen der erste und optionale die
-% Grundgr"o"se angibt. Die Angabe erfolgt "uber einen Kleinbuchstaben.
-% M"oglich ist
-% \begin{description}
-% \item[a] ISO/DIN-A-Format
-% \item[b] ISO/DIN-B-Format
-% \item[c] ISO/DIN-C-Format
-% \end{description}
-% Der zweite Paremeter gibt dann die Skalierung an.
-%
-% Als Grundgr"o"se wird jeweils die 0-Gr"o"se eingesetzt.
-% \begin{macrocode}
- \ifx a#1
- \setlength{\paperwidth}{841sp}\setlength{\paperheight}{1189sp}
- \else\ifx b#1
- \setlength{\paperwidth}{1000sp}\setlength{\paperheight}{1414sp}
- \else\ifx c#1
- \setlength{\paperwidth}{917sp}\setlength{\paperheight}{1297sp}
- \else\ifx d#1
- \setlength{\paperwidth}{771sp}\setlength{\paperheight}{1090sp}
-% \end{macrocode}
-% Wurde ein anderer Buchstabe angegeben, ist ein Fehler auszugeben.
-% \changes{v2.5a}{1997/06/22}{Ausgabe der gew"ahlten Papiergr"o"se
-% entfernt}
-% \begin{macrocode}
- \else
- \PackageError{typearea}
- {Unknown ISO/DIN-papersize-letter #1}
- {There are only four defined paperscalings:\MessageBreak
- a = ISO/DIN-A, b = ISO/DIN-B, c = ISO/DIN-C, d = ISO/DIN-D\MessageBreak
- Read KOMA-Script-documentation for further information.}
- \setlength{\paperwidth}{841sp}\setlength{\paperheight}{1189sp}
- \fi\fi\fi\fi
-% \end{macrocode}
-% Es d"urfte aufgefallen sein, da"s bei der Gr"o"senfestlegung statt
-% der Einheit "`mm"' die Einheit "`sp"' geschrieben wurde. Die Ma"se
-% sind also um ein Vielfaches zu klein und m"ussen sp"ater noch mit
-% 186468 multiplitziert werden, um auf Millimeter zu kommen. Dieser
-% Trick ist jedoch notwendig, weil die Norm vorschreibt, da"s bei der
-% nun folgenden $n$-fachen Halbierung der Seiten ($n =
-% \texttt{Skalierung} + 1$) jeweils auf ganze Millimeter abgerundet
-% werden mu"s.
-% \begin{macrocode}
- \@tempcnta=#2\relax
- \@whilenum\@tempcnta>0
- \do{\setlength{\@tempdima}{\paperwidth}
- \setlength{\paperwidth}{.5\paperheight}
- \setlength{\paperheight}{\@tempdima}
- \advance\@tempcnta by\m@ne}
-% \end{macrocode}
-% Zum Schlu"s mu"s nun die genannte Multiplitkation erfolgen. Da
-% "`mm"' kein ganzzahliges Vielfaches von "`sp"' ist, beinhaltet diese
-% Multiplikation eigentlich einen Fehler und eine Abweichung von der
-% Norm. Da jedoch "`sp"' die Rechengenauigkeit von {\TeX} darstellt,
-% stellt auch die Angabe eines ganzzahligen Millimeterwertes bereits
-% einen solchen Fehler dar.
-% \begin{macrocode}
- \multiply\paperwidth by186468\relax
- \multiply\paperheight by186468\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% Zur"uck zur Mustererkennung. Diese ist tats"achlich etwas einfacher als
-% die in den beiden F"allen zuvor.
-% \begin{macrocode}
-\newcommand*{\x@paper}{\expandafter\x@@paper\CurrentOption paper\x@@paper}
-\newcommand*{\x@@paper}{}
-\def\x@@paper #1#2paper#3\x@@paper{
- \edef\@tempa{paper}\edef\@tempb{#3}\ifx\@tempa\@tempb
- \ifnumber{#2}{
- \ifx a#1\isopaper[a]{#2}
- \else\ifx b#1\isopaper[b]{#2}
- \else\ifx c#1\isopaper[c]{#2}
- \else\ifx d#1\isopaper[d]{#2}
- \else\ta@opt@err\fi\fi\fi\fi
- }{\ta@opt@err}
- \else\@headlines\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ta@opt@err}
-% Falls die zu"atzliche Option nicht \texttt{BCOR}, \texttt{DIV} oder eine
-% bekannte Papiergr"o"se ist, ist eine Fehlermeldung f"allig.
-% \begin{macrocode}
-\newcommand*{\ta@opt@err}{
- \PackageError{typearea}
- {Unknown option \CurrentOption}
- {You've used an unknown option.\MessageBreak
- Read the KOMA-Script-documentation for further
- information.}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Optionen}
-%
-% \subsubsection{Kopf-, Fu"s-, Rand- und Textbereich}
-%
-% \begin{option}{headinclude}
-% \begin{option}{headexclude}
-% Diese Optionen bestimmen, ob der Seitenkopf bereits zum Textbereich
-% geh"ort. Der Zustand selbst wird in einem Schalter gespeichert.
-% \begin{macro}{\if@hincl}
-% \begin{macro}{\@hincltrue}
-% \begin{macro}{\@hinclfalse}
-% \begin{macrocode}
-\newif\if@hincl
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\DeclareOption{headinclude}{\@hincltrue}
-\DeclareOption{headexclude}{\@hinclfalse}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \begin{option}{footinclude}
-% \begin{option}{footexclude}
-% Diese Optionen bestimmen, ob die Fu"szeilen noch zum Textbereich
-% geh"oren. Der Zustand selbst wird in einem Schalter gespeichert.
-% \begin{macro}{\if@hincl}
-% \begin{macro}{\@hincltrue}
-% \begin{macro}{\@hinclfalse}
-% \begin{macrocode}
-\newif\if@fincl
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\DeclareOption{footinclude}{\@fincltrue}
-\DeclareOption{footexclude}{\@finclfalse}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \begin{option}{mpinclude}
-% \changes{v2.8q}{2002/03/28}{Neue Option}
-% \begin{option}{mpexclude}
-% \changes{v2.8q}{2002/03/28}{Neue Option}
-% Es gibt Dokumente mit sehr ausf"uhrlichen Randnotizen, bei denen die
-% Randnotizen bei der Satzspiegelberechnung in den Satzspiegel
-% eingerechnet werden sollten. Diese Optionen bestimmen, ob dies der
-% Fall ist.
-% \begin{macro}{\if@mincl}
-% \begin{macro}{\@mincltrue}
-% \begin{macro}{\@minclfalse}
-% Der Zustand wird in einem Schlater gespeichert. \textbf{Achtung:}
-% Bei Verwendung dieser Option m"ussen gr"ossere DIV-Werte verwendet
-% werden. Siehe dazu weiter unten.
-% \begin{macrocode}
-\@ifundefined{mincltrue}{\newif\if@mincl}{}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\DeclareOption{mpinclude}{\@mincltrue}
-\DeclareOption{mpexclude}{\@minclfalse}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \subsubsection{Papiergr"o"sen-Optionen}
-%
-% \begin{option}{dvips}
-% \changes{v2.7g}{2001/04/17}{Neu}
-% \changes{v2.8m}{2001/09/04}{\cs{AtBeginDocument} eingef"ugt}
-% Diese Option sorgt daf"ur, dass die Seitengr"o"se als \cs{special}
-% f"ur \texttt{dvips} in die DVI-Datei geschrieben wird. Da
-% \verb|\AtBeginDvi| im Gegensatz zu \verb|\AtBeginDocument| das
-% Argument sofort expandiert, das special aber erst nach dem Laden von
-% \texttt{typearea} ausgef"uhert werden darf, wird \verb|\AtBeginDvi|
-% einfach innerhalb von \verb|\AtBeginDocument| aufgerufen.
-% \begin{macrocode}
-\DeclareOption{dvips}{\AtBeginDocument{\AtBeginDvi{%
- \special{papersize=\the\paperwidth,\the\paperheight}}}}
-% \end{macrocode}
-% \end{option}
-%
-% \begin{option}{pdftex}
-% \changes{v2.7g}{2001/04/17}{Neu}
-% Diese Option sorgt daf"ur, dass die Seitengr"o"se mit {pdf\TeX}
-% ebenfalls in der PDF-Datei landet.
-% \begin{macrocode}
-\DeclareOption{pdftex}{\AtBeginDocument{%
- \pdfpagewidth=\paperwidth \pdfpageheight=\paperheight}}
-% \end{macrocode}
-% \end{option}
-%
-% \begin{macro}{\ifpdfoutput}
-% \changes{v2.7g}{2001/04/17}{Neu}
-% \changes{v2.8q}{2001/10/19}{\cs{pdfoutput} wird nicht mehr zu
-% \cs{relax}, wenn zuvor undefiniert}
-% \changes{v2.8q}{2001/10/19}{darf bereits definiert sein}
-% \changes{v2.8q}{2001/10/19}{Verwendung von \cs{scr@ifpdfoutput}}
-% \begin{macro}{\scr@ifpdfoutput}
-% \changes{v2.8q}{2001/10/19}{Neu zur internen Verwendung}
-% \changes{v2.8q}{2001/11/13}{funktioniert}
-% ifthenelse-Konstrukt, um abh"angig davon, ob als pdf ausgegeben wird
-% oder nicht, Befehle auszuf"uhren. Dieses Macro wird f"ur die
-% Deklaration der Option \texttt{pagesize} ben"otigt.
-% \begin{macrocode}
-\newcommand{\scr@ifpdfoutput}[2]{%
- \begingroup\@ifundefined{pdfoutput}{\endgroup #2}{\endgroup%
- \ifnum\pdfoutput>0\relax #1\else #2\fi}}%
-\@ifundefined{ifpdfoutput}{%
- \let\ifpdfoutput\scr@ifpdfoutput%
- }{%
- \PackageInfo{typearea}{%
- \string\ifpdfoutput\space already defined.\MessageBreak
- If \string\ifpdfoutput\space does not behave like\MessageBreak
- is is described at the KOMA-Script manual, try to\MessageBreak
- load `typearea.sty' earlier or find out at which\MessageBreak
- package or class \string\ifpdfoutput\space was defined.}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{option}{pagesize}
-% \changes{v2.7g}{2001/04/17}{Neu}
-% \changes{v2.8q}{2001/10/19}{\cs{scr@ifpdfoutput} statt
-% \cs{ifpdfoutput}}
-% Diese Option wiederum arbeitet je nachdem, ob eine PDF- oder eine
-% DVI-Ausgabe erfolgt, wie \texttt{dvips} oder \texttt{pdftex}.
-% \begin{macrocode}
-\DeclareOption{pagesize}{\AtBeginDocument{%
- \scr@ifpdfoutput
- {\pdfpagewidth=\paperwidth\pdfpageheight=\paperheight}
- {\AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}}}}
-% \end{macrocode}
-% \end{option}
-%
-%
-% 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, darauf
-% wird aber verzichtet (da die Verwendung der Liste ohnehin als
-% veraltete Methode betrachtet werden kann.
-%
-% \begin{option}{a4paper}
-% \changes{v2.5}{1997/06/17}{explizite Default-Option als Sonderfall.}
-% \begin{macrocode}
-\DeclareOption{a4paper}{\isopaper{4}}
-% \end{macrocode}
-% \begin{option}{a5paper}
-% \changes{v2.5}{1997/06/17}{zur Verwendung als globale Option mit den
-% Standard-Classes als Sonderfall.}
-% \begin{macrocode}
-\DeclareOption{a5paper}{\isopaper{5}}
-% \end{macrocode}
-% \begin{option}{b5paper}
-% \changes{v2.5}{1997/06/17}{keine explizite Option mehr.}
-% ISO/DIN-A-, -B-, -C- und D-Formate werden per Mustererkennung
-% ermittelt. Dies erfolgt bei den Satzspiegeloptionen. Die Berechnung
-% selbst ist weiter oben zu finden. Die Optionen |a4paper| und
-% |a5paper| wurden lediglich als Sonderfall explizit definiert. Dies
-% ist notwendig, damit die |typearea| mit den Standard-Classes besser
-% zusammenarbeitet. W"aren die beiden Optionen nicht definiert,
-% w"urden die "ublichen Papierformatoptionen nicht in gewohnter Weise
-% als gobale Optionen funktionieren. Bei den un"ublichen "ubrigen
-% Formaten kann verlangt werden, da"s sie beim Package explizit
-% angegeben werden.
-% \end{option}
-% \end{option}
-% \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}
-% \changes{v2.5}{1997/06/17}{Vertauschung verz"ogert}
-% Mit der Option |landscape| werden |\paperheight| und |\paperwidth|
-% vertauscht. Damit wird das entsprechende Querformat erreicht. Leider
-% kann das nicht sofort erfolgen, weil die Papiergr"o"se u.\,U. noch
-% nicht festliegt. Au"serdem ben"otigt man noch einen entsprechenden
-% Drucker oder einen |DVI|-Treiber, der mit einer speziellen Option
-% eine um 90\,Grad gedrehte Ausgabe erstellen kann.
-% \begin{macro}{\if@landscape}
-% \begin{macro}{\@landscapetrue}
-% \begin{macro}{\@landscapefalse}
-% \begin{macrocode}
-\newif\if@landscape
-\DeclareOption{landscape}{\@landscapetrue}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \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{option}{DIVcalc}
-% Zuvor wird jedoch noch die Sonderbehandlung f"ur |DIVcalc| eingebaut.
-% Vor Version 2.8q wurde das durch eine einfache Option realisiert,
-% "uber die die Default-DIV-Liste so manipuliert wird, da"s
-% automatisch nach einem guten DIV-Wert gesucht wird:
-% \begin{verbatim}
-% \providecommand\ta@divlist{}\def\ta@divlistelse{1}
-% \end{verbatim}
-% Neuerdings wird stattdessen der Z"ahler |\ta@div| gesetzt.
-% \changes{v2.4g}{1996/11/04}{Neue Option \texttt{DIVcalc}}
-% \changes{v2.8q}{2001/11/06}{die Option ver"andert nicht mehr die
-% \texttt{DIV}-Liste}
-% \begin{macrocode}
-\DeclareOption{DIVcalc}{\ta@div=1\relax}
-% \end{macrocode}
-% \end{option}
-% \begin{option}{DIVclassic}
-% Alternativ gibt es auch noch eine Sonderbehandlung fuer |DIVclassic|.
-% Auch dabei wurde fr"uher die Default-DIV-Liste benutzt:
-% \begin{verbatim}
-% \providecommand\ta@divlist{}\def\ta@divlistelse{3}
-% \end{verbatim}
-% Gesucht wird dabei nach einem DIV-Wert, mit dem der Satzspiegel der
-% Kreismethode m"oglichst gut erreicht wird.
-% \changes{v2.4n}{1997/05/28}{Neue Option \texttt{DIVclassic}.}
-% \begin{macrocode}
-\DeclareOption{DIVclassic}{\ta@div=3\relax}
-% \end{macrocode}
-% \end{option}
-% Ansonsten also die Behandlung f"ur |BCOR|\emph{Wert},
-% |DIV|\emph{Wert} und |a|\emph{Wert}|paper|, |b|\emph{Wert}|paper|,
-% |c|\emph{Wert}|paper| sowie |d|\emph{Wert}|paper|.
-% \begin{macrocode}
-\DeclareOption*{\x@paper}
-% \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}
-%
-% \changes{v2.5}{1997/06/17}{Landscape per Schalter aktivieren}
-% Das ist jetzt der richtige Zeitpunkt f"ur die Landscape-Aktivierung.
-% \begin{macrocode}
-\if@landscape
- \setlength\@tempdima {\paperheight}
- \setlength\paperheight {\paperwidth}
- \setlength\paperwidth {\@tempdima}
-\fi
-% \end{macrocode}
-%
-% \begin{macro}{\ta@divlist}
-% \changes{v2.0e}{1994/10/28}{neue interne Definition}
-% \changes{v2.6}{2000/01/04}{die Liste umfa"st nun Werte ab 1\,pt statt
-% ab 10\,pt.}
-% \begin{macro}{\ta@divlistelse}
-% \changes{v2.6}{2000/01/04}{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}
-% Wenn kein Defaultwert definiert ist, wird dieser Wert verwendet:
-% \begin{macrocode}
-\providecommand\ta@divlistelse{1}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Einige interne Register}
-%
-% \begin{Length}{ta@hblk}
-% \begin{Length}{ta@vblk}
-% \begin{Length}{ta@temp}
-% 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}
-\newlength{\ta@hblk}
-\newlength{\ta@vblk}
-\newlength{\ta@temp}
-% \end{macrocode}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-%
-%
-% \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.
-% \begin{macro}{\@typearea}
-% \changes{v2.4n}{1997/05/28}{Eigentliche Satzspiegelberechnung in
-% \cs{@typearea} ausgegliedert.}
-% Die eigentliche Satzspiegelberechnung geschieht "uber das Hilfsmakro
-% |\@typearea|, das dann auch von |\typearea| genutzt wird. Dieses
-% Hilfsmakro ben"otigt keine Parameter, da diese bereits zuvor von
-% |\typearea| in die entsprechenden Variablen geschrieben wurden.
-% \begin{macrocode}
-\newcommand*\@typearea{
-% \end{macrocode}
-% Zun"achst werden die horizontalen Ma"se berechnet. Dazu wird als
-% erstes 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}
-% Die Gr"o"se des Bereichs f"ur die Randnotizen ist ebenfalls von der
-% Streifenbreite abh"angig.
-% \changes{v2.8q}{2002/03/28}{Textbreite ber"ucksichtigt Option
-% \texttt{mpinclude}}
-% \begin{macrocode}
- \if@mincl
- \marginparwidth \ta@hblk
- \advance\marginparwidth -\marginparsep
- \else
- \if@twoside
- \marginparwidth 1.5\ta@hblk
- \else
- \marginparwidth \ta@hblk
- \fi
- \fi
-% \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. Bei Option \texttt{mpinclude} sind im
-% beidseitigen Satz zus"atzlich die Randnotizen zu beachten.
-% \begin{macrocode}
- \oddsidemargin -1in
- \evensidemargin -1in
- \if@twoside
- \advance\oddsidemargin by \ta@hblk
- \advance\oddsidemargin by \ta@bcor
- \advance\evensidemargin by 2\ta@hblk
- \if@mincl
- \advance\evensidemargin by \marginparwidth
- \advance\evensidemargin by \marginparsep
- \fi
- \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}
-% Falls die Randnotizen f"ur die Satzspiegelberechnung zum Textbereich
-% gehoeren, muessen sie zusammen mit ihrem Abstand vom Text nun von
-% diesem abgezogen werden. Es wird dabei davon ausgegangen, dass die
-% Randnotizen immer au"sen gesetzt werden. Sollte der Textbereich f"ur
-% Randnotizen zu schmal sein, so wird der Bereich der Randnotizen so
-% lange verkleinert, bis dies nicht mehr der Fall ist. Am einfachsten
-% geht dies, indem gegebenfalls die Breiten vertauscht werden.
-% \begin{macrocode}
- \if@mincl
- \advance\textwidth by -\marginparwidth
- \advance\textwidth by -\marginparsep
- \ifdim\textwidth <\marginparwidth
- \PackageWarningNoLine{typearea}{%
- Width of text (\the\textwidth) less than width of\MessageBreak
- marginpar (\the\marginparwidth) while using option\MessageBreak
- `mpinclude'.\MessageBreak
- Because of this, I'm exchanging the values.\MessageBreak
- You should increase DIV to avoid such problems.\MessageBreak
- }
- \@tempdima \marginparwidth
- \marginparwidth \textwidth
- \textwidth \@tempdima
- \fi
- \fi
-% \end{macrocode}
-%
-% Danach folgen die vertikalen Ma"se. Auch daf"ur wird zun"achst die H"ohe
-% eines Streifens ben"otigt.
-% \begin{macrocode}
- \ta@vblk \paperheight
- \divide\ta@vblk by \ta@div
-% \end{macrocode}
-% Davon ausgehend kann der obere Rand berechnet werden, wobei zu
-% ber"ucksichtigen ist, da"s {\TeX} diesen selbst"andig um ein Inch
-% vergr"o"sert.
-% \begin{macrocode}
- \topmargin -1in
- \advance\topmargin by \ta@vblk
-% \end{macrocode}
-% Au"serdem ist zu ber"ucksichtigen, ob der Kopf zum Textbereich oder
-% zum Rand geh"ort.
-% \begin{macrocode}
- \if@hincl \else
- \advance\topmargin by -\headheight
- \advance\topmargin by -\headsep
- \fi
-% \end{macrocode}
-% Bei der Berechnung des Textbereichs sind von der Papierh"ohe die R"ander
-% abzuziehen und ebenfalls zu ber"ucksichtigen, ob Kopf- und Fu"s zu den
-% R"andern oder zum Textbereich selbst gez"ahlt werden.
-% \begin{macrocode}
- \ta@temp \paperheight
- \advance\ta@temp by -3\ta@vblk
- \if@hincl
- \advance\ta@temp by -\headheight
- \advance\ta@temp by -\headsep
- \fi
- \if@fincl
- \advance\ta@temp by -\footskip
- \fi
-% \end{macrocode}
-% Als Sonderbedingung ist dann noch zu beachten, da"s die Gr"o"se des
-% Textbereichs nicht zu einer vertikalen Aufweitung f"uhrt.
-% \begin{macrocode}
- \textheight \topskip
- \@whiledim\textheight<\ta@temp
- \do{\advance\textheight by \baselineskip}
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ta@modiv}
-% Dieses Hilfsmakro wird weiter unten ben"otigt. Es dividiert den
-% ersten Parameter durch den zweiten und liefert das gerundete
-% Ergebnis in |\ta@div| zur"uck. F"ur die Berechnung werden
-% |\@tempdima| und |\@tempdimb| verwendet.
-% \begin{macrocode}
-\newcommand*\ta@modiv[2]{
- \setlength{\@tempdima}{#1}
- \divide\@tempdima by#2\relax
- \ta@div\@tempdima
- \ifnum \ta@div<4\relax
- \ta@div=4\relax
- \else
- \setlength{\@tempdimb}{#1}
- \divide\@tempdimb\ta@div
- \addtolength{\@tempdima}{\@tempdima}
- \addtolength{\@tempdima}{-\@tempdimb}
- \advance\ta@div\@ne
- \setlength{\@tempdimb}{#1}
- \divide\@tempdimb\ta@div
-% \end{macrocode}
-% \changes{v2.5a}{1997/06/22}{\cs{ifdim} statt \cs{ifnum}.}
-% \begin{macrocode}
- \ifdim \@tempdima<\@tempdimb
- \advance\ta@div by\m@ne
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ta@temp@goodwidth}
-% Dieses Makro setzt die Hilfdimension |\ta@temp| auf den Wert einer
-% optimalen Zeilenbreite in der aktuellen Schrift. 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 besteht dann aus 66 durchschnittlichen
-% Klein- und 3 durchschnittlichen Gro"sbuchstaben.
-% \changes{v2.7i}{2001/05/17}{Berechnung ist robuster gegen
-% arithmetischen "Uberlauf bei sehr gro"sen Schriften}
-% \changes{v2.8q}{2002/03/06}{\cs{normalfont}\cs{normalsize}
-% hinzugef"ugt}
-% \begin{macrocode}
-\newcommand*\ta@temp@goodwidth{
- \settowidth{\ta@temp}{\normalfont\normalsize
- abcdefghijklmnopqrstuvwxyz}
- \ifdim\ta@temp >200\p@
- \divide\ta@temp by 26
- \multiply\ta@temp by 3
- \settowidth{\@tempdima}{\normalfont\normalsize
- ABCDEFGHIJKLMNOPQRSTUVWXYZ}
- \divide\@tempdima by 26
- \multiply\@tempdima by 3
- \addtolength{\ta@temp}{\@tempdima}
- \else
- \multiply\ta@temp by 66
- \settowidth{\@tempdima}{\normalfont\normalsize
- ABCDEFGHIJKLMNOPQRSTUVWXYZ}
- \multiply\@tempdima by 3
- \addtolength{\ta@temp}{\@tempdima}
- \divide\ta@temp by 26
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \changes{v2.4g}{1996/11/04}{"Uberfl"ussigen Kommentar gel"oscht}
-% \changes{v2.7g}{2001/04/17}{die neuen Werte \texttt{current},
-% \texttt{default}, \texttt{calc} und
-% \texttt{classic} werden verstanden}
-% \changes{v2.8q}{2001/11/06}{der Wert \texttt{last} wird verstanden}
-% Die symbolischen Werte f"ur das obligatorische Argument haben
-% folgende Bedeutung:
-% \begin{center}\begin{tabular}{lll}
-% Symbol & Wert & Bedeutung \\\hline\\[-1.6ex]
-% \texttt{calc} & 2 & guten Wert berechnen \\
-% \texttt{classic} & 3 & mittelalterlicher Buchseitenkanon \\
-% \texttt{current} & --- & aktuellen Wert beibehalten \\
-% \texttt{default} & 0 & Wert aus der Liste verwenden \\
-% \texttt{last} & --- & Argument des letzten Aufrufs verwenden \\
-% \end{tabular}\end{center}
-% \begin{macrocode}
-\newcommand*\typearea[2][\z@]{
- \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else
- \setlength{\ta@bcor}{#1}
- \fi
- \edef\@tempa{#2}
- \def\@tempb{last}\ifx\@tempa\@tempb\let\@tempa=\@lastdiv\fi
- \def\@tempb{current}\ifx\@tempa\@tempb\else
- \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=0\relax\else
- \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=2\relax\else
- \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=3\relax\else
- \ta@div=\@tempa\relax
- \fi
- \fi
- \fi
- \fi
- \edef\@lastdiv{\the\ta@div}
-% \end{macrocode}
-% Nun mu"s festgestellt werden, ob die H"ohe des Kopfbereichs bereits
-% vorgegeben ist, oder ob diese selbst berechnet werden soll. Im Falle der
-% Berechnung wird als H"ohe f"ur den Kopf das 1.25-Fache des
-% Grundzeilenabstandes gew"ahlt. Damit sollte auch noch genug Raum f"ur die
-% optionale Trennlinie vorhanden sein.
-% \changes{v2.4n}{1997/05/28}{Berechnete Kopfh"ohe vom Grundzeilenabstand
-% abh"angig.}
-% \begin{macrocode}
- \@ifundefined{ta@hh}{\headheight 1.25\baselineskip}{\headheight\ta@hh}
-% \end{macrocode}
-% Auch der Abstand zwischen Kopf und Text ist immer gleich.
-% Verschiedene Typographen geben hier verschiedene Werte an. Ein guter
-% Wert sollte erreicht werden, wenn dadurch eine Kopfzeile in das
-% normale Zeilenraster eingepa"st wird. Der Abstand soll aber auch
-% nicht zu gro"s, werden. Optimal ist angeblich ein Wert von einer
-% Zeile. Dies f"uhrt jedoch zu einem klaren Konflikt bei
-% unterstrichenen Kopfzeilen. Deshalb wird ein Kompromi"s gebildet.
-% \begin{macrocode}
- \headsep 1.5\baselineskip
-% \end{macrocode}
-% Es folgen die restlichen von |DIV| und |BCOR| unabh"angigen Werte.
-% \begin{macrocode}
- \footskip 3.5\baselineskip
- \marginparsep 1cc
- \marginparpush 0.45\baselineskip
-% \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 nun 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.
-% \changes{v2.5h}{1999/12/29}{Text der Warnung korrigiert.}
-% \begin{macrocode}
- \ifnum\ta@div=\z@
- \@ifundefined{@ptsize}{%
- \@tempdima=\f@size pt\relax
- \advance\@tempdima by.5pt
- \ta@div=\@tempdima
- \divide\ta@div by65536\relax
- \advance\ta@div by-10\relax
- \xdef\@ptsize{\the\ta@div}%
- \PackageWarningNoLine{typearea}{%
- \string\@ptsize\space not defined!
- \MessageBreak
- Fontsize ist \f@size.\MessageBreak
- Defining \string\@ptsize\space to \@ptsize}%
- }{}
- \ta@divfor{\@ptsize}%
- \fi
-% \end{macrocode}
-% \changes{v2.4n}{1997/05/28}{Optionale, klassische Kreisberechnung f"ur
-% \texttt{DIV}.}
-% Als zweiter Sonderfall wird f"ur einen |DIV|-Wert von 3 die
-% \emph{Kreisberechnung} durchgef"uhrt. Dabei wird versucht, den
-% Textbereich genau so hoch zu w"ahlen, wie das Papier breit ist. Ein
-% solches Verh"altnis wird bei klassischen Papierformaten als
-% harmonisch betrachtet.
-% \begin{macrocode}
- \ifnum\ta@div=3
- \typeout{DIV calculation for classic typearea.}
- \setlength{\ta@temp}{\paperwidth}
- \addtolength{\ta@temp}{-\ta@bcor}
-% \end{macrocode}
-% Bei der Berechnung des vertikal ben"otigten Platzes, ist zu
-% beachten, ob Kopf und Fu"s zum Textbereich oder zu den R"andern
-% geh"oren.
-% \begin{macrocode}
- \if@hincl\else
- \addtolength{\ta@temp}{\headheight}
- \addtolength{\ta@temp}{\headsep}
- \fi
- \if@fincl\else
- \addtolength{\ta@temp}{\footskip}
- \fi
-% \end{macrocode}
-% Wird vertikal mehr Platz ben"otigt, als vorhanden ist, wird eine andere
-% Berechnung versucht, die weiter unten erfolgt.
-% \changes{v2.5a}{1997/06/22}{\cs{ifdim} statt \cs{ifnum}.}
-% \begin{macrocode}
- \ifdim \ta@temp>\paperheight
- \PackageWarningNoLine{typearea}
- {No classic typearea with this papersize!\MessageBreak
- Using calculated DIV}
- \ta@div=\@ne
-% \end{macrocode}
-% Ansonsten wird mittels des belegten Textbereichs und der Papierh"ohe der
-% obere und untere Rand zusammen,
-% \begin{macrocode}
- \else
- \setlength{\ta@temp}{\paperheight}
- \addtolength{\ta@temp}{-\paperwidth}
- \addtolength{\ta@temp}{\ta@bcor}
-% \end{macrocode}
-% daraus die Streifenh"ohe
-% \begin{macrocode}
- \divide\ta@temp 3\relax
-% \end{macrocode}
-% und schlie"slich erneut mit Hilfe der Papierh"ohe der genaue |DIV|-Wert
-% berechnet.
-% \begin{macrocode}
- \ta@modiv{\paperheight}{\ta@temp}
- \fi
-% An dieser Stelle muss \texttt{mpinclude} nicht ber"ucksichtigt
-% werden, da nicht die Breite des Textbereichs, sonder die Breite des
-% Papiers als Kriterium verwendet wird.
- \fi
-% \end{macrocode}
-% Wurde bisher kein Wert gefunden oder ein |DIV|-Wert von 1 bis 2
-% angegeben, so wird nun ein m"oglichst optimaler |DIV|-Wert
-% ermittelt.
-% \changes{v2.4n}{1997/05/28}{Optimale \texttt{DIV}-Berechnung
-% verbessert}
-% \begin{macrocode}
- \ifnum\ta@div<4
- \typeout{DIV calculation for typearea with good linewidth.}
-% \end{macrocode}
-% Zun"achst k"onnte die Textbreite die gesamte Sichtbare Papierbreite
-% einnehmen.
-% \begin{macrocode}
- \setlength{\textwidth}{\paperwidth}
- \addtolength{\textwidth}{-\ta@bcor}
-% \end{macrocode}
-% Als Sollbreite wird hier die ideale Zeilenf"ullung verwendet
-% \begin{macrocode}
- \ta@temp@goodwidth
-% \end{macrocode}
-% Im Zweispaltenmodus besteht jede Zeile aus zwei solchen Spalten
-% zuz"uglich dem Spaltenabstand.
-% \changes{v2.8q}{2001/12/13}{DIVcalc liefert im zweispaltigen Satz
-% (wie dokumentiert) breitere Spalten}
-% \begin{macrocode}
- \if@twocolumn
- \addtolength{\ta@temp}{\ta@temp}
- \addtolength{\ta@temp}{\columnsep}
- \fi
-% \end{macrocode}
-% In fr"uheren Versionen erfolgte nun eine iterative Ann"aherung an den
-% optimalen |DIV|-Wert. Je nach {\TeX}-Implementierung und
-% Papierformat, kann das aber recht lange dauern. Die obere Berechnung
-% zum Vorbild nehmend, wird deshalb nun ebenfalls versucht, den
-% optimalen Wert direkt zu berechnen. Dazu wird zun"achst wie oben die
-% Gr"o"se der horizontalen R"ander zusammen ermittelt:
-% \begin{macrocode}
- \setlength{\ta@hblk}{\paperwidth}
- \addtolength{\ta@hblk}{-\ta@temp}
-% \end{macrocode}
-% Daraus dann die Breite eines Streifens.
-% \begin{macrocode}
- \divide\ta@hblk by 3
-% \end{macrocode}
-% Ist die Breite negativ, so wird die Mindestbreite von 5mm eingesetzt.
-% \changes{v2.5a}{1997/06/22}{\cs{ifdim} statt \cs{ifnum}.}
-% \begin{macrocode}
- \ifdim \ta@hblk<\z@\relax
- \setlength{\ta@hblk}{5mm}
- \fi
-% \end{macrocode}
-% Nun kann wieder der |DIV|-Wert ermittelt werden.
-% \changes{v2.8q}{2002/03/28}{Ber"uchsichtigung von Option
-% \texttt{mpinclude} bei der \texttt{DIV}-Berechnung}
-% Im Falle der Option \texttt{mpinclude} gilt allgemein, dass
-% der Nenner mit $\frac{3}{3+m}$ zu multiplizieren ist. Dabei ist $m$
-% die Anzahl an L"angeneinheiten, die f"ur die Randnotizen verwendet
-% werden sollen. Mit $m=1$ ist also der Faktor $\frac{3}{4}=0.75$ zu
-% verwenden. Schwieriger wird es, wenn hier nicht die Anzahl
-% L"angeneinheiten, sondern ein konkreter Wert f"ur die Breite der
-% Randnotizen verwendet wird.
-% \begin{macrocode}
- \if@mincl
- \setlength{\ta@temp}{.75\ta@hblk}
- \else
- \setlength{\ta@temp}{\ta@hblk}
- \fi
-% \begin{macrocode}
- \ta@modiv{\paperwidth}{\ta@temp}
-% \end{macrocode}
-% Als Erschwernis kommt jetzt jedoch hinzu, da"s nun zwar der
-% |DIV|-Wert f"ur die Breite optimal ist, jedoch u.\,U. zu einer zu
-% gro"sen H"ohe f"uhrt. Deshalb wird zun"achst ein Satzspiegel f"ur
-% diesen |DIV|-Wert berechnet.
-% \begin{macrocode}
- \@typearea
-% \end{macrocode}
-% Nun wird "uberpr"uft, ob die vertikalen Ausma"se in Ordnung
-% sind. Auch hier ist wieder eine minimale Streifenbreite
-% vorteilhaft. Die Streifenbreite ergibt sich direkt aus dem oberen
-% Rand. Wobei jedoch noch das {\TeX}-Offset von 1in zu
-% ber"ucksichtigen ist.
-% \changes{v2.5a}{1997/06/22}{\cs{ifdim} statt \cs{ifnum}}
-% \begin{macrocode}
- \setlength{\ta@temp}{-1in}
- \addtolength{\ta@temp}{5mm}
- \ifdim\topmargin<\ta@temp
-% \end{macrocode}
-% Ist der Minimalrand nicht eingehalten, so wird f"ur diesen ein neuer
-% |DIV|-Wert ermittelt. Dabei mu"s ebenfalls ber"ucksichtigt werden,
-% ob Kopf- und Fu"sbereich zum Text oder zum Rand geh"oren.
-% \changes{v2.5b}{1997/06/29}{Bei der Mindestrandbetrachtung
-% \texttt{headinclude} und
-% \texttt{footinclude} ber"ucksichtigen}
-% \begin{macrocode}
- \setlength{\ta@temp}{15mm}
- \if@hincl\else
- \addtolength{\ta@temp}{\headheight}
- \addtolength{\ta@temp}{\headsep}
- \fi
- \if@fincl\else
- \addtolength{\ta@temp}{\footskip}
- \fi
- \divide\ta@temp by3\relax
- \ta@modiv{\paperheight}{\ta@temp}
- \fi
-% \end{macrocode}
-% Dieser Sonderfall ist somit abschlie"send behandelt.
-% \begin{macrocode}
- \fi
-% \end{macrocode}
-% Damit steht jetzt also der |DIV|-Wert fest, und die eigentliche
-% Berechnung kann folgen.
-% \begin{macrocode}
- \@typearea
-% \end{macrocode}
-% \changes{v2.0e}{1994/10/28}{Die Seitenaufteilung wird in die log-Datei
-% geschrieben.}
-% \changes{v2.4i}{1996/11/11}{Die Seitenaufteilung wird etwas sp"ater in
-% die log-Datei geschrieben.}
-% \changes{v2.4i}{1996/11/11}{Am Ende von \cs{typearea} wird noch
-% \cs{@typeare@end} ausgef"uhrt.}
-% \changes{v2.4j}{1996/12/04}{Bei der Seitenaufteilung wird \cs{textheight}
-% nicht mehr doppelt, daf"ur zus"atzlich
-% \cs{baselineskip} ausgegeben.}
-% \changes{v2.5}{1997/06/17}{"`arithmetic overflow"' bei landscape
-% behoben}
-% Zum Schlu"s soll die Seitenaufteilung noch in die |log|-Datei
-% geschrieben werden.
-% \begin{macrocode}
- \ta@temp@goodwidth
- \if@twocolumn
- \addtolength{\ta@temp}{\ta@temp}%
- \addtolength{\ta@temp}{\columnsep}%
- \fi
- \setlength{\@tempdima}{\ta@temp}%
- \addtolength{\ta@temp}{-\textwidth}%
- \divide\@tempdima 100\relax
- \divide\ta@temp\@tempdima
- \@tempcnta\ta@temp
- \ifnum\@tempcnta<5\relax
- \ifnum\@tempcnta>-5\relax
- \@tempcnta=0
- \else
- \advance\@tempcnta 4
- \fi
- \else
- \advance\@tempcnta -4
- \fi
- \ifnum\@tempcnta<-15\relax
- \PackageWarningNoLine{typearea}
- {Bad DIV-value!\MessageBreak
- You should decrease DIV, increase fontsize or\MessageBreak
- change papersize}
- \else\ifnum\@tempcnta>15\relax
- \PackageWarningNoLine{typearea}
- {Bad DIV-value!\MessageBreak
- You should increase DIV, decrease fontsize or\MessageBreak
- change papersize}
- \fi\fi
- \ifnum\ta@div<6\relax
- \PackageWarningNoLine{typearea}
- {Very low DIV-value!\MessageBreak
- DIV-values less than 6 result in textwidth/-height\MessageBreak
- smaller than total marginwidth/-height.\MessageBreak
- You should increase DIV, increase fontsize or\MessageBreak
- change papersize}
- \fi
- \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\columnwidth\space\space\space\space=%
- \space\the\columnwidth\MessageBreak
- \space\string\columnsep\space\space\space\space\space\space=%
- \space\the\columnsep\MessageBreak
- \space DIV-departure\space\space\space=%
- \space\the\@tempcnta/100\MessageBreak
- \space\string\evensidemargin\space=%
- \space\the\evensidemargin\MessageBreak
- \space\string\oddsidemargin\space\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\footskip\space\space\space\space\space\space\space=%
- \space\the\footskip\MessageBreak
- \space\string\baselineskip\space\space\space=%
- \space\the\baselineskip\MessageBreak
- }
- \@typearea@end}
-% \end{macrocode}
-%
-% \begin{macro}{\@typearea@end}
-% Das Makro |\@typearea@end| wird verwendet, um mit einem gewaltigen
-% Hack die "Anderung des Satzspiegels innerhalb eines Dokuments zu
-% erm"oglichen.
-%
-% Zun"achst ist das Makro leer, weil in der Pr"aambel nichts weiter zu tun
-% ist.
-% \begin{macrocode}
-\newcommand\@typearea@end{}
-% \end{macrocode}
-%
-% Am Anfang des Dokuments mu"s das Makro jedoch so umdefiniert werden, da"s
-% alle Berechnungen, die |\begin{document}| f"ur die Ausgabedimensionen
-% durchf"uhrt auch noch von |\typearea| durchgef"uhrt werden.
-% \begin{macrocode}
-\AtBeginDocument{%
- \renewcommand\@typearea@end{%
-% \end{macrocode}
-% Als erstes wird jedoch eine Warnung ausgegeben, weil es wirklich sehr
-% unsauber ist, so zu verfahren. Das ganze ist absolut abh"angig von der
-% \LaTeX-Version.
-% \begin{macrocode}
- \PackageWarning{typearea}
- {Typearea changed!\MessageBreak
- You should do this only at preamble, because only\MessageBreak
- \protect\begin{document} calculates output dimensions!\MessageBreak
- Trying to calculate new output dimensions, but\MessageBreak
- this is only a dirty hack}
-% \end{macrocode}
-% Sicherheitshalber werden jetzt die Gleitobjekte ausgegeben und eine neue
-% Seite begonnen.
-% \begin{macrocode}
- \clearpage
-% \end{macrocode}
-% Dann k"onnen endlich die Dimensionen, die z.\,B. von der Ausgaberoutine
-% ben"otigt werden, neu berechnet werden.
-% \begin{macrocode}
- \@colht\textheight
- \@colroom\textheight \vsize\textheight
- \columnwidth\textwidth
- \if@twocolumn
- \advance\columnwidth -\columnsep
- \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
- \fi
- \hsize\columnwidth \linewidth\hsize
- }}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\areaset}
-% \changes{v2.1b}{1994/12/31}{\cs{headheight} von \cs{@ptsize}
-% abh"angig gemacht}
-% \changes{v2.4i}{1996/11/11}{Am Ende von \cs{typearea} wird noch
-% \cs{@typeare@end} ausgef"uhrt.}
-% \changes{v2.6}{2000/01/04}{\cs{headheight} von \cs{f@size} statt von
-% \cs{@ptsize} abh"angig gemacht}
-% \changes{v2.7g}{2001/04/17}{Auch hier existiert der symbolische Wert
-% \texttt{current} f"ur BCOR}
-% 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@]{
- \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else
- \setlength{\ta@bcor}{#1}
- \fi
- \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 by\f@size\p@
- \advance\headheight by-10\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
- \@areaset@end}
-% \end{macrocode}
-%
-% \begin{macro}{\@areaset@end}
-% Da die Schlu"s-Berechnungen und auch die Ausgabe von |\@areaset@end|
-% und |\@typearea@end| identisch sind, wird hier genau daf"ur gesorgt.
-% Dazu kann nat"urlich nicht |\let| verwendet werden, weil sich die
-% Definition von |\@typarea@end| ja im Laufe der Zeit "andert.
-% \begin{macrocode}
-\newcommand\@areaset@end{\@typearea@end}
-% \end{macrocode}
-% \end{macro}
-% \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.}
-% \changes{v2.6}{2000/01/04}{Ber"ucksichtigung der erweiterten Liste}
-% \changes{v2.8q}{2002/03/28}{Ber"ucksichtigung der Option
-% `mpinclude'}
-% \changes{v2.9e}{2002/08/25}{zweimal \cs{relax} eingef"ugt}
-% \begin{macrocode}
-\newcommand*{\ta@divfor}[1]{
- \if@mincl
- \PackageInfo{typearea}{%
- With option `mpinclude' there are no predefined\MessageBreak
- DIV-values. Using DIV calculation for good line\MessageBreak
- width}
- \ta@div=2
- \else
- \xdef\@tempa{\ta@divlist{}}
- \ta@div=#1\relax
- \@whilenum \ta@div >-9 \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}
- \ta@div=10\advance\ta@div by#1\relax
- \PackageWarningNoLine{typearea}{%
- DIV for \the\ta@div pt and used papersize\MessageBreak
- not defined!\MessageBreak
- Using DIV=\ta@divlistelse}
- \ta@div=\ta@divlistelse\relax
- \else
-% \end{macrocode}
-% Ansonsten wird der vorgegebene Wert verwendet.
-% \begin{macrocode}
- \xdef\@tempa{\expandafter\@car\@tempa\@nil}
- \ifx\@tempa\empty
- \ta@div=\ta@divlistelse\relax
- \else
- \ta@div=\@tempa\relax
- \fi
- \fi
- \fi}
-% \end{macrocode}
-% \end{macro}
-% \changes{v2.8q}{2001/11/06}{Initialisierung mit Hilfe der
-% symbolischen Werte \texttt{current}}
-% 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. Der aktuelle Wert
-% f"ur |DIV| und |BCOR| wurde "uber die Optionen bereits
-% gesetzt. Dabei kann abweichend zu sonst der aktuelle Wert auch 0, 1,
-% 2 oder 3 sein. Die Initialisierung des Pakets ist damit sehr einfach.
-% \begin{macrocode}
-\typearea[current]{current}
-% \end{macrocode}
-%
-% \subsection{Fast das Ende}
-%
-% \begin{macrocode}
-%</typearea>
-% \end{macrocode}
-%
-% \section{"`scrartcl"'-class,
-% "`scrreprt"'-class,
-% "`scrbook"'-class,
-% "`scrlttr2"'-class}
-%
-% 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}.
-%
-% |scrlttr2| unterscheidet sich in vielen Punkten grundlegend von den
-% drei Haupt-\emph{classes}. Dennoch wird sie ab Version 2.8n
-% ebenfalls hier implementiert.
-%
-% \begin{macrocode}
-%<*class>
-% \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.}
-% \changes{v2.8m}{2001/09/08}{"`scrlttr2"' zur"uck in "`scrclass.dtx"'}
-%
-% Die Implementierung "ahnelt in vielen Punkten der der Standard-classes.
-% Deshalb werden hier allenfalls grobe Unterschiede behandelt.
-%
-% \subsection{Optionen}
-%
-% \subsubsection{Optionen mit Hilfe von \texttt{keyval}}
-%
-% Die neue Briefklasse (und derzeit nur diese) verwendet das
-% \texttt{keyval}-Paket f"ur die Auswertung der Optionen. Dabei wird
-% schlicht jede Option "uber \cs{DeclareOption*} ausgewertet.
-% \begin{macrocode}
-%<*scrlettr>
-\RequirePackage{keyval}
-% \end{macrocode}
-%
-% \begin{macro}{\KOMA@key}
-% \begin{macro}{\KOMAoptions}
-% \changes{v2.8q}{2001/10/08}{Neu}
-% \begin{macro}{\scr@save@KV@errx}
-% \changes{v2.8q}{2001/10/15}
-% Ein paar Abk"urzungen und Erleichterungen sowohl f"ur mich als auch
-% f"ur den Anwender. Das erste Makro dient der Definition eines neuen
-% \texttt{keyval}-Schl"ussels. Das zweite ruft \cs{setkeys} auf.
-% \begin{macrocode}
-\newcommand*{\KOMA@key}{\define@key{KOMA}}
-\newcommand*{\KOMAoptions}[1]{%
- \@ifundefined{scr@save@KV@errx}{%
- \let\scr@save@KV@errx=\KV@errx
- \renewcommand*{\KV@errx}[1]{%
- \ClassError{%
- scrlttr2%
- }{unknown KOMA option `#1'}{%
- You've tried to use the KOMA option `#1'.\MessageBreak
- But there is no KOMA option with that name.\MessageBreak
- See the manual of KOMA-Script for information about known koma
- options.}}%
- \setkeys{KOMA}{#1}%
- \let\KV@errx=\scr@save@KV@errx
- \let\scr@save@KV@errx=\relax
- }{%
- \setkeys{KOMA}{#1}%
- }\ignorespaces%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\AfterProcessOptions}
-% \begin{macro}{\AfterProcessOptions@hook}
-% \changes{v2.8q}{2001/10/08}{Neu}
-% Au"serdem existiert ein interner \emph{hook}, um aufgrund von
-% Optionen unmittelbar nach \cs{ProcessOptions} Aktionen auszul"osen.
-% \begin{macrocode}
-\newcommand*{\AfterProcessOptions@hook}{}
-\newcommand*{\AfterProcessOptions}[1]{%
- \g@addto@macro{\AfterProcessOptions@hook}{#1}%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@setif}
-% \changes{v2.8q}{2001/10/08}{Neu}
-% Es wird ebenfalls ein Makro ben"otigt, mit dem man einen Schalter
-% "uber die symbolischen Werte \texttt{true}, \texttt{false},
-% \texttt{on} und \texttt{off} setzen kann.
-% \begin{macro}{\@setif@alsoerr}
-% \changes{v2.8q}{2001/10/09}{Neu}
-% \begin{macrocode}
-\newcommand*{\@setif}[3][]{%
- \begingroup%
- \edef\@tempa{#1}
- \ifx\@tempa\@empty\def\@tempc{@#2}\else\def\@tempc{#1}\fi
- \edef\@tempa{#3}\def\@tempb{on}\ifx\@tempa\@tempb
- \def\@tempa{true}%
- \else\def\@tempb{off}\ifx\@tempa\@tempb
- \def\@tempa{false}%
- \fi\fi%
- \@ifundefined{\@tempc\@tempa}{%
- \ClassError{%
- scrlttr2%
- }{You've used an unknown switch or value}{%
- You've tried to set switch `#2' to value `#3', but there's
- either no\MessageBreak%
- switch `#2' defined or `#3' is not a switch
- value.\MessageBreak%
- Allowed switch values are `true', `false', `on',
- `off'\@setif@alsoerr.}
- \let\@tempa\endgroup
- }{%
- \edef\@tempa{\endgroup\noexpand\@nameuse{\@tempc\@tempa}}
- }
- \@tempa
- \let\@setif@alsoerr=\@empty
- }
-\newcommand*{\@setif@alsoerr}{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@setxif}
-% \changes{v2.8q}{2001/10/08}{Neu}
-% Es existiert eine Variante von obigem Makro, bei der die Werte f"ur
-% \texttt{true} und \texttt{false} explizit angegeben werden. Diese
-% sind dann Parameter 3 (\texttt{true}) und 4 (\texttt{false}).
-% \begin{macrocode}
-\newcommand*{\@setxif}[5][]{%
- \begingroup%
- \edef\@tempa{#1}
- \ifx\@tempa\@empty\def\@tempc{@#2}\else\def\@tempc{#1}\fi
- \@ifundefined{\@tempc true}{%
- \ClassError{%
- scrlttr2%
- }{You've used an unknown switch}{%
- You've tried to set switch `#2' to value `#3', but
- there's no\MessageBreak
- switch `#2' defined.}
- \let\@tempa\endgroup
- }{%
- \edef\@tempa{#3}\edef\@tempb{#4}\ifx\@tempa\@tempb
- \edef\@tempa{\endgroup\noexpand\@nameuse{\@tempc true}}
- \else\def\@tempb{#5}\ifx\@tempa\@tempb
- \edef\@tempa{\endgroup\noexpand\@nameuse{\@tempc false}}
- \else
- \ClassError{%
- scrlttr2%
- }{You've used an unknown switch value}{%
- You've tried to set switch `#2' to value `#3', but allowed
- switch\MessageBreak
- values are `#4', `#5'\@setif@alsoerr\space only.}
- \let\@tempa\endgroup
- \fi\fi%
- }
- \@tempa
- \let\@setif@alsoerr=\@empty
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@setnumstate}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Es wird au"serdem ein Makro ben"otigt, mit dem man ein nummerisches
-% Makro in Abh"angigkeit "uber einen symbolischen Wert setze kann.
-% Dabei soll es auch m"oglich sein, dass verschiedene symbolische
-% Werte auf dieselbe Nummer abgebildet werden. Das erste Argument ist
-% das Makro das umdefiniert werden soll. Das zweite ist die Option,
-% "uber die der Wert gesetzt wird. Das dritte ist eine Liste aus
-% symbolischen und nummerischen Werten der Art
-% \{\emph{Symbol}\}\{\emph{Wert}\},\{\emph{Symbol}\}\{\emph{Wert}\}\dots
-% \begin{macrocode}
-\newcommand*{\@setnumstate}[4]{%
- \begingroup
- \edef\@searched{#4}%
- \let\@tempa=\@empty
- \let\@tempb=\@empty
- \@tempswafalse
- \@for\@valuelist:=#3\do{%
- \if@tempswa\else
- \edef\@tempc{\expandafter\@firstoftwo\@valuelist}%
- \edef\@tempa{\@tempa\@tempb`\@tempc'}%
- \edef\@tempb{, }%
- \ifx\@tempc\@searched
- \@tempswatrue
- \edef\@tempa{\expandafter\@secondoftwo\@valuelist}%
- \fi
- \fi
- }
- \if@tempswa
- \edef\@tempa{\endgroup
- \noexpand\renewcommand*{\noexpand#1}{\@tempa}}
- \else
- \ClassError{%
- scrlttr2%
- }{You've used an unknown option value}{%
- You've tried to set option `#2' to value `#4',
- but allowed values\MessageBreak
- are only:\MessageBreak
- \@tempa.}%
- \let\@tempa=\endgroup
- \fi
- \@tempa
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@ObsoleteOption}
-% \changes{v2.8q}{2001/10/08}{Neu}
-% Es gibt au"serdem ein Makro, um vor der Verwendung alter Optionen zu
-% warnen und den Namen und die Syntax der neuen Option anzugeben.
-% \begin{macrocode}
-\newcommand*{\@ObsoleteOption}[1]{%
- \ClassWarningNoLine{%
- scrlttr2%
- }{%
- You've used the obsolete option `\CurrentOption'.\MessageBreak
- I'm using option `#1' instead.\MessageBreak
- You should do this change also}
- \KOMAoptions{#1}
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ObsoleteCommand}
-% \changes{v2.8q}{2001/10/09}{Neu}
-% Gleiches gilt f"ur veraltete Befehle. Allerdings werden hier zwei
-% Argumente ben"otigt, um zu wissen, was der alte Befehl
-% war. Au"serdem ist es hier sinnvoll die Zeilennummer mit auszugeben.
-% \begin{macrocode}
-\newcommand*{\@ObsoleteCommand}[2]{%
- \ClassWarning{%
- scrlttr2%
- }{%
- You`ve used the obsolete command `\string#1'.\MessageBreak
- I`m using `\string\KOMAoptions{#2}' instead.\MessageBreak
- You should do this change also}
- \KOMAoptions{#2}
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-%
-% \subsubsection{Papierformate, DIV, BCOR und Schriftgr"o"se}
-%
-% Bevor hier etwas getan werden kann, werden ebenfalls ein paar
-% Hilfsmakros ben"otigt. Allerdings gilt dies nicht f"ur die
-% Briefklasse
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% \begin{macro}{\ifnumber}
-% Dieses Makro testet, ob ein "ubergebener Parameter eine positive,
-% ganze Zahl ist. Ist dies der Fall, wird der zweite Parameter
-% ausgef"uhrt, sonst der dritte.
-% \begin{macrocode}
-\newcommand\ifnumber[3]{
- \begingroup\@tempswafalse\let\scr@next\test@number
- \expandafter\scr@next#1\scr@next
- \if@tempswa\endgroup#2\else\endgroup#3\fi
-}
-% \end{macrocode}
-% \begin{macro}{\test@number}
-% F"ur den eigentlichen Test wird der erste Parameter Token f"ur Token
-% gescannt und beurteilt.
-% \begin{macrocode}
-\newcommand*{\test@number}[1]{
- \ifx \scr@next#1
- \let\scr@next\relax
- \else
-% \end{macrocode}
-% Dabei wird f"ur einen schnelleren Vergleich die Tatsache genutzt, da"s
-% Ziffernzeichen immer im selben durchg"angigen Bereich liegen
-% \begin{macrocode}
- \@tempcnta=\expandafter\expandafter\expandafter\number
- \expandafter`#1\relax
- \ifnum \@tempcnta>47\relax
- \ifnum \@tempcnta<58\relax
- \@tempswatrue
- \else\@tempswafalse\fi
- \else\@tempswafalse\fi
-% \end{macrocode}
-% Das zeichenweise scannen und parsen kann nat"urlich nicht einfach
-% abgebrochen werden. Stattdessen ist der Parameterrest noch zu entfernen.
-% \begin{macrocode}
- \if@tempswa\else\let\scr@next\gobble@till@next\fi\fi
- \scr@next}
-% \end{macrocode}
-% \begin{macro}{\gobble@till@next}
-% Das geschieht mit einem einzigen "`Leermacro"'.
-% \begin{macrocode}
-\newcommand*{\gobble@till@next}{}
-\def\gobble@till@next#1\scr@next{}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@BCOR}
-% \begin{macro}{\@@BCOR}
-% \begin{macro}{\@DIV}
-% \begin{macro}{\@@DIV}
-% \begin{macro}{\@headlines}
-% \changes{v2.7g}{2001/04/17}{Neu}
-% \begin{macro}{\@@headlines}
-% \changes{v2.7g}{2001/04/17}{Neu}
-% \begin{macro}{\@pt@scan}
-% \changes{v2.6}{2000/01/04}{neu in dieser Version}
-% \begin{macro}{\@pt@@scan}
-% \changes{v2.6}{2000/01/04}{neu in dieser Version}
-% \begin{macro}{\x@paper}
-% \begin{macro}{\x@@paper}
-% Auch hier werden die Scan-Befehle f"ur die Optionen |BCOR|, |DIV| und die
-% ISO/DIN-Papierformate
-% ben"otigt. Allerdings erfolgt keine direkte Wertzuweisung sondern nur
-% eine explizite Weitergabe der globalen Option an das
-% \emph{typearea}-package. Die Werte selbst werden auch nicht "uberpr"uft,
-% sondern es wird davon ausgegangen, da"s diese Optionen immer zu
-% \emph{typearea} geh"oren und dort ggf. ein expliziter Fehler ausgegeben
-% werden soll. Die Befehle werden anschlie"send von den
-% gleichnamigen Scan-Befehlen des packages "uberladen.
-% \begin{macrocode}
-\newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR}
-\newcommand*{\@@BCOR}{}
-\def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{
- \edef\@tempa{#1}\ifx\@tempa\@empty
- \edef\@tempa{#3}\def\@tempb{BCOR}\ifx\@tempa\@tempb
- \PassOptionsToPackage{BCOR#2}{typearea}
- \else\OptionNotUsed\fi
- \else\OptionNotUsed\fi}
-\newcommand*{\@DIV}{\expandafter\@@DIV\CurrentOption DIVDIV\@@DIV}
-\newcommand*{\@@DIV}{}
-\def\@@DIV #1DIV#2DIV#3\@@DIV{
- \edef\@tempa{#1}\ifx\@tempa\@empty
- \edef\@tempa{#3}\def\@tempb{DIV}\ifx\@tempa\@tempb
- \PassOptionsToPackage{DIV#2}{typearea}
- \else\OptionNotUsed\fi
- \else\@BCOR\fi}
-\newcommand{\@headlines}{%
- \expandafter\@@headlines\CurrentOption headlines\@@headlines}
-\newcommand*{\@@headlines}{}
-\def\@@headlines #1headlines#2\@@headlines{
- \edef\@tempa{#2}\edef\@tempb{headlines}\ifx\@tempa\@tempb
- \PassOptionsToPackage{#1headlines}{typearea}
- \else\@DIV\fi}
-\newcommand*{\@pt@scan}{\expandafter\@pt@@scan\CurrentOption pt\@pt@@scan}
-\newcommand*{\@pt@@scan}{}
-\def\@pt@@scan #1pt#2\@pt@@scan{
- \edef\@tempa{pt}\edef\@tempb{#2}\ifx\@tempa\@tempb
- \ifnumber{#1}
- {\@tempcnta=#1\relax
- \advance \@tempcnta by-10\relax
- \edef\@ptsize{\the\@tempcnta}}
- {\@headlines}
- \else\@headlines\fi}
-\newcommand*{\x@paper}{\expandafter\x@@paper\CurrentOption paper\x@@paper}
-\newcommand*{\x@@paper}{}
-\def\x@@paper #1#2paper#3\x@@paper{
- \edef\@tempa{paper}\edef\@tempb{#3}\ifx\@tempa\@tempb
- \ifx a#1\PassOptionsToPackage{a#2paper}{typearea}
- \else\ifx b#1\PassOptionsToPackage{b#2paper}{typearea}
- \else\ifx c#1\PassOptionsToPackage{c#2paper}{typearea}
- \else\ifx d#1\PassOptionsToPackage{d#2paper}{typearea}
- \else\OptionNotUsed\fi\fi\fi\fi
- \else\@pt@scan\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-% \begin{option}{BCOR}
-% \begin{option}{DIV}
-% \begin{option}{headlines}
-% \begin{option}{paper}
-% Die Briefklasse arbeitet hier einfach mit \texttt{keyval}-Optionen:
-% \begin{macrocode}
-%<*scrlettr>
-\KOMA@key{BCOR}{\PassOptionsToPackage{BCOR#1}{typearea}}
-\KOMA@key{DIV}{\PassOptionsToPackage{DIV#1}{typearea}}
-\KOMA@key{headlines}{\PassOptionsToPackage{#1headlines}{typearea}}
-\KOMA@key{paper}{\PassOptionsToPackage{#1paper}{typearea}}
-%</scrlettr>
-% \end{macrocode}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-%
-% \begin{option}{a4paper}
-% \begin{option}{a5paper}
-% \begin{option}{b5paper}
-% \begin{option}{letterpaper}
-% \begin{option}{legalpaper}
-% \begin{option}{executivepaper}
-% Allerdings m"ussen die Standardpapierformate zus"atzlich per alter
-% Option unterst"utzt werden.
-% \begin{macrocode}
-%<*scrlettr>
-\DeclareOption{a4paper}{\@ObsoleteOption{paper=a4}}
-\DeclareOption{a5paper}{\@ObsoleteOption{paper=a5}}
-\DeclareOption{b5paper}{\@ObsoleteOption{paper=b5}}
-\DeclareOption{letterpaper}{\@ObsoleteOption{paper=letter}}
-\DeclareOption{legalpaper}{\@ObsoleteOption{paper=legal}}
-\DeclareOption{executivepaper}{\@ObsoleteOption{paper=executive}}
-%</scrlettr>
-% \end{macrocode}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-%
-%
-% Es gibt einige neue Optionen gegen"uber den Standard-Classes.
-%
-% \subsubsection{Tabellenoptionen}
-%
-% Da Flie"sobjekte in einem Brief etwas fehlt am Platz sind, werden
-% in Briefen auch keine Optionen daf"ur angeboten.
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% \begin{option}{onelinecaption}
-% \changes{v2.8q}{2001/11/17}{Neue Option}
-% \begin{option}{noonelinecaption}
-% \changes{v2.8q}{2001/11/17}{Neue Option}
-% Genau wie beim |caption2|-Paket gibt es Optionen, mit denen die
-% Sonderbehandlung f"ur einzeilige Tabellen- und Abbildungsunter- und
-% -"uberschriften ein- und ausgeschaltet werden werden k"onnen.
-% \begin{macro}{\ifonelinecaptions}
-% \changes{v2.8q}{2001/11/17}{Neuer Schalter}
-% \begin{macro}{\onelinecaptionstrue}
-% \begin{macro}{\onelinecaptionsfalse}
-% Die Entscheidung wird in einem Schalter gespeichert. In der
-% Hoffnung, beim Laden von |caption2| Speicher zu sparen, wird der
-% gleiche Name verwendet, den auch |caption2| verwendet.
-% \begin{macrocode}
-\newif\ifonelinecaptions\onelinecaptionstrue
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% Da f"ur diese Option nicht der gleiche Name verwendet wird, wie
-% bei |caption2|, wird von den Optionen nicht nur der Schalter
-% entsprechend gesetzt, sondern auch die korrespondierende Option an
-% |caption2| weitergeleitet. Der gleiche Name konnte schlecht
-% verwendet werden, weil er bei einer Klasse auch nicht ansatzweise
-% als selbsterkl"arend bezeichnet werden kann.
-% \begin{macrocode}
-\DeclareOption{onelinecaption}{\onelinecaptionstrue%
- \PassOptionsToPackage{oneline}{caption2}}
-\DeclareOption{noonelinecaption}{\onelinecaptionsfalse%
- \PassOptionsToPackage{nooneline}{caption2}}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \begin{option}{tablecaptionabove}
-% \changes{v2.8h}{2001/07/19}{Neu}
-% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die
-% Klassen verschoben}
-% \begin{option}{tablecaptionbelow}
-% \changes{v2.8h}{2001/07/19}{Neu}
-% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die
-% Klassen verschoben}
-% \begin{macro}{\if@tablecaptionabove}
-% \changes{v2.8h}{2001/07/19}{Neu}
-% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die
-% Klassen verschoben}
-% \begin{macro}{\@tablecaptionabovetrue}
-% \begin{macro}{\@tablecaptionabovefalse}
-% Es besteht nun die Wahl, ob \cs{caption} bei Tabellen f"ur Unter-
-% oder "Uberschriften voreingestellt ist. Die Defaulteinstellung ist
-% aus Kompatibilit"atsgr"unden die Tabellenunterschrift.
-% \begin{macrocode}
-\newif\if@tablecaptionabove\@tablecaptionabovefalse
-\DeclareOption{tablecaptionabove}{\@tablecaptionabovetrue}
-\DeclareOption{tablecaptionbelow}{\@tablecaptionabovefalse}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-% \end{option}
-%
-% \begin{option}{origlongtable}
-% \changes{v2.8l}{2001/08/16}{Neu}
-% \begin{macro}{\if@komalongtable}
-% \changes{v2.8l}{2001/08/16}{Neu}
-% \begin{macro}{\@komalongtabletrue}
-% \begin{macro}{\@komalongtablefalse}
-% Wenn das \texttt{longtable}-Paket geladen ist, werden die
-% Tabellen"uber- oder -unterschriften daf"ur normalerweise von den
-% Klassen umdefiniert. Dies geschieht automatisch nicht, wenn das
-% \texttt{caption2}-Paket geladen ist. Es geschieht ausserdem nicht,
-% wenn diese Option gesetzt ist. Die Unterscheidung erfolgt mit einem
-% Schalter.
-% \begin{macrocode}
-\newif\if@komalongtable\@komalongtabletrue
-\DeclareOption{origlongtable}{\@komalongtablefalse}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-%
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-%
-% \subsubsection{Kopf-, Fu"s- und Randbereich}
-% \begin{option}{headsepline}
-% \begin{option}{headnosepline}
-% Der Kopfteil kann mit einer Linie vom Textbereich getrennt
-% werden.
-% \begin{macro}{\if@hsl}
-% \begin{macro}{\@hsltrue}
-% \begin{macro}{\@hslfalse}
-% Die Entscheidung wird in einem Schalter gespeichert.
-% \begin{macrocode}
-\newif\if@hsl
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% Gleichzeitig wird dem \texttt{typearea}-Paket mitgeteilt, dass der
-% Kopf zum Textbereich zu rechnen ist.
-% \begin{macrocode}
-%<*!scrlettr>
-\DeclareOption{headsepline}{%
- \PassOptionsToPackage{headinclude}{typearea}\@hsltrue}
-%</!scrlettr>
-%<*scrlettr>
-\KOMA@key{headsepline}[true]{\@setif{hsl}{#1}}%
-\AfterProcessOptions{%
- \if@hsl\PassOptionsToPackage{headinclude}{typearea}\fi}
-%</scrlettr>
-\DeclareOption{headnosepline}{%
-%<!scrlettr> \@hslfalse%
-%<scrlettr> \@ObsoleteOption{headsepline=false}%
- }
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \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{macro}{\if@fsl}
-% \begin{macro}{\@fsltrue}
-% \begin{macro}{\@fslfalse}
-% Die Entscheidung wird in einem Schalter gespeichert.
-% \begin{macrocode}
-\newif\if@fsl
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% Gleichzeitig wird dem \texttt{typearea}-Paket mitgeteilt, dass der
-% Fu"s zum Textbereich zu rechnen ist.
-% \begin{macrocode}
-% \begin{macrocode}
-%<*!scrlettr>
-\DeclareOption{footsepline}{\PassOptionsToPackage{footinclude}{typearea}
- \@fsltrue}
-%</!scrlettr>
-%<*scrlettr>
-\KOMA@key{footsepline}[true]{\@setif{fsl}{#1}}%
-\AfterProcessOptions{%
- \if@fsl\PassOptionsToPackage{footinclude}{typearea}\fi}
-%</scrlettr>
-\DeclareOption{footnosepline}{%
-%<!scrlettr> \@fslfalse%
-%<scrlettr> \@ObsoleteOption{footsepline=false}%
- }
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \begin{option}{mpinclude}
-% \changes{v2.8q}{2002/03/28}{Neue Option}
-% \begin{option}{mpexclude}
-% \changes{v2.8q}{2002/03/28}{Neue Option}
-% Es gibt Dokumente mit sehr ausf"uhrlichen Randnotizen, bei denen die
-% Randnotizen bei der Satzspiegelberechnung in den Satzspiegel
-% eingerechnet werden sollten. Siehe hierzu auch die gleichnamige
-% Option des \texttt{typearea} Pakets. In den Hauptklassen muss
-% lediglich daf"ur gesorgt werden, dass der Kopf- und Fu"sbereich in
-% diesem Fall auch die Randnotizen "uberdeckt. Eine Weiterleitung an
-% die Pakete \texttt{typearea} und \texttt{scrpage2} ist nicht
-% erforderlich, da in diesem derselbe Schalter verwendet wird. Dieser
-% wird in den Paketen nur dann definiert, wenn er nicht bereits
-% definiert ist.
-% \begin{macro}{\if@mincl}
-% \begin{macro}{\@mincltrue}
-% \begin{macro}{\@minclfalse}
-% Der Zustand wird in einem Schlater gespeichert. \textbf{Achtung:}
-% Bei Verwendung dieser Option m"ussen gr"ossere DIV-Werte verwendet
-% werden. Siehe dazu weiter unten. F"ur die Briefklasse wird bei
-% Verwendung der Optionen eine Warnung ausgegeben.
-% \begin{macrocode}
-\newif\if@mincl
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\DeclareOption{mpinclude}{%
- \@mincltrue
-%<*scrlettr>
- \ClassWarning{scrlttr2}{%
- You should not use option `mpinclude' with this\MessageBreak
- class}
-%</scrlettr>
- }
-\DeclareOption{mpexclude}{
- \@minclfalse
-%<*scrlettr>
- \ClassWarning{scrlttr2}{%
- You should not use option `mpexclude' with this\MessageBreak
- class}
-%</scrlettr>
- }
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \subsubsection{Optionen f"ur den Briefkopf}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-% Die Gestaltung des Briefkopfes war bei der alten \texttt{scrlettr}
-% Klasse eng begrenzt. Deshalb hatte ich f"ur mich selbst das
-% \texttt{briefkopf} Paket geschrieben und ohne Support
-% ver"offentlicht. Die Funktionalit"at ist nun direkt verf"ugbar. Dazu
-% werden verschiedene Optionen ben"otigt.
-%
-% \begin{option}{fromalign}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Diese Option legt fest, ob der Absender linksb"undig, mittig oder
-% rechtsb"undig gesetzt werden soll.
-% \begin{macro}{\@alignfrom}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Die Einstellung wird in einem nummerisch auszuwertenden Makro
-% gespeichert. Dabei gelten folgende Werte:
-% \begin{center}
-% \begin{tabular}{rl}
-% Wert & Ausrichtung \\\hline
-% 0 & linksb"undig \\
-% 1 & zentriert \\
-% 2 & rechtsb"undig \\
-% 10000 & nicht antasten \\
-% \end{tabular}
-% \end{center}
-% Voreingestellt ist "`nicht antasten"'.
-% \begin{macrocode}
-\newcommand*{\@alignfrom}{0}
-\KOMA@key{fromalign}{%
- \@setnumstate{\@alignfrom}{fromalign}{%
- {left}{0},%
- {center}{1},{centered}{1},{middle}{1},%
- {right}{2},%
- {no}{10000},{false}{10000},{off}{10000}}{#1}%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{fromrule}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Es kann gew"ahlt werden, ob im Absender nach dem Namen oder nach dem
-% gesamten Absender eine Linie gesetzt werden soll.
-% \begin{macro}{\@rulefrom}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Die Einstellung wird in einem nummerisch auszuwertenden Makro
-% gespeichert. Dabei gelten folgende Werte:
-% \begin{center}
-% \begin{tabular}{rl}
-% Wert & Absenderlinie \\\hline
-% 0 & keine \\
-% 1 & unter dem Name \\
-% 2 & unter der Adresse \\
-% \end{tabular}
-% \end{center}
-% Voreingestellt ist keine Linie.
-% \begin{macrocode}
-\newcommand*{\@rulefrom}{0}
-\KOMA@key{fromrule}[below]{%
- \@setnumstate{\@rulefrom}{fromrule}{%
- {false}{0},{no}{0},{off}{0},{aftername}{1},%
- {below}{2},{afteraddress}{2},{true}{2},{yes}{2},{on}{2}%
- }{#1}%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{fromphone}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Ob die Telefonnummer im Absender gesetzt werden soll oder nicht,
-% kann hier angegeben werden.
-% \begin{macro}{\if@phone}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% \begin{macro}{\@phonetrue}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% \begin{macro}{\@phonefalse}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist keine Telefonnummer im Absender.
-% \begin{macrocode}
-\newif\if@phone
-\KOMA@key{fromphone}[true]{\@setif{phone}{#1}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{fromfax}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Ob die Faxnummer im Absender gesetzt werden soll oder nicht,
-% kann hier angegeben werden.
-% \begin{macro}{\if@fax}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% \begin{macro}{\@faxtrue}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% \begin{macro}{\@faxfalse}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist keine Faxnummer im Absender.
-% \begin{macrocode}
-\newif\if@fax
-\KOMA@key{fromfax}[true]{\@setif{fax}{#1}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{fromemail}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Ob die E-Mail-Adresse im Absender gesetzt werden soll oder nicht,
-% kann hier angegeben werden.
-% \begin{macro}{\if@email}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% \begin{macro}{\@emailtrue}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% \begin{macro}{\@emailfalse}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist keine E-Mail-Adresse im Absender.
-% \begin{macrocode}
-\newif\if@email
-\KOMA@key{fromemail}[true]{\@setif{email}{#1}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{fromurl}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Ob die URL auf eine Homepage im Absender gesetzt werden soll oder
-% nicht, kann hier angegeben werden.
-% \begin{macro}{\if@www}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% \begin{macro}{\@wwwtrue}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% \begin{macro}{\@wwwfalse}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist keine URL im Absender.
-% \begin{macrocode}
-\newif\if@www
-\KOMA@key{fromurl}[true]{\@setif{www}{#1}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{fromlogo}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Ob ein Logo in den Briefkopf gesetzt werden soll oder
-% nicht, kann hier angegeben werden.
-% \begin{macro}{\if@logo}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% \begin{macro}{\@logotrue}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% \begin{macro}{\@logofalse}
-% \changes{v2.8q}{2002/01/25}{Neu}
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist kein Logo im Briefkopf.
-% \begin{macrocode}
-\newif\if@logo
-\KOMA@key{fromlogo}[true]{\@setif{logo}{#1}}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-%
-% \subsubsection{Optionen f"ur den Kopf der Folgeseiten in Briefen}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-% \begin{option}{pagenumber}
-% \changes{v2.8q}{2002/01/31}{Neu}
-% Bei Briefen kann gew"ahlt werden, ob auf Folgeseiten die Seitenzahl
-% im Kopf oder im Fu"s stehen soll. Dabei kann zwischen Seitenzahl
-% rechts, links oder zentriert gew"ahlt werden. Voreingestellt ist der
-% Fu"s und mittig.
-% \begin{macro}{\@pageat}
-% \changes{v2.8q}{2002/01/31}{Neu}
-% In dieser nummerisch auswertbaren Variablen wird gespeichert, wo die
-% Seitenzahl stehen soll. Dabei gilt:
-% \begin{center}\begin{tabular}{rl}
-% Wert & Bedeutung f"ur die Seitenzahl\\\hline
-% -1 & keine \\
-% 0 & im Kopf links \\
-% 1 & im Kopf mittig \\
-% 2 & im Kopf rechts \\
-% 3 & im Fu"s links \\
-% 4 & im Fu"s mittig \\
-% 5 & im Fu"s rechts \\
-% \end{tabular}\end{center}
-% \begin{macrocode}
-\newcommand*{\@pageat}{4}
-\KOMA@key{pagenumber}{%
- \begingroup
- \@setnumstate{\@tempa}{pagenumber}{%
- {no}{-1},{off}{-1},{false}{-1},%
- {topleft}{0},{headleft}{0},%
- {topmiddle}{1},{topcenter}{1},{topcentered}{1},%
- {headmiddle}{1},{headcenter}{1},{headcentered}{1},%
- {topright}{2},{headright}{2},%
- {botleft}{3},{footleft}{3},%
- {botmiddle}{4},{botcenter}{4},{botcentered}{4},%
- {footmiddle}{4},{footcenter}{4},{footcentered}{4},%
- {botright}{5},{footright}{5},%
- {top}{10},{head}{10},{bot}{11},{foot}{11},%
- {left}{20},{middle}{21},{center}{21},{centered}{21},{right}{22}%
- }{#1}%
- \ifnum\@tempa<10
- \edef\@tempa{\endgroup\edef\noexpand\@pageat{\@tempa}}%
- \else
- \ifnum\@tempa<20
- \@tempcnta\@pageat\relax
- \ifnum\@tempcnta>2
- \advance\@tempcnta by -3
- \fi
- \ifnum\@tempa=11
- \advance\@tempcnta by 3
- \fi
- \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}%
- \else
- \ifnum\@pageat>2
- \edef\@pageat{3}%
- \else
- \edef\@pageat{0}
- \fi
- \@tempcnta\@tempa
- \advance\@tempcnta by -20
- \advance\@tempcnta by\@pageat
- \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}%
- \fi
- \fi
- \@tempa
- }
-% \end{macrocode}
-% \end{macro}
-% \end{option}
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-% \subsubsection{Standardoptionen}
-%
-% \begin{option}{10pt}
-% \begin{option}{11pt}
-% \begin{option}{12pt}
-% \begin{macro}{\@ptsize}
-% Wir definieren \cs{@ptsize} als Grundschriftgr"o"se minus
-% 10\,pt. Hier wird allerdings zun"achst nur ein Dummy definiert,
-% damit sp"ater \cs{renewcommand} verwendet werden kann.
-% \begin{macrocode}
-\newcommand*\@ptsize{%
-%<scrlettr> 2%
- }
-% \end{macrocode}
-% \end{macro}
-% \begin{option}{fontsize}
-% \begin{macrocode}
-%<*scrlettr>
-\KOMA@key{fontsize}{%
- \begingroup
- \setlength{\@tempdima}{#1}
- \addtolength{\@tempdima}{-10\p@}
- \edef\@tempa{\endgroup\noexpand\renewcommand*\noexpand\@ptsize{%
- \strip@pt\@tempdima}}
- \@tempa
- }
-%</scrlettr>
-\DeclareOption{10pt}{%
-%<!scrlettr> \renewcommand*\@ptsize{0}
-%<scrlettr> \@ObsoleteOption{fontsize=10pt}
- }
-\DeclareOption{11pt}{%
-%<!scrlettr> \renewcommand*\@ptsize{1}
-%<scrlettr> \@ObsoleteOption{fontsize=11pt}
- }
-\DeclareOption{12pt}{%
-%<!scrlettr> \renewcommand*\@ptsize{2}
-%<scrlettr> \@ObsoleteOption{fontsize=12pt}
- }
-% \end{macrocode}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-%
-% \begin{option}{oneside}
-% \begin{option}{twoside}
-% \changes{v2.9o}{2003/02/08}{Typofix}
-% \begin{option}{draft}
-% \begin{option}{final}
-% \begin{macrocode}
-%<*scrlettr>
-\KOMA@key{twoside}[true]{\@setif{twoside}{#1}%
- \if@twoside\@mparswitchtrue\else\@mparswitchfalse\fi}
-%</scrlettr>
-\DeclareOption{oneside}{%
-%<!scrlettr> \@twosidefalse \@mparswitchfalse
-%<scrlettr> \@ObsoleteOption{twoside=false}
- }
-%<!scrlettr>\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
-%<*scrlettr>
-\KOMA@key{draft}[true]{%
- \begingroup
- \let\@drafttrue=\@tempswatrue
- \let\@draftfalse=\@tempswafalse
- \@setif{draft}{#1}
- \if@tempswa
- \global\setlength{\overfullrule}{5\p@}
- \else
- \global\setlength{\overfullrule}{\z@}
- \fi
- \endgroup
- }
-%</scrlettr>
-%<!scrlettr>\DeclareOption{draft}{\setlength{\overfullrule}{5pt}}
-\DeclareOption{final}{%
-%<!scrlettr> \setlength{\overfullrule}{\z@}
-%<scrlettr> \@ObsoleteOption{draft=false}
- }
-% \end{macrocode}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-%
-% \begin{option}{titlepage}
-% \begin{option}{notitlepage}
-% \begin{macro}{\if@titlepage}
-% \begin{macro}{\@titlepagetrue}
-% \begin{macro}{\@titlepagefalse}
-% Briefe haben keine Titelei, die "ubrigen Klassen bieten zwei Arten
-% der Titelei.
-% \begin{macrocode}
-%<*!scrlettr>
-\newif\if@titlepage
-%<scrartcl>\@titlepagefalse
-%<scrreprt|scrbook>\@titlepagetrue
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\DeclareOption{titlepage}{\@titlepagetrue}
-\DeclareOption{notitlepage}{\@titlepagefalse}
-%</!scrlettr>
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-% \begin{option}{openright}
-% \begin{option}{openany}
-% \begin{macro}{\if@openright}
-% \begin{macro}{\@openrighttrue}
-% \begin{macro}{\@openrightfalse}
-% Bei Artikeln und Briefen gibt es keine Kapitel also auch keine
-% Schalter, damit diese immer auf rechten Seiten beginnen. Bei den
-% anderen Klassen schon.
-% \begin{macrocode}
-%<*!scrartcl&!scrlettr>
-\newif\if@openright
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\DeclareOption{openright}{\@openrighttrue}
-\DeclareOption{openany}{\@openrightfalse}
-%</!scrartcl&!scrlettr>
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-% \begin{option}{onecolumn}
-% \begin{option}{twocolumn}
-% \begin{option}{leqno}
-% \begin{option}{fleqno}
-% Briefe sind immer einspaltig und kennen keine Gleichungen, also gibt
-% es f"ur diese auch die entsprechenden Optionen nicht.
-% \begin{macrocode}
-%<*!scrlettr>
-\DeclareOption{onecolumn}{\@twocolumnfalse}
-\DeclareOption{twocolumn}{\@twocolumntrue}
-\DeclareOption{leqno}{\input{leqno.clo}}
-\DeclareOption{fleqn}{\input{fleqn.clo}}
-%</!scrlettr>
-% \end{macrocode}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-%
-% \begin{option}{openbib}
-% \changes{v2.3g}{1996/01/14}{\cs{if@openbib} (\cs{@openbibtrue},
-% \cs{@openbibfalse} entfernt.}
-% \changes{v2.3g}{1996/01/14}{Definition der openbib Option neu
-% implementiert.}
-% \begin{macro}{\@openbib@code}
-% \begin{macro}{\newblock}
-% Briefe haben kein Literaturverzeichnis. Alle anderen Klassen bieten
-% eine alternative Darstellung daf"ur.
-% \begin{macrocode}
-%<*!scrlettr>
-\DeclareOption{openbib}{%
- \AtEndOfPackage{%
- \renewcommand*\@openbib@code{%
- \advance\leftmargin\bibindent
- \itemindent -\bibindent
- \listparindent \itemindent
- \parsep \z@
- }%
- \renewcommand*\newblock{\par}}%
-}
-%</!scrlettr>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \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 B"uchern und Briefen gibt es keine Zusammenfassung als
-% gesonderte Umgebung.
-%
-% \begin{macro}{\if@abstrt}
-% \begin{macro}{\@abstrttrue}
-% \begin{macro}{\@abstrtfalse}
-% Die Enscheidung wird in einem Schalter gespeichert.
-% \begin{macrocode}
-%<*!scrbook&!scrlettr>
-\newif\if@abstrt
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-\DeclareOption{abstracton}{\@abstrttrue}
-\DeclareOption{abstractoff}{\@abstrtfalse}
-%</!scrbook&!scrlettr>
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \subsubsection{Briefspezifische Optionen f"ur die erste Seite}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-% \begin{option}{enlargefirstpage}
-% \changes{v2.8o}{2001/09/18}{Neue Option}
-% Normalerweise wird der Text der ersten Seite entsprechend dem
-% normalen Satzspiegel gesetzt. Ist allerdings der Fu"s der ersten
-% Seite zu hoch, dann wird der Satzspiegel vertikal entsprechend
-% verk"urzt. Mit der Option \texttt{firstpageenlarge} kann erzwungen
-% werden, dass im umgekehrten Fall, der Satzspiegel vertikal
-% verl"angert wird.
-% \begin{macro}{\if@enlargefp}
-% \begin{macro}{\@enlargefptrue}
-% \begin{macro}{\@enlargefpfalse}
-% Gespeichert wird die Information "uber die Optionen in einem
-% Schalter.
-% \begin{macrocode}
-\newif\if@enlargefp
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\KOMA@key{enlargefirstpage}[true]{%
- \@setif[@enlargefp]{enlargefirstpage}{#1}}
-% \end{macrocode}
-% \end{option}
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-%
-% \subsubsection{Optionen f"ur das Absatzlayout}
-%
-% Ab Version 2.8i k"onnen wir auch mit Avsatzlayouts umgehen, die einen
-% Absatzabstand statt einem Absatzeinzug verlangen. Gesteuert wird
-% dies "uber Optionen und Schalter.
-%
-% \begin{macro}{\if@parskip}
-% \changes{v2.8i}{2001/07/22}{Neu}
-% \changes{v2.8q}{2001/11/06}{Entf"allt}
-% Dieser Schalter steuert intern, ob mit Absatzabstand oder
-% Absatzeinzug gearbeitet werden soll. Voreingestellt ist wie bisher
-% der Absatzeinzug.
-% \begin{macrocode}
-\newif\if@parskip
-% \end{macrocode}
-% \end{macro}
-% \begin{option}{parskip}
-% \changes{v2.8i}{2001/07/22}{Neu}
-% \begin{option}{parskip-}
-% \changes{v2.8l}{2001/08/16}{Neu}
-% \begin{option}{parskip+}
-% \changes{v2.8i}{2001/07/22}{Neu}
-% \begin{option}{parskip*}
-% \changes{v2.8i}{2001/07/22}{Neu}
-% \begin{option}{halfparskip}
-% \changes{v2.8i}{2001/07/22}{Neu}
-% \begin{option}{halfparskip-}
-% \changes{v2.8l}{2001/08/16}{Neu}
-% \begin{option}{halfparskip+}
-% \changes{v2.8i}{2001/07/22}{Neu}
-% \begin{option}{halfparskip*}
-% \changes{v2.8i}{2001/07/22}{Neu}
-% \begin{option}{parindent}
-% \changes{v2.8i}{2001/07/22}{Neu}
-% Diese vier Optionen steuern die Umschaltung zwischen den Modi. Dabei
-% schalten alle \texttt{parskip}-Optionen einen Absatzabstand ein,
-% wohingegen die \texttt{parindent}-Option den Absatzeinzug
-% einschaltet. Die \texttt{+}-Variante sorgt au"serdem daf"ur, dass
-% die letzte Zeile eines Absatzes maximal zu zweidrittel gef"ullt
-% wird. Entsprechend sorgt die \texttt{*}-Variante f"ur eine maximale
-% F"ullung von drei Vierteln. Die normale Variante sorgt lediglich
-% f"ur einen freien Raum von 1\,em. Die \texttt{-}-Variante sorgt f"ur
-% "uberhaupt nichts.
-% \begin{macro}{\scr@parskip}
-% \changes{v2.8i}{2001/07/22}{Neu}
-% Hiermit wird ggf. der Absatzabstand eingestellt.
-% \begin{macro}{scr@parfillskip}
-% \changes{v2.8i}{2001/07/22}{Neu}
-% \begin{macro}{\@parskip@indent}
-% \changes{v2.8q}{2001/11/06}{Neu}
-% Hiermit wird ggf. die F"ullung der letzten Absatzzeile eingestellt.
-% einzustellen ist.
-% \begin{macrocode}
-\newcommand*{\scr@parskip}{\setlength{\parskip}{\z@}}
-\newcommand*{\scr@parfillskip}{\setlength{\parfillskip}{\z@}}
-%<*!scrlettr>
-\DeclareOption{parskip}{\@parskiptrue%
- \renewcommand*{\scr@parskip}{%
- \setlength{\parskip}{\baselineskip}%
- \addtolength{\parskip}{\z@ \@plus .1\baselineskip}}
- \renewcommand*{\scr@parfillskip}{%
- \setlength{\parfillskip}{1em \@plus 1fil}}}
-\DeclareOption{parskip-}{\@parskiptrue%
- \renewcommand*{\scr@parskip}{%
- \setlength{\parskip}{\baselineskip}%
- \addtolength{\parskip}{\z@ \@plus .1\baselineskip}}
- \renewcommand*{\scr@parfillskip}{%
- \setlength{\parfillskip}{\z@ \@plus 1fil}}}
-\DeclareOption{parskip+}{\@parskiptrue%
- \renewcommand*{\scr@parskip}{%
- \setlength{\parskip}{\baselineskip}%
- \addtolength{\parskip}{\z@ \@plus .1\baselineskip}}
- \renewcommand*{\scr@parfillskip}{%
- \setlength{\parfillskip}{.3333\linewidth}
- \addtolength{\parfillskip}{\z@ \@plus 1fil}}}
-\DeclareOption{parskip*}{\@parskiptrue%
- \renewcommand*{\scr@parskip}{%
- \setlength{\parskip}{\baselineskip}%
- \addtolength{\parskip}{\z@ \@plus .1\baselineskip}}
- \renewcommand*{\scr@parfillskip}{%
- \setlength{\parfillskip}{.25\linewidth}
- \addtolength{\parfillskip}{\z@ \@plus 1fil}}}
-\DeclareOption{halfparskip}{\@parskiptrue%
- \renewcommand*{\scr@parskip}{%
- \setlength{\parskip}{.5\baselineskip}%
- \addtolength{\parskip}{\z@ \@plus .5\baselineskip}}
- \renewcommand*{\scr@parfillskip}{%
- \setlength{\parfillskip}{1em \@plus 1fil}}}
-\DeclareOption{halfparskip-}{\@parskiptrue%
- \renewcommand*{\scr@parskip}{%
- \setlength{\parskip}{.5\baselineskip}%
- \addtolength{\parskip}{\z@ \@plus .5\baselineskip}}
- \renewcommand*{\scr@parfillskip}{%
- \setlength{\parfillskip}{\z@ \@plus 1fil}}}
-\DeclareOption{halfparskip+}{\@parskiptrue%
- \renewcommand*{\scr@parskip}{%
- \setlength{\parskip}{.5\baselineskip}%
- \addtolength{\parskip}{\z@ \@plus .5\baselineskip}}
- \renewcommand*{\scr@parfillskip}{%
- \setlength{\parfillskip}{.3333\linewidth}
- \addtolength{\parfillskip}{\z@ \@plus 1fil}}}
-\DeclareOption{halfparskip*}{\@parskiptrue%
- \renewcommand*{\scr@parskip}{%
- \setlength{\parskip}{.5\baselineskip}%
- \addtolength{\parskip}{\z@ \@plus .5\baselineskip}}
- \renewcommand*{\scr@parfillskip}{%
- \setlength{\parfillskip}{.25\linewidth}
- \addtolength{\parfillskip}{\z@ \@plus 1fil}}}
-\DeclareOption{parindent}{\@parskipfalse}
-%</!scrlettr>
-%<*scrlettr>
-\newcommand*{\@parskip@indent}{}
-\KOMA@key{parskip}[true]{%
- \begingroup%
- \@tempcnta=-1\edef\@tempa{#1}%
- \def\@tempb{false}\ifx\@tempa\@tempb\@tempcnta=0\fi
- \def\@tempb{off}\ifx\@tempa\@tempb\@tempcnta=0\fi
- \def\@tempb{full-}\ifx\@tempa\@tempb\@tempcnta=1\fi
- \def\@tempb{half-}\ifx\@tempa\@tempb\@tempcnta=2\fi
- \def\@tempb{full}\ifx\@tempa\@tempb\@tempcnta=3\fi
- \def\@tempb{true}\ifx\@tempa\@tempb\@tempcnta=3\fi
- \def\@tempb{on}\ifx\@tempa\@tempb\@tempcnta=3\fi
- \def\@tempb{half}\ifx\@tempa\@tempb\@tempcnta=4\fi
- \def\@tempb{full+}\ifx\@tempa\@tempb\@tempcnta=5\fi
- \def\@tempb{half+}\ifx\@tempa\@tempb\@tempcnta=6\fi
- \def\@tempb{full*}\ifx\@tempa\@tempb\@tempcnta=7\fi
- \def\@tempb{half*}\ifx\@tempa\@tempb\@tempcnta=8\fi
- \let\@tempa\endgroup
- \ifnum \@tempcnta <\z@\relax
- \ClassError{%
- scrlttr2%
- }{You've used an unknown option value}{%
- You've tried to set option `parskip' to value `#1', but
- allowed values\MessageBreak
- are `full-', `full', `full+', `full*', `half-',
- `half', `half+',\MessageBreak
- `half*', `false' and `off' only.\MessageBreak
- You may also use `on' instead of `full'.}%
- \else\ifnum \@tempcnta =\z@
- \def\@tempa{\endgroup\@parskipfalse\@parskip@indent}%
- \else
- \let\@tempb=\relax\let\@tempc=\relax
- \ifodd \@tempcnta
- \def\@tempb{\def\noexpand\scr@parskip{%
- \noexpand\setlength{\parskip}{\baselineskip}%
- \noexpand\addtolength{\parskip}{%
- \z@ \@plus .1\baselineskip}}}%
- \else
- \def\@tempb{\def\noexpand\scr@parskip{%
- \noexpand\setlength{\parskip}{.5\baselineskip}%
- \noexpand\addtolength{\parskip}{%
- \z@ \@plus .5\baselineskip}}}%
- \fi
- \advance\@tempcnta by \m@ne
- \divide\@tempcnta by \tw@
- \ifcase\@tempcnta
- \def\@tempc{\def\noexpand\scr@parfillskip{%
- \noexpand\setlength{\parfillskip}{\z@ \@plus 1fil}}}%
- \or
- \def\@tempc{\def\noexpand\scr@parfillskip{%
- \noexpand\setlength{\parfillskip}{1em \@plus 1fil}}}%
- \or
- \def\@tempc{\def\noexpand\scr@parfillskip{%
- \noexpand\setlength{\parfillskip}{.3333\linewidth}%
- \noexpand\addtolength{\parfillskip}{\z@ \@plus 1fil}}}%
- \or
- \def\@tempc{\def\noexpand\scr@parfillskip{%
- \noexpand\setlength{\parfillskip}{.25\linewidth}%
- \noexpand\addtolength{\parfillskip}{\z@ \@plus 1fil}}}%
- \fi
- \edef\@tempa{%
- \endgroup\noexpand\@parskiptrue\@tempb\@tempc%
- \noexpand\@parskip@indent}%
- \fi
- \fi
- \@tempa
- }
-%</scrlettr>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-%
-%
-% \subsubsection{Optionen zur Steuerung der Numerierung}
-%
-% In Briefen gibt es keine Gliederung also auch keine Optionen f"ur
-% die Steuerung der Nummerierung.
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% \begin{option}{pointednumbers}
-% \changes{v2.3h}{1995/01/19}{Option zum Einschalten des Punktes nach
-% Nummern.}
-% \changes{v2.4g}{1996/11/04}{Die Option hei"st nun wirklich so, bei
-% \texttt{pointednumber} wird explizit ein
-% Fehler gemeldet.}
-% \changes{v2.4g}{1996/11/04}{\cs{@altsecnumformatfalse} wird direkt auf
-% \cs{@altsecnumformattrue} gesetzt.}
-% \begin{option}{pointlessnumbers}
-% \changes{v2.3h}{1995/01/19}{Option zur Verhinderung des Punktes nach
-% Nummern.}
-% \changes{v2.4g}{1996/11/04}{Die Option hei"st nun wirklich so, bei
-% \texttt{pointlessnumber} wird explizit
-% ein Fehler gemeldet.}
-% \changes{v2.4g}{1996/11/04}{\cs{@altsecnumformattrue} wird direkt auf
-% \cs{@altsecnumformatfalse} gesetzt.}
-% Normalerweise wird automatisch entschieden, ob Nummern mit einem Punkt
-% enden m"ussen oder nicht. Um dies abzuschalten, mu"s nur der
-% gew"unschte Zustand eingeschaltet und die Umschaltm"oglichkeit entfernt
-% werden. Dies kann jedoch erst am Ende der Class geschehen.
-% \begin{macrocode}
-\DeclareOption{pointednumbers}
- {\AtEndOfClass{\@altsecnumformattrue
- \global\let\@altsecnumformatfalse\@altsecnumformattrue}}
-\DeclareOption{pointednumber}
- {\AtEndOfClass{\@altsecnumformattrue
- \global\let\@altsecnumformatfalse\@altsecnumformattrue}
- \ClassError
-%<scrbook> {scrbook}
-%<scrreprt> {scrreprt}
-%<scrartcl> {scrartcl}
- {undefined option `pointednumber' instead of `pointednumbers'}
- {You've used the class-option `pointednumber'.\MessageBreak
- This name was an implementation-error at versions from 2.3h till
- 2.4f.\MessageBreak
- The correct name is `pointednumbers'.
- Change this at your document.\MessageBreak
- If you'll continue, the option `pointednumbers' will be used.}}
-\DeclareOption{pointlessnumbers}
- {\AtEndOfClass{\@altsecnumformatfalse
- \global\let\@altsecnumformattrue\@altsecnumformatfalse}}
-\DeclareOption{pointlessnumber}
- {\AtEndOfClass{\@altsecnumformatfalse
- \global\let\@altsecnumformattrue\@altsecnumformatfalse}
- \ClassError
-%<scrbook> {scrbook}
-%<scrreprt> {scrreprt}
-%<scrartcl> {scrartcl}
- {undefined option `pointlessnumber' instead of `pointlessnumbers'}
- {You've used the class-option `pointlessnumber'.\MessageBreak
- This name was an implementation-error at versions from 2.3h till
- 2.4f.\MessageBreak
- The correct name is `pointlessnumbers'.
- Change this at your document.\MessageBreak
- If you'll continue, the option `pointlessnumbers' will be used.}}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-% \subsubsection{Optionen zur Steuerung der "Uberschriften}
-%
-% In Briefen gibt es keine Gliederung also auch keine Optionen f"ur
-% die Steuerung der "Uberschriften.
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% \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{macro}{\@bigheadings}
-% \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{macro}{\@normalheadings}
-% \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}
-% \begin{macro}{\@smallheadings}
-% 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{chapterheadstartvskip}
-% und \cs{chapterheadendvskip} an Stelle von
-% festen vertikalen Abst"anden am Anfang und
-% am Ende eines Kapitels.}
-% \changes{v2.7c}{2000/01/19}{Vertikale Abst"ande nach der
-% Kapitel"uberschrift geringf"ugig
-% ver"andert und mit Leim versehen,
-% um mit \cs{flushbottom} zu besseren
-% Ergebnissen zu gelangen.}
-% \begin{macrocode}
-\newcommand\@bigheadings
- {\AtEndOfClass{
-%<*scrbook|scrreprt>
- \renewcommand*{\chapterheadstartvskip}{\vspace*{2.3\baselineskip}}
- \renewcommand*{\chapterheadendvskip}{\vspace{1.725\baselineskip
- \@plus .115\baselineskip \@minus .192\baselineskip}}
-%</scrbook|scrreprt>
- \let\size@part\Huge
- \let\size@partnumber\huge
-%<scrbook|scrreprt> \let\size@chapter\huge
- \let\size@section\Large
- \let\size@subsection\large
- \let\size@subsubsection\normalsize
- \let\size@paragraph\normalsize
- \let\size@subparagraph\normalsize}}
-\DeclareOption{bigheadings}{\@bigheadings}
-\DeclareOption{bigheading}{\@bigheadings
- \ClassError
-%<scrbook> {scrbook}
-%<scrreprt> {scrreprt}
-%<scrartcl> {scrartcl}
- {undefined option `bigheading' instead of `bigheadings'}
- {You've used the old option name `bigheading'!\MessageBreak
- The correct name of the option is `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>
- \renewcommand*{\chapterheadstartvskip}{\vspace*{2\baselineskip}}
- \renewcommand*{\chapterheadendvskip}{\vspace{1.5\baselineskip
- \@plus .1\baselineskip \@minus .167\baselineskip}}
-%</scrbook|scrreprt>
- \let\size@part\huge
- \let\size@partnumber\huge
-%<*scrbook|scrreprt>
- \let\size@chapter\LARGE
- \let\size@section\Large
- \let\size@subsection\large
-%</scrbook|scrreprt>
-%<*scrartcl>
- \let\size@section\large
- \let\size@subsection\normalsize
-%</scrartcl>
- \let\size@subsubsection\normalsize
- \let\size@paragraph\normalsize
- \let\size@subparagraph\normalsize}}
-\DeclareOption{normalheadings}{\@normalheadings}
-\DeclareOption{normalheading}{\@normalheadings
- \ClassError
-%<scrbook> {scrbook}
-%<scrreprt> {scrreprt}
-%<scrartcl> {scrartcl}
- {undefined option `normalheading' instead of `normalheadings'}
- {You've used the old option name `normalheading'!\MessageBreak
- The correct name of the option is `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>
- \renewcommand*{\chapterheadstartvskip}{\vspace*{1.8\baselineskip}}
- \renewcommand*{\chapterheadendvskip}{\vspace{1.35\baselineskip
- \@plus 0.09\baselineskip \@minus .15\baselineskip}}
-%</scrbook|scrreprt>
- \let\size@part\LARGE
- \let\size@partnumber\LARGE
-%<*scrbook|scrreprt>
- \let\size@chapter\Large
- \let\size@section\large
-%</scrbook|scrreprt>
-%<*scrartcl>
- \let\size@section\normalsize
-%</scrartcl>
- \let\size@subsection\normalsize
- \let\size@subsubsection\normalsize
- \let\size@paragraph\normalsize
- \let\size@subparagraph\normalsize}}
-\DeclareOption{smallheadings}{\@smallheadings}
-\DeclareOption{smallheading}{\@smallheadings
- \ClassError
-%<scrbook> {scrbook}
-%<scrreprt> {scrreprt}
-%<scrartcl> {scrartcl}
- {undefined option `smallheading' instead of `smallheadings'}
- {You've used the old option name `smallheading'!\MessageBreak
- The correct name of the option is `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{macro}
-% \end{option}
-% \end{macro}
-% \end{option}
-% \end{macro}
-% \end{option}
-%
-%
-% \begin{option}{chapterprefix}
-% \changes{v2.8}{2001/06/15}{Neu}
-% \begin{option}{nochapterprefix}
-% \changes{v2.8}{2001/06/15}{Neu}
-% Normalerweise verwenden |scrbook.cls| und |scrreprt.cls| nicht die
-% enorm gro"sen "Uberschriften von |book.cls| und |report.cls|, die mit
-% einem Absatz "`Kapitel \emph{Nummer}"' beginnen. Mit der Option
-% |chapterprefix| kann dies jetzt wieder aktiviert werden. Die Option,
-% zur Deaktivierung hei"st entsprechend |nochapterprefix|. Um f"ur
-% Spezialanwendungen auch innerhalb des Dokuments eine Umschaltung zu
-% erm"oglichen bzw. f"ur die Optionen "`appendixprefix"' und
-% "`noappendixprefix"' erfolgt die Umschaltung durch einen Schalter.
-% \begin{macro}{\if@chapterprefix}
-% \begin{macro}{\@chapterprefixtrue}
-% \begin{macro}{\@chapterprefixfalse}
-% \begin{macrocode}
-%<*scrbook|scrreprt>
-\newif\if@chapterprefix
-\DeclareOption{chapterprefix}{\@chapterprefixtrue}
-\DeclareOption{nochapterprefix}{\@chapterprefixfalse}
-%</scrbook|scrreprt>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-% \end{option}
-%
-%
-% \begin{option}{appendixprefix}
-% \changes{v2.8}{2001/06/15}{Neu}
-% \begin{option}{noappendixprefix}
-% \changes{v2.8}{2001/06/15}{Neu}
-% Will man abweichend von den Optionen |chapterprefix| und
-% |nochapterprefix| die gro"sen "Uberschriften f"ur den Anhang
-% aktivieren oder deaktivieren, so kann man das mit dieser Option
-% erreichen. Allerdings setzt diese keinen Schalter, sondern ein
-% Zusatzmakro, das auch f"ur andere Zwecke genutzt werden kann.
-% \begin{macrocode}
-%<*scrbook|scrreprt>
-\DeclareOption{appendixprefix}{\def\appendixmore{\@chapterprefixtrue}}
-\DeclareOption{noappendixprefix}{\def\appendixmore{\@chapterprefixfalse}}
-%</scrbook|scrreprt>
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% Allerdings gibt es bei Briefen ebenfalls den Befehl
-% |\cleardoublepage|, also auch die zugeh"origen Optionen.
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-% \begin{option}{cleardoubleempty}
-% \changes{v2.8a}{2001/06/18}{Neu}
-% \begin{option}{cleardoubleplain}
-% \changes{v2.8a}{2001/06/18}{Neu}
-% \begin{option}{cleardoublestandard}
-% \changes{v2.8a}{2001/06/18}{Neu}
-% \begin{option}{cleardoublepage}
-% \changes{v2.8q}{2001/10/17}{Neu bei \texttt{scrlttr2}}
-% \changes{v2.8q}{2001/11/06}{\cs{cleardoublestandardpage} statt
-% \cs{cleardoublestandard}}
-% \begin{macro}{\cleardoublestandardpage}
-% \changes{v2.8a}{2001/06/18}{Neu}
-% \begin{macro}{\cleardoubleemptypage}
-% \changes{v2.8a}{2001/06/18}{Neu}
-% \begin{macro}{\cleardoubleplainpage}
-% \changes{v2.8a}{2001/06/18}{Neu}
-% Bei Verwendung von |twoside| und |openright| bei den Klassen
-% |scrbook.cls| und |scrreprt.cls| wird bei |\chapter| implizit
-% |\cleardoublepage| ausgef"uhrt. Das f"uhrt ggf. normalerweise zu
-% einer linken Seite, auf der noch der Kolumnentitel des vorherigen
-% Kapitels und eine Seitenzahl steht. H"aufig wird stattdessen nur
-% eine Seitenzahl oder auch gar nichts gew"unscht. Es soll also der
-% Seitenstil |plain| oder |empty| verwendet werden. Dies wird mit
-% den beiden neuen Optionen erm"oglicht. Dazu werden auch gleich drei
-% neue Makros definiert:
-% \begin{macrocode}
-\newcommand*{\cleardoublestandardpage}{}
-\let\cleardoublestandardpage\cleardoublepage
-\newcommand*{\cleardoubleemptypage}{\clearpage%
- {\thispagestyle{empty}\cleardoublestandardpage}}
-\newcommand*{\cleardoubleplainpage}{\clearpage%
- {\thispagestyle{plain}\cleardoublestandardpage}}
-%<*!scrlettr>
-\DeclareOption{cleardoubleempty}{%
- \let\cleardoublepage\cleardoubleemptypage}
-\DeclareOption{cleardoubleplain}{%
- \let\cleardoublepage\cleardoubleplainpage}
-\DeclareOption{cleardoublestandard}{%
- \let\cleardoublepage\cleardoublestandardpage}
-%</!scrlettr>
-%<*scrlettr>
-\DeclareOption{cleardoubleempty}{%
- \@ObsoleteOption{cleardoublepage=empty}}
-\DeclareOption{cleardoubleplain}{%
- \@ObsoleteOption{cleardoublepage=plain}}
-\DeclareOption{cleardoublestandard}{%
- \@ObsoleteOption{cleardoublepage=standard}}
-\KOMA@key{cleardoublepage}{%
- \begingroup%
- \def\@tempc{%
- \endgroup%
- \ClassError{%
- scrlttr2%
- }{You've used an unknown switch value}{%
- You've tried to set switch `cleardoublepage' to value
- `#1', but\MessageBreak
- allowed switch values are `emtpy', `plain' and
- `standard' only.}}
- \edef\@tempa{#1}%
- \def\@tempb{empty}\ifx\@tempa\@tempb%
- \def\@tempc{\endgroup%
- \let\cleardoublepage\cleardoubleemptypage}\fi
- \def\@tempb{plain}\ifx\@tempa\@tempb%
- \def\@tempc{\endgroup%
- \let\cleardoublepage\cleardoubleplainpage}\fi
- \def\@tempb{standard}\ifx\@tempa\@tempb%
- \def\@tempc{\endgroup%
- \let\cleardoublepage\cleardoublestandardpage}\fi
- \@tempc}
-%</scrlettr>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-%
-%
-% \subsubsection{Optionen zur Beeinflussung des Inhaltsverzeichnisses}
-%
-% In Briefen gibt es keine Gliederung also auch keine Optionen f"ur
-% die Beinflussung des Inhaltsverzeichnisses.
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% \begin{option}{liststotoc}
-% \changes{v2.3h}{1995/01/21}{Neue Option}
-% \changes{v2.8b}{2001/06/26}{Verwendung von \cs{float@headings}}
-% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in
-% \cs{float@listhead}}
-% Die Option sorgt daf"ur, da"s das Abbildungs- und das
-% Tabellenverzeichnis im Inhalsverzeichnis aufgef"uhrt werden. Dazu
-% muss nur \cs{float@listhead} umdefiniert werden.
-% \changes{v2.4a}{1996/03/13}{\cs{listtabelname} durch \cs{listtablename}
-% ersetzt.}
-% \begin{macro}{\float@listhead}
-% \begin{macrocode}
-\DeclareOption{liststotoc}{%
- \AtEndOfClass{%
- \renewcommand*{\float@listhead}[1]{%
-%<scrartcl> \addsec{#1}
-%<!scrartcl> \addchap{#1}
- \@mkboth{#1}{#1}%
- \if@dynlist%
- \newcommand*{\scr@starttoc}{}%
- \let\scr@starttoc=\@starttoc%
- \renewcommand*{\@starttoc}[1]{%
- \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}%
- \fi%
- }}
- }
-% \end{macrocode}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{liststotocnumbered}
-% \changes{v2.8q}{2002/04/08}{dem langj"ahrigen Druck nachgegeben}
-% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel}
-% Die Option sorgt daf"ur, da"s das Abbildungs- und das
-% Tabellenverzeichnis nummerierte Kapitel/Abschnitte werden. Dazu
-% muss nur \cs{float@listhead} umdefiniert werden. Ich halte diese
-% Option selbst f"ur wenig sinnvoll.
-% \begin{macro}{\float@listhead}
-% \begin{macrocode}
-\DeclareOption{liststotocnumbered}{%
- \AtEndOfClass{%
- \renewcommand*{\float@listhead}[1]{%
-%<scrartcl> \section{#1}
-%<!scrartcl> \chapter{#1}
-%<scrartcl> \@mkboth{\sectionmarkformat #1}{\sectionmarkformat #1}%
-%<!scrartcl> \@mkboth{\chaptermarkformat #1}{\chaptermarkformat #1}%
- \if@dynlist%
- \newcommand*{\scr@starttoc}{}%
- \let\scr@starttoc=\@starttoc%
- \renewcommand*{\@starttoc}[1]{%
- \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}%
- \fi%
- }}
- }
-% \end{macrocode}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{bibtotoc}
-% \changes{v2.3h}{1995/01/21}{Neue Option.}
-% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} eingef"ugt.}
-% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} eingef"ugt.}
-% \changes{v2.7}{2001/01/03}{Klammerung koorigiert.}
-% \changes{v2.7j}{2001/06/27}{Setzen der Pr"aambel in die
-% thebibliography-Umgebung verschoben}
-% 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.}
-% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} eingef"ugt.}
-% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} eingef"ugt.}
-% \changes{v2.7}{2001/01/03}{Klammerung koorigiert.}
-% \changes{v2.7b}{2001/01/05}{\cs{setchapterpreamble} wird verwendet.}
-% \changes{v2.7i}{2001/05/17}{\cs{chapter} statt \cs{addchap}}
-% \changes{v2.7j}{2001/06/27}{Setzen der Pr"aambel in die
-% thebibliography-Umgebung verschoben}
-% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel}
-% Wobei auch eine normal numerierte Variante m"oglich ist.
-% \begin{macro}{\bib@heading}
-% \begin{macrocode}
-\DeclareOption{bibtotoc}
- {\AtEndOfClass{%
- \renewcommand*\bib@heading{%
-%<*scrartcl>
- \addsec{\refname}
- \@mkboth{\refname}{\refname}
-%</scrartcl>
-%<*scrbook|scrreprt>
- \addchap{\bibname}
- \@mkboth{\bibname}{\bibname}
-%</scrbook|scrreprt>
- }}}
-\DeclareOption{bibtotocnumbered}
- {\AtEndOfClass{%
- \renewcommand*\bib@heading{%
-%<*scrartcl>
- \section{\refname}
- \@mkboth{\sectionmarkformat \refname}{\sectionmarkformat \refname}
-%</scrartcl>
-%<*scrbook|scrreprt>
- \chapter{\bibname}
- \@mkboth{\chaptermarkformat \bibname}{\chaptermarkformat \bibname}
-%</scrbook|scrreprt>
- }}}
-% \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}
-% Dazu wird das interne Makro |\idx@heading| umdefiniert, "uber das
-% die "uberschrift gesetzt und der Kolumnentitel angepa"st wird.
-% \changes{v2.4c}{1996/04/04}{Kolumnentitel werden nun korrekt
-% behandelt}
-% \changes{v2.4g}{1996/11/04}{Index auch bei scrartcl wieder
-% zweispaltig}
-% \changes{v2.6c}{2000/06/10}{Im Index kann nach der "Uberschrift
-% eine Preambel gesetzt werden}
-% \changes{v2.7a}{2001/01/04}{F"ur \texttt{scrbook} und
-% \texttt{scrreprt} die Link-Erzeugung mit \texttt{hyperref}
-% verbessert}
-% \changes{v2.7j}{2001/05/27}{Setzen der Pr"aambel in die
-% theindex-Umgebung verschoben}
-% \changes{v2.9l}{2003/01/19}{\cs{if@twoside} durch
-% \cs{if@openright} ersetzt}
-% An dieser Stelle m"u"s daf"ur gesorgt werden, da"s im Falle von
-% \texttt{scrbook} und \texttt{scrreprt} das Makro \cs{@schapter} verwendet
-% wird. Damit dies hier m"oglich ist mu"sten tiefreifendere "Anderungen am
-% \LaTeX-Kernel bzw. am Gliederungsbefehl |\chapter| vorgenommen werden.
-% Die urspr"ungliche Definition sah so aus:
-% \begin{verbatim}
-% \renewcommand*\idx@heading{%
-% \if@twoside\cleardoublepage\else\clearpage\fi%
-% \@mkboth{\indexname}{\indexname}%
-% <scrreprt|scrbook> \addcontentsline{toc}{chapter}{\indexname}%
-% \twocolumn[%
-% <scrartcl> \addsec
-% <scrreprt|scrbook> \@makeschapterhead
-% {\indexname}\index@preamble]%
-% }
-% \end{verbatim}
-% Die neue Definition wurde wie folgt ge"andert:
-% \begin{macrocode}
-\DeclareOption{idxtotoc}
- {\AtEndOfClass{%
- \renewcommand*\idx@heading{%
-%<scrreprt|scrbook> \if@openright\cleardoublepage\else\clearpage\fi%
-%<scrartcl> \twocolumn[\addsec{\indexname}]
-%<scrreprt|scrbook> \twocolumn[\addchap{\indexname}]
- \@mkboth{\indexname}{\indexname}%
- }}}
-% \end{macrocode}
-% \end{macro}
-% \end{option}
-%
-%
-% \begin{option}{tocleft}
-% \changes{v2.8q}{2001/11/14}{Neue Option}
-% \begin{option}{tocindent}
-% \changes{v2.8q}{2001/11/14}{Neue Option}
-% Optionen f"ur zwei unterschiedliche Darstellungen des
-% Inhaltsverzeichnisses. Die Variante |tocindent| ist die altbekannte
-% Variante. Bei |tocleft| hingegen wird eine tabellenartige Form
-% verwendet, bei der die Nummern, Texte und Seitenzahlen jeweils
-% untereinander stehen. Der f"ur die Nummern ben"otigte Platz wird
-% dabei automatisch ermittelt.
-% \begin{macro}{\if@tocleft}
-% \changes{v2.8q}{2001/11/14}{Neuer Schalter}
-% \begin{macro}{\@toclefttrue}
-% \begin{macro}{\@tocleftfalse}
-% Die Wahl der Darstellungsart wird in einem Schalter gespeichert.
-% \begin{macrocode}
-\newif\if@tocleft
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\DeclareOption{tocleft}{\@toclefttrue}
-\DeclareOption{tocindent}{\@tocleftfalse}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \begin{option}{listsleft}
-% \changes{v2.8q}{2001/11/14}{Neue Option}
-% \begin{option}{listsindent}
-% \changes{v2.8q}{2001/11/14}{Neue Option}
-% Optionen f"ur zwei unterschiedliche Darstellungen der
-% Verzeichnisses von Gleitumgebungen. Die Variante |listindent| ist
-% die altbekannte Variante mit einem festen Einzug der Nummer. Bei
-% |listleft| hingegen wird der f"ur die Nummern ben"otigte Platz
-% automatisch ermittelt.
-% \begin{macro}{\if@dynlist}
-% \changes{v2.8q}{2001/11/14}{Neuer Schalter}
-% \begin{macro}{\@dynlisttrue}
-% \begin{macro}{\@dynlistfalse}
-% Die Wahl der Darstellungsart wird in einem Schalter gespeichert.
-% \begin{macrocode}
-\newif\if@dynlist
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\DeclareOption{listsleft}{\@dynlisttrue}
-\DeclareOption{listsindent}{\@dynlistfalse}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-%
-% \subsubsection{Briefspezifische Optionen f"ur das Adressfenster}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-% \begin{option}{addrfield}
-% \changes{v2.8q}{2001/10/09}{Neu}
-% Das Adressfeld f"ur Fensterumschl"age kann mit |addrfield| ein- und
-% ausgeschaltet werden
-% \begin{macro}{\if@afield}
-% \begin{macro}{\if@afieldtrue}
-% \begin{macro}{\if@afieldfalse}
-% Die Speicherung erfolgt wiederum in einem Schalter.
-% \begin{macrocode}
-\newif\if@afield\@afieldtrue
-\KOMA@key{addrfield}[true]{\@setif[@afield]{addrfield}{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{backaddress}
-% \changes{v2.8q}{2002/01/22}{Neu}
-% Im Adressfeld kann die R"ucksendeadresse gesetzt werden. Dies
-% geschieht nun nicht mehr allein durch Definition einer
-% R"ucksendeadresse, sondern auch durch eine Option.
-% \begin{macro}{\if@baddr}
-% \begin{macro}{\@baddrtrue}
-% \begin{macro}{\@baddrfalse}
-% Die Einstellung der Option wird in einem Schalter gespeichert.
-% \begin{macrocode}
-\newif\if@baddr\@baddrtrue
-\KOMA@key{backaddress}[true]{\@setif[@baddr]{backaddress}{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{subject}
-% \changes{v2.8q}{2001/10/09}{Neu}
-% Ein Betreff-Titel kann mit |subject| ein- und abgeschaltet
-% werden. In England und Frankreich scheint es teilweise "ublich zu
-% sein, den Betreff erst nach der Anrede und daf"ur zentriert zu
-% setzen\footnote{Ich kann mir nur m"uhsahm eine Bemerkung dazu
-% verkneifen.}.
-% Deshalb kann alternativ zum Einschalten des Betreff-Titels hier auch
-% dies aktiviert werden.
-% \begin{macro}{\if@subj}
-% \begin{macro}{\@subjtrue}
-% \begin{macro}{\@subjfalse}
-% \begin{macro}{\if@subjafter}
-% \begin{macro}{\@subjaftertrue}
-% \begin{macro}{\@subjafterfalse}
-% Die Speicherung erfolgt in zwei Schaltern.
-% \begin{macrocode}
-\newif\if@subj
-\newif\if@subjafter
-\KOMA@key{subject}[true]{%
- \begingroup
- \edef\@tempa{#1}%
- \def\@tempb{afteropening}%
- \ifx\@tempa\@tempb\endgroup\@subjaftertrue
- \else
- \def\@tempb{beforeopening}%
- \ifx\@tempa\@tempb\endgroup\@subjafterfalse
- \else
- \endgroup\def\@setif@alsoerr{, `afteropening' and
- `beforeopening'\MessageBreak}%
- \@setxif[@subj]{subject}{#1}{titled}{untitled}%
- \fi
- \fi
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{locfield}
-% \changes{v2.8q}{2001/10/09}{Neu}
-% Mit Hilfe der Optione |locfield| kann der Platz neben dem Adressfeld
-% gro"s oder klein gew"ahlt werden.
-% \begin{macro}{\if@bigloc}
-% \begin{macro}{\@bigloctrue}
-% \begin{macro}{\@biglocfalse}
-% Die Einstellung wird in einem Schalter gespeichert.
-% \begin{macrocode}
-\newif\if@bigloc
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\KOMA@key{locfield}[wide]{\@setxif[@bigloc]{locfield}{#1}{wide}{narrow}}
-\DeclareOption{wlocfield}{\@ObsoleteOption{locfield=wide}}
-\DeclareOption{slocfield}{\@ObsoleteOption{locfield=narrow}}
-% \end{macrocode}
-% \end{option}
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-% \subsection{Briefspezifische Optionen f"ur Faltmarken}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-%
-% \begin{option}{foldmarks}
-% \changes{v2.8q}{2001/09/10}{Neu}
-% Die Faltmarken k"onnen mit |foldmarks| aktiviert und deaktiviert
-% werden.
-% \begin{macro}{\if@fold}
-% \begin{macro}{\@foldtrue}
-% \begin{macro}{\@foldfalse}
-% Ob Faltmarken gesetzt werden sollen oder nicht, wird in einem
-% Schalter gespeichert.
-% \begin{macrocode}
-\newif\if@fold\@foldtrue
-\KOMA@key{foldmarks}[true]{\@setif[@fold]{foldmarks}{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-%
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-% \subsubsection{Briefspezifische Optionen f"ur die Gesch"aftszeile}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-% \begin{option}{numericaldate}
-% \changes{v2.8q}{2001/10/07}{Neue Option (an Stelle von
-% \texttt{scrdate} und \texttt{orgdate})}
-% Es kann zwischen dem Originaldatum, das beispielsweise von
-% \texttt{german.sty} definiert wird, und dem \texttt{scrlttr2}-Datum
-% gew"ahlt werden. Nat"urlich gibt es diese Optionen nur bei Briefen.
-% \begin{macro}{\if@orgdate}
-% \begin{macro}{\@orgdatetrue}
-% \begin{macro}{\@orgdatefalse}
-% Die Einstellung wird in einem Schalter gespeichert.
-% \begin{macrocode}
-\newif\if@orgdate\@orgdatetrue
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% Dummerweise besitzt der alte Schalter genau die gegenteilige
-% Bedeutung der Option, deshalb muss der Schalter zweimal invertiert
-% werden.
-% \begin{macrocode}
-\KOMA@key{numericaldate}[true]{%
- \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi
- \@setif[@orgdate]{numericaldate}{#1}
- \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi
-}
-\DeclareOption{scrdate}{\@ObsoleteOption{numericaldate=true}}
-\DeclareOption{orgdate}{\@ObsoleteOption{numericaldate=false}}
-% \end{macrocode}
-% \end{option}
-%
-%
-% \begin{option}{refline}
-% \changes{v2.8n}{2001/09/08}{Neue Option}
-% Kopf und Fu"s der ersten Seite sind normalweise so breit, dass sie
-% zur Adresse des Empf"angers passen. F"ur die Gesch"aftszeile gibt es
-% zwei Alternativen, eine breite und eine, deren Breite der Textbreite
-% entspricht. Voreingestellt ist die Textbreite.
-% \begin{macro}{\if@refwide}
-% \changes{v2.8n}{2001/09/08}{Neuer Schalter}
-% \begin{macro}{\@refwidetrue}
-% \begin{macro}{\@refwidefalse}
-% Gespeichert wird die Information in einem Schalter.
-% \begin{macrocode}
-\newif\if@refwide
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\KOMA@key{refline}[wide]{\@setxif[@refwide]{refline}{#1}{wide}{narrow}}
-% \end{macrocode}
-% \end{option}
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-%
-% \subsubsection{Optionen f"ur den Satzspiegel}
-%
-% \changes{v2.6}{2000/01/04}{ab jetzt sind auch die Optionen f"ur die
-% Schriftgr"o"sen variabel.}
-% \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|, |DIV| und die Papiergr"o"sen 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. Im Kompatibilit"atsmodus erfolgt eine gesonderte Behandlung.
-% \begin{macrocode}
-%<!scrlettr>\if@compatibility\else
- \DeclareOption*{%
-%<*scrlettr>
-% \end{macrocode}
-% Bei der Briefklasse tritt eine Besonderheit ein. Hier ist es
-% m"oglich, spezielle \texttt{lco}-Dateien zu definieren, die "uber
-% Optionen geladen werden k"onnen. Die unterschiedlichen Brieftypen
-% sind ein Fall f"ur solche \emph{\textbf{l}etter \textbf{c}lass
-% \textbf{o}ption} Dateien. Wurde eine solche Datei geladen, ist die
-% Option nat"urlich auch nicht mehr unbenutzt.
-% \changes{v2.8q}{2001/10/17}{Endung "`.lco"' beim
-% \cs{LoadLetterOption}-Aufruf in
-% \cs{DeclareOption*} entfernt}
-% \changes{v2.8q}{2001/10/18}{\cs{expandafter} beim Aufruf von
-% \cs{KOMAoptions} erg"anzt}
-% \begin{macrocode}
- \let\scr@save@KV@errx=\KV@errx%
- \IfFileExists{\CurrentOption.lco}{%
- \begingroup\edef\@tempa{\endgroup%
- \noexpand\AtEndOfClass{%
- \noexpand\LoadLetterOption{\CurrentOption}}%
- }%
- \@tempa\let\KV@errx\@gobble
- }{%
- \renewcommand*{\KV@errx}[1]{\OptionNotUsed}
- }
-% \end{macrocode}
-% An dieser Stelle muss nun die Expansion von \verb+\CurrentOption+
-% erzwungen werden. Alternativ k"onnte dies auch in
-% \verb+\KOMAoptions+ erledigt werden.
-% \begin{macrocode}
- \expandafter\KOMAoptions\expandafter{\CurrentOption}
- \let\KV@errx=\scr@save@KV@errx%
- \let\scr@save@KV@errx=\relax%
-%</scrlettr>
-%<!scrlettr> \x@paper
- }
-%<!scrlettr>\fi
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% \subsubsection{Optionenauswahl}
-% \changes{v2.0e}{1994/09/04}{Standardoption \texttt{abstactoff} durch
-% \texttt{abstractoff} ersetzt.}
-% \changes{v2.2f}{1995/06/14}{\cs{ExecuteOptions} von Leerzeichen u."a.
-% befreit.}
-% \changes{v2.8q}{2001/10/06}{\texttt{scrlttr2} verwendet nicht mehr
-% die Option \texttt{KOMAold}, sondern
-% \texttt{DIN} als Standard}
-% 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{%
-%<scrartcl,scrreprt,scrbook> final,11pt,onecolumn%
-%<scrartcl,scrreprt,scrbook> ,headnosepline,footnosepline,bigheadings%
-%<scrartcl> ,oneside,abstractoff%
-%<scrreprt> ,nochapterprefix,oneside,openany,abstractoff%
-%<scrbook> ,nochapterprefix,twoside,openright%
-}
-\ProcessOptions\relax
-%<scrlettr>\AfterProcessOptions@hook
-%<scrlettr>\let\AfterProcessOptions@hook=\undefined
-% \end{macrocode}
-%
-% \subsubsection{Laden von Dateien}
-% \changes{v2.8q}{2001/11/17}{das Paket \texttt{scrlfile} wird
-% ben"otigt}
-%
-% Ab Version 2.8q ist das Paket \texttt{scrlfile} Bestandteil von
-% \textsf{KOMA-Script}. Da es von den Klassen beispielsweise zur
-% Verbesserung der Zusammenarbeit mit |caption2| ben"otigt wird, wird
-% es hier geladen. Obwohl die Briefklasse es derzeit nicht ben"otigt,
-% wird es aus Gr"unden der Einheitlichkeit auch f"ur diese geladen.
-% \begin{macrocode}
-\RequirePackage{scrlfile}
-% \end{macrocode}
-%
-% \subsubsection{Allgemeine Schalter}
-% \begin{macro}{\if@restonecol}
-% \begin{macro}{\@restonecoltrue}
-% \begin{macro}{\@restonecolfalse}
-% Damit innerhalb einer Umgebung lokal auf ein- oder zweispaltigen
-% Satz umgeschaltet werden kann, wird ein Schalter ben"otigt. Dieser
-% wird dann daf"ur verwendet, sich zu merken, dass eine Umschaltung
-% stattgefunden hat und am Ende der Umgebung wieder aufzuheben
-% ist. Der Schalter wird nicht in Umgebungen verwendet, die
-% geschachtelt werden. Verwendung findet er beispielsweise f"ur
-% Titelseiten und das Inhaltsverzeichnis.
-% \begin{macrocode}
-\newif\if@restonecol
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\if@mainmatter}
-% \begin{macro}{\@mainmattertrue}
-% \begin{macro}{\@mainmatterfalse}
-% \changes{v2.3a}{1995/07/08}{\cs{if@mainmatter} Anforderung
-% verschoben.}
-% "Uber diesen Schalter wird bei Buchklassen festgelegt, ob wir uns im
-% Hauptteil des Dokuments befinden oder nicht. Die eigentliche
-% Umschaltung geschieht mit Hilfe der Befehle \cs{frontmatter},
-% \cs{mainmatter}, \cs{backmatter}. Ohne Umschaltung befinden wir uns
-% bereits im Hauptteil.
-% \begin{macrocode}
-%<scrbook>\newif\if@mainmatter\@mainmattertrue
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsubsection{Schriftgr"o"seninitialisierung}
-% \changes{v2.6}{2000/01/04}{Das Einlesen der Schriftgr"o"sen-Options-Datei
-% funktioniert nun mit diversen Gr"o"sen.}
-% \begin{macrocode}
-\@tempcnta=10
-\advance\@tempcnta by\@ptsize\relax
-\xdef\@tempa{%
-%<!scrbook>size%
-%<scrbook>bk%
-\the\@tempcnta.clo}
-\InputIfFileExists{\@tempa}{}{%
-%<*scrbook>
- \xdef\@tempb{size\the\@tempcnta.clo}
- \InputIfFileExists{\@tempb}{%
- \ClassWarning{scrbook}{File `\@tempa' not found!\MessageBreak
- Used `\@tempb' instead}}{
-%</scrbook>
- \ClassError
-%<scrbook> {scrbook}
-%<scrreprt> {scrreprt}
-%<scrartcl> {scrartcl}
-%<scrlettr> {scrlttr2}
- {File `\@tempa' not found!\MessageBreak
- This error is fatal!}
- {To every fontsize you want to select by class option,\MessageBreak
- you need a corresponding
-%<scrbook> bk-class-option-file or\MessageBreak at least a
- size-class-option-file declaring all\MessageBreak
- the macros based on fontsize.\MessageBreak
- Ask a wizzard for more information or use another
- fontsize.\MessageBreak
- You cannot continue!}
- \batchmode \csname @@end\endcsname \end
-%<scrbook> }
-}
-% \end{macrocode}
-%
-% \begin{option}{fontsize}
-% \changes{v2.8q}{2001/10/17}{nach dem Laden der Schriftgr"o"sendatei
-% nicht mehr zul"assig}
-% Ab hier darf nat"urlich die Option \texttt{fontsize} nicht mehr
-% verwendet werden!
-% \begin{macrocode}
-%<*scrlettr>
-\KOMA@key{fontsize}{%
- \begingroup
- \setlength{\@tempdima}{#1}
- \addtolength{\@tempdima}{-10\p@}
- \ifnum \@tempdima=\@ptsize
- \else
- \ClassError{%
- scrlttr2%
- }{option `fontsize' not allowed\MessageBreak
- after loading sizeX.clo file}{%
- Maybe you've used option `fontsize' at
- \string\KOMAoptions.\MessageBreak
- You should set this option at \string\documentclass.}
- \fi
- \endgroup
- }
-%</scrlettr>
-% \end{macrocode}
-% \end{option}
-%
-% \subsubsection{Satzspiegel einstellen}
-% \changes{v2.4}{1996/02/25}{Es wird jetzt explizit nach einem aktuellen
-% typearea verlangt.}
-% \changes{v2.8n}{2001/09/06}{Es wird wirklich nach einem aktuellen
-% typearea verlangt}
-% Zun"achst werden die ganzen Befehle, die sowohl in den Klassen als
-% auch in \texttt{typearea} definiert sind, wieder gel"oescht. Dies
-% ist allerdings bei der Briefklasse nicht notwendig, das diese anders
-% arbeitet.
-% \begin{macrocode}
-%<*!scrlettr>
-\let\test@number =\undefined
-\let\gobble@till@next =\undefined
-\let\@BCOR =\undefined
-\let\@@BCOR =\undefined
-\let\@DIV =\undefined
-\let\@@DIV =\undefined
-\let\@headlines =\undefined
-\let\@@headlines =\undefined
-\let\x@paper =\undefined
-\let\x@@paper =\undefined
-%</!scrlettr>
-% \end{macrocode}
-% \begin{macro}{\scr@file@date@version}
-% \changes{v2.8n}{2001/09/06}{Neu}
-% Es muss jeweils die gleiche Version von \texttt{typearea} geladen
-% werden, die auch von der jeweiligen Klasse geladen wurde.
-% \begin{macrocode}
-\newcommand*{\scr@file@date@version}{}
-\def\scr@file@date@version#1/#2/#3 #4 #5\@nil{#1/#2/#3 #4}
-\RequirePackage{typearea}[\expandafter\expandafter\expandafter%
- \scr@file@date@version\csname ver@%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
-%<scrartcl> scrartcl%
-%<scrlettr> scrlttr2%
- .cls\endcsname\@nil]
-% \end{macrocode}
-% \end{macro}
-%
-% Bei der Briefklasse gibt es jetzt noch ein paar Besonderheit.
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-% \begin{Length}{oddsidemargin}
-% \begin{Length}{evensidemargin}
-% Der rechte und der linke Rand ohne Bindekorrektur auf bei
-% beidseitigem Layout gleich gro"s. Die Bindekorrektur wird
-% selbstverst"andlich wieder dem ungeraden Rand zugeschlagen.
-% \begin{macrocode}
-\if@twoside
- \addtolength{\oddsidemargin}{\evensidemargin}
- \addtolength{\oddsidemargin}{-\ta@bcor}
- \setlength{\evensidemargin}{.5\oddsidemargin}
- \setlength{\oddsidemargin}{\evensidemargin}
- \addtolength{\oddsidemargin}{\ta@bcor}
-\fi
-% \end{macrocode}
-% \end{Length}
-% \end{Length}
-%
-% \begin{option}{BCOR}
-% \changes{v2.8q}{2001/10/18}{funktioniert auch noch nach
-% dem Laden von \texttt{typearea.sty}}
-% \begin{option}{DIV}
-% \changes{v2.8q}{2001/10/18}{funktioniert auch noch nach
-% dem Laden von \texttt{typearea.sty}}
-% \begin{option}{headlines}
-% \changes{v2.8q}{2001/10/18}{funktioniert auch noch nach
-% dem Laden von \texttt{typearea.sty}}
-% Nach dem Laden von \texttt{typearea.sty} muss die Funktionsweise
-% dieser Optionen ge"andert werden. Bei \texttt{BCOR} und \texttt{DIV}
-% ist das einfach. Bei \texttt{headlines} sieht es etwas anders aus.
-% \begin{macrocode}
-\KOMA@key{BCOR}{\typearea[{#1}]{last}}
-\KOMA@key{DIV}{\typearea[current]{#1}}
-\KOMA@key{headlines}{%
- \def\ta@hh{#1\baselineskip}%
- \typearea[current]{last}}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-% \end{option}
-%
-% \begin{option}{paper}
-% \changes{v2.8q}{2001/10/17}{funktioniert auch noch nach
-% dem Laden von \texttt{typearea.sty}}
-% Au"serdem mu"s die \texttt{paper}-Option nun anders funktionieren.
-% \begin{macrocode}
-\KOMA@key{paper}{%
- \begingroup
- \edef\@tempc{\noexpand\@tempswatrue%
- \noexpand\ifdim\paperwidth=\the\paperwidth\noexpand\else%
- \noexpand\@tempswafalse\noexpand\fi%
- \noexpand\ifdim\paperheight=\the\paperheight\noexpand\else%
- \noexpand\@tempswafalse\noexpand\fi%
- }
- \edef\@tempa{#1}%
- \def\@tempb{letter}\ifx\@tempa\@tempb%
- \setlength{\paperheight}{11in}\setlength{\paperwidth}{8.5in}%
- \else\def\@tempb{legal}\ifx\@tempa\@tempb%
- \setlength{\paperheight}{14in}\setlength{\paperwidth}{8.5in}%
- \else\def\@tempb{executive}\ifx\@tempa\@tempb%
- \setlength{\paperheight}{10.5in}\setlength{\paperwidth}{7.25in}%
- \else%
- \def\ta@opt@err{%
- \ClassError{%
- scrlttr2%
- }{papersize `#1' undefined}{%
- You've told me to set KOMA option `paper' to value
- `#1',\MessageBreak
- but the value `#1' is not allowed to this
- option.\MessageBreak
- See the KOMA-Script manual for informations about known
- papersizes.}%
- }
- \let\@headlines\ta@opt@err%
- \x@@paper #1paperpaper\x@@paper%
- \fi\fi\fi
- \@tempc%
- \if@tempswa%
- \ClassInfo{%
- scrlttr2%
- }{%
- change to already set paper size ignored%
- }
- \let\@tempc\endgroup%
- \else%
- \ClassWarning{%
- scrlttr2%
- }{%
- you're changing paper size after loading package\MessageBreak
- `typearea'. This may be dangerous.\MessageBreak
- You should set paper size only at \string\documentclass\space
- not\MessageBreak
- with \string\KOMAoptions%
- }
- \edef\@tempc{\endgroup%
- \setlength{\paperwidth}{\the\paperwidth}%
- \setlength{\paperheight}{\the\paperheight}%
- \noexpand\typearea[current]{last}}
- \fi
- \@tempc%
- }
-% \end{macrocode}
-% \end{option}
-%
-% Damit sind wir ersteinmal am Ende der Besonderheiten der
-% Briefklasse.
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-%
-% \subsection{Einige Gr"o"sen}
-%
-% \changes{v2.8i}{2001/07/22}{\cs{baselinestretch} wird nicht umdefiniert}
-% \begin{Length}{lineskip}
-% \begin{Length}{normallineskip}
-% Minimaler Zeilenabstand:
-% \begin{macrocode}
-\setlength{\lineskip}{\p@}
-\setlength{\normallineskip}{\p@}
-% \end{macrocode}
-% \end{Length}
-% \end{Length}
-%
-% \begin{Length}{columnsep}
-% \begin{Length}{columnseprule}
-% Spaltenabstand und Spaltentrennlinie (da die Briefklasse
-% zweispaltigen Satz nicht unterst"utzt, entf"allt dies f"ur selbige):
-% \begin{macrocode}
-%<*!scrlettr>
-\setlength{\columnsep}{10\p@}
-\setlength{\columnseprule}{\z@}
-%</!scrlettr>
-% \end{macrocode}
-% \end{Length}
-% \end{Length}
-%
-% Absatzabstand und Absatzeinzug:
-% \begin{macro}{\parskip}
-% \changes{v2.8i}{2001/07/22}{abh"angig von den Optionen}
-% \begin{macro}{\parindent}
-% \changes{v2.8i}{2001/07/22}{abh"angig von den Optionen}
-% \begin{macro}{\parfillskip}
-% \begin{macro}{\@listi}
-% \begin{macro}{\@listI}
-% \begin{macro}{\@listii}
-% \begin{macro}{\@listiii}
-% \begin{macro}{\@list@extra}
-% \changes{v2.8q}{2001/11/06}{Neu}
-% \begin{macro}{\@parskip@indent}
-% \changes{v2.8q}{2001/11/13}{Neu}
-% \changes{v2.9k}{2003/01/03}{\cs{scr@parfillskip} bei
-% \texttt{\cs{begin}\{document\}} erneuert}
-% \begin{macro}{\footnotesize}
-% \changes{v2.9h}{2002/09/03}{etwas robuster}
-% \begin{macro}{\small}
-% \changes{v2.9h}{2002/09/03}{etwas robuster}
-% \begin{macro}{\add@extra@listi}
-% \changes{v2.9h}{2002/09/03}{neu (intern)}
-% Ab Version 2.8i wird hier optionsabh"angig gearbeitet. Dabei m"ussen
-% auch die Befehle bei der Umschaltung der Schriftgr"o"se f"ur
-% \cs{small} und \cs{footnotesize} ge"andert werden.
-% \begin{macrocode}
-\g@addto@macro{\@listi}{\@list@extra}
-\let\@listI=\@listi
-\g@addto@macro{\@listii}{\@list@extra}
-\g@addto@macro{\@listiii}{\@list@extra}
-\newcommand*{\add@extra@listi}[1]{%
- \expandafter\let\csname #1@listi\endcsname=\@listi
- \def\@listi{\csname #1@listi\endcsname\@list@extra}%
-}
-\g@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}
-\g@addto@macro{\small}{\protect\add@extra@listi{sml}}
-\newcommand*{\@list@extra}{}
-%<scrlettr>\renewcommand*{%
-%<!scrlettr>\newcommand*{%
- \@parskip@indent}{%
- \if@parskip
- \setlength{\parindent}{\z@}%
- \scr@parskip
- \scr@parfillskip
- \renewcommand*{\@list@extra}{%
- \topsep\z@ \parsep\parskip \itemsep\z@}%
- \else
- \setlength{\parindent}{1em}%
- \setlength{\parskip}{\z@ \@plus \p@}%
- \setlength{\parfillskip}{\z@ \@plus 1fil}%
- \renewcommand*{\@list@extra}{}%
- \fi
-}%
-\@parskip@indent
-\AtBeginDocument{%
- \if@parskip\ifdim\parfillskip=\z@ \scr@parfillskip\fi\fi
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% Die Penalties (genau wie bei den Standardklassen):
-% \end{macro}
-% \begin{macrocode}
-\@lowpenalty = 51
-\@medpenalty =151
-\@highpenalty =301
-% \end{macrocode}
-%
-% \begin{Counter}{topnumber}
-% \begin{macro}{\topfraction}
-% \begin{Counter}{bottomnumber}
-% \begin{macro}{\bottomfraction}
-% \begin{Counter}{totalnumber}
-% \begin{macro}{\textfraction}
-% \begin{macro}{\floatpagefraction}
-% \begin{Counter}{dbltopnumber}
-% \begin{macro}{\dbltopfraction}
-% \begin{macro}{\dblfloatpagefraction}
-% Allgemeine Einstellungen f"ur Flie"sumgebungen (Seitenanteile). Da
-% es bei Briefen dergleichen nicht gibt, werden die Werte dort auch
-% nicht gesetzt.
-% \changes{v2.8n}{2001/09/06}{da Briefe keine Flie"sumgebungen haben,
-% werden bei \texttt{scrlttr2} auch keine
-% Parameter daf"ur mehr gesetzt}
-% \begin{macrocode}
-%<*!scrlettr>
-\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}
-%</!scrlettr>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
-% \end{macro}
-% \end{Counter}
-% \end{macro}
-% \end{Counter}
-%
-%
-% \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. Da es
-% diese Befehle f"ur die Briefklasse nie gab, werden sie f"ur diese
-% auch nicht definiert.
-% \changes{v2.0e}{1994/10/12}{Kopf- und Fu"szeilenhandling f"ur den
-% Kompatibilit"atsmodus erg"anzt}
-% \begin{macrocode}
-%<*!scrlettr>
-\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
-%</!scrlettr>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Kopf- und Fu"szeilendefinition}
-%
-% \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.}
-% \begin{macro}{\ps@plain}
-% \begin{macro}{\ps@myheadings}
-% \begin{macro}{\ps@headings}
-% 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.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}
-% Da sich die Seitenstil f"ur die Briefklasse erheblich von denen
-% normalen Seitenstilen unterscheiden, werden diese getrennt
-% definiert.
-% \begin{macro}{\set@tempdima@hw}
-% \changes{v2.8q}{2002/03/28}{Neu (intern)}
-% Um nicht st"andig das gleiche schreiben zu m"ussen wird hier ein
-% internes Makro verwendet.
-% \begin{macrocode}
-%<*!scrlettr>
-\newcommand*{\set@tempdima@hw}{%
- \setlength{\@tempdima}{\textwidth}%
- \if@mincl
- \addtolength{\@tempdima}{\marginparsep}%
- \addtolength{\@tempdima}{\marginparwidth}%
- \fi
- }
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\if@twoside
- \renewcommand*{\ps@plain}{\let\@mkboth\@gobbletwo
- \renewcommand*{\@evenhead}{}%
- \renewcommand*{\@oddhead}{}%
- \renewcommand*{\@evenfoot}{%
- \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
- \if@fsl \hrule \vskip 3\p@ \fi
- \hb@xt@ \@tempdima{{\pnumfont\thepage\hfil}}}}}%
- \renewcommand*{\@oddfoot}{%
- \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
- \if@fsl \hrule \vskip 3\p@ \fi
- \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\hss}}%
- \newcommand*{\ps@headings}{\let\@mkboth\markboth
- \renewcommand*{\@evenhead}{%
- \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
- \hb@xt@ \@tempdima{{\headfont\strut\leftmark\hfil}}%
- \if@hsl \vskip 1.5\p@ \hrule \fi}}}
- \renewcommand*{\@oddhead}{%
- \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
- \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark}}%
- \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}
- \renewcommand*{\@evenfoot}{%
- \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
- \if@fsl \hrule \vskip 3\p@ \fi
- \hb@xt@ \@tempdima{{\pnumfont\thepage\hfil}}}}}%
- \renewcommand*{\@oddfoot}{%
- \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
- \if@fsl \hrule \vskip 3\p@ \fi
- \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\hss}%
-%<*scrartcl>
- \renewcommand*{\sectionmark}[1]{%
- \markboth {\ifnum \c@secnumdepth >\z@%
- \sectionmarkformat\fi ##1}{}}
- \renewcommand*{\subsectionmark}[1]{%
- \markright {\ifnum \c@secnumdepth >\@ne%
- \subsectionmarkformat\fi ##1}}}
-%</scrartcl>
-%<*scrreprt|scrbook>
- \renewcommand*{\chaptermark}[1]{%
- \markboth {\ifnum \c@secnumdepth >\m@ne
-%<scrbook> \if@mainmatter
- \chaptermarkformat\fi
-%<scrbook> \fi
- ##1}{}}%
- \renewcommand*{\sectionmark}[1]{%
- \markright {\ifnum \c@secnumdepth >\z@
- \sectionmarkformat\fi
- ##1}}}
-%</scrreprt|scrbook>
- \newcommand*{\ps@myheadings}{\let\@mkboth\@gobbletwo
- \renewcommand*{\@evenhead}{%
- \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
- \hb@xt@ \@tempdima{{\headfont\strut\leftmark\hfil}}%
- \if@hsl \vskip 1.5\p@ \hrule \fi}}}
- \renewcommand*{\@oddhead}{%
- \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
- \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark}}%
- \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}
- \renewcommand*{\@evenfoot}{%
- \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
- \if@fsl \hrule \vskip 3\p@ \fi
- \hb@xt@ \@tempdima{{\pnumfont\thepage\hfil}}}}}%
- \renewcommand*{\@oddfoot}{%
- \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
- \if@fsl \hrule \vskip 3\p@ \fi
- \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\hss}%
-%<!scrartcl> \renewcommand*{\chaptermark}[1]{}
-%<scrartcl> \renewcommand*{\subsectionmark}[1]{}
- \renewcommand*{\sectionmark}[1]{}}
-\else
- \renewcommand*{\ps@plain}{\let\@mkboth\@gobbletwo
- \renewcommand*{\@evenhead}{}%
- \renewcommand*{\@oddhead}{}%
- \renewcommand*{\@evenfoot}{}%
- \renewcommand*{\@oddfoot}{%
- \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
- \if@fsl \hrule \vskip 3\p@ \fi
- \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}}\hss}}
- \newcommand*{\ps@headings}{\let\@mkboth\markboth
- \renewcommand*{\@evenhead}{}%
- \renewcommand*{\@oddhead}{%
- \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
- \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark\hfil}}
- \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}%
- \renewcommand*{\@evenfoot}{}%
- \renewcommand*{\@oddfoot}{%
- \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
- \if@fsl \hrule \vskip 3\p@ \fi
- \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}\hss}}%
-%<*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}
- \renewcommand*{\subsectionmark}[1]{}
- \renewcommand*{\sectionmark}[1]{\markright {\ifnum \c@secnumdepth >\z@
- \sectionmarkformat\fi ##1}}}
-%</scrartcl>
-% \end{macrocode}
-% \changes{v2.0e}{1994/08/17}{Im einseitigen Seitenstil
-% \cs{markboth} durch
-% \cs{markright} ersetzt.}
-% \begin{macrocode}
-%<*scrreprt|scrbook>
- \renewcommand*{\sectionmark}[1]{}
- \renewcommand*{\chaptermark}[1]{\markright {\ifnum \c@secnumdepth >\m@ne
-%<scrbook> \if@mainmatter
- \chaptermarkformat\fi
-%<scrbook> \fi
- ##1}}}
-%</scrreprt|scrbook>
- \newcommand*{\ps@myheadings}{\let\@mkboth\@gobbletwo
- \renewcommand*{\@evenhead}{}%
- \renewcommand*{\@oddhead}{%
- \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
- \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark\hfil}}
- \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}%
- \renewcommand*{\@evenfoot}{}%
- \renewcommand*{\@oddfoot}{%
- \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
- \if@fsl \hrule \vskip 3\p@ \fi
- \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}}\hss}%
-%<scrartcl> \renewcommand*{\subsectionmark}[1]{}%
-%<!scrartcl> \renewcommand*{\chaptermark}[1]{}%
- \renewcommand*{\sectionmark}[1]{}}
-\fi
-%</!scrlettr>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@firsthead}
-% \begin{macro}{\@gen@firsthead}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% \begin{macro}{\@nexthead}
-% \begin{macro}{\@firstfoot}
-% \begin{macro}{\@nextfoot}
-% \begin{macro}{\pagemark}
-% Bei \texttt{scrlttr2} gibt es die "ublichen Seitenstile, allerdings
-% ist deren Verhalten etwas anders als gewohnt. Dies ist in den
-% Besonderheiten f"ur Briefen begr"undet.
-% \begin{macrocode}
-%<*scrlettr>
-\newcommand*{\@firsthead}{\noindent%
- \parbox[b]{\useplength{firstheadwidth}}
- {\centering\usekomafont{fromaddress}{%
- \ifkomavarempty{fromname}{}{%
- {\usekomafont{fromname}%
- {\ignorespaces\usekomavar{fromname}}}\\[-8pt]
- \rule{\useplength{firstheadwidth}}{.4pt}\\
- }%
- \ifkomavarempty{fromaddress}{}{%
- \ignorespaces\usekomavar{fromaddress}%
- }%
- }%
- }%
- }
-\newcommand*{\@gen@firsthead}{%
-% Damit wird ggf. die Kopfzeile der ersten Seite umdefiniert.
-% \begin{macrocode}
- \ifcase\@alignfrom
-% \end{macrocode}
-% Wir befinden uns nun in dem Bereich f"ur \verb|\@alignfrom|=0.
-% Entsprechend unserer Festlegung wird daher als Erstes der
-% linksb"undige Absender definiert. Wir verwenden daf"ur eine
-% \emph{parbox}, in der der Text linksb"undig angeordnet wird. Diese
-% Box soll "uber die gesamte Breite gehen d"urfen:
-% \begin{macrocode}
- \renewcommand*{\@firsthead}{\noindent
- \parbox[b]{\textwidth}{\raggedright
-% \end{macrocode}
-% Zuerst wird der Name gesetzt. Dabei soll eine eigene Schriftart f"ur
-% den Namen verwendet werden.
-% \begin{macrocode}
- {\usekomafont{fromname}\strut\ignorespaces
- \usekomavar{fromname}%
-% \end{macrocode}
-% Hat \verb|\@rulefrom| den nummerischen Wert 1, so soll direkt auf den
-% Absender eine Linie folgen. Die L"ange dieser Linie kann vom Anwender
-% bestimmt oder automatisch gew"ahlt werden. Es wird dabei die
-% Pseudo-L"ange \texttt{fromrulewidth} verwendet. Ist diese negativ,
-% so wird sie automatisch bestimmt. Bei der automatischen
-% L"angenbestimmung wird daf"ur gesorgt, dass die Linie nicht bis in das
-% Logo ragt, das eventuell rechtsb"undig neben dem Absender steht:
-% \begin{macrocode}
- {%
- \ifnum\@rulefrom=1\\[-.5\baselineskip]%
- \setlength{\@tempdima}{\useplength{fromrulewidth}}%
- \ifdim\@tempdima=\z@
- \setlength{\@tempdima}{\textwidth}%
- \if@logo
- \settowidth{\@tempdimb}{\usekomavar{fromlogo}}%
- \addtolength{\@tempdima}{-\@tempdimb}%
- \fi
- \fi
- \expandafter\rule\expandafter{\the\@tempdima}{.4pt}%
- \fi
- }%
- \\}%
-% \end{macrocode}
-% Als N"achstes wird die Absenderadresse einschlie"slich aller
-% optionalen Felder gesetzt. Dabei werden optionale Felder nur
-% gesetzt, wenn der entsprechende Schalter \emph{true} ist. Die
-% Adresse wird ebenfalls innerhalb einer Gruppe in einer eigenen
-% Schriftart gesetzt.
-% \begin{macrocode}
- {\usekomafont{fromaddress}\strut\ignorespaces
- \usekomavar{fromaddress}%
- \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi%
- \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi%
- \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi%
- \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi%
-% \end{macrocode}
-% Wie weiter oben erw"ahnt, kann auch an dieser Stelle eine Linie
-% gesetzt werden. Wir gehen davon aus, dass die Linie automatisch
-% nicht in das Logo ragt, da es in diesem Fall "uber der Linie zu
-% stehen hat. Die entsprechende Berechnung kann also entfallen.
-% \begin{macrocode}
- \ifnum\@rulefrom=2\\[-.5\baselineskip]%
- \setlength{\@tempdima}{\useplength{fromrulewidth}}%
- \ifdim\@tempdima=\z@
- \setlength{\@tempdima}{\textwidth}%
- \fi
- \expandafter\rule\expandafter{\the\@tempdima}{.4pt}%
- \fi
- \\
- }%
- }%
-% \end{macrocode}
-% Die parbox ist damit ebenfalls beendet. Es mu"ss nun ggf. noch das
-% Logo gesetz werden. Es wird in diesem Fall von der aktuellen
-% Position am rechten Rand nach links ausgegeben.
-% \begin{macrocode}
- \if@logo
- \llap{\usekomavar{fromlogo}}%
- \fi
- }%
-% \end{macrocode}
-% Damit ist die Definition des linksb"undigen Absenders abgeschlossen.
-% Es geht weiter mit dem zentrierten Absender. Dieser hat als
-% Besonderheit, dass das Logo nicht in den Briefkopf, sondern in den
-% Bereich rechts neben dem Empf"anger gesetzt wird. Dort ist bereits
-% das location-Feld, daher wird dieser Fall auch dort behandelt.
-% \begin{macrocode}
- \or
- \renewcommand*{\@firsthead}{\noindent
- \parbox[b]{\textwidth}{\centering
- {\usekomafont{fromname}\strut\ignorespaces
- \usekomavar{fromname}%
- {%
- \ifnum\@rulefrom=1\\[-.5\baselineskip]%
- \setlength{\@tempdima}{\useplength{fromrulewidth}}%
- \ifdim\@tempdima=\z@
- \setlength{\@tempdima}{\textwidth}%
- \fi
- \expandafter\rule\expandafter{\the\@tempdima}{.4pt}%
- \fi
- }%
- \\
- }%
- {\usekomafont{fromaddress}\strut\ignorespaces
- \usekomavar{fromaddress}%
- \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi%
- \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi%
- \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi%
- \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi%
- \ifnum\@rulefrom=2\\[-.5\baselineskip]%
- \setlength{\@tempdima}{\useplength{fromrulewidth}}%
- \ifdim\@tempdima=\z@
- \setlength{\@tempdima}{\textwidth}%
- \fi
- \expandafter\rule\expandafter{\the\@tempdima}{.4pt}%
- \fi
- \\
- }%
- }%
- }%
-% \end{macrocode}
-% Damit ist die Definition des zentrierten Absenders abgeschlossen. Es
-% geht weiter mit dem rechtsb"undigen Absender. Das ganze wird einfach
-% beim linksb"undigen Absender abgeschaut.
-% \begin{macrocode}
- \or
- \renewcommand*{\@firsthead}{\noindent
- \if@logo
- \rlap{\usekomavar{fromlogo}}%
- \fi
- \parbox[b]{\textwidth}{\raggedleft
- {\usekomafont{fromname}\strut\ignorespaces
- \usekomavar{fromname}%
- {%
- \ifnum\@rulefrom=1\\[-.5\baselineskip]%
- \setlength{\@tempdima}{\useplength{fromrulewidth}}%
- \ifdim\@tempdima=\z@
- \setlength{\@tempdima}{\textwidth}%
- \if@logo
- \settowidth{\@tempdimb}{\usekomavar{fromlogo}}%
- \addtolength{\@tempdima}{-\@tempdimb}%
- \fi
- \fi
- \expandafter\rule\expandafter{\the\@tempdima}{.4pt}%
- \fi
- }%
- \\
- }%
- {\usekomafont{fromaddress}\strut\ignorespaces
- \usekomavar{fromaddress}%
- \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi%
- \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi%
- \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi%
- \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi%
- \ifnum\@rulefrom=2\\[-.5\baselineskip]%
- \setlength{\@tempdima}{\useplength{fromrulewidth}}%
- \ifdim\@tempdima=\z@
- \setlength{\@tempdima}{\textwidth}%
- \fi
- \expandafter\rule\expandafter{\the\@tempdima}{.4pt}%
- \fi
- \\
- }%
- }%
- }%
-% \end{macrocode}
-% Damit ist die Umdefinierung beendet. In allen anderen F"allen wird
-% der Kopf nicht ver"andert.
-% \begin{macrocode}
- \fi
- }
-% \end{macrocode}
-% \begin{macrocode}
-\newcommand*{\@firstfoot}{}
-\newcommand*{\@nexthead}{%
- \rlap{\parbox[c]{\textwidth}{\raggedright\strut
- \ifnum\@pageat=0\pagemark\else\leftmark\fi\strut}}%
- \parbox[c]{\textwidth}{%
- \centering\strut
- \ifcase\@pageat
- \rightmark
- \or
- \pagemark
- \or
- \rightmark
- \fi\strut}%
- \llap{\parbox[c]{\textwidth}{\raggedleft\strut
- \ifcase\@pageat
- \leftmark
- \or
- \rightmark
- \or
- \pagemark
- \else
- \rightmark
- \fi\strut}}%
- }%
-\newcommand*{\@nextfoot}{%
- \ifnum\@pageat>2
- \parbox[c]{\textwidth}{%
- \ifcase\@pageat\or\or\or\raggedright\or\centering\or\raggedleft\fi
- \strut\pagemark%
- }%
- \fi
-}
-\newcommand*{\pagemark}{{\usekomafont{pagenumber}\pagename\ \thepage}}
-\renewcommand*{\ps@plain}{%
- \renewcommand*{\@evenhead}{%
- \vbox{\vbox{\hsize=\textwidth\hbox to\textwidth{%
- \parbox[b]{\textwidth}{\strut
- \ifnum\@pageat>-1
- \ifnum\@pageat<3
- \ifcase\@pageat\raggedright\or\centering\or\raggedleft\fi
- \pagemark
- \else
- \hfill
- \fi
- \else
- \hfill
- \fi}%
- }%
- \if@hsl\kern1pt\rule{\textwidth}{.4pt}\fi
- }%
- }%
- }%
- \let\@oddhead\@evenhead%
- \renewcommand*{\@evenfoot}{%
- \parbox[t]{\textwidth}{%
- \if@fsl
- {%
- \raggedright%
- \vskip-\baselineskip\vskip.4pt
- \hrulefill\\
- }%
- \fi
- \ifnum\@pageat>2
- \ifcase\@pageat\or\or\or\raggedright\or\centering\or\raggedleft\fi
- \strut\pagemark
- \else
- \hfill
- \fi
- }%
- }%
- \let\@oddfoot\@evenfoot
- }
-\newcommand*{\ps@headings}{%
- \let\@mkboth=\markboth
- \renewcommand*{\@evenhead}{%
- \vbox{%
- \vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\@nexthead}}%
- \if@hsl\kern1pt\rule{\textwidth}{.4pt}\fi%
- }%
- }%
- \let\@oddhead\@evenhead%
- \renewcommand*{\@evenfoot}{%
- \parbox[t]{\textwidth}{%
- \if@fsl
- {%
- \raggedright%
- \vskip-\baselineskip\vskip.4pt
- \hrulefill\\
- }%
- \fi
- \vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\@nextfoot}}%
- }%
- }%
- \let\@oddfoot\@evenfoot
- }
-\newcommand*{\ps@myheadings}{%
- \ps@headings\let\@mkboth=\@gobbletwo
- }
-\let\@mkboth=\@gobbletwo
-%</scrlettr>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\titlepagestyle}
-% \changes{v2.8d}{2001/07/05}{Neu}
-% \begin{macro}{\partpagestyle}
-% \changes{v2.8d}{2001/07/05}{Neu}
-% \begin{macro}{\chapterpagestyle}
-% \changes{v2.8d}{2001/07/05}{Neu}
-% \begin{macro}{\indexpagestyle}
-% \changes{v2.8d}{2001/07/05}{Neu}
-% Auf verschiedenen Seiten wird automatisch mit |\thispagestyle| auf
-% einen anderen Seitenstil umgeschaltet. Welcher das ist, ist in
-% diesem Makros abgelegt und kann bei Bedarf ge"andert
-% werden. Voreingestellt ist der in fr"uheren Versionen fest
-% verdrahtete Seitenstil \texttt{plain}. Da es bei Briefen die
-% entsprechenden Teile nicht gibt, wird f"ur \texttt{scrlttr2}
-% entsprechendes auch nicht definiert.
-% \begin{macrocode}
-%<*!scrlettr>
-\newcommand*{\titlepagestyle}{plain}
-\newcommand*{\partpagestyle}{plain}
-%<scrbook|scrreprt>\newcommand*{\chapterpagestyle}{plain}
-\newcommand*{\indexpagestyle}{plain}
-%</!scrlettr>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Titel}
-%
-% \begin{macro}{\extratitle}
-% \begin{macro}{\@extratitle}
-% \begin{macro}{\titlehead}
-% \begin{macro}{\@titlehead}
-% \begin{macro}{\subject}
-% \begin{macro}{\@subject}
-% \begin{macro}{\publishers}
-% \begin{macro}{\@publishers}
-% \begin{macro}{\uppertitleback}
-% \begin{macro}{\@uppertitleback}
-% \begin{macro}{\lowertitleback}
-% \begin{macro}{\@lowertitleback}
-% \begin{macro}{\dedication}
-% \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.
-%
-% Bei Briefen entf"allt die Titelei
-% \begin{macrocode}
-%<*!scrlettr>
-\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}
-% \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.}
-% \changes{v2.4l}{1997/02/06}{Symbolische Fu"snoten und
-% Fu"snotensymbolbreiten von 0pt zur
-% besseren Zentrierung des Autors sind
-% auch bei Titelseiten angebracht.}
-% \changes{v2.8p}{2001/09/22}{\cs{titlefont} an Stelle von \cs{sectfont}}
-% \begin{macrocode}
-\if@titlepage
- \newcommand*\maketitle[1][1]{\begin{titlepage}%
- \setcounter{page}{#1}
- \let\footnotesize\small
- \let\footnoterule\relax
- \let\footnote\thanks
- \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
- \let\@oldmakefnmark\@makefnmark
- \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}
- \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
- {\titlefont\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.}
-% \changes{v2.4l}{1997/02/06}{Es ist nicht mehr notwendig \cs{\@makefntext}
-% umzudefinieren, stattdessen wird nur
-% \cs{\@makefnmark} umdefiniert.}
-% \changes{v2.8d}{2001/07/05}{\cs{titlepagestyle} statt \texttt{plain}}
-% \begin{macrocode}
- \newcommand*\maketitle[1][1]{\par
- \@tempcnta=#1\relax\ifnum\@tempcnta=1\else
-%<scrartcl> \ClassWarning{scrartcl}
-%<scrreprt> \ClassWarning{scrreprt}
-%<scrbook> \ClassWarning{scrbook}
- {Optional argument of \string\maketitle\space ignored
- at\MessageBreak
- notitlepage-mode}\fi
- \begingroup
- \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
- \let\@oldmakefnmark\@makefnmark
- \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}
- \if@twocolumn
- \ifnum \col@number=\@ne
- \@maketitle
- \else
- \twocolumn[\@maketitle]%
- \fi
- \else
- \newpage
- \global\@topnum\z@
- \@maketitle
- \fi
- \thispagestyle{\titlepagestyle}\@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
-% \end{macrocode}
-% \begin{macro}{\@maketitle}
-% \begin{macrocode}
-\newcommand*{\@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
- {\titlefont\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}
-%</!scrlettr>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Kapiteleinteilung}
-%
-% Die gesamte Gliederungsgeschichte entf"allt bei Briefen:
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% \changes{v2.3h}{1996/01/20}{Gr"o"senbefehle in den "Uberschriften
-% variabel gestaltet.}
-% \begin{macro}{\numberline}
-% \changes{v2.3c}{1995/08/06}{\cs{numberline} umdefiniert.}
-% Dieses Makro wird indirekt im Inhaltsverzeichnis verwendet und mu"s
-% umdefiniert werden, um Duden Regel~5 und Regel~6 zu implementieren.
-% \begin{macrocode}
-\renewcommand*{\numberline}[1]{%
- \hb@xt@\@tempdima{#1\autodot\hfil}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\chaptermark}
-% Dieses Makro, das f"ur lebende Kolumnentitel auf Kapitelebene
-% zust"andig ist, wird im Kernel nicht definiert. Deshalb wird es hier
-% nachgeholt. Strenggenommen ist das nur notwendig, wenn innerhalb der
-% Seitenstildefinitionen |\renewcommand| verwendet wird. Auf jedenfall
-% ist es sauberer, die Definition hier durchzuf"uhren, als sie
-% wegzulassen.
-% \begin{macrocode}
-%<!scrartcl>\newcommand*\chaptermark[1]{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{Counter}{secnumdepth}
-% \begin{Counter}{part}
-% \begin{Counter}{chapter}
-% \begin{Counter}{section}
-% \begin{Counter}{subsection}
-% \begin{Counter}{subsubsection}
-% \begin{Counter}{paragraph}
-% \begin{Counter}{subparagraph}
-% \begin{macro}{thepart}
-% \begin{macro}{thechapter}
-% \begin{macro}{thesection}
-% \begin{macro}{thesubsection}
-% \begin{macro}{thesubsubsection}
-% \begin{macro}{theparagraph}
-% \begin{macro}{thesubparagraph}
-% Au"serdem werden an dieser Stelle nun einige Z"ahler definiert und
-% initialisiert, die f"ur die Gliederung ma"sgeblich sind. Das
-% Erscheinungsbild der Z"ahler bei ihrer Ausgabe wird ebenfalls festgelegt.
-% \begin{macrocode}
-%<!scrartcl>\setcounter{secnumdepth}{2}
-%<scrartcl>\setcounter{secnumdepth}{3}
-\newcounter{part}
-%<!scrartcl>\newcounter{chapter}
-%<scrartcl>\newcounter{section}
-%<!scrartcl>\newcounter{section}[chapter]
-\newcounter{subsection}[section]
-\newcounter{subsubsection}[subsection]
-\newcounter{paragraph}[subsubsection]
-\newcounter{subparagraph}[paragraph]
-\renewcommand*\thepart{\@Roman\c@part}
-%<!scrartcl>\renewcommand*\thechapter{\@arabic\c@chapter}
-%<!scrartcl>\renewcommand*\thesection{\thechapter.\@arabic\c@section}
-%<scrartcl>\renewcommand*\thesection{\@arabic\c@section}
-\renewcommand*\thesubsection{\thesection.\@arabic\c@subsection}
-\renewcommand*\thesubsubsection{\thesubsection.\@arabic\c@subsubsection}
-\renewcommand*\theparagraph{\thesubsubsection.\@arabic\c@paragraph}
-\renewcommand*\thesubparagraph{\theparagraph.\@arabic\c@subparagraph}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
-% \end{Counter}
-% \end{Counter}
-% \end{Counter}
-% \end{Counter}
-% \end{Counter}
-% \end{Counter}
-% \end{Counter}
-%
-% \begin{macro}{\@thepart}
-% \changes{v2.8e}{2001/07/10}{Entfernt}
-% \begin{macro}{\@maybeasf}
-% \changes{v2.8e}{2001/07/10}{Entfernt}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@chapapp}
-% Analog zu den Standardklassen.
-% \begin{macrocode}
-%<!scrartcl>\newcommand*\@chapapp{\chaptername}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter}
-% \changes{v2.4e}{1996/07/02}{Option \texttt{openany} beachten.}
-% \changes{v2.5h}{1999/12/29}{Option \texttt{twoside} beachten.}
-% \begin{macrocode}
-%<*scrbook>
-\newcommand*\frontmatter{\if@twoside\cleardoublepage\else\clearpage\fi
- \@mainmatterfalse\pagenumbering{roman}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\mainmatter}
-% \changes{v2.4e}{1996/07/02}{Option \texttt{openany} beachten.}
-% \changes{v2.5h}{1999/12/29}{Option \texttt{twoside} beachten.}
-% \begin{macrocode}
-\newcommand*\mainmatter{\if@twoside\cleardoublepage\else\clearpage\fi
- \@mainmattertrue\pagenumbering{arabic}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\backmatter}
-% Auch wenn nicht ganz einzusehen ist, warum das anders sein soll,
-% wird hier nicht nach der Option \texttt{twoside}, sondern nach
-% \texttt{openright} unterschieden.
-% \begin{macrocode}
-\newcommand*\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
- \@mainmatterfalse}
-%</scrbook>
-% \end{macrocode}
-% \end{macro}
-%
-% \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.}
-% \changes{v2.3g}{1996/01/14}{\cs{hbox} durch \cs{null} ersetzt.}
-% \changes{v2.8d}{2001/07/05}{\cs{partpagestyle} statt \texttt{plain}}
-% \changes{v2.8p}{2001/09/27}{Pr"aambel "uber der "Uberschrift
-% hinzugef"ugt}
-% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} behebt
-% einen Bug im color Paket}
-% \begin{macro}{\@part}
-% \changes{v2.4b}{1996/03/29}{\cs{size@partnumer} durch
-% \cs{size@partnumber} ersetzt.}
-% \changes{v2.4n}{1997/05/28}{F"ur scrartcl \cs{markboth} zum L"oschen
-% der Kolumnentitel durch \cs{sectionmark}
-% ersetzt.}
-% \changes{v2.4n}{1997/05/28}{In der Sternvariante \cs{chaptermark} bzw.
-% \cs{sectionmark} eingef"ugt, um die
-% Kolumnentitel zu l"oschen.}
-% \changes{v2.6a}{2000/01/20}{Zum L"oschen der Kolumnentitel wird nun
-% \cs{@mkboth} verwendet.}
-% \changes{v2.8e}{2001/07/10}{\cs{@maybeautodot} wird aufgerufen}
-% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor
-% \cs{size@part} und \cs{size@partnumber}
-% aufgerufen}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.9c}{2002/08/10}{\cs{@parskipfalse}\cs{@parskip@indent}
-% und \cs{centering} in der Reihenfolge
-% vertauscht}
-% \changes{v2.9s}{2004/07/05}{Verwendung von \cs{partmark}}
-% \begin{macro}{\@spart}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.9c}{2002/08/10}{\cs{@parskipfalse}\cs{@parskip@indent}
-% und \cs{centering} in der Reihenfolge
-% vertauscht}
-% \begin{macro}{\@endpart}
-% Der Gliederungsfehl |\part| wird wie in den Standardklassen mit Hilfe
-% mehrere Hilfsmakros definiert. Wesentliche Unterschiede zu den
-% Standardklassen existieren nicht, jedoch sind Schriftgr"o"se,
-% Schriftart u.~"a. flexibler gehalten. Au"serdem gibt es die
-% M"oglichkeit von Pr"aambeln. \emph{Achtung: Die Pr"aambel vor der
-% \cs{part}-"Uberschrift kann ohne Warnung "uber den oberen Rand
-% hinaus reichen!}
-% \changes{v2.4e}{1996/07/02}{Option \texttt{openany} beachten.}
-% \changes{v2.5e}{1998/07/17}{\cs{numberline} verwendet, damit die
-% reservierte Part-Nummern-Breite in
-% \cs{l@part} auch wirklich verwendet
-% wird}
-% \begin{macrocode}
-%<*scrartcl>
-\newcommand\part{\par
- \addvspace{4ex}%
- \@afterindentfalse
- \secdef\@part\@spart}
-%</scrartcl>
-%<*scrreprt|scrbook>
-\newcommand\part{\if@openright\cleardoublepage\else\clearpage\fi
- \thispagestyle{\partpagestyle}%
- \if@twocolumn
- \onecolumn
- \@tempswatrue
- \else
- \@tempswafalse
- \fi
- \null\vfil%
- \vbox to\z@{\vss\use@preamble{part@o}\strut\par}%
- \vskip-\baselineskip\nobreak%
- \secdef\@part\@spart}
-%</scrreprt|scrbook>
-\newcommand*{\@part}{}
-\def\@part[#1]#2{%
-%<*scrartcl>
- \ifnum \c@secnumdepth >\m@ne
- \refstepcounter{part}%
- \@maybeautodot\thepart%
- \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}%
- \else
- \addcontentsline{toc}{part}{#1}%
- \fi
- {\parindent \z@ \raggedright
- \interlinepenalty \@M
- \normalfont\sectfont\nobreak
- \ifnum \c@secnumdepth >\m@ne
- \size@partnumber\partformat
- \par\nobreak
- \fi
- \size@part #2\strut%
- \partmark{#1}\par}%
- \nobreak
- \vskip 3ex
- \@afterheading}
-%</scrartcl>
-%<*scrreprt|scrbook>
- \ifnum \c@secnumdepth >-2\relax
- \refstepcounter{part}%
- \@maybeautodot\thepart%
- \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}%
- \else
- \addcontentsline{toc}{part}{#1}%
- \fi
- \partmark{#1}%
- {\@parskipfalse\@parskip@indent\centering
- \interlinepenalty \@M
- \normalfont\sectfont
- \ifnum \c@secnumdepth >-2\relax
- \size@partnumber\partformat
- \par
- \vskip 20\p@
- \fi
- \size@part #2\strut\par}%
- \@endpart}
-%</scrreprt|scrbook>
-\newcommand*{\@spart}[1]{%
-%<*scrartcl>
- {\parindent \z@ \raggedright
- \interlinepenalty \@M
- \normalfont
- \sectfont\nobreak\size@part #1\strut\@mkboth{}{}\par}%
- \nobreak
- \vskip 3ex
- \@afterheading}
-%</scrartcl>
-%<*scrreprt|scrbook>
- {\@parskipfalse\@parskip@indent\centering
- \interlinepenalty \@M
- \normalfont
- \sectfont\size@part #1\strut\@mkboth{}{}\par}%
- \@endpart}
-% \end{macrocode}
-% \changes{v2.3g}{1996/01/14}{\cs{@endpart} wird f"ur scrartcl nicht mehr
-% definiert}
-% \changes{v2.6c}{2000/06/10}{\cs{@endpart} f"ugt nur noch in beidseitigen
-% Dokumenten bei Verwendung von openright eine
-% Leerseite ein}
-% \changes{v2.8p}{2001/09/27}{\cs{vbox} eingef"ugt}
-% \changes{v2.8p}{2001/09/27}{\cs{use@preamble} ersetzt
-% \cs{@part@preamble}}
-% \begin{macrocode}
-\newcommand*{\@endpart}{\vbox to\z@{\use@preamble{part@u}\vss}%
- \vfil\newpage
- \if@twoside\if@openright
- \null%
- \thispagestyle{empty}%
- \newpage
- \fi\fi
- \if@tempswa
- \twocolumn
- \fi}
-%</scrreprt|scrbook>
-% \end{macrocode}
-% \begin{macro}{\partmark}
-% \changes{v2.9s}{2004/07/05}{Neu}
-% In der initialen Version macht das dasselbe wie bisher, als das Makro noch
-% nicht definiert war: automatische Kolumnentitel ggf. l"oschen.
-% \begin{macrocode}
-\newcommand*{\partmark}[1]{\@mkboth{}{}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\addpart}
-% \changes{v2.8c}{2001/06/29}{Neu}
-% \changes{v2.8d}{2001/07/05}{\cs{partpagestyle} statt \texttt{plain}}
-% \begin{macro}{\@addpart}
-% \changes{v2.8c}{2001/06/29}{Neu}
-% \changes{v2.8l}{2001/08/17}{Erst eintagen, dann ausgeben}
-% \begin{macro}{\@saddpart}
-% \changes{v2.8c}{2001/06/29}{Neu}
-% \begin{macrocode}
-%<*scrartcl>
-\newcommand\addpart{\par
- \addvspace{4ex}%
- \@afterindentfalse
- \secdef\@addpart\@saddpart}
-%</scrartcl>
-%<*scrreprt|scrbook>
-\newcommand\addpart{\if@openright\cleardoublepage\else\clearpage\fi
- \thispagestyle{\partpagestyle}%
- \if@twocolumn
- \onecolumn
- \@tempswatrue
- \else
- \@tempswafalse
- \fi
- \null\vfil
- \secdef\@addpart\@saddpart}
-%</scrreprt|scrbook>
-\newcommand*{\@addpart}{}
-\def\@addpart[#1]#2{\addcontentsline{toc}{part}{#1}\@spart{#2}}
-\newcommand*{\@saddpart}{}
-\def\@saddpart#1{\@spart{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\chapter}
-% \changes{v2.8d}{2001/07/05}{\cs{chapterpagestyle} statt \texttt{plain}}
-% \begin{macro}{\@chapter}
-% \changes{v2.8e}{2001/07/10}{\cs{@maybeautodot} wird aufgerufen}
-% \changes{v2.8g}{2001/07/18}{per \cs{float@addtolists} wird nun auch
-% ein vertikaler Abstand in Listen des
-% \texttt{float}-Pakets eingebaut}
-% \begin{macro}{\@schapter}
-% \begin{macro}{\@makechapterhead}
-% \changes{v2.7b}{2001/01/05}{Kapitel k"onnen grunds"atzlich mit einer
-% Pr"aambel versehen werden}
-% \changes{v2.8p}{2001/09/25}{es gibt verschiedene Arten von
-% Pr"aambeln}
-% \begin{macro}{\@@makechapterhead}
-% \changes{v2.8p}{2001/09/25}{Neu}
-% \changes{v2.9g}{2002/09/01}{\cs{size@chapter} verschoben}
-% \changes{v2.9p}{2003/06/28}{\cs{parfillskip} auf \cs{fill} gesetzt}
-% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} auf
-% \texttt{1em plus 1fil} ge"andert}
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf
-% \texttt{\cs{z@} plus 1fil} ge"andert}
-% \begin{macro}{\@makeschapterhead}
-% Der Gliederungsfehl |\chapter|, der nur in den Klassen
-% \texttt{scrbook} und \texttt{scrreprt} vorhanden ist, wird wie in
-% den Standardklassen mit Hilfe mehrere Hilfsmakros definiert.
-% \changes{v2.7b}{2001/01/05}{Kapitel k"onnen grunds"atzlich mit einer
-% Pr"aambel versehen werden}
-% \begin{macro}{\@@makeschapterhead}
-% \changes{v2.8q}{2002/04/18}{\cs{raggedsection} wird bei Option
-% \texttt{chapterprefix} auch auf den Pr"afix angewendet}
-% \changes{v2.9p}{2003/06/28}{\cs{parfillskip} auf \cs{fill} gesetzt}
-% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} auf
-% \texttt{1em plus 1fil} ge"andert}
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf
-% \texttt{\cs{z@} plus 1fil} ge"andert}
-% \changes{v2.9q}{2004/03/24}{Klammerung an \cs{@@makechapterhead}
-% angepasst}
-% \begin{macro}{\if@at@twocolumn}
-% \changes{v2.7b}{2001/01/05}{Neu}
-% \begin{macro}{\scr@topnewpage}
-% \changes{v2.7b}{2001/01/05}{Neu}
-% \changes{v2.8q}{2001/11/27}{Fehlende Klammern erg"anzt}
-% \begin{macro}{\@topnewpage}
-% \changes{v2.7b}{2001/01/05}{Neu}
-% Interessant ist dabei die Erweiterung, da"s jedes Kapitel mit einer
-% Preambel versehen werden kann. Diese wird im zweispaltigen Satz wie
-% die "Uberschrift selbst einspaltig gesetzt. Intern wird dies f"ur
-% die Preambel des Index und der Bibliography verwendet. Dabei
-% entsteht aber wiederum das Problem, da"s der Indexkopf innerhalb von
-% |\twocolumn| ausgegeben wird andererseits aber innerhalb von
-% |\chapter| das Makro |\@topnewpage| verwendet wird. Damit w"urde
-% dann also |\@topnewpage| innerhalb von |\@topnewpage|
-% aufgerufen. Das ist jedoch nicht erlaubt. Als mu"s der Aufruf von
-% |\@topnewpage| in |\@chapter| und |\@schapter| verhindert werden,
-% wenn wir uns bereits in |\@topnewpage| befinden. Eine M"oglichkeit
-% daf"ur w"are, einen Schalter in den Index-Kopf einzubauen. Wir
-% w"ahlen hingegen die Methode, |\@topnewpage| entsprechend
-% umzudefinieren. Damit kann dann auch der Anwender |\@chapter|
-% innerhalb des optionalen Arguments von |\twocolumn| verwenden.
-% \changes{v2.7g}{2001/04/17}{vergessenes \cs{long} erg"anzt}
-% \begin{macrocode}
-%<*scrreprt|scrbook>
-\newif\if@at@twocolumn
-\newcommand*\scr@topnewpage{}
-\let\scr@topnewpage\@topnewpage
-\long\def\@topnewpage[#1]{%
- \@at@twocolumntrue\scr@topnewpage[{#1}]\@at@twocolumnfalse}
-\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
- \thispagestyle{\chapterpagestyle}%
- \global\@topnum\z@
- \@afterindentfalse
- \secdef\@chapter\@schapter}
-\newcommand*{\@chapter}{}
-\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
-%<scrbook> \if@mainmatter
- \refstepcounter{chapter}%
- \@maybeautodot\thechapter%
- \typeout{\@chapapp\space\thechapter.}%
- \addcontentsline{toc}{chapter}%
- {\protect\numberline{\thechapter}#1}%
-%<scrbook> \else
-%<scrbook> \addcontentsline{toc}{chapter}{#1}\fi
- \else
- \addcontentsline{toc}{chapter}{#1}
- \fi
- \chaptermark{#1}%
- \addtocontents{lof}{\protect\addvspace{10\p@}}%
- \addtocontents{lot}{\protect\addvspace{10\p@}}%
- \@ifundefined{float@addtolists}{}{%
- \float@addtolists{\protect\addvspace{10\p@}}}
- \if@twocolumn
- \if@at@twocolumn
- \@makechapterhead{#2}%
- \else
- \@topnewpage[\@makechapterhead{#2}]%
- \fi
- \else
- \@makechapterhead{#2}%
- \@afterheading
- \fi}
-\newcommand*{\chapterheadstartvskip}{}
-\newcommand*{\chapterheadendvskip}{}
-\newcommand*{\@@makechapterhead}[1]{\chapterheadstartvskip%
- {\normalfont\sectfont\size@chapter
- \setlength{\parindent}{\z@}\setlength{\parfillskip}{\z@ \@plus 1fil}%
- \if@chapterprefix\let\@tempa\raggedsection\else\let\@tempa\@hangfrom\fi%
- \@tempa{\ifnum \c@secnumdepth >\m@ne%
-%<scrbook> \if@mainmatter \chapterformat\fi\fi}%
-%<!scrbook> \chapterformat\fi}%
- \if@chapterprefix\par\nobreak\vskip.5\baselineskip\fi%
- {\raggedsection \interlinepenalty \@M #1\par}}%
- \nobreak\chapterheadendvskip%
- }
-\newcommand*{\use@chapter@o@preamble}{%
- {\settoheight{\@tempdima}{\vbox{\chapterheadstartvskip}}%
- \settodepth{\@tempdimb}{\vbox{\chapterheadstartvskip}}%
- \addtolength{\@tempdima}{\@tempdimb}%
- \setbox0\vbox{\use@preamble{chapter@o}%
- \vskip-\parskip}%
- \setlength{\@tempdimb}{\ht0}%
- \addtolength{\@tempdimb}{\dp0}%
- \vbox to \z@{%
- \vbox to \@tempdima{\vfill\box0}%
- \vskip-\@tempdima%
- }%
- \ifdim \@tempdimb>\@tempdima%
- \addtolength{\@tempdimb}{-\@tempdima}%
- \ClassWarning{%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
-%<scrartcl> scrartcl%
- }{%
- preamble before chapter is \the\@tempdimb\space too
- high.\MessageBreak
- To avoid the overfull \string\vbox\space you may
- redefine\MessageBreak
- \string\chapterheadstartvskip\space at the preamble of
- your\MessageBreak
- document. You may also change
- \string\setchapterpreamble\MessageBreak
- before the command, which generates the message
- about\MessageBreak
- an overfull \string\vbox
- }%
- \fi%
- }
-}
-\newcommand*{\@makechapterhead}[1]{%
- \use@chapter@o@preamble%
- \@@makechapterhead{#1}%
- \use@preamble{chapter@u}\nobreak%
- }
-\newcommand*{\@schapter}[1]{\if@twocolumn
- \if@at@twocolumn
- \@makeschapterhead{#1}%
- \else
- \@topnewpage[\@makeschapterhead{#1}]%
- \fi
- \else
- \@makeschapterhead{#1}%
- \@afterheading
- \fi}
-\newcommand*{\@@makeschapterhead}[1]{\chapterheadstartvskip%
- {\normalfont\sectfont\size@chapter
- \setlength{\parindent}{\z@}\setlength{\parfillskip}{\z@ \@plus 1fil}%
- \raggedsection \interlinepenalty \@M #1\par}%
- \nobreak\chapterheadendvskip%
-}
-\newcommand*{\@makeschapterhead}[1]{%
- \use@chapter@o@preamble%
- \@@makeschapterhead{#1}%
- \use@preamble{chapter@u}\nobreak%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\use@preamble}
-% \changes{v2.8p}{2001/09/25}{Neu}
-% Dieses Makro dient allgemein zum Setzen einer Pr"aambel (f"ur
-% Gliederungs"uberschriften), wenn eine
-% solche definiert ist. Als Argument wird der Name der Pr"aambel
-% "ubergeben, an den automatisch \verb;@preamble; angeh"angt
-% wird. Zum Schluss wird die gespeicherte Pr"aambel gel"oscht.
-% \begin{macrocode}
-\newcommand*{\use@preamble}[1]{%
- \@ifundefined{#1@preamble}{}{%
- \@nameuse{#1@preamble}%
- \global\expandafter\let\csname#1@preamble\endcsname=\relax}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\set@preamble}
-% \changes{v2.8p}{2001/09/25}{Neu}
-% Das Makro \cs{set@preamble} dient allgemein der Defintion einer
-% Pr"aambel (f"ur Gliederungs"uberschriften). Als Argument wird der
-% Name der Gliederungsebene "ubergeben. Danach folgt ein optionales
-% Argument, das die Position der Pr"aambel angibt. Darauf folgt ein
-% weiteres optionales Argument, das die Breite der Pr"aambel
-% angibt. Ist nur ein optionales Argument angegeben, so ist es die
-% Position. Es folgt ein obligatorisches Argument mit dem Inhalt der
-% Pr"aambel. Die Definition der Pr"aambel erfolgt global.
-% \begin{macro}{\set@@preamble}
-% \changes{v2.8p}{2001/09/25}{Neu}
-% \begin{macro}{\set@@@preamble}
-% \changes{v2.8p}{2001/09/25}{Neu}
-% \begin{macro}{\set@@@@preamble}
-% \changes{v2.8p}{2001/09/25}{Neu}
-% \changes{v2.8q}{2001/11/27}{Fehlende Klammern erg"anzt}
-% Da mehrere optionale Argumente nach einem obligatorischen Argument
-% auszuwerten sind, werden diverse Hilfsmakros ben"otigt.
-% \begin{macrocode}
-\newcommand*{\set@preamble}[1]{%
-% \end{macrocode}
-% Zunaechst wird das erste optionale Argument gesucht.
-% \begin{macrocode}
- \@ifnextchar [
- {\set@@preamble{#1}}{\set@@@preamble{#1}[][\hsize]}}
-\newcommand*{\set@@preamble}{}
-\def\set@@preamble#1[#2]{%
-% \end{macrocode}
-% Wenn ein optionales Argument existiert, kann es auch ein zweites
-% geben. Wenn nicht, wird mit der Voreinstellung gearbeitet.
-% \begin{macrocode}
- \@ifnextchar [
- {\set@@@preamble{#1}[{#2}]}{\set@@@preamble{#1}[{#2}][\hsize]}}
-\newcommand{\set@@@preamble}{}
-\long\def\set@@@preamble#1[#2][#3]#4{%
-% \end{macrocode}
-% Dies ist das Hauptmakro, das die eigentliche Arbeit macht. Es muss
-% long definiert werden, da die Pr"aambel auch aus mehreren Abs"atzen
-% bestehen kann.
-%
-% Zun"achst wird das Positionsargument ausgewertet. Dies geschieht mit
-% lokalen Hilfsmakros und einer Schleife. Zur Funktion der Schleife
-% siehe im dokumentierten \LaTeX-Kern.
-% \begin{macrocode}
- {%
- \def\prmbl@pos{#2}\let\prmbl@hpos\relax\let\prmbl@vpos\relax%
- \expandafter \@tfor \expandafter \@tempa%
- \expandafter :\expandafter =\prmbl@pos%
- \do{%
- \if \@tempa l%
- \set@preamble@hpos{0}{#2}%
- \fi%
- \if \@tempa c%
- \set@preamble@hpos{1}{#2}%
- \fi%
- \if \@tempa r%
- \set@preamble@hpos{2}{#2}%
- \fi%
- \if \@tempa u%
- \set@preamble@vpos{0}{#2}%
- \fi%
- \if \@tempa o%
- \set@preamble@vpos{1}{#2}%
- \fi%
- }
-% \end{macrocode}
-% Wurde keine horizontale oder vertikale Ausrichtung definiert, so
-% wird nun der Standardwert daf"ur eingesetzt.
-% \begin{macrocode}
- \@ifundefined{prmbl@hpos}{\def\prmbl@hpos{0}}{}%
- \@ifundefined{prmbl@vpos}{\def\prmbl@vpos{0}}{}%
-% \end{macrocode}
-% Nun sind die Positionen ermittelt und es werden abh"angig davon
-% entsprechende P"aambelmakros definiert.
-% \begin{macrocode}
- \ifcase\prmbl@hpos
-% \end{macrocode}
-% Zun"achst links unten und oben:
-% \begin{macrocode}
- \ifcase\prmbl@vpos
- \set@@@@preamble{#1@u}{t}{#3}{}{\hfil}{#4}
- \else
- \set@@@@preamble{#1@o}{b}{#3}{}{\hfil}{#4}
- \fi
- \or
-% \end{macrocode}
-% Dann zentriert unten und oben:
-% \begin{macrocode}
- \ifcase\prmbl@vpos
- \set@@@@preamble{#1@u}{t}{#3}{\hfil}{\hfil}{#4}
- \else
- \set@@@@preamble{#1@o}{b}{#3}{\hfil}{\hfil}{#4}
- \fi
- \else
-% \end{macrocode}
-% Zum Schluss rechts und oben:
-% \begin{macrocode}
- \ifcase\prmbl@vpos
- \set@@@@preamble{#1@u}{t}{#3}{\hfil}{}{#4}
- \else
- \set@@@@preamble{#1@o}{b}{#3}{\hfil}{}{#4}
- \fi
- \fi
- }
-}
-% \end{macrocode}
-% Es folgt das Makro, mit dem die Definition tats"achlich
-% stattfindet. Das erste Argument ist der Name der Pr"aambel, das
-% zweite die Positionsoption f"ur die verwendete \cs{parbox}, das
-% dritte ist die Breite der \cs{parbox}, dann zwei Argumente mit der
-% horizontalen Ausrichtung vor und nach der \cs{parbox} und das
-% sechste Agument ist schlie"slich der Inhalt der \cs{parbox}.
-% \begin{macrocode}
-\newcommand{\set@@@@preamble}[6]{%
- \expandafter\gdef\csname #1@preamble\endcsname{%
- \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}}}
-% \end{macrocode}
-%
-% \begin{macro}{\set@preamble@hpos}
-% \changes{v2.8q}{2001/09/25}{Neu}
-% Eines der Hilfsmakros dient dazu, die horizontale Position der
-% Pr"aambel einzustellen, falls dies nicht bereits erfolgt ist. Ist es
-% bereits nicht "ubereinstimmend erfolg, wird ein Fehler
-% ausgegeben. Dieses Makro ist extrem intern und funktioniert nur im
-% Kontext vor \cs{set@preamble}.
-% \begin{macrocode}
-\newcommand*{\set@preamble@hpos}[2]{%
- \@ifundefined{prbml@hpos}{%
- \def\prmbl@hpos{#1}%
- }{%
- \ifnum \prmbl@hpos=0\relax\else%
- \ClassError{%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
-%<scrartcl> scrartcl%
- }{%
- inconsistent hpos options%
- }{%
- You said `#2' as position option. But you have
- to\MessageBreak
- use only one from `l', `r' or `c' not two of
- these.\MessageBreak
- If you'll continue only first hpos option will be
- used}%
- \fi}}
-% \end{macrocode}
-% \end{macro}%\iffalse\set@preamble@hpos\fi
-% \begin{macro}{\set@preamble@vpos}
-% \changes{v2.8q}{2001/09/25}{Neu}
-% Das Hilfsmakro f"ur die vertikale Position funktioniert in gleicher
-% Weise.
-% \begin{macrocode}
-\newcommand*{\set@preamble@vpos}[2]{%
- \@ifundefined{prbml@vpos}{%
- \def\prmbl@vpos{#1}%
- }{%
- \ifnum \prmbl@vpos=0\relax\else%
- \ClassError{%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
-%<scrartcl> scrartcl%
- }{%
- inconsistent vpos options%
- }{%
- You said `#2' as position option. But you have
- to\MessageBreak
- use only one from `o' or `u' not two of
- these.\MessageBreak
- If you'll continue only first vpos option will be
- used}%
- \fi}}
-% \end{macrocode}
-% \end{macro}%\iffalse\set@preamble@vpos\fi
-% \end{macro}%\iffalse\set@@@@preamble\fi
-% \end{macro}%\iffalse\set@@@preamble\fi
-% \end{macro}%\iffalse\set@@preamble\fi
-% \end{macro}%\iffalse\set@preamble\fi
-%
-%
-% \begin{macro}{\dictum}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% \changes{v2.9l}{2003/01/28}{\cs{edef} durch \cs{def} ersetzt}
-% \changes{v2.9q}{2004/04/19}{zur Vermeidung von Problemen durch
-% \cs{raggeddictum} Gruppe eingef"ugt}
-% \begin{macro}{\dictumwidth}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% \begin{macro}{\raggeddictum}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% \begin{macro}{\raggeddictumtext}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% \begin{macro}{\raggeddictumauthor}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% \begin{macro}{\@dictumfont}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% \begin{macro}{\scr@fnt@dictumtext}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% \begin{macro}{\scr@fnt@instead@dictum}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% \begin{macro}{\@dictumauthorfont}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% \begin{macro}{\scr@fnt@dictumauthor}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% \begin{macro}{\dictumauthorformat}
-% \changes{v2.8q}{2001/20/04}{Neu}
-% Ein \emph{dictum} ist ein Spruch. Er besteht aus dem Spruch selbst
-% und verf"ugt optional "uber einen Autor, der dann mit einer Linie
-% abgetrennt wird. Gibt es keinen Autor, gibt es auch keine Linie. Die
-% Schriften f"ur Autor und Spruch k"onnen getrennt voneinander
-% eingestellt werden. Die Anordnung des Spruchs wird durch
-% \cs{raggeddictumtext} gesetzt. Die des Autors durch
-% \cs{raggeddictumauthor}. Die Formatierung selbst geschieht mit dem
-% Makro \cs{dictumauthorformat}. Vordefiniert ist, den Namen des
-% Autors in
-% runde Klammern zu setzen. Die gesamte Geschichte von Text und Autor
-% wird in eine Box der Breite \cs{dictumwidth} gepackt. Diese wird mit
-% \cs{raggeddictum} angeordnet.
-% \begin{macrocode}
-\newcommand{\dictum}[2][]{\par%
- \begingroup
- \raggeddictum\parbox{\dictumwidth}{%
- {\@dictumfont{\raggeddictumtext #2\strut\par}%
- \def\@tempa{#1}\ifx\@tempa\@empty\else%
- {\raggeddictumtext\vskip-1ex\hrulefill\par}%
- \raggeddictumauthor\@dictumauthorfont\dictumauthorformat{#1}%
- \strut\par%
- \fi%
- }%
- }\par%
- \endgroup
-}
-\newcommand*{\dictumwidth}{.3333\textwidth}
-\newcommand*{\raggeddictum}{\raggedleft}
-\newcommand*{\dictumauthorformat}[1]{(#1)}
-\newcommand*{\raggeddictumtext}{\raggedright}
-\newcommand*{\raggeddictumauthor}{\raggedleft}
-\newcommand*{\@dictumfont}{\normalfont\normalcolor\sffamily\small}
-\newcommand*{\@dictumauthorfont}{\itshape}
-\newcommand*{\scr@fnt@dictumtext}{\@dictumfont}
-\newcommand*{\scr@fnt@dictumauthor}{\@dictumauthorfont}
-\newcommand*{\scr@fnt@instead@dictum}{dictumtext}
-% \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}{\setchapterpreamble}
-% \changes{v2.7b}{2001/01/05}{Neu}
-% \changes{v2.8p}{2001/09/25}{Verwendung von \cs{set@preamble}}
-% \begin{macro}{\chapter@u@preamble}
-% \changes{v2.8p}{2001/09/25}{Neu}
-% \changes{v2.8p}{2001/09/25}{Ersatz f"ur \cs{chapter@preamble}}
-% \begin{macro}{\chapter@o@preamble}
-% \changes{v2.8p}{2001/09/25}{Neu}
-% Diese Makros werden ben"otigt, um die Kapitel-Pr"aambel zu setzen
-% bzw. zu speichern. Leider kann an dieser Stelle \emph{nicht}
-% |\renewcommand*| verwendet werden, weil das Makros unbedingt global
-% definiert werden mu"s.
-% \begin{macrocode}
-\newcommand*{\setchapterpreamble}{\set@preamble{chapter}}
-\newcommand*{\chapter@u@preamble}{}
-\let\chapter@u@preamble\relax
-\newcommand*{\chapter@o@preamble}{}
-\let\chapter@o@preamble\relax
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\setpartpreamble}
-% \changes{v2.8f}{2001/07/12}{Neu}
-% \changes{v2.8p}{2001/09/27}{Verwendung von \cs{use@preamble}}
-% \begin{macro}{\part@preamble@u}
-% \changes{v2.8p}{2001/09/27}{Ersatz f"ur \cs{part@preamble}}
-% \begin{macro}{\part@preamble@o}
-% \changes{v2.8p}{2001/09/27}{Neu}\
-% Analog gibt es Befehle f"ur eine Teil-Pr"aambel. Hier wird aber
-% direkt mit |\relax| gearbeitet.
-% \begin{macrocode}
-\newcommand*{\setpartpreamble}{\set@preamble{part}}
-\newcommand*{\part@preamble@u}{}
-\let\part@preamble@u\relax
-\newcommand*{\part@preamble@o}{}
-\let\part@preamble@o\relax
-%</scrreprt|scrbook>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \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.}
-% \changes{v2.7a}{2001/01/04}{\cs{addsec} f"ur eine bessere
-% Unterst"utzung von \texttt{hyperref}
-% ge"andert}
-% \changes{v2.8d}{2001/07/05}{\cs{chapterpagestyle} statt \texttt{plain}}
-% \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.}
-% \changes{v2.5d}{1998/01/03}{\cs{@mkboth} bedingt durch \cs{markright}
-% ersetzt.}
-% \begin{macro}{\@addsec}
-% \begin{macro}{\@saddsec}
-% \textsf{KOMA-Script} bietet in allen drei Hauptklassen den zus"atzlichen
-% Gliederungsbefehl |\addsec| und in \texttt{scrbook} und \texttt{scrreprt}
-% au"serdem |\addchap|. Es handelt sich dabei um mit |\section*| bzw.
-% |\chapter*| vergleichbare Befehle, bei denen jedoch der Kolumnentitel
-% korrigiert und ein Eintrag ins Inhaltsverzeichnis erfolgt (nicht in der
-% Stern-Variante).
-% \begin{macrocode}
-\newcommand*\addsec{\secdef\@addsec\@saddsec}
-\newcommand*{\@addsec}{}
-\def\@addsec[#1]#2{\section*{#2}\addcontentsline{toc}{section}{#1}
-%<scrartcl> \if@twoside \@mkboth{#1}{}\else \@mkboth{#1}{#1}\fi}
-%<scrreprt|scrbook> \if@twoside\ifx\@mkboth\markboth\markright{#1}\fi\fi}
-\newcommand*{\@saddsec}[1]{\section*{#1}\@mkboth{}{}}
-%<*scrreprt|scrbook>
-% \end{macrocode}
-% Die Definition von \cs{addcap} sah bis zu Version 2.7 so aus:
-% \begin{verbatim}
-% \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}
-% \end{verbatim}
-% Dies f"uhrte jedoch zu Problemen im Zusammenhang mit
-% \texttt{hyperref}, da hierbei keine korrekten Links erzeugt
-% werden. Mit dem \texttt{hypertex}-Treiber werden auch in der neuen
-% Version keine korrekten Links erzeugt. Dies wird von mir jedoch als
-% Bug in \texttt{hyperref 6.69c} betrachtet. Mit dem
-% \texttt{hpdftex}-Treiber werden n"amlich im Gegensatz dazu korrekte
-% Links erzeugt. Deshalb wurde der Code wie folgt vereinfacht. Von
-% wesentlicher Bedeutung ist dabei der Aufruf von \cs{chapter*}, da in
-% \texttt{hpdftex.def} das interne Makro \cs{@schapter} so umdefiniert
-% wird, da"s ein korrekter Link erzeugt wird.
-% \begin{macro}{\@addchap}
-% \begin{macro}{\@saddchap}
-% \begin{macrocode}
-\newcommand\addchap{\if@openright\cleardoublepage\else\clearpage\fi
- \thispagestyle{\chapterpagestyle}%
- \global\@topnum\z@
- \@afterindentfalse
- \secdef\@addchap\@saddchap%
-}
-\newcommand*{\@addchap}{}
-\def\@addchap[#1]#2{\@schapter{#2}%
- \addcontentsline{toc}{chapter}{#1}%
- \if@twoside\@mkboth{#1}{}\else\@mkboth{}{#1}\fi}
-\newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}}
-% \end{macrocode}
-% In \texttt{hyperref} zumindest bis Version 6.71a ist ein dicker Bug. In
-% verschiedenen \texttt{def}-Dateien wird dort das \emph{interne}
-% \textsf{KOMA-Script} Makro |\@addchap| umdefiniert, ohne sicherzustellen,
-% da"s das Makro auch noch so aussieht, wie man das erwartet hat. Die
-% sauberste L"osung w"are sicher gewesen dort |\@addchap| nur zu erg"anzen,
-% so wie man das auch bei |\@schapter| gemacht hat. Ab Version 6.71b ist
-% dieser Bug behoben. Damit ich nicht eines Fehlers verd"achtigt werde,
-% wird ggf. eine entsorechende Meldung ausgegeben.
-% \changes{v2.7e}{2001/04/16}{Fehlende, schlie"sende Klammer erg"anzt}
-% \changes{v2.7f}{2001/04/17}{Fehlendes Klammerpaar erg"anzt}
-% \changes{v2.8q}{2001/11/17}{\cs{AfterPackage} zur "Uberpr"ufung der
-% \texttt{hyperref}-Version verwendet}
-% \begin{macrocode}
-%<*scrbook>
-\AfterPackage{hyperref}{%
- \@ifpackagelater{hyperref}{2001/02/19}{}{%
- \ClassWarningNoLine{scrbook}{%
- You are using an old version of hyperref package!\MessageBreak%
- This version has a buggy hack at many drivers\MessageBreak%
- causing \string\addchap\space to behave strange.\MessageBreak%
- Please update hyperref to at least version
- 6.71b}}}
-%</scrbook>
-%</scrreprt|scrbook>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\section}
-% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor
-% \cs{size@section} aufgerufen}
-% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} behebt
-% einen Bug im color Paket}
-% \changes{v2.9q}{2004/04/26}{noch vor \cs{raggedsection} wird
-% \cs{parfillskip} unendlich dehnbar}
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf
-% \texttt{\cs{z@} plus 1fil} ge"andert}
-% \begin{macro}{\subsection}
-% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor
-% \cs{size@subsection} aufgerufen}
-% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} behebt
-% einen Bug im color Paket}
-% \changes{v2.9q}{2004/04/26}{noch vor \cs{raggedsection} wird
-% \cs{parfillskip} unendlich dehnbar}
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf
-% \texttt{\cs{z@} plus 1fil} ge"andert}
-% \begin{macro}{\subsubsection}
-% \changes{v2.3d}{1995/08/19}{wird bei \texttt{scrartcl}
-% nun ebenfalls numeriert und ins Inhaltsverzeichnis geschrieben}
-% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor
-% \cs{size@subsubsection} aufgerufen}
-% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} behebt
-% einen Bug im color Paket}
-% \changes{v2.9q}{2004/04/26}{noch vor \cs{raggedsection} wird
-% \cs{parfillskip} unendlich dehnbar}
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf
-% \texttt{\cs{z@} plus 1fil} ge"andert}
-% \begin{macro}{\paragraph}
-% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor
-% \cs{size@paragraph} aufgerufen}
-% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} behebt
-% einen Bug im color Paket}
-% \changes{v2.9q}{2004/04/26}{noch vor \cs{raggedsection} wird
-% \cs{parfillskip} unendlich dehnbar}
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf
-% \texttt{\cs{z@} plus 1fil} ge"andert}
-% \begin{macro}{\subparagraph}
-% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor
-% \cs{size@subparagraph} aufgerufen}
-% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} behebt
-% einen Bug im color Paket}
-% \changes{v2.9q}{2004/04/26}{noch vor \cs{raggedsection} wird
-% \cs{parfillskip} unendlich dehnbar}
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf
-% \texttt{\cs{z@} plus 1fil} ge"andert}
-% Die Standardgliederungsbefehle |\section| bis |\subparagraph| sind
-% mit der im Kernel daf"ur vorgesehenen Schnittstelle definiert. Im
-% Unterschied zu den Standardklassen erfolgt die Formatierung jedoch
-% in |\raggedsection| und der Schriftart |\sectfont|. Au"serdem sind
-% die Gr"o"sen ver"anderbar. In letzter Konsequenz sollten hier
-% eigentlich auch die Abst"ande variabilisiert werden. Vielleicht in
-% einer sp"ateren Version.
-% \begin{macrocode}
-\newcommand\section{\@startsection{section}{1}{\z@}%
- {-3.5ex \@plus -1ex \@minus -.2ex}%
- {2.3ex \@plus.2ex}%
- {\setlength{\parfillskip}{\z@ \@plus 1fil}%
- \raggedsection\normalfont\sectfont\nobreak\size@section\nobreak}}
-\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
- {-3.25ex\@plus -1ex \@minus -.2ex}%
- {1.5ex \@plus .2ex}%
- {\setlength{\parfillskip}{\z@ \@plus 1fil}%
- \raggedsection\normalfont\sectfont\nobreak\size@subsection\nobreak}}
-\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
- {-3.25ex\@plus -1ex \@minus -.2ex}%
- {1.5ex \@plus .2ex}%
- {\setlength{\parfillskip}{\z@ \@plus 1fil}%
- \raggedsection\normalfont\sectfont\nobreak\size@subsubsection\nobreak}}
-\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
- {3.25ex \@plus1ex \@minus.2ex}%
- {-1em}%
- {\setlength{\parfillskip}{\z@ \@plus 1fil}%
- \raggedsection\normalfont\sectfont\nobreak\size@paragraph\nobreak}}
-\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
- {3.25ex \@plus1ex \@minus .2ex}%
- {-1em}%
- {\setlength{\parfillskip}{\z@ \@plus 1fil}%
- \raggedsection\normalfont\sectfont\nobreak\size@subparagraph\nobreak}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{minisec}
-% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont}
-% behebt einen Bug im color Paket nicht ganz}
-% \changes{v2.9o}{2003/01/31}{\cs{nobreak} nach dem Gruppenende
-% behebt einen Bug im color Paket}
-% In \textsf{KOMA-Script} gibt es diese zus"atzliche Gliederungsebene, die
-% immer ohne Nummer und ihne Eintrag ins Inhaltsverzeichnis erfolgt.
-% \begin{macrocode}
-\newcommand\minisec[1]{\@afterindentfalse \vskip 1.5ex
- {\parindent \z@
- \raggedsection\normalfont\sectfont\nobreak#1\par\nobreak}\nobreak
- \@afterheading}
-% \end{macrocode}
-% \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}
-%
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-%
-% \subsection{Listen-Umgebungen}
-%
-% \subsection{Array, Tabellen, Tabulatoren, Rahmen}
-% \begin{Length}{arraycolsep}
-% \begin{Length}{tabcolsep}
-% \begin{Length}{arrayrulewidth}
-% \begin{Length}{doublerulewidth}
-% \begin{Length}{tabbingsep}
-% \begin{Length}{@mpfootins}
-% \begin{Length}{fboxsep}
-% \begin{Length}{fboxrule}
-% \begin{macrocode}
-\setlength\arraycolsep{5\p@}
-\setlength\tabcolsep{6\p@}
-\setlength\arrayrulewidth{.4\p@}
-\setlength\doublerulesep{2\p@}
-\setlength\tabbingsep{\labelsep}
-\setlength{\skip\@mpfootins}{\skip\footins}
-\setlength\fboxsep{3\p@}
-\setlength\fboxrule{.4\p@}
-% \end{macrocode}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-%
-% \subsubsection{Gleichungen}
-%
-% \begin{macro}{\theequation}
-% \begin{macrocode}
-%<!scrartcl&!scrlettr>\@addtoreset{equation}{chapter}
-\renewcommand*\theequation{%
-%<!scrartcl&!scrlettr> \thechapter.%
- \@arabic\c@equation}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{R"ander}
-%
-% \begin{Length}{leftmargini}
-% \begin{Length}{leftmarginii}
-% \begin{Length}{leftmarginiii}
-% \begin{Length}{leftmarginiv}
-% \begin{Length}{leftmarginv}
-% \begin{Length}{leftmarginvi}
-% \begin{Length}{leftmargin}
-% \begin{Length}{labelsep}
-% \begin{Length}{labelwidth}
-% 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}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-% \end{Length}
-%
-%
-% \subsubsection{Marken}
-%
-% F"ur die numerierten Listenumgebungen m"ussen Marken bzw. Numerierungen
-% festgelegt werden.
-% \begin{macro}{\theenumi}
-% \begin{macro}{\theenumii}
-% \begin{macro}{\theenumiii}
-% \begin{macro}{\theenumiv}
-% \begin{macro}{\labelenumi}
-% \begin{macro}{\labelenumii}
-% \changes{v2.4m}{1997/02/28}{"Offnende Klammer gem"a"s Doku entfernt.}
-% \begin{macro}{\labelenumiii}
-% \begin{macro}{\labelenumiv}
-% \begin{macro}{\p@enumii}
-% \begin{macro}{\p@enumiii}
-% \begin{macro}{\p@enumiv}
-% \begin{macro}{\labelitemi}
-% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert.}
-% \begin{macro}{\labelitemii}
-% \changes{v2.5g}{1999/10/09}{\cs{textendash} verwendet.}
-% \begin{macro}{\labelitemiii}
-% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert.}
-% \begin{macro}{\labelitemiv}
-% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert.}
-% \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{\p@enumii(\theenumii)}
-\renewcommand*\p@enumiv{\p@enumiii\theenumiii}
-\newcommand*\labelitemi{\textbullet}
-\newcommand*\labelitemii{\normalfont\bfseries\textendash}
-\newcommand*\labelitemiii{\textasteriskcentered}
-\newcommand*\labelitemiv{\textperiodcentered}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \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}
-%
-% \begin{environment}{addmargin}
-% \changes{v2.8q}{2001/11/29}{Neue Umgebung}
-% \begin{environment}{addmargin*}
-% \changes{v2.8q}{2001/11/29}{Neue Umgebung}
-% \changes{v2.9a}{2002/06/27}{\cs{if@thispageodd} durch
-% \cs{ifthispageodd} ersetzt}
-% Diese beiden Umgebungen "ahneln |quote| und |quotation|. Dabei
-% werden Absatzeinzug und Absatzabstand nicht ver"andert. Die einzige
-% Ver"anderung besteht in den R"andern. Wie stark die R"ander
-% ver"andert werden, h"angt dabei von den Parametern ab. Ist nur der
-% obligatorische Parameter angegeben, werden die R"ander auf beiden
-% Seiten um diesen Wert vergr"o"sert. Ist ein optionaler Parameter
-% angegeben, so ist dies bei |addmargin| der linke und bei
-% |addmargin*| der innere Rand. Der obligatorische Parameter ist dann
-% der andere Rand. Diese Entscheidung ist das einzige, was die
-% Umgebungen selbst erledigen m"ussen.
-% \begin{macro}{\@addmargin}
-% \changes{v2.8q}{2001/11/29}{Neu}
-% \changes{v2.9q}{2003/03/24}{\cs{labelsep} bleibt unver"andert}
-% Der Rest wird von diesem Makro erledigt.
-% \begin{macrocode}
-\newenvironment{addmargin}{%
- \@tempswafalse\@addmargin
- }{\endlist}
-\newenvironment{addmargin*}{%
- \@tempswafalse
- \if@twoside\ifthispageodd{}{\@tempswatrue}\fi
- \@addmargin
- }{\endlist}
-\newcommand*{\@addmargin}[2][\@tempa]{%
- \@tempcnta=\@listdepth
- \list{}{%
- \if@tempswa
- \def\@tempa{\leftmargin}%
- \setlength{\leftmargin}{#2}%
- \setlength{\rightmargin}{#1}%
- \else
- \def\@tempa{\rightmargin}%
- \setlength{\rightmargin}{#2}%
- \setlength{\leftmargin}{#1}%
- \fi
- \setlength{\listparindent}{\parindent}%
- \setlength{\itemsep}{\parskip}%
- \setlength{\itemindent}{\z@}%
- \setlength{\topsep}{\z@}%
- \setlength{\parsep}{\parskip}%
- \setlength{\partopsep}{\parskip}%
- \let\makelabel\@gobble
- \setlength{\labelwidth}{\z@}
- \@listdepth=\@tempcnta%
- }%
- \item[]%
- }
-% \end{macrocode}
-% \end{macro}
-% \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.}
-% \changes{v2.7a}{2001/01/04}{Statt \cs{section*} wird nun \cs{addsec*}
-% verwendet, damit die Kolumnentitel korrekt
-% behandelt werden.}
-% \begin{macrocode}
-%<*!scrbook&!scrlettr>
-\if@titlepage
- \newenvironment{abstract}{%
- \titlepage
- \null\vfil
- \@beginparpenalty\@lowpenalty
- \if@abstrt
- \begin{center}
- \normalfont\sectfont\nobreak\abstractname
- \@endparpenalty\@M
- \end{center}\fi}
- {\par\vfil\null\endtitlepage}
-\else
- \newenvironment{abstract}{%
- \if@twocolumn\if@abstrt
- \addsec*{\abstractname}\fi%
- \else
- \if@abstrt
- \small
- \begin{center}%
- {\normalfont\sectfont\nobreak\abstractname
- \vspace{-.5em}\vspace{\z@}}%
- \end{center}\fi%
- \quotation
- \fi}
- {\if@twocolumn\else\endquotation\fi}
-\fi
-%</!scrbook&!scrlettr>
-% \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. Briefe kennen keine Titelseiten also auch nicht diese
-% Umgebung.
-% \begin{macrocode}
-%<*!scrlettr>
-\newenvironment{titlepage}
- {%
-%<!scrartcl> \cleardoublepage
- \if@twocolumn
- \@restonecoltrue\onecolumn
- \else
- \@restonecolfalse\newpage
- \fi
- \thispagestyle{empty}%
- \if@compatibility
- \setcounter{page}{0}
- \fi}%
- {\if@restonecol\twocolumn \else \newpage \fi
- }
-%</!scrlettr>
-% \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.
-% \changes{v2.4l}{1997/02/06}{Die Definition mit Hilfe des optionalen
-% Parameters von \cs{marginpar} deutlich
-% vereinfacht.}
-% \changes{v2.8q}{2001/11/27}{Fehlende Klammern erg"anzt}
-% \begin{macrocode}
-\newcommand\marginline[1]{\marginpar[\raggedleft{#1}]{\raggedright #1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Anhang}
-% \begin{macro}{\appendix}
-% Wird der Anhang aktiviert, so werden Kapitel zuk"unftig mit Buchstaben
-% "`numeriert"'. Briefe kennen keinen Anhang.
-% \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.}
-% \changes{v2.8}{2001/06/15}{\cs{appendixmore} wird beachtet}
-% \changes{v2.8e}{2001/07/10}{\cs{@altsecnumformattrue} wird nicht
-% l"anger ausgef"uhrt}
-% \changes{v2.8o}{2001/09/19}{\cs{par} eingef"ugt}
-% \begin{macrocode}
-%<*!scrlettr>
-\newcommand*\appendix{\par%
-%<*scrartcl>
- \setcounter{section}{0}%
- \setcounter{subsection}{0}%
- \renewcommand*\thesection{\@Alph\c@section}%
-%</scrartcl>
-%<*scrreprt|scrbook>
- \setcounter{chapter}{0}%
- \setcounter{section}{0}%
- \renewcommand*\@chapapp{\appendixname}%
- \renewcommand*\thechapter{\@Alph\c@chapter}%
-%</scrreprt|scrbook>
- \@ifundefined{appendixmore}{}{\appendixmore}}
-%</!scrlettr>
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Flie"sumgebungen}
-%
-% Briefe kennen keine Flie"sumgebungen
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% 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.}
-% \changes{v2.8h}{2001/07/19}{\cs{caption} wird explizit zu
-% \cs{captionbelow}}
-% Zun"achst werden "`figures"', also Abbildungen behandelt.
-% \begin{Counter}{figure}
-% \begin{macro}{\thefigure}
-% Daf"ur wird ein neuer Z"ahler ben"otigt, der bei der Buch- und der
-% Bericht-Klasse mit \cs{chapter} zur"uckgesetzt wird.
-% \begin{macro}{\fps@figure}
-% Die Standardplatzierung f"ur Abbildungen ist \emph{t}op,
-% \emph{b}ottom, \emph{p}age.
-% \begin{macro}{\ftype@figure}
-% Um die verschiedenen \emph{float}-Typen unterscheiden zu k"onnen,
-% ben"otigen sie eine Nummer. Abbildungen bekommen hier willk"urlich
-% die Nummer 1.
-% \begin{macro}{\ext@figure}
-% Die Extension der Datei f"ur das Verzeichnis.
-% \begin{macro}{\fnum@figure}
-% Die Ausgabe der Abbildungsnummer.
-% \begin{macrocode}
-%<!scrartcl>\newcounter{figure}[chapter]
-%<scrartcl>\newcounter{figure}
-\renewcommand*\thefigure{%
-%<!scrartcl> \thechapter.%
- \@arabic\c@figure}
-\newcommand*{\fps@figure}{tbp}
-\newcommand*{\ftype@figure}{1}
-\newcommand*{\ext@figure}{lof}
-\newcommand*{\fnum@figure}{\figureformat}
-\newenvironment{figure}
- {\let\caption\captionbelow\@float{figure}}
- {\end@float}
-\newenvironment{figure*}
- {\let\caption\captionbelow\@dblfloat{figure}}
- {\end@dblfloat}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
-% \end{environment}
-%
-% \begin{environment}{table}
-% \changes{v2.2c}{1995/05/25}{Tabellenausgabe auf CJK umgestellt.}
-% \changes{v2.8h}{2001/07/19}{Bei Tabellen kann der Default f"ur
-% \cs{caption} von Unter- auf
-% "Uberschriften ge"andert werden}
-% Auch verschiebbare Tabellen sind m"oglich.
-% \begin{Counter}{table}
-% \begin{macro}{\thetable}
-% \begin{macro}{\fps@table}
-% \begin{macro}{\ftype@table}
-% \begin{macro}{\ext@table}
-% \begin{macro}{\fnum@table}
-% Die einzelnen Makros
-% daf"ur werden entsprechend denen f"ur Abbildungen definiert.
-% \begin{macrocode}
-%<scrartcl>\newcounter{table}
-%<!scrartcl>\newcounter{table}[chapter]
-\renewcommand*\thetable{%
-%<!scrartcl> \thechapter.%
- \@arabic\c@table}
-\newcommand*{\fps@table}{tbp}
-\newcommand*{\ftype@table}{2}
-\newcommand*{\ext@table}{lot}
-\newcommand*{\fnum@table}{\tableformat}
-\newenvironment{table}
- {\if@tablecaptionabove\let\caption\captionabove%
- \else\let\caption\captionbelow\fi\@float{table}}
- {\end@float}
-\newenvironment{table*}
- {\if@tablecaptionabove\let\caption\captionabove%
- \else\let\caption\captionbelow\fi\@dblfloat{table}}
- {\end@dblfloat}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
-% \end{environment}
-%
-%
-% \begin{macro}{\ifthispageodd}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% \changes{v2.9l}{2002/03/28}{stabilisiert}
-% H"aufig wird mit |\ifodd\value{page}| getestet, ob man sich gerade
-% auf einer rechten oder einer linken Seite befindet. Dummerweise
-% funktioniert das aber genaugenommen nur zuf"allig manchmal. Ob man
-% sich auf einer linken oder einer rechten Seite befindet, ergibt sich
-% n"amlich erst bei der Ausgabe. Deshalb wird hier ein Makro
-% definiert, das "uber eine Art Label-Mechanismus arbeitet. Es werden
-% bewusst keine echten |\label| und |\pageref| verwendet, weil diese
-% Befehle von verschiedenen Paketen manipuliert werden.
-%
-% \begin{macro}{\new@tpo@label}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Definition eines neuen \emph{true}-\emph{page}-\emph{odd}
-% Labels. Wird in der \texttt{aux}-Datei verwendet.
-% \begin{macrocode}
-\newcommand*{\new@tpo@label}[2]{%
- \expandafter\gdef\csname scr@tpo@#1\endcsname{#2}%
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ref@tpo@label}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Dieses Makro referenziert ein \emph{true}-\emph{page}-\emph{odd}
-% Label. Ist das Label nicht definiert, so wird stattdessen the
-% aktuelle Seitenzahl verwendet.
-% \begin{macrocode}
-\newcommand*{\ref@tpo@label}[1]{%
- \expandafter\ifx\csname scr@tpo@#1\endcsname\relax\value{page}%
- \else\csname scr@tpo@#1\endcsname\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scr@tpo}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Es wird ein Z"ahler ben"otigt, der die aktuelle Nummer der Anfrage
-% beinhaltet.
-% \begin{macrocode}
-\newcommand*{\scr@tpo}{0}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\is@thispageodd}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% \changes{v2.9l}{2003/01/28}{renamed \cs{if@thispageodd}}
-% Dieses Makro macht die eigentliche Arbeit. Es funktioniert wie ein
-% normales \cs{iffalse} oder \cs{iftrue}. Da "uber die
-% \texttt{aux}-Datei gearbeitet wird, funktioniert das Ganze nur, wenn
-% die Datei auch geschrieben wird und min. zwei \LaTeX-L"aufe
-% erfolgen.
-% \begin{macrocode}
-\newcommand*{\is@thispageodd}{%
- \begingroup%
- \@tempcnta=\scr@tpo%
- \advance\@tempcnta by\@ne%
- \xdef\scr@tpo{\the\@tempcnta}%
- \@bsphack
- \protected@write\@auxout{}{%
- \string\new@tpo@label{\scr@tpo}{\noexpand\the\value{page}}}%
- \@esphack
- \count@\ref@tpo@label{\scr@tpo}\relax
- \ifodd\count@
- \aftergroup\thispagewasoddtrue
- \else
- \aftergroup\thispagewasoddfalse
- \fi
- \endgroup
-}
-% \end{macrocode}
-% Damit wenigstens halbwegs getestet werden kann, ob ein neuer Lauf
-% durchgef"uhrt werden muss, wird hier noch eine weitere Information
-% in die \texttt{aux}-Datei geschrieben und auch gleich der
-% entsprechende Test vorgenommen.
-% \begin{macrocode}
-\AtEndDocument{%
- \if@filesw\immediate\write\@auxout{%
- \string\gdef\string\scr@tpo@lst{\scr@tpo}}\fi%
- \ifx\scr@tpo@lst\scr@tpo\else\ifnum \scr@tpo>0
- \ClassWarningNoLine{%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
-%<scrartcl> scrartcl%
- }{Rerun to get odd- an even-page-stuff right}%
- \fi\fi
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ifthispagewasodd}
-% \changes{v2.9l}{2003/01/20}{neuer Schalter}
-% \begin{macro}{\thispagewasoddtrue}
-% \begin{macro}{\thispagewasoddfalse}
-% Dieser Schalter speichert auf Rolf Niepraschks speziellen Wunsch die
-% letzte Entscheidung von \cs{ifthispageodd}. Vor dem ersten
-% \cs{ifthispageodd} ist der Zustand undefiniert. Es ist auch nicht
-% garantiert, dass die Entscheidung noch zutreffend ist.
-% \begin{macrocode}
-\newif\ifthispagewasodd
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% Nun fehlt nur noch das eigentliche oben versprochene
-% Anwendermacro. Das ist nun aber auch kein Problem mehr:
-% \begin{macrocode}
-\newcommand{\ifthispageodd}{%
- \is@thispageodd
- \ifthispagewasodd
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \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. Diese wird vom ggf. etwas abgesetzt.
-% \begin{Length}{abovecaptionskip}
-% \begin{Length}{belowcaptionskip}
-% Um wieviel ist in zwei L"angenregistern gespeichert:
-% \begin{macrocode}
-\newlength\abovecaptionskip
-\newlength\belowcaptionskip
-\setlength\abovecaptionskip{10\p@}
-\setlength\belowcaptionskip{0\p@}
-% \end{macrocode}
-% \end{Length}
-% \end{Length}
-% \begin{macro}{\if@captionabove}
-% \changes{v2.8h}{2001/07/19}{Neu}
-% Ob es sich um eine Unter- oder "Uberschrift handelt und also
-% \cs{abovecaptionskip} davor und \cs{belowcaptionskip} danach steht
-% oder umgekehrt, wird "uber diesen Schalter gesteuert. Voreingestellt
-% sind Unterschriften.
-% \begin{macrocode}
-\newif\if@captionabove\@captionabovefalse
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\scr@caption}
-% \changes{v2.8h}{2001/07/19}{Neu}
-% \begin{macro}{\captionabove}
-% \changes{v2.8h}{2001/07/19}{Neu}
-% \begin{macro}{\captionbelow}
-% \changes{v2.8h}{2001/07/19}{Neu}
-% Damit "uberhaupt zwischen Unter- und "Uberschriften unterschieden
-% werden kann, muss zun"achst das Originalmakro gesichert werden. Dies
-% geschieht erst zu Beginn des Dokuments, damit Pakete ggf. noch ihre
-% eigenen Definitionen von \cs{caption} vornehmen k"onnen. Das
-% \texttt{hyperref}-Paket ist so ein Kandidat.
-% \begin{macrocode}
-\newcommand{\scr@caption}{}
-\AtBeginDocument{\let\scr@caption\caption}
-% \end{macrocode}
-% \end{macro}
-% Jetzt ist es m"oglich durch einfaches Umlegen des Schalters f"ur die
-% korrekte Darstellung zu sorgen:
-% \begin{macrocode}
-\newcommand{\captionabove}{\@captionabovetrue\scr@caption}
-\newcommand{\captionbelow}{\@captionabovefalse\scr@caption}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{environment}{captionbeside}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Um einiges komplizierter als die Beschreibung unter oder "uber die
-% Tabelle oder Abbildung zu setzen, ist der Versuch, sie daneben zu
-% setzen. Dies funktioniert frunds"atzlich auch nicht mit
-% \texttt{longtable}-Tabellen.
-%
-% \begin{macro}{\scap@pos}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Hier wird gespeichert, ob die Beschreibung links oder rechts vom
-% Rest stehen soll. Voreingestellt ist rechts davon.
-% \begin{macrocode}
-\newcommand*{\scap@pos}{r}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scap@valign}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Hier wird gespeichert, ob die beiden Boxen (siehe Definition der
-% Umgebung) \emph{\textbf{t}op}, \emph{\textbf{b}ottem} oder
-% \emph{\textbf{c}enter} ausgerichtet werden sollen. Andere Buchstaben
-% sind nicht erlaubt. Voreingestellt ist \emph{\textbf{b}ottem}.
-% \begin{macrocode}
-\newcommand*{\scap@valign}{b}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scap@caption}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Die Beschreibung, die der Umgebung als Parameter "ubergeben wird,
-% muss zwischengespeichert werden. Hier wird lediglich das Makro
-% daf"ur reserviert.
-% \begin{macrocode}
-\newcommand*{\scap@caption}{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scap@width}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Die Breite, die Tabelle bzw. Abbildung einschlie"slich Beschreibung
-% und insgesamt haben d"urften. Voreingestellt ist die gesamte
-% verf"ugbare Breite.
-% \begin{macrocode}
-\newcommand*{\scap@width}{\linewidth}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scap@move}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Der Wert, um den die Tabelle bzw. Abbildung einschlie"slich
-% Beschreibung nach rechts bzw. au"sen verschoben
-% werden. Voreingestellt ist keine Verschiebung.
-% \begin{macrocode}
-\newcommand*{\scap@move}{\z@}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scap@currentlabel}
-% \changes{v2.8q}{2001/11/24}{Neu}
-% Das |\caption| innerhalb einer Umgebung (|\parbox| und
-% |captionbeside|) aufgerufen wird, w"urde ein |\label|, das zwar
-% innerhalb der Gleitumgebung aber nach der |captionbeside|-Umgebung
-% eingef"ugt wird, nicht die Gleitumgebung, sondern die umgebende
-% Referenzebene referenzieren. Damit das nicht geschieht, wird in der
-% |captionbeside|-Umgebung in der |\parbox| die aktuelle Referenz
-% |\@currentlabel| in dem globalen Makro |\scap@currentlabel|
-% zwischengespeichert und am Ende der |captionbeside|-Umgebung mit
-% Hilfe von |\aftergroup| nach dem Ende der Umgebung
-% wiederhergestellt. Da die |captionbeside|-Umgebung ohnehin nicht
-% geschaltelt werden kann, funktioniert das problemlos. F"ur diese
-% Aktion wird hier ein globales Makro reserviert.
-% \begin{macrocode}
-\newcommand*{\scap@currentlabel}{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ifscap@alt}
-% \changes{v2.8q}{2001/11/22}{Neuer Schalter}
-% \begin{macro}{\scap@alttrue}
-% \begin{macro}{\scap@altfalse}
-% Der Schalter, der angibt, ob die Verschiebung |\scap@move| im
-% doppelseitigen Modus aus linken Seiten vom rechten Rand aus nach
-% links erfolgen soll.
-% \begin{macrocode}
-\newif\ifscap@alt
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@captionbeside}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% \begin{macro}{\@@captionbeside}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% \begin{macro}{\@@@captionbeside}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% \begin{macro}{\@@@@captionbeside}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Die Umgebung soll einmal folgende Parameter besitzen:
-% \begin{description}
-% \item[(optional)] Verzeichniseintrag
-% \item[(obligatorisch)] Beschreibung
-% \item[(optional)] lokaler Wert f"ur |\scap@pos|
-% \item[(optional)] lokaler Wert f"ur |\scap@width|
-% \item[(optional)] lokaler Wert f"ur |\scap@move|
-% \item[(*)] lokaler Wert f"ur \cs{ifscap@alt} (Stern gesetzt
-% entspricht |\scap@alttrue|
-% \end{description}
-% Wie man sieht, sollte man bei Angabe aller optionalen Parameter auch
-% bewusst den Stern setzen oder darauf verzichten.
-%
-% Damit alle Parameter ausgewertet werden k"onnen, werden einige
-% Hilfsmakros ben"otigt.
-% \begin{macrocode}
-\newcommand*{\@captionbeside}{}
-\long\def\@captionbeside[#1]#2{%
- \@ifnextchar [%]
- {\@@captionbeside[{#1}]{#2}}
- {\c@pti@nb@sid@[{#1}]{#2}}%
- }
-\newcommand*{\@@captionbeside}{}
-\long\def\@@captionbeside[#1]#2[#3]{%
- \def\scap@pos{#3}%
- \@ifnextchar [%]
- {\@@@captionbeside[{#1}]{#2}}
- {\c@pti@nb@sid@[{#1}]{#2}}%
- }
-\newcommand*{\@@@captionbeside}{}
-\long\def\@@@captionbeside[#1]#2[#3]{%
- \def\scap@width{#3}%
- \@ifnextchar [%]
- {\@@@@captionbeside[{#1}]{#2}}
- {\setlength{\@tempdima}{#3}%
- \addtolength{\@tempdima}{-\linewidth}%
- \setlength{\@tempdima}{-.5\@tempdima}%
- \edef\scap@move{\the\@tempdima}%
- \c@pti@nb@sid@[{#1}]{#2}}%
- }
-\newcommand*{\@@@@captionbeside}{}
-\long\def\@@@@captionbeside[#1]#2[#3]{%
- \def\scap@move{#3}%
- \@ifstar
- {\scap@alttrue\c@pti@nb@sid@[{#1}]{#2}}
- {\scap@altfalse\c@pti@nb@sid@[{#1}]{#2}}%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\c@pti@nb@sid@b@x}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Es wird noch eines der kostbaren Boxregister ben"otigt.
-% \begin{macrocode}
-\newbox\c@pti@nb@sid@b@x
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\c@pti@nb@sid@}
-% \changes{v2.8q}{2001/11/22}{Neu}
-% Hier wird nun die Umgebung eigentlich ge"offnet, w"ahrend zuvor nur
-% die Parameter ausgewertet wurden.
-% \begin{macrocode}
-\newcommand{\c@pti@nb@sid@}{}
-\long\def\c@pti@nb@sid@[#1]#2{%
- \def\scap@caption{\captionbelow[{#1}]{#2}}%
- \begin{lrbox}{\c@pti@nb@sid@b@x}%
- }
-% \end{macrocode}
-% \end{macro}
-%
-% Jetzt endlich k"onnen wir uns auf die Umgebung st"urzen. Die
-% Umgebung zu starten ist einfach. Es wird ein Doppelargumentmakro
-% ausgef"uhrt.
-% \begin{macrocode}
-\newenvironment*{captionbeside}{%
- \@dblarg\@captionbeside%
- }{%
-% \end{macrocode}
-% Komplizierter ist die Beendigung der Umgebung. Hier f"allt der
-% gesamte Satzaufwand an.
-% \changes{v2.9a}{2002/06/27}{\cs{if@thispageodd} durch
-% \cs{ifthispageodd} ersetzt}
-% \begin{macrocode}
- \end{lrbox}%
- \settowidth{\@tempdima}{\usebox\c@pti@nb@sid@b@x}%
- \setlength{\@tempdimb}{\scap@width}%
- \addtolength{\@tempdimb}{-\@tempdima}%
- \addtolength{\@tempdimb}{-\columnsep}%
- \ifdim \@tempdimb<2em
- \ClassWarning{%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
-%<scrartcl> scrartcl%
- }{%
- caption beside will be very, very small.\MessageBreak
- In most cases this will result in overfull and
- underfull\MessageBreak
- \string\hbox\space messages%
- }%
- \fi%
- \onelinecaptionsfalse
- \setcapwidth[r]{\@tempdimb}%
- \let\@tempa\scap@pos
- \setlength{\@tempdimc}{\scap@move}%
- \if i\scap@pos\def\@tempa{l}\fi
- \if o\scap@pos\def\@tempa{r}\fi
- \if@twoside
- \ifthispageodd{}{%
- \if o\scap@pos\def\@tempa{l}\fi
- \if i\scap@pos\def\@tempa{r}\fi
- \ifscap@alt
- \addtolength{\@tempdimc}{\scap@width}%
- \addtolength{\@tempdimc}{-\linewidth}%
- \setlength{\@tempdimc}{-\@tempdimc}%
- \fi
- }%
- \fi
- \hspace*{\@tempdimc}%
-% \end{macrocode}
-% \changes{v2.9p}{2002/12/10}{\cs{@temdima} replaced by
-% \cs{wd}\cs{c@pti@nb@sid@b@x}, because \cs{@temdima} would be changed}
-% \begin{macrocode}
- \if l\@tempa%
- \rlap{%
- \parbox[\scap@valign]{\@tempdimb}{\scap@caption
- \global\let\scap@currentlabel\@currentlabel}%
- \nobreak\hskip\columnsep%
- \parbox[\scap@valign]{\wd\c@pti@nb@sid@b@x}{\usebox\c@pti@nb@sid@b@x}%
- }%
- \else
- \rlap{%
- \parbox[\scap@valign]{\wd\c@pti@nb@sid@b@x}{\usebox\c@pti@nb@sid@b@x}%
- \nobreak\hskip\columnsep%
- \parbox[\scap@valign]{\@tempdimb}{\scap@caption
- \global\let\scap@currentlabel\@currentlabel}%
- }%
- \fi
- \par
- \aftergroup\let\aftergroup\@currentlabel\aftergroup\scap@currentlabel
- }
-% \end{macrocode}
-% \end{environment}
-%
-%
-% \begin{macro}{\@makecaption}
-% \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.}
-% \changes{v2.5g}{1999/10/09}{Neben den komplett h"angenden
-% Unter-/"Uberschriften sind nun auch nicht
-% h"angende oder teilweise h"angende m"oglich.}
-% Bis Version 2.5f sah die Definition wie folgt aus.
-% \begin{verbatim}
-% \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{verbatim}
-% \begin{macro}{\ifdofullc@p}
-% Nun jedoch wird das ganze etwas komplizierter. Als erstes wird ein
-% Schalter ben"otigt, der angibt, ob auf die volle L"ange des
-% "`Labels"' eingezogen werden soll, oder nicht:
-% \begin{macrocode}
-\newif\ifdofullc@p
-% \end{macrocode}
-% wobei die Standardeinstellung der volle Einzug ist, um zum bisherigen
-% Verhalten kompatibel zu bleiben.
-% \begin{macrocode}
-\dofullc@ptrue
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\if@capbreak}
-% \changes{v2.8j}{2001/07/30}{Neu}
-% Au"serdem gibt es einen Schalter, der angibt, ob nach dem Label ein
-% Umbruch erfolgen soll. Dies ist normalerweise nicht der Fall.
-% \begin{macrocode}
-\newif\if@capbreak\@capbreakfalse
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\setcapindent}
-% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet}
-% \changes{v2.8l}{2001/08/17}{\cs{edef}\cs{cap@indent} statt
-% \cs{def}\cs{cap@indent}}
-% \changes{v2.8q}{2001/11/17}{wird nach dem Laden von
-% \texttt{caption2} umdefiniert}
-% Dann wird weiter ein Befehl ben"otigt, mit dem der Benutzer die
-% Weite des Einzugs selbst einstellen kann. Da intern f"ur die Weite
-% ein Makro verwendet werden soll, findet hier sicherheitshalber eine
-% Zuweisung an eine Dimension statt. So sollten Fehlermeldungen hier
-% und nicht erst bei Verwendung auftauchen. Nat"urlich mu"s hier auch
-% der automatische Einzug abgeschaltet werden. In der Sternform wird
-% au"serdem daf"ur gesorgt, da"s zwischen "`Label"' und Beschreibung
-% ein Umbruch erfolgt. In der normalen Version wird stattdessen f"ur
-% Kompatibilit"at zu fr"uheren Versionen gesorgt.
-% \begin{macro}{\@setcapindent}
-% \begin{macro}{\@@setcaptindent}
-% F"ur die Implementierung der Sternform werden zwei interne Makros
-% ben"otigt.
-% \begin{macrocode}
-\newcommand*{\setcapindent}{\@ifstar{\@@setcapindent}{\@setcapindent}}
-\newcommand*{\@setcapindent}[1]{
- \setlength{\@tempdima}{#1}%
- \ifdim\@tempdima>\hsize\addtolength{\@tempdima}{-\hsize}\@capbreaktrue
- \else\@capbreakfalse\fi
- \edef\cap@indent{\the\@tempdima}
- \dofullc@pfalse
-}
-\newcommand*{\@@setcapindent}[1]{
- \setlength{\@tempdima}{#1}%
- \edef\cap@indent{\the\@tempdima}
- \dofullc@pfalse\@capbreaktrue
-}
-\AfterPackage{caption2}{%
- \renewcommand*{\setcapindent}{%
- \ClassWarning{%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
-%<scrartcl> scrartcl%
- }{%
- You're using package caption2.\MessageBreak
- Because of this you should also use \string\captionstyle\space
- and\MessageBreak
- set length \string\captionindent\space instead if
- using\MessageBreak
- \string\setcapindent
- }
- \captionstyle{indent}%
- \@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\setcaphanging}
-% \changes{v2.8q}{2001/11/17}{wird nach dem Laden von
-% \texttt{caption2} umdefiniert}
-% Andererseits soll es auch m"oglich sein, nachtr"aglich wieder den
-% automatischen Einzug einzuschalten. Daf"ur gibt es ein weiteres Makro.
-% \begin{macrocode}
-\newcommand*{\setcaphanging}{\dofullc@ptrue\@capbreakfalse}
-\AfterPackage{caption2}{%
- \renewcommand*{\setcaphanging}{%
- \ClassWarning{%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
-%<scrartcl> scrartcl%
- }{%
- You're using package caption2.\MessageBreak
- Because of this you should also use \string\captionstyle\MessageBreak
- instead of \string\setcaphang
- }
- \captionstyle{hang}}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% Nun aber zur neuen Definition der "Uber-/Unterschriften. Zun"achst geht
-% alles wie gehabt.
-% \changes{v2.5g}{1999/10/09}{\cs{@makecaption} per \cs{newcommand}
-% definiert statt mit \cs{long}\cs{def}.}
-% \changes{v2.8h}{2001/07/19}{Unterscheidung zwischen "Uber- und
-% Unterschriften}
-% \changes{v2.8j}{2001/07/30}{\cs{@makecaption} verwendet
-% \cs{@@makecaption}}
-% \changes{v2.8q}{2001/11/17}{die Sonderbehandlung f"ur einzeilige
-% \emph{caption}s ist abschaltbar}
-% \changes{v2.8q}{2001/11/17}{\emph{caption}s k"onnen in ihrer Breite
-% beschr"ankt werden}
-% \changes{v2.9q}{2004/01/30}{fehlendes \texttt{\%} eingef"ugt}
-% \begin{macrocode}
-\newcommand{\@makecaption}[2]{%
- \if@captionabove\vskip\belowcaptionskip\else\vskip\abovecaptionskip\fi
- \@@makecaption\@firstofone{#1}{#2}%
- \if@captionabove\vskip\abovecaptionskip\else\vskip\belowcaptionskip\fi}
-% \end{macrocode}
-% \begin{macro}{\@@makecaption}
-% Tats"achlich gesetzt wird die "Uber- bzw. Unterschrift mit diesem
-% Makro. Dabei muss der erste Parameter entweder \verb|\@gobble| oder
-% \verb|\@firstofone| sein.
-%
-% \begin{macro}{\cap@width}
-% \changes{v2.8q}{2001/11/17}{Neues internes Makro}
-% \begin{macro}{\cap@left}
-% \changes{v2.8q}{2001/11/17}{Neues internes Makro}
-% \begin{macro}{\cap@right}
-% \changes{v2.8q}{2001/11/17}{Neues internes Makro}
-% Die Breite der mehrzeiligen bzw. die maximale Breite der einzeiligen
-% \emph{caption}s sowie das Makro das links und rechts von der Box mit
-% der mehrzeiligen \emph{caption} aufgerufen wird. In der
-% Voreinstellung wird f"ur Zentrierung gesorgt.
-% \begin{macrocode}
-\newcommand*{\cap@width}{\hsize}
-\newcommand*{\cap@left}{\hfill}
-\newcommand*{\cap@right}{\hfill}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\setcapwidth}
-% \changes{v2.8q}{2001/11/17}{Neue}
-% \changes{v2.9a}{2002/06/27}{\cs{if@thispageodd} durch
-% \cs{ifthispageodd} ersetzt}
-% \changes{v2.9l}{2003/01/28}{\cs{edef}\cs{@tempb} durch
-% \cs{def}\cs{@tempb} ersetzt}
-% Hier wird |\cap@width| gesetzt. Dabei werden optional auch
-% |\cap@left| und |\cap@right| angepasst.
-% \begin{macrocode}
-\newcommand*{\setcapwidth}[2][]{%
- \begingroup%
- \setlength{\@tempdima}{#2}%
- \edef\@tempa{\endgroup\def\noexpand\cap@width{\the\@tempdima}}%
- \@tempa%
- \begingroup
- \expandafter\def\expandafter\@tempa\expandafter{#1}%
- \def\@tempb{c}\ifx\@tempa\@tempb
- \endgroup%
- \def\cap@margin{\let\cap@left=\hfill\let\cap@right=\hfill}%
- \else
- \def\@tempb{l}\ifx\@tempa\@tempb
- \endgroup%
- \def\cap@margin{\let\cap@left=\relax\let\cap@right\hfill}%
- \else
- \def\@tempb{r}\ifx\@tempa\@tempb
- \endgroup%
- \def\cap@margin{\let\cap@left=\hfill\let\cap@right=\relax}%
- \else
- \def\@tempb{i}\ifx\@tempa\@tempb
- \endgroup
- \def\cap@margin{%
- \let\cap@left=\relax
- \let\cap@right=\hfill
- \if@twoside
- \ifthispageodd{}{%
- \let\cap@left=\hfill
- \let\cap@right=\relax
- }%
- \fi
- }%
- \else
- \def\@tempb{o}\ifx\@tempa\@tempb
- \endgroup
- \def\cap@margin{%
- \let\cap@left=\hfill
- \let\cap@right=\relax
- \if@twoside
- \ifthispageodd{}{%
- \let\cap@left=\relax
- \let\cap@right=\hfill
- }%
- \fi
- }%
- \else
- \ifx \@tempa\@empty\else
- \ClassError{%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
-%<scrartcl> scrartcl%
- }{%
- unknown optional position argument%
- }{%
- You've used `#1' as position argument at
- \string\setcaptionwidth,\MessageBreak
- but only ONE of `c', `l', `r', `i`, `o` ist
- allowed.\MessageBreak
- Argument will be ignored, if you'll continue.%
- }%
- \fi%
- \endgroup%
- \fi\fi\fi\fi\fi%
- }
-% \end{macrocode}
-% Falls |caption2| geladen wird, "andert sich die Funktion. Das
-% optionale Argument wird dann ignorriert.
-% \begin{macrocode}
-\AfterPackage{caption2}{%
- \renewcommand*{\setcapwidth}[2][]{%
- \ClassWarning{%
- scrbook%
- }{%
- Ignorring optional argument of \string\setcapwidth!\MessageBreak
- You're using package caption2.\MessageBreak
- Because of this you should also use
- \string\setcaptionwidth\MessageBreak
- instead of \string\setcapwidth\MessageBreak
- }
- \setcaptionwidth{#2}}}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\cap@margin}
-% \changes{v2.8q}{2001/11/17}{Neues internes Makro}
-% Dieses Makro beinhaltet nicht den Wert der R"ander, sondern das
-% Makro, mit dem innerhalb von |\@@makecaption| die Makros |\cap@left|
-% und |\cap@right| neu definiert werden. Dies geschieht nur, wenn die
-% R"ander mit |\setcapmargin| gesetzt werden. Vordefiniert ist also
-% keinerlei Aktion.
-% \begin{macrocode}
-\newcommand*{\cap@margin}{}
-\let\cap@margin=\relax%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\setcapmargin}
-% \changes{v2.8q}{2001/11/17}{Neue}
-% \begin{macro}{\@setcapmargin}
-% \changes{v2.8q}{2001/11/17}{Neue}
-% \changes{v2.9a}{2002/06/27}{\cs{if@thispageodd} durch
-% \cs{ifthispageodd} ersetzt}
-% \begin{macro}{\@@setcapmargin}
-% \changes{v2.8q}{2001/11/17}{Neue}
-% Statt die Breite der \emph{caption} zu setzen, k"onnen auch die
-% R"ander gesetzt werden. In der Sternvariante werden im zweiseitigen
-% Modus die R"ander auf linken Seiten vertauscht.
-% \begin{macrocode}
-\newcommand*{\setcapmargin}{\@ifstar{\@setcapmargin}{\@@setcapmargin}}
-\newcommand*{\@setcapmargin}[2][\@tempdimb]{%
- \def\cap@margin{%
- \onelinecaptionsfalse%
- \begingroup%
- \setlength{\@tempdima}{\hsize}%
- \setlength{\@tempdimb}{#2}%
- \addtolength{\@tempdima}{-\@tempdimb}%
- \setlength{\@tempdimc}{#1}%
- \addtolength{\@tempdima}{-\@tempdimc}%
- \edef\@tempa{\endgroup%
- \def\noexpand\cap@width{\the\@tempdima}%
- \noexpand\if@twoside%
- \noexpand\ifthispageodd{%
- \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}%
- \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}%
- }{%
- \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimc}}%
- \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimb}}%
- }%
- \noexpand\else%
- \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}%
- \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}%
- \noexpand\fi}
- \@tempa}%
- }
-\newcommand*{\@@setcapmargin}[2][\@tempdimb]{%
- \def\cap@margin{%
- \onelinecaptionsfalse%
- \begingroup%
- \setlength{\@tempdima}{\hsize}%
- \setlength{\@tempdimb}{#2}%
- \addtolength{\@tempdima}{-\@tempdimb}%
- \setlength{\@tempdimc}{#1}%
- \addtolength{\@tempdima}{-\@tempdimc}%
- \edef\@tempa{\endgroup%
- \def\noexpand\cap@width{\the\@tempdima}%
- \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}%
- \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}}%
- \@tempa}%
- }
-% \end{macrocode}
-% Wenn |caption2| geladen ist, "andert sich die Bedeutung.
-% \begin{macrocode}
-\AfterPackage{caption2}{%
- \renewcommand*{\@setcapmargin}[2][\@tempdimb]{%
- \setlength{\@tempdimb}{#2}%
- \setlength{\@tempdima}{#1}%
- \ifdim\@tempdima\@tempdimb\else
- \ClassWarning{%
- scrbook%
- }{%
- Can set only centered caption!\MessageBreak
- You're using package caption2.\MessageBreak
- Because of this you should also use
- \string\setcaptionmargin\MessageBreak
- instead of \string\setcapmargin
- }
- \fi
- \addtolength{\@tempdimb}{\@tempdimb}%
- \setcaptionmargin{.5\@tempdimb}}
- \let\@@setcapmargin=\@setcapmargin
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% Jetzt aber zum Eigentlichen. Die Breite der \emph{caption} muss nur
-% bestimmte werden, wenn |onelinecaption| verwendet wird. Das bedeutet
-% auch, dass bei |noonelinecaption| das Problem mit dem Hochz"ahlen
-% der Fu"snoten nicht auftritt.
-% \changes{v2.8q}{2002/05/17}{Das Problem mit doppelten Fu"snoten behoben.}
-% \changes{v2.9q}{2004/01/30}{\cs{vbox} durch \cs{vtop} ersetzt}
-% \changes{v2.9q}{2004/01/30}{\cs{strut} vor \cs{cap@left} und nach
-% \cs{cap@right} eingef"ugt}
-% \begin{macrocode}
-\newcommand{\@@makecaption}[3]{%
- \cap@margin%
- \ifonelinecaptions%
- \@tempcnta=\value{mpfootnote}\@tempcntb=\value{footnote}%
- \let\scr@tmp@footnotetext=\@footnotetext
- \let\@footnotetext=\@gobble
- \sbox\@tempboxa{%
- {\capfont#1{{\caplabelfont#2\captionformat}}%
- #3}%
- }%
- \let\@footnotetext=\scr@tmp@footnotetext
- \let\scr@tmp@footnotetext=\undefined
- \setcounter{footnote}{\@tempcntb}\setcounter{mpfootnote}{\@tempcnta}%
- \else
- \sbox\@tempboxa{\hspace*{2\cap@width}}%
- \fi
- \begingroup%
- \setlength{\@tempdima}{\wd\@tempboxa}%
- \setlength{\@tempdima}{\cap@width}%
- \ifdim \wd\@tempboxa >\@tempdima%
- \strut\cap@left%
- \vtop{\hsize=\cap@width%
-% \end{macrocode}
-% Im Fall, da"s nun also mehrzeilig gesetzt werden mu"s, ist zu
-% unterscheiden, ob wie bisher voll h"angend gearbeitet werden soll
-% oder nicht. In ersterem Fall machen wir das, wie bisher, allerdings
-% wird der \cs{capfont} fr"uher aktiviert, damit darin auch globale
-% Gr"o"sen"anderungen f"ur die "Uber/Unterschrift Platz
-% finden. Au"serdem wird die die ge"anderte Parameter"ubergabe
-% ber"ucksichtigt.
-% \begin{macrocode}
- \ifdofullc@p
- {\capfont\@hangfrom{#1{{\caplabelfont#2\captionformat}}}{#3\par}}
-% \end{macrocode}
-% Im zweiten Fall ist nun zu unterscheiden, ob nach dem Label ein
-% Umbruch erfolgen soll oder nicht. Dabei ist der Einzug zu beachten.
-% Ist der Einzug negativ, so findet ebenfalls ein Umbruch statt und
-% nur die erste Folgezeile wird eingezogen.
-% \begin{macrocode}
- \else%
- \ifdim\cap@indent<\z@%
- {\capfont#1{{\caplabelfont #2\captionformat\par}}\noindent%
- \hspace*{-\cap@indent}#3\par}
- \else%
- \if@capbreak
- {\capfont#1{{\caplabelfont #2\captionformat\par}}\noindent%
- \@hangfrom{\hspace*{\cap@indent}}{#3\par}}
- \else
- {\capfont\@hangfrom{\hspace*{\cap@indent}}%
- {\hspace{-\cap@indent}#1%
- {{\caplabelfont#2\captionformat}}#3\par}}
- \fi
- \fi
- \fi}%
- \cap@right\strut%
- \else
-% \end{macrocode}
-% \changes{v2.9r}{2004/06/11}{\cs{@tempboxa} neu erzeugen}
-% \begin{macrocode}
- \global \@minipagefalse
- \sbox\@tempboxa{%
- {\capfont#1{{\caplabelfont#2\captionformat}}%
- #3}%
- }%
- \hb@xt@\hsize{\cap@left\box\@tempboxa\cap@right}%
- \fi%
- \endgroup}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\LT@makecaption}
-% \changes{v2.8j}{2001/07/30}{Neu}
-% \changes{v2.8k}{2001/08/15}{Keine Umdefinierung, wenn das
-% \texttt{caption2}-Paket erkannt oder die Option \texttt{origlongtable}
-% gesetzt wurde}
-% \changes{v2.8q}{2001/11/18}{Breite und Anordnung wird "uber
-% \textsf{KOMA-Script}-Makros bestimmt}
-% \changes{v2.8q}{2001/11/18}{Verwendung von \cs{AfterPackage}}
-% \changes{v2.9s}{2004/08/11}{vertikale Ausrichtung korrigiert}
-% \begin{macro}{\LT@array}
-% \changes{v2.8q}{2001/11/18}{Neu}
-% \begin{macro}{\LT@caption}
-% \changes{v2.8q}{2001/11/18}{Neu}
-% Ab Version 2.8j wird auf vielfachen Wunsch das
-% \texttt{longtable}-Paket ber"ucksichtigt. Da Pakete aber nach
-% Klassen geladen werden, kann dies erst nach dem Laden des Pakets
-% aktiviert werden. Die Definition entspricht der obigen. Wird das
-% |caption2|-Paket nach |longtable| geladen, so wird automatisch die
-% Definition von |caption2| verwendet. Wird |caption2| vor |longtable|
-% geladen, so liegt voraussichtlich eine Fehlbedienung vor, auf die
-% hingewiesen wird.
-% \begin{macrocode}
-\AfterPackage{longtable}{%
- \@ifpackageloaded{caption2}{\@komalongtablefalse%
- \ClassWarning{%
-%<scrbook> scrbook}{%
-%<scrreprt> scrreprt}{%
-%<scrartcl> scrartcl}{%
- you've loaded package caption2 before package\MessageBreak
- longtable!\MessageBreak
- Because of this package caption2 isn't able to
- control\MessageBreak
- \string\caption\space at longtables. After loading package
- caption2\MessageBreak
- KOMA-Script also doesn't control \string\caption.\MessageBreak
- I think, you should load package caption2 after
- package\MessageBreak
- longtable%
- }}{}
- \if@komalongtable
- \renewcommand{\LT@makecaption}[3]{%
- \noalign{%
- \if@captionabove
- \vskip\belowcaptionskip
- \else
- \vskip\abovecaptionskip
- \fi
- }%
- \LT@mcol\LT@cols c{%
- \hbox to\z@{\hss\parbox[t]\linewidth{%
- \@@makecaption{#1}{#2}{#3}%
- \endgraf
- \if@captionabove
- \vskip\abovecaptionskip
- \else
- \vskip\belowcaptionskip
- \fi
- }%
- \hss
- }%
- }%
- }%
- \newcommand*{\scr@LT@array}{}%
- \let\scr@LT@array=\LT@array%
- \renewcommand*{\LT@array}{%
- \let\scr@caption=\LT@caption
- \def\captionabove{\noalign{\global\@captionabovetrue}%
- \scr@caption}%
- \def\captionbelow{\noalign{\global\@captionabovefalse}%
- \scr@caption}%
- \if@tablecaptionabove
- \let\LT@caption=\captionabove
- \else
- \let\LT@caption=\captionbelow
- \fi
- \scr@LT@array}
- \ClassInfo{%
-%<scrbook> scrbook}{%
-%<scrreprt> scrreprt}{%
-%<scrartcl> scrartcl}{%
- longtable captions redefined}
- \fi
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\fs@komaabove}
-% \changes{v2.8j}{2001/07/30}{Neu}
-% \begin{macro}{\fs@komabelow}
-% \changes{v2.8j}{2001/07/30}{Neu}
-% \begin{macro}{\floatc@komascript}
-% \changes{v2.8j}{2001/07/30}{Neu}
-% Ab Version 2.8j werden f"ur das \texttt{float}-Paket zwei float-Stile
-% Namens \texttt{komaabove} und \texttt{komabelow} definiert. Da
-% m"oglicherweise auch andere
-% Pakete darauf zur"uckgreifen, wird das unabh"angig von der Existenz
-% von \texttt{float} getan. Verwendet wird dies innerhalb von
-% KOMA-Script jedoch nicht. Es werden au"serdem interne Makros von
-% \texttt{float} verwendet!
-% \begin{macrocode}
-\newcommand*{\fs@komaabove}{%
- \let\@fs@capt\floatc@komascript
- \let\@fs@pre\@empty
- \def\@fs@mid{\vskip\abovecaptionskip}
- \let\@fs@post\@empty
- \let\@fs@iftopcapt\iftrue}
-\newcommand*{\fs@komabelow}{%
- \let\@fs@capt\floatc@komascript
- \let\@fs@pre\@empty
- \def\@fs@mid{\vskip\abovecaptionskip}
- \let\@fs@post\@empty
- \let\@fs@iftopcapt\iffalse}
-\newcommand{\floatc@komascript}{\@@makecaption\@firstofone}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-%
-% \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}
-% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingef"ugt}
-% \begin{macro}{\pnumfont}
-% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingef"ugt}
-% \begin{macro}{\headfont}
-% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingef"ugt}
-% \begin{macro}{\capfont}
-% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingef"ugt}
-% \changes{v2.8n}{2001/09/06}{f"ur Briefe nicht l"anger definiert}
-% \begin{macro}{\caplabelfont}
-% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingef"ugt}
-% \changes{v2.8n}{2001/09/06}{f"ur Briefe nicht l"anger definiert}
-% \begin{macro}{\titlefont}
-% \changes{v2.8p}{2001/09/22}{Neu}
-% \begin{macro}{\subject@font}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% \begin{macro}{\baddr@font}
-% \changes{v2.8q}{2002/01/22}{Neu}
-% 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{\normalcolor\sffamily\bfseries}
-\newcommand*\pnumfont{\normalfont\normalcolor}
-\newcommand*\headfont{\normalfont\normalcolor\slshape}
-%<!scrlettr>\newcommand*\capfont{\normalfont\normalcolor}
-%<!scrlettr>\newcommand*\caplabelfont{\normalfont\normalcolor}
-\newcommand*\titlefont{\sectfont}
-%<scrlettr>\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries}
-%<scrlettr>\newcommand*{\baddr@font}{\sffamily}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\setkomafont}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% Mit Hilfe dieses Makros kann die Schriftart von
-% KOMA-Script-Elementen gesetzt werden.
-% \begin{macrocode}
-\newcommand*{\setkomafont}[2]{%
- \@ifundefined{scr@fnt@#1}{%
- \@ifundefined{scr@fnt@instead@#1}{%
- \ClassError{%
-%<scrartcl> scrartcl%
-%<scrreprt> scrreprt%
-%<scrbook> scrbook%
-%<scrlettr> scrlttr2%
- }{font of element `#1' can't be set}{%
- You've told me to redefine the font selection of the element,%
- \MessageBreak%
- but either no such element is known by KOMA-Script\MessageBreak
- or the element does not use a special font selection}
- }{%
- \ClassError{%
-%<scrartcl> scrartcl%
-%<scrreprt> scrreprt%
-%<scrbook> scrbook%
-%<scrlettr> scrlttr2%
- }{font of element `#1' can't be set}{%
- You've told me to redefine the font selection of the element,%
- \MessageBreak%
- but the element does not use a special font
- selection. The\MessageBreak
- The font of `#1' may be changed with element `\csname
- scr@fnt@instead@#1\endcsname'}
- }%
- }{%
- \expandafter\expandafter\expandafter\renewcommand%
- \csname scr@fnt@#1\endcsname{#2}%
- \@ifundefined{scr@fnt@wrn@#1}{}{%
- \ClassWarning{%
-%<scrartcl> scrartcl%
-%<scrreprt> scrreprt%
-%<scrbook> scrbook%
-%<scrlettr> scrlttr2%
- }{\csname scr@fnt@wrn@#1\endcsname{#1}}
- }
- }
-}
-% \end{macrocode}
-% \begin{macro}{\addtokomafont}
-% \changes{v2.8p}{2001/09/22}{Neu}
-% Dieses Makro funktioniert fast wie obiges, allerdings f"ugt es der
-% vorhandenen Definition etwas an.
-% \begin{macro}{\l@addto@macro}
-% \changes{v2.8p}{2001/09/22}{Neu}
-% Damit dies lokal m"oglich ist, wird eine lokal arbeitende Variante
-% von \cs{g@addto@macro} ben"otigt, wie sie hier vorgestellt wird.
-% \begin{macrocode}
-\newcommand{\l@addto@macro}[2]{%
- \begingroup%
- \toks@\expandafter{#1#2}%
- \edef\@tempa{\endgroup\def\noexpand#1{\the\toks@}}%
- \@tempa}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\newcommand*{\addtokomafont}[2]{%
- \@ifundefined{scr@fnt@#1}{%
- \@ifundefined{scr@fnt@instead@#1}{%
- \ClassError{%
-%<scrartcl> scrartcl%
-%<scrreprt> scrreprt%
-%<scrbook> scrbook%
-%<scrlettr> scrlttr2%
- }{font of element `#1' can't be extended}{%
- You've told me to extend the font selection of the element,%
- \MessageBreak%
- but either no such element is known by KOMA-Script\MessageBreak
- or the element does not use a special font selection}
- }{%
- \ClassError{%
-%<scrartcl> scrartcl%
-%<scrreprt> scrreprt%
-%<scrbook> scrbook%
-%<scrlettr> scrlttr2%
- }{font of element `#1' can't be extended}{%
- You've told me to extend the font selection of the element,%
- \MessageBreak%
- but the element does not use a special font
- selection. The\MessageBreak
- The font of `#1' may be changed with element `\csname
- scr@fnt@instead@#1\endcsname'}
- }%
- }{%
- \expandafter\expandafter\expandafter\l@addto@macro%
- \csname scr@fnt@#1\endcsname{#2}%
- \@ifundefined{scr@fnt@wrn@#1}{}{%
- \ClassWarning{%
-%<scrartcl> scrartcl%
-%<scrreprt> scrreprt%
-%<scrbook> scrbook%
-%<scrlettr> scrlttr2%
- }{\csname scr@fnt@wrn@#1\endcsname{#1}}
- }
- }
-}
-% \end{macrocode}
-%
-% \begin{macro}{\usekomafont}
-% \changes{v2.8p}{2001/09/28}{Neu}
-% Mit Hilfe dieses Makros kann auf die Schriftart von
-% KOMA-Script-Elementen umgeschaltet werden.
-% \begin{macrocode}
-\newcommand*{\usekomafont}[1]{%
- \@ifundefined{scr@fnt@#1}{%
- \@ifundefined{scr@fnt@instead@#1}{%
- \ClassError{%
-%<scrartcl> scrartcl%
-%<scrreprt> scrreprt%
-%<scrbook> scrbook%
-%<scrlettr> scrlttr2%
- }{font of element `#1' can't be used}{%
- You've told me to use the font selection of the element,%
- \MessageBreak%
- but either no such element is known by KOMA-Script\MessageBreak
- or the element does not use a special font selection}
- }{%
- \ClassWarning{%
-%<scrartcl> scrartcl%
-%<scrreprt> scrreprt%
-%<scrbook> scrbook%
-%<scrlettr> scrlttr2%
- }{%
- You've told me to use the font selection of the element,%
- \MessageBreak%
- but the element does not use a special font
- selection. The\MessageBreak
- The font of `#1' may be selected with element `\csname
- scr@fnt@instead@#1\endcsname'.\MessageBreak
- I fix this using font of `\csname
- scr@fnt@instead@#1\endcsname'}%
- }%
- \@nameuse{scr@fnt@instead@#1}%
- }{%
- \@nameuse{scr@fnt@#1}%
- }%
- }
-% \end{macrocode}
-%
-% \begin{macro}{\scr@fnt@descriptionlabel}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@title}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@sectioning}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@part}
-% \changes{v2.8p}{2001/09/23}{Neu}
-% \begin{macro}{\scr@fnt@partnumber}
-% \changes{v2.8p}{2001/09/23}{Neu}
-% \begin{macro}{\scr@fnt@chapter}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@wrn@chapter}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@section}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@subsection}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@subsubsection}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@paragraph}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@subparagraph}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@minisec}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@wrn@minisec}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@pagenumber}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@pagination}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@pagehead}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@pagefoot}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@caption}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@captionlabel}
-% \changes{v2.8o}{2001/09/14}{Neu}
-% \begin{macro}{\scr@fnt@subject}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% \begin{macro}{\scr@fnt@backaddress}
-% \changes{v2.8q}{2002/01/22}{Neu}
-% \begin{macro}{\scr@fnt@fromaddress}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% \begin{macro}{\scr@fnt@fromname}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% Damit die Fontumschaltung mit dem einen Befehl funktioniert, wird
-% werden Makros ben"otigt, in denen die passenden Fontvariablen
-% gespeichert sind und ggf. zus"atzliche Makros f"ur Warnungen.
-% \begin{macrocode}
-\newcommand*{\scr@fnt@descriptionlabel}{\descfont}
-\newcommand*{\scr@fnt@title}{\titlefont}
-\newcommand*{\scr@fnt@sectioning}{\sectfont}
-%<*!scrlettr>
-\newcommand*{\scr@fnt@part}{\size@part}
-\newcommand*{\scr@fnt@partnumber}{\size@partnumber}
-%<scrbook|scrreprt>\newcommand*{\scr@fnt@chapter}{\size@chapter}
-\newcommand*{\scr@fnt@section}{\size@section}
-\newcommand*{\scr@fnt@subsection}{\size@subsection}
-\newcommand*{\scr@fnt@subsubsection}{\size@subsubsection}
-\newcommand*{\scr@fnt@paragraph}{\size@paragraph}
-\newcommand*{\scr@fnt@subparagraph}{\size@subparagraph}
-\newcommand*{\scr@fnt@instead@minisec}{sectioning}
-%</!scrlettr>
-\newcommand*{\scr@fnt@pagenumber}{\pnumfont}
-\let\scr@fnt@pagination=\scr@fnt@pagenumber
-\newcommand*{\scr@fnt@pagehead}{\headfont}
-\newcommand*{\scr@fnt@wrn@pagehead}[1]{%
- font selection of elements `pagehead' and `pagefoot'\MessageBreak
- changed, because you wanted to change font selection\MessageBreak
- of element `#1'%
-}
-\let\scr@fnt@pagefoot=\scr@fnt@pagehead
-\let\scr@fnt@wrn@pagefoot=\scr@fnt@wrn@pagehead
-%<*!scrlettr>
-\newcommand*{\scr@fnt@caption}{\capfont}
-\newcommand*{\scr@fnt@captionlabel}{\caplabelfont}
-%</!scrlettr>
-%<scrlettr>\newcommand*{\scr@fnt@subject}{\subject@font}
-%<scrlettr>\newcommand*{\scr@fnt@backaddress}{\baddr@font}
-%<scrlettr>\newcommand*{\scr@fnt@fromaddress}{\faddr@font}
-%<scrlettr>\newcommand*{\scr@fnt@fromname}{\fname@font}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Inhaltverzeichnis, Abbildungsverzeichnis und
-% Tabellenverzeichnis}
-%
-% Diese Verzeichnisse existieren bei Briefen nicht.
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% \begin{macro}{\tableofcontents}
-% \begin{macro}{\@pnumwidth}
-% \begin{macro}{\@tocrmarg}
-% \begin{macro}{\@dotsep}
-% \begin{Counter}{tocdepth}
-% F"ur das Inhaltsverzeichnis m"ussen die Eintr"age f"ur die
-% unterschiedlichen Kapiteleinteilungen definiert werden.
-% \begin{macrocode}
-\newcommand*\@pnumwidth{1.55em}
-\newcommand*\@tocrmarg {2.55em}
-\newcommand*\@dotsep{4.5}
-%<!scrartcl>\setcounter{tocdepth}{2}
-%<scrartcl>\setcounter{tocdepth}{3}
-% \end{macrocode}
-% \end{Counter}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \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}.}
-% \changes{v2.8l}{2001/08/16}{Gruppe eingef"ugt und \cs{parskip} auf 0
-% gesetzt}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.8q}{2001/11/14}{\cs{if@tocleft} bearbeiten}
-% \begin{macro}{\before@starttoc}
-% \changes{v2.8q}{2001/11/14}{Neu}
-% Dieses Makro f"uhrt im Falle von |tocleft| am Anfang eines
-% Verzeichnisses alle notwendigen "Anderungen durch, um das
-% Verzeichnis entsprechend zu handhaben.
-% \begin{macro}{\scr@dottedtocline}
-% \changes{v2.9k}{2003/01/03}{auch das dritte Argument wird ge"andert}
-% \begin{macro}{\scr@numberline}
-% \begin{macro}{\last@l@number}
-% Daf"ur werden ein paar Hilfsmakros ben"otigt, die vorsichtshalber
-% global vordefiniert werden.
-% \begin{macrocode}
-\newcommand*{\scr@dottedtocline}{}%
-\newcommand*{\scr@numberline}{}%
-\newcommand*{\last@l@number}{}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\@l@number}
-% \changes{v2.8q}{2001/11/14}{Neu}
-% In diesem Makro wird w"ahrend der Erstellung des
-% Inhaltsverzeichnisses die aktuelle Breite der Gliederungsnummer
-% gespeichert.
-% \begin{macro}{\set@l@number}
-% \changes{v2.8q}{2001/11/14}{Neu}
-% Dieses Makro ist daf"ur verantwortlich, dass zum einen |\@tempdima|
-% f"ur den Aufruf von |\numberline| auf den richtigen Wert gesetzt
-% wird, zum anderen wird die aktuelle gr"o"ste Breite der
-% Gliederungsnummer hier angepasst.
-% \begin{macrocode}
-\newcommand*{\@l@number}{}
-\newcommand*{\set@l@number}[1]{%
- \settowidth{\@tempdima}{#1\enskip}%
- \ifdim\@tempdima >\@l@number\relax%
- \xdef\@l@number{\the\@tempdima}%
- \fi%
- \ifdim\@tempdima >\last@l@number \else%
- \setlength{\@tempdima}{\last@l@number}%
- \fi%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\newcommand*{\before@starttoc}[1]{
- \let\scr@dottedtocline=\@dottedtocline%
- \renewcommand*{\@dottedtocline}[3]{%
- \scr@dottedtocline{##1}{\z@}{\last@l@number}}%
- \let\scr@numberline=\numberline%
- \renewcommand*{\numberline}[1]{%
- \set@l@number{##1}\scr@numberline{##1}}%
- \gdef\@l@number{\z@}%
- \@ifundefined{#1@l@number}{%
- \def\last@l@number{2em}%
- }{%
- \expandafter\let\expandafter\last@l@number
- \expandafter=\csname#1@l@number\endcsname%
- }%
- }
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\after@starttoc}
-% \changes{v2.8q}{2001/11/14}{Neu}
-% Dieses Makro schreibt am Ende den entsprechenden Eintrag in die
-% \texttt{aux}-Datei.
-% \begin{macrocode}
-\newcommand*{\after@starttoc}[1]{%
- \protected@write\@auxout{}{%
- \string\gdef\expandafter\string\csname#1@l@number\endcsname{%
- \@l@number}}%
- }
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\toc@l@number}
-% \changes{v2.8q}{2001/11/14}{Neu}
-% Dieses Makro wird innerhalb von |\tableofcontents| "uber
-% |\before@starttoc| und |\after@starttoc| in der \texttt{aux}-Datei
-% global definiert. Aus Sicherheitsgr"unden wird es hier global
-% vordefiniert.
-% \begin{macrocode}
-\newcommand*{\toc@l@number}{}
-% \end{macrocode}
-% \end{macro}
-% \changes{v2.9k}{2003/01/02}{Option \texttt{tocleft} wird nun auch
-% bei Klasse \textsf{scrartcl} beachtet}
-% \begin{macrocode}
-\newcommand*{\tableofcontents}{%
- \begingroup
-%<*scrartcl>
- \toc@heading%
- \@parskipfalse\@parskip@indent%
- \if@tocleft\before@starttoc{toc}\fi%
- \@starttoc{toc}%
- \if@tocleft\after@starttoc{toc}\fi%
-%</scrartcl>
-%<*scrreprt|scrbook>
- \if@twocolumn
- \@restonecoltrue\onecolumn
- \else
- \@restonecolfalse
- \fi
- \chapter*{\contentsname
- \@mkboth{\contentsname}{\contentsname}}%
- \@parskipfalse\@parskip@indent%
- \if@tocleft\before@starttoc{toc}\fi%
- \@starttoc{toc}%
- \if@tocleft\after@starttoc{toc}\fi%
- \if@restonecol\twocolumn\fi
-%</scrreprt|scrbook>
- \endgroup
-}
-% \end{macrocode}
-%
-% \begin{macro}{\l@part}
-% Nat"urlich werden auch Makros ben"otigt, um die Eintr"age in das
-% Inhaltsverzeichnis zu formatieren. Beginnend mit den Eintr"agen f"ur
-% \cs{part}.
-% \begin{macrocode}
-\newcommand*\l@part[2]{%
- \ifnum \c@tocdepth >-2\relax
-%<scrartcl> \addpenalty{\@secpenalty}%
-%<!scrartcl> \addpenalty{-\@highpenalty}%
- \addvspace{2.25em \@plus\p@}%
-% \end{macrocode}
-% \changes{v2.5e}{1998/07/17}{Ge"anderte part-Formatierung ragte in
-% den linken Rand}
-% \changes{v2.9k}{2003/01/02}{Anpassung an Option \texttt{tocleft}}
-% \begin{macrocode}
- \setlength\@tempdima{2em}%
- \if@tocleft
- \ifx\toc@l@number\@empty\else
- \setlength\@tempdima{0\toc@l@number}%
- \fi
- \fi
- \begingroup
- \parindent \z@ \rightskip \@pnumwidth
- \parfillskip -\@pnumwidth
-% \end{macrocode}
-% \changes{v2.5c}{1997/11/25}{Formatierung bei Zeilenumbruch im
-% part-Eintrag korrigiert}
-% \changes{v2.5e}{1998/07/17}{Beinhaltes \cs{sectfont} eine
-% Gr"o"senangabe, so wird diese
-% "uberschrieben}
-% \begin{macrocode}
- \leavevmode\sectfont\large
- \advance\leftskip\@tempdima
- \hskip -\leftskip
- #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
-%<*scrartcl>
- \if@compatibility
- \global\@nobreaktrue
-% \end{macrocode}
-% \changes{v2.3g}{1996/01/14}{Fehlendes Kommentarzeichen erg"anzt.}
-% \begin{macrocode}
- \everypar{\global\@nobreakfalse\everypar{}}%
- \else
-%</scrartcl>
- \penalty\@highpenalty
-%<scrartcl> \fi
- \endgroup
- \fi}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\l@chapter}
-% \changes{v2.9k}{2003/01/02}{Anpassung an Option \texttt{tocleft}}
-% Kapiteleintr"age gibt es nat"urlich nicht bei der Artikel-Klasse.
-% \begin{macrocode}
-%<*scrreprt|scrbook>
-\newcommand*\l@chapter[2]{%
- \ifnum \c@tocdepth >\m@ne
- \addpenalty{-\@highpenalty}%
- \vskip 1.0em \@plus\p@
- \setlength\@tempdima{1.5em}%
- \if@tocleft
- \ifx\toc@l@number\@empty\else
- \setlength\@tempdima{0\toc@l@number}%
- \fi
- \fi
- \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}
-%</scrreprt|scrbook>
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\l@section}
-% \changes{v2.9k}{2003/01/02}{Anpassung an Option \texttt{tocleft}}
-% Bei der Artikel-Klasse folgt die Formatierung f"ur
-% \cs{section}-Eintr"age, an Stelle der Eintr"age f"ur \cs{chapter}
-% der Buch- oder der Bericht-Klasse. Bei diesen handelt es sich hier
-% stattdessen um eine normale Ebene.
-% \begin{macrocode}
-%<*scrartcl>
-\newcommand*\l@section[2]{%
- \ifnum \c@tocdepth >\z@
- \addpenalty{\@secpenalty}%
- \addvspace{1.0em \@plus\p@}%
- \setlength\@tempdima{1.5em}%
- \if@tocleft
- \ifx\toc@l@number\@empty\else
- \setlength\@tempdima{0\toc@l@number}%
- \fi
- \fi
- \begingroup
- \parindent \z@ \rightskip \@pnumwidth
- \parfillskip -\@pnumwidth
- \leavevmode \sectfont
- \advance\leftskip\@tempdima
- \hskip -\leftskip
- #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
- \endgroup
- \fi}
-%</scrartcl>
-%<*scrreprt|scrbook>
-\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
-%</scrreprt|scrbook>
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\l@subsection}
-% \begin{macro}{\l@subsubsection}
-% \begin{macro}{\l@paragraph}
-% \begin{macro}{\l@subparagraph}
-% Die "ubrigen Ebenen werden normal behandelt.
-% \begin{macrocode}
-%<*scrartcl>
-\newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
-\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
-\newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
-\newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
-%</scrartcl>
-%<*scrreprt|scrbook>
-\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
-\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
-\newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
-\newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
-%</scrreprt|scrbook>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\float@listhead}
-% \changes{v2.8b}{2001/06/26}{Neu}
-% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in
-% \cs{float@listhead}}
-% In Absprache mit Anselm Lingnau, dem Autor vor \texttt{float.sty},
-% wird ab Version 2.8b \cs{float@headings} zum Setzen des
-% Kolumnentitels bei den Verzeichnissen verwendet, die
-% \texttt{float.sty} f"ur neu definierte floats zur Verf"ugung
-% stellt. Dabei definiert \texttt{float.sty} die Anweisung nur, wenn
-% sie nicht bereits existiert. Die Zusammenarbeit wird dadurch
-% verbessert. Da Anselm sich in letzter Minute entschlossen hat, das
-% Makro \cs{float@listhead} zu nennen, wurde dies in Version 2.8g
-% angepasst.
-%
-% \begin{macrocode}
-\newcommand*{\float@listhead}[1]{%
-%<scrartcl> \section*{#1}%
-%<!scrartcl> \chapter*{#1}%
- \@mkboth{#1}{#1}%
-% \end{macrocode}
-% \changes{v2.8q}{2001/11/14}{Dynamische Anpassung an die Nummer}
-% Dies ist der passende Ort, um die Breite, die f"ur die Nummer des
-% Gleitobjekts ben"otigt wird zu ermitteln und anzupassen, falls dies
-% ge"unscht wird. Dazu findet eine lokale Umdefinierung von
-% |\@starttoc| statt. Die Umdefinierung ist deshalb lokal, weil alle
-% mir bekannten Verzeichnisse von Gleitobjekten innerhalb einer Gruppe
-% ausgegeben werden.
-% \begin{macrocode}
- \if@dynlist%
- \newcommand*{\scr@starttoc}{}%
- \let\scr@starttoc=\@starttoc%
- \renewcommand*{\@starttoc}[1]{%
- \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}%
- \fi%
-}
-% \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.}
-% \changes{v2.8b}{2001/06/26}{Verwendung von \cs{float@headings}}
-% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in
-% \cs{float@listhead}}
-% \begin{macrocode}
-\newcommand*\lof@heading{\float@listhead{\listfigurename}}
-% \end{macrocode}
-% \end{macro}
-% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lof@heading}.}
-% \changes{v2.4k}{1996/12/13}{\cs{lof@heading} nicht nur bei scrartcl.}
-% \changes{v2.8l}{2001/08/16}{Gruppe eingef"ugt und \cs{parskip} auf 0
-% gesetzt}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \begin{macro}{\l@figure}
-% \begin{macrocode}
-\newcommand*\listoffigures{%
- \begingroup%
-%<*scrartcl>
- \lof@heading%
- \@parskipfalse\@parskip@indent%
- \@starttoc{lof}%
-%</scrartcl>
-%<*scrreprt|scrbook>
- \if@twocolumn
- \@restonecoltrue\onecolumn
- \else
- \@restonecolfalse
- \fi
- \lof@heading%
- \@parskipfalse\@parskip@indent%
- \@starttoc{lof}%
- \if@restonecol\twocolumn\fi
-%</scrreprt|scrbook>
- \endgroup
-}
-\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
-% \end{macrocode}
-% \end{macro}
-% \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.}
-% \changes{v2.8b}{2001/06/26}{Verwendung von \cs{float@headings}}
-% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in
-% \cs{float@listhead}}
-% \begin{macrocode}
-\newcommand*\lot@heading{\float@listhead{\listtablename}}
-% \end{macrocode}
-% \end{macro}
-% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lot@heading}.}
-% \changes{v2.4k}{1996/12/13}{\cs{lot@heading} nicht nur bei scrartcl.}
-% \changes{v2.8l}{2001/08/16}{Gruppe eingef"ugt und \cs{parskip} auf 0
-% gesetzt}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \begin{macro}{\l@table}
-% \begin{macrocode}
-\newcommand*\listoftables{%
- \begingroup
-%<*scrartcl>
- \lot@heading%
- \@parskipfalse\@parskip@indent%
- \@starttoc{lot}%
-%</scrartcl>
-%<*scrreprt|scrbook>
- \if@twocolumn
- \@restonecoltrue\onecolumn
- \else
- \@restonecolfalse
- \fi
- \lot@heading%
- \@parskipfalse\@parskip@indent%
- \@starttoc{lot}%
- \if@restonecol\twocolumn\fi
-%</scrreprt|scrbook>
- \endgroup
-}
-\let\l@table\l@figure
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-%
-% \subsection{Das Literaturverzeichnis}
-%
-% Dieses Verzeichnis existiert bei Briefen nicht.
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% \begin{environment}{thebibliography}
-% \begin{macro}{\setbibpreamble}
-% \changes{v2.6c}{2000/06/10}{Neuer Befehl eingef"uhrt}
-% \changes{v2.7j}{2001/05/27}{\cs{renewcommand} durch \cs{def}
-% ersetzt zur Erh"ohung der
-% \texttt{natbib}-Kompatibilit"at}
-% \begin{macro}{\bibpreamble}
-% \changes{v2.6c}{2000/06/10}{Neues Makro eingef"uhrt}
-% \changes{v2.6d}{2000/07/20}{Makro funktioniert nachdem \cs{let}
-% durch \cs{newcommand*} ersetzt wurde}
-% \changes{v2.8q}{2002/01/10}{Wieder \cs{let}}
-% \cs{bibpreamble} kann vom Benutzer mit \cs{setbibpreamble} auf
-% einen Text gesetzt werden, der nach der "Uberschrift eingef"ugt
-% wird. Dasselbe Makro wird von \texttt{natbib.sty} als \cs{relax}
-% definiert; aus Kompatibilit"atsgr"unden wird hier vergleichbar
-% verfahren und \cs{def} statt \cs{renewcommand} verwendet.
-% \changes{v2.7j}{2001/05/27}{Setzen der Pr"aambel in die
-% theindex-Umgebung verschoben}
-% Au"serdem wird ab Version 2.7j die Pr"aambel nicht mehr in
-% \cs{bib@heading} gesetzt, sondern in der
-% \texttt{thebibliography}-Umgebung. Dies dient ebenfalls der
-% Kompatibilit"at mit natbib.
-% \begin{macrocode}
-\newcommand*{\bibpreamble}{\relax}
-\let\bibpreamble\relax
-\newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\bib@heading}
-% \changes{v2.3h}{1995/01/21}{Befehl zum Setzen der "Uberschrift des
-% Literaturverzeichnisses.}
-% \changes{v2.6c}{2000/06/10}{Die Preambel wird gesetzt.}
-% \changes{v2.7b}{2001/01/05}{\cs{setchapterpreamble} wird verwendet.}
-% \changes{v2.7j}{2001/06/27}{Setzen der Pr"aambel in die
-% thebibliography-Umgebung verschoben}
-% \begin{macrocode}
-\newcommand*\bib@heading{%
-%<*scrartcl>
- \section*{\refname}
- \@mkboth{\refname}{\refname}
-%</scrartcl>
-%<*scrbook|scrreprt>
- \chapter*{\bibname}
- \@mkboth{\bibname}{\bibname}
-%</scrbook|scrreprt>
-}
-% \end{macrocode}
-% \end{macro}
-% \changes{v2.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}}
-% \begin{Length}{bibindent}
-% 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
-% \end{macrocode}
-% \end{Length}
-% \changes{v2.8q}{2002/01/10}{Leere Pr"aambel erkennen und gesondert
-% behandeln}
-% \changes{v2.9o}{2003/03/06}{\cs{bibpreamle} statt \cs{bibpreamble}
-% mit \cs{@empty} vergleichen}
-% \begin{macrocode}
-\newenvironment{thebibliography}[1]{%
-%<scrbook|scrreprt> \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else
-%<scrbook|scrreprt> \setchapterpreamble{\bibpreamble}%
-%<scrbook|scrreprt> \fi\fi
- \bib@heading%
-%<scrartcl> \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else
-%<scrartcl> \noindent\bibpreamble\par\nobreak
-%<scrartcl> \fi\fi
- \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}
-%
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-%
-% \subsection{Index}
-% Dieses Verzeichnis existiert bei Briefen nicht.
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% \begin{environment}{theindex}
-% \changes{v2.8d}{2001/07/05}{\cs{indexpagestyle} statt \texttt{plain}}
-% \begin{macro}{\index@preamble}
-% \changes{v2.6c}{2000/06/10}{Neues internes Makro eingef"uhrt}
-% \begin{macro}{\setindexpreamble}
-% \changes{v2.6c}{2000/06/10}{Neuer Befehl eingef"uhrt}
-% \changes{v2.6d}{2000/07/20}{Befehl funktioniert nachdem \cs{let}
-% durch \cs{newcommand*} ersetzt wurde}
-% Analog zu \cs{bibpreamble} kann \cs{index@preamble} vom Benutzer mit
-% \cs{setindexpreamble} auf einen Text gesetzt werden, der nach
-% der Index"uberschrift eingef"ugt wird. Hier wird ein echtes internes
-% Makro verwendet, da nicht auf Kompatibilit"at geachtet werden
-% mu"s.
-% \begin{macrocode}
-\newcommand*{\index@preamble}{\relax}
-\newcommand{\setindexpreamble}[1]{\renewcommand*{\index@preamble}{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \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}
-% \changes{v2.6c}{2000/06/10}{Verwendung von \cs{index@preamble}
-% eingef"ugt}
-% \changes{v2.7j}{2001/05/27}{Setzen der Pr"aambel in die
-% theindex-Umgebung verschoben}
-% \changes{v2.9l}{2003/01/19}{\cs{if@twoside} durch
-% \cs{if@openright} ersetzt}
-% Bis Version 2.7a sah diese Definition so aus:
-% \begin{verbatim}
-% \newcommand*{\idx@heading}{%
-% \if@twoside\cleardoublepage\else\clearpage\fi%
-% \@mkboth{\indexname}{\indexname}%
-% \twocolumn[%
-% <scrartcl> \section*%
-% <scrreprt|scrbook> \@makeschapterhead%
-% {\indexname}\index@preamble]
-% }
-% \end{verbatim}
-% Dagegen ist grunds"atzlich nichts zu sagen. Allerdings gibt es seit
-% Version 2.7b das die neue Methode der Kapitel-Preambel, die extra
-% eingef"uhrt wurde, um die \texttt{hyperref}-Links -- insbesondere
-% den des Index -- zumindest bei Verwendung von \texttt{hpdftex.def}
-% zu verbessern. Deshalb wurde die Implementierung entsprechend
-% abge"andert. Au"serdem wurde das Setzen der Pr"aambel aus
-% Konsistenzgr"unden in Version 2.7j "ubereinstimmten mit der
-% \texttt{thebibliography}-Umgebung in die \texttt{theindex}-Umgebung
-% verschoben.
-% \begin{macrocode}
-\newcommand*{\idx@heading}{%
-%<scrreprt|scrbook> \if@openright\cleardoublepage\else\clearpage\fi%
-%<scrartcl> \twocolumn[\section*{\indexname}]
-%<scrreprt|scrbook> \twocolumn[\chapter*{\indexname}]
- \@mkboth{\indexname}{\indexname}%
-}
-% \end{macrocode}
-% \end{macro}
-% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{idx@heading}}
-% \changes{v2.7j}{2001/05/27}{Setzen der Pr"aambel in die
-% theindex-Umgebung verschoben}
-% 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@
-%<scrbook|scrreprt> \setchapterpreamble{\index@preamble}
- \idx@heading%
-%<scrartcl> \index@preamble\par\nobreak
- \thispagestyle{\indexpagestyle}\parindent\z@
- \setlength{\parskip}{\z@ \@plus .3\p@}
- \setlength{\parfillskip}{\z@ \@plus 1fil}
- \let\item\@idxitem}
- {\if@restonecol\onecolumn\else\clearpage\fi}
-\newcommand*\@idxitem {\par\hangindent 40\p@}
-% \end{macrocode}
-% \begin{macro}{\subitem}
-% \changes{v2.3g}{1996/01/14}{Verwendung von \cs{@idxitem} spart Speicher}
-% \begin{macro}{\subsubitem}
-% \changes{v2.3g}{1996/01/14}{Verwendung von \cs{@idxitem} spart Speicher}
-% \begin{macro}{\indexspace}
-% \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{macro}
-% \end{macro}
-% \end{macro}
-% \end{environment}
-%
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-%
-% \subsection{Fu"snoten}
-%
-% \begin{macro}{\footnoterule}
-% Fu"snoten sind etwas abweichend definiert.
-% \changes{v2.3a}{1995/07/08}{\cs{@width} verwendet}
-% \changes{v2.8q}{2002/02/06}{\cs{raggedbottom}-Verbesserung
-% eingef"ugt}
-% Insbesondere wird im Fall, dass \cs{raggedbottom} verwendet wird,
-% die Fu"snotenlinie nach unten gedr"uckt. Dies funktioniert nur dann
-% nicht, wenn Abbildungen oder Tabellen mit der Option "`\texttt{b}"'
-% an das Ende der Seite gesetzt werden. \cs{raggedbottom} wird daran
-% erkannt, dass \cs{@textbottom} nicht \cs{relax} ist. Das kann
-% nat"urlich auch einmal schief gehen, ist dann aber auch nicht ganz
-% so tragisch.
-% \begin{macrocode}
-\renewcommand*\footnoterule{%
- \kern-3\p@
- \ifx\@textbottom\relax\else\vskip \z@ \@plus.0005fil\fi
- \hrule\@width.4\columnwidth
- \kern 2.6\p@}
-%<!scrartcl>\@addtoreset{footnote}{chapter}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\deffootnote}
-% \changes{v2.4l}{1997/02/06}{Neues Makro zur Definition der
-% Gestalt von Fu"snoten.}
-% \changes{v2.9b}{2002/08/05}{Absatzeinzug korrigiert}
-% \changes{v2.9l}{2003/01/28}{\cs{edef}\cs{@tempa} ersetzt}
-% \changes{v2.9q}{2004/01/31}{\cs{ftn@font} erlaubt aus Gr"unden der
-% Kompatibilität mit dem \textsl{footnote} Paket kein Argument mehr}
-% Dieses Makro erlaubt einen optionalen und erwartet drei weitere
-% Parameter. Der erste, optionale gibt den Einzug der ersten Zeile des
-% Fu"snotentextes vom linken Rand an. Die Fu"snotenmarkierungen werden
-% rechtsb"undig in diesen Einzug gesetzt. Der zweite, also erste nicht
-% optionale Parameter gibt den Einzug jeder weiteren Zeile des
-% Fu"snotentextes vom linken Rand an. Fehlt der optionale Parameter so
-% ist er gleich diesem. Der dritte, also zweite nicht optionale
-% Parameter gibt den zus"atzlichen Einzug jedes weiteren Absatzes
-% einer Fu"snote an. Der letzte Parameter schlie"slich bestimmt die
-% Ausgabe der Fu"snotenmarkierung in der Fu"snote. Diese wird
-% zus"atzlich in eine \verb|\hbox| gesetzt.
-% \begin{macrocode}
-\newcommand\deffootnote[4][]{%
- \long\def\@makefntext##1{%
- \setlength{\@tempdimc}{#3}%
- \def\@tempa{#1}\ifx\@tempa\@empty
- \@setpar{\@@par
- \@tempdima = \hsize
- \addtolength{\@tempdima}{-#2}
- \parshape \@ne #2 \@tempdima}%
- \else
- \addtolength{\@tempdimc}{#2}%
- \addtolength{\@tempdimc}{-#1}%
- \@setpar{\@@par
- \@tempdima = \hsize
- \addtolength{\@tempdima}{-#1}
- \@tempdimb = \hsize
- \addtolength{\@tempdimb}{-#2}
- \parshape \tw@ #1 \@tempdima #2 \@tempdimb}%
- \fi
- \par
- \parindent\@tempdimc\noindent
- \ftn@font\hbox to \z@{\hss\@@makefnmark}##1}
-% \end{macrocode}
-% \begin{macro}{\@@makefnmark}
-% \changes{v2.4l}{1997/02/06}{Neues Makro zum Setzen der
-% Fu"snotenmarkierung im Text}
-% \begin{macrocode}
- \def\@@makefnmark{\hbox{\ftnm@font{#4}}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-}
-% \end{macrocode}
-% \begin{macro}{\ftn@font}
-% \changes{v2.8q}{2001/11/16}{Neu}
-% \begin{macro}{\scr@fnt@footnote}
-% \changes{v2.8q}{2001/11/16}{Neu}
-% \begin{macro}{\ftnm@font}
-% \changes{v2.8q}{2001/11/16}{Neu}
-% \begin{macro}{\scr@fnt@footnotenumber}
-% \changes{v2.8q}{2001/11/16}{Neu}
-% \begin{macro}{\scr@fnt@footnotenlabel}
-% \changes{v2.8q}{2001/11/16}{Neu}
-% \begin{macro}{\scr@fnt@instead@footnotetext}
-% \changes{v2.8q}{2001/11/16}{Neu}
-% Das erste Makro gibt die Schrift an, in der die Fu"snote gesetzt
-% wird. Davon abweichend kann mit dem zweiten Makro die Schriftart
-% f"ur die Fu"snotennummer getrennt angegeben werden. Aufgrund der
-% Definition kann auch ein Makro verwendet werden, das ein Argument
-% erwartet.
-% \begin{macrocode}
-\newcommand*{\ftn@font}{\normalfont}
-\newcommand*{\scr@fnt@footnote}{\ftn@font}
-\newcommand*{\ftnm@font}{}
-\newcommand*{\scr@fnt@footnotenumber}{\ftnm@font}
-\newcommand*{\scr@fnt@footnotelabel}{\ftnm@font}
-\newcommand*{\scr@fnt@instead@footnotetext}{footnote}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\deffootnotemark}
-% \changes{v2.4l}{1997/02/06}{Neues Makro zur Definition der
-% Fu"snotenmarkierung im Text}
-% \begin{macrocode}
-\newcommand*\deffootnotemark[1]{\def\@makefnmark{\hbox{\ftntm@font{#1}}}}
-% \end{macrocode}
-% \begin{macro}{\ftntm@font}
-% \changes{v2.8q}{2001/11/16}{Neu}
-% \begin{macro}{\scr@fnt@footnotereference}
-% \changes{v2.8q}{2001/11/16}{Neu}
-% \begin{macro}{\scr@fnt@footnoteref}
-% \changes{v2.8q}{2001/11/16}{Neu}
-% Dies ist die Schriftart der Fu"snotenreferenz im Text. Auch hier kann
-% ggf. ein Makro verwendet werden, das ein Argument erwartet.
-% \begin{macrocode}
-\newcommand*{\ftntm@font}{}
-\newcommand*{\scr@fnt@footnotereference}{\ftntm@font}
-\newcommand*{\scr@fnt@footnoteref}{\ftntm@font}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\thefootnotemark}
-% \changes{v2.4l}{1997/02/06}{Neues Makro, damit \cs{@thefnmark} auf
-% Anwenderebene verf"ugbar wird.}
-% \begin{macrocode}
-\newcommand*{\thefootnotemark}{\@thefnmark}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\textsuperscript}
-% \changes{v2.4l}{1997/02/06}{Neues Makro, damit \cs{@textsuperscript} auf
-% Anwenderebene verf"ugbar wird.}
-% \changes{v2.5g}{1999/10/09}{Da \cs{textsuperscript} bereits
-% existiert, wird es nicht mehr
-% umdefiniert. Die dadurch entstehende
-% Inkompatibilit"at wird in Kauf
-% genommen.}
-% Das Makro ist im Kernel vorhanden. Die Umdefinition sah einst wie
-% folgt aus:
-% \begin{verbatim}
-% \let\textsuperscript\@textsuperscript
-% \end{verbatim}
-% \end{macro}
-% \changes{v2.4l}{1997/02/06}{Verwendung der neuen Makros zur
-% Fu"snotengestaltgebung.}
-% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingef"ugt}
-% \begin{macro}{\@makefnmark}
-% \begin{macrocode}
-\deffootnote[1em]{1.5em}{1em}
- {\textsuperscript{\thefootnotemark}}
-\deffootnotemark{\textsuperscript{\thefootnotemark}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Kleinigkeiten}
-%
-% \begin{macro}{textsubscript}
-% \changes{v2.8h}{2001/07/19}{Neu}
-% \begin{macro}{@textsubscript}
-% \changes{v2.8h}{2001/07/19}{Neu}
-% Im \LaTeX-Kern wird zwar ein Makro \cs{textsuperscript} definiert,
-% um Texte hochstellen zu k"onnen, die entsprechende Anweisung zum
-% Tiefstellen fehlt jedoch. Das wird hier nachgeholt, wobei nahezu
-% unver"andert auf die Definition aus dem \LaTeX-Kern zur"uckgegriffen
-% wird.
-% \begin{macrocode}
-\DeclareRobustCommand*\textsubscript[1]{%
- \@textsubscript{\selectfont#1}}
-\newcommand{\@textsubscript}[1]{%
- {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Standardbezeichnungen}
-%
-% Diese werden von |german.sty| ohnehin "uberschrieben.
-% \begin{macro}{\contentsname}
-% \begin{macro}{\listfigurename}
-% \begin{macro}{\listtablename}
-% \begin{macro}{\refname}
-% \begin{macro}{\bibname}
-% \begin{macro}{\indexname}
-% \begin{macro}{\figurename}
-% \begin{macro}{\tablename}
-% \begin{macro}{\partname}
-% \begin{macro}{\chaptername}
-% \begin{macro}{\appendixname}
-% \begin{macro}{\abstractname}
-% \begin{macro}{\today}
-% \begin{macrocode}
-%<*!scrlettr>
-\newcommand*\contentsname{Contents}
-\newcommand*\listfigurename{List of Figures}
-\newcommand*\listtablename{List of Tables}
-%<scrartcl>\newcommand*\refname{References}
-%<!scrartcl>\newcommand*\bibname{Bibliography}
-\newcommand*\indexname{Index}
-\newcommand*\figurename{Figure}
-\newcommand*\tablename{Table}
-\newcommand*\partname{Part}
-%<!scrartcl>\newcommand*\chaptername{Chapter}
-\newcommand*\appendixname{Appendix}
-\newcommand*\abstractname{Abstract}
-%</!scrlettr>
-\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}
-%
-% \begin{macro}{\captionsenglish}
-% \begin{macro}{\captionsUSenglish}
-% \begin{macro}{\captionsamerican}
-% \begin{macro}{\captionsbritish}
-% \begin{macro}{\captionsUKenglish}
-% \begin{macro}{\captionsgerman}
-% \begin{macro}{\captionsaustrian}
-% \begin{macro}{\captionsngerman}
-% \begin{macro}{\captionsfrench}
-% \begin{macro}{\captionsitalian}
-% \begin{macro}{\captionsspanish}
-% \begin{macro}{\captionscroatian}
-% \changes{v2.8q}{2001/10/05}{Sprachspende von Branka
-% Lon\v{c}arevi\'{c}}
-% \begin{macro}{\captionsdutch}
-% \changes{v2.8q}{2002/02/01}{Sprachspende von Henk Jongbloets}
-% Bei |scrlttr2| gibt es eine gro"se Anzahl von Label-Variablen, die es
-% in den Standard-classes nicht gibt, die also auch nicht in
-% Sprachanpassungen wie |german.sty| oder |ngerman.sty| vorhanden sind.
-% Deshalb ist es notwendig diese Labels hier neu zu definieren.
-% \begin{macro}{\providecaptionname}
-% \changes{v2.8q}{2001/11/08}{Neu}
-% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die ge"anderte
-% ist, wird die "Anderung sofort aktiviert.}
-% \begin{macro}{\newcaptionname}
-% \changes{v2.8q}{2001/11/08}{Neu}
-% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die ge"anderte
-% ist, wird die "Anderung sofort aktiviert.}
-% \begin{macro}{\renewcaptionname}
-% \changes{v2.8q}{2001/11/08}{Neu}
-% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die ge"anderte
-% ist, wird die "Anderung sofort aktiviert.}
-% Doch bevor dies geschieht, werden erst einmal drei Benutzerkommandos
-% definiert, mit denen einer Sprache, so ein Begriff zugef"ugt werden
-% kann.
-% \begin{macrocode}
-\newcommand*{\providecaptionname}[3]{%
- \@ifundefined{captions#1}{%
- \@ifundefined{cap@info@#1@done}{%
- \ClassInfo{%
- scrlttr2%
- }{%
- No captions found for `#1'\MessageBreak
- --> skipped%
- }%
- \expandafter\let\csname cap@info@#1@done\endcsname\@empty}{}%
- }{%
- \begingroup%
- \let\@tempa\endgroup%
- \csname captions#1\endcsname%
- \ifx #2\undefined%
- \def\@tempb{#1}%
- \ifx\@tempb\languagename
- \def\@tempa{\endgroup%
- \expandafter\g@addto@macro\csname captions#1\endcsname{%
- \def#2{#3}}%
- \csname captions#1\endcsname
- }%
- \else
- \def\@tempa{\endgroup%
- \expandafter\g@addto@macro\csname captions#1\endcsname{%
- \def#2{#3}}%
- }%
- \fi
- \else
- \ClassInfo{%
- scrlttr2%
- }{%
- `\string#2' at language `#1' already
- defined\MessageBreak
- --> skipped%
- }%
- \fi
- \@tempa
- }%
-}
-\newcommand*{\newcaptionname}[3]{%
- \@ifundefined{captions#1}{%
- \ClassInfo{%
- scrlttr2%
- }{%
- No captions found for `#1' --> defining%
- }%
- \@namedef{captions#1}{}%
- }{}%
- \begingroup%
- \csname captions#1\endcsname%
- \ifx #2\undefined\else%
- \ClassError{%
- scrlttr2%
- }{%
- `\string#2' at language `#1' already defined%
- }{%
- You've told me to define `\string#2' at language
- `#1',\MessageBreak
- but it is already defined.\MessageBreak
- It will be redefined, if you'll continue.%
- }
- \fi
- \endgroup%
- \expandafter\g@addto@macro\csname captions#1\endcsname{%
- \def#2{#3}}%
- \begingroup
- \def\@tempb{#1}%
- \ifx\@tempb\languagename
- \def\@tempa{\endgroup\csname captions#1\endcsname}%
- \else
- \let\@tempa\endgroup
- \fi
- \@tempa
-}
-\newcommand*{\renewcaptionname}[3]{%
- \@ifundefined{captions#1}{%
- \ClassError{%
- scrlttr2%
- }{%
- No captions found for `#1'%
- }{%
- You've told me to redefine the caption `\string#2' at language
- `#1',\MessageBreak
- but `\expandafter\string\csname captions#1\endcsname' is not
- defined.\MessageBreak
- If you'll continue it will be defined.%
- }
- \@namedef{captions#1}{}%
- }{}%
- \begingroup%
- \csname captions#1\endcsname%
- \ifx #2\undefined%
- \ClassError{%
- scrlttr2%
- }{%
- `\string#2' not defined at language `#1'%
- }{%
- You've told me to redefine `\string#2' at language
- `#1',\MessageBreak
- but it is not defined.\MessageBreak
- If you'll continue it will be defined.%
- }
- \fi
- \endgroup
- \expandafter\g@addto@macro\csname captions#1\endcsname{%
- \def#2{#3}}%
- \begingroup
- \def\@tempb{#1}%
- \ifx\@tempb\languagename
- \def\@tempa{\endgroup\csname captions#1\endcsname}%
- \else
- \let\@tempa\endgroup
- \fi
- \@tempa
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% F"ur das Datum wird gleiches nicht ben"otigt, da hier direkt mit
-% |\providecommand|, |\newcommand| und |\renewcommand| gearbeitet
-% werden kann.
-% \begin{macro}{\g@addnumerical@date}
-% Intern wird bei der Briefklasse aber ein Makro ben"otigt, mit dem an
-% existierende Datumsumschaltungen -- und nur an existierende --
-% weitere Befehle angeh"angt werden k"onnen.
-% \begin{macrocode}
-%<*scrlettr>
-\newcommand*{\g@addnumerical@date}[2]{%
- \@ifundefined{date#1}{%
- \ClassInfo{%
- scrlttr2%
- }{%
- no date found for language `#1'\MessageBreak
- --> skipped%
- }
- }{%
- \expandafter\g@addto@macro\csname date#1\endcsname{%
- \let\sym@date=\today%
- \def\num@date{#2}%
- \def\today{\if@orgdate\sym@date\else\num@date\fi}%
- }
- }
- }
-%</scrlettr>
-% \end{macrocode}
-% \end{macro}
-%
-% Weil es in fr"uheren Versionen zu Problemen damit gekommen ist,
-% werden diese jedoch erst bei |\begin{document}| definiert. Dabei
-% wird |\providecaptionname| verwendet, so dass sie auch schon vor
-% |\begin{document}| mit |\newcaptionname| anderslautend definiert
-% werden k"onnen.
-% \begin{table}
-% \centering
-% \begin{tabular}{ll}
-% Sprache & Spender \\\hline\\[-1.6ex]
-% English & Frank Neukam, Michael Dewey, Markus Kohm \\
-% Deutsch & Frank Neukam, Markus Kohm \\
-% Franz"osisch & Frank Neukam, Henk Jongbloets \\
-% Italienisch & Simone Naldi \\
-% Spanisch & Ralph J.\ Hangleiter, Alejandro L\'opez-Valencia\\
-% Kroatisch & Branka Lon\v{c}arevi\'{c} \\
-% Holl"andisch & Henk Jongbloets \\
-% \end{tabular}
-% \caption{Liste der unterst"utzten Sprachen und der
-% \emph{Sprachspender}}
-% \end{table}
-% Eine Besonderheit stellt die englische Sprache dar. Es wird
-% versucht, diese als Notersatz immer zu definieren.
-% \begin{macrocode}
-%<*scrlettr>
-\AtBeginDocument{
- \@ifundefined{captionsenglish}{\let\captionsenglish\@empty}{}%
- \providecaptionname{english}\yourrefname{Your ref.}%
- \providecaptionname{english}\yourmailname{Your letter of}%
- \providecaptionname{english}\myrefname{Our ref.}%
- \providecaptionname{english}\customername{Customer no.}%
- \providecaptionname{english}\invoicename{Invoice no.}%
- \providecaptionname{english}\subjectname{Subject}%
- \providecaptionname{english}\ccname{cc}%
- \providecaptionname{english}\enclname{encl}%
- \providecaptionname{english}\headtoname{To}%
- \providecaptionname{english}\headfromname{From}%
- \providecaptionname{english}\datename{Date}%
- \providecaptionname{english}\pagename{Page}%
- \providecaptionname{english}\phonename{Phone}%
- \providecaptionname{english}\faxname{Fax}%
- \providecaptionname{english}\emailname{Email}%
- \providecaptionname{english}\wwwname{Url}%
- \providecaptionname{english}\bankname{Bank account}%
- \providecaptionname{USenglish}\yourrefname{Your ref.}%
- \providecaptionname{USenglish}\yourmailname{Your letter of}%
- \providecaptionname{USenglish}\myrefname{Our ref.}%
- \providecaptionname{USenglish}\customername{Customer no.}%
- \providecaptionname{USenglish}\invoicename{Invoice no.}%
- \providecaptionname{USenglish}\subjectname{Subject}%
- \providecaptionname{USenglish}\ccname{cc}%
- \providecaptionname{USenglish}\enclname{encl}%
- \providecaptionname{USenglish}\headtoname{To}%
- \providecaptionname{USenglish}\headfromname{From}%
- \providecaptionname{USenglish}\datename{Date}%
- \providecaptionname{USenglish}\pagename{Page}%
- \providecaptionname{USenglish}\phonename{Phone}%
- \providecaptionname{USenglish}\faxname{Fax}%
- \providecaptionname{USenglish}\emailname{Email}%
- \providecaptionname{USenglish}\wwwname{Url}%
- \providecaptionname{USenglish}\bankname{Bank account}%
- \providecaptionname{american}\yourrefname{Your ref.}%
- \providecaptionname{american}\yourmailname{Your letter of}%
- \providecaptionname{american}\myrefname{Our ref.}%
- \providecaptionname{american}\customername{Customer no.}%
- \providecaptionname{american}\invoicename{Invoice no.}%
- \providecaptionname{american}\subjectname{Subject}%
- \providecaptionname{american}\ccname{cc}%
- \providecaptionname{american}\enclname{encl}%
- \providecaptionname{american}\headtoname{To}%
- \providecaptionname{american}\headfromname{From}%
- \providecaptionname{american}\datename{Date}%
- \providecaptionname{american}\pagename{Page}%
- \providecaptionname{american}\phonename{Phone}%
- \providecaptionname{american}\faxname{Fax}%
- \providecaptionname{american}\emailname{Email}%
- \providecaptionname{american}\wwwname{Url}%
- \providecaptionname{american}\bankname{Bank account}%
- \providecaptionname{british}\yourrefname{Your ref.}%
- \providecaptionname{british}\yourmailname{Your letter of}%
- \providecaptionname{british}\myrefname{Our ref.}%
- \providecaptionname{british}\customername{Customer no.}%
- \providecaptionname{british}\invoicename{Invoice no.}%
- \providecaptionname{british}\subjectname{Subject}%
- \providecaptionname{british}\ccname{cc}%
- \providecaptionname{british}\enclname{encl}%
- \providecaptionname{british}\headtoname{To}%
- \providecaptionname{british}\headfromname{From}%
- \providecaptionname{british}\datename{Date}%
- \providecaptionname{british}\pagename{Page}%
- \providecaptionname{british}\phonename{Phone}%
- \providecaptionname{british}\faxname{Fax}%
- \providecaptionname{british}\emailname{Email}%
- \providecaptionname{british}\wwwname{Url}%
- \providecaptionname{british}\bankname{Bank account}%
- \providecaptionname{UKenglish}\yourrefname{Your ref.}%
- \providecaptionname{UKenglish}\yourmailname{Your letter of}%
- \providecaptionname{UKenglish}\myrefname{Our ref.}%
- \providecaptionname{UKenglish}\customername{Customer no.}%
- \providecaptionname{UKenglish}\invoicename{Invoice no.}%
- \providecaptionname{UKenglish}\subjectname{Subject}%
- \providecaptionname{UKenglish}\ccname{cc}%
- \providecaptionname{UKenglish}\enclname{encl}%
- \providecaptionname{UKenglish}\headtoname{To}%
- \providecaptionname{UKenglish}\headfromname{From}%
- \providecaptionname{UKenglish}\datename{Date}%
- \providecaptionname{UKenglish}\pagename{Page}%
- \providecaptionname{UKenglish}\phonename{Phone}%
- \providecaptionname{UKenglish}\faxname{Fax}%
- \providecaptionname{UKenglish}\emailname{Email}%
- \providecaptionname{UKenglish}\wwwname{Url}%
- \providecaptionname{UKenglish}\bankname{Bank account}%
- \providecaptionname{german}\yourrefname{Ihr Zeichen}%
- \providecaptionname{german}\yourmailname{Ihr Schreiben vom}%
- \providecaptionname{german}\myrefname{Unser Zeichen}%
- \providecaptionname{german}\customername{Kundennummer}%
- \providecaptionname{german}\invoicename{Rechnungsnummer}%
- \providecaptionname{german}\subjectname{Betrifft}%
- \providecaptionname{german}\ccname{Kopien an}%
- \providecaptionname{german}\enclname{Anlagen}%
- \providecaptionname{german}\headtoname{An}%
- \providecaptionname{german}\headfromname{Von}%
- \providecaptionname{german}\datename{Datum}%
- \providecaptionname{german}\pagename{Seite}%
- \providecaptionname{german}\phonename{Telephon}%
- \providecaptionname{german}\faxname{Fax}%
- \providecaptionname{german}\emailname{E-Mail}%
- \providecaptionname{german}\wwwname{URL}%
- \providecaptionname{german}\bankname{Bankverbindung}%
- \providecaptionname{ngerman}\yourrefname{Ihr Zeichen}%
- \providecaptionname{ngerman}\yourmailname{Ihr Schreiben vom}%
- \providecaptionname{ngerman}\myrefname{Unser Zeichen}%
- \providecaptionname{ngerman}\customername{Kundennummer}%
- \providecaptionname{ngerman}\invoicename{Rechnungsnummer}%
- \providecaptionname{ngerman}\subjectname{Betrifft}%
- \providecaptionname{ngerman}\ccname{Kopien an}%
- \providecaptionname{ngerman}\enclname{Anlagen}%
- \providecaptionname{ngerman}\headtoname{An}%
- \providecaptionname{ngerman}\headfromname{Von}%
- \providecaptionname{ngerman}\datename{Datum}%
- \providecaptionname{ngerman}\pagename{Seite}%
- \providecaptionname{ngerman}\phonename{Telefon}%
- \providecaptionname{ngerman}\faxname{Fax}%
- \providecaptionname{ngerman}\emailname{E-Mail}%
- \providecaptionname{ngerman}\wwwname{URL}%
- \providecaptionname{ngerman}\bankname{Bankverbindung}%
- \providecaptionname{austrian}\yourrefname{Ihr Zeichen}%
- \providecaptionname{austrian}\yourmailname{Ihr Schreiben vom}%
- \providecaptionname{austrian}\myrefname{Unser Zeichen}%
- \providecaptionname{austrian}\customername{Kundennummer}%
- \providecaptionname{austrian}\invoicename{Rechnungsnummer}%
- \providecaptionname{austrian}\subjectname{Betrifft}%
- \providecaptionname{austrian}\ccname{Kopien an}%
- \providecaptionname{austrian}\enclname{Anlagen}%
- \providecaptionname{austrian}\headtoname{An}%
- \providecaptionname{austrian}\headfromname{Von}%
- \providecaptionname{austrian}\datename{Datum}%
- \providecaptionname{austrian}\pagename{Seite}%
- \providecaptionname{austrian}\phonename{Telefon}%
- \providecaptionname{austrian}\faxname{Fax}%
- \providecaptionname{austrian}\emailname{E-Mail}%
- \providecaptionname{austrian}\wwwname{URL}%
- \providecaptionname{austrian}\bankname{Bankverbindung}%
- \providecaptionname{french}\yourrefname{Vos r\'ef\'erences}%
- \providecaptionname{french}\yourmailname{Votre lettre du}%
- \providecaptionname{french}\myrefname{Nos r\'ef\'erences}%
- \providecaptionname{french}\customername{Num\'ero de client}%
- \providecaptionname{french}\invoicename{Num\'ero de facture}%
- \providecaptionname{french}\subjectname{Concernant}%
- \providecaptionname{french}\ccname{Copie \`a}%
- \providecaptionname{french}\enclname{Annexes}%
- \providecaptionname{french}\headtoname{A}%
- \providecaptionname{french}\headfromname{De}%
- \providecaptionname{french}\datename{Date}%
- \providecaptionname{french}\pagename{Page}%
- \providecaptionname{french}\phonename{T\'el\'ephone}%
- \providecaptionname{french}\faxname{T\'el\'efax}%
- \providecaptionname{french}\emailname{E-mail}%
- \providecaptionname{french}\wwwname{URL}%
- \providecaptionname{french}\bankname{Compte en banque}%
- \providecaptionname{italian}\yourrefname{Vs./Rif.}%
- \providecaptionname{italian}\yourmailname{Vs.~lettera del}%
- \providecaptionname{italian}\myrefname{Ns./Rif.}%
- \providecaptionname{italian}\customername{Nr.~cliente}%
- \providecaptionname{italian}\invoicename{Nr.~fattura}%
- \providecaptionname{italian}\subjectname{Oggetto}%
- \providecaptionname{italian}\ccname{Per conoscenza}%
- \providecaptionname{italian}\enclname{Allegato}%
- \providecaptionname{italian}\headtoname{A}%
- \providecaptionname{italian}\headfromname{}% TODO: translate it
- \providecaptionname{italian}\datename{Data}%
- \providecaptionname{italian}\pagename{Pagina}%
- \providecaptionname{italian}\phonename{}% TODO: translate it
- \providecaptionname{italian}\faxname{}% TODO: translate it
- \providecaptionname{italian}\emailname{}% TODO: translate it
- \providecaptionname{italian}\wwwname{}% TODO: translate it
- \providecaptionname{italian}\bankname{}% TODO: translate it
- \providecaptionname{spanish}\yourrefname{Su ref.}%
- \providecaptionname{spanish}\yourmailname{Su carta de}%
- \providecaptionname{spanish}\myrefname{Nuestra ref.}%
- \providecaptionname{spanish}\customername{No. de cliente}%
- \providecaptionname{spanish}\invoicename{No. de factura}%
- \providecaptionname{spanish}\subjectname{Asunto}%
- \providecaptionname{spanish}\ccname{Copias}%
- \providecaptionname{spanish}\enclname{Adjunto}%
- \providecaptionname{spanish}\headtoname{A}%
- \providecaptionname{spanish}\headfromname{De}%
- \providecaptionname{spanish}\datename{Fecha}%
- \providecaptionname{spanish}\pagename{P\'agina}%
- \providecaptionname{spanish}\phonename{Tel\'efono}%
- \providecaptionname{spanish}\faxname{Fax}%
- \providecaptionname{spanish}\emailname{Email}% or Correo electr\'onico
- \providecaptionname{spanish}\wwwname{URL}% or P\`agina web
- \providecaptionname{spanish}\bankname{Cuenta bancaria}%
- \providecaptionname{croatian}\yourrefname{Va\v{s} znak}%
- \providecaptionname{croatian}\yourmailname{Va\v{s}e pismo od}%
- \providecaptionname{croatian}\myrefname{Na\v{s} znak}%
- \providecaptionname{croatian}\customername{Broj kupca}%
- \providecaptionname{croatian}\invoicename{Broj fakture}%
- \providecaptionname{croatian}\subjectname{Predmet}%
- \providecaptionname{croatian}\ccname{Kopija}%
- \providecaptionname{croatian}\enclname{Privitak}%
- \providecaptionname{croatian}\headtoname{Prima}%
- \providecaptionname{croatian}\headfromname{\v{S}alje}%
- \providecaptionname{croatian}\datename{Nadnevak}%
- \providecaptionname{croatian}\pagename{Stranica}%
- \providecaptionname{croatian}\phonename{Telefon}%
- \providecaptionname{croatian}\faxname{Fax}%
- \providecaptionname{croatian}\emailname{E-Mail}%
- \providecaptionname{croatian}\wwwname{URL}%
- \providecaptionname{croatian}\bankname{Bankovna veza}%
- \providecaptionname{dutch}\yourrefname{Uw kenmerk}%
- \providecaptionname{dutch}\yourmailname{Uw brief van}%
- \providecaptionname{dutch}\myrefname{Ons kenmerk}%
- \providecaptionname{dutch}\customername{Klant No.}%
- \providecaptionname{dutch}\invoicename{Rekening No.}%
- \providecaptionname{dutch}\subjectname{Onderwerp}%
- \providecaptionname{dutch}\ccname{Kopie aan}%
- \providecaptionname{dutch}\enclname{Bijlage(n)}%
- \providecaptionname{dutch}\headtoname{Aan}%
- \providecaptionname{dutch}\headfromname{Van}%
- \providecaptionname{dutch}\datename{Datum}%
- \providecaptionname{dutch}\pagename{Pagina}%
- \providecaptionname{dutch}\phonename{Telefoon}%
- \providecaptionname{dutch}\faxname{Fax}%
- \providecaptionname{dutch}\emailname{E--mail}%
- \providecaptionname{dutch}\urlname{URL}%
- \providecaptionname{dutch}\bankname{Bankrekening}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\dateenglish}
-% \begin{macro}{\dateUSenglish}
-% \begin{macro}{\dateamerican}
-% \changes{v2.4c}{1997/11/25}{american identisch mit USenglish
-% definiert}
-% \begin{macro}{\datebritish}
-% \changes{v2.4c}{1997/11/25}{british identisch mit english
-% definiert}
-% \begin{macro}{\dateUKenglish}
-% \changes{v2.4c}{1997/11/25}{UKenglish identisch mit english
-% definiert}
-% \begin{macro}{\dategerman}
-% \begin{macro}{\dateaustrian}
-% \begin{macro}{\datengerman}
-% \changes{v2.5}{1999/09/08}{ngerman neu und identisch mit german}
-% \begin{macro}{\datefrench}
-% \begin{macro}{\dateitalian}
-% \changes{v2.3e}{1996/05/31}{Ich hoffe, da"s das stimmt}
-% \begin{macro}{\datespanish}
-% \changes{v2.4c}{1997/11/25}{Ich hoffe, da"s das stimmt}
-% \changes{v2.4c}{1997/11/25}{Datumsumschaltung nicht mehr
-% zwingend}
-% \begin{macro}{\datecroatian}
-% \changes{v2.8q}{2001/05/10}{Neu}
-% \begin{macro}{\datedutch}
-% \changes{v2.8q}{2002/02/01}{Neu}
-% Dar"uber hinaus ist auch das Datumsformat sprachabh"angig. Dies wird
-% hier ebenfalls beachtet.
-% \begin{macrocode}
- \g@addnumerical@date{english}{%
- \number\day/\number\month/\number\year}
- \g@addnumerical@date{british}{%
- \number\day/\number\month/\number\year}
- \g@addnumerical@date{UKenglish}{%
- \number\day/\number\month/\number\year}
- \g@addnumerical@date{USenglish}{%
- \number\month/\number\day/\number\year}
- \g@addnumerical@date{american}{%
- \number\month/\number\day/\number\year}
- \g@addnumerical@date{german}{%
- \number\day.\,\number\month.\,\number\year}
- \g@addnumerical@date{ngerman}{%
- \number\day.\,\number\month.\,\number\year}
- \g@addnumerical@date{austrian}{%
- \number\day.\,\number\month.\,\number\year}
- \g@addnumerical@date{french}{%
- \number\day.\,\number\month.\,\number\year}
- \g@addnumerical@date{italian}{%
- \number\day.\,\number\month.\,\number\year}
- \g@addnumerical@date{spanish}{%
- \number\day.\,\number\month.\,\number\year}
- \g@addnumerical@date{croatian}{%
- \number\day.\,\number\month.\,\number\year.}
- \g@addnumerical@date{dutch}{%
- \number\day.\,\number\month.\,\number\year}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% Zum Schlu"s findet noch die eigentliche Auswahl statt. Diese orientiert
-% sich nun an der Auswahl nach german.sty 2.5b und verwendet keine festen
-% Sprachzuordnungen mehr. Daf"ur sind nun keine Erweiterungen f"ur andere
-% Sprachen mehr m"oglich.
-% \changes{v2.2c}{1995/03/20}{Im Sprachenvergleich fehlten die "`="'
-% hinter \cs{language}}
-% \changes{v2.4c}{1997/11/25}{Sprachauswahl um american, british,
-% UKenglish und spanish erweitert}
-% \changes{v2.5}{1999/09/08}{Sprachauswahl um ngermen erweitert}
-% \changes{v2.5b}{2000/01/20}{Reaktivierung der Sprache geschieht
-% nun via \cs{languagename}, soweit dies m"oglich ist}
-% \changes{v2.5e}{2000/07/14}{Workaround f"ur Sprache nohyphenation
-% durch Format mit Babel-Erweiterung aber kein Babel package
-% geladen}
-% \begin{macrocode}
- \captionsenglish
- \dateenglish
-% \end{macrocode}
-% \changes{v2.9i}{2002/09/04}{Workaround f"ur den
-% \texttt{hyphen.cfg}-Bug von Babel}
-% Wird die \texttt{hyphen.cfg} von Babel verwendet, wird aber das
-% \textsl{babel}-Paket nicht geladen, so ist \cs{languagename} h"aufig
-% nicht korrekt, so dass dann \cs{selectlanguage} mit
-% \cs{languagename} als Argument schief geht. Daher hier ein
-% Workaround f"ur das Problem.
-% \begin{macrocode}
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname date\languagename\endcsname\relax
- \ClassWarningNoLine{%
- scrlttr2%
- }{%
- \string\language\space is \the\language, \string\languagename\space is
- `\languagename'\MessageBreak
- but \expandafter\string\csname
- date\languagename\endcsname\space not defined!\MessageBreak
- This seems to be a bug at you're `hyphen.cfg'.\MessageBreak
- I'l undefine \string\languagename\space to avoid errors%
- }%
- \let\languagename=\undefined
- \fi
- \ifx\languagename\undefined
- \ClassWarningNoLine{scrlttr2}{\string\languagename\space not
- defined, using \string\language.\MessageBreak
- This may result in use of wrong language!\MessageBreak
- You should use a compatible language
- package\MessageBreak
- (e.g. `Babel', `german', `ngerman', ...)}
- \ifx\l@american\undefined\else\ifnum\language=\l@american
- \captionsamerican
- \dateamerican
- \fi\fi
- \ifx\l@british\undefined\else\ifnum\language=\l@british
- \captionsbritish
- \datebritish
- \fi\fi
- \ifx\l@UKenglish\undefined\else\ifnum\language=\l@UKenglish
- \captionsUKenglish
- \dateUKenglish
- \fi\fi
- \ifx\l@USenglish\undefined\else\ifnum\language=\l@USenglish
- \captionsUSenglish
- \dateUSenglish
- \fi\fi
- \ifx\l@austrian\undefined\else\ifnum\language=\l@austrian
- \captionsaustrian
- \dateaustrian
- \fi\fi
- \ifx\l@german\undefined\else\ifnum\language=\l@german
- \captionsgerman
- \dategerman
- \fi\fi
- \ifx\l@ngerman\undefined\else\ifnum\language=\l@ngerman
- \captionsngerman
- \datengerman
- \fi\fi
- \ifx\l@french\undefined\else\ifnum\language=\l@french
- \captionsfrench
- \datefrench
- \fi\fi
- \ifx\l@italian\undefined\else\ifnum\language=\l@italian
- \captionsitalian
- \dateitalian
- \fi\fi
- \ifx\l@spanish\undefined\else\ifnum\language=\l@spanish
- \captionsspanish
- \datespanish
- \fi\fi
- \ifx\l@croatian\undefined\else\ifnum\language=\l@croatian
- \captionscroatian
- \datecroatian
- \fi\fi
- \ifx\l@dutch\undefined\else\ifnum\language=\l@dutch
- \captionsdutch
- \datedutch
- \fi\fi
- \else
- \edef\@tempa{nohyphenation}
- \ifx\languagename\@tempa
- \ClassWarningNoLine{%
- scrlttr2%
- }{%
- You've selected language `\languagename'.\MessageBreak
- Maybe your LaTeX format contains Babel extension\MessageBreak
- but you have not selected a language using\MessageBreak
- Babel package.\MessageBreak
- Please select another language!\MessageBreak
- Only as a workaround english captions and date\MessageBreak
- will be used%
- }%
- \else
- \expandafter\selectlanguage\expandafter{\languagename}
- \ClassInfo{%
- scrlttr2%
- }{%
- used language is `\languagename'.\MessageBreak
- Supported languages are `english', `UKenglish',\MessageBreak
- `british', `american', `USenglish',\MessageBreak
- `german', `ngerman', `austrian',\MessageBreak
- `dutch', `italian', `spanish', `croatian'%
- }
- \fi
- \fi
- }
-%</scrlettr>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Erweiterung der Internationalisierung}
-%
-% Dergleichen gibt es bei Briefen nicht.
-% \begin{macrocode}
-%<*!scrlettr>
-% \end{macrocode}
-%
-% \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 ger"ustet.
-%
-% \begin{macro}{\if@altsecnumformat}
-% \changes{v2.3c}{1995/08/06}{Einf"uhrung von
-% \cs{if@altsecnumformat}}
-% \begin{macro}{\@altsecnumformattrue}
-% \begin{macro}{\@altsecnumformatfalse}
-% Dieses Hilfsmakro wird f"ur die Umschaltung auf Duden-Regel~6 bei der
-% Numerierung ben"otigt.
-% \begin{macro}{\if@autodot}
-% \changes{v2.8e}{2001/07/10}{Neu}
-% \begin{macro}{\@autodottrue}
-% \begin{macro}{\@autodotfalse}
-% Damit die Umschaltung auch wieder zur"uck auf Regel~5 automatisch
-% erfolgen kann, wird ein zweiter Schalter ben"otigt.
-% \begin{macrocode}
-\newif\if@altsecnumformat\@altsecnumformatfalse
-\newif\if@autodot\@autodotfalse
-% \end{macrocode}
-% \begin{macro}{\@maybeautodot}
-% \changes{v2.8e}{2001/07/10}{Neu}
-% Ob der automatische Punkt aktiviert werden muss, wird aufgrund der
-% Darstellung eines Z"ahlers entschieden. Diese wird dem Makro als
-% Argument "ubergeben (|\thepart|, |\thechapter| etc.). Durch
-% Verwendung einer Gruppe, werden alle Definitionen lokal gehalten.
-% \begin{macrocode}
-\newcommand{\@maybeautodot}[1]{\if@autodot\else\begingroup%
- \expandafter\@@maybeautodot #1\@stop\endgroup\fi}
-% \end{macrocode}
-% \begin{macro}{\@@maybeautodot}
-% \changes{v2.8e}{2001/07/10}{Neu}
-% Die expandierte Darstellung wird dann auf Darstellungsbefehle f"ur
-% Z"ahler gescannt.
-% \begin{macrocode}
-\newcommand*{\@@maybeautodot}[1]{%
- \ifx #1\@stop\let\@@maybeautodot\relax%
- \else%
- \ifx #1\Alph \aftergroup\@autodottrue\fi%
- \ifx #1\alph \aftergroup\@autodottrue\fi%
- \ifx #1\Roman \aftergroup\@autodottrue\fi%
- \ifx #1\roman \aftergroup\@autodottrue\fi%
- \ifx #1\@Alph \aftergroup\@autodottrue\fi%
- \ifx #1\@alph \aftergroup\@autodottrue\fi%
- \ifx #1\@Roman \aftergroup\@autodottrue\fi%
- \ifx #1\@roman \aftergroup\@autodottrue\fi%
- \ifx #1\romannumeral \aftergroup\@autodottrue\fi%
- \fi%
- \@@maybeautodot}
-% \end{macrocode}
-% \begin{macro}{\scr@sect}
-% \begin{macro}{\@sect}
-% Damit auch alle mit |startsection| definierten Gliederungsebenen bei
-% der Entscheidung ber"ucksichtigt werden, muss ein internes Makro des
-% \LaTeX-Kerns erweitert werden. F"ur die Ebenen |part| und |chapter|
-% wird dies direkt in der Definition der Befehle erledigt.
-% \begin{macrocode}
-\let\scr@sect\@sect
-\renewcommand*{\@sect}[1]{\stepcounter{#1}%
- \expandafter\@maybeautodot\csname the#1\endcsname%
- \addtocounter{#1}{-1}\scr@sect{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% Dabei soll die Umstellung beim zweiten TeX-Lauf bereits am Anfang
-% aktiv sein. Deshalb wird die Information am Ende in die aux-Datei
-% geschrieben.
-% \changes{v2.9k}{2003/01/12}{es wird direkt in \cs{@mainaux} geschrieben}
-% \begin{macrocode}
-\AtEndDocument{%
- \if@autodot\if@filesw\immediate\write\@mainaux{%
- \string\global\string\@altsecnumformattrue}
- \fi\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \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.}
-% \changes{v2.8}{2001/06/15}{\cs{chapappifprefix} eingef"ugt}
-% \changes{v2.8o}{2001/09/19}{\cs{chapappifchapterprefix} statt
-% \cs{chapappifprefix}}
-% \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{macro}{\autodot}
-% \changes{v2.7}{2001/01/03}{Neues Makro \cs{autodot}.}
-% \changes{v2.7}{2001/01/03}{Abstand von \cs{quad} auf \cs{enskip}
-% verringert.}
-% Innerhalb der Makros wird ein Makro verwendet, das automatisch einen
-% Punkt setzt, falls dies nach dem Duden als erforderlich angesehen
-% wird.
-% \begin{macrocode}
-\newcommand*\autodot{\if@altsecnumformat.\fi}
-%<*scrreprt|scrbook>
-\newcommand*\chaptermarkformat {\chapappifchapterprefix{\ }%
- \thechapter\autodot\enskip}
-\newcommand*\sectionmarkformat {\thesection\autodot\enskip}
-%</scrreprt|scrbook>
-%<*scrartcl>
-\newcommand*\sectionmarkformat {\thesection\autodot\enskip}
-\newcommand*\subsectionmarkformat {\thesubsection\autodot\enskip}
-%</scrartcl>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\partformat}
-% \changes{v2.3c}{1995/08/06}{Duden Regel 6.}
-% \changes{v2.5f}{1999/02/14}{"Uberfl"ussiges Leerzeichen am Ende
-% entfernt}
-% \changes{v2.7h}{2001/04/22}{verlorenen Backslash in \cs{autodot}
-% wieder eingef"ugt}
-% \begin{macro}{\chapterformat}
-% \changes{v2.3c}{1995/08/06}{Duden Regel 6.}
-% \changes{v2.7}{2000/01/03}{Einfaches Leerzeichen durch \cs{enskip}
-% ersetzt.}
-% \changes{v2.8}{2001/06/15}{\cs{chapappifprefix} eingef"ugt}
-% \changes{v2.8o}{2001/09/19}{\cs{chapappifchapterprefix} statt
-% \cs{chapappifprefix}}
-% \begin{macro}{\chapappifprefix}
-% \changes{v2.8}{2001/06/15}{Neu}
-% \changes{v2.8o}{2001/09/19}{obsolet}
-% \begin{macro}{\chapappifchapterprefix}
-% \changes{v2.8o}{2001/09/19}{Neu}
-% \changes{v2.8o}{2001/09/19}{Argument ist nicht optional}
-% \begin{macro}{\chapapp}
-% \changes{v2.8}{2001/06/15}{Neu}
-% \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\autodot}
-%<*scrreprt|scrbook>
-\newcommand*{\chapterformat}{%
- \chapappifchapterprefix{\ }\thechapter\autodot\enskip}
-%</scrreprt|scrbook>
-\newcommand*{\figureformat}{\figurename~\thefigure%
-%<!scrartcl> \autodot%
- }
-\newcommand*{\tableformat}{\tablename~\thetable%
-%<!scrartcl> \autodot%
-}
-\newcommand*{\captionformat}{:\ }
-% \end{macrocode}
-% Das in |\chapterformat| verwendete Makro |\chapappifchapterprefix| setzt
-% abh"angig von |\if@chapterprefix| noch das Makro |\chapapp| gefolgt
-% vom obliatorischen Argument. |\chapapp| macht |\@chapapp| auf
-% Anwenderebene verf"ugbar. Der Vorteil des neuen
-% |\chapappifchapterprefix| gegen"uber dem alten |\chapappifprefix|
-% ist, dass nun beim Umdefinieren von |\chapterformat| und
-% |\chaptermarkformat| wieder |\renewcommand| verwendet werden kann
-% und beim Umschalten in den Anhang die Kopfzeile korrekt ist, weil
-% das Makro nun nicht mehr gesch"utzt ist, sondern direkt expandiert.
-% \begin{macrocode}
-%<*scrbook|scrreprt>
-\newcommand*{\chapappifprefix}[1][]{%
- \ClassWarning{%
-%<scrbook> scrbook%
-%<scrreprt> scrreprt%
- }{%
- Please don't use obsolete command
- \string\chapappifprefix.\MessageBreak
- The new command \string\chapappifchapterprefix\space has
- an\MessageBreak
- obligatory instead of an optional argument. Use that\MessageBreak
- new command%
- }%
- \if@chapterprefix\chapapp#1\fi}
-\newcommand*{\chapappifchapterprefix}[1]{\if@chapterprefix\chapapp#1\fi}
-\newcommand*{\chapapp}{\@chapapp}
-%</scrbook|scrreprt>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \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}
-% \changes{v2.9p}{2004/01/07}{\cs{protect} eingef"ugt}
-% \begin{macro}{\othersectionlevelsformat}
-% \changes{v2.7}{2000/01/03}{F"ur alle "ubrigen Gliederungsebenen
-% ebenfalls ein Makro auf Anwenderebene
-% eingef"uhrt.}
-% \changes{v2.7}{2000/01/03}{\cs{quad} durch \cs{enskip} ersetzt.}
-% \changes{v2.7i}{2001/05/17}{\cs{let} durch \cs{def} ersetzt}
-% Wobei ein Hilfsmakro eingesetzt wird, das auf Anwenderseite umdefiniert
-% werden kann.
-% \begin{macrocode}
-\newcommand*{\othersectionlevelsformat}[1]{%
- \csname the#1\endcsname\autodot\enskip}
-\renewcommand*{\@seccntformat}{\protect\othersectionlevelsformat}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-%</!scrlettr>
-% \end{macrocode}
-%
-%
-% \subsection{Die Brief-Umgebung}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-% \begin{environment}{letter}
-% \changes{v2.8q}{2002/01/16}{optionales Argument hinzugef"ugt}
-% \changes{v2.8q}{2002/01/16}{Fu"snotenz"ahler wird zur"uckgesetzt}
-% \changes{v2.9d}{2002/08/12}{Fu"snotenz"ahler wird korrekt zur"uckgesetzt}
-% Diese Umgebung ist etwas anders definiert, als normalerweise von
-% \LaTeX gewohnt. Mit ihr k"onnen innerhalb eines Dokuments beliebig
-% viele Briefe erzeugt werden. Eine der Abweichungen von der
-% Standardklasse besteht darin, dass als optionales Argument Optionen
-% gesetzt werden k"onnen.
-% \begin{macro}{\stopletter}
-% \begin{macro}{\@processto}
-% \changes{v2.9r}{2004/06/16}{robust gegen leeren Empf"anger}
-% \begin{macro}{\@xproc}
-% Die Adresse, die als Argument der Briefumgebung
-% "ubergeben wird, muss in Name und Adresse zerlegt werden.
-% \begin{macrocode}
-\newenvironment{letter}[2][]{%
-% \end{macrocode}
-% Als erstes wird eine neue Seite begonnen. Dies kann ggf. auch eine
-% neue rechte Seite sein. Danach werden alle relevanten Z"ahler
-% und Strafpunkte zur"uckgesetzt und der obligatorische Parameter
-% ausgewertet.
-% \begin{macrocode}
- \newpage
- \if@twoside\ifodd\c@page\else
- \thispagestyle{empty}\null\newpage\fi\fi
- \setcounter{page}{\@ne}%
- \setcounter{footnote}{0}%
- \interlinepenalty=200\@processto{#2}%
-% \end{macrocode}
-% Dann werden ggf. die "ubergebenen Optionen ausgef"uhrt.
-% \begin{macrocode}
- \KOMAoptions{#1}%
-% \end{macrocode}
-% Zum Schluss werden die per \cs{AtBeginLetter} angegeben Anweisungen
-% ausgef"uhrt.
-% \begin{macrocode}
- \@beginletterhook
- }{%
- \stopletter\@@par\pagebreak\@@par%
- }
-\newcommand*{\stopletter}{}
-\newcommand{\@processto}[1]{%
- \ifx\relax#1\relax\else
- \expandafter\@xproc#1\\\@nil\ifkomavarempty{toaddress}{}{%
- \expandafter\@xproc#1\@nil}%
- \fi
-}
-\newcommand*{\@xproc}{}
-\long\def\@xproc#1\\#2\@nil{%
- \setkomavar{toname}{#1}\setkomavar{toaddress}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\fname@font}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% Die Schriftart, die f"ur den Absendername verwendet
-% wird. Voreingestellt ist keine "Anderung.
-% \begin{macrocode}
-\newcommand*{\fname@font}{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\faddress@font}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% Die Schriftart, die f"ur den Absender verwendet wird. Voreingestellt
-% ist keine "Anderung.
-% \begin{macrocode}
-\newcommand*{\faddr@font}{}
-% \end{macrocode}
-% \end{macro}
-% \end{environment}
-%
-% \begin{macro}{\AtBeginLetter}
-% \changes{v2.8n}{2001/09/08}{Neu}
-% \begin{macro}{\@beginletterhook}
-% \changes{v2.8n}{2001/09/08}{Neu}
-% Wie oben zu sehen, wurde in den Anfang der Briefumgebung ein Haken
-% eingef"ugt. Dieser wird auch tats"achlich intern genutzt. Er
-% funktioniert prinzipiell wie der |\AtBeginDocument|-Haken. Zun"achst
-% macht der Haken rein gar nichts.
-% \begin{macrocode}
-\newcommand{\AtBeginLetter}{\g@addto@macro\@beginletterhook}
-\newcommand{\@beginletterhook}{}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-% \subsection{Briefspezifische Feld-Variablen}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-%
-% \begin{macro}{\newkomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% Bei Briefen gibt es eine ganze Reihe von speziellen Variablen. An
-% dieser Stelle sei als Beispiel nur das Feld "`Ihr Zeichen"`
-% genannt. Es ist nahezu unm"oglich alle diese Felder
-% vorherzusehen. Daher wurde in der neuen Briefklasse ein neuer
-% Mechanismus zur Definition solcher Felder geschaffen. Es wird
-% zwischen zwei Arten von Feldern unterschieden:
-% \begin{itemize}
-% \item Felder f"ur die Gesch"aftszeile
-% \item Felder f"ur sonstige Verwendung
-% \end{itemize}
-% Felder k"onnen aber auch nachtr"aglich zur Gesch"aftszeile
-% hinzugef"ugt werden. Die Sternvariante von \cs{newkomavar} f"uhrt
-% dies jedoch automatisch durch.
-% \begin{macro}{\@newkomavar}
-% Da mit einer Sternvariante gearbeitet wird, wird ein Hilfsmakro
-% ben"otigt. Das Makro erh"alt ein optionales und
-% ein obligatorisches Argument. Das optionale Argument ist dabei die
-% Voreinstellung f"ur den \emph{Ausgabenamen} des Feldes, der
-% ggf. ausgegeben werden soll. Das obligatorische Argument ist
-% \emph{Name} des Feldes, "uber den das Feld angesprochen wird.
-% Das Makro definiert zwei weitere Makros: \cs{\emph{scr@Name}@var} und
-% \cs{scr@\emph{Name}@name}.
-% \begin{macrocode}
-\newcommand*{\newkomavar}{%
- \@ifstar {\@tempswatrue\@newkomavar}{\@tempswafalse\@newkomavar}}
-\newcommand*{\@newkomavar}[2][\relax]{%
- \@ifundefined{scr@#2@name}{%
- \@ifundefined{scr@#2@var}{%
- \begingroup
- \def\@tempa{#1}\def\@tempb{\relax}%
- \ifx\@tempa\@tempb\endgroup\else
- \endgroup\@namedef{scr@#2@name}{#1}%
- \fi%
- \expandafter\let\csname scr@#2@var\endcsname=\@empty
- \if@tempswa\addtoreffields{#2}\fi
- }{%
- \ClassError{%
- scrlttr2%
- }{%
- This should never happen%
- }{%
- The contents of the KOMA-Script variable `#2'\MessageBreak
- is undefined, but the name of the variable is
- defined.\MessageBreak
- This should never happen. So someone crashs me!%
- }
- }
- }{%
- \ClassError{%
- scrlttr2%
- }{%
- Variable `#2' already defined%
- }{%
- I'll ignore this command, if you'll continue.%
- }
- }
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\setkomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% Nat"urlich wird auch ein Befehl ben"otigt, um die Feldvariablen
-% zu setzen und ihnen ggf. einen neuen Namen f"ur die Ausgabe zu
-% geben. Der \emph{Name} der Feldvariable wird als obligatorisches
-% erstes Argument "ubergeben.
-% \begin{macro}{\@setkomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% Da dann zwischen einer Sternvariante und einer normalen
-% unterschieden werden soll wird ein Hilfsmakro ben"otigt.
-% \begin{macro}{\@setkomaname}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% Die Sternvariante definiert nur den Ausgabename neu.
-% \begin{macro}{\@@setkomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% Da in der normalen Variante nach dem Stern ein optionales Argument
-% folgen kann, wird mit einem weiteren Hilfsmakro gearbeitet. Der
-% \emph{Ausgabename} wird dabei als optionales, zweites Argument
-% "ubergeben. Der \emph{Inhalt} wird als obligatorisches, drittes
-% Argument "ubergeben.
-% \begin{macrocode}
-\newcommand*{\setkomavar}{%
- \@ifstar {\@setkomaname}{\@setkomavar}}
-\newcommand*{\@setkomavar}[1]{%
- \@ifnextchar [%]
- {\@@setkomavar{#1}}{\@@setkomavar{#1}[\relax]}}
-\newcommand*{\@setkomaname}[2]{%
- \@ifundefined{scr@#1@var}{%
- \@komavar@err{set}{#1}%
- }{%
- \@namedef{scr@#1@name}{#2}%
- }%
- }
-\newcommand*{\@@setkomavar}{}
-\long\def\@@setkomavar#1[#2]#3{%
- \@ifundefined{scr@#1@var}{%
- \@komavar@err{set}{#1}%
- }{%
- \@namedef{scr@#1@var}{#3}%
- \begingroup
- \def\@tempa{#2}\def\@tempb{\relax}%
- \ifx\@tempa\@tempb\endgroup\else
- \endgroup\@namedef{scr@#1@name}{#2}%
- \fi
- }
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@komavar@err}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% Dieses Makro wird intern in den Makros \cs{setkomavar} und
-% \cs{usekomavar} verwendet.
-% \begin{macrocode}
-\newcommand*{\@komavar@err}[2]{%
- \ClassError{%
- scrlttr2%
- }{%
- KOMA-Script variable not defined%
- }{%
- You've tried to #1 the not defined KOMA-Script variable
- `#2'.\MessageBreak
- You have to define the variable using \string\newkomavar\space
- before\MessageBreak
- you do this.%
- }%
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\usekomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% \changes{v2.9i}{2002/09/04}{robust}
-% Selbstverst"andlich wird auch ein Makro ben"otigt, um auf den
-% Inhalt oder den Ausgabename einer Variablen zugreifen zu
-% k"onnen. Mit der normalen Variante wird dabei der Inhalt, mit der
-% Sternvariante der Name ausgegeben.
-% \begin{macro}{\@usekomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% \changes{v2.9i}{2002/09/04}{optionales Argument}
-% \changes{v2.9j}{2002/09/18}{\cs{@firstofone} als Defaultargument
-% eingefügt}
-% \begin{macro}{\@usekomaname}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% \changes{v2.9i}{2002/09/04}{optionales Argument}
-% \changes{v2.9j}{2002/09/18}{\cs{@firstofone} als Defaultargument
-% eingefügt}
-% Da mir einer Sternvariante gearbeitet wird, werden zwei Hilfsmakros
-% ben"otigt.
-% \begin{macrocode}
-\DeclareRobustCommand*{\usekomavar}{%
- \@ifstar {\@usekomaname}{\@usekomavar}}
-\newcommand*{\@usekomavar}[2][\@firstofone]{%
- \@ifundefined{scr@#2@var}{%
- \@komavar@err{use}{#2}%
- }{%
- #1{\@nameuse{scr@#2@var}}%
- }%
- }
-\newcommand*{\@usekomaname}[2][\@firstofone]{%
- \@ifundefined{scr@#2@var}{%
- \@komavar@err{use}{#2}%
- }{%
- #1{\@nameuse{scr@#2@name}}%
- }%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ifkomavarempty}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% \changes{v2.9i}{2002/09/04}{Leerzeichen rausgeworfen}
-% \changes{v2.9i}{2002/09/04}{robust}
-% Es gibt auch noch ein Makro, um zu testen, ob eine KOMA-Script
-% Variable oder deren Name leer ist. Die Sternvariante ist wieder f"ur
-% den Namen zust"andig.
-% \begin{macro}{\if@komavarempty}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% Da mit einer Sternvariante gearbeitet wird, wird wieder ein
-% Hilfsmakro verwendet.
-% \begin{macrocode}
-\DeclareRobustCommand*{\ifkomavarempty}{%
- \begingroup
- \@ifstar {\@tempswatrue\@ifkomavarempty}%
- {\@tempswafalse\@ifkomavarempty}%
- }
-\newcommand{\@ifkomavarempty}[3]{%
- \@ifundefined{scr@#1@var}{%
- \endgroup\@komavar@err{use}{#1}%
- }{%
- \if@tempswa\endgroup
- \@ifundefined{scr@#1@name}{#2}{%
- \expandafter\ifx\csname scr@#1@name\endcsname\@empty
- #2%
- \else
- #3%
- \fi
- }%
- \else\endgroup
- \expandafter\ifx\csname scr@#1@var\endcsname\@empty
- #2%
- \else
- #3%
- \fi
- \fi
- }%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{KOMAvar}{signature}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{place}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{location}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{backaddress}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{specialmail}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{title}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{fromlogo}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% Zun"achst besitzt die Briefklasse einige Variablen, die von Haus aus
-% nicht "uber einen Ausgabenamen verf"ugen, weil sie "ublicherweise
-% ohne Ausgabe einer Bezeichung verwendet werden. Diese Variablen
-% haben teilweise auch keinen vordefinierten Inhalt. Der Inhalt
-% muss erst vom Anwender gesetzt werden. Teilweise gibt es aber auch
-% einen vordefinierten Inhalt, der von anderen Variablen abh"angt.
-% \begin{macrocode}
-\newkomavar{signature}
-\setkomavar{signature}{\usekomavar{fromname}}
-\newkomavar{place}
-\newkomavar{location}
-\newkomavar{backaddress}
-\setkomavar{backaddress}{%
- \ifkomavarempty{fromname}{}{%
- \strut\ignorespaces\usekomavar{fromname}%
- \ifkomavarempty{fromaddress}{}{\\}}%
- \ifkomavarempty{fromaddress}{}{%
- \strut\ignorespaces\usekomavar{fromaddress}}%
- }
-\newkomavar{specialmail}
-\newkomavar{title}
-\newkomavar{fromlogo}
-% \end{macrocode}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-%
-% \begin{KOMAvar}{placeseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{subjectseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{ccseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{enclseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{backaddressseparator}
-% \changes{v2.8q}{2002/01/22}{Neu}
-% \begin{KOMAvar}{phoneseparator}
-% \changes{v2.8q}{2002/03/25}{Neu}
-% \begin{KOMAvar}{faxseparator}
-% \changes{v2.8q}{2002/03/25}{Neu}
-% \begin{KOMAvar}{emailseparator}
-% \changes{v2.8q}{2002/03/25}{Neu}
-% \begin{KOMAvar}{urlseparator}
-% \changes{v2.8q}{2002/03/25}{Neu}
-% Daneben gibt es einige Trennzeichen. Diese haben ggf. als
-% Ausgabenamen das Feld, f"ur das sie als Trennzeichen dienen. Die
-% Trennzeichen sind vordefiniert.
-% \begin{macrocode}
-\newkomavar[\usekomavar{place}]{placeseparator}
-\setkomavar{placeseparator}{,~}
-\newkomavar[\subjectname]{subjectseparator}
-\setkomavar{subjectseparator}{: }
-\newkomavar[\ccname]{ccseparator}
-\setkomavar{ccseparator}{: }
-\newkomavar[\enclname]{enclseparator}
-\setkomavar{enclseparator}{: }
-\newkomavar{backaddressseparator}
-\setkomavar{backaddressseparator}{,~}
-\newkomavar[\phonename]{phoneseparator}
-\setkomavar{phoneseparator}{:~}
-\newkomavar[\faxname]{faxseparator}
-\setkomavar{faxseparator}{:~}
-\newkomavar[\emailname]{emailseparator}
-\setkomavar{emailseparator}{:~}
-\newkomavar[\wwwname]{urlseparator}
-\setkomavar{urlseparator}{:~}
-% \end{macrocode}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-%
-% \begin{KOMAvar}{fromname}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{fromaddress}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{fromemail}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% \begin{KOMAvar}{fromurl}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% \begin{KOMAvar}{frombank}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% \begin{KOMAvar}{toname}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{toaddress}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{fromphone}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{fromfax}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% \begin{KOMAvar}{yourmail}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{yourref}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{myref}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{customer}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{invoice}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{subject}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% \begin{KOMAvar}{date}
-% \changes{v2.8q}{2002/01/16}{Neu}
-% Desweiteren gibt es einige Variable, die auch einen Ausgabenamen
-% haben, weil dieser "ublicherweise vorangestellt wird. Eine
-% Besonderheit stellt dabei \texttt{subject} dar. Der Ausgabename
-% beinhaltet dabei n"amlich auch die Trennzeichen, die hinter dem
-% Namen "ublicherweise stehen. Diese sind wiederum ein Variable, deren
-% Name der Ausgabename des Feldes ist. Will man also nur den Namen
-% aber nicht die Trennzeichen "andern, so "andert man statt dem Namen
-% von \texttt{subject} den Namen von \texttt{subjectseparator}.
-% "Ahnlich ist es mit \texttt{toaddress} und
-% \texttt{fromaddress}. Dort ist der Wert von \texttt{toname}
-% bzw. \texttt{fromname} der Ausgabename. Bei \texttt{toaddress} und
-% \texttt{fromaddress} wird davon jedoch intern kein Gebrauch
-% gemacht. Die Variable \texttt{date} wird bereits so vordefiniert,
-% dass auch weiterhin \cs{date} funktioniert.
-% \begin{macrocode}
-\newkomavar[\headfromname]{fromname}
-\newkomavar[\usekomavar{fromname}]{fromaddress}
-\newkomavar[\headtoname]{toname}
-\newkomavar[\usekomavar{toname}]{toaddress}
-\newkomavar[\usekomavar*{phoneseparator}%
- \usekomavar{phoneseparator}]{fromphone}
-\newkomavar[\usekomavar*{faxseparator}%
- \usekomavar{faxseparator}]{fromfax}
-\newkomavar[\usekomavar*{emailseparator}%
- \usekomavar{emailseparator}]{fromemail}
-\newkomavar[\usekomavar*{urlseparator}%
- \usekomavar{urlseparator}]{fromurl}
-\newkomavar[\bankname]{frombank}
-\newkomavar[\yourrefname]{yourref}
-\newkomavar[\yourmailname]{yourmail}
-\newkomavar[\myrefname]{myref}
-\newkomavar[\customername]{customer}
-\newkomavar[\invoicename]{invoice}
-\newkomavar[\usekomavar*{subjectseparator}%
- \usekomavar{subjectseparator}]{subject}
-\newkomavar[\datename]{date}
-\setkomavar{date}{\@date}
-% \end{macrocode}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-%
-% \begin{macro}{\firsthead}
-% \changes{v2.8q}{2002/01/28}{\cs{@alignfrom} auf 10000 gesetzt}
-% \begin{macro}{\firstfoot}
-% \begin{macro}{\nexthead}
-% \begin{macro}{\nextfoot}
-% Bei der Gelegenheit werden auch gleich die Befehle zum Setzen
-% der Felder f"ur die Kopf- und Fu"szeilen der ersten und aller
-% weiterer Seiten eines Briefes definiert.
-% \begin{macrocode}
-\newcommand{\firsthead}[1]{%
- \renewcommand*{\@alignfrom}{10000}%
- \renewcommand*{\@firsthead}{\noindent#1}%
- }
-\newcommand{\firstfoot}[1]{%
- \renewcommand*{\@firstfoot}{\noindent#1}%
- }
-\newcommand{\nexthead}[1]{%
- \renewcommand*{\@nexthead}{\noindent#1}%
- }
-\newcommand{\nextfoot}[1]{%
- \renewcommand*{\@nextfoot}{\noindent#1}%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-%
-% \subsection{Briefspezifische Schalter und Befehle f"ur Faltmarken,
-% Adressfeld und Titel}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-%
-% \begin{macro}{\foldmarkson}
-% \begin{macro}{\foldmarksoff}
-% Diese Befehle dienen nur der Kompatibilit"at mit der alten
-% \texttt{scrlettr.cls}.
-% \begin{macrocode}
-\newcommand*{\foldmarkson}{%
- \@ObsoleteCommand{\foldmarkson}{foldmarks=on}}
-\newcommand*{\foldmarksoff}{%
- \@ObsoleteCommand{\foldmarksoff}{foldmarks=off}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\addrfieldon}
-% \begin{macro}{\addrfieldoff}
-% Diese Befehle dienen nur der Kompatibilit"at mit der alten
-% \texttt{scrlettr.cls}.
-% \begin{macrocode}
-\newcommand*{\addrfieldon}{%
- \@ObsoleteCommand{\addrfieldon}{addrfield=on}}
-\newcommand*{\addrfieldoff}{%
- \@ObsoleteCommand{\addrfieldoff}{addrfield=off}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\subjecton}
-% \begin{macro}{\subjectoff}
-% Diese Befehle dienen nur der Kompatibilit"at mit der alten
-% \texttt{scrlettr.cls}.
-% \begin{macrocode}
-\newcommand*{\subjecton}{%
- \@ObsoleteCommand{\subjecton}{subject=titled}}
-\newcommand*{\subjectoff}{%
- \@ObsoleteCommand{\subjectoff}{subject=untitled}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\subjectafteron}
-% \begin{macro}{\subjectafteroff}
-% \changes{v2.4a}{1997/06/06}{Neue Befehle \cs{subjectafteron} und
-% \cs{subjectafteroff}.}
-% Diese Befehle dienen nur der Kompatibilit"at mit der alten
-% \texttt{scrlettr.cls}.
-% \begin{macrocode}
-\newcommand*{\subjectafteron}{%
- \@ObsoleteCommand{\subjectafteron}{subject=afteropening}}
-\newcommand*{\subjectafteroff}{%
- \@ObsoleteCommand{\subjectafteroff}{subject=beforeopening}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-%
-% \subsection{Briefspezifische L"angen}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-% Zu Berechnung der Feldpositionen werden verschiedene
-% Dimensions-Variablen ben"otigt. Um jedoch nicht unn"otig viele
-% L"angenregister zu verbrauchen, wird hier mit einer
-% Pseudo-L"angen-Arithmetik gearbeitet.
-%
-% \begin{macro}{\@newplength}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% \changes{v2.8q}{2001/10/06}{Kompatibilit"at zu \texttt{scrlettr.cls}
-% aufgegeben}
-% Dieses Makro definiert eine neue Pseude-L"ange und setzt sie auf den
-% Wert 0. Eine Pseudo-L"ange ist ein Makro, das eine L"ange enth"alt.
-% \begin{macrocode}
-\newcommand*{\@newplength}[1]{%
- \@ifundefined{ltr@len@#1}{%
- \expandafter\let\csname ltr@len@#1\endcsname=\z@%
- }{%
- \ClassError{scrlttr2}{%
- pseudo-length \expandafter\string\csname ltr@len@#1\endcsname
- already defined%
- }{%
- You tried to define a new pseudo-length using
- \string\@newplength\MessageBreak
- which is already defined. Try another name or
- better\MessageBreak
- Don't use this KOMA-Script internal macro}
- }
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\useplength}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Nat"urlich muss auf eine solche Pseudo-L"ange auch wieder lesend
-% zugeriffen werden k"onnen. Wir definieren dies hier so, dass es
-% au"serdem m"oglich ist, ein Vorzeichen zu verwenden. Ein Faktor ist
-% allerdings nicht m"oglich.
-% \begin{macrocode}
-\newcommand*{\useplength}[1]{%
- \expandafter\number\expandafter\csname ltr@len@#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setlengthtoplength}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Eine echte L"ange soll auf das Vielfache einer Pseudo-L"ange gesetzt
-% werden. Dabei wird der Faktor als optionaler Parameter "ubergeben.
-% Der erste obligatorische Parameter ist die L"ange, der zweite
-% obligatorische Parameter ist die Pseudo-L"ange.
-% \begin{macrocode}
-\newcommand*{\setlengthtoplength}[3][]{%
- \setlength{#2}{\useplength{#3}}%
- \setlength{#2}{#1#2}}
-% \end{macrocode}
-%
-% \begin{macro}{\@setplength}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Nat"urlich wird ebenfalls eine M"oglichkeit ben"otigt, einer
-% Pseudo-L"ange einen Wert zuzuweisen. Dies geschieht unter lokaler
-% Anwendung einer L"ange, damit sichergestellt ist, dass eine
-% L"angenangabe "ubergeben wird. Dabei wird das zuvor definierte Makro
-% \cs{setlengthtoplength} verwendet.
-% \begin{macrocode}
-\newcommand*{\@setplength}[3][]{%
- \begingroup%
- \setlength{\@tempskipa}{#3}%
- \setlength{\@tempskipa}{#1\@tempskipa}%
- \edef\@tempa{\noexpand\endgroup%
- \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*%
- \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempskipa}%
- }%
- \@tempa%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\addtolengthplength}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Wenn wir schon dabei sind, soll statt dem Setzen auch das Addieren
-% funktionieren. Hier ist die Erschwernis, dass der Faktor nur f"ur
-% die Pseudo-L"ange und nicht f"ur das Endergebnis gelten soll.
-% \begin{macrocode}
-\newcommand*{\addtolengthplength}[3][]{%
- \begingroup%
- \setlengthtoplength[{#1}]{\@tempskipa}{#3}%
- \edef\@tempa{\endgroup%
- \noexpand\addtolength{#2}{\the\@tempskipa}}%
- \@tempa%
- }
-% \end{macrocode}
-%
-% \begin{macro}{\@addtoplength}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Ebenso wird ein Makro ben"otigt, mit dem zu einer Pseudo-L"ange das
-% Vielfache eines Wertes addiert werden kann.
-% \begin{macrocode}
-\newcommand*{\@addtoplength}[3][]{%
- \begingroup%
- \setlength{\@tempskipa}{#3}%
- \setlength{\@tempskipa}{#1\@tempskipa}%
- \addtolengthplength{\@tempskipa}{#2}%
- \edef\@tempa{\noexpand\endgroup%
- \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*%
- \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempskipa}%
- }%
- \@tempa%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ltr@len@foldmarkhpos}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Abstand der Faltmarken von der linken Papierkante.
-% \begin{macrocode}
-\@newplength{foldmarkhpos}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@tfoldmarkvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% \begin{macro}{\ltr@len@bfoldmarkvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Abstand der oberen und unteren Faltmarken von der oberen Papierkante.
-% \begin{macrocode}
-\@newplength{tfoldmarkvpos}
-\@newplength{bfoldmarkvpos}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\ltr@len@toaddrvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Abstand des Adressfensters von der oberen Papierkante.
-% \begin{macrocode}
-\@newplength{toaddrvpos}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@backaddrheight}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% H"ohe der R"ucksendeadresse.
-% \begin{macrocode}
-\@newplength{backaddrheight}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@toaddrhpos}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Abstand des Adressfeldes von der linken Papierkante bzw. wenn
-% negativ von der rechten Papierkante.
-% \begin{macrocode}
-\@newplength{toaddrhpos}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@specialmailindent}
-% \changes{v2.8q}{2002/03/25}{Neu}
-% Abstand der Versandtart vom linken Rand des Adressfensters.
-% \begin{macrocode}
-\@newplength{specialmailindent}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@specialmailrightindent}
-% \changes{v2.8q}{2002/03/25}{Neu}
-% Abstand der Versandtart vom rechten Rand des Adressfensters.
-% \begin{macrocode}
-\@newplength{specialmailrightindent}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@toaddrindent}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Abstand der Adresse vom linken Rand des Adressfensters.
-% \begin{macrocode}
-\@newplength{toaddrindent}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@toaddrwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Breite des Adressfensters
-% \begin{macrocode}
-\@newplength{toaddrwidth}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@toaddrheight}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% H"ohe des Adressfensters ohne R"ucksendeadresse
-% \begin{macrocode}
-\@newplength{toaddrheight}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@locwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Breite des Feldes neben dem Adressfenster
-% \begin{macrocode}
-\@newplength{locwidth}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@refvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Abstand der Gesch"aftszeile von der Papieroberkante.
-% \begin{macrocode}
-\@newplength{refvpos}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@refwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Breite der Gesch"aftszeile.
-% \begin{macrocode}
-\@newplength{refwidth}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@refhpos}
-% \changes{v2.9l}{2003/01/28}{Neu}
-% Horizontale Position der Gesch"aftszeile.
-% \begin{macrocode}
-\@newplength{refhpos}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@refaftervskip}
-% \changes{v2.8q}{2001/10/09}{Neu}
-% Abstand nach der Gesch"aftszeile.
-% \begin{macrocode}
-\@newplength{refaftervskip}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@sigbeforevskip}
-% \changes{v2.8q}{2001/10/09}{Neu}
-% Raum f"ur die Unterschrift.
-% \begin{macrocode}
-\@newplength{sigbeforevskip}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@sigindent}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Horizontaler Einzug des Schlussgru"ses und der Signatur.
-% \begin{macrocode}
-\@newplength{sigindent}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@@firstfootvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Abstand des Fu"ses der ersten Seite von der Papieroberkante.
-% \begin{macrocode}
-\@newplength{firstfootvpos}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@firstfootwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Breite des Fu"ses der ersten Seite.
-% \begin{macrocode}
-\@newplength{firstfootwidth}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\set@ltr@len@firstheadvspos}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Abstand des Kopfes der ersten Seite von der Papoeroberkante.
-% \begin{macrocode}
-\@newplength{firstheadvpos}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@firstheadwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}
-% Breite des Kopfes der ersten Seite.
-% \begin{macrocode}
-\@newplength{firstheadwidth}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@fromrulewidth}
-% \changes{v2.8q}{2002/01/28}{Neu}
-% Die L"ange einer eventuell gesetzten Linie im Absender. Negative
-% Werte bedeuten, dass die L"ange automtaisch bestimmt wird.
-\@newplength{fromrulewidth}
-\@setplength{fromrulewidth}{0pt}
-% \end{macro}
-%
-% F"ur alle Positionen gibt es Standardwerte. Diese Stellen sind leider
-% extrem druckerabh"angig. Es ist daher "au"serst wichtig, da"s der
-% Druckertreiber richtig eingestellt wird. Dazu kann die Testseite aus
-% dem Standardpaket verwendet werden.
-%
-% Wichtig: Ab Version 2.8n sind alle vertikalen Abst"ande relativ zum
-% oberen Papierrand. Au"serdem gibt es zwei Varianten, eine
-% ausgewogene und eine, bei der mehr Platz f"ur den Brieftext der
-% ersten Seite bleibt.
-%
-% \begin{macro}{\LoadLetterOption}
-% \changes{v2.8q}{2001/10/08}{Neu}
-% Bei der neuen Briefklasse existiert eine Anweisung, mit der eine
-% \emph{\textbf{l}etter-\texttt{c}lass-\texttt{o}ption}-Datei geladen
-% werden kann. Das Laden wird mit entsprechender Information in der
-% \texttt{log}-Datei vermerkt. Damit in der Datei interne Makros
-% verwendet werden k"onnen, mu"s der catcode von "`@"' entsprechend
-% gesetzt sein. Damit der Befehl sowohl in der Pr"aambel als auch in
-% weiteren Optionen-Dateien oder in der Klasse selbst verwendet werden
-% kann, muss der catcode am Ende wieder restauriert werden. Dabei muss
-% etwas trickreich gearbeitet werden, damit tats"achlich eine
-% Schachtelung m"oglich ist. So erfolgt die Umschaltung des catcodes
-% immer nur beim ersten Aufruf innerhalb einer Schachtel.
-% \begin{macrocode}
-\newcommand*{\LoadLetterOption}[1]{%
- \@ifundefined{@restore@catcode@level}
- {\let\@restore@catcode@level=\z@}{}
- \ifnum\@restore@catcode@level =\z@
- \ifnum\catcode`\@=11
- \let\@restore@catcode\relax
- \else
- \@tempcnta=\catcode`\@
- \edef\@restore@catcode{%
- \noexpand\catcode`\noexpand\@=\the\@tempcnta}%
- \makeatletter
- \fi
- \fi
- \@tempcnta=\@restore@catcode@level\relax
- \advance\@tempcnta by \@ne\relax
- \edef\@restore@catcode@level{\the\@tempcnta}
- \InputIfFileExists{#1.lco}{%
- \ClassInfo{%
- scrlttr2%
- }{Letter-Class-Option `#1' loaded}
- }{%
- \ClassError{%
- scrlttr2%
- }{%
- Letter-Class-Option file `#1.lco' not found%
- }{%
- You've told me to load the Letter-Class-Option `#1'. So I have
- to load\MessageBreak
- the file `#1.lco'. But the file isn't available.}
- }
- \@tempcnta=\@restore@catcode@level\relax
- \advance\@tempcnta by \m@ne\relax
- \edef\@restore@catcode@level{\the\@tempcnta}
- \ifnum\@tempcnta =\z@
- \@restore@catcode
- \fi
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\LetterOptionNeedsPapersize}
-% \changes{v2.8q}{2001/10/17}{Neu}
-% Es besteht die M"oglichkeit, in \texttt{lco}-Dateien eine bestimmte
-% Papiergr"o"se zu fordern. Dazu wird der Name der \texttt{lco}-Datei
-% und die geforderte Papiergr"ose als Parameter "ubergeben. Stimmt die
-% Papiergr"o"se nicht "uberein, so wird bei \cs{opening} eine Warnung
-% ausgegeben.
-% \begin{macro}{\@PapersizeWarning}
-% \changes{v2.8q}{2002/03/25}{Neu (intern)}
-% \begin{macro}{\@@PapersizeWarning}
-% \changes{v2.8q}{2002/03/25}{Neu (intern)}
-% \begin{macro}{\LOPNP@size}
-% \changes{v2.8q}{2002/03/25}{Neu (intern)}
-% \begin{macro}{\LOPNP@option}
-% \changes{v2.8q}{2002/03/25}{Neu (intern)}
-% Zur einfacheren Realisierung wird mit vier internen Hilfsmakros
-% gearbeitet.
-% \begin{macrocode}
-\newcommand*{\LOPNP@option}{}
-\newcommand*{\LOPNP@size}{}
-\newcommand*{\@PapersizeWarning}{
- \begingroup%
- \edef\@tempc{\noexpand\@tempswatrue
- \noexpand\ifdim\paperwidth=\the\paperwidth\noexpand\else
- \noexpand\@tempswafalse\noexpand\fi
- \noexpand\ifdim\paperheight=\the\paperheight\noexpand\else
- \noexpand\@tempswafalse\noexpand\fi
- \noexpand\@@PapersizeWarning
- }
- \def\@tempb{letter}\ifx\LOPNP@size\@tempb%
- \setlength{\paperheight}{11in}\setlength{\paperwidth}{8.5in}%
- \else\def\@tempb{legal}\ifx\LOPNP@size\@tempb%
- \setlength{\paperheight}{14in}\setlength{\paperwidth}{8.5in}%
- \else\def\@tempb{executive}\ifx\LOPNP@size\@tempb%
- \setlength{\paperheight}{10.5in}\setlength{\paperwidth}{7.25in}%
- \else%
- \def\ta@opt@err{%
- \ClassError{%
- scrlttr2%
- }{papersize `\LOPNP@size' undefined}{%
- You've told me to check for paper size
- `\LOPNP@size'\MessageBreak
- at letter option file `\LOPNP@option.lco',\MessageBreak
- but this paper size is not supported.\MessageBreak
- See the KOMA-Script manual for informations about known
- paper sizes.}%
- }
- \let\@headlines\ta@opt@err%
- \expandafter\x@@paper\LOPNP@size paperpaper\x@@paper%
- \fi\fi\fi
- \@tempc
- \endgroup%
-}
-\newcommand*{\@@PapersizeWarning}{%
- \if@tempswa\else%
- \ClassWarningNoLine{%
- scrlttr2%
- }{%
- Letter option file `\LOPNP@option.lco'\MessageBreak
- needs paper size `\LOPNP@size'.\MessageBreak
- Current paper size is not `\LOPNP@size'!\MessageBreak
- You should add `paper=\LOPNP@size' at the\MessageBreak
- option list of \string\documentclass!\MessageBreak
- Maybe you know what you are doing,\MessageBreak
- so I do not change this myself}
- \fi
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\newcommand*{\LetterOptionNeedsPapersize}[2]{%
- \edef\LOPNP@size{#2}\edef\LOPNP@option{#1}%
- }
-% \end{macrocode}
-% \end{macro}
-%
-% Als Voreinstellung wird schoneinmal die Datei \texttt{DIN.lco}
-% geladen.
-% \begin{macrocode}
-\LoadLetterOption{DIN}
-% \end{macrocode}
-%
-% Der Inhalt dieser Dateien folgt. Es handelt sich im Wesentlichen um
-% das Setzen der Pseudo-L"angen. In einigen F"allen werden aber auch
-% zus"atzlich Befehle (um)definiert.
-% \begin{macrocode}
-%</scrlettr>
-%</class>
-%<*lco>
-% \end{macrocode}
-%
-% Die Maße f"ur einige Optionen wurden nicht von mir selbst
-% recherchiert:
-% \begin{center}
-% \begin{tabular}{ll}
-% \texttt{lco}-Datei & Recherchiert von \\\hline\\[-1.6ex]
-% DIN & mir \\
-% DINmtext & mir \\
-% KOMAold & mir \\
-% SNleft & Roger Luethi \\
-% SN & Roger Luethi \\
-% \end{tabular}{ll}
-% \end{center}
-%
-% Zun"achst wird gepr"uft, ob "uberhaupt die richtige Klasse geladen
-% ist.
-% \begin{macrocode}
-\@ifundefined{scr@fromname@var}{%
- \GenericWarning{(%
-%<DIN> DIN%
-%<DINmoretext> DINmtext%
-%<SN> SN%
-%<SNold> SNold%
-%<SwissLeft> SNleft%
-%<KOMAold> KOMAold%
- .lco)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces}{%
- Letter-class-option
-%<DIN> DIN
-%<DINmoretext> DINmtext
-%<SN> SN
-%<SNold> SNold
-%<SwissLeft> SNleft
-%<KOMAold> KOMAold
- Warning:\space
- This letter class option file was made only\MessageBreak
- to be used with KOMA-Script letter class\MessageBreak
- `scrlttr2'. Use with other classes may result\MessageBreak
- in a lot of errors\@gobble
- }
-}{}
-% \end{macrocode}
-%
-% Dann wird gepr"uft, ob das richtige Papierformat vorhanden ist.
-% \begin{macrocode}
-%<*DIN|DINmoretext|SN|SNold|SwissLeft|KOMAold>
-\LetterOptionNeedsPapersize{%
-%<DIN> DIN%
-%<DINmoretext> DINmtext%
-%<SN> SN%
-%<SNold> SNold%
-%<SwissLeft> SNleft%
-%<KOMAold> KOMAold%
- }
- {a4}
-%</DIN|DINmoretext|SN|SNold|SwissLeft|KOMAold>
-% \end{macrocode}
-%
-% Dann werden die Werte gesetzt.
-% \begin{macrocode}
-\@setplength{foldmarkhpos}{3.5mm}
-%<DIN|SwissLeft|SN>\@setplength{tfoldmarkvpos}{105mm}
-%<DINmoretext>\@setplength{tfoldmarkvpos}{87mm}
-%<KOMAold>\@setplength{tfoldmarkvpos}{103.5mm}
-%<DIN|SwissLeft|SN>\@setplength{bfoldmarkvpos}{210mm}
-%<DINmoretext>\@setplength{bfoldmarkvpos}{192mm}
-%<KOMAold>\@setplength{bfoldmarkvpos}{202.5mm}
-%<DIN|SN>\@setplength{toaddrvpos}{45mm}
-%<DINmoretext>\@setplength{toaddrvpos}{27mm}
-%<SwissLeft>\@setplength{toaddrvpos}{35.5mm}
-%<KOMAold>\@setplength{toaddrvpos}{49mm}
-%<DIN|SN>\@setplength{refvpos}{98.5mm}
-%<DINmoretext>\@setplength{refvpos}{80.5mm}
-%<SwissLeft>\@setplength{refvpos}{89mm}
-%<KOMAold>\@setplength{refvpos}{89.5mm}
-%<!KOMAold>\@setplength{refaftervskip}{\baselineskip}
-%<KOMAold>\@setplength[2]{refaftervskip}{\baselineskip}
-%<DIN|DINmoretext|SwissLeft>\@setplength{toaddrhpos}{20mm}
-%<SN>\@setplength{toaddrhpos}{-8mm}
-%<KOMAold>\@setplength{toaddrhpos}{1in}
-%<KOMAold>\@addtoplength{toaddrhpos}{\oddsidemargin}
-%<DIN|DINmoretext>\@setplength{toaddrwidth}{85mm}
-%<SN>\@setplength{toaddrwidth}{90mm}
-%<SwissLeft>\@setplength{toaddrwidth}{100mm}
-%<KOMAold>\@setplength{toaddrwidth}{70mm}
-%<DIN|DINmoretext|SN|SwissLeft|KOMAold>\@setplength{toaddrheight}{40mm}
-\@setplength{toaddrindent}{\z@}
-\@setplength{specialmailindent}{\fill}
-\@setplength{specialmailrightindent}{1em}
-\@setplength{locwidth}{\z@}
-%<DIN|DINmoretext|SN|SwissLeft|KOMAold>\@setplength{backaddrheight}{5mm}
-%<DIN|DINmoretext|SN|SwissLeft>\@setplength{firstheadvpos}{8mm}
-%<KOMAold>\@setplength{firstheadvpos}{6mm}
-%<KOMAold>\@setplength{firstheadwidth}{\textwidth}
-%<*!KOMAold>
-\@setplength{firstheadwidth}{\paperwidth}
-\ifdim \useplength{toaddrhpos}>\z@
- \@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}}
-\else
- \@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}}
-\fi
-%</!KOMAold>
-\@setplength{firstfootwidth}{\useplength{firstheadwidth}}
-%<KOMAold>\@setplength{firstfootvpos}{\paperheight}
-%<KOMAold>\@addtoplength{firstfootvpos}{-2cm}
-%<!KOMAold>\@setplength{firstfootvpos}{1in}
-%<!KOMAold>\@addtoplength{firstfootvpos}{\topmargin}
-%<!KOMAold>\@addtoplength{firstfootvpos}{\headheight}
-%<!KOMAold>\@addtoplength{firstfootvpos}{\headsep}
-%<!KOMAold>\@addtoplength{firstfootvpos}{\textheight}
-%<!KOMAold>\@addtoplength{firstfootvpos}{\footskip}
-% \end{macrocode}
-% Bei der Breite der Gesch"aftszeile brauchen wir wieder eine
-% Sonderl"osung, damit die Option "`wide"' auch sp"ater noch gesetzt
-% werden kann. Also verwenden wir hier den Wert 0 als mit der
-% Bedeutung "`ist bei \cs{opening} zu berechnen.
-% \begin{macrocode}
-\@setplength{refwidth}{0pt}
-\@setplength{sigindent}{0mm}
-\@setplength{sigbeforevskip}{2\baselineskip}
-%<!KOMAold>\let\raggedsignature=\centering
-%<KOMAold>\let\raggedsignature=\raggedright
-%<*DINmoretext>
-\renewcommand*{\@firsthead}{\noindent
- \parbox[b]{\useplength{firstheadwidth}}{\centering%
- \usekomafont{fromaddress}{%
- \ifkomavarempty{fromname}{}{%
- \usekomafont{fromname}%
- {\ignorespaces\usekomavar{fromname}\\[-8pt]
- \rule{\useplength{firstheadwidth}}{.4pt}\\
- }%
- }%
- \ifkomavarempty{fromaddress}{}{%
- \def\\{,\ \@ogobble}
- \ignorespaces\usekomavar{fromaddress}%
- }%
- }%
- }%
- }
-%</DINmoretext>
-% \end{macrocode}
-%
-% Au"serdem gibt es noch die Kompatibilit"atseinstellungen, die
-% ebenfalls von \texttt{KOMAold} aktiviert werden.
-% \begin{macrocode}
-%<*KOMAold>
-\def\yourref{\setkomavar{yourref}}
-\def\yourmail{\setkomavar{yourmail}}
-\def\myref{\setkomavar{myref}}
-\def\customer{\setkomavar{customer}}
-\def\invoice{\setkomavar{invoice}}
-\@ifundefined{scr@refitemi@var}{\newkomavar{refitemi}}{}
-\def\refitemi{\setkomavar{refitemi}}
-\def\refitemnamei{\setkomavar*{refitemi}}
-\@ifundefined{scr@refitemii@var}{\newkomavar{refitemii}}{}
-\def\refitemii{\setkomavar{refitemii}}
-\def\refitemnameii{\setkomavar*{refitemii}}
-\@ifundefined{scr@refitemiii@var}{\newkomavar{refitemiii}}{}
-\def\refitemiii{\setkomavar{refitemiii}}
-\def\refitemnameiii{\setkomavar*{refitemiii}}
-\l@addto@macro{\defaultreffields}{%
- \addtoreffields{refitemi}%
- \addtoreffields{refitemii}%
- \addtoreffields{refitemiii}%
- }
-\addtoreffields{refitemi}%
-\addtoreffields{refitemii}%
-\addtoreffields{refitemiii}%
-\def\toname{\usekomavar{toname}}
-\def\toaddress{\usekomavar{toaddress}}
-\@ifundefined{scr@branch@var}{\newkomavar{branch}}{}
-\def\branch{\setkomavar{branch}}
-\def\frombranch{\usekomavar{branch}}
-\def\signature{\setkomavar{signature}}
-\def\fromsig{\usekomavar{signature}}
-\def\name{\setkomavar{fromname}}
-\def\fromname{\usekomavar{fromname}}
-\def\address{\setkomavar{fromaddress}}
-\def\fromaddress{\usekomavar{fromaddress}}
-\def\location{\setkomavar{location}}
-\def\fromlocation{\usekomavar{location}}
-\def\backaddress{\setkomavar{backaddress}}
-\def\@tempa{%
- \ifkomavarempty{fromname}{}{%
- \strut\ignorespaces\usekomavar{fromname}%
- \ifkomavarempty{fromaddress}{}{\\}}%
- \ifkomavarempty{fromaddress}{}{%
- \strut\ignorespaces\usekomavar{fromaddress}}%
- }
-\ifx\@tempa\scr@backaddress@var%
- \setkomavar{backaddress}{}
-\fi
-\def\frombackaddress{\usekomavar{backaddress}}
-\def\telephone{\setkomavar{fromphone}}
-\def\telephonenum{\usekomavar{fromphone}}
-\def\specialmail{\setkomavar{specialmail}}
-\def\@specialmail{\usekomavar{specialmail}}
-\def\title{\setkomavar{title}}
-\def\@title{\usekomavar{title}}
-\def\subject{\setkomavar{subject}}
-\def\@subject{\usekomavar{subject}}
-\def\place{\setkomavar{place}}
-\def\fromplace{\usekomavar{place}}
-\let\ccnameseparator=\scr@ccseparator@var
-\setkomavar{ccseparator}{\ccnameseparator}
-\let\enclnameseparator=\scr@enclseparator@var
-\setkomavar{enclseparator}{\enclnameseparator}
-\setkomafont{fromname}{\scshape}
-%</KOMAold>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</lco>
-%<*class>
-% \end{macrocode}
-%
-%
-% \subsection{Serienbriefe und Adressdateien}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-% \begin{macro}{\adrentry}
-% \changes{v2.8q}{2002/05/19}{\cs{adrentry} verwendet das neue
-% \cs{addrentry}}
-% \begin{macro}{\adrchar}
-% \changes{v2.8q}{2002/05/19}{\cs{adrchar} verwendet das neue
-% \cs{addrchar}}
-% Serienbriefe werden mit Hilfe der Funktionen |\adrentry| und
-% |\adrchar| und einer Adressdatei realisiert. Dar"uber hinaus
-% werden mit diesen Befehlen Abk"urzungen f"ur Adressen definiert.
-% Durch die Definition mit Hilfe von \cs{addrentry} bzw. \cs{addrchar}
-% m"ussen vom Anwender f"ur neue Anwendungen nur die neuen Befehle
-% umdefiniert werden.
-% \begin{macrocode}
-\newcommand*{\adrentry}[7]{%
- \addrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{}}
-\newcommand*{\adrchar}{\addrchar}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\addrentry}
-% \changes{v2.8n}{2001/09/06}{Neu}
-% \begin{macro}{\addrchar}
-% \changes{v2.8n}{2001/09/06}{Neu}
-% Diese Makros erm"oglichen ab Version 2.8n die Verwendung von bis zu
-% 9 Argumenten.
-% \begin{macrocode}
-\newcommand*{\addrentry}[9]{\def\@tempa{#1}\ifx \@tempa\@empty \else
- \def\@tempa{#2}\ifx \@tempa\@empty
- \expandafter\def\csname #9\endcsname{#1\\#3}
- \else
- \expandafter\def\csname #9\endcsname{#2 #1\\#3}
- \fi \fi}
-\newcommand*{\addrchar}[1]{}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-%
-% \subsection{Befehle in der Briefumgebung}
-%
-% \begin{macrocode}
-%<*scrlettr>
-% \end{macrocode}
-%
-% \begin{macro}{\stopbreaks}
-% \begin{macro}{\startbreaks}
-% \begin{macro}{\@nobreakvspace}
-% \begin{macro}{\@nobreakvspacex}
-% \begin{macro}{\@nobreakcr}
-% Innerhalb von Briefen wird der Umbruch etwas anders gehandhabt.
-% Dadurch soll der Brieftext besser positioniert werden.
-% \begin{macrocode}
-\newcommand*{\stopbreaks}{\interlinepenalty \@M
- \def\par{\@@par\nobreak}\let\\=\@nobreakcr
- \let\vspace\@nobreakvspace}
-\newcommand*{\@nobreakvspace}{%
- \@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
-\newcommand*{\@nobreakvspacex}[1]{\ifvmode\nobreak\vskip #1\relax\else
- \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
-\newcommand*{\@nobreakcr}{%
- \vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}}
-\newcommand*{\startbreaks}{\let\\=\@normalcr
- \interlinepenalty 200\def\par{\@@par\penalty 200}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\move@topt}
-% \changes{v2.8n}{2001/09/07}{Neu}
-% F"ur die folgenden Aktionen wird ein Makro ben"otigt, mit dem man
-% vertikal von der relativen Seitenposition zur relativen
-% Papierposition gelangen kann.
-% \begin{macrocode}
-\newcommand*{\move@topt}{%
- \null\vskip -1in\vskip -\topmargin%
- \vskip -\headheight\vskip -\headsep%
- \vskip -\topskip%
- \ignorespaces%
- }
-% \end{macrocode}
-% \begin{macro}{\move@frompt}
-% \changes{v2.8n}{2001/09/07}{Neu}
-% Nat"urlich wird auch ein Makro ben"otigt, um vertikal von einer
-% relativen Papierposition wieder auf die relative Seitenposition
-% zur"uck zu gelangen.
-% \begin{macrocode}
-\newcommand*{\move@frompt}{%
- \vskip 1in\vskip \topmargin%
- \vskip \headheight\vskip \headsep%
- \vskip \topskip%
- \vskip -\baselineskip%
- \ignorespaces%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\move@topl}
-% \changes{v2.8n}{2001/09/07}{Neu}
-% F"ur die folgenden Aktionen wird au"serdem ein Makro ben"otigt, mit
-% dem man horizontal von der relativen Seitenposition zur relativen
-% Papierposition gelangen kann.
-% \begin{macrocode}
-\newcommand*{\move@topl}{%
- \null\hskip -1in%
- \ifodd\value{page}\hskip -\oddsidemargin\else\hskip -\evensidemargin\fi
- \ignorespaces%
- }
-% \end{macrocode}
-% \begin{macro}{\move@frompl}
-% \changes{v2.8n}{2001/09/07}{Neu}
-% Nat"urlich wird auch ein Makro ben"otigt, um horizontal von einer
-% relativen Papierposition wieder auf die relative Seitenposition
-% zur"uck zu gelangen.
-% \begin{macrocode}
-\newcommand*{\move@frompl}{%
- \hskip 1in%
- \ifodd\value{page}\hskip \oddsidemargin\else\hskip \evensidemargin\fi%
- \ignorespaces%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\vb@t@z}
-% \changes{v2.8n}{2001/09/07}{Neu}
-% Ausserdem wird ein vertikales "Aquivalent zu |\rlap| ben"otigt.
-% \begin{macrocode}
-\newcommand*{\vb@t@z}[1]{{%
- \setbox0\vbox to\z@{#1\vss}%
- \setlength{\parskip}{\z@}\setlength{\baselineskip}{\z@}%
- \setlength{\parfillskip}{\z@ \@plus 1fil}%
- \setlength{\@tempdima}{\ht0}\addtolength{\@tempdima}{\dp0}%
- \box0\vskip-\@tempdima%
- }}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@foldmarks}
-% F"ur die Faltmarken m"ussen nicht nur Abst"ande definiert werden, es
-% wird auch ein Befehl ben"otigt, um die Faltmarken zu setzen.
-% \begin{macro}{\@foldmark}
-% \changes{v2.8n}{2001/09/07}{Neu}
-% Das geht am einfachsten, wenn wir auch einen Befehl haben, mit dem
-% man eine einzelne Faltmarke relativ zur aktuellen Position setzen
-% kann. Dies geschieht mit Hilfe von |\rlap|, damit die horizontale
-% Position unver"andert bleibt. Als Parameter werden der vertikale
-% Abstand zur aktuellen Position und die L"ander der Marke
-% "ubergeben.
-% \begin{macrocode}
-\newcommand*{\@foldmark}[2]{%
- \vskip #1%
- \vb@t@z{\rlap{\move@topl\hskip\useplength{foldmarkhpos}%
- \rule{#2}{.2pt}}}%
- \vskip -#1\ignorespaces%
-}
-\newcommand*{\@foldmarks}{%
- \if@fold%
- \typeout{Foldmarks: yes}%
- \move@topt
- \@foldmark{\useplength{tfoldmarkvpos}}{2mm}
- \@foldmark{.5\paperheight}{4mm}
- \@foldmark{\useplength{bfoldmarkvpos}}{2mm}
- \move@frompt
- \else
- \typeout{Foldmarks: no}%
- \fi%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\@savevbox}
-% \changes{v2.8n}{2001/09/07}{Neu}
-% \changes{v2.8q}{2001/10/30}{zus"atzlich ein optionales Argument}
-% \begin{macro}{\if@savevbox@warning}
-% \begin{macro}{\@savevbox@warningtrue}
-% \begin{macro}{\@savevbox@warningfalse}
-% \changes{v2.8q}{2001/10/30}{Neu}
-% Wenn eine der vertikalen Boxen in \cs{opening} zu einer
-% \texttt{overbox \string\vbox\space} Meldung f"uhrt, weiss letztlich
-% niemand, welche Box daf"ur verantwortlich war. Deshalb definieren
-% wir hier ein Makro, das ggf. eine Meldung ausgibt, die erkl"art,
-% welches Element die Ursache war und was man tun kann. Das erste
-% Argument ist dabei die Sollh"ohe der Box, das zweite Argument ist
-% der Boxinhalt, das dritte Argument is der Name des Elements, das zu
-% hoch ist, das vierte der Name der Elementh"ohe und das f"unfte
-% schlie"slich der Befehl, mit dem das Element vom Anwender definiert
-% werden kann. Das optionale Argument wird nur bei der Ausgabe mit
-% ausgegeben, findet jedoch bei der Berechnung keine
-% Ber"ucksichtigung.
-% \begin{macrocode}
-\newif\if@savevbox@warning\@savevbox@warningtrue
-\newcommand{\@savevbox}[6][]{%
- \begingroup%
- \vbox to #2{#1#3}%
- \if@savevbox@warning\@savevbox@warningfalse%
- \setbox0\vbox{#3}%
- \setlength{\@tempdima}{#2}%
- \setlength{\@tempdimb}{\ht0}\addtolength{\@tempdimb}{\dp0}%
- \ifdim \@tempdimb>\@tempdima%
- \addtolength{\@tempdimb}{-\@tempdima}%
- \ClassWarning{%
- scrlttr2%
- }{%
- #4 is \the\@tempdimb\space too high.\MessageBreak
- You have to change `\string#5'\MessageBreak
- or you have to define a smaller\MessageBreak
- #4 using \string#6.\MessageBreak
- Because of this too high #4\MessageBreak
- you've got an overfull \string\vbox\space message%
- }%
- \fi%
- \fi%
- \endgroup%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\@firstheadfootfield}
-% \changes{v2.8n}{2001/09/08}{Neu}
-% \changes{v2.8q}{2001/10/30}{\cs{parfillskip} lokal auf 0 gesetzt}
-% \changes{v2.8q}{2001/10/30}{Fu"s explizit in eine Box gesetzt}
-% \changes{v2.9l}{2003/01/23}{Positionierung verbessert}
-% Ab Version 2.8n werden Kopf und Fu"s der ersten Seite nicht mehr per
-% Seitenstil \texttt{firstpage} gesetzt, sondern mit einem speziellen
-% Feld. Dabei wird auch beachtet, dass dieses Feld im Kopf eine
-% bestimmte aber beschr"ankte H"ohe hat. Diese H"ohe ist unabh"angig
-% von der normalen Kopfh"ohe und richtet sich stattdessen nach der
-% Position des Adressfeldes.
-% \begin{macrocode}
-\newcommand*{\@firstheadfootfield}{%
- \typeout{Head of first page}%
- \move@topt\vskip\useplength{firstheadvpos}%
- \vb@t@z{%
- \rlap{\move@topl
- \setlength\@tempskipa{.5\paperwidth}%
- \addtolengthplength[-.5]{\@tempskipa}{firstheadwidth}%
- \hskip\@tempskipa
- \vbox{\hsize\useplength{firstheadwidth}%
- \setlength{\@tempskipa}{\useplength{toaddrvpos}}%
- \addtolengthplength[-1]{\@tempskipa}{firstheadvpos}%
- \addtolength{\@tempskipa}{-\baselineskip}%
-% \end{macrocode}
-% Da sich einige -- beispielsweise |briefkopf.sty| -- darauf
-% verlassen, dass |\textwidth| die Breite des Briefkopfes ist, wird
-% diese L"ange lokal entsprechend gesetzt. Au"serdem wird daf"ur
-% gesorgt, dass |\parfillskip| hier nicht ber"ucksichtigt wird.
-% \begin{macrocode}
- \setlength{\textwidth}{\useplength{firstheadwidth}}%
- \setlength{\parfillskip}{\z@ \@plus 1fil}%
- \@savevbox{\@tempskipa}{\@firsthead\vskip \z@ \@plus .00001fil}%
- {head of first page}{firstheadvpos}{\firsthead}%
- }%
- }%
- }%
- \vskip-\useplength{firstheadvpos}\move@frompt
- \typeout{Foot of first page}%
- \move@topt
- \vb@t@z{%
- \rlap{\move@topl
- \setlength\@tempskipa{.5\paperwidth}%
- \addtolengthplength[-.5]{\@tempskipa}{firstfootwidth}%
- \hskip\@tempskipa%
- \vbox{\hsize\useplength{firstfootwidth}%
- \vskip\useplength{firstfootvpos}%
-% \end{macrocode}
-% Da sich einige -- beispielsweise |briefkopf.sty| -- darauf
-% verlassen, dass |\textwidth| die Breite des Brieffu"ses ist, wird
-% diese L"ange lokal entsprechend gesetzt. Au"serdem wird daf"ur
-% gesorgt, dass |\parfillskip| hier nicht ber"ucksichtigt wird.
-% \begin{macrocode}
- \setlength{\textwidth}{\useplength{firstfootwidth}}%
- \setlength{\parfillskip}{\z@ \@plus 1fil}%
- \vbox{\hsize\useplength{firstfootwidth}\@firstfoot}%
- }%
- }%
- }%
- \move@frompt%
- {%
- \setlength{\@tempdima}{1in}\addtolength{\@tempdima}{\topmargin}%
- \addtolength{\@tempdima}{\headheight}%
- \addtolength{\@tempdima}{\headsep}%
- \addtolength{\@tempdima}{\textheight}%
- \addtolength{\@tempdima}{\footskip}%
- \addtolengthplength[-1]{\@tempdima}{firstfootvpos}%
- \ifdim\@tempdima>\z@\enlargethispage{-\@tempdima}%
- \else\if@enlargefp\enlargethispage{-\@tempdima}\fi\fi
- }%
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\@addrfield}
-% \changes{v2.8q}{2002/04/01}{\cs{parfillskip} lokal ge"andert}
-% \changes{v2.8q}{2002/06/03}{Sonderbehandlung f"ur Adressfeld
-% rechts}
-% \changes{v2.9o}{2003/02/20}{\cs{noindent} eingef"ugt bei
-% \texttt{specialmail}}
-% Dasselbe gilt auch f"ur das Adressfeld f"ur Fensterumschl"age. Die
-% R"ucksendeadresse und die Briefart wird dabei unterstrichen.
-% \begin{macrocode}
-\newcommand*{\@addrfield}{%
- \if@afield
- \begingroup%
- \if@baddr
- \ifkomavarempty{backaddress}{%
- \let\@tempa\@empty\let\@tempb\@empty
- }{%
- \def\@tempa{backaddress}\def\@tempb{,\space}%
- }%
- \else
- \let\@tempa\@empty\let\@tempb\@empty
- \fi
- \ifkomavarempty{specialmail}{}{%
- \edef\@tempa{\@tempa\@tempb specialmail}\def\@tempb{,\space}%
- }%
- \typeout{Address (\@tempa\@tempb addressee)}%
- \endgroup%
- \move@topt\vskip\useplength{toaddrvpos}%
- \vb@t@z{{\setlength{\parfillskip}{\z@ \@plus 1fil}%
- \rlap{\move@topl
- \setlengthtoplength{\@tempskipa}{toaddrhpos}%
- \ifdim \@tempskipa<\z@
- \addtolength{\@tempskipa}{\paperwidth}%
- \addtolengthplength[-]{\@tempskipa}{toaddrwidth}%
- \fi
- \hskip\@tempskipa
- \@addtoplength{toaddrheight}{\useplength{backaddrheight}}%
- \@savevbox{\useplength{toaddrheight}}{\hsize\useplength{toaddrwidth}%
- \@savevbox[\vss]{\useplength{backaddrheight}}{%
- \hsize\useplength{toaddrwidth}%
- \if@baddr
- \ifkomavarempty{backaddress}{}{{%
- \noindent%
- \def\\{\usekomavar{backaddressseparator}\@ogobble}%
- \underline{\scriptsize\usekomafont{backaddress}%
- \usekomavar{backaddress}}}}%
- \fi
- }{backaddress}{backaddrheight}{\setkomavar}%
- \ifkomavarempty{specialmail}{}{%
- \vbox{\hsize\useplength{toaddrwidth}%
- \noindent\hspace*{\useplength{specialmailindent}}%
- \underline{\usekomavar{specialmail}}%
- \hspace*{\useplength{specialmailrightindent}}}%
- }%
- \vfil%
- \noindent\hskip\useplength{toaddrindent}%
- \setlength{\@tempdima}{\useplength{toaddrwidth}}%
- \addtolengthplength[-2]{\@tempdima}{toaddrindent}%
- \vbox{\hsize\@tempdima%
- \noindent\usekomavar{toname}\\\usekomavar{toaddress}}%
- \vfil\null}%
- {address field}{toaddrheight}
- {\begin{letter} or you\MessageBreak
- have to define a smaller special purpose using\MessageBreak
- \string\specialmail}
- }}}%
- \vskip-\useplength{toaddrvpos}\move@frompt
- \else
- \typeout{Address: No}%
- \fi
- }
-% \end{macrocode}
-% \begin{macro}{\@ogobble}
-% \changes{v2.8q}{2002/01/22}{Neu}
-% In obiger Definition wird das Makro \cs{@ogobble} verwendet, um
-% einen optionalen Parameter zu vernichten, falls dieser existiert.
-% \begin{macrocode}
-\newcommand*{\@ogobble}[1][]{}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@locfield}
-% \changes{v2.8o}{2001/09/17}{\cs{noindent} eingef"ugt}
-% \changes{v2.8q}{2002/02/07}{\cs{noindent} nach dem Logo}
-% \changes{v2.8q}{2002/07/23}{Berechnung der Breite hierher
-% verschoben}
-% \changes{v2.8q}{2002/06/03}{Sonderbehandlung f"ur Adressfeld
-% rechts}
-% Das "`locfield"' wird unabh"angig von der Adresse gesetzt.
-% \begin{macrocode}
-\newcommand*{\@locfield}{%
- \ifdim \useplength{locwidth}=\z@%
- \@setplength{locwidth}{\paperwidth}%
- \ifdim \useplength{toaddrhpos}>\z@
- \@addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}%
- \else
- \@addtoplength[2]{locwidth}{\useplength{toaddrhpos}}%
- \fi
- \@addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}%
- \if@bigloc%
- \@setplength[.66667]{locwidth}{\useplength{locwidth}}%
- \else%
- \@setplength[.5]{locwidth}{\useplength{locwidth}}%
- \fi%
- \fi%
- \ifnum 1=\@alignfrom
- \if@logo
- \ifkomavarempty{location}{%
- \setkomavar{location}{\null}}{}%
- \fi
- \fi
- \ifkomavarempty{location}{%
- \typeout{Location field: empty}%
- }{%
- \typeout{Location field: yes}%
- \move@topt\vskip\useplength{toaddrvpos}%
- \vb@t@z{\rlap{%
- \move@topl
- \setlengthtoplength[-]{\@tempskipa}{toaddrhpos}%
- \ifdim \@tempskipa<\z@
- \addtolength{\@tempskipa}{\paperwidth}%
- \else
- \addtolengthplength{\@tempskipa}{locwidth}%
- \fi
- \hskip\@tempskipa
- \llap{%
- \@savevbox{\useplength{toaddrheight}}{%
- \noindent\hsize\useplength{locwidth}%
- \ifnum 1=\@alignfrom
- \if@logo
- \ifkomavarempty{fromlogo}{}{%
- {\raggedleft\noindent\usekomavar{fromlogo}\\
- \vskip\parskip}\noindent}%
- \fi
- \fi
- \usekomavar{location}\vskip \z@ \@plus .00001fil}
- {location field}{toaddrheight}{\setkomavar}%
- }}%
- }%
- \vskip-\useplength{toaddrvpos}\move@frompt
- }%
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@datefield}
-% \changes{v2.8q}{2002/01/14}{Schalter \cs{if@tempwa} wird bereits
-% hier auf \texttt{true} gesetzt}
-% Je nachdem, welche Felder definiert sind, mu"s eine gesch"aftsm"a"siger
-% Standardbrief oder ein eher pers"onliches Aussehen gew"ahlt werden.
-% \begin{macro}{\@set@reffield}
-% Einzelne Felder werden mit Hilfe dieses Makros gesetzt. Als
-% Parameter wird der Name des Feldes "ubergeben. Es wird dann davon
-% ausgegangen, dass der Name des Feldes in der jeweiligen Sprache im
-% Makro \verb|\|\texttt{\emph{\#1}}\verb|name| und der Wert des Feldes
-% in \verb|\var|\texttt{\emph{\#1}} zu finden ist.
-% \begin{macrocode}
-\newcommand*{\@set@reffield}[1]{%
- \ifkomavarempty{#1}{}{%
- \settowidth{\@tempdima}{\strut\usekomavar{#1}}%
- \setbox0\hbox{\strut\scriptsize\sffamily\usekomavar*{#1}}%
- \ifdim \@tempdima<\wd0\setlength{\@tempdima}{\wd0}\fi
- \if@tempswa\enskip\hfill\fi
- \parbox[t]{\@tempdima}{\noindent\raggedright
- \strut\box0\\\strut\usekomavar{#1}}%
- \@tempswatrue
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@set@reffields}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% Dieses Makro enth"alt alle Aufrufe von \cs{@set@reffield}, die
-% durchzuf"uhren sind. Das Makro kann mit Hilfe von
-% \cs{addtoreffields} erweitert werden.
-% \begin{macrocode}
-\newcommand*{\@set@reffields}{}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\addtoreffields}
-% Dieses Makro erwartet als obligatorisches Argument den Namen einer
-% KOMA-Script Variable. Der Befehl arbeitet lokal zur aktuellen
-% Umgebung.
-% \begin{macrocode}
-\newcommand*{\addtoreffields}[1]{%
- \l@addto@macro{\@set@reffields}{\@set@reffield{#1}}%
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\removereffields}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% Es gibt auch einen Befehl, um alle Felder aus der Gesch"aftszeile zu
-% entfernen.
-% \begin{macrocode}
-\newcommand*{\removereffields}{%
- \renewcommand*{\@set@reffields}{}%
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\defaultreffields}
-% \changes{v2.8q}{2002/01/14}{Neu}
-% Ebenso ein Befehl, um die "ublichen Felder zu setzen.
-% \begin{macrocode}
-\newcommand*{\defaultreffields}{%
- \removereffields
- \addtoreffields{yourref}%
- \addtoreffields{yourmail}%
- \addtoreffields{myref}%
- \addtoreffields{customer}%
- \addtoreffields{invoice}%
-}
-% \end{macrocode}
-% Genau diesen Befehl rufen wir auch gleich auf:
-% \begin{macrocode}
-\defaultreffields
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{v2.3e}{1996/05/31}{Abstand zwischen Ort und Datum
-% eingef"ugt}
-% \changes{v2.8o}{2001/09/18}{f"ur den Brieftyp \texttt{KOMAold}
-% anschlie"send einen zus"atzlichen vertikalen Abstand
-% eingef"ugt}
-% \changes{v2.8q}{2001/11/13}{\cs{rlap} eingef"ugt}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.8q}{2002/01/14}{Leertests entfernt, da in
-% \cs{@set@reffield} bereits enthalten}
-% \changes{v2.9l}{2003/01/28}{Berechnung von \texttt{refwidth} an
-% die Dokumentation angepasst}
-% \changes{v2.9l}{2003/01/28}{Berechnung von \texttt{refhpos}
-% hinzugef"ugt}
-% \begin{macrocode}
-\newcommand*{\@datefield}{{\@parskipfalse\@parskip@indent
- \ifdim\useplength{refwidth}=\z@
- \if@refwide
- \@setplength{refwidth}{\paperwidth}%
- \ifdim \useplength{toaddrhpos}>\z@
- \@setplength{refhpos}{\useplength{toaddrhpos}}%
- \else
- \@setplength[-]{refhpos}{\useplength{toaddrhpos}}%
- \fi
- \@addtoplength[-2]{refwidth}{\useplength{refhpos}}%
- \else
- \@setplength{refwidth}{\textwidth}%
- \@setplength{refhpos}{\oddsidemargin}%
- \@addtoplength{refhpos}{1in}%
- \fi
- \else\ifdim\useplength{refhpos}=\z@
- \begingroup
-% \end{macrocode}
-% Wir bestimmen zun"achst, um wieviel die Gesch"aftszeile schmaler ist
-% als der Textbereich.
-% \begin{macrocode}
- \setlength\@tempdima{\textwidth}%
- \addtolengthplength[-]{\@tempdima}{refwidth}%
-% \end{macrocode}
-% Dann wird bestimmt, wie gro"s der linke Rand tatsächlich ist.
-% \begin{macrocode}
- \setlength\@tempdimb{\oddsidemargin}%
- \addtolength\@tempdimb{1in}%
-% \end{macrocode}
-% Ebenso wird bestimmt, wie gro"s der linke und rechte Rand zusammen
-% sind.
-% \begin{macrocode}
- \setlength{\@tempdimc}{\paperwidth}%
- \addtolength{\@tempdimc}{-\textwidth}%
-% \end{macrocode}
-% Jetzt wird aus dem Gesamtrand der Gesch"aftszeile der linke Rand der
-% Gesch"aftszeile so bestimmt, dass das Randverh"altnis dabei
-% unver"andert bleibt. Dabei erlauben wir uns eine gewisse
-% Rechenungenauigkeit beim Verhältnis.
-% \begin{macrocode}
- \divide\@tempdimb by 32768\relax
- \divide\@tempdimc by 32768\relax
- \ifdim\@tempdimc=\z@\else
- \multiply\@tempdima by\@tempdimb
- \divide\@tempdima by\@tempdimc
- \fi
- \edef\@tempa{\noexpand\endgroup
- \noexpand\@setplength{refhpos}{\the\@tempdima}}%
- \@tempa
- \fi\fi
- \@tempswafalse
- \move@topt\vskip\useplength{refvpos}%
-% \end{macrocode}
-% Jetzt erfolgt noch die Absatzeinzugkorrektur. Danach kommt die
-% eigentliche Arbeit
-% \begin{macrocode}
- \rlap{\noindent\move@topl\hskip\useplength{refhpos}%
- \vbox{\hsize\useplength{refwidth}%
- \noindent\@set@reffields
- \ifkomavarempty{date}{%
- \if@tempswa
- \typeout{Reference line(s): with fields but without date}%
- \else
- \typeout{Reference line(s): no}%
- \aftergroup\aftergroup\aftergroup\@tempswatrue
- \fi
- }{%
- \if@tempswa
- \typeout{Reference line(s): with fields and date}%
- \settowidth{\@tempdima}{\strut\usekomavar{date}}%
- \setbox0\hbox{\scriptsize\sffamily\usekomavar*{date}}%
- \ifdim \@tempdima<\wd0\setlength{\@tempdima}{\wd0}\fi
- \enskip\hfill
- \parbox[t]{\@tempdima}{\noindent\raggedright%
- \strut\box0\\\strut\usekomavar{date}}
- \else
- \typeout{Reference line: only place and date}%
- \enskip\hfill
- \ifkomavarempty{place}{}{%
- \usekomavar{place}\usekomavar{placeseparator}}%
- \usekomavar{date}%
- \@tempswatrue
- \fi
- }%
- }%
- }%
- \if@tempswa\vskip-\baselineskip\fi
- \vskip\useplength{refaftervskip}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@maketitle}
-% \changes{v2.3b}{1996/01/14}{Verwendung von \cs{sectfont} f"ur den
-% \cs{title}}
-% \changes{v2.8p}{2001/09/22}{\cs{titlefont} an Stelle von
-% \cs{sectfont}}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.9t}{2004/09/16}{\cs{par} in Gr"o"se und Schrift des Titels}
-% \begin{macro}{\@subjfield}
-% \changes{v2.8q}{2001/10/19}{\cs{centerline} durch \cs{centering}
-% ersetzt}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.8q}{2002/01/31}{wird mit h"angendem Einzug gesetzt}
-%
-% Der eigentliche Titel wir mit |\@maketitle| gesetzt. Dies sollte
-% jedoch ebenso wie beim Betreff (|\@subjfield|) \emph{nicht} manuell
-% geschehen.
-% \begin{macrocode}
-\newcommand*{\@maketitle}{%
- \ifkomavarempty{title}{%
- \typeout{Title: no}%
- }{%
- \typeout{Title: yes}%
- {\@parskipfalse\@parskip@indent%
- \centering\LARGE\titlefont\usekomavar{title}\par}%
- \vskip\baselineskip%
- }%
- }
-\newcommand*{\@subjfield}{{\@parskipfalse\@parskip@indent%
- \ifkomavarempty{subject}{%
- \typeout{Subject: no}%
- }{%
- \if@subjafter%
- \typeout{Subject: after opening}%
- \centering%
- \else%
- \typeout{Subject: before opening}%
- \noindent%
- \fi%
- {\usekomafont{subject}\if@subj\@hangfrom{\usekomavar*{subject}}\fi%
- {\usekomavar{subject}}\par}\vskip2\baselineskip%
- }%
- }%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\opening}
-% \changes{v2.8n}{2001/09/08}{Komplett "uberarbeitet}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.8q}{2002/03/25}{\cs{@PapersizeWarning}}
-% Denn beim Er"offnungsgru"s mit |\opening| wird neben s"amtlichen
-% Feldern auch der Titel und der Betreff gesetzt.
-% \begin{macrocode}
-\newcommand{\opening}[1]{%
- \@PapersizeWarning
- \@gen@firsthead
- \@mkboth{\scr@fromname@var}{\scr@subject@var}%
- \thispagestyle{empty}\noindent
- \@foldmarks\@firstheadfootfield\@addrfield\@locfield\@datefield
- \@maketitle
- \if@subjafter\else\@subjfield\fi
- {\@parskipfalse\@parskip@indent\noindent#1\par}%
- {\setlength{\@tempdima}{\baselineskip}%
- \addtolength{\@tempdima}{-\parskip}
- \ifdim \@tempdima>\z@\vskip\@tempdima\fi}
- \if@subjafter\@subjfield\fi%
- \@afterindentfalse\@afterheading
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\closing}
-% \changes{v2.2b}{1995/02/16}{{\cmd\fromsig} wird nicht mehr auf
-% \cs{empty} getestet sondern direkt eingesetzt}
-% \changes{v2.3b}{1996/01/14}{Abstand zwischen Schlu"sgru"s und
-% Signatur erh"oht}
-% \changes{v2.5d}{2000/06/10}{Abstand zwischen Schlu"sgru"s und
-% Signatur variabel}
-% \changes{v2.8q}{2001/11/13}{%
-% \cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.8q}{2002/02/05}{nicht mehr \cs{long}}
-% \changes{v2.8q}{2002/02/05}{darf \texttt{\cmd{\\}[\dots]}
-% enthalten}
-% Au"ser dem Er"offnungsgru"s mit |\opening| gibt es nat"urlich auch
-% einen Schlu"sgru"s mit |\closing|, bei dem au"serdem die
-% Unterschrift u."a. gesetzt wird.
-% \begin{macro}{\presig@skip}
-% \changes{v2.5d}{2000/06/10}{Neues Makro, das den Abstand zwischen
-% Schlu"sgru"s und Signatur beinhaltet}
-% \changes{v2.8q}{2001/10/09}{Ersetzt durch Pseudo-L"ange
-% sigbeforevskip}
-% \end{macro}
-% \begin{macro}{\setpresigskip}
-% \changes{v2.5d}{2000/06/10}{Neues Makro, das den Abstand zwischen
-% Schlu"sgru"s und Signatur setzt}
-% \changes{v2.8q}{2001/10/09}{Mit Hilfe der neuen Pseudo-L"angen definiert}
-% Das Makro |\presig@skip| beinhaltet dabei den Abstand zwischen
-% Schlu"sgru"s und Signatur. Da der Wert "uber ein Benutzerinterface
-% per |\setpresigskip| gesetzt wird, mu"s hier kein kostbares
-% L"angenregister (skip oder dim) verschwendet werden, sondern ein
-% Makro reicht aus. In |\setpresigskip| wird allerdings noch
-% sichergestellt, da"s die Fehlermeldung bei falschem Parameter
-% m"oglichst nicht erst bei Verwendung auftritt.
-% \begin{macrocode}
-\newcommand*{\setpresigskip}{\@setplength{sigbeforevskip}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@xtrimtempa}
-% \changes{v2.8q}{2002/02/05}{Neu (intern)}
-% \begin{macro}{\@@xtrimtempa}
-% \changes{v2.8q}{2002/02/05}{Neu (intern)}
-% Die beiden internen Macros werden ben"otigt, um beim Zerlegen eines
-% mit \texttt{\cmd{\\}[\cs{dots}]} zusammengesetzten Arguments das
-% optionale Argument in eckigen Klammern abzutrennen. Das Ergebnis
-% steht anschlie"send in \cs{@tempa}.
-% \begin{macrocode}
-\newcommand*{\@xtrimtempa}{%
- \@ifnextchar [{\@@xtrimtempa}{\@@xtrimtempa[]}}
-\newcommand*{\@@xtrimtempa}{}
-\def\@@xtrimtempa[#1]#2\@nil{\def\@tempa{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\@tempdimaismaxwidthof}
-% \changes{v2.8q}{2002/02/05}{Neu (intern)}
-% Das Makro zerlegt ein mit \texttt{\cmd{\\}[\cs{dots}]}
-% zusammengesetzten Arguments und merkt in \cs{@tempdima} die L"ange
-% des l"angsten Elements. \cs{@tempdima} enth"alt beim Aufruf die
-% minimale L"ange.
-% \begin{macrocode}
-\newcommand*{\@tempdimaismaxwidthof}{}
-\def\@tempdimaismaxwidthof#1\\#2\@nil{%
- \settowidth{\@tempdimb}{\strut\ignorespaces#1}%
- \ifdim\@tempdima<\@tempdimb\setlength{\@tempdima}{\@tempdimb}\fi
- \def\@tempa{#2}\ifx\@tempa\@empty
- \let\@tempb\relax
- \else
- \expandafter\@xtrimtempa\@tempa\@nil
- \def\@tempb{\expandafter\@tempdimaismaxwidthof\@tempa\@nil}%
- \fi
- \@tempb
- }
-% \end{macrocode}
-% \end{macro}
-% Jetzt endlich zum eigentichen Befehl.
-% \changes{v2.9r}{2004/01/28}{L"angenbegrenzung auf \cs{hsize}}
-% \changes{v2.9r}{2004/01/28}{das Argument darf leer sein}
-% \begin{macrocode}
-\newcommand*{\closing}[1]{{\@parskipfalse\@parskip@indent\nobreak\par%
- \nobreak\vskip\baselineskip%
- \stopbreaks\noindent%
- \setlength{\@tempdima}{0pt}%
- \expandafter\@tempdimaismaxwidthof\scr@signature@var\\\@nil
- \expandafter\@tempdimaismaxwidthof\strut\ignorespaces#1\\\@nil
- \setlength{\@tempdimb}{\hsize}%
- \addtolength{\@tempdimb}{-\useplength{sigindent}}%
- \ifdim\@tempdima>\@tempdimb\setlength{\@tempdima}{\@tempdimb}\fi%
- \hspace{\useplength{sigindent}}%
- \parbox{\@tempdima}{\raggedsignature\strut\ignorespaces%
- #1\strut\\[\useplength{sigbeforevskip}]
- \strut\usekomavar{signature}\strut}}\par
- \nobreak\vskip\baselineskip%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ps}
-% \changes{v2.8n}{2001/09/08}{Komplett "uberarbeitet}
-% Ebenfalls m"oglich ist ein Postscriptum. Dieser Befehl erwartet
-% das Postscriptum nicht als Argument, sondern schaltet zum Nachtext
-% um.
-% \begin{macrocode}
-\newcommand\ps{\par%
- \ifdim\parskip=\z@%
- \vskip\baselineskip%
- \fi\startbreaks\noindent\ignorespaces%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\cc}
-% Dar"uber hinaus gibt es noch einen Verteiler. Dieser wird
-% sauber formatiert.
-% \changes{v2.6}{2001/01/03}{\cs{def} durch \cs{newcommand*}
-% ersetzt}
-% \changes{v2.8n}{2001/09/08}{Komplett "uberarbeitet}
-% \changes{v2.9o}{2003/04/22}{\cs{parfillskip} angepasst}
-% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} auf
-% \texttt{1em plus 1fil} ge"andert}
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf
-% \texttt{\cs{z@} plus 1fil} ge"andert}
-% \begin{macrocode}
-\newcommand*{\cc}[1]{\par%
- \ifdim\parskip=\z@%
- \vskip\baselineskip%
- \fi\noindent%
- \begingroup
- \parbox[t]{\textwidth}{%
- \ifkomavarempty{ccseparator}{}{%
- \@hangfrom{%
- \strut\usekomavar*{ccseparator}\usekomavar{ccseparator}}%
- }%
- \ignorespaces #1\strut}%
- \setlength{\parfillskip}{\z@ \@plus 1fil}\par
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\encl}
-% Auch Anlagen werden ordentlich gesetzt.
-% \changes{v2.4a}{1997/06/06}{der Doppelpunkt bei den Anlagen wird
-% nur noch gesetzt, wenn \cs{enclname} nicht leer ist}
-% \changes{v2.6}{2001/01/03}{\cs{def} durch \cs{newcommand*} ersetzt}
-% \changes{v2.8n}{2001/09/08}{Komplett "uberarbeiten}
-% \changes{v2.8q}{2002/01/31}{Fehlendes \% erg"anzt}
-% \changes{v2.9o}{2003/04/22}{\cs{parfillskip} angepasst}
-% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} auf
-% \texttt{1em plus 1fil} ge"andert}
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf
-% \texttt{\cs{z@} plus 1fil} ge"andert}
-% \begin{macrocode}
-\newcommand*{\encl}[1]{\par%
- \ifdim\parskip=\z@%
- \vskip\baselineskip%
- \fi\noindent%
- \begingroup
- \parbox[t]{\textwidth}{%
- \ifkomavarempty*{enclseparator}{}{%
- \@hangfrom{%
- \strut\usekomavar*{enclseparator}\usekomavar{enclseparator}}%
- }%
- \ignorespaces #1\strut}%
- \setlength{\parfillskip}{\z@ \@plus 1fil}\par
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macrocode}
-%</scrlettr>
-% \end{macrocode}
-%
-%
-% \subsection{Grundeinstellungen}
-%
-% \begin{macrocode}
-%<!scrbook>\pagestyle{plain}
-%<scrbook>\pagestyle{headings}
-\pagenumbering{arabic} % Arabic page numbers
-%<*!scrbook>
-%<!scrlettr>\if@twoside
-%<!scrlettr>\else
- \raggedbottom
-%<!scrlettr>\fi
-%</!scrbook>
-%<*!scrlettr>
-\if@twocolumn
- \twocolumn
- \sloppy
- \flushbottom
-\else
- \onecolumn
-\fi
-%</!scrlettr>
-% \end{macrocode}
-%
-% \subsection{Das war es fast}
-%
-% \begin{macrocode}
-%</class>
-% \end{macrocode}
-%
-% \section{Nochmal generell}
-%
-% \input{scrlogo.dtx}
-%
-%
-% \setlength{\IndexMin}{.25\textheight}
-% \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}
-%
-% \setlength{\GlossaryMin}{.25\textheight}
-% \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'
-
-%%% Local Variables:
-%%% mode: latex
-%%% mode: font-lock
-%%% Text-master: scrclass.ins
-%%% End: