diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrclass.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrclass.dtx | 12466 |
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: |