summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/jkthesis/jkthesis.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/jkthesis/jkthesis.dtx
Initial commit
Diffstat (limited to 'macros/latex/contrib/jkthesis/jkthesis.dtx')
-rw-r--r--macros/latex/contrib/jkthesis/jkthesis.dtx1537
1 files changed, 1537 insertions, 0 deletions
diff --git a/macros/latex/contrib/jkthesis/jkthesis.dtx b/macros/latex/contrib/jkthesis/jkthesis.dtx
new file mode 100644
index 0000000000..52fbf74b49
--- /dev/null
+++ b/macros/latex/contrib/jkthesis/jkthesis.dtx
@@ -0,0 +1,1537 @@
+% \iffalse
+%%
+%% ----------------------------------------------------------------------------
+%%
+%% Jochen´s LaTeX document class for typesetting theses
+%%
+%% Copyright (C) 2000,2001,2002 Jochen Küpper
+%% $Id: jkthesis.dtx,v 1.107 2002/07/18 06:11:05 jochen Exp $
+%%
+%% This file may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.2 of this license or (at your
+%% option) any later version. The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX version
+%% 1999/12/01 or later.
+%%
+%% It would be nice if you recognize using this class in your copyright page.
+%% See the default \copyrightpage entry for details.
+%%
+%% ----------------------------------------------------------------------------
+%%
+% \fi
+%%
+%% \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 \~}
+%%
+% \iffalse
+%
+\newcommand{\docdate}{} % See the renewcommands below,
+\newcommand{\filedate}{} % these contain the content;-))
+\newcommand{\fileversion}{}
+%
+%<*driver>
+\documentclass[a4paper,ngerman]{ltxdoc}
+\usepackage{babel}
+\usepackage{fixltx2e}
+\usepackage{ae}
+\usepackage{mathpazo}
+ \renewcommand{\sfdefault}{phvv} % Helvetica scaled by 0.95
+ \renewcommand{\ttdefault}{aett} % Courier
+\usepackage[colorlinks,hyperindex=false]{hyperref}
+\AtBeginDocument{
+%</driver>
+\renewcommand{\docdate}{2002/07/18}
+\renewcommand{\filedate}{2002/07/18}
+\renewcommand{\fileversion}{1.1}
+%<*driver>
+}
+\CodelineIndex
+\setcounter{tocdepth}{2}
+\setlength{\abovecaptionskip}{2mm}
+\setlength{\belowcaptionskip}{2mm}
+\newcommand{\origttfamily}{}
+\let\origttfamily=\ttfamily
+\renewcommand{\ttfamily}{\origttfamily \hyphenchar\font=`\-}
+\newcommand{\origtexttt}[1]{}
+\let\origtexttt=\texttt
+\renewcommand{\texttt}[1]{\origtexttt{\hyphenchar\font=`\- #1}}
+\hypersetup{
+ pdfauthor = {Jochen K\"upper},
+ pdfkeywords = {Dissertation LaTeX Heinrich-Heine-Universit\"at},
+ pdftitle = {Die jkthesis Dokumentklasse},
+ pdfsubject = {LaTeX document class for typesetting a thesis}
+}
+\renewcommand{\BibTeX}{\texorpdfstring{%
+ \textsc{Bib}\kern-.08em\TeX}{BibTeX}}
+\newcommand{\AMSLaTeX}{\texorpdfstring{%
+ $\mathcal{A}$\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}%
+ \kern-.125em$\mathcal{S}$-\LaTeX}{AMS-LaTeX}}
+\begin{document}
+\title{Die jkthesis Dokumentklasse\thanks{Diese Datei hat die Version
+ \fileversion, letzte \"Anderungen der Makros am \filedate, der
+ Dokumentation am \docdate.}}
+\author{Jochen K\"upper \\ \small jochen@jochen-kuepper.de}
+\date{\filedate}
+\maketitle
+\begin{abstract}
+ \noindent
+ Eine \LaTeXe-Dokumentklasse f\"ur eine Dissertation an der
+ Heinrich-Heine-Universit\"at D\"usseldorf, unter Ber\"ucksichtigung der
+ M\"oglichkeit zur elektronischen Ver\"offentlichung der Dissertation.
+\end{abstract}
+\tableofcontents
+\DocInput{jkthesis.dtx}
+\PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+%
+% \section{Warnung}
+%
+% Dies ist eine Vorabversion dieser Klasse um R\"uckmeldungen und W\"unsche von
+% anderen Benutzern zu erhalten. Die Schnittstelle kann jederzeit (und ohne
+% Vorwarnung) ge\"andert werden.
+%
+% Nichtsdestotrotz ist die Klasse voll funktionsf\"ahig. Da sie zur Zeit noch
+% "`h\"ochstnichtstandard"' ist, sollte sie ohnehin mit dem Hauptdokument
+% zusammen gspeichert werden, so dass in dieser Hinsicht keinerlei Probleme
+% zu erwarten sind.
+%
+% Ich werde mich bem\"uhen, nach au\ss{}en sichtbare \"Anderungen klein zu
+% halten, werde aber zur Zeit noch keinen "`Kompatibilit\"atsmodus"'
+% einf\"uhren.
+%
+%
+% \section{\"Anderungen}
+%
+% \"Anderungen werden in der Datei \texttt{ChangeLog.jkthesis}, die Bestandteil
+% der Distribution ist, protokolliert.
+%
+%
+% \section{Einleitung}
+%
+% Ich habe die \textsf{jkthesis} Dokumentklasse urspr\"unglich zur einfachen
+% Anfertigung einer Dissertation mit \LaTeXe{} oder pdf\LaTeX{} an der
+% Heinrich-Heine-Universit\"at --- insbesonders in der Math.-Nat.\ Fakult\"at ---
+% entwickelt. Sie soll einem einheitlichen und (hoffentlich) guten Layout von
+% elektronischen Dissertationen dienen. Da dies aber auch an anderen
+% Universit\"aten n\"utzlich sein kann, unterst\"utzt die Klasse beliebige
+% Institutionen. Falls es Fakult\"aten mit spezifischen, vom normalen Verhalten
+% abweichenden Richtlinien gibt, kann die Klasse entsprechend erweitert werden
+% (email an \url{jochen@jochen-kuepper.de}).
+%
+% \subsection{Weiterf\"uhrende Dokumentation}
+%
+% Alle verbreiteten \TeX-Distributionen schlie\ss{}en eine grosse Menge
+% Dokumentation mit ein, nach der TDS\footnote{\TeX-Directory-Structure;
+% ein Vorschlag des \LaTeX3-Teams f\"ur einen einheitlichen Aufbau von
+% \TeX-Installationen.} ist diese unterhalb \$TEXMF/doc abgelegt.
+% Insbesonders sollten dort die Dokumentation aller in dieser Anleitung
+% erw\"ahnten Standardpakete enthalten sein.
+%
+% Manche Systeme haben zus\"atzliche Erleichterungen zum Auffinden von
+% \LaTeX-Dokumentation, z.~B.\ kann man unter tetex die Dokumentation
+% zu einem Paket mittels \texttt{texdoc <paketname>} anzeigen lassen.
+%
+%
+% \section{Voraussetzungen}
+%
+% Die Verwendung von pdflatex-1.0 (oder neuer) wird empfohlen, da seit dieser
+% Version \emph{protuding characters} gut unterstützt werden, d.\ h.\ Zeichen
+% einem niedrigeren Grauwert ragen in den Rand hinein. Dadurch erhält man
+% keinen geometrisch geraden Rand mehr, sondern eine optisch/visuell gerade
+% erscheinenden --- und das nimmt man als Mensch ja nunmal wahr.
+%
+% Dazu muss man das Paket \texttt{pdfcprot} aus dem CTAN
+% (\url{http://www.ctan.org}) installieren und mittels
+% \begin{verbatim}
+%\usepackage[activate]{pdfcprot}
+% \end{verbatim}
+% die Verwendung aktivieren.
+%
+% Ebenso kann aber auch jede andere (neuere) \LaTeX-Version mit dieser Klasse
+% verwendet werden.
+%
+% Das verwendete \TeX-System sollte die in Tabelle~\ref{tab:voraussetzungen}
+% angegebnenen Voraussetzungen erf\"ullen, was bei vielen aktuellen
+% \TeX-Distributionen praktisch erf\"ullt ist. Ansonsten m\"ussen zun\"achst die
+% fehlenden Pakete installiert werden. Neuere Pakete als die angegebenen
+% Versionen sollten immer funktionieren, ansonsten bitte Fehlerbericht an mich.
+% \begin{table}\centering
+% \caption{Von \textsf{jkthesis} ben\"otigte Pakete. Es werden weitere
+% Standardpakete ben\"otigt, die in jeder \"ublichen \TeX-Distribution
+% enthalten sind. Neuere als die hier angegebenen Versionen sollten in
+% jedem Fall funktionieren, \"altere unter Umst\"anden nicht.}
+% \label{tab:voraussetzungen}
+% \begin{tabular}{lll}
+% \hline
+% \LaTeXe & & 1999/12/01 \\
+% extsizes & v1.4a & 1999/01/07 \\
+% fancyref & v0.9c & 1999/02/03 \\
+% fixltx2e & v1.0b & 1999/12/01 \\
+% footmisc & v4.0a & 2001/06/12 \\
+% hyperref & v6.71 & \\
+% mathpazo & & 2000/06/26 \\
+% nomencl & v2.9 & 1999/11/23 \\
+% natbib & v7.0 & 1999/05/28 \\
+% titlesec & v2.5 & 2002/04/07 \\
+% \hline
+% \end{tabular}
+% \end{table}
+% Es werden noch ein Reihe weiterer Pakete verwendet, bei denen die verwendeten
+% Versionen keine besondere Rolle im Zusammenhang mit \textsf{jkthesis} haben.
+% Man sollte aber bei Problemen immer die aktuellen Versionen dieser Pakete
+% installieren. Eine List der verwendeten Pakete erh\"alt man mit einem
+% \texttt{\bslash{}listfiles}-Kommando in der Pr\"aamble.
+%
+%
+% \section{Installation}
+%
+% Kopieren Sie die Dateien \texttt{jkthesis.dtx} und \texttt{jkthesis.ins}
+% in ein tempor\"ares Verzeichnis. F\"uhren Sie nacheinander die folgenden
+% Befehle aus:
+% \begin{verbatim}
+%latex jkthesis.ins
+%pdflatex jkthesis.dtx
+%makeindex -g -s gind jkthesis
+%pdflatex jkthesis.dtx
+% \end{verbatim}
+% Es sollten jetzt die Dateien \texttt{jkthesis.cls} und
+% \texttt{jkthesis.pdf} erzeugt worden sein. Falls Sie kein \textsf{pdflatex}
+% installiert haben, k\"onnen Sie auch das "`normale"' \texttt{latex} verwenden;
+% sie erhaltne dann anstelle der \texttt{jkthesis.pdf}-Datei das Handbuch
+% als \texttt{jkthesis.dvi}.
+%
+% Die einfachst M\"oglichkeit, diese Klasse zu verwenden ist, sie in das gleiche
+% Verzeichnis wie Ihr Dokument zu kopieren.
+%
+% Um die Klasse global auf Ihrem System zu installieren, sollten Sie die Datei
+% \texttt{jkthesis.cls} nach \texttt{\$TEXMF/tex/latex/jkthesis/jkthesis.cls}
+% kopieren, sowie das Handbuch nach
+% \texttt{\$TEXMF/""doc/""latex/""jkthesis/""jkthesis.pdf} kopieren.
+% Im Fall der globalen Installation m\"ussen Sie Ihrem \TeX-Systems die Dateien
+% evtl. noch bekanntmachen, indem Sie die \texttt{ls-R}-Datenbank auffrischen;
+% bei te\TeX z.~B.\ mittels \texttt{mktexlsr}.
+% Falls Sie die \BibTeX-Stildatei \texttt{jkthesis.bst} verwenden, kopieren Sie
+% diese entweder auch in Ihr lokales Verzeichnis, oder nach
+% \texttt{\$TEXMF/""bibtex/""bibtex/""bst/""jkthesis/""jkthesis.bst}.
+%
+% Bei Problemen sollte zun\"achst \"uberpr\"uft werden, ob alle in
+% Tabelle~\ref{tab:voraussetzungen} angegebenen Voraussetzungen erf\"ullt sind!
+%
+% \section{Klassenoptionen}
+%
+% Die \textsf{jkthesis}-Klasse erwartet die Angabe eines
+% Ausgabetreibers f\"ur das \textsf{hyperref}-Paket, z.B.\ \texttt{dvips} oder
+% \texttt{pdftex}; bzgl.\ Informationen \"uber weitere Treiber sei auf die
+% \textsf{hyperref} Dokumentation verwiesen. Falls keine solche Option
+% angegeben wird, wird als Defaultwert \texttt{pdftex} verwendet.
+% Zus\"atzlich definiert das Paket die Option \texttt{online}, die farbige
+% Querverweise im Dokument erzeugt, w\"ahrend die Standardeinstellung zwar
+% Hyperlinks erstellt, diese aber alle schwarz l\"a\ss{}t, da die farbigen Links
+% im Ausdruck h\"aufig mit schlechtem Kontrast erscheinen.
+%
+% Weiterhin wird eine Sprachoption f\"ur das \textsf{babel}"=System erwartet,
+% \"ublicher"-weise wird das wohl \texttt{ngerman} oder evtl.\ \texttt{german}
+% --- f\"ur die alten Rechtschreiberegeln --- sein. Voreinstellung von
+% \textsf{jkthesis} ist \texttt{ngerman}.
+%
+% Als Papierformate wird zur Zeit nur \texttt{a5paper} unterst\"utzt, sowie
+% \texttt{scaled2a4} als hochskalierte \texttt{a5paper} Version. Diese kann als
+% Kopiervorlage verwendet werden, um auf DIN-A4 auszudrucken und beim Kopieren
+% wieder auf DIN-A5 zu verkleinern.
+%
+% Die Seitenränder werden mittels \textsf{typearea} aus dem
+% \textsf{koma-script}-Paket bestimmt, siehe \texttt{scrguide.dvi} für weitere
+% Einzelheiten hierzu.
+%
+%
+% \section{Schriften}
+%
+% Mit der \textsf{jkthesis}-Klasse werden als Brotschrift Palatino, eine
+% passend skalierte Helvetica als serifenlose Schrift und Courier als
+% Schreibmaschinenschrift. Diese Schriften sind bei jeder mir bekannten
+% \LaTeXe-Distribution als PostScript Type1-Schriften vorhanden.
+%
+% Bitmapschriften sollten nicht zur Erzeugung von PDF-Dokumenten angewandt
+% werden, da der Acrobat Reader diese extrem schlecht anzeigt --- obwohl
+% Ausdrucke in gewohnter guter \LaTeX-Qualit\"at sind.
+% Dies ist besonders bei Verwendung der \texttt{ec}-Schriften zu beachten,
+% da diese nur kommerziell als Typ1-Schriften erh\"altlich
+% sind.\footnote{\href{http://www.micropress-inc.com}{MicroPress Inc.}}
+%
+%
+%
+% \section{Die Pr\"aamble}
+%
+% Die \textsf{jkthesis}-Klasse definiert eine Reihe von Befehlen, die die
+% Pr\"aamble definieren. Diese sollten alle direkt nach
+% \texttt{$\backslash$begin\{document\}} definiert werden und dann mittels
+% \DescribeMacro{\maketitle} \texttt{$\backslash$maketitle} gesetzt werden.
+%
+%
+% \subsection{Die Titelei}
+%
+% \DescribeMacro{\title}
+% \DescribeMacro{\subtitle}
+% \DescribeMacro{\author}
+% \DescribeMacro{\place}
+% \DescribeMacro{\birthplace}
+% \DescribeMacro{\date}
+% F\"ur die Titelei werden die Angabe des Titels der Arbeit, des Autors, des
+% Geburtsorts, des Abgabeorts und des Datums ben\"otigt. Aufgrund dieser Angaben
+% werden dann ein Schmutztitel und eine vollst\"andige Titelseite nach den
+% Richtlinien der Promotionsordnung der Math.-Nat.\ Fakult\"at erstellt.
+%
+% Weiterhin werden die PDF-Dokumentinformationen für Autor und Titel
+% definiert.
+%
+% \DescribeMacro{\faculty}
+% \DescribeMacro{\school}
+% \DescribeMacro{\schoolplace}
+% Mit den Befehlene \texttt{\bslash{}faculty}, \texttt{\bslash{}school} und
+% \texttt{\bslash{}schoolplace} k\"onnen die entsprechenden Angaben f\"ur die
+% Titelseite ge\"andert werden, voreingestellt sind die
+% Math.-Nat.\ Fakult\"at der Heinrich-Heine-Universit\"at.
+%
+%
+% \subsection{Der weitere Vorspann}
+%
+% \DescribeMacro{\copyrightpage}
+% Witerhin kann der Autor einen Copyrightvermerk machen, der zus\"atzlich zur
+% Druckgenehmigung der Fakult\"at und der Honorierung des \LaTeXe-Teams auf
+% Seite vier der Arbeit gesetzt wird. Der untere Standardtext kann mittels
+% eines optionale zweiten Arguments ge\"andert werden.
+% \DescribeMacro{\dedication}
+% \DescribeMacro{\acknowledgement}
+% \"Ublicher"-weise wird die Dissertation auch eine Danksagungsseite enthalten,
+% evtl.\ auch eine Widmung.
+% Nun werden das Inhaltsverzeichnis, die Liste der Abbildungen und die Liste
+% der Tabellen gestzt.
+%
+% \DescribeMacro{\symbols}
+% \DescribeMacro{\nomenclature}
+% Der Befehl \texttt{\bslash{}symbols} setzt ein Symbol- und
+% Abk\"urzungsverzeichnis.
+% Dazu muss mittels
+% \begin{verbatim}
+%makeindex -g -s symbole.ist -o <filename>.gls \
+% -t <filename>.gll <filename>.glo
+% \end{verbatim}
+% das Glossary bearbeitet werden.
+% Eine Kapitel\"uberschrift wird automatisch gesetzt.
+% Symbole k\"onnen mittels
+% \texttt{\bslash{}nomenclature[Sortier\-schl\"ussel]""\{Symbol\}""\{Er\-kl\"arung\}}
+% definiert werden.
+%
+% \DescribeMacro{\preface}
+% Manche Arbeiten werden ein Vorwort enthalten, obwohl das f\"ur eine
+% Dissertation schon ungew\"ohnlich ist.
+%
+% \DescribeMacro{\morepreamble}
+% Um zus\"atzlich Vorspannseiten zu erzeugen dient der Befehl
+% \texttt{\bslash{}morepreamble}, der eine neue Doppelseite beginnt und dann
+% ohne weitere explizite Formatierung den Inhalt ausgibt.
+%
+% Letztlich wird unter Umst\"anden nochmals die Doppelseite beendet und die
+% Seitennummerierung f\"ur den Haupttext initialisiert.
+%
+%
+% \section{Tabellen und Abbildungen}
+%
+% Die \textsf{jkthesis}-Klasse l\"adt bereits die Standard-\LaTeXe{}-Klassen
+% \textsf{array} und \textsf{longtable}. Somit k\"onnen die erweiterten
+% Spaltenformatierungen des \textsf{array}-Pakets verwendet werden. Ausserdem
+% k\"onnen mehrseitige Tabellen gesetzt werden, dazu sei auf die
+% \textsf{longtable}-Dokumentation verwiesen.
+%
+%
+% \subsection{\"Uber- bzw.\ Unterschriften}
+%
+% Bei Tabellen und Abbildungen sollte man beachten das Tabellen eine
+% \emph{\"Uber\-schrift}, Abbildungen jedoch eine \emph{Unterschrift} haben;
+% d.h.\ dass der \texttt{$\backslash$caption}-Befehl innerhalb einer
+% \texttt{table}-Umgebung vor der \texttt{tabular} stehen muss, innerhalb einer
+% \texttt{figure}-Umgebung jedoch hinter der
+% \texttt{$\backslash$includegraphics}-Anweisung. \texttt{$\backslash$label}
+% m\"ussen in jedem Fall hinter der \texttt{$\backslash$caption}-Anweisung
+% angeordnet werden --- nicht in der Anweisung.
+%
+% Alle Tabellen- und Abbildungs\"uberschriften werden mit ein wenig Abstand oben
+% und unten gesetzt, sowie auf beiden Seiten 1~cm eingezogen. Ausserdem wird
+% eine kleinere Schrift verwendet.
+%
+% \subsection{Linien in Tabellen}
+%
+% \DescribeMacro{\toprule}
+% \DescribeMacro{\midrule}
+% \DescribeMacro{\bottomrule}
+% Die Klasse \textsf{jkthesis} stellt f\"ur die horizontalen Linien in Tabellen
+% die Befehle \texttt{\bslash{}toprule}, \texttt{\bslash{}midrule} und
+% \texttt{\bslash{}bottomrule} zur Verf\"ugung. Diese sollten dann auch
+% ausschliesslich zur Erzeugung von Linien in Tabellen verwendet werden.
+% \DescribeMacro{\cmidrule}
+% Mit dem \texttt{\bslash{}cmidrule}-Befehl k\"onnen horizontale Linien \"uber
+% einen Bereich von Spalten gezogen werden, die Syntax ist
+% \texttt{\bslash{}cmidrule(<trim>){a-b}}.
+% Dieses Kommando zieht eine Linie von Spalte a bis Spalte b, wobei das optionale
+% Argument \texttt{<trim>} (in runden Klammern!) die Werte "`l"' "`r"', "`lr"'
+% oder "`rl"' annehmen kann und angibt, an welchen Seiten die Linie eingezogen
+% werden soll.
+% Vertikale Linien und die Verwendung von \texttt{\bslash{}cmidrule} sollten
+% wenn m\"oglich vermieden werden, aber letzlich ist eine Spaltengruppierung
+% mittels \texttt{\bslash{}cmidrule} vertikalen Linien vorzuziehen.
+%
+% Auf keinen Fall sollten die Befehle \texttt{\bslash{}hline} bzw.\
+% \texttt{\bslash{}cline} verwendet werden, welche zu unvorhersehbaren
+% Probleme f\"uhren k\"onnen, wenn Sie mit den hier vorgestellten Befehlen
+% gemischt werden; bzgl.\ weitere Informationen siehe die Dokumentation zum
+% \textsf{booktabs} Paket.
+%
+%
+% \section{Querverweise}
+%
+% Wir verwenden hier das Paket \textsf{fancyref} um Querverweise leichter
+% handhaben zu k\"onnen.
+% \DescribeMacro{\fref}
+% \DescribeMacro{\Fref}
+% Insbesoders steht das Makro \texttt{\bslash{}fref} zur Verf\"ugung, das
+% neben dem Querverweis selber auch die Art des Objektes mit ausgibt;
+% au\ss{}erdem wird die zus\"atzlich Zielseite des Verweises ausgegeben.
+%
+% Weitere Hinweise zur Anwendung sind der \textsf{fancyref}-Anweisung zu
+% entnehmen.
+%
+%
+% \section{Mathematik}
+%
+% \subsection{\protect\AMSLaTeX}
+%
+% Die \AMSLaTeX{} Pakete \textsf{amsmath} und \textsf{amssymb} werden automatisch
+% geladen.
+%
+% \subsection{Komma}
+%
+% Das Komma wird im Mathemodus so umdefiniert, dass es als Dezimaltrennzeichen
+% korrekt gesetzt wird, falls ihm kein Leerzeichen folgt.
+% Folgt hingegen ein Leerzeichen, wird es als Listenseparator erkannt und
+% korrekt etwas Abstand eingef\"ugt, wie z.\ B.\ in
+% $f(x, y)$.\footnote{Zur Erkl\"arung siehe auch die de-\TeX-FAQ, Frage 8.2.4:
+% Warum f\"ugt TeX in einer mathematischen Formel hinter einem Dezimalkomma
+% einen kleinen Zwischenraum ein?}
+%
+% \subsection{Schriften}
+%
+% Es werden die Pakete \textsf{mathpazo} und f\"ur die kaligrafischen Zeichen
+% \textsf{eucal} geladen. Somit stehen zu der Brotschrift Palatino passende
+% Mathesymbole zur Verf\"ugung.
+%
+%
+% \section{\TeX-Namen}
+%
+% \DescribeMacro{\AMSLaTeX}
+% \DescribeMacro{\BibTeX}
+% Diese Makros werden so definiert, dass sie in jedem Kontext verwendet werden
+% k\"onnen.
+%
+%
+% \section{Abk\"urzungen}
+%
+% \DescribeMacro{\bzgl}
+% \DescribeMacro{\ca}
+% \DescribeMacro{\evtl}
+% \DescribeMacro{\ua}
+% \DescribeMacro{\usw}
+% \DescribeMacro{\vgl}
+% \DescribeMacro{\zB}
+% \DescribeMacro{\ZB}
+% Es werden die in Tabelle~\ref{tab:abk} aufgelisteten Bequemheitsmakros
+% definiert, die vor allem f\"ur den korrekten Freiraum hinter Punkten sorgen.
+% Au\ss{}erdem werden bei mehrgliedrigen Abk\"urzungen kleinere Zwischenr\"aume
+% verwendet.
+% (Duden: Richtlinien f\"ur den Schriftsatz)
+% \begin{table}
+% \centering
+% \caption{Abk\"urzungsmakros, etc.}
+% \label{tab:abk}
+% \begin{tabular}{ll}
+% \hline
+% \verb+\bzgl+ & bzgl. \\
+% \verb+\ca+ & ca. \\
+% \verb+\evtl+ & evtl. \\
+% \verb+\ua+ & u.\thinspace a. \\
+% \verb+\usw+ & usw. \\
+% \verb+\vgl+ & vgl. \\
+% \verb+\zB+ & z.\thinspace B. \\
+% \verb+\ZB+ & Zum Beispiel \\
+% \hline
+% \end{tabular}
+% \end{table}
+%
+%
+% \section{Thumbnails}
+%
+% Thumbnails können mit dem perl-Skript \texttt{thumbpdf} von Heiko Oberdiek
+% erzeugt werden. Dazu muss das Paket thumbpdf eingebunden werden und
+% das Dokument mit thumbpdf bearbeitet werden. Bei einem anschließenden
+% pdf\LaTeX-Lauf werden die erzeugtne Thumbnails eingebunden.
+%
+%
+% \section{Dank}
+%
+% Eine Reihe von Leuten haben zu dieser Klasse beigetragen.
+% Insbesonders m\"ochte ich allen \TeX{}nicians im \textsf{usenet}
+% (\url{news:de.comp.text.tex} und \url{news:comp.text.tex}) und dem
+% \LaTeXe-Team danken.
+% Besonders danken möchte ich auch Axel Kühl für ausgiebige Tests der Klasse.
+%
+% Ich hoffe ich habe alle individuellen Beitr\"age in der Datei
+% \texttt{ChangeLog.jkthesis} vermerkt; falls ich jemanden zu erw\"ahnen
+% vergessen habe, bitte ich mir das mitzuteilen.
+%
+% \section{Der Programmcode}
+%
+% Nachdem wir die ben\"otigte \LaTeXe-Version angegeben haben und die
+% Dokumentklasse und seine aktuelle Version identifiziert haben,
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesClass{jkthesis}%
+[\filedate\space v\fileversion\space HHU thesis class]
+% \end{macrocode}
+% werden einige Pakete geladen, die f\"ur die Auswertung der Optionen n\"otig
+% sind,
+% \begin{macrocode}
+\RequirePackage{ifthen}
+% \end{macrocode}
+%
+% sowie einige interne Variable, die evtl.\ durch Optionen beeinflu\ss{}t werden,
+% deklariert und mit Defaultwerten definiert.
+%
+% Standardm\"a\ss{}ig wird eine Druckversion erstellt:
+% \begin{macrocode}
+\newboolean{onlineversion}
+\setboolean{onlineversion}{false}
+% \end{macrocode}
+%
+% Der pdftex-Treiber kann etwas mehr als die anderen.
+% \begin{macrocode}
+\newboolean{pdftexdriver}
+\setboolean{pdftexdriver}{false}
+% \end{macrocode}
+%
+%
+% \subsection{Deklaration der Optionen}
+%
+% Jetzt werden die akzeptierten Optionen definiert:
+%
+% Die unterst\"utzten \textsf{hyperref}-Treiber.
+% \begin{macrocode}
+\DeclareOption{pdftex}{
+ \setboolean{pdftexdriver}{true}
+ \PassOptionsToPackage{\CurrentOption}{hyperref}}
+\DeclareOption{dvips,dvipsone,dviwindo,hypertex,ps2pdf,vtex}{
+ \setboolean{pdftexdriver}{false}
+ \PassOptionsToPackage{\CurrentOption}{hyperref}}
+% \end{macrocode}
+%
+% Die Sprachoptionen. \textsf{fancyref} versteht z.\ Z.\ kein \texttt{ngerman},
+% also Fragen wir es in diesem Fall nach \texttt{german}.
+% \begin{macrocode}
+\DeclareOption{ngerman}{
+ \PassOptionsToPackage{\CurrentOption}{babel}
+ \PassOptionsToPackage{german}{fancyref}}
+\DeclareOption{american,english,french,german}{
+ \PassOptionsToPackage{\CurrentOption}{babel,fancyref}}
+% \end{macrocode}
+%
+% Papierformat
+% \begin{macrocode}
+\DeclareOption{a5paper}{
+ \PassOptionsToClass{\CurrentOption}{extbook}
+ \PassOptionsToPackage{\CurrentOption}{typearea}}
+\DeclareOption{scaled2a4}{
+ \mag1414
+ \setlength{\hoffset}{1in}
+ \addtolength{\hoffset}{-1truein}
+ \setlength{\voffset}{1in}
+ \addtolength{\voffset}{-1truein}
+ \PassOptionsToClass{a5paper}{extbook}
+ \PassOptionsToPackage{a5paper}{typearea}}
+% \end{macrocode}
+%
+%
+% Ein \texttt{online}-Dokument sollte Hyperlinks farbig darstellen, w\"ahrend
+% standardm\"a\ss{}ig schwarze Links verwendet werden, um im Ausdruck einen h\"oheren
+% Kontrast zu erhalten:
+% \begin{macrocode}
+\DeclareOption{online}{\setboolean{onlineversion}{true}}
+% \end{macrocode}
+%
+%
+% Setze Defaultwerte f\"ur Otionen und werte die \"ubergebenen Optionen aus
+% \begin{macrocode}
+\ExecuteOptions{a5paper,ngerman,vario}
+\ProcessOptions\relax
+% \end{macrocode}
+%
+%
+% \subsection{Einbindung der Basisklassen}
+%
+% Lade die \LaTeXe-Klasse \textsf{extbook}, auf der diese Dokumentklasse
+% \texttt{jkthesis} basiert.
+% \begin{macrocode}
+\LoadClass[9pt,titlepage,twoside]{extbook}
+% \end{macrocode}
+%
+%
+% Den Durchschuss für normalen Text erhöhen wir ein wenig, um die Langen Zeilen
+% besser lesbar zu machen (11pt -> 11.5pt).
+% Die Definition ist ansonsten aus size9.clo (extsizes) kopiert.
+% \begin{macrocode}
+\renewcommand\normalsize{%
+ \@setfontsize\normalsize\@ixpt{11.5}%
+ \abovedisplayskip 8\p@ \@plus4\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 5\p@ \@plus3\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+% \end{macrocode}
+%
+%
+% Einige Fixes an der Basis von \LaTeX.
+% \begin{macrocode}
+\RequirePackage{fixltx2e}[1999/12/01]
+% \end{macrocode}
+%
+% \"Unterst\"utzung f\"ur die ausgew\"ahlte Sprache.
+% \begin{macrocode}
+\RequirePackage{babel}
+% \end{macrocode}
+%
+%
+% \subsubsection{Schriften}
+%
+% Hier werden die Schriftkodierung definiert, die zus\"atzlichen Textsymbole
+% aus \textsf{textcomp} und die kaligrafischen Eulerschriften geladen.
+%
+% Das Dokument verwendet Palatino als Brotschrift, eine passend skalierte
+% Helvetica als serifenlose Schrift und Courier als Schreibmaschinenschrift.
+% F\"ur den Mathemodus werden die virtuellen \textsf{mathpazo}-Schriften
+% verwendet, die aus eigenen Zeichen und Computer Modern-Zeichen
+% zusammengestzt und in Hinblick auf die verwendung mit Palatino optimiert
+% sind. Die kaligrafischen Zeichen werden aus der Euler-Schrift genommen.
+%
+% \begin{macrocode}
+\RequirePackage{eucal}
+\RequirePackage{ae,aecompl}
+\RequirePackage{mathpazo}[2000/06/26]
+\renewcommand{\sfdefault}{aess}
+\renewcommand{\ttdefault}{aett}
+\RequirePackage{textcomp}
+% \end{macrocode}
+%
+% Der Zeichensatz Palatino skaliert anders als die \TeX\ eigenen
+% cm-Zeichens\"atze, daher werden hier die Gr\"o\ss{}en der verschiedenen
+% Vergr\"o\ss{}erungsstufen ge\"andert. Im folgenden werden die Indexgr\"o\"sen
+% weniger verkleinert als es Standard ist.
+% \begin{macrocode}
+\DeclareMathSizes{9}{9}{7}{5}
+\DeclareMathSizes{10}{10}{7.6}{6}
+% \end{macrocode}
+%
+%
+% \section{Layout-Grundlagen}
+%
+% Strafpunkte für Zeilenumbruch et al.
+% \begin{macrocode}
+\frenchspacing
+\clubpenalty=2000
+\emergencystretch=20pt
+\pretolerance=500
+\tolerance=2500
+\widowpenalty=2000
+% \end{macrocode}
+%
+% Zeilenabstände
+% \begin{macrocode}
+%%\lineskip=1pt
+\lineskiplimit=-0.3pt
+% \end{macrocode}
+%
+% Textbereich
+% (See scrguide documentation for details.)
+% \begin{macrocode}
+\RequirePackage[headinclude,DIV13,BCOR10mm]{typearea}
+% \end{macrocode}
+%
+% Nummerierungen
+% \begin{macrocode}
+\setcounter{secnumdepth}{3}
+\setcounter{tocdepth}{1}
+% \end{macrocode}
+%
+% sonstiges
+% \begin{macrocode}
+\emergencystretch=1.5em
+\parindent=2em
+\parfillskip=2em plus 1fil
+% \end{macrocode}
+%
+%
+% \subsubsection{Zitate}
+%
+% \begin{macrocode}
+\RequirePackage[comma,numbers,sort&compress,square]{natbib}
+\DeclareRobustCommand\cite{%
+ \unskip\@ \nolinebreak[3]
+ \begingroup\def\NAT@ctype{0}\NAT@partrue\NAT@swatrue
+ \@ifstar{\NAT@fulltrue\NAT@cites}{\NAT@fullfalse\NAT@cites}}
+\setlength\bibsep{1mm}
+% \end{macrocode}
+%
+% Jetzt überreden wir \textsf{natbib} noch, trotz \textsf{hyperref} Referenzen
+% zusammenzufassen. Zwischen zwei Referenzen wird immer ein \verb+\thinspace+
+% gesetzt.
+%
+% Weiter unten (hinter \textsf{hyperref}) werden dann noch ein paar weitere
+% Definitionen im Zusammenhang mit Zitaten vorgenommen.
+% \begin{macrocode}
+\AtBeginDocument{
+ \def\NAT@sort{2}
+ \def\NAT@space{\thinspace}
+ }
+% \end{macrocode}
+%
+%
+% \subsubsection{Querverweise}
+%
+% \iffalse
+% We have to care about conciding \textsf{units.sty} options. We want
+% \texttt{loose} (the default) here, but \texttt{tight} \textsf{units}.
+% otherwise.
+% \fi
+% \begin{macrocode}
+\RequirePackage{fancyref}
+% \end{macrocode}
+% FMi hat in \textsf{varioref} wohl "`vergessen"´, das es auch im
+% deutschen Ausdr\"ucke f\"ur die "`gegen\"uberliegende"´ Seite gibt ;-)
+% Da dieses Paket, und somit auch das davon abgeleitete
+% \textsf{fancyref}, aus Kompatibilt\"atsgr\"unden nicht mehr ge\"andert
+% werden sollen, definieren wir hier unsere eigenen Phrasen.
+% \begin{macrocode}
+\renewcommand{\reftextfaceafter}{%
+ auf der gegen\"uberliegenden Seite}
+\renewcommand{\reftextfacebefore}{%
+ auf der gegen\"uberliegenden Seite}
+\renewcommand{\reftextpagerange}[2]{%
+ auf den Seiten \pageref{#1}--\pageref{#2}}
+% \end{macrocode}
+%
+%
+% \subsubsection{Mathe}
+%
+% Lade \AMSLaTeX. Das weiter unten geladene Paket \textsf{mathpazo} erzeugt
+% richtig skalierte Mathezeichen, daher wird hier die Option
+% \texttt{psamsfonts} nicht angegeben.
+% \begin{macrocode}
+\RequirePackage[centertags,intlimits]{amsmath}
+\RequirePackage{amssymb}
+% \end{macrocode}
+%
+% Gleichungen werden Kapitelweise numeriert.
+% \begin{macrocode}
+\renewcommand{\theequation}{\thechapter-\arabic{equation}}
+\@addtoreset{equation}{chapter}
+% \end{macrocode}
+%
+% Hier wird ',' zu einem normalen Zeichen in Dezimalzahlen definiert, um
+% die \"ublichen Zeichenabst\"ande in Zahlen zu erhalten; siehe Erl\"auterung
+% im Anleitungsteil.
+% \begin{macrocode}
+\mathchardef\CommaOrdinary="013B
+\mathchardef\CommaPunct ="613B
+\mathcode`,="8000 % , im Mathemodus aktiv ("8000) machen
+{\catcode`\,=\active
+ \gdef ,{\obeyspaces\futurelet\next\CommaCheck}}
+\def\CommaCheck{\if\space\next\CommaPunct\else\CommaOrdinary\fi}
+% \end{macrocode}
+%
+%
+% \subsection{\"Uberschriften}
+%
+% Alle \"Uberschriften werden in \texttt{\bslash{}sffamily} gesetzt, die
+% Kapitel\"uberschriften noch mit einem ge\"anderten Layout, in dem
+% Kapitelnummer und -\"uberschrift durch eine Linie getreennt werden.
+% Part-\"Uberschriften werden mit der Nummer in der gleichen Zeile im
+% oberen Drittel der Seite gesetzt.
+%
+% \begin{itemize}
+% \item titlesec muss vor fancyhdr stehen.
+% \item titlesec-<irgendwas> hat am Ende {\bslash{}makeatother} stehen
+% -- sollte hier berücksichtigt werden.
+% \item titlesec's keyval interface funktioniert nur wenn die Definitionen
+% in ein {\bslash{}AtBeginDocument} geschachtelt werden.
+% \end{itemize}
+% \begin{macrocode}
+\RequirePackage[clearempty]{titlesec}
+\AtBeginDocument{
+ \titleformat{name=\part}
+ [block]
+ {\thispagestyle{empty}\centering\scshape\Huge}
+ {\Roman{part}}
+ {1ex}
+ {}
+ [\vspace*{0.5\textheight}]
+ \titleformat{name=\chapter}
+ [display]
+ {\vspace*{-15mm}\sffamily\bfseries\huge}
+ {\filleft\LARGE\ifthenelse{\equal{\@chapapp}{\appendixname}}
+ {\Alph{chapter}}
+ {\Roman{chapter}}}
+ {0pt}
+ {\titlerule\filright}
+ [\vspace*{-5mm}]
+ \titleformat{name=\chapter,numberless}
+ [display]
+ {\vspace*{-15mm}\sffamily\bfseries\huge}
+ {}
+ {0pt}
+ {\raggedright}
+ [\vspace*{-5mm}]
+ \titleformat{name=\section}
+ {\itshape\large}
+ {\thesection}
+ {1em}
+ {}
+ \titleformat{name=\subsection}
+ {\scshape}
+ {\thesubsection}
+ {0.666em}
+ {}
+ \titleformat{name=\subsubsection}
+ {\itshape}
+ {\thesubsubsection}
+ {0.4em}
+ {}
+ \titleformat{name=\paragraph}
+ [runin]
+ {\scshape}
+ {}
+ {opt}
+ {}
+ [ --- ]
+ \titleformat{name=\subparagraph}
+ [runin]
+ {\itshape}
+ {}
+ {0pt}
+ {}
+ [ --- ]
+}
+% \end{macrocode}
+%
+%
+% \subsection{Seitenlayout}
+%
+% Kolumnentitel:
+% \begin{macrocode}
+\RequirePackage[bottom,flushmargin,multiple,norule,stable]{footmisc}
+\RequirePackage{fancyhdr}
+\pagestyle{fancy}
+% \end{macrocode}
+%
+% Umdefinition von plain, wird auf der ersten Seite jedes Kapitels verwendet.
+% \begin{macrocode}
+\fancypagestyle{plain}{\fancyhf{}
+ \renewcommand{\headrulewidth}{0pt}
+ \renewcommand{\footrulewidth}{0pt}
+ }
+\renewcommand{\chaptermark}[1]{\markboth{\thechapter.\ #1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
+\fancyhf{}
+\fancyhead[LE,RO]{\thepage}
+\fancyhead[RE]{\slshape\leftmark}
+\fancyhead[LO]{\slshape\rightmark}
+\renewcommand{\headrulewidth}{1pt}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Verzeichnisse}
+%
+% Layout von Inhalts-, Abbildungs-, Tabellenverzeichnis. Diese "`Längen"' sind
+% als Kommandos in latex/base/classes.dtx definiert und beschrieben.
+% \begin{macrocode}
+\renewcommand{\@pnumwidth}{2.5em}
+\renewcommand{\@tocrmarg}{2em}
+\renewcommand{\@dotsep}{5.0}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@dottedtocline#1#2#3#4#5{%
+ \ifnum #1>\c@tocdepth \else
+ \vskip \z@ \@plus.2\p@
+ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #3\relax
+ \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+ \normalfont
+ {#4}\nobreak
+ \leaders\hbox{$\m@th
+ \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ mu$}\hfill
+ \nobreak
+ \hb@xt@\@pnumwidth{\hfil\normalcolor #5}%
+ \normalfont%
+ \par}%
+ \fi}
+% \end{macrocode}
+%
+%
+% Neudefinition, modifizierte Kopie aus
+% latex/base/classes.dtx[1999/09/10 v1.4a].
+% \begin{macrocode}
+\renewcommand*\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
+ \normalfont\bfseries
+ #1\nobreak
+ \leaders\hbox{$\m@th
+ \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ mu$}\hfill
+ \nobreak
+ \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+% \end{macrocode}
+%
+% Keine Einrückunk der Einträge im lof/lot.
+% \begin{macrocode}
+\renewcommand*{\l@figure}{\@dottedtocline{1}{0em}{3em}}
+\renewcommand*{\l@table}{\l@figure}
+% \end{macrocode}
+%
+% Symbol- und Abk\"urzungsverzeichnis
+% \begin{macrocode}
+\RequirePackage[noprefix]{nomencl}
+% \end{macrocode}
+%
+% \subsubsection{Tabellen und Abbildungen}
+%
+% \begin{macrocode}
+% \subsection{Abbildungen}
+\RequirePackage{array}
+\RequirePackage{graphicx}
+\RequirePackage[figuresright]{rotating}
+\setlength{\extrarowheight}{1pt}
+% \end{macrocode}
+%
+% Define the thickness of different rules and some little extra separation
+% around these rules.
+% \begin{macrocode}
+\RequirePackage{booktabs}
+\setlength{\heavyrulewidth}{0.3mm}
+\setlength{\lightrulewidth}{0.15mm}
+\setlength{\cmidrulewidth}{0.1mm}
+\setlength{\aboverulesep}{1pt}
+\setlength{\belowrulesep}{1pt}
+% \end{macrocode}
+%
+% Formatierung der Tabellen\"uber und Abbildungsunterschriften
+% \begin{macrocode}
+\RequirePackage{subfigure}
+\RequirePackage[small]{caption2}
+\setlength{\captionmargin}{5mm}
+\setlength{\abovecaptionskip}{1mm}
+\setlength{\belowcaptionskip}{1mm}
+% \end{macrocode}
+%
+% Plazierungen von floats (Tabellen und Abbildungen).
+% \begin{macrocode}
+\renewcommand{\floatpagefraction}{.6} % vorher: .5
+\renewcommand{\textfraction}{.05} % vorher: .2
+\renewcommand{\topfraction}{1.0} % vorher: .7
+\renewcommand{\bottomfraction}{1.0} % vorher: .3
+\setcounter{topnumber}{1} % vorher: 2
+\setcounter{bottomnumber}{1} % vorher: 1
+\setcounter{totalnumber}{2} % vorher: 3
+% \end{macrocode}
+%
+% \begin{macrocode}
+\RequirePackage{dcolumn}
+ \newcolumntype{d}{D{.}{,}{-1}}
+\RequirePackage[nice,tight]{units}
+\RequirePackage{xspace}
+% \end{macrocode}
+%
+%
+%
+% \subsection{Hyperlinks}
+%
+% Letzlich laden wir noch das \textsf{hyperref}-Paket. Es wird erst jetzt
+% geladen, da es zahlreiche Befehle \"andert und \"uberschreibt, und so verhindert
+% wird das diese \"Anderungen durch andere Pakete wieder aufgehoben werden.
+% Falls eine online-Version erstellt wird, werden farbige Links verwendet,
+% ansonsten schwarze.
+% \begin{macrocode}
+\ifthenelse{\boolean{onlineversion}}{
+ \RequirePackage[hyperindex=true,
+ naturalnames=true,
+ hypertexnames=true,
+ plainpages=false,
+ breaklinks=true,colorlinks=true,
+ citecolor=blue,filecolor=blue,linkcolor=red,
+ pagecolor=blue,urlcolor=red]
+ {hyperref}}{
+ \RequirePackage[hyperindex=true,
+ naturalnames=true,
+ hypertexnames=true,
+ plainpages=false,
+ breaklinks=true,colorlinks=true,
+ citecolor=black,filecolor=black,linkcolor=black,
+ pagecolor=black,urlcolor=black]
+ {hyperref}}
+% \end{macrocode}
+%
+% Und jetzt definienieren wir ein bisserl das natbib/hyperref-Interface um,
+% um auch mit hyperref komprimierte Referenzlisten zu erhalten.
+% \begin{macrocode}
+\ifthenelse{\boolean{pdftexdriver}}
+{\renewcommand\NAT@citexnum{}
+\def\NAT@citexnum[#1][#2]#3{%
+ \NAT@sort@cites{#3}%
+ \let\@citea\@empty
+ \@cite{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{%
+ {\reset@font\bfseries?}
+ \NAT@citeundefined\PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa
+ \ifnum\NAT@ctype>1\relax\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \ifnum\NAT@ctype=2\relax\NAT@test{\NAT@ctype}%
+ \else\NAT@alias
+ \fi\hyper@natlinkend\else
+ \ifnum\NAT@sort>1
+ \begingroup\catcode`\_=8
+ \ifcat _\ifnum\z@<0\NAT@num _\else A\fi
+ \global\let\NAT@nm=\NAT@num \else \gdef\NAT@nm{-2}\fi
+ \ifcat _\ifnum\z@<0\NAT@last@num _\else A\fi
+ \global\@tempcnta=\NAT@last@num \global\advance\@tempcnta by\@ne
+ \else \global\@tempcnta\m@ne\fi
+ \endgroup
+ \ifnum\NAT@nm=\@tempcnta
+ \ifx\NAT@last@yr\relax
+ %\edef\NAT@last@yr{\@citea \mbox{\noexpand\citenumfont\NAT@num}}%
+ \edef\NAT@last@yr{\@citea \mbox{%
+ \noexpand\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \noexpand\citenumfont\NAT@num%
+ \hyper@natlinkend%
+ }%
+ }%
+ \else
+ %\edef\NAT@last@yr{--\penalty\@m\mbox{\noexpand\citenumfont\NAT@num}}%
+ \edef\NAT@last@yr{--\penalty\@m\mbox{%
+ \noexpand\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \citenumfont\NAT@num\hyper@natlinkend}}%
+ \fi
+ \else
+ \NAT@last@yr \@citea
+ %\mbox{\citenumfont\NAT@num}%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \mbox{\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ {\citenumfont\NAT@num}\hyper@natlinkend}%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \let\NAT@last@yr\relax
+ \fi
+ \else
+ \@citea \mbox{\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ {\citenumfont\NAT@num}\hyper@natlinkend}%
+ \fi
+ \fi
+ \def\@citea{\NAT@sep\penalty\@m\NAT@space}%
+ \else
+ \ifcase\NAT@ctype\relax
+ \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\penalty\@m\NAT@space\else
+ \@citea \NAT@test{1}\ \NAT@@open
+ \if*#1*\else#1\ \fi\fi \NAT@mbox{%
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ {\citenumfont\NAT@num}\hyper@natlinkend}%
+ \def\@citea{\NAT@@close\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@test{\NAT@ctype}\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@test{\NAT@ctype}\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@alias\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \fi
+ \fi
+ }}%
+ \ifnum\NAT@sort>1\relax\NAT@last@yr\fi
+ \ifNAT@swa\else\ifnum\NAT@ctype=0\if*#2*\else
+ \NAT@cmt#2\fi \NAT@@close\fi\fi}{#1}{#2}}
+}{}
+% \end{macrocode}
+%
+%
+% \subsection{Titelei}
+%
+% Definition neuer Befehle f\"ur die Titelei
+% \begin{macrocode}
+\newcommand{\@subtitle}{}
+\newcommand{\subtitle}[1]{
+ \renewcommand{\@subtitle}{#1}}
+
+\newcommand{\@birthplace}{}
+\newcommand{\birthplace}[1]{
+ \renewcommand{\@birthplace}{aus #1}}
+
+\newcommand{\@place}{D\"usseldorf}
+\newcommand{\place}[1]{\renewcommand{\@place}{#1}}
+
+\newcommand{\@faculty}{%
+ Mathematisch-Natur\-wissen\-schaftlichen Fakult\"at}
+\newcommand{\faculty}[1]{\renewcommand{\@faculty}{#1}}
+
+\newcommand{\@school}{Heinrich-Heine-Universit\"at}
+\newcommand{\school}[1]{\renewcommand{\@school}{#1}}
+
+\newcommand{\@schoolplace}{\unskip}
+\newcommand{\schoolplace}[1]{
+ \renewcommand{\@schoolplace}{#1}}
+
+\newcommand{\@hhucopyrightpage}{\noindent
+ Gedruckt mit Genehmigung der
+ \@faculty\ der \@school\ \@schoolplace.}
+\newcommand{\@jkcopyrightpage}{%
+ \noindent Diese Arbeit wurde mit \LaTeXe{} unter Verwendung
+ der \textsf{jkthesis} Dokumentklasse gesetzt.}
+\newcommand{\@copyrightpage}{
+ \@hhucopyrightpage
+ \vfill\@jkcopyrightpage
+ \cleardoublepage}
+\newcommand{\copyrightpage}[3][\@jkcopyrightpage]{%
+ \renewcommand{\@copyrightpage}{%
+ \noindent #3 \par\vspace*{1em}
+ \@hhucopyrightpage \par\vspace*{2em}
+ \noindent #2 \vfill \noindent #1
+ \cleardoublepage}}
+\newcommand{\@dedication}[1]{}
+\newcommand{\dedication}[1]{\renewcommand{\@dedication}[1]{%
+ \begin{flushright}
+ \hspace*{0mm}\vfill
+ \textit{\Large #1 \\}
+ \vfill\vfill\vfill
+ \end{flushright}
+ \cleardoublepage}}
+\newcommand{\@acknowledgement}[1]{}
+\newcommand{\acknowledgement}[1]{\renewcommand{\@acknowledgement}[1]{%
+ \hspace*{0mm}\vfill \noindent #1 \cleardoublepage}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\@morelists}[1]{}
+\newcommand{\morelists}[1]{\renewcommand{\@morelists}[1]{#1}}
+% \end{macrocode}
+%
+% \subsubsection{Symbolverzeichnis}
+%
+% Symbole werden mittels \textsf{nomencl} ausgegeben. Die linke Spalte des
+% Glossars wird hier auf 12\% der Textbreite gesetzt. Dies kann \"uber eine
+% \"Anderung der L\"ange \texttt{\bslash{}nomlabelwidth} angepasst werden.
+%
+% \begin{macrocode}
+\makeglossary
+\renewcommand{\nomname}{Verwendete Symbole und Abk\"urzungen}
+\setlength{\nomlabelwidth}{0.12\textwidth}
+\newcommand{\@symbols}{}
+\newcommand{\symbols}{\renewcommand{\@symbols}{%
+ \phantomsection\addcontentsline{toc}{chapter}{\nomname}
+ \setlength{\nomitemsep}{0pt}
+ \printglossary}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\@preface}[1]{}
+\newcommand{\preface}[1]{\renewcommand{\@preface}[1]{
+ \thispagestyle{empty} \phantomsection
+ \chapter*{Vorwort}
+ \addcontentsline{toc}{chapter}{Vorwort}
+ \noindent #1 }}
+\newcommand{\@morepreamble}[1]{}
+\newcommand{\morepreamble}[1]{\renewcommand{\@morepreamble}[1]{#1}}
+% \end{macrocode}
+% Auslieferung der Titelei. Zun\"achst die Titelseiten:
+% \begin{macrocode}
+\renewcommand{\maketitle}{
+ \hypersetup{
+ pdfauthor = {\@author},
+ pdftitle = {\@title: \@subtitle},
+ }
+ \pdfbookmark[-1]{Pr\"aamble}{preamble}
+ \pagestyle{empty}\pagenumbering{Roman}
+ \begin{center}
+ {\large \@title\relax \\[1ex]}
+ \@subtitle\relax
+ \cleardoublepage
+ \pdfbookmark[0]{Titelseite}{title}
+ {\fontsize{16}{24}\selectfont \@title\relax \\[1ex]}
+ {\fontsize{14}{18}\selectfont \@subtitle\relax \\}
+ \end{center}
+ \vfill
+ {\raggedright
+ \textsc{Inaugural-Dissertation} \\[1ex]
+ Von \@author\space\@birthplace\space
+ an der \@faculty\space der
+ \@school\space\@schoolplace\space vorgelegt.\\[0.5ex]
+ \@place, \@date}
+ \clearpage
+% \end{macrocode}
+%
+% Die \textit{Copyright}-Seite
+% \begin{macrocode}
+ \@copyrightpage\relax
+% \end{macrocode}
+%
+% Eine evtl.\ Widmung:
+% \begin{macrocode}
+ \@dedication\relax
+% \end{macrocode}
+%
+% Die Danksagung
+% \begin{macrocode}
+ \@acknowledgement\relax
+% \end{macrocode}
+%
+% Inhaltsverzeichnis, Tabellenverzeichnis und Abbildungsverzeichnis
+% \changes{0.4}{2000/08/08}{Add toc-entries for lot and lof by our own.}
+% \begin{macrocode}
+ \pagestyle{fancy}
+ \phantomsection \thispagestyle{empty}
+ \pdfbookmark[0]{\contentsname}{toc}
+ \tableofcontents
+ \cleardoublepage
+ \phantomsection \thispagestyle{empty}
+ \addcontentsline{toc}{chapter}{\listtablename}
+ \listoftables
+ \cleardoublepage
+ \phantomsection \thispagestyle{empty}
+ \addcontentsline{toc}{chapter}{\listfigurename}
+ \listoffigures
+ \cleardoublepage
+ \@morelists\relax
+ \cleardoublepage
+% \end{macrocode}
+% Symbole und Abk\"urzungen
+% \begin{macrocode}
+ \@symbols\relax
+ \cleardoublepage
+% \end{macrocode}
+% Vorwort
+% \begin{macrocode}
+ \@preface\relax
+ \cleardoublepage
+% \end{macrocode}
+% Evtl.\ weitere vom Autor definierte Pr\"aamble-Seiten
+% \begin{macrocode}
+ \@morepreamble\relax
+ \cleardoublepage
+% \end{macrocode}
+% Ende der Preamble. Umschalten auf ``normale'' Seitenzahlen.
+% \begin{macrocode}
+ \pagenumbering{arabic}
+ }
+% \end{macrocode}
+%
+% Set tableofcontents, listoffigures and listoftables headings sf as well.
+% We don´t care on twocolumn mode, as we don´t use it anyway. We also redefine
+% the index and bibliography commands to change the headings they generate.
+%
+% \changes{0.3c}{2000/08/06}{Umdefinition der toc-, lof-, lot-Umgebungen;
+% analog \texttt{\bslash{}thebibliography} und \texttt{\bslash{}theindex}.
+% Insbesonders werden die Header nicht mehr UpperCase gesetzt!
+% Nur einspaltiger Text wird ber\"ucksichtigt, da wir eh kein twocolumn
+% unterst\"utzen.}
+% \changes{0.4}{2000/08/08}{bibliography and index get add themselfs to toc.}
+% \changes{0.5}{2000/08/10}{Index is set in 8pt font.
+% Add \bslash{}indexpreamble und \bslash{}bibpreamble.}
+% \begin{macrocode}
+\AtBeginDocument{
+ \renewcommand{\tableofcontents}{%
+ \sffamily%
+ \chapter*{\contentsname\@mkboth{\contentsname}{\contentsname}}%
+ \@starttoc{toc}%
+ \normalfont}
+ \renewcommand\listoffigures{%
+ \chapter*{\listfigurename\@mkboth{\listfigurename}{\listfigurename}}%
+ \@starttoc{lof}}
+ \renewcommand\listoftables{%
+ \chapter*{\listtablename\@mkboth{\listtablename}{\listtablename}}%
+ \@starttoc{lot}%
+ }
+ \newcommand{\bibpreamble}{}
+ \renewenvironment{thebibliography}[1]{%
+ \chapter*{\bibname}\@mkboth{\bibname}{\bibname}%
+ \addcontentsline{toc}{chapter}{\bibname}%
+ \bibpreamble%
+ \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 \@clubpenalty \clubpenalty \widowpenalty4000%
+ \sfcode`\.\@m%
+ }{%
+ \def\@noitemerr{%
+ \@latex@warning{Empty `thebibliography' environment}%
+ }%
+ \endlist}
+ \newcommand{\indexpreamble}{}
+ \renewenvironment{theindex}{%
+ \columnsep 5\p@%
+ \@mkboth{\indexname}{\indexname}
+ \twocolumn[\@makeschapterhead{\indexname}%
+ \addcontentsline{toc}{chapter}{\indexname}%
+ \indexpreamble]%
+ \thispagestyle{plain}%
+ \parindent\z@ \parskip\z@ \@plus .3\p@\relax%
+ \let\item\@idxitem%
+ \footnotesize%
+ }{
+ \clearpage
+ }
+ }
+% \end{macrocode}
+%
+% Some index-stuff. First we copy the makeidx style here, as it is so small.
+% We slightly modify it, though. Esp. the preamble attribute is needed to
+% work with hyperrefs hypertexnames=false (needed for subfigures).
+% \begin{macro}{\printindex}
+% \begin{macrocode}
+\newcommand\printindex{\@input@{\jobname.ind}}
+\newcommand*\see[2]{\protect\seename #1}
+ \newcommand*{\seename}{$\to$}
+\newcommand*{\main}[1]{\textbf{\hyperpage{#1}}}
+% \end{macrocode}
+% \end{macro}
+%
+% Then we change the index formatting.
+% \begin{macrocode}
+\renewcommand\@idxitem{\par\vspace*{0.5\p@ \@plus0.3\p@ \@minus0.2\p@}%
+ \hangindent 20\p@}
+\renewcommand\subitem{\par\nopagebreak%
+ \hangindent 30\p@ \hspace*{10\p@}}
+\renewcommand\subsubitem{\par\nopagebreak%
+ \hangindent 40\p@ \hspace*{20\p@}}
+\renewcommand\indexspace{\par \vskip 5\p@ \@plus5\p@ \@minus2\p@\relax}
+% \end{macrocode}
+%
+% Weil ifthen, bzw. die Redefinition von babel komplett kaputt sind
+% (bugs babel/3224, babel/3239), funktioniert \verb+\pageref+ nicht mehr
+% richtig. Bugfix von Heiko Oberdiek:
+% \begin{macrocode}
+\AtBeginDocument{%
+ \@ifpackageloaded{ifthen}{%
+ \long\def\ifthenelse#1#2#3{%
+ \let\fix@bbl@tempa\pageref
+ \let\pageref\org@pageref
+ \@safe@activestrue
+ \org@ifthenelse{#1}{%
+ \let\pageref\fix@bbl@tempa
+ \@safe@activesfalse
+ #2%
+ }{%
+ \let\pageref\fix@bbl@tempa
+ \@safe@activesfalse
+ #3%
+ }%
+ }%
+ }{}%
+}
+% \end{macrocode}
+%
+%
+% \subsection{Chemische Formeln, etc.}
+%
+% \begin{macro}{\chemsum}
+% Korrekter Satz von chemischen Summenformeln, nach Ideen von Kopka und
+% \url{news:de.comp.text.tex}.
+% \begin{macrocode}
+\DeclareRobustCommand{\chemsum}[1]{%
+ {\(\m@th
+ \edef\resetfontdimens{\noexpand\)%
+ \fontdimen16\textfont2=\the\fontdimen16\textfont2
+ \fontdimen17\textfont2=\the\fontdimen17\textfont2\relax}%
+ \fontdimen16\textfont2=2.7pt \fontdimen17\textfont2=2.7pt
+ \mathsf{#1}%
+ \resetfontdimens}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Epigraphen}
+%
+% \begin{macro}{\epigraph}
+% Setzt einen Epigraphen an der angegebenen Stelle. Argumente sind
+% der Text und ein evtl.\ Autor.
+% \begin{macrocode}
+\newcommand{\epigraph}[2]{\begin{flushright} \textit{#1}\\
+ \textsc{#2} \end{flushright} \par\noindent}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{\TeX-Names}
+%
+% These are taken from texnames.sty, simplified for the newer LaTeX versions,
+% and extended to work in all contexts with pdf\LaTeX\ and \textsf{hyperref}.
+%
+% \begin{macro}{\BibTeX}
+% \BibTeX
+% \begin{macrocode}
+\newcommand{\BibTeX}{\texorpdfstring{%
+ \textsc{Bib}\kern-.08em\TeX}{BibTeX}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\AMSLaTeX}
+% \AMSLaTeX
+% \begin{macrocode}
+\newcommand{\AMSLaTeX}{\texorpdfstring{%
+ $\mathcal{A}$\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}%
+ \kern-.125em$\mathcal{S}$-\LaTeX}{AMS-LaTeX}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Abk\"urzungen}
+%
+% \begin{macro}{\bzw}
+% "`beziehungsweise"´
+% \begin{macrocode}
+\newcommand{\bzw}{bzw.\@\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bzgl}
+% "`bez\"uglich"´
+% \begin{macrocode}
+\newcommand{\bzgl}{bez\"uglich\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ca}
+% "`circa"´
+% \begin{macrocode}
+\newcommand{\ca}{circa\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dah}
+% "`das hei\ss{}t"´
+% \begin{macrocode}
+\newcommand{\dah}{das heisst\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Dah}
+% "`Das hei\ss{}t"´
+% \begin{macrocode}
+\newcommand{\Dah}{Das heisst\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\evtl}
+% "`eventuell"´
+% \begin{macrocode}
+\newcommand{\evtl}{eventuell\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ua}
+% "`unter anderem"´
+% \begin{macrocode}
+\newcommand{\ua}{unter anderem\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\usw}
+% "`und so weiter"´
+% \begin{macrocode}
+\newcommand{\usw}{usw.\@\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\vgl}
+% "`vergleiche"´
+% \begin{macrocode}
+\newcommand{\vgl}{vergleiche\@\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zB}
+% "`zum Beispiel"´
+% \begin{macrocode}
+\newcommand{\zB}{z.\thinspace{}B.\@\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ZB}
+% Da am Satzanfang laut den Duden-Richtlinien zum Schriftsatz "`Abk\"urzungen"'
+% ausgesetzt werden, hier also "`Zum Beispiel"´.
+% \begin{macrocode}
+\newcommand{\ZB}{Zum Beispiel\xspace}
+% \end{macrocode}
+% \end{macro}
+
+
+% \iffalse
+%% Local Variables:
+%% mode: LaTeX
+%% End:
+% \fi