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