diff options
Diffstat (limited to 'macros/latex/contrib/thesis/thesis.dtx')
-rw-r--r-- | macros/latex/contrib/thesis/thesis.dtx | 2194 |
1 files changed, 2194 insertions, 0 deletions
diff --git a/macros/latex/contrib/thesis/thesis.dtx b/macros/latex/contrib/thesis/thesis.dtx new file mode 100644 index 0000000000..b299dff3cf --- /dev/null +++ b/macros/latex/contrib/thesis/thesis.dtx @@ -0,0 +1,2194 @@ +%\iffalse +%<+thesis>\def\filename{thesis} +%<+thema>\def\filename{thema} +%\fi +\def\fileversion{1.0g} +\def\filedate{1996/25/01} +\def\docdate{1995/25/01} +% \CheckSum{2689} +% +% \iffalse This is a META-COMMENT +% +% Copyright (C) 1991, 1996 by Wenzel Matiaske, mati1831@perform.ww.tu-berlin.de +% +% This file is to be used with the LaTeX2e system. +% ------------------------------------------------ +% +% This macro is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 1, or (at your option) any +% later version. +% +% The macros and the documentation are distributed in the hope that they +% will be useful, but WITHOUT ANY WARRANTY; without even the implied +% warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See +% the GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program; if not, write to the Free Software +% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +% +% There are undoubtably bugs in the macros or the documentation. Should +% you make improvements, bug fixes, etc., however, I ask you to send +% improvements back to me for incorporation into the macro for the +% rest of us. +% +% Updates are available via anonymous ftp to host `perform.ww.tu-berlin.de'. +% +% ___ +% wenzel matiaske | / /_/-Berlin +% | mail: Technical University Berlin +% | Dept. of Economics, WW6 +% | Uhlandstr. 4-5, D-10623 Berlin +% | phone: +49 30 314-22574 +% | email: mati1831@perform.ww.tu-berlin.de +% +% \fi +% +% \MakeShortVerb{\|} +% +% \ifsolodoc +% \title{Die \LaTeX-Stile \texttt{thesis} und \texttt{thema}} +% \author{Wenzel Matiaske\thanks{TU-Berlin, FB 14, WW 6, +% Uhlandstr. 4--5, 10623~Berlin, Tel.~030-314\,225\,74, email: +% mati1831@perform.ww.tu-berlin.de.}} +% \date{\docdate} +% \maketitle +% \selectlanguage{\english} +% \def\localin{\par} +% \begin{small} +% \begin{center}\small\textbf{Abstract}\end{center} +% \MakePercentComment \input{local01} \MakePercentIgnore +% \end{small} +% \newpage +% \section{Einleitung} +% \selectlanguage{\german} +% \else +% \section{B\"ucher und Sammelwerke} +% \fi +% +% Die hier vorgestellten +% \LaTeX-Stile\footnote{Version\fileversion\ vom +% \filedate. Dokumentation vom \docdate.} basieren auf dem +% Grundstil \texttt{report.cls} und sind somit zum ein- und +% doppelseitigen Satz von l\"angeren Arbeiten wie B\"uchern +% geeignet. Gemeinsam ist den Formaten, da\ss{} sie einige Optionen +% zur flexibleren Gestaltung des Layouts beinhalten. Im Unterschied +% zur Stilart \texttt{thesis} stellt \texttt{thema} zus\"atzlich +% einige Befehle zur Verf\"ugung, die bei der Erstellung von +% Sammelwerken n\"utzlich sind. +% +% \begin{figure}[h!] +% \begin{verbatim} +%\documentclass[12pt,nocenter,sfbold]{thema} +%\chapapp{Chapter} +%\begin{document} +% +%\title{Fighting Fire with Fire} \subtitle{Festooning French Phrases} +%\translator{PhD Dissertation} \author{F. Phidias Phony-Baloney} +%\institution{Fanstord University} +%\maketitle +%... +%\end{document} +% \end{verbatim} +% \caption{\label{thetest}Anwendungsbeispiel der Stilart \texttt{thema}} +% \end{figure} +% +% +% \ifsolodoc +% \section{B\"ucher mit \texttt{thesis}} +% \else +% \subsection{Die Stilart \texttt{thesis}} +% \fi +% +% \ifsolodoc +% \subsection{Zus\"atzliche Stiloptionen} +% \else +% \subsubsection{Zus\"atzliche Stiloptionen} +% \fi +% +% Die wichtigsten Ver\"anderungen gegen\"uber dem Grundstil +% \texttt{report.cls} betreffen das Layout und sind +% benutzerfreundlich zu Optionen geb\"undelt. Sie betreffen die +% Absatzformatierung, die Gestaltung von Listenumgebungen und +% Kopfzeilen sowie das Layout der \"Uberschriften. Die neuen +% Optionen sind in Tabelle \ref{theoptions} zusammengestellt. +% Die jeweiligen Voreinstellungen sind in der \"Ubersicht +% unterstrichen. Werden beispielsweise linksb\"undige +% \"Uberschriften in fetten serifenlosen Typen gew\"unscht, sind die +% Optionen \texttt{nocenter} und \texttt{sfbold} im optionalen Argument +% des Kommandos |\documentstyle[|\emph{options}|]{|\emph{stil}|}| +% zu spezifizieren, wie Anwendungsbeispiel \ref{thetest} zeigt. +% +% \begin{table}[ht] \small \centering +% \caption{\label{theoptions}Zus\"atzliche Stiloptionen} +% \begin{tabular}{lp{20em}} +% \hline +% \underline{|indent|} & Einzug zu Beginn von Abs\"atzen oder +% Fu\ss{}notenabs\"atzen (\LaTeX-Standard). \\ +% |noindent| & Kein Einzug derselben. \\ +% |itemize| & Hervorhebung der Staffelung in +% \texttt{itemize} Umgebungen durch +% verschiedene Zeichen wie z.~B. |\bullet|, +% |\star| etc. (\LaTeX-Standard). \\ +% \underline{noitemize} & Keine Hervorhebung der "`itemization"'. \\ +% \underline{enumerate} & Alphanumerische Z\"ahlung in +% \texttt{enumerate} Umgebungen +% (\LaTeX-Standard). \\ +% |noenumerate| & Dekadische Z\"ahlung. \\ +% \underline{|headline|} & Kopfzeilen werden unterstrichen. \\ +% |noheadline| & Keine Unterstreichung derselben. \\ +% |headcount| & Kapitel und Abschnittsnumerierung +% werden in Kopfzeilen ausgegeben. \\ +% \underline{|noheadcount|} & Kopfzeilen ohne diese Z\"ahler. \\ +% \underline{|center|} & \"Uberschriften und Kopfzeilen zentriert. \\ +% |nocenter| & \"Uberschriften und Kopfzeilen +% linksb\"undig.\\ +% \underline{|upper|} & Kapitel\"uberschriften in +% Gro\ss{}buchstaben. \\ +% |noupper| & Keine Umwandlung der Kapitel\"uberschriften +% in Gro\ss{}buchstaben. \\ +% \underline{|slanted|} & Gr\"o\ss{}ere/geneigte Typen +% in \"Uberschriften, +% Kopf"-zei"-len, Li"-sten und Titelei. \\ +% |bold| & Gr\"o\ss{}ere/fette Typen. \\ +% |sfbold| & Gr\"o\ss{}ere/fette serifenlose +% Typen. \\ +% |chapterbib| & Kapitelweise +% Literaturverzeichnisse +% in Zusammen"-arbeit +% mit \BibTeX. \\ +% |crosshair| & Markierung am oberen Seitenrand. \\ +% \hline +% \end{tabular} +% \end{table} +% +% +% \DescribeMacro{\chapapp} +% \DescribeMacro{\appendix} +% Die Kapitel\"uberschriften werden hier standardm\"a\ss{}ig ohne +% die Angabe des Kapitelnamens "`Chapter"' oder "`Kapitel"' +% gesetzt. Wird die Ausgabe der Bezeichnung gew\"unscht, kann +% dies durch Spezifikation des neuen Befehls +% |\chapapp{|\emph{text}|}| erreicht werden; +% z.~B. |\chapapp{\chaptername}| im Vorspann des Dokumentes. +% +% Dies hat auch Auswirkung auf die Formatierung des Anhanges. +% Per Voreinstellung wird der Anhang durch eine Teil\"uberschrift, +% d.~h. eine eigene Seite, vom \"ubrigen Text abgesetzt. Wird +% |\chapapp| dagegen spezifiziert, unterbleibt die +% Teil\"uberschrift und stattdessen wird wie \"ublich der +% Kapitelname "`Appendix"' bzw. "`Anhang"' ausgegeben. +% +% \pagebreak[4] +% \ifsolodoc +% \subsection{Erweiterungen der Titelei} +% \else +% \subsubsection{Erweiterungen der Titelei} +% \fi +% +% \DescribeMacro{\subtitle} +% \DescribeMacro{\translator} +% \DescribeMacro{\institution} +% \DescribeMacro{\dedication} +% Die Titelei ist um einige Kommandos erweitert worden. Der Angabe +% eines Untertitels dient der Befehl |\subtitle{|\emph{text}|}|. +% Der Untertitel wird in kleineren Typen unterhalb des eigentlichen +% |\title{|\emph{text}|}| gesetzt. Der den Kommandos +% |\translator{|\emph{text}|}| bzw. +% |\institution{|\emph{text}|}| +% \"ubergebene Text wird auf der Titelseite vertikal zentriert +% bzw. an deren Ende ausgegeben. Eine Widmung, die auf einer +% separaten Seite plaziert wird, erzeugt der Befehl +% |\dedication{|\emph{text}|}|. Diese Kommandos behalten sowohl +% bei einseitigem als auch bei zweiseitigem Druck ihre Wirkung. +% +% \DescribeMacro{\uppertitleback} +% \DescribeMacro{\middletitleback} +% \DescribeMacro{\lowertitleback} +% Bei zweiseitigem Druck werden nicht nur die \"ubliche Titelseite +% und ggf. eine Widmung, sondern zus\"atzlich eine Umschlagsseite +% und ein sogenannter Schmutztitel erzeugt. Ausschlie\ss{}lich +% f\"ur zweiseitigen Druck sind auch die Kommandos +% (|\uppertitleback{|\emph{text}|}|, +% |\middletitleback{|\emph{text}|}| und +% |\lowertitleback{|\emph{text}|}| konstruiert, +% die dem \texttt{script.sty} entnommen sind \cite{neukam:92}. +% Sie dienen dem Satz von Verlags-, Copyright- oder ISBN-Angaben +% auf der R\"uckseite des Titels. Bei zweiseitigem Druck beginnt die +% Seitenz\"ahlung nach der Titelei standardm\"a\ss{}ig mit der f\"unften +% Seite. +% +% \ifsolodoc +% \subsection{Geringf\"ugige \"Anderungen} +% \else +% \subsubsection{Geringf\"ugige \"Anderungen} +% \fi +% +% Ferner wurden einige geringf\"ugige Ver\"anderungen vorgenommen. +% Diese betreffen insbesondere die Option \texttt{draft}, die nun +% eine besondere Kopfzeile erzeugt, in der Datum, Zeit und +% Name des Jobs ausgegeben werden. Eine zur Reproduktion des +% Ausdrucks besonders n\"utzliche Option wurde der Stilvariante +% \texttt{svma.sty} des Springer Verlages \cite{sznyter:87} +% entnommen. Die Option \texttt{crosshair} f\"ugt auf leeren +% Seiten eine Markierung am oberen Seitenrand ein. Im Befehl +% |\caption{|\emph{text}|}| wird ein Kurzname wie "`Fig."' +% bzw. "`Tab."' benutzt, und dieser Name wird bei der +% Absatzformatierung langer Beschriftungen ausgespart. Einige +% weitere Kommandos, die die Erstellung von Tabellen und +% speziellen Randnotizen unterst\"utzen, werden im Zusammenhang mit +% der Stiloption \texttt{etc} beschrieben\ifsolodoc\else\ +% (Vgl. \ref{tabcmd}, \ref{see})\fi. +% Schlie\ss{}lich sind die Voreinstellungen dahingehend +% ge\"andert, da\ss{} der |\pagestyle{|\emph{headings}|}| die +% Regel ist. +% +% \ifsolodoc +% \subsection{Einstellung der Schriftarten} +% \else +% \subsubsection{Einstellung der Schriftarten} +% \fi +% +% Die in den Stiloptionen \texttt{slanted}, \texttt{bold} und +% \texttt{sfbold} voreingestellten Schriften k\"onnen bei Bedarf +% modifiziert werden. Zu diesem Zweck stehen vier Schnittstellen +% zur Verf\"ugung, welche die gew\"unschten Schriftarten als +% Argumente \"ubernehmen. Die Befehle sind in Tabelle +% \ref{schriftwahl} zusammengestellt. +% +%\begin{table}\centering \small +%\caption{\label{schriftwahl}Einstellung der Schriftarten} +%\begin{tabular}{@{}ll@{}} +%\hline +%|\partfont{|\emph{decl}|}| &|\theorembodyfont{|\emph{decl}|}| \\ +%|\chapterfont{|\emph{decl}|}| &|\itemfont{|\emph{decl}|}| \\ +%|\chapterauthorfont{|\emph{decl}|}| &|\examplefont{|\emph{decl}|}| \\ +%|\sectionfont{|\emph{decl}|}| &|\headingstextfont{|\emph{decl}|}|\\ +%|\subsectionfont{|\emph{decl}|}| &|\pagenumberfont{|\emph{decl}|}|\\ +%|\subsubsectionfont{|\emph{decl}|}| &|\captionheaderfont{|\emph{decl}|}|\\ +%|\paragraphfont{|\emph{decl}|}| &|\captionbodyfont{|\emph{decl}|}|\\ +%|\subparagraphfont{|\emph{decl}|}| &|\figurefont{|\emph{decl}|}|\\ +%|\titlefont{|\emph{decl}|}| &|\tablefont{|\emph{decl}|}|\\ +%|\subtitlefont{|\emph{decl}|}| &|\indexsize{|\emph{decl}|}|\\ +%|\authorfont{|\emph{decl}|}| &|\bibsize{|\emph{decl}|}|\\ +%|\translatorfont{|\emph{decl}|}| &|\theoremheaderfont{|\emph{decl}|}|\\ +%|\institutionfont{|\emph{decl}|}| &\\ +%\hline +%\end{tabular} +%\end{table} +% +% +% Der Befehl |\chapterfont| ist f\"ur die Variante \texttt{slanted} +% beispielsweise folgenderma\ss{}en definiert als |\chapterfont{large}|. +% +% \ifsolodoc \section{Sammelwerke mit \texttt{thema}} \else +% \subsection{Die Stilart \texttt{thema}} \fi +% +% \DescribeMacro{\chapterauthor} +% \DescribeMacro{\shortauthor} +% \DescribeEnv{chapterabstract} +% Die Stilart \texttt{thema} stellt zus\"atzlich einige Kommandos +% zur Verf\"ugung, die bei der Erstellung von Sammelwerken +% n\"utzlich sind. Dies sind zum einen der Befehl +% |\chapterauthor{|\emph{text}|}|, der den Satz der Autoren eines +% Kapitels \"ubernimmt. Sollen die Autoren ins Inhaltsverzeichnis +% und in die Kopfzeilen der geraden Seiten \"ubernommen werden, +% ist zus\"atzlich das Kommando |\shortauthor{|\emph{text}|}| zu +% spezifizieren. Wichtig ist, da\ss{} das Kommando \emph{vor} der +% mit |\chapter| spezifizierten \"Uberschrift angegeben werden +% mu\ss{}; sonst wird es erst im folgenden Kapitel wirksam. Die +% neue Umgebung |\chapterabstract| erlaubt eine Zusammenfassung im +% jeweiligen Kapitel. +% +% In diesem Zusammenhang ist auch auf die zus\"atzliche Option +% \texttt{chapterbib} hinzuweisen, die dem Substil +% \texttt{bibperinclude.sty} entspricht +% \label{chapterbib}\cite{schrod:91}. Diese Option erm\"oglicht die +% Erstellung mehrerer Literaturverzeichnisse mittels \BibTeX{} in +% einem Dokument, was insbesondere im Fall von Sammelwerken +% vorteilhaft sein kann. Zu diesem Zweck sind die Kapitel in +% getrennten Dateien zu halten und mittels +% |\include{|\emph{datei}|}| Befehlen in einer Formatierdatei zu +% b\"undeln\ifsolodoc\else\ (Vgl. auch die Formatierdatei im +% Anwendungsbeispiel \ref{jourtest})\fi. Am Ende jedes Kapitels +% sind die Kommandos |\bibliographystyle{|\emph{stil}|}| und +% |\bibliography{|\emph{datenbanken}|}| anzugeben. \BibTeX{} +% kann nun jedes Kapitel getrennt bearbeiten. Im Anschlu\ss{} +% erzeugt \LaTeX{} ein Literaturverzeichnis f\"ur das jeweilige +% Kapitel. +% +% +% \StopEventually{\ifsolodoc +% \begin{thebibliography}{1} +% +% \bibitem{neukam:92} Neukam, Frank (1992). +% \newblock Die Document-Style-Familie "`Script"', Vers. 1.0, 6. Juni 1992. +% +% \bibitem{schrod:91} Schrod, Joachim (1991). +% \newblock Document Style Option `bibperinclude.sty', Vers. 25 Juni 1991. +% +% \bibitem{sznyter:87} Sznyter, Ed (1987). +% \newblock Springer-Verlag Document Styles for \LaTeX, November 1, 1987. +% +% \end{thebibliography} +% \fi} +% +% \ifsolodoc +% \section{Implementation} +% \else +% \subsection{Implementation} +% \fi +% +% +% \changes{thema~0.9a}{1991/08/01}{% +% \texttt{thema.sty}.} +% \changes{thesis~0.9b}{1992/01/15}{% +% Dokumentation in \texttt{docstyle} Format.} +% \changes{thesis~0.9c}{1993/07/01}{% +% Draft Headings, Schriftwahl als Optionen., +% neue Kommandos \texttt{thickhline} und \texttt{doublehline}} +% \changes{thesis~0.9d}{1993/08/01}{% +% Redefinition des \texttt{and} Kommandos.} +% \changes{thesis~0.9e}{1993/10/15}{% +% Bug Fix in \texttt{makechapter}.} +% \changes{thesis~1.0a}{1995/05/20}{% +% \texttt{thesis.cls} Update auf \LaTeX3e.} +% \changes{thesis~1.0b}{1995/10/25}{% +% Vorschub in \texttt{caption}.} +% \changes{thesis~1.0c}{1996/02/21}{% +% Fehlende Schriftart in \texttt{sfbold}-Variante erg\"anzt.} +% \changes{thesis~1.0d}{1996/04/10}{% +% Abstand in Kopfzeilen korrigiert} +% \changes{thesis~1.0e}{1996/04/15}{% +% Schreibfehler \texttt{translator} verbessert.} +% \changes{thesis~1.0f}{1996/05/16}{% +% Kapiteleintr\"age ins Inhaltsverzeichnis auch ohne +% \texttt{shortauthor} (\texttt{thema}).} +% \changes{thesis~1.0g}{1996/07/01}{% +% Fehler in \texttt{appendix} korrigiert. (Uwe Schellhorn)} +% \changes{thesis~1.0g}{1996/07/25}{% +% Fehler in \texttt{chapter} korrigiert. (Uwe Schellhorn)} +% \changes{thesis~1.0g}{1996/07/25}{% +% Dokumentation (no)itemize, (no)enumerate korrigiert.%% +% (Klaus Bergner)} +% +% Die Implementation enth\"alt den Code f\"ur die Klassen \texttt{thesis} +% und \texttt{thema} sowie f\"ur die kompatiblen Style-Files. +% +% \begin{macrocode} +%<*thesis|thesis.sty|thema|thema.sty> +\NeedsTeXFormat{LaTeX2e} +%</thesis|thesis.sty|thema|thema.sty> +% \end{macrocode} +% +% Die kompatiblen Styles laden die zugeh\"orige Klasse. +% +% \begin{macrocode} +%<*thesis.sty> +\@obsoletefile{thesis.cls}{thesis.sty} +\LoadClass{thesis} +%</thesis.sty> +%<*thema.sty> +\@obsoletefile{thema.cls}{thema.sty} +\LoadClass{thema} +%</thema.sty> +% \end{macrocode} +% +% Im Fall der Klasse \texttt{thema} wird eine +% Startmeldung ausgegeben, die Optionen werden der zugeh\"origen +% Klasse |thesis| \"ubergeben und diese wird eingelesen. +% +% \begin{macrocode} +%<*thema> +\ProvidesClass{thema}[\filedate\space\fileversion\space% + LaTeX document class (wm).] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{thesis}} +\ProcessOptions +\LoadClass[thema]{thesis} +%</thema> +% \end{macrocode} +% +% Die Implementation des Hauptstils \texttt{thesis.cls} beginnt +% mit der Startmeldung f\"ur die Klasse \texttt{thesis.cls}. +% +% \begin{macrocode} +%<*thesis> +\ProvidesClass{thesis}[\filedate\space\fileversion\space% + LaTeX document class (wm).] +% \end{macrocode} +% +% +% Es folgen weitere Definitionen und Initialisierungen, die den +% \LaTeXe{} Standard Klassen entnommen sind. +% +% Das Kommando kontrolliert die Schriftgr\"o\ss{}e. +% \begin{macrocode} +\newcommand\@ptsize{} +% \end{macrocode} +% +% +% Schalter, um zwischen zwei- und einspaltigem Satz zu wechseln. +% \begin{macrocode} +\newif\if@restonecol +% \end{macrocode} +% +% Schalter, um die Erzeugung einer Titelseite anzuzeigen. +% \begin{macrocode} +\newif\if@titlepage +\@titlepagetrue +% \end{macrocode} +% +% Schalter, der anzeigt, ob Kapitel auf der rechten Seite beginnen. +% \begin{macrocode} +\newif\if@openright +% \end{macrocode} +% +% Schalter f\"ur "`offenes"' oder "`geschlossenes"' Format der +% Bibliographie. +% +% \begin{macrocode} +\newif\if@openbib +\@openbibfalse +% \end{macrocode} +% +% Schalter, der anzeigt, ob der Hauptteil des Buches produziert wird. +% +% \begin{macrocode} +\newif\if@mainmatter \@mainmattertrue +% \end{macrocode} +% +% Definitionen der Papierformate +% \begin{macrocode} +\DeclareOption{a4paper} + {\setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{a5paper} + {\setlength\paperheight {210mm}% + \setlength\paperwidth {148mm}} +\DeclareOption{b5paper} + {\setlength\paperheight {250mm}% + \setlength\paperwidth {176mm}} +\DeclareOption{letterpaper} + {\setlength\paperheight {11in}% + \setlength\paperwidth {8.5in}} +\DeclareOption{legalpaper} + {\setlength\paperheight {14in}% + \setlength\paperwidth {8.5in}} +\DeclareOption{executivepaper} + {\setlength\paperheight {10.5in}% + \setlength\paperwidth {7.25in}} +% \end{macrocode} +% +% Die Option \texttt{landscape} tauscht die Werte f\"ur Seitenh\"ohe +% und Seitenbreite. +% \begin{macrocode} +\DeclareOption{landscape} + {\setlength\@tempdima {\paperheight}% + \setlength\paperheight {\paperwidth}% + \setlength\paperwidth {\@tempdima}} +% \end{macrocode} +% +% Optionen f\"ur Schriftgr\"o\ss{}en. +% +% \begin{macrocode} +\DeclareOption{10pt}{\renewcommand\@ptsize{0}} +\DeclareOption{11pt}{\renewcommand\@ptsize{1}} +\DeclareOption{12pt}{\renewcommand\@ptsize{2}} +% \end{macrocode} +% +% Zwei oder einseitiger Druck. +% \begin{macrocode} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +% \end{macrocode} +% +% Definitionen f\"ur die \texttt{draft} Option. Die Makros +% |\SetTime| und |\now| sind aus \texttt{tugboat.com} +% \"ubernommen. Diese werden in der \texttt{draft} Option zur +% Gestaltung der Kopfzeile benutzt. Ferner wird ein unmaskierter +% Schalter |\iffinal| definiert, der standardm\"a\ss{}ig wahr, im +% Fall der Option \texttt{draft} dagegen falsch ist. +% +% \begin{macrocode} +\newcount\hours \newcount\minutes +\def\SetTime{\hours=\time + \global\divide\hours by 60 + \minutes=\hours + \multiply\minutes by 60 + \advance\minutes by-\time + \global\multiply\minutes by-1 } +\def\now{\number\hours:\ifnum\minutes<10 0\fi\number\minutes} +\newif\iffinal \finaltrue +\DeclareOption{draft}{\setlength\overfullrule{5pt}\finalfalse \SetTime} +\DeclareOption{final}{\setlength\overfullrule{0pt}\finaltrue} +% \end{macrocode} +% +% Definition des Schalters |\if@thema|. Der Zustand dieses +% Schalters ist von der Option der |thema| +% abh\"angig und steuert im folgenden die Auswahl der Makros. +% +% \begin{macrocode} +\newif\if@thema \@themafalse +\DeclareOption{thema}{\@thematrue} +% \end{macrocode} +% +% Die Optionen initialisiert die Variable |option@crosshair|, +% die abgefragt wird, um auf leeren Seiten eine Markierung des +% Seitenkopfs einzuf\"ugen. +% +% \begin{macrocode} +\newif\if@crosshair \@crosshairfalse +\DeclareOption{crosshair}{\@crosshairtrue} +\DeclareOption{nocrosshair}{\@crosshairfalse} +% \end{macrocode} +% +% Die Optionen setzen den Schalter |\@itemization|, der +% abgefragt wird, um die Staffelung der \texttt{itemize} +% Umgebung zu kontrollieren. In \texttt{thesis.cls} +% ist dieser Schalter standardm\"a\ss{}ig +% wahr. +% +% \begin{macrocode} +\newif\if@itemization \@itemizationtrue +\DeclareOption{itemize} {\@itemationtrue} +\DeclareOption{noitemize}{\@itemizationfalse} +% \end{macrocode} +% +% Die Optionen setzen den Schalter |\@enumeration|, der +% abgefragt wird, um die Numerierung der \texttt{enumerate} +% Umgebung zu kontrollieren. In \texttt{thesis.cls} standardm\"a\ss{}ig +% alphanumerische Z\"ahlung. +% +% \begin{macrocode} +\newif\if@enumeration \@enumerationtrue +\DeclareOption{enumerate} {\@enumerationtrue} +\DeclareOption{noenumerate}{\@enumerationfalse} +% \end{macrocode} +% +% Die Optionen setzen den Schalter |\@noind|, der im folgenden +% abgefragt wird, um Absatzabst\"ande und Fu\ss{}notenstil zu modifizieren. +% Voreingestellt ist der Satz von Abschnitten und Fu\ss{}noten, bei denen +% die erste Zeile einger\"uckt gesetzt wird. +% +% \begin{macrocode} +\newif\if@noind \@noindfalse +\DeclareOption{indent} {\@noindfalse} +\DeclareOption{noindent}{\@noindtrue} +% \end{macrocode} +% +% Die Optionen setzen den Schalter |\@center|, der im folgenden +% abgefragt wird, um \"Uberschriften, Kopfzeilen und bestimmte Eintr\"age +% ins Inhaltsverzeichnis zu zentrieren. Standardm\"a\ss{}ig +% werden diese in \texttt{thesis.cls} rechtsb\"undig gesetzt. +% +% \begin{macrocode} +\newif\if@center \@centerfalse +\DeclareOption{center} {\@centertrue} +\DeclareOption{nocenter}{\@centerfalse} +% \end{macrocode} +% +% Die Optionen setzen den Schalter |\@upper|, der im folgenden +% abgefragt wird, um Teil\"uberschriften in Gro\ss{}buchstaben zu setzen. +% Standardm\"a\ss{}ig benutzt \texttt{thesis.cls} keine Gro\ss{}buchstaben. +% +% \begin{macrocode} +\newif\if@upper \@upperfalse +\DeclareOption{upper} {\@uppertrue} +\DeclareOption{noupper}{\@upperfalse} +% \end{macrocode} +% +% Die Optionen setzen den Schalter |\@headline|, der +% abgefragt wird, um Kopfzeilen zu unterstreichen. Voreinstellung +% in \texttt{thesis.cls} sind unterstrichene Kopfzeilen. +% +% \begin{macrocode} +\newif\if@headline \@headlinetrue +\DeclareOption{headline} {\@headlinetrue} +\DeclareOption{noheadline}{\@headlinefalse} +% \end{macrocode} +% +% Die Optionen setzen den Schalter |\@headcount|, der +% abgefragt wird, um ggf. Abschnittsz\"ahler in Kopfzeilen +% auszugeben. Standardm\"a\ss{}ig wird in \texttt{thesis.cls} der +% Z\"ahler in der Kopfzeile ausgegeben. +% +% \begin{macrocode} +\newif\if@headcount \@headcounttrue +\DeclareOption{headcount} {\@headcounttrue} +\DeclareOption{noheadcount}{\@headcountfalse} +% \end{macrocode} +% +% +% Die Benutzerschnittstellen zur Definition der Schriftarten in +% \"Uberschriften, Titelei, Kopfzeilen, Abbildungen etc. Die +% Voreinstellungen erfolgen in Optionen. +% +% \begin{macrocode} +\def\partfont#1{\def\p@font{#1}} \def\p@font{} +\def\chapterfont#1{\def\c@font{#1}} \def\c@font{} +\def\chapterauthorfont#1{\def\ca@font{#1}} \def\ca@font{} +\def\sectionfont#1{\def\s@font{#1}} \def\s@font{} +\def\subsectionfont#1{\def\ss@font{#1}} \def\ss@font{} +\def\subsubsectionfont#1{\def\sss@font{#1}} \def\sss@font{} +\def\paragraphfont#1{\def\pg@font{#1}} \def\pg@font{} +\def\subparagraphfont#1{\def\spg@font{#1}} \def\spg@font{} +\def\titlefont#1{\def\t@font{#1}} \def\t@font{} +\def\subtitlefont#1{\def\st@font{#1}} \def\st@font{} +\def\authorfont#1{\def\a@font{#1}} \def\a@font{} +\def\translatorfont#1{\def\a@font{#1}} \def\tr@font{} +\def\institutionfont#1{\def\in@font{#1}} \def\in@font{} +\def\theoremheaderfont#1{\def\thh@font{#1}} \def\thh@font{} +\def\theorembodyfont#1{\def\thb@font{#1}} \def\thb@font{} +\def\itemfont#1{\def\item@font{#1}} \def\item@font{} +\def\examplefont#1{\def\ex@font{#1}} \def\ex@font{} +\def\headingstextfont#1{\def\h@font{#1}} \def\h@font{} +\def\pagenumberfont#1{\def\pn@font{#1}} \def\pn@font{} +\def\captionheaderfont#1{\def\cph@font{#1}} \def\cph@font{} +\def\captionbodyfont#1{\def\cpb@font{#1}} \def\cpb@font{} +\def\figurefont#1{\def\fig@font{#1}} \def\fig@font{} +\def\tablefont#1{\def\tab@font{#1}} \def\tab@font{} +\def\indexsize#1{\def\index@size{#1}} \def\index@size{} +\def\bibsize#1{\def\bib@size{#1}} \def\bib@size{} +% \end{macrocode} +% +% Die Option definiert die Schriften der \texttt{slanted} Variante. +% Gleichzeitig werden Gro\ss{}buchstaben im Titel voreingestellt. +% Diese Option wird an sp\"aterer Stelle voreingestellt. +% +% \begin{macrocode} +\DeclareOption{slanted}{ + \partfont{\Large} + \chapterfont{\large} + \chapterauthorfont{\large} + \sectionfont{\large\slshape} + \subsectionfont{\slshape} + \subsubsectionfont{\slshape} + \paragraphfont{\slshape} + \subparagraphfont{\slshape} + \titlefont{\LARGE} + \subtitlefont{\large} + \authorfont{} + \institutionfont{\slshape} + \translatorfont{} + \theoremheaderfont{\upshape} + \theorembodyfont{} + \itemfont{\slshape} + \examplefont{} + \headingstextfont{\small\slshape} + \pagenumberfont{\small} + \captionheaderfont{\slshape\small} + \captionbodyfont{\small} + \figurefont{} + \tablefont{} +} +% \end{macrocode} +% +% Die Option f\"ur die Schriften der \texttt{bold} Variante. +% +% \begin{macrocode} +\DeclareOption{bold}{% + \partfont{\LARGE\bfseries} + \chapterfont{\LARGE\bfseries} + \chapterauthorfont{\large} + \sectionfont{\Large\bfseries} + \subsectionfont{\large\bfseries} + \subsubsectionfont{\bfseries} + \paragraphfont{\bfseries} + \subparagraphfont{\bfseries} + \titlefont{\LARGE\bfseries} + \subtitlefont{\large} + \authorfont{} + \translatorfont{} + \institutionfont{\slshape} + \theoremheaderfont{\bfseries} + \theorembodyfont{\itshape} + \itemfont{\bfseries} + \examplefont{} + \headingstextfont{\small\bfseries} + \pagenumberfont{\small} + \captionheaderfont{\bfseries} + \captionbodyfont{} + \figurefont{} + \tablefont{} +} +% \end{macrocode} +% +% Die Option f\"ur die Schriften der \texttt{sfbold} Variante. +% +% \begin{macrocode} +\DeclareOption{sfbold}{% + \partfont{\LARGE\sffamily\bfseries} + \chapterfont{\LARGE\sffamily\bfseries} + \chapterauthorfont{\Large\sffamily\bfseries} + \sectionfont{\large\sffamily\bfseries} + \subsectionfont{\large\sffamily\bfseries} + \subsubsectionfont{\sffamily\bfseries} + \paragraphfont{\sffamily\bfseries} + \subparagraphfont{\sffamily} + \titlefont{\LARGE\sffamily\bfseries} + \subtitlefont{\large\sffamily} + \authorfont{\Large\sffamily\slshape} + \translatorfont{} + \institutionfont{\sffamily} + \theoremheaderfont{\sffamily} + \theorembodyfont{} + \itemfont{\sffamily} + \examplefont{} + \headingstextfont{\small\sffamily} + \pagenumberfont{\small\rmfamily} + \captionheaderfont{\sffamily} + \captionbodyfont{} + \figurefont{} + \tablefont{} +} +% \end{macrocode} +% +% Option zur Erzeugung einer Titelseite. +% +% \begin{macrocode} +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +% \end{macrocode} +% +% Optionen, ob Kapitel generell auf der rechten Seite beginnen. +% +% \begin{macrocode} +\DeclareOption{openright}{\@openrighttrue} +\DeclareOption{openany}{\@openrightfalse} +% \end{macrocode} +% +% Option f\"ur zweispaltigen Satz. +% \begin{macrocode} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +% \end{macrocode} +% +% Numerierung der Formeln auf der linken Seite. +% \begin{macrocode} +\DeclareOption{leqno}{\input{leqno.clo}} +% \end{macrocode} +% +% Links ausgerichtete mathematische Umgebungen. +% \begin{macrocode} +\DeclareOption{fleqn}{\input{fleqn.clo}} +% \end{macrocode} +% +% Offenes Bibliographie Format. +% \begin{macrocode} +\DeclareOption{openbib}{\@openbibtrue} +% \end{macrocode} +% +% Die Option gestattet mehrere Literaturverzeichnisse im Text. +% +% \begin{macrocode} +\newif\if@chapterbib \@chapterbibfalse +\DeclareOption{chapterbib}{\@chapterbibtrue} +% \end{macrocode} +% Ausf\"uhren der voreingestellten Optionen. +% \begin{macrocode} +\ExecuteOptions{letterpaper,10pt,oneside,onecolumn,final,openright,% + slanted,center,upper} +% \end{macrocode} +% +% Ausf\"uhren der benutzerspezifischen Optionen. +% +% \begin{macrocode} +\ProcessOptions* +% \end{macrocode} +% +% Einlesen der Schriftgr\"o\ss{}en. +% \begin{macrocode} +\input{bk1\@ptsize.clo} +% \end{macrocode} +% +% +% Standardwerte beim Satz von Paragraphen (Zeilenabst\"ande, +% Zeileneinzug Trennungen, etc.). Standardvorgaben der +% Document-Classes. +% +% \begin{macrocode} +\setlength\lineskip{1\p@} +\setlength\normallineskip{1\p@} +\renewcommand\baselinestretch{} +\if@noind + \setlength\parskip{0.5\baselineskip + \@plus.1\baselineskip \@minus.1\baselineskip} + \setlength\parindent{\z@} + \def\noparskip{\par\vspace{-\parskip}} +\else + \setlength\parskip{0\p@ \@plus 1\p@} + \let\noparskip\relax +\fi +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +% \end{macrocode} +% +% Unver\"anderte Standardvorgaben zur Behandlung von Floats. +% \begin{macrocode} +\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} +% +% +% Variable Kopfzeilen, ggf. zentriert und unterstrichen. +% +% \begin{macrocode} +\def\e@skip{\h@font{\phantom{y}}} +\if@twoside + \def\ps@headings{ + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{% + {\pn@font\thepage}\hfill{\h@font\leftmark}\e@skip\if@center\hfill\fi} + \if@headline \vskip 1.5pt \hrule \fi}}% + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{% + \if@center\hfill\fi{\h@font\rightmark}\e@skip\hfill{\pn@font\thepage}} + \if@headline \vskip 1.5pt \hrule \fi}}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markboth {% + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \@chapapp\ + \if@headcount + \thechapter. \ % + \fi + \fi + \fi + ##1}{}}% + \def\sectionmark##1{% + \markright {% + \ifnum \c@secnumdepth >\z@ + \if@headcount + \thesection. \ % + \fi + \fi + ##1}}} +\else + \def\ps@headings{% + \let\@oddfoot\@empty + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{% + \if@center\hfill\fi{\h@font\rightmark}\e@skip\hfill{\pn@font\thepage}} + \if@headline \vskip 1.5pt \hrule \fi}}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markright {% + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \@chapapp\ + \if@headcount + \thechapter. \ % + \fi + \fi + \fi + ##1}}} +\fi +% \end{macrocode} +% +% Variable Kopfzeilen, ggf. zentriert und unterstrichen. +% +% \begin{macrocode} +\def\ps@myheadings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{% + \if@center\hfill\fi{\h@font\rightmark}\e@skip\hfill{\pn@font\thepage}} + \if@headline \vskip 1.5pt \hrule \fi}}% + \def\@evenhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{% + {\pn@font\thepage}\hfill{\h@font\leftmark}\e@skip\if@center\hfill\fi} + \if@headline \vskip 1.5pt \hrule \fi}}% + \let\@mkboth\@gobbletwo + \let\chaptermark\@gobble + \let\sectionmark\@gobble + } +% \end{macrocode} +% +% Kopfzeile f\"ur vorl\"aufige Formatierungen im Zusammenhang mit +% der Option \texttt{draft}. Die Kopfzeile enth\"alt Datum, Uhrzeit +% und Seitenzahl. +% +% \begin{macrocode} +\def\ps@draft{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{% + {\pn@font\today\ \now\ --- {\h@font \draftname: ``\jobname''} + \hfil\e@skip \thepage}} + \if@headline \vskip 1.5pt \hrule \fi}}% + \def\@evenhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{% + \pn@font\thepage\e@skip\hfil {\h@font \draftname: ``\jobname''} --- + \today\ \now\ } + \if@headline \vskip 1.5pt \hrule \fi}}% + \let\@mkboth\@gobbletwo + \let\chaptermark\@gobble + \let\sectionmark\@gobble + } +% \end{macrocode} +% +% Leere Seiten erhalten eine Markierung am oberen Seitenrand. Dem +% Springer Makro `svma' entliehen. +% +% \begin{macrocode} +\@ifundefined{option@crosshair}{}{% + \def\clap#1{\hbox to 0pt{\hss#1\hss}} \newdimen\@crosshairrule + \@crosshairrule=.24pt \def\@crosshairs{\vbox to + 0pt{\hsize=0pt\baselineskip=0pt\lineskip=0pt \vss \clap{\vrule + height .125in width \@crosshairrule depth 0pt} \clap{\vrule + width .25in height \@crosshairrule depth 0pt} \clap{\vrule + height .125in width \@crosshairrule depth 0pt} \vss}} + \def\ps@empty{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@oddhead{\hfill\raise\headheight\@crosshairs} + \let\@evenhead\@oddhead}} +% \end{macrocode} +% +% Es werden sechs zus\"atzliche Titelangaben definiert. Die Titelei +% durch das Makro |\maketitle| ist entscheidend davon abh\"angig, +% ob einseitiger oder zweiseitiger Druck gew\"unscht ist. Bei zweiseitigem +% Druck wird eine verk\"urzte Titelseite (Umschlag), +% ggf. ein Schmutztitel, Standardtitelseite, ggf. Copyrightseite +% und ggf. Widmung ausgegeben. Bei einseitigem Druck nur der +% Standardtitel und die Widmung. +% +% \begin{macrocode} +\def\@subtitle{} \def\subtitle#1{\gdef\@subtitle{#1}} +\def\@translator{} \def\translator#1{\gdef\@translator{#1}} +\def\@institution{} \def\institution#1{\gdef\@institution{#1}} +\def\@dedication{} \def\dedication#1{\def\@dedication{#1}} +\def\@uppertitleback{} \long\def\uppertitleback#1{\def\@uppertitleback{#1}} +\def\@middletitleback{} \long\def\middletitleback#1{\def\@middletitleback{#1}} +\def\@lowertitleback{} \long\def\lowertitleback#1{\def\@lowertitleback{#1}} +\def\new@tpage{\newpage\thispagestyle{empty}\null} +\def\and{\end{tabular}\hskip 1em plus.17fil + \if@center + \begin{tabular}[t]{c} + \else + \begin{tabular}[t]{@{}l@{}} + \fi} +\def\maketitle{% + \begin{titlepage} + \let\footnotesize\small + \let\footnoterule\relax + \def\thefootnote{\fnsymbol{footnote}} + \if@twoside + \new@tpage + \begin{raggedright} + {\t@font \@title \par}\vskip 1em + {\st@font \@subtitle \par}\vspace{50pt} + {\a@font \lineskip 1.25em + \begin{tabular}[t]{@{}l@{}} + \@author + \end{tabular}\par} + \vfill + {\in@font\@institution\par} + \end{raggedright} + \new@tpage \new@tpage + {\ss@font\@title}\par + {\sss@font\@subtitle} + \new@tpage + \fi + \new@tpage + \begin{center} + {\t@font\@title \par}\vskip 1em + {\st@font\@subtitle \par} + \vspace{50pt} + {\a@font \lineskip 1.25em + \begin{tabular}[t]{c} + \@author + \end{tabular} \par }\vfil + {\tr@font \@translator \par} + \vfil + {\st@font \@date \par} + \vskip 2em + {\in@font\@institution \par} + \end{center} + \par \@thanks + \if@twoside \new@tpage + \noindent\begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \noindent\begin{minipage}[t]{\textwidth} + \@middletitleback + \end{minipage}\par + \vfill + \noindent\begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage} + \fi + \ifx\@dedication\@empty\else \new@tpage + {\centering \Large \@dedication \par} + \fi + \if@twoside \new@tpage \fi + \end{titlepage} + \def\thefootnote{\arabic{footnote}} + \setcounter{footnote}{0} + \if@thema\else\let\thanks\relax\fi + \gdef\@thanks{}\gdef\@author{}\gdef\@translator{}\gdef\@institution{} + \gdef\@uppertitleback{}\gdef\@lowertitleback{}\gdef\@dedication{}% + \gdef\@title{}\gdef\@subtitle{}\let\maketitle\relax} +% \end{macrocode} +% +% +% Im Fall des \texttt{thesis.cls} wird die Zusammenfassung als Teil +% der Titelseite wie ein Kapitel gesetzt, die nicht zur Titelseite +% z\"ahlt. Handelt es sich um ein +% \texttt{thema.cls}-Dokument, wird zus\"atzlich die Umgebung +% |\chapterabstract| +% definiert, die eine Zusammenfassung nach jeder Kapitel\"uberschrift erlaubt. +% Diese wird in Abh\"angigkeit von der Stiloption \texttt{center} zentriert +% oder als |subsection*| gesetzt. +% +% \begin{macrocode} +\def\abstract{%\titlepage + \chapter*{\abstractname\@mkboth{\abstractname}{\abstractname}}} +\def\endabstract{\par\vfil\null\endtitlepage} +\if@thema + \if@center + \def\chapterabstract{\if@twocolumn + \subsection*{\abstractname}% + \else \small + \begin{center}% + {\pg@font \abstractname\vspace{-.5em}\vspace{\z@}}% + \end{center}% + \quotation + \fi} + \def\endchapterabstract{\if@twocolumn\else\endquotation\fi} + \else + \def\chapterabstract{\if@twocolumn + \subsection*{\abstractname}% + \else \small + \subsection*{\abstractname}% + \fi} + \def\endchapterabstract{\par\bigskip} + \fi +\fi +% \end{macrocode} +% +% Definition und Initialisierung der Gliederungsz\"ahler. +% +% \begin{macrocode} +\newcommand*{\chaptermark}[1]{} +\setcounter{secnumdepth}{2} +\newcounter {part} +\newcounter {chapter} +\newcounter {section}[chapter] +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] +\renewcommand{\thepart} {\Roman{part}} +\renewcommand{\thechapter} {\arabic{chapter}} +\renewcommand{\thesection} {\thechapter.\arabic{section}} +\renewcommand{\thesubsection} {\thesection.\arabic{subsection}} +\renewcommand{\thesubsubsection}{\thesubsection .\arabic{subsubsection}} +\renewcommand{\theparagraph} {\thesubsubsection.\arabic{paragraph}} +\renewcommand{\thesubparagraph} {\theparagraph.\arabic{subparagraph}} +% \end{macrocode} +% +% Die Bezeichnung des Kapitels bleibt standardm\"a\ss{}ig +% leer. Soll eine Kapitelbezeichnung (z.Z. nur in Kopfzeilen) +% ausgegeben werden, ist dies mittels der Zuweisung +% |\chapapp{\chaptername}| im Dokument m\"oglich. +% +% \begin{macrocode} +\def\chapapp#1{\def\@chapapp{#1}} \def\@chapapp{} +% \end{macrocode} +% +% Die folgenden Kommandos trennen die logischen Teile eines +% Buches. |\frontmatter| beginnt eine neue Seite mit r\"omischer +% Numerierung und schaltet die Ausgabe des Kapitelz\"ahlers +% aus. |\mainmatter| er\"offnet eine neue Seite, schaltet die Ausgabe +% des Kapitelz\"ahlers ein und wechselt auf arabische +% Zahlen. |\backmatter| schaltet die Kapitelz\"ahlung wieder ab und +% l\"a\ss{}t die Seitenz\"ahlung unver\"andert. +% +% \begin{macrocode} +\newcommand{\frontmatter}{\cleardoublepage + \@mainmatterfalse\pagenumbering{roman}} +\newcommand{\mainmatter}{\cleardoublepage + \@mainmattertrue\pagenumbering{arabic}} +\newcommand{\backmatter}{\if@openright\cleardoublepage\else\clearpage\fi + \@mainmatterfalse} +% \end{macrocode} +% +% Der Satz einer Teil\"uberschrift erfolgt ggf. in +% Gro\ss{}buchstaben und der voreingestellten Schriftart. +% +% \begin{macrocode} +\newcommand{\part}{\cleardoublepage + \thispagestyle{empty}% + \if@twocolumn + \onecolumn\@tempswatrue + \else + \@tempswafalse + \fi + \vspace*{\beforechaptervspace}% + \secdef\@part\@spart} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax \refstepcounter{part} + \addcontentsline{toc}{part}{\partname\ \thepart \hspace{1em}#1}% + \else + \addcontentsline{toc}{part}{#1}\fi \markboth{}{}% + {\if@center + \centering + \else + \raggedright + \fi + \reset@font + \ifnum \c@secnumdepth >-2\relax + \p@font \partname{} \thepart \par + \vskip 20pt + \fi + \p@font + \if@upper + \uppercase{#2} + \else #2 + \fi + \par} +\@endpart} +\def\@spart#1{% + {\if@center + \centering + \else + \raggedright + \fi + \reset@font\p@font + \if@upper + \uppercase\expandafter{#1} + \else #1% + \fi\par} + \@endpart} +\def\@endpart{\vfil\newpage + \if@twoside + \hbox{}% + \thispagestyle{empty}% + \newpage + \fi + \if@tempswa + \twocolumn + \fi} +% \end{macrocode} +% +% Definition des |\chapterauthor|, der vom Makro +% |\@makechapterauthor| gesetzt wird. |\@shortauthor| +% \"ubernimmt die Namen f\"ur die Kopfzeile und den Eintrag im +% Inhaltsverzeichnis. +% +% \begin{macrocode} +\if@thema + \def\chapterauthor#1{\gdef\@chapterauthor{#1}} \def\@chapterauthor{} + \def\shortauthor#1{\gdef\@shortauthor{#1}} \def\@shortauthor{} + \def\@makechapterauthor{\par + \def\thefootnote{\fnsymbol{footnote}}% + \def\@makefnmark{\hbox + to\z@{$\m@th^{\@thefnmark}$\hss}}% + \if@center + \centering + \else\parindent\z@ + \raggedright + \fi + {\ca@font \lineskip .5em + \if@center + \begin{tabular}[t]{c} + \else + \begin{tabular}[t]{@{}l@{}} + \fi + \@chapterauthor + \end{tabular} \par}\@thanks + \vskip30\p@ + \gdef\@chapterauthor{}\gdef\@shortauthor{} + \gdef\@thanks{}\setcounter{footnote}{0}} +\fi +% \end{macrocode} +% +% Die Definition von |\@chapter| wird so ge\"andert, da\ss{} im +% Fall eines Sammelwerkes ggf. die Autoren des Kapitels ins +% Inhaltsverzeichnis aufgenommen werden. +% +% \begin{macrocode} +\newcommand{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{empty}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{% + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\chaptername\space\thechapter.} + \if@thema + \ifx\@shortauthor\@empty + \addcontentsline{toc}{chapter}{% + \protect\numberline{\thechapter.}#1}% + \else + \addcontentsline{toc}{chapter}{% + \protect\numberline{\thechapter.}% + \@shortauthor\hfill\mbox{}\vskip\normallineskip #1}% + \fi + \else + \addcontentsline{toc}{chapter}{% + \protect\numberline{\thechapter.}#1}% + \fi + \else + \addcontentsline{toc}{chapter}{#1} + \fi + \else + \addcontentsline{toc}{chapter}{#1} + \fi + \chaptermark{#1} + \addtocontents{lof}{\protect\addvspace{10pt}} + \addtocontents{lot}{\protect\addvspace{10pt}} + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}] + \else + \@makechapterhead{#2} + \@afterheading + \fi} +% \end{macrocode} +% +% +% Der Anfangs- und der Endeabstand eines Kapitels sind frei w\"ahlbar. +% +% \begin{macrocode} +\newlength{\beforechaptervspace} +\setlength{\beforechaptervspace}{50pt} +\newlength{\afterchaptervspace} +\setlength{\afterchaptervspace}{30pt} +% \end{macrocode} +% +% Ist |\chapapp| nicht definiert, erfolgt nur der Satz von +% Kapitelz\"ahler und \"Uberschrift. Das Makro wird derart +% variiert, da\ss{} entweder zentrierte oder rechtsb\"undige +% \"Uberschriften erzeugt werden. Im Fall rechtsb\"undiger +% \"Uberschriften wird die Numerierung ausgespart. Anderfalls +% erfolgt die Ausgabe des Kapitelnames und des Z\"ahlers in einer +% eigenen Zeile und anschlie\ss{}end die \"Uberschrift. Wiederum +% ggf. zentriert. Abschlie\ss{}end werden ggf. die Namen der +% Kapitelautoren in die Kopfzeile aufgenommen und das Makro +% |\@makechapterauthors| wird aufgerufen. +% +% \begin{macrocode} +\def\@makechapterhead#1{% + \vspace*{\beforechaptervspace}{% + \ifx\@chapapp\@empty + \if@center\centering + \ifnum \c@secnumdepth >\m@ne + {\c@font\thechapter.\ } + \fi + {\c@font + \if@upper + \uppercase{#1} + \else + #1 + \fi + \par \nobreak} + \else\raggedright + \ifnum \c@secnumdepth >\m@ne + \setbox\@tempboxa\hbox{\c@font\thechapter.\ % + \c@font + \if@upper + \uppercase{#1} + \else + #1% + \fi} + \ifdim \wd\@tempboxa >\hsize + \@hangfrom{% + \c@font\thechapter.\ }{\c@font + \if@upper + \uppercase{#1} + \else + #1% + \fi + \par\nobreak} + \else + \hbox to\hsize{\box\@tempboxa\hfil} + \fi + \fi + \fi + \else + \if@center + \centering + \else + \raggedright + \fi + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + {\s@font \@chapapp{} \thechapter} + \par \vskip 15\p@ + \fi + \fi + {\c@font + \if@upper + \uppercase{#1} + \else + #1% + \fi + \par \nobreak} + \fi + \vspace{\afterchaptervspace} + \if@thema + \ifx\@shortauthor\@empty + \else + \@mkboth{\@shortauthor}{#1} + \fi + \ifx\@chapterauthor\@empty + \else + \@makechapterauthor + \fi + \fi} +} +% \end{macrocode} +% +% Definitionen der Sternform. +% +% \begin{macrocode} +\def\@schapter#1{% + \if@twocolumn + \@topnewpage[\@makeschapterhead{#1}] + \else + \@makeschapterhead{#1}\@afterheading + \fi} +\def\@makeschapterhead#1{% + \vspace*{\beforechaptervspace}{% + \if@center + \centering + \else + \parindent\z@\raggedright + \fi + {\c@font + \if@upper + \uppercase\expandafter{#1} + \else + #1% + \fi + \par\nobreak + \vskip 30\p@} + \if@thema + \ifx\@shortauthor\@empty + \else + \@mkboth{\@shortauthor}{#1} + \fi + \ifx\@chapterauthor\@empty + \else + \@makechapterauthor + \fi\fi + }} +% \end{macrocode} +% +% Die folgenden Kommandos definieren \"Uberschriften auf tieferer +% Gliederungsebene. Gegen\"uber den Standardklassen wurde jeweils die +% M\"oglichkeit zentrierter \"Uberschriften eingef\"uhrt, und es wurden +% die Schriftarten ver\"andert. +% +% \begin{macrocode} +\newcommand\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\if@center\centering\else\raggedright\fi + \reset@font\s@font}} +\newcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\if@center\centering\else\raggedright\fi + \reset@font\ss@font}} +\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\if@center\centering\else\raggedright\fi + \reset@font\sss@font}} +\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {3.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\reset@font\pg@font}} +\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {3.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\reset@font\spg@font}} +% \end{macrocode} +% +% Es folgt die Definition verschiedener Listenumgebungen. Zun\"achst +% werden eine Reihe globaler Definitionen und Einstellungen +% \"ubernommen. +% +% \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} +% +% Definitionen der Listenumgebungen. Zun\"achst die Voreinstellungen +% f\"ur die Umgebung |enumerate| f\"ur Standard bzw. dekadische +% Numerierung. +% +% \begin{macrocode} +\if@enumeration + \renewcommand\theenumi{\arabic{enumi}} + \renewcommand\theenumii{\alph{enumii}} + \renewcommand\theenumiii{\roman{enumiii}} + \renewcommand\theenumiv{\Alph{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} +\else + \renewcommand\theenumi{\arabic{enumi}} + \renewcommand\theenumii{\arabic{enumii}} + \renewcommand\theenumiii{\arabic{enumiii}} + \renewcommand\theenumiv{\arabic{enumiv}} + \newcommand\labelenumi{\theenumi.} + \newcommand\labelenumii{\theenumi.\theenumii.} + \newcommand\labelenumiii{\theenumi.\theenumii.\theenumiii.} + \newcommand\labelenumiv{\theenumi.\theenumii.\theenumiii.\theenumiv.} + \renewcommand\p@enumii{\theenumi} + \renewcommand\p@enumiii{\theenumi(\theenumii)} + \renewcommand\p@enumiv{\p@enumiii\theenumiii} +\fi +% \end{macrocode} +% +% Definition \texttt{itemize} der Item-Markierungen. Entweder +% \"ubliche Staffelung der Markierungen oder keine Hervorhebung der +% "`items"'. +% +% \begin{macrocode} +\if@itemization + \newcommand\labelitemi{$\m@th\bullet$} + \newcommand\labelitemii{\normalfont\bfseries --} + \newcommand\labelitemiii{$\m@th\ast$} + \newcommand\labelitemiv{$\m@th\cdot$} +\else + \newcommand\labelitemi{\bfseries --} + \newcommand\labelitemii{\bfseries --} + \newcommand\labelitemiii{\bfseries --} + \newcommand\labelitemiv{\bfseries --} +\fi +% \end{macrocode} +% +% Die Labels der \texttt{description} Umgebung werden in der +% Schriftart |\item@font| gesetzt. +% +% \begin{macrocode} +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand\descriptionlabel[1]{\hspace\labelsep + \item@font #1} +% \end{macrocode} +% +% Unver\"anderte Definition der \texttt{verse} Umgebung. +% +% \begin{macrocode} +\newenvironment{verse} + {\let\\=\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em}% + \item[]} + {\endlist} +% \end{macrocode} +% +% Unver\"anderte Definition der \texttt{quotation} Umgebung. +% +% \begin{macrocode} +\newenvironment{quotation} + {\list{}{\listparindent 1.5em% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \item[]} + {\endlist} +% \end{macrocode} +% +% Unver\"anderte Definitionen der \texttt{quote} Umgebung. +% +% \begin{macrocode} +\newenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \item[]} + {\endlist} +% \end{macrocode} +% +% Die Bezeichnung einer \texttt{theorem} Umgebung wird in der +% Schriftart |\thh@font| gesetzt, der Text selbst in +% |\thb@font|. +% +% \begin{macrocode} +\def\@begintheorem#1#2{\reset@font\thb@font\trivlist + \item[\hskip \labelsep{\reset@font\thh@font #1\ #2:}]} +\def\@opargbegintheorem#1#2#3{\reset@font\thb@font\trivlist + \item[\hskip \labelsep{\reset@font\thh@font #1\ #2\ (#3):}]} +\def\@endtheorem{\endtrivlist} +% \end{macrocode} +% +% Die Umgebung zur Beschreibung von Beispielen. +% +% \begin{macrocode} +\newlength{\exampleindent} \setlength{\exampleindent}{\parindent} +\newenvironment{example}% + {\begin{list}{}{% + \setlength{\leftmargin}{\exampleindent}} + \ex@font \item[]} + {\end{list}} +% \end{macrocode} +% +% Die \texttt{describe}-Umgebung. Das \"ubergebene Argument +% dient zur Berechnung des breitesten Labels. +% +% \begin{macrocode} +\newenvironment{describe}[1][\quad]% + {\begin{list}{}{% + \renewcommand{\makelabel}[1]{{\item@font ##1}\hfil}% + \settowidth{\labelwidth}{{\item@font #1}}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\leftmargin}{\labelsep}}}% + {\end{list}} +% \end{macrocode} +% +% Umgebung zur Erzeugung der Titelseite. +% +% \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} +% +% Ist |\@chapapp| nicht initialisiert (Voreinstellung), wird +% der Anhang durch einen Teil abgesetzt. +% +% Das Kommando \verb|\addtocontentsline| wird durch die Definition +% \verb|\@addappendixtocontents| ersetzt, soda\ss{} ein Anhang auch als +% \verb|\include|-Datei eingelesen werden kann (Dank an Uwe Schellhorn). +% +% \begin{macrocode} +\newcommand\appendix{\par + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \ifx\@chapapp\@empty + \def\@addappendixtocontents{\addcontentsline{toc}{part}{\appendixname}} + \part*{\appendixname\@mkboth{\appendixname}{\appendixname}%% + \@addappendixtocontents} + \else + \renewcommand{\@chapapp}{\appendixname}% + \fi + \renewcommand{\thechapter}{\Alph{chapter}}} +% \end{macrocode} +% +% Unver\"anderte Voreinstellungen der \texttt{array} Umgebung. +% +% \begin{macrocode} +\setlength\arraycolsep{5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.4\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} +% \end{macrocode} +% +% Unver\"anderte Voreinstellungen der \texttt{minipage} Umgebung. +% +% \begin{macrocode} +\skip\@mpfootins = \skip\footins +% \end{macrocode} +% +% Unver\"anderte Voreinstellungen der \texttt{fbox}. +% +% \begin{macrocode} +\setlength\fboxsep{3\p@} +\setlength\fboxrule{.4\p@} +% \end{macrocode} +% +% Z\"ahler zur Erzeugung von Gleichungsnummern wird nach jedem +% Kapitel zur\"uckgesetzt. +% +% \begin{macrocode} +\@addtoreset{equation}{chapter} +\renewcommand{\theequation}{\thechapter.\arabic{equation}} +% \end{macrocode} +% +% Die Definition einiger Kommandos zur Erzeugung von Randnotizen in +% Anlehnung an H. Partls |\refman.sty|. Im Unterschied zur +% dortigen Definition erscheinen die Notizen nicht nur am linken +% Seitenrand. +% +% \begin{macrocode} +\def\marginlabel#1{\marginpar% + {\if@twoside + \ifodd\c@page + \raggedright + \else + \raggedleft + \fi + \else + \raggedright + \fi #1}} +\def\attention{\mbox{}% + \marginpar[\raggedleft\large\bf! $\rightarrow$]% + {\raggedright\large\bf $\leftarrow$ !}} +\def\seealso#1{\mbox{}% + \marginpar[\raggedleft$\rightarrow$ \small #1]% + {\raggedright\small #1 $\leftarrow$}\ignorespaces} +% \end{macrocode} +% +% Definition des Abbildungsz\"ahlers. +% +% \begin{macrocode} +\newcounter{figure}[chapter] +\renewcommand{\thefigure}{\thechapter.\@arabic\c@figure} +% \end{macrocode} +% +% Voreinstellungen der \texttt{figure} Umgebung. Im Makro +% |\fnum@figure| wird der Kurzname benutzt. Die "`Floats"' +% werden in der voreingestellten Schrift |\fig@font| gesetzt. +% +% \begin{macrocode} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figureshortname~\thefigure} +\newenvironment{figure} + {\fig@font\@float{figure}} + {\end@float} +\newenvironment{figure*} + {\fig@font\@dblfloat{figure}} + {\end@dblfloat} +% \end{macrocode} +% +% Definition des Tabellenz\"ahlers. +% +% \begin{macrocode} +\newcounter{table}[chapter] +\renewcommand{\thetable}{\thechapter.\@arabic\c@table} +% \end{macrocode} +% +% Voreinstellungen der \texttt{table} Umgebung. Im Makro +% |\fnum@table| wird der Kurzname benutzt. Die "`Floats"' +% werden in der voreingestellten Schrift |\tab@font| gesetzt. +% +% \begin{macrocode} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tableshortname~\thetable} +\newenvironment{table} + {\tab@font\@float{table}} + {\end@float} +\newenvironment{table*} + {\tab@font\@dblfloat{table}} + {\end@dblfloat} +% \end{macrocode} +% +% Unver\"anderte Abst\"ande. +% +% \begin{macrocode} +\newlength\abovecaptionskip +\newlength\belowcaptionskip +\setlength\abovecaptionskip{10\p@} +\setlength\belowcaptionskip{0\p@} +% \end{macrocode} +% +% Lange Figuren oder Tabellenbeschriftungen werden um Bezeichnung +% und Nummer einger\"uckt. Beschriftungen werden in den Fonts +% |cph@font| und |\cpb@font| gesetzt. +% +% \begin{macrocode} +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \setbox\@tempboxa\hbox{{\cph@font #1:} {\cpb@font #2}}% + \ifdim \wd\@tempboxa >\hsize + \@hangfrom{\cph@font #1: }{\cpb@font #2\par}% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip} +% \end{macrocode} +% +% Einfache St\"utze zur Tabellenkonstruktion. +% +% \begin{macrocode} +\def\rb#1{\raisebox{1.5ex}[-1.5ex]{#1}} +% \end{macrocode} +% +% Einfache horizontale Linien in Tabellen. Die Definition der +% Makros entspricht der Konstruktion von |\hline|. +% Das von den Befehlen aufgerufene Makro +% |\@xhline| f\"ugt einen zus\"atzlichen Vorschub ein, falls der +% Befehl wiederholt gegeben wird. +% +% \begin{macrocode} +\def\tablerule{\noalign{\ifnum0=`}\fi + \hrule \@height \arrayrulewidth \vskip\doublerulesep + \futurelet \@tempa\@xhline} +\def\thicktablerule{\noalign{\ifnum0=`}\fi + \hrule \@height 2\arrayrulewidth \vskip\doublerulesep + \futurelet \@tempa\@xhline} +\def\doubletablerule{\noalign{\ifnum0=`}\fi + \hrule \@height \arrayrulewidth \vskip2\arrayrulewidth + \hrule \@height \arrayrulewidth \vskip\doublerulesep + \futurelet \@tempa\@xhline} +% \end{macrocode} +% +% Definition st\"arkerer und doppelter |\hline| Varianten. +% +% \begin{macrocode} +\def\thickhline{\noalign{\ifnum0=`}\fi + \hrule \@height 2\arrayrulewidth\futurelet \@tempa\@xhline} +\def\doublehline{\noalign{\ifnum0=`}\fi + \hrule \@height \arrayrulewidth\vskip2\arrayrulewidth + \hrule \@height \arrayrulewidth \futurelet \@tempa\@xhline} +% \end{macrocode} +% +% +% Unver\"anderte Definition der \LaTeX{} 2.09 Schriftartenkommandos +% und der Kommandos f\"ur mathematische Zeichens\"atze. +% +% \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} +\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}} +\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}} +% \end{macrocode} +% +% Definition von Abst\"anden und Gliederungstiefe f\"ur das +% Inhaltsverzeichnis. +% +% \begin{macrocode} +\newcommand{\@pnumwidth}{1.55em} +\newcommand{\@tocrmarg} {2.55em} +\newcommand{\@dotsep}{4.5} +\setcounter{tocdepth}{2} +% \end{macrocode} +% + +% Makro zur Erzeugung des Inhaltsverzeichnisses. +% +% \begin{macrocode} +\newcommand{\tableofcontents}{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{\contentsname}% + {\contentsname}}% + \@starttoc{toc}% + \if@restonecol\twocolumn\fi + } +% \end{macrocode} +% +% Nur die Teil\"uberschrift, nicht aber die Seitenzahl wird +% im Inhaltsverzeichnis hervorgehoben. +% +% \begin{macrocode} +\newcommand*{\l@part}[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + {\sss@font #1}\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}} + \endgroup + \fi} +% \end{macrocode} +% +% Auch der Kapiteleintrag wird als |\dottedtocline| gesetzt. Die +% Seitenzahl wird nicht hervorgehoben. +% +% \begin{macrocode} +\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 + \advance\leftskip\@tempdima + \hskip -\leftskip + {\sss@font #1}% + \nobreak\leaders\hbox{% + $\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$} + \hfill\nobreak\hbox to\@pnumwidth{\hfil\textrm{#2}}\par + \penalty\@highpenalty + \endgroup + \fi} +% \end{macrocode} +% +% Unver\"anderte Definition der Untereintr\"age ins Inhaltsverzeichnis. +% +% \begin{macrocode} +\newcommand*{\l@section} {\@dottedtocline{1}{1.5em}{2.3em}} +\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} +% +% Die Definitionen f\"ur das Abbildungs- und das Tabellenverzeichnis. +% Kopfzeilenmarkierungen werden nicht in Gro\ss{}buchstaben +% umgewandelt. +% +% \begin{macrocode} +\newcommand{\listoffigures}{% + \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}} +\newcommand{\listoftables}{% + \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} +% +% Die Definition des Literaturverzeichnisses. Die +% Kopfzeilenmarkierung wird nicht in Gro\ss{}buchstaben +% umgewandelt. Ist die Option \texttt{chapterbib} gew\"ahlt, wird +% das Literaturverzeichnis als |\section| gesetzt. +% +% \begin{macrocode} +\newdimen\bibindent +\bibindent=1.5em +\newenvironment{thebibliography}[1] + {\if@chapterbib + \section*{\refname\@mkboth{\refname}{\refname}}% + \else + \chapter*{\bibname\@mkboth{\bibname}{\bibname}}% + \fi + \list{\@biblabel{\arabic{enumiv}}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \if@openbib + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + \fi + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\arabic{enumiv}}}% + \if@openbib + \renewcommand\newblock{\par} + \else + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% + \fi + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\newcommand\newblock{} +% \end{macrocode} +% +% Die folgenden Makros werden nur bei Verwendung der Option +% \texttt{chapterbib} aktiviert. Das Kommando |\thebibliograpy| +% liest nicht mehr |\jobname.bbl|, sondern +% |@\bblfile|. Das Makro |\@include| wird dahingehend +% ge\"andert, da\ss{} |\@bblfile| auf den Namen der entsprechenden +% Include Datei initialisiert. Die Makros stammen von Joachim +% Schrodt \texttt{`bibperinclude.sty'} . +% +% \begin{macrocode} +\if@chapterbib + \def\@mainbblfile{\jobname.bbl} + \let\@bblfile=\@mainbblfile + \def\bibliography#1{% + \if@filesw\immediate\write\@auxout{\string\bibdata{#1}}\fi + \@input{\@bblfile}} + \def\@include#1 {\clearpage + \if@filesw \immediate\write\@mainaux{\string\@input{#1.aux}}\fi + \@tempswatrue + \if@partsw \@tempswafalse\edef\@tempb{#1} + \@for\@tempa:=\@partlist\do{\ifx\@tempa\@tempb\@tempswatrue\fi} + \fi + \if@tempswa + \if@filesw \let\@auxout=\@partaux + \immediate\openout\@partaux #1.aux + \immediate\write\@partaux{\relax} + \fi + \def\@bblfile{#1.bbl}\@input{#1.tex} + \let\@bblfile\@mainbblfile\clearpage + \@writeckpt{#1} + \if@filesw + \immediate\closeout\@partaux + \fi + \let\@auxout=\@mainaux\else\@nameuse{cp@#1} + \fi} +\fi +% \end{macrocode} +% +% Definition des Index. Die Kopfzeilenmarkierung wird nicht in +% Gro\ss{}buchstaben umgewandelt. Der Seitenstil ist standardm\"a\ss{}ig +% \texttt{empty}, da Kopfzeilen voreingestellt sind. Der Satz +% erfolgt in der Schriftgr\"o\ss{}e |\indexsize|. +% +% \begin{macrocode} +\newenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\indexname}% + {\indexname}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem\index@size} + {\if@restonecol\onecolumn\else\clearpage\fi} +\newcommand{\@idxitem} {\par\hangindent 40\p@} +\newcommand{\subitem} {\par\hangindent 40\p@ \hspace*{20\p@}} +\newcommand{\subsubitem}{\par\hangindent 40\p@ \hspace*{30\p@}} +\newcommand{\indexspace}{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} +% \end{macrocode} +% +% Unver\"anderte Definition der |\footnoterule|. +% +% \begin{macrocode} +\renewcommand\footnoterule{% + \kern-3\p@ + \hrule width .4\columnwidth + \kern 2.6\p@} +% \end{macrocode} +% +% Der Satz von Fu\ss{}notenabs\"atzen variiert in Abh\"angigkeit von der +% Option \texttt{par}; ggf. werden Fu\ss{}noten ohne Einzug +% geblockt. In jedem Fall wird nach dem Fu\ss{}notenzeichen ein +% Zwischenraum von \texttt{.25em} eingef\"ugt. +% +% \begin{macrocode} +\@addtoreset{footnote}{chapter} +\if@noind + \long\def\@makefntext#1{% + \leftskip 2.0em% + \noindent + \hbox to 0em{\hss\@makefnmark\kern 0.25em}#1} +\else + \long\def\@makefntext#1{% + \parindent 1em% + \noindent + \hbox to 1.8em{\hss\@makefnmark\kern 0.25em}#1} +\fi +% \end{macrocode} +% +% Definition der "`Captions"'. Standardm\"a\ss{}ig werden Kurznamen f\"ur +% Abbildungen und Tabellen benutzt, die im entsprechenden +% |captions|\emph{language} Makro des \texttt{german.sty} +% eingef\"ugt werden sollten. Die Definitionen der deutschen und +% franz\"osischen Namen folgen im Anschlu\ss{} an die Liste als +% Metakommentar. +% +% \begin{macrocode} +\def\contentsname{Contents} +\def\listfigurename{List of Figures} +\def\listtablename{List of Tables} +\def\bibname{Bibliography} +\def\refname{References} +\def\indexname{Index} +\def\figurename{Figure} +\def\tablename{Table} +\def\chaptername{Chapter} +\def\appendixname{Appendix} +\def\partname{Part} +\def\abstractname{Abstract} +\def\draftname{preliminary draft} +\def\figureshortname{Fig.} % <-- thesis +\def\tableshortname{Tab.} % <-- thesis +\def\prefacename{Preface} % <-- thesis +% \end{macrocode} +%\iffalse +% in: \def\captionsenglish{% +% \def\figureshortname{Fig.}% +% \def\tableshortname{Tab.}% +% \def\prefacename{Preface}}% +% \def\keywordname{Keywords} +% in: \def\captionsfrench{% +% \def\prefacename{Pr\'eface}% +% \def\figureshortname{Fig.}% +% \def\tableshortname{Tab.}}% +% \def\keywordname{Motcl\'e} +% in: \def\captionsgerman{% +% \def\figureshortname{Abb.} +% \def\tableshortname{Tab.} +% \def\keywordname{Deskriptoren} +% \fi +% +% Definition des Datums und verschiedene Initialisierungen. +% Im Unterschied zum Standardstil \texttt{article} ist die +% Benutzung von Kopfzeilen voreingestellt. +% +% \begin{macrocode} +\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} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\iffinal + \pagestyle{headings} +\else + \pagestyle{draft} +\fi +\pagenumbering{arabic} +\if@twoside +\else + \raggedbottom +\fi +\if@twocolumn + \twocolumn + \sloppy + \flushbottom +\else + \onecolumn +\fi +% \end{macrocode} +% \begin{macrocode} +%</thesis> +% \end{macrocode} +% \section{Treiber-Datei} +% +% Der letzte Abschnitt enth\"alt die Treiberdatei zur Erstellung der +% Dokumentation. +% \begin{macrocode} +%<*driver> +\typeout{*******************************************************} +\typeout{* Documentation for LaTeX styles `thesis' & `thema' *} +\typeout{*******************************************************} + +\documentclass[11pt]{ltxdoc} +\usepackage{german} + +\makeatletter +\newif\ifsolodoc + \@ifundefined{solo}{\solodoctrue}{\solodocfalse} +\IndexPrologue{\section*{Index}% + \markboth{Index}{Index}% + Die kursiv gesetzten Seitenzahlen + verweisen auf Beschreibungen der Makros, + unterstrichene Programmzeilennummern + auf deren Definitionen.} +\GlossaryPrologue{\section*{Neuerungen}% + \markboth{Neuerungen}{Neuerungen}} +\def\saved@macroname{Neuerung} +\renewenvironment{theglossary}{% + \glossary@prologue% + \GlossaryParms \let\item\@idxitem \ignorespaces}% + {} +\makeatother +\setcounter{StandardModuleDepth}{1} +% \OnlyDescription +% \CodelineIndex +\CodelineNumbered +\RecordChanges +\setlength{\parindent}{0pt} +\begin{document} +\DocInput{thesis.dtx} \newpage \PrintChanges % \newpage \PrintIndex +\end{document} +\endinput +%</driver> +% \end{macrocode} +%% \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 \~} +%% +% \Finale +% \endinput +# Local Variables: +# mode: latex +# TeX-master: "thesis.drv" +# End: + + + |