% \iffalse metacomment
%
%% Written by Felix Braun
%%
% This is a LaTeX2e class for papers in german law schools. It is
% probably only of use for german law students, so the rest of the 
% documentation will be in german.
%
% This material is copyrighted by Felix Braun. However, rights are granted
% according to version 2 of the GNU Public Licence (GPL). 
% This means in essence:
% - this file is freely distributable provided that it is not modified
% - it may be sold
% - it may be modified provided that the result is also placed under the GPL.
% (wherever these terms divert from the GPL, the latter shall prevail)
%
% Um eine Dokumentation zu erzeugen, lassen Sie einfach LaTeX2e "uber diese 
% Datei laufen.
% Wenn Sie die jura-Domumentklasse benutzen wollen, starten sie TeX mit der
% Datei jura.ins und legen sie die so erzeugten Dateien in ein Verzeichnis, 
% wo sie TeX sp"ater findet.
%
% \fi
% \CheckSum{948}
% \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         \~}
%
% \ProvidesFile{jura.dtx}[1998/07/06 v4.3 Documentation]
% \GetFileInfo{jura.dtx}
% \title{Die Dokumentklasse |jura|\thanks{Version \fileversion}}
% \author{Felix Braun}
% \date{\filedate}
% \maketitle
% \tableofcontents
% 
% \pagebreak[2]
% \begin{abstract}
% Dies ist eine Dokumentklasse f"ur \LaTeXe\ zum Schreiben von juristischen
% Hausarbeiten. Sie benutzt die daf"ur "ubliche Seitenaufteilung mit 7 cm Rand.
%
% Au"serdem wird ein Paket zur Verf"ugung gestellt, da"s einem erlaubt, in
% \LaTeX-Dokumenten die "Uberschriften nach dem alphanummerischen System zu 
% nummerieren und automatisch ins Inhaltverzeichnis aufzunehmen. Querverweise
% innerhalb des Dokuments werden korrekt behandelt.
% \end{abstract}
%
% \section{Einleitung}
% Im Laufe des Jurastudiums an einer deutschen Universit"at m"ussen mindestens
% sechs Hausarbeiten angefertigt werden, an deren Form bestimmte Anforderungen
% gestellt werden. Um diese zu erf"ullen, eignet sich ein Textsatzprogramm wie
% \LaTeX\ in besonderer Weise.
%
% Allerdings ist \LaTeX\ nicht auf die speziellen Anforderungen, die an eine
% juristische Hausarbeit gestellt werden ausgelegt. Insbesondere verwendet
% \LaTeX\ standardm"a"sig eine rein nummerische Gliederung, die nicht den
% Gewohnheiten in der Rechtswissenschaft entspricht. Weiterhin werden die
% "Uberschriften in verschiedenen Gr"o"sen gesetzt, was bei juristischen
% Gutachten, die typischerweise stark untergliedert sind, den Text mehr
% zerrei"st, als da"s es seine Lesbarkeit erh"oht.
%
% Diese \LaTeXe -Dokumentklasse dient dazu, diese Probleme zu beheben, ohne auf
% den Komfort der automatischen Erstellung des Inhaltsverzeichnisses sowie 
% die M"oglichkeit von Verweisen mit Gliederungsnummern verzichten zu m"ussen.
%
% \section{Verwendung}
% In diesem Paket befindet sich zum einen die Dokumentklasse |jura.cls|,
% die das "ubliche Seitenlayout einer juristischen Hausarbeit an deutschen
% Universit"aten in \LaTeX\ umsetzt. Das bedeutet eine Seitenaufteilung mit
% 7cm Rand, anderthalbfachem Zeilenabstand und einer 12-Punkt
% Schrift.\footnote{Das Layout ist jedoch so flexibel, da"s es den selben Text
% mit einfachen "Anderungen unauf"|f"allig auf mehr oder weniger Seiten
% verteilen kann, falls im Notfall Bedarf in dieser Richtung bestehen
% sollte. \texttt{(-;}}
%
% Unabh"angig davon wird das Paket |alphanum.sty| bereitgestellt, welches
% einige neue Befehle enth"alt, mit denen Texte nach dem alphanummerischen 
% System gegliedert werden k"onnen, wie es in juristischen Dokumenten "ublich 
% ist; au"serdem werden einige \LaTeX -Befehle an dieses Schema angepasst.
% Alle diese Befehle k"onnen unabh"angig von der benutzten Dokumentklasse
% verwendet werden falls die formalen Vorgaben einmal vom "Ublichen
% abweichen sollten (wie etwa bei Dissertationen oder Urteilen).
%
% \subsection{Einbindung}
% Um die |jura|-Dokumentenklasse benutzen zu k"onnen, m"ussen erst die
% beiden Dateien |jura.cls| und |alphanum.sty| erzeugt werden. Dies
% geschieht indem man \TeX\ mit der Datei |jura.ins| aufruft. Dabei wird
% gleichzeitig ein Testdokument mit Namen |juratest.ltx| erzeugt, das die
% Verwendung aller Funktionen der Klasse demonstriert. Die so erzeugten 
% Dateien legt man dann in ein Verzeichnis, in dem \LaTeX\ sie sp"ater findet.
%
% Bei der Erstellung eines Dokuments teilt man \LaTeX\ mit, da"s man die 
% |jura| Dokumentklasse benutzen m"ochte, indem man einfach am Anfang des 
% Dokuments
% \begin{quote}
% \cs{documentclass}\oarg{Optionen}|{jura}|
% \end{quote}
% angibt. Optionen k"onnen dabei sein:
% \begin{description}
% \item[twoside:] f"ur einen doppelseitigen Ausdruck. Bei Seiten mit geraden
% Nummern ist der Rand auf der rechten Seite.
% \item[draft:] Zeilen, bei denen \LaTeX\ Probleme mit der Formatierung hatte,
% werden mit einem schwarzen Balken markiert.
% \item[widefront:] der Kopfteil der Arbeit bekommt ein anderes Layout mit
% weniger Rand und daf"ur breiteren Text (s.u. \ref{Struc}).
% \item[normalfront:] auch der Kopfteil beh"alt das Layout mit 7cm Rand links.
% \item[tightfn:] Fu"snoten werden, anders als der Rest des Dokuments, 
% nur mit einfachem Zeilenabstand gesetzt.
% \item[spacedfn:] auch Fu"snoten werden mit anderthalbfachem Zeilenabstand
% gesetzt
% \end{description}
% Von diesen Optionen sind normalfront und tightfn voreingestellt.
% Beim Ausdruck sind Schriftgr"o"se 12pt und DIN A4 Papier fest eingestellt,
% da das Layout auf diesen Vorgaben beruht. 
%
% M"ochte man auf das Layout verzichten und lediglich die Befehle f"ur die
% alphanummerische Gliederung benutzen, schreibt man einfach
% \begin{quote}
% |\usepackage{alphanum}|
% \end{quote}
% irgendwo in den Kopf des Dokuments. Optionen oder andere Komplikationen
% gibt es dazu (noch) nicht.
%
% \subsection{neue Befehle}
% \subsubsection{Dokumentstruktur}
% Die in diesem Abschnitt beschriebenen Befehle ergeben nur im Zusammenhang 
% mit dem juristischen Layout einen Sinn und werden daher nur definiert, wenn
% dieses auch verwendet wird; sie sind deshalb nicht benutzbar, wenn
% lediglich das Paket |alphanum.sty| eingebunden wird.
%
% \label{Struc}Die grobe Struktur des Dokuments wird wie auch bei der
% Standard-Dokument"-klas"-se |book| durch die Befehle \cs{frontmatter},
% \cs{mainmatter} und \cs{backmatter} bestimmt.\DescribeMacro{\frontmatter}
% \DescribeMacro{\mainmatter}\DescribeMacro{\backmatter} Dabei wird der 
% Kopfteil der Arbeit, welcher z.B. Inhaltsverzeichnis, Sachverhalt oder
% Literaturverzeichnis enth"alt, mit r"omischen Zahlen paginiert. Die einzelnen
% Abschnitte beginnen jeweils auf einer neuen Seite.
%
% \subsubsection{Gliederung}
% \DescribeMacro{\toc}
% Durch den Befehl \cs{toc}\oarg{Inhaltverzeichnis}\marg{"Uberschrift} wird ein
% neuer Gliederungspunkt auf der aktuellen Ebene eingef"ugt.  Er wird 
% automatisch nummeriert. Wird ein optionales Argument angegeben, wird dieses,
% sonst die \meta{"Uberschrift} ins Inhaltsverzeichnis aufgenommen.  Es
% existiert auch eine *-Version des Befehls (also \cs{toc*}\marg{"Uberschrift}),
% die in den Flie"stext nur die Gliederungsnummer aufnimmt. \meta{"Uberschrift}
% findet sich dann nur noch im  Inhaltsverzeichnis.  
%
% Mit dem Kommando \cs{sub}\oarg{Inhaltsverzeichnis}\marg{"Uberschrift}
% \DescribeMacro{\sub} wird zus"atzlich auf die n"achsttiefere Ebene gewechselt.
% Es wird also \meta{"Uberschrift} als Unterpunkt zum gerade bearbeiteten Titel
% eingef"ugt. Die "Uberschriften werden wie bereits gesagt nach dem "ublichen
% alphanummerischen System nummeriert. Dabei tragen die einzelnen Ebenen
% folgende Bezeichnungen:\footnote{Diese lassen sich aber ohne gro"sen Aufwand
% an andere Vorgaben anpassen. Siehe dazu die Dokumentation des Makros
% \cs{J@INumberRoot}.}
% \begin{quote}
% A. I. 1. a) aa) $\alpha$) $\alpha\alpha$) (1) (a) (aa) ($\alpha$)
% ($\alpha\alpha$)
% \end{quote}
% Es stehen somit 12 Gliederungsebenen zur Verf"ugung. Das sollte auch f"ur die
% aufwendigsten Arbeiten ausreichen. Auch hier erzeugt die *-Form nur die
% Gliederungsnummer, nimmt aber auch \meta{"Uberschrift} in das
% Inhaltsverzeichnis auf.
%
% Mit \DescribeMacro{\levelup} \cs{levelup} wird die aktuelle Tiefe beendet und
% es wird auf die n"achsth"ohere Ebene zur"uckgekehrt.
%
% \DescribeMacro{\lvlastyle} Das konkrete Aussehen der "Uberschriften im Text 
% ist für jede Gliederungsebene getrennt einstellbar. Es wird bestimmt durch
% die Makros \cs{lvlastyle}, \cs{lvlbstyle} bis \cs{lvllstyle}. Voreingestellt
% ist dabei 
% \begin{itemize}
%	\item für Gliederungsebene 1 große, fette Schrift 
%	      (\cs{large}\cs{bfseries}),
%	\item für Gliederungsebenen 2--7 normal große, fette Schrift 
%	      (\cs{bfseries}),
%	\item für Gliederungsebenen 8--12 kurisve Schrift 
%	      (\cs{itshape}).
% \end{itemize}
%
% Diese Voreinstellungen k"onnen durch Umdefinieren der entsprechenden Makros
% ver"andert werden. Zum Beispiel k"onnen "Uberschriften auf Ebene 3 in
% Kapit"alchen gesetzt werden indem irgendwo im Dokument folgender Befehl
% eingef"ugt wird:
% \begin{quote}\begin{verbatim}
% \renewcommand*{\lvlcstyle}{\scshape}
% \end{verbatim}\end{quote}
%
% \DescribeMacro{\sectfont} Zum Setzen der "Uberschriften kann au"serdem ein 
% beliebiger anderer Font benutzt werden. Dieser wird durch das Makro
% \cs{sectfont} bestimmt. Voreingestellt ist hier der normale Textfont
% (\cs{normalfont}).
% 
% \subsubsection{Verweise}
% Die Syntax der Befehle f"ur Querverweise innerhalb des Textes (\cs{label},
% \cs{pageref} und \cs{ref}) wurde nicht ver"andert. \DescribeMacro{\ref}
% \cs{ref} verh"alt sich aber gegen"uber Standard-\LaTeX\ etwas anders: Um
% einen Abschnitt eindeutig identifizieren zu k"onnen, m"ussen alle 
% dar"uberliegenden Ebenen mitangegeben werden (z.\,B.: A\,II\,3.). Da das
% bei gro"ser Gliederungstiefe recht lang wird, werden alle die
% Gliederungsnummern weggelassen, die mit der aktuellen "ubereinstimmen.
% Der Verweis sieht also je nach Kontext unterschiedlich aus. Zur
% Verdeutlichung diene folgendes Beispiel; man beachte, wie die verschiedenen
% Verweise auf denselben Abschnitt aussehen.
% \begin{quote}
% {\large\bfseries A. Gew"ahrleistung aus Vertrag}[\ldots]\\
% {\bfseries I. Kaufvertrag}[\ldots]\\
% {\bfseries 1. Vertragsschlu"s}[\ldots]\\
% {\bfseries 2. Mangel}\\\relax
% [\ldots] wie bereits zum Vertragsschlu"s ausgef"uhrt (s.o. 1.)[\ldots]\\
% {\bfseries II. Werkvertrag}\\\relax
% [\ldots] wie beim Kaufvertragsschlu"s gesehen (s.o. I\,1.)[\ldots]\\
% {\large\bfseries B. Schadensersatz}\\\relax
% [\ldots] schon beim Kauvertragsschlu"s er"ortert (s.o. A\,I\,1.)[\ldots]
% \end{quote}
% Dieses Verhalten kann jedoch umgangen werden, wenn die *-Form des Befehls,
% also \cs{toc*}, benutzt wird. Mit diesem Befehl werden immer auch alle
% h"oheren Gliederungsebenen mit ausgegeben.
%
% \subsection{Literaturverzeichnis}
% \DescribeEnv{jurabibliography}
% Auch die \LaTeX-Standardumgebung f"ur das Literaturverzeichnis ist nicht auf
% die besonderen Bed"urfnisse juristischer Arbeiten zugeschnitten. Es wird also
% die neue Umgebung |jurabibliography| zur Verf"ugung gestellt. Das
% Literaturverzeichnis wird mit 
% \begin{quote}
% |\begin{jurabibliography}|
% \end{quote}
% anders als die \LaTeX-Umgebung also ohne Argument begonnen und entsprechend 
% auch mit
% \begin{quote}
% |\end{jurabibliography}|
% \end{quote}
% wieder beendet. \DescribeMacro{\jbibitem}Dazwischen werden die einzelnen
% Eintr"age mit dem Befehl
% \begin{quote}
% \cs{jbibitem}\marg{Autor}\marg{Kurztext}\marg{K"urzel}\ldots \meta{Eintrag}\ldots
% \end{quote}
% erzeugt. Dabei ist \meta{Autor} der Name des Autors, so wie er im
% Literaturverzeichnis erscheinen soll; \meta{Kurztext} enth"alt den Text, der
% bei Bez"ugen in der Arbeit erzeugt wird; \meta{K"urzel} schlie"slich ist eine 
% beliebige Zeichenfolge, die im Text nicht erscheint, die aber zum Zitieren mit
% dem \DescribeMacro{\cite}Befehl \cs{cite}\oarg{Fundstelle}\marg{K"urzel}
% gebraucht wird.
%
% Dieser erzeugt im eigentlichen Text (oder in den Fu"snoten) den
% \meta{Kurztext} des Literatureintrages mit dem K"urzel \meta{K"urzel}, gefolgt
% von der genauen \meta{Fundstelle} sofern diese angegeben wird. So erzeugt bei
% einem Literaturverzeichnis mit folgendem Eintrag
% \begin{verbatim}
% \begin{jurabibliography}
% ...
% \jbibitem{Maurer, Hartmut}{\emph{Maurer} AVwR }{Maurer}"`Allgemeines...
% ...
% \end{jurabibliography}
% \end{verbatim}
% der Befehl |\cite[\S~3 Rn.5]{Maurer}| dieses Ergebnis: \emph{Maurer} AVwR \S~3
% Rn.5.
%
% \DescribeEnv{sachverhalt} F"ur den Sachverhalt wird eine eigene Umgebung
% bereitgestellt. Sie wird durch |\begin{sachverhalt}| und |\end{sachverhalt}|
% aufgerufen.
%
% \subsection{Hinweise}
% Da ich mein Studium nunmehr beendet habe, bekomme ich nur noch selten 
% Gelegenheit, juristische Arbeiten nach den strengen Formalia für
% Hausarbeiten zu verfassen. Aus diesem Grunde entwickele ich dieses Packet
% nur noch auf ausdrückliche Anregung von au"sen hin weiter. Ich bin somit
% zwar immer noch dankbar für Anregungen oder Hinweise auf Fehler, von 
% selbst werde ich aber wohl nicht mehr tätig werden.
%
% Die jeweils neueste Version dieser Dokumentklasse findet sich auf den
% ftp-Servern des \TeX-Archivs\footnote{z.B. \texttt{ftp.dante.de},
% \texttt{ftp.ctan.org}, \texttt{ftp.tex.ac.uk}.} in dem Verzeichnis
% \begin{quote}
% \texttt{CTAN: macros/latex/contrib/supported/jura/}
% \end{quote}
% und auf Carsten Gerlachs |jura.cls|-Homepage
% \begin{quote}
% \texttt{http://home.pages.de/\textasciitilde gerlo/juracls/}
% \end{quote}
%
% Für die Benutzung von Literaturdatenbanken mittels \BibTeX\ hat Jens Berger
% ein Packet namens \texttt{jurabib} geschrieben, welches sich bestens mit
% den hier enthaltenen verwenden l"asst. Zu finden ist dieses auf den
% ftp-Servern des \TeX-Archivs im selben Verzeichnis wie die Dokumentklasse
% \texttt{jura}.
%
% Sollten Sie einen Fehler finden, einen Verbesserunsvorschlag haben oder
% sonst das dringende Bed"urfnis versp"uren, ein Lebenszeichen von sich zu 
% geben, bin ich erreichbar unter:
% \begin{quote}
% Felix Braun \texttt{<fbraun@atdot.org>}
% \end{quote}
%
% \StopEventually
%
% \changes{1.0}{old}{erste Version}
% \changes{2.0}{old}{jetzt als Dokumentoption einzubinden}
% \changes{2.0}{old}{Inhaltsverzeichnis kann an beliebige Stelle gesetzt werden}
% \changes{3.0}{1996/01/08}{\LaTeXe-Dokumentklasse}
% \changes{3.0}{1996/01/08}{komplett neu geschrieben viel k"urzer und eleganter}
% \changes{3.0}{1996/01/08}{Dokumentation mit \texttt{doc}}
% \changes{3.1}{1996/01/21}{History den einzelnen Macros zugeordnet}
% \changes{3.1}{1996/01/30}{wo m"oglich Definitionen mit \cs{new\-command*}}
% \changes{3.4}{1996/05/29}{Installation durch eigenes Script}
% \changes{3.5}{1996/06/26}{Testdokument integriert}
% \changes{3.9}{1997/09/03}{Dokumentation "uberarbeitet}
% \changes{4.0}{1998/01/17}{split into a documentclass and a package, adapted documentation}
% \changes{4.1}{1998/02/12}{placed under the GPL}
% \changes{4.1}{1998/02/12}{changed the names of all internal functions according to \LaTeX2e-conventions}
% \changes{4.2}{1998/07/05}{replaced all Umlauts with \texttt{german.sty}-notation [Hilmar Preusse]}
% \changes{4.3}{1999/04/21}{updated documentation}
%
% \section{Quelltext}
% Der Quelltext mag kein Lehrbeispiel f"ur saubere Programmiertechnik
% sein, vieles ist nur im \emph{trial-and-error}-Verfahren entstanden, aber
% immerhin erf"ullt er seine Aufgabe. F"ur Verbesserungsvorschl"age in jeder
% Hinsicht bin ich stets dankbar.
%
% \subsection{Kopf}%
% Jetzt folgt der Code, der es erm"oglicht, dieses Dokumentation zu setzen.
%    \begin{macrocode}
%<*driver>
\documentclass{ltxdoc}
\usepackage{german}
%\OnlyDescription     %nur Anleitung (ohne Index und History)
\CodelineIndex        %kein Index wenn auskommentiert
\EnableCrossrefs      %kein Index wenn auskommentiert
\RecordChanges        %keine History wenn auskommentiert
\begin{document}
\DocInput{jura.dtx}
\end{document}
%</driver>
%    \end{macrocode}
%
% Hier identifizieren sich die verschiedenen Dateien, je nachdem, welche
% Optionen |detex| "ubergeben wurden.
%    \begin{macrocode}
%<class,package>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
%<class>\ProvidesClass{jura}[1998/07/13 v4.3 juristische Hausarbeiten]
%<*package>
\ProvidesPackage{alphanum}[1998/07/13 v4.3 alphanumeric section numbers]
%</package>
%<test>\ProvidesFile{juratest.ltx}
%    \end{macrocode}
%
% \subsection{Optionen}
% \begin{macro}{Optionen}
% |twoside| und |draft| werden deklariert. Wenn sie angegeben
% werden, "ubergeben wir sie einfach an |report|. Dort werden sie dann
% benutzt.
% \changes{3.0}{1996/01/08}{twoside m"oglich}
% \changes{3.0}{1996/01/08}{draft m"oglich}
%    \begin{macrocode}
%<*class>
\DeclareOption{twoside}{\PassOptionsToClass{twoside}{report}}
\DeclareOption{draft}{\PassOptionsToClass{draft}{report}}
%    \end{macrocode}
% \changes{3.8}{1996/08/27}{widefront m"oglich [Felix Roske]}
% |widefront| setzt die Textbreite auf 15,77cm; links und rechts bleibt je ein
% Zoll Rand. |normalfront| beh"alt den selben Seitenschnitt wie im Hauptteil
% des Textes. Voreingestellt ist |normalfront|
%    \begin{macrocode}
\newlength\frontwidth\newlength\ofrontmargin\newlength\efrontmargin
\DeclareOption{widefront}{\setlength{\frontwidth}{15,77cm}
\setlength{\efrontmargin}{0,75mm}\setlength{\ofrontmargin}{0,75mm}}
\DeclareOption{normalfront}{\setlength{\frontwidth}{12,2cm}
\setlength{\ofrontmargin}{4,46cm}\setlength{\efrontmargin}{-7,4mm}}
%    \end{macrocode}
%
% \changes{4.0}{1998/01/17}{tightfn und spacedfn eingebaut}
% \changes{4.1}{1998/02/13}{tightfn und spacedfn funktionieren}
% tightfn und spacedfn definieren den Befehl \cs{footnotespacing}, der
% dann von \cs{@footnotetext} benutzt wird (siehe Seite \pageref{fntext}).
%    \begin{macrocode}
\newcommand*{\J@FootnoteSpread}{1}
\DeclareOption{tightfn}{\renewcommand*{\J@FootnoteSpread}{1}}
\DeclareOption{spacedfn}{\renewcommand*{\J@FootnoteSpread}{1.3}}
\AtEndOfClass{\setlength{\footnotesep}{\J@FootnoteSpread\footnotesep}}
\ExecuteOptions{normalfront,tightfn}
\ProcessOptions\relax
\LoadClass[a4paper,12pt]{report}
%    \end{macrocode}
% \changes{4.0}{1998/01/17}{braucht |alphanum.sty|}
% Schlie"slich wird noch der Style f"ur die alphanummerische Gliederung
% geladen.
%    \begin{macrocode}
\RequirePackage{alphanum}
%    \end{macrocode}
% \end{macro}
%
% \subsection{Seitenschnitt}
% \begin{macro}{Seitenschnitt}
% Jetzt folgen die "Anderungen in der Seitenaufteilung. Das wichtigste ist der
% gro"se Rand links.
% \changes{1.2}{old}{\cs{parindent} eingef"ugt}
% \changes{1.3}{old}{kleineres \cs{parindent}}
% \changes{1.5}{old}{kein \cs{parskip} mehr}
% \changes{2.7}{old}{\cs{texwidth} auf 12,2cm heruntergesetzt so da"s jetzt die 60-70 Zeichen je Zeile eingehalten werden}
% \changes{2.7}{old}{\cs{marginparwidth} angepasst}
% \changes{3.0}{1996/01/08}{Seitennotizen im inneren Rand}
% \changes{3.0}{1996/01/08}{Seitennotizen gr"o"ser}
% \changes{3.3}{1996/04/19}{\cs{textheight} mit \cs{baselineskip}}
% \changes{3.4}{1996/05/29}{Zeilenabstand wird mit \cs{linespread} gesetzt}
% \changes{3.4}{1996/05/29}{\cs{linespread} auf 1.3 reduziert f"ur 1,5fachen Zeilenabstand}
% \changes{3.4}{1996/05/29}{Anzahl der Zeilen pro Seite angepasst}
% \changes{3.4}{1996/05/29}{gleicher Rand oben und unten}
% \changes{3.7}{1996/08/03}{Seitenspiegel wird berechnet, so da"s mehr/weniger Zeilen pro Seite m"oglich sind}
% \changes{3.8}{1996/08/24}{\cs{topskip} wird nicht mehr gesetzt da andere Funktion als aus Kopka ersehen}
%    \begin{macrocode}
\setlength{\parskip}{0ex}
\setlength{\parindent}{1,3em}
\setlength{\textwidth}{12,2cm}
\setlength{\oddsidemargin}{4,46cm}
\setlength{\evensidemargin}{-7,4mm}
\setlength{\marginparwidth}{3,5cm}
\reversemarginpar
%    \end{macrocode}
% Nun folgt der anderhalbfache Zeilenabstand (\cs{linespread}|{1.3}| ist sogar
% etwas mehr als Zeilenabstand 1,5). Standardm"assig werden 34 Zeilen pro
% Seite gesetzt. Der Text wird aber auch mit mehr oder weniger Zeilen
% zentriert, so da"s er an ein etwaiges Seitenlimit angepasst werden kann.
%    \begin{macrocode}
\linespread{1.3}
\setlength{\textheight}{34\baselineskip}
\setlength{\textheight}{\baselinestretch\textheight}
\setlength\topmargin{\paperheight}
\addtolength\topmargin{-2in}
\addtolength\topmargin{-\headheight}
\addtolength\topmargin{-\headsep}
\addtolength\topmargin{-\textheight}
\addtolength\topmargin{-\footskip}
\addtolength\topmargin{-\topskip}
\addtolength\topmargin{-.5\topmargin}
\@settopoint\topmargin
%    \end{macrocode}
% \end{macro}
%
% \subsection{neue Macros}
% Hier folgt der eigentlich interessante Teil, die Definition der Makros.
% \subsubsection{Fu"snoten}
% \begin{macro}{\@footnotetext}
% \changes{1.1}{old}{\cs{footnotesep} wird auch mit \cs{baselinestretch} multipliziert}
% \changes{3.8}{1996/08/13}{Fu"snoten mit einfachem Zeilenabstand}
% \changes{3.8}{1996/08/13}{\cs{footnotesep} wieder auf einfachen Abstand}
% \changes{4.0}{1998/01/16}{"Anderungen des \LaTeX-Kernels "ubernommen}
% Im Gegensatz zum restlichen Text sollen die Fu"snoten mit nur einfachem
% Zeilenabstand gesetzt werden. Dazu mu"s der \LaTeX-interne Befehl
% \cs{@footnotetext} umdefiniert werden. Die Idee dazu stammt aus dem
% \texttt{setspace}-pacakge von Geoffrey Tobin
% (\texttt{G.Tobin@latrobe.edu.au}). \label{fntext}Der Code ist, bis auf das 
% \cs{linespread}, identisch mit dem \LaTeX-Befehl\footnote{siehe 
% |ltfloat.dtx|.}.
%    \begin{macrocode}
\long\def\@footnotetext#1{\insert\footins{%
    \linespread{\J@FootnoteSpread}\reset@font\footnotesize
    \interlinepenalty\interfootnotelinepenalty
    \splittopskip\footnotesep
    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
    \hsize\columnwidth \@parboxrestore
    \protected@edef\@currentlabel{%
       \csname p@footnote\endcsname\@thefnmark
    }%
    \color@begingroup
      \@makefntext{%
        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
    \color@endgroup}}%
%    \end{macrocode}
% \end{macro}
% % \subsubsection{Dokumentstruktur}
% \begin{macro}{\frontmatter}
% \changes{3.8}{1996/08/27}{Dokuentstrukturierung m"oglich}
% \begin{macro}{\mainmatter}
% \changes{3.8}{1996/08/27}{Dokuentstrukturierung m"oglich}
% \begin{macro}{\backmatter}
% \changes{3.8}{1996/08/27}{Dokuentstrukturierung m"oglich}
% Die Dokumentteile beginnen jeweils auf einer neuen Seite. Textbreite, und
% "=r"ander werden entsprechend der gew"ahlten Option gesetzt. 
%    \begin{macrocode}
\newcommand*{\frontmatter}{\cleardoublepage\pagenumbering{Roman}%
\oddsidemargin\ofrontmargin\evensidemargin\efrontmargin%
\hsize\frontwidth\columnwidth\hsize\linewidth\hsize\textwidth\hsize}
\newcommand*{\mainmatter}{\cleardoublepage\pagenumbering{arabic}%
\hsize12,2cm\columnwidth12,2cm\linewidth12,2cm\textwidth12,2cm%
\oddsidemargin4,46cm\evensidemargin-7,4mm}
\newcommand*{\backmatter}{\clearpage}
%</class>
%    \end{macrocode}
% \end{macro}\end{macro}\end{macro}
%
% \subsubsection{griechische Buchstaben}
% \begin{macro}{\@greek}
% Wir wollen einfach griechische Buchstaben erzeugen. Deswegen hier ein Makro,
% da"s analog zu |\@alph{|\meta{Wert}|}| griechische Kleinbuchstaben erzeugt.
% \changes{3.0}{1996/01/08}{Fehlermeldung wenn Argument gr"o"ser als 24}
% \changes{3.1}{1996/01/30}{Argument ist jetzt Z"ahlername nicht Wert}
% \changes{3.9}{1997/09/01}{Argument wieder Wert, f"ur Verweise}
% \changes{3.9}{1997/09/02}{Name von \cs{greek} nach \cs{@greek} ge"andert 
% parallel zu "ahnlichen \LaTeX-Befehlen}
% \changes{4.1}{1998/02/05}{\cs{ifcase} doesn't read its argument in braces}
%    \begin{macrocode}
%<*package>
\newcommand*{\@greek}[1]{\ifcase#1\relax\or$\alpha$\or$\beta$\or
$\gamma$\or$\delta$\or$\varepsilon$\or$\zeta$\or$\eta$\or$\vartheta$\or
$\iota$\or$\kappa$\or$\lambda$\or$\mu$\or$\nu$\or$\xi$\or$o$\or$\pi$\or
$\rho$\or$\sigma$\or$\tau$\or$\upsilon$\or$\varphi$\or$\chi$\or$\psi$\or
$\omega$\else\@ctrerr\fi}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Z"ahler}
% Nun werden die Z"ahler f"ur die zw"olf Ebenen deklariert.
% \changes{3.9}{1997/09/02}{Z"ahler werden durch \cs{levelup} per Hand
% zur"uckgesetzt}
%    \begin{macrocode}
\newcounter{lvla}
\newcounter{lvlb}
\newcounter{lvlc}
\newcounter{lvld} 
\newcounter{lvle} 
\newcounter{lvlf} 
\newcounter{lvlg} 
\newcounter{lvlh}
\newcounter{lvli}
\newcounter{lvlj}
\newcounter{lvlk}
\newcounter{lvll}
%    \end{macrocode}
% \begin{macro}{\thelvla}
% \changes{3.7}{1996/08/03}{\LaTeX-Konformere Numerierung}
% Die Ausgabe der Z"ahler erfolg zentral "uber ein eigenes Macro. Dadurch
% m"ussen "Anderungen an der Bezeichnung der Gliederungsebenen nur an einer
% Stelle vorgenommen werden.
%    \begin{macrocode}
\renewcommand*{\thelvla}{\J@Number}
\renewcommand*{\thelvlb}{\J@Number}
\renewcommand*{\thelvlc}{\J@Number}
\renewcommand*{\thelvld}{\J@Number}
\renewcommand*{\thelvle}{\J@Number}
\renewcommand*{\thelvlf}{\J@Number}
\renewcommand*{\thelvlg}{\J@Number}
\renewcommand*{\thelvlh}{\J@Number}
\renewcommand*{\thelvli}{\J@Number}
\renewcommand*{\thelvlj}{\J@Number}
\renewcommand*{\thelvlk}{\J@Number}
\renewcommand*{\thelvll}{\J@Number}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\lvlamark}
% \changes{3.7}{1996/08/03}{neue Macros zur Unterst"utzung von Kopfzeilen}
% Bei doppelseitigen Dokumenten stehen in der linken Kopfzeile die beiden
% obersten Gliederungsebenen; in der rechten die dritte Ebene.
%    \begin{macrocode}
\if@twoside
\newcommand*{\lvlamark}[1]{\J@SetCurrent%
	\@mkboth{\J@NumberRoot1\J@NumberEnd1\ #1}%
		{\J@NumberRoot1\J@NumberEnd1\ #1}}
\newcommand*{\lvlbmark}[1]{\J@SetCurrent%
	\@mkboth{\J@NumberRoot1\,\J@NumberRoot2\J@NumberEnd2\ #1}%
	{\J@NumberRoot1\,\J@NumberRoot2\J@NumberEnd2\ #1}}
\newcommand*{\lvlcmark}[1]{\J@SetCurrent\markright{\J@Number\ #1}}
%    \end{macrocode}
% Bei einseitigen Dokumenten m"ussen sich die ersten drei Gliederungsebenen
% notgedrungen die Kopfzeile teilen. Dabei erscheint jeweils nur die
% "Uberschrift der untersten belegten Ebene.
%    \begin{macrocode}
\else
\newcommand*{\lvlamark}[1]{\J@SetCurrent%
	\markright{\J@NumberRoot1\J@NumberEnd1\ #1}}
\newcommand*{\lvlbmark}[1]{\J@SetCurrent%
\markright{\J@NumberRoot1\,\J@NumberRoot2\J@NumberEnd2\ #1}}
\newcommand*{\lvlcmark}[1]{\J@SetCurrent%
\markright{\J@NumberRoot1\,\J@NumberRoot2\,\J@Number\ #1}}
\fi
%    \end{macrocode}
% Die anderen Gliederungsebenen bleiben unber"ucksichtigt. Hier wird lediglich
% der Marker \cs{@currentlabel} aktualisiert.
%    \begin{macrocode}
\newcommand*{\lvldmark}{\J@SetCurrent\@gobble}
\newcommand*{\lvlemark}{\lvldmark}
\newcommand*{\lvlfmark}{\lvldmark}
\newcommand*{\lvlgmark}{\lvldmark}
\newcommand*{\lvlhmark}{\lvldmark}
\newcommand*{\lvlimark}{\lvldmark}
\newcommand*{\lvljmark}{\lvldmark}
\newcommand*{\lvlkmark}{\lvldmark}
\newcommand*{\lvllmark}{\lvldmark}
%    \end{macrocode}
% \end{macro}
%
% Schlie"slilch brauchen wir noch einen Z"ahler f"ur die aktuelle Tiefe, den 
% wir auch initialisieren.
%    \begin{macrocode}
\newcounter{tiefe}\setcounter{tiefe}{1}
%    \end{macrocode}
%
% Die folgenden Z"ahler definieren, bis zu welcher Ebene die "Uberschriften mit
% einer Gliederungsnummer versehen  und in das Inhaltsverzeichnis aufgenommen 
% werden sollen. Wir wollen, da"s alle zw"olf Ebenen im Verzeichnis erscheinen
% und auch im Text nummeriert werden.
%    \begin{macrocode}
\setcounter{tocdepth}{12}\setcounter{secnumdepth}{12}
%    \end{macrocode}
%
% \subsubsection{"Uberschriften}
% \begin{macro}{\J@Number}
% \changes{1.3}{old}{Typo in Level 7 korrigiert}
% \changes{2.6}{old}{Nummerierung der "Uberschriften ganz neu und viel eleganter}
% \cs{Number} erzeugt abh"angig vom aktuellen Wert des Z"ahlers |tiefe| die 
% Nummerierung. Diese besteht aus der eigentlichen Zahl 
% (\cs{NumberRoot}\marg{tiefe}) und einer Klammer oder einem Punkt
% (\cs{NumberEnd\marg{tiefe}}).
%    \begin{macrocode}
\newcommand*{\J@Number}{\J@NumberRoot{\value{tiefe}}%
\J@NumberEnd{\value{tiefe}}}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\J@NumberRoot}
% \changes{3.5}{1996/07/04}{Erzeugung der Gliederungsnummern getrennt f"ur Textverweise}
% \changes{3.9}{1997/08/28}{Ruft jetzt nur noch die lowlevel Funktion
% \cs{J@INumberRoot} auf}
% Die Nummer wird von der \textit{low level}-Funktion \cs{J@INumberRoot}
% erzeugt. Dieser mu"s die tiefe (\#1), sowie der Wert des dazugeh"ohrigen
% Z"ahlers "ubergeben werden.
%    \begin{macrocode}
\newcommand*{\J@NumberRoot}[1]{\J@INumberRoot{#1}%
{\csname c@lvl\@alph{#1}\endcsname}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\J@INumberRoot}
% \changes{3.9}{1997/08/28}{neue Funktion f"ur Verweise}
% \changes{4.2}{1998/03/06}{added closing parenthesis for levels 8--12, compliant to my own documentation from years ago [Rainer Loritz]}
% Hier wird die eigentliche Gliederungsnummer erzeugt. Der Aufruf erfolgt mit
% zwei Argumenten: \cs{J@INumberRoot}\marg{Tiefe}\marg{Wert}. \meta{Tiefe}
% bestimmt, auf welcher Gliederungsebene die Nummer erzeugt wird, \meta{Wert}
% den konkreten Wert. So erzeugt |\J@INumberRoot{1}{3}| die Ziffer C.
% "Anderungen in der Abfolge der einzelnen Gliederungsebenen sollten an
% dieser Stelle vorgenommen werden.
%    \begin{macrocode}
\newcommand*{\J@INumberRoot}[2]{%
\ifcase#1\or
\@Alph{#2}\or
\@Roman{#2}\or
\@arabic{#2}\or
\@alph{#2}\or
\@alph{#2}\@alph{#2}\or
\@greek{#2}\or
\@greek{#2}\@greek{#2}\or
(\@arabic{#2})\or
(\@alph{#2})\or
(\@alph{#2}\@alph{#2})\or
(\@greek{#2})\or
(\@greek{#2}\@greek{#2})\fi}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\J@NumberEnd}
% \changes{3.5}{1996/07/04}{Erzeugung der Gliederungsnummern getrennt f"ur Textverweise}
% \changes{3.3}{1996/05/02}{Gliederungsnummern Duden-konform nach R~6}
% Hinter den Nummern der Gliederungsebenen 8--12 (die schon von sich aus
% geklammert sind) folgt nur ein Leerzeichen. Nach den ersten drei Ebenen steht
% --~dudenkonform~-- ein Punkt; sonst folgt eine runde Klammer.
%    \begin{macrocode}
\newcommand*{\J@NumberEnd}[1]{\ifnum#1<8\ifnum#1<4.\else)\fi\fi}
%    \end{macrocode}
% \end{macro}
%
% Die folgenden internen Kommandos werden zur Erzeugung des 
% Inhaltsverzeichnisses gebraucht. F"ur jede Gliederungsebene gibt es einen
% \cs{l@lvl*}-Befehl. \cs{@dottedtocline} ist ein internes \LaTeX\-Kommando, das grob
% folgende Syntax hat\footnote{f"ur eine genauere Beschreibung siehe
% |ltsect.dtx|}
% \begin{quote}
% |\@dottedtocline{|\meta{Ebene}|}{|\meta{Indent erste Zeile}|}{|\meta{Indent
% folgende Zeilen}|}|
% \end{quote}
%    \begin{macrocode}
\newcommand*\l@lvla{\@dottedtocline{1}{0em}{2,5em}}
\newcommand*\l@lvlb{\@dottedtocline{2}{1em}{2,5em}}
\newcommand*\l@lvlc{\@dottedtocline{3}{2em}{2,5em}}
\newcommand*\l@lvld{\@dottedtocline{4}{3em}{2,5em}}
\newcommand*\l@lvle{\@dottedtocline{5}{4em}{2,5em}}
\newcommand*\l@lvlf{\@dottedtocline{6}{5em}{2,5em}}
\newcommand*\l@lvlg{\@dottedtocline{7}{6em}{2,5em}}
\newcommand*\l@lvlh{\@dottedtocline{8}{7em}{2,5em}}
\newcommand*\l@lvli{\@dottedtocline{9}{8em}{2,5em}}
\newcommand*\l@lvlj{\@dottedtocline{10}{9em}{2,5em}}
\newcommand*\l@lvlk{\@dottedtocline{11}{10em}{2,5em}}
\newcommand*\l@lvll{\@dottedtocline{12}{11em}{2,5em}}
%    \end{macrocode}
%
% \begin{macro}{\J@SetCurrent}
% \changes{3.5}{1996/07/04}{neues Macro zur Unterst"utzung von Textverweisen}
% \changes{3.9}{1996/08/27}{ge"andert f"ur kurze Verweise}
% \changes{4.2}{1998/03/06}{changed from \cs{edef} to \cs{xdef} [Rainer Loritz]} 
% \changes{4.2}{1998/03/06}{added braces for level numbers with more than one digit}
% Hier werden die Z"ahler der einzelnen Ebenen in der Variablen 
% \cs{@currentlabel} gespeichert.
%    \begin{macrocode}
\newcommand*{\J@SetCurrent}{\xdef\@currentlabel{{\arabic{lvla}}%
{\arabic{lvlb}}{\arabic{lvlc}}{\arabic{lvld}}{\arabic{lvle}}%
{\arabic{lvlf}}{\arabic{lvlg}}{\arabic{lvlh}}{\arabic{lvli}}%
{\arabic{lvlj}}{\arabic{lvlk}}{\arabic{lvll}}}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\toc}
% \changes{3.2}{1996/02/15}{neue *-Form implementiert}
% \changes{3.5}{1996/05/25}{verschiedene "Uberschriften in Text und Inhaltsverzeichnis m"oglich}
% \changes{3.5}{1996/07/04}{Variable f"ur Textbe"uge wird aktualisiert}
% Wir wollen in der aktuellen |tiefe| eine "Uberschrift schreiben und diese
% dann in das Inhaltsverzeichnis eintragen lassen. Je nachdem, ob ein |*| folgt
% wird es eine lange oder kurze "Uberschrift.
%    \begin{macrocode}
\newcommand*{\toc}{\secdef\J@LongToc\J@ShortToc}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\J@ShortToc}
% \changes{3.2}{1996/02/15}{neu f"ur *-Form}
% \changes{3.5}{1996/07/05}{\cs{@gobblecr} hinzugef"ugt}
% Kurze "Uberschriften erscheinen im Text einfach als die Gliederungsnummer.
%    \begin{macrocode}
\newcommand*{\J@ShortToc}[1]{\stepcounter{lvl\alph{tiefe}}\J@Number\ %
%    \end{macrocode}
% Der Titel wird auf der aktuellen Ebene ins Inhaltsverzeichnis "ubernommen.
%    \begin{macrocode}
\addcontentsline{toc}{lvl\alph{tiefe}}%
	{\protect\numberline{\J@Number}#1}%
%    \end{macrocode}
% Die Kopfzeilen werden aktualisiert, Ein eventuell folgender Zeilenwechsel
% wird ignoriert.
%    \begin{macrocode}
\csname lvl\alph{tiefe}mark\endcsname{#1}\@gobblecr}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\J@LongToc}
% \changes{3.2}{1996/02/15}{neu f"ur *-Form}
% \changes{2.0}{old}{Paginierungsfehler bei Seitenumbruch umgangen}
% \changes{2.5}{old}{endlich immer korrekte Seitenangaben im Inhaltsverzeichnis}
% \changes{2.5}{old}{auch mathematische Symbole (zB. \S) sind in "Uberschriften fett}
% \changes{1.5}{old}{Abst"ande vor und nach den "Uberschriften}
% \changes{2.1}{old}{Abst"ande vor und nach "Uberschriften ver"andert}
% \changes{2.2}{old}{Keine L"ocher mehr wenn mehrere "Uberschriften direkt aufeinander folgen}
% \changes{2.3}{old}{vor gro"sen "Uberschriften mehr Platz als vor kleinen}
% \changes{3.3}{1996/05/15}{maximalen Abstand "uber "Uberschriften verringert}
% \changes{2.3}{old}{Seitenumbruch zwischen "Uberschrift und Flie"stext verhindert}
% \changes{2.5}{old}{kein Seitenumbruch zwischen "Uberschrift und erstem Absatz}
% \changes{2.5}{old}{kein Seitenumbruch innerhalb mehrzeiliger "Ueberschriften}
% \changes{2.6}{old}{"Uberschriften, die l"anger als eine Zeile sind, werden korrekt verarbeitet, allerdings bleibt unten zu wenig Abstand}
% \changes{2.7}{old}{unterer Abstand bei mehrzeiligen "Uberschriften klappt jetzt wenn auch ziemlich unelegant gel"ost}
% \changes{3.0}{1996/01/08}{mehrzeilige "Uberschriften funktionieren dank \LaTeXe richtig}
% \changes{3.6}{1996/07/07}{benutzt \cs{@tempdim}-Register}
% \changes{2.2}{old}{neuer Bug: Leerzeichen nach "Uberschriften}
% \changes{2.3}{old}{\cs{parindent} auch f"ur erste Zeile nach "Uberschrift (dadurch haben sich eine Menge Probleme gel"ost)}
% \changes{2.6}{old}{kein \cs{parindent} mehr f"ur erste Zeile nach einer "Uberschrift}
% \changes{3.6}{1996/07/13}{benutzt \LaTeX-Routine \cs{@afterheading}}
% \changes{3.6}{1996/07/13}{direkt aufeinander folgende "Uberschriften werden korrekt behandelt}
% \changes{3.7}{1996/08/03}{v"ollig neu geschrieben benutzt jetzt \LaTeX-Routine \cs{@startsection}}
% \changes{3.8}{1996/08/13}{weniger Varianz bei Abst"anden vor/nach "Uberschriften}
% \changes{3.8}{1996/08/14}{benutzt nicht mehr \cs{@tempdima} dadurch St"orung mit \cs{addvskip} vermieden.}
% \changes{4.3}{1998/07/13}{Schriftart der "Uberschriften frei definierbar}
% Da wir den \LaTeX-internen Befehl \cs{@startsection} benutzen, ist uns viel
% Arbeit abgenommen. Wir m"ussen diesen lediglich mit geeigneten Werten
% f"uttern\footnote{Argumente siehe |ltsect.dtx|.}. 
%    \begin{macrocode}
\newcommand*{\J@LongToc}[2][]{%
\@startsection{lvl\alph{tiefe}}{\value{tiefe}}{0pt}
%    \end{macrocode}
% Vor "Uberschriften in der ersten Gliederungsebene lassen wir 4ex Raum. Vor 
% allen anderen lediglich 2,7ex.
%    \begin{macrocode}
{\ifnum\value{tiefe}=1 -4ex plus-1,5ex minus-0,ex\else
-2,7ex plus-0,8ex minus-0,2ex\fi}
%    \end{macrocode}
% Nach "Uberschriften der Ebenen 8--12 folgt kein Zeilenwechsel, sondern es
% wird lediglich 1em Abstand gelassen. Ansonsten folgt nach der "Uberschrift 
% ein Abstand von 0,6ex.
%    \begin{macrocode}
{\ifnum\value{tiefe}>7 -1em plus-0,5em\relax\else
0,6ex plus0,3ex minus0,1ex\fi}
%    \end{macrocode}
% Hier wird der Schriftstil der "Uberschriften bestimmt, dabei wird
% grunds"atzlich vom \cs{sectfont} ausgegangen. Der genaue Schriftstil
% wird je nach Gliederungsebene durch einen der Befehle 
% \cs{lvlastyle}--\cs{lvllstyle} festgelegt.
%    \begin{macrocode}
{\sectfont\csname lvl\alph{tiefe}style\endcsname}[#1]{#2}}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\lvlastyle}
% \begin{macro}{\sectfont}
% \changes{4.3}{1998/07/13}{Freie Wahl der "Uberschriftenstile m"oglich}
% Hier werden die Schriftarten f"ur die einzelnen Gliederungsebenen definiert.
% "Uberschriften der Ebene 1 werden gro"s, alle anderen in normaler Gr"o"se
% gesetzt; Ebenen 1--7 sind fett, 8--12 kursiv.
%    \begin{macrocode}
\providecommand*{\sectfont}{\normalfont}
\newcommand*{\lvlastyle}{\large\bfseries}
\newcommand*{\lvlbstyle}{\bfseries}
\let\lvlcstyle=\lvlbstyle
\let\lvldstyle=\lvlbstyle
\let\lvlestyle=\lvlbstyle
\let\lvlfstyle=\lvlbstyle
\let\lvlgstyle=\lvlbstyle
\newcommand*{\lvlhstyle}{\itshape}
\let\lvlistyle=\lvlhstyle
\let\lvljstyle=\lvlhstyle
\let\lvlkstyle=\lvlhstyle
\let\lvllstyle=\lvlhstyle
%    \end{macrocode}
% \end{macro}\end{macro}
% \begin{macro}{\@seccntformat}
% \changes{3.7}{1996/08/03}{Umdefinition von \LaTeX-internen Befehlen}
% \begin{macro}{numberline}
% \changes{3.7}{1996/08/03}{Umdefinition von \LaTeX-internen Befehlen}
% Da wir zum Erzeugen der "Uberschriften \LaTeX-Routinen verwenden, m"ussen hier
% einige Befehle umdefiniert werden. In "Uberschriften soll nach der
% Gliederungsnummer sowohl im Text (\cs{@seccntformat}) als auch im
% Inhaltsverzeichnis (\cs{numberline}) nur ein Leerzeichen folgen.
%    \begin{macrocode}
\renewcommand*{\@seccntformat}[1]{\csname the#1\endcsname\ }
\renewcommand*{\numberline}[1]{#1\ }
%    \end{macrocode}
% \end{macro}\end{macro}
%
% \begin{macro}{\leveldown}
% \changes{4.2}{1998/07/05}{New macro [Tilman Finke]}
% In diesem Makro werden lediglich einige Fehler abgefangen. Ansonsten wird nur
% |tiefe| um eins erh"oht.
% \changes{1.4}{old}{Input-Zeilennummern bei Warnings}
%    \begin{macrocode}
\newcommand*{\leveldown}{%
\ifnum\value{lvla}=0%
	\PackageWarning{alphanum}{\protect\sub\space without
		\protect\toc\space}\fi
\ifnum\value{tiefe}=12%
	\PackageWarning{alphanum}{too many sublevels!! Ignored \protect\sub.
		\MessageBreak There will probably be an \protect\levelup\space
		without \protect\sub\space warning later on}
	\setcounter{tiefe}{11}\fi
\stepcounter{tiefe}}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\sub}
% \changes{3.2}{1996/02/15}{*-Version implementiert}
% \changes{4.2}{1998/07/05}{Macro maintained for downward compatibility}
% The real work of this macro is done in \cs{leveldown} and \cs{toc}. This
% is only a command that saves a lot of work typing those two commands that
% typically occur at the same time.
%    \begin{macrocode}
\newcommand*{\sub}{\leveldown\toc}
%    \end{macrocode}
% \end{macro}\begin{macro}{\levelup}
% \changes{1.3}{old}{mehr Warnings}
% \changes{1.4}{old}{Input-Zeilennummern bei Warnings}
% \changes{3.0}{1996/01/08}{Name von \cs{endsub} nach \cs{levelup} ge"andert (Kollision mit \TeX)}
% Auch hier werden einige Fehler abgefangen. 
%    \begin{macrocode}
\newcommand*{\levelup}{%
\ifnum\value{tiefe}=1%
	\PackageWarning{alphanum}{\protect\levelup\space without\protect\sub}
	\stepcounter{tiefe}\fi
\ifnum\value{lvl\alph{tiefe}}=1%
	\PackageWarning{alphanum}{only one subitem in level "\J@Number" ending}%
\fi
%    \end{macrocode}
% Ansonsten wird |tiefe| um eins verringert, der alte Ebenenz"ahler auf Null
% gesetzt, der Absatz beendet und ein wenig Zwischenraum gelassen, falls nicht
% direkt eine neue "Uberschrift folgt.
% \changes{2.4}{old}{\cs{endsub} beendet Absatz und l"asst Freiraum}
% \changes{3.9}{1997/09/01}{alter Levelcounter auf Null}
%    \begin{macrocode}
\setcounter{lvl\alph{tiefe}}{0}
\addtocounter{tiefe}{-1}\par\addvspace{2,7ex plus0,8ex minus1ex}}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Zitate, Verweise}
% \begin{macro}{\@cite}
% Jetzt wird der Befehl \cs{@cite}, auf den \cs{cite} zur"uckgreift, so ver"andert, 
% da"s nicht immer die l"astigen eckigen Klammern erzeugt werden. Au"serdem wird
% zwischen dem Kurztext und dem optionalen Argument kein Komma mehr gesetzt. So
% l"asst sich das Kommando flexibler einsetzen.
%    \begin{macrocode}
\renewcommand*{\@cite}[2][]{#1#2}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@citex}
% \changes{3.9}{1997/08/26}{Zeilenumbr"uche innerhalb von Zitaten}
% Um innerhalb der Zitate Zeilenumbr"uche zuzulassen, mu"s auch diese
% Funktion ge"andert werden. Im wesentlichen habe ich wieder den Kernel
% abgeschrieben\footnote{siehe |ltbibl.dtx|}, also erwarte bitte niemand,
% da"s ich diesen Code erkl"aren kann!
% \changes{4.0}{1998/01/16}{"Anderungen des \LaTeX-Kernels "ubernommen}
%    \begin{macrocode}
\def\@citex[#1]#2{%
  \let\@citea\@empty
  \@cite{\@for\@citeb:=#2\do
    {\@citea\def\@citea{,\penalty\@m\ }%
     \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
     \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
     \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}%
       \G@refundefinedtrue
       \@latex@warning
         {Citation `\@citeb' on page \thepage \space undefined}}%
%    \end{macrocode}
% An dieser Stelle habe ich die umgebende \cs{hbox} entfernt, um
% Zeilenumbr"uche zuzulassen. Im Kernel lautet die Zeile:
% \begin{quote}
%   |{\hbox{\csname b@\@citeb\endcsname}}}}{#1}}|
% \end{quote}
%    \begin{macrocode}
         {\csname b@\@citeb\endcsname}}}{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ref}
% \changes{3.9}{1997/08/27}{Umdefinition f"ur kurze Verweise}
% \changes{4.0}{1998/01/16}{neue *-Form implementiert}
% Als erstes wird gepr"uft, ob der Befehl mit oder ohne * aufgerufen wurde,
% dementsprechend wird das Flag \cs{tempswa} initialisiert. Dieses
% beeinflu"st in \cs{J@refP}, ob Gliederungsziffern, die mit der aktuellen
% Position "ubereinstimmen, ausgegeben werden. Danach wird die Kontrolle an
% \cs{Jref} "ubergeben.
%    \begin{macrocode}
\renewcommand*{\ref}{%
\@ifstar{\@tempswatrue\J@ref}{\@tempswafalse\J@ref}}
%    \end{macrocode}
% \begin{macro}{\J@ref}
% \changes{4.0}{1998/01/16}{neues Macro zur Bearbeitung von \cs{ref*}}
% Hier wird zun"achst getestet, ob die angegebene Marke definiert ist, wenn
% nicht, wird eine entsprechende Warnung ausgegeben.
%    \begin{macrocode}
\newcommand*{\J@ref}[1]{%
\expandafter\ifx\csname r@#1\endcsname\relax
 \protect\G@refundefinedtrue
 \nfss@text{\reset@font\bfseries ??}
 \@latex@warning{Reference '#1' on page \thepage \space undefined}%
%    \end{macrocode}
% Ist die Marke definiert, wird deren Name (\cs{r@}\meta{Marke}) zur weiteren
% Bearbeitung an \cs{J@refX} "ubergeben.
%    \begin{macrocode}
\else
 \expandafter\J@refX\csname r@#1\endcsname
\fi}
%    \end{macrocode}
% \end{macro}\begin{macro}{\J@refX}
% Dort wird die Marke in zwei Elemente expandiert: eines mit den gespeicherten
% Z"ahlern f"ur den Verweis und eines, das die Seitennummer enth"alt auf der
% der Verweis gemacht wurde.
%    \begin{macrocode}
\newcommand*{\J@refX}[1]{\expandafter\J@refXX#1}
%    \end{macrocode}
% \end{macro}\begin{macro}{\J@refXX}
% \changes{4.2}{1998/07/10}{supports references to footnotes [Andreas Stefanski]}
% Wir lesen beide Elemente, sodann wird getestet, ob der erste Parameter eine
% einfache Zahl ist. Ist das der Fall, kann es sich nicht um eine Z"ahlerliste
% handeln, wie sie von |jura.cls| erzeugt wurde, sondern nur um einen normalen
% \LaTeX-Verweis. Der wird einfach nur ausgegeben. F"ur die tiefere Magie
% bedanke ich mich bei Donald Arsenau, es funktioniert jetzt, auch wenn ich
% nicht so recht erkl"aren kann, warum.
%    \begin{macrocode}
\newcommand*{\J@refXX}[2]{%
\ifcat_\ifnum9<1#1_\else X\fi
  #1%
\else
%    \end{macrocode}
% Ansonsten "ubergeben wir die gespeicherten Z"ahler an die n"achste Funktion.
% Die Gruppe wird dabei aufgel"ost, so da"s jetzt \emph{zw"olf} Elemente
% erzeugt werden (eines f"ur jede Ebene).
%    \begin{macrocode}
  \expandafter\J@refA#1%
\fi}
%    \end{macrocode}
% \end{macro}\begin{macro}{\J@refA}\begin{macro}{\J@refB}
% Es werden jetzt die ersten sechs der zw"olf gespeicherten Z"ahler gelesen.
% Au"serdem werden die tempor"aren Variablen initialisiert. In
% \cs{@tempcnta} wird die Tiefe der letzten belegten Gliederungsebene
% gespeichert.
%    \begin{macrocode}
\newcommand*{\J@refA}[6]{\@tempcnta\@ne%
%    \end{macrocode}
% Danach rufen f"ur jede gelesene Gliederungsebene \cs{JrefP} auf. Dabei
% "ubergeben wir die aktuelle Ebene, den Wert des gespeicherten Z"ahlers,
% sowie den Wert des Z"ahlers der vorangeangenen Ebene. Schlie"slich
% rufen wir \cs{JrefB} auf, um die verbleibenden sechs Z"ahler auf die
% selbe Art zu bearbeiten. Am Ende von \cs{JrefB} wird abh"ahngig von
% der Tiefe der letzten belegten Ebene entweder ein "`."' oder ein "`)"'
% erzeugt.
%    \begin{macrocode}
\J@refP1{#1}0\J@refP2{#2}{#1}\J@refP3{#3}{#2}\J@refP4{#4}{#3}%
\J@refP5{#5}{#4}\J@refP6{#6}{#5}\J@refB#6}
\newcommand*{\J@refB}[7]{\J@refP7{#2}{#1}\J@refP8{#3}{#2}%
\J@refP9{#4}{#3}\J@refP{10}{#5}{#4}\J@refP{11}{#6}{#5}%
\J@refP{12}{#7}{#6}\J@NumberEnd\@tempcnta}
%    \end{macrocode}
% \end{macro}\end{macro}\begin{macro}{\J@refP}
% \cs{JrefP} vergleich die aktuelle Gliederungsebene mit der gespeicherten
% bis ein Unterschied auftaucht; dann wird \cs{@tempswa} auf "`wahr"' gesetzt.
% Ab dann wird f"ur jeden gespeicherten Gliederungsz"ahler, der gesetzt war
% (d.h. einen Wert gr"o"ser als Null hat) die Gliederungsnummer erzeugt. Wurde
% \cs{tempswa} bereits oben auf "`wahr"' gesetzt, werden alle
% Gliederungsnummern erzeugt.
% \cs{@tempcnta} wird auf die aktuelle Tiefe gesetzt.
% \changes{3.9}{1997/09/17}{Fehlermeldung f"ur selbstbez"ugliche Verweise}
%    \begin{macrocode}
\newcommand*{\J@refP}[3]{%
\if@tempswa%
 \ifnum#2>0\@tempcnta#1\,\J@INumberRoot{#1}{#2}\fi
\else%
 \ifnum#2=\value{lvl\@alph{#1}}%
  \ifnum#1=12\PackageError{alphanum}{Self-reference detected!}{You used 
    a \protect\ref\space in the same section as the referenced 
    \protect\label\MessageBreak That makes no sense!}\fi
%    \end{macrocode}
% Sind alle Z"ahler der beiden Gliederungsebenen gleich, wurde also innerhalb
% eines Gliederungspunktes auf einen Unterpunkt verwiesen, erzeugen wir
% die Gliederungsziffer der letzten gemeinsamen Ebene. Das ist wohl das
% gew"unschte Ergebnis.
%    \begin{macrocode}
 \else
  \ifnum#2>0\@tempcnta#1\@tempswatrue\J@INumberRoot{#1}{#2}\else
   \ifnum#3>0%
   \@tempcnta#1\advance\@tempcnta-1\relax\J@INumberRoot{\@tempcnta}{#3}%
   \fi
  \fi
 \fi
\fi}
%</package>
%    \end{macrocode}
% \end{macro}\end{macro}
%
% \subsection{Umgebungen}
% Hier folgen die Umgebungen, die an die Gebr"auche bei rechtswissenschaftlichen
% Arbeiten angepasst sind
%
% \subsubsection{Deckblatt}
% \begin{environment}{titlepage}
% \changes{2.6}{old}{neues Feature titlepage implementiert}
% \changes{3.2}{1996/02/10}{entr"umpelt, genauere Abmessungen}
% \changes{3.8}{1996/08/27}{\cs{oddsidemargin} auf richtige Gr"o"se}
% \changes{3.8}{1996/08/30}{zweiseitiges Layout wird korrekt behandelt}
% Als Folge der geringen Textbreite mu"s die |titlepage|-Umgebung f"ur die
% Titelseite neu definiert werden, so da"s dort mehr Platz zur Verf"ugung steht.
%    \begin{macrocode}
%<*class>
\renewenvironment*{titlepage}{%
 \thispagestyle{empty}\setcounter{page}{1}%
 \setlength{\oddsidemargin}{0,75mm}\setlength{\parindent}{0cm}%
 \hsize15,77cm\columnwidth15,77cm\linewidth15,77cm\textwidth15,77cm}%
 {\newpage\if@twoside\thispagestyle{empty}\null\clearpage\fi}
%    \end{macrocode}
%  \end{environment}
%
% \begin{macro}{\and}
% \begin{macro}{\maketitle}
% \changes{3.2}{1996/02/11}{eigenes Layout}
% \cs{maketitle} bekommt ein neues Layout. Der Name des Autors / der Autoren
% erscheint linksb"undig am oberen Rand. So k"onnen auch Matrikelnummer und
% Adresse ansehnlich hinzugef"ugt werden.
%    \begin{macrocode}
\renewcommand{\maketitle}{\begin{titlepage}%
\let\footnotesize\small\let\footnoterule\relax\let\footnote\thanks
\begin{tabular}[t]{l}%
\@author
\end{tabular}\par%
\null\vfill
\begin{center}%
{\LARGE\@title\par}\vspace{8ex}%
{\@date\par}%
\end{center}\par
\@thanks
\vfill\vfill\null
\end{titlepage}%
\setcounter{footnote}{0}\global\let\thanks\relax
\global\let\maketitle\relax\global\let\@thanks\@empty
\global\let\@author\@empty\global\let\@date\@empty
\global\let\@title\@empty\global\let\title\relax
\global\let\author\relax\global\let\date\relax
\global\let\and\relax}
\renewcommand*{\and}{\end{tabular}\hspace{1em}\hfill%
\begin{tabular}[t]{l}}
%</class>
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \subsubsection{Literaturverzeichnis}
% \begin{environment}{jurabibliography}
% \changes{3.1}{1996/01/20}{neues Feature Literaturverzeichnis}
% \changes{3.7}{1996/08/03}{Kopfzeilen nicht mehr nur Gro"sbuchstaben}
% Zuerst wird die neue Umgebung |jurabibliography| definiert. Daf"ur wird im
% wesentlichen die Standardumgebung |description| benutzt. Vorher wird
% allerdings noch die "Uberschrift erzeugt, sowie die Kopfzeilen gesetzt.
% Die Bibliographie funktioniert aber auch in jeder anderen Umgebung, die den 
% Befehl \cs{item}\oarg{voller Autorenname} akzeptiert, so da"s mittels einer
% entsprechend angepassten Listenumgebung leicht ein anderes Layout f"ur das 
% Literaturverzeichnis erreicht werden kann.
%    \begin{macrocode}
%<*package>
\newenvironment*{jurabibliography}
{\chapter*{\bibname
 \@mkboth{\bibname}{\bibname}}%
 \begin{description}\sloppy}{\end{description}}
%    \end{macrocode}
% \end{environment}
%
% \begin{macro}{\jbibitem}
% Jetzt brauchen wir nur noch den eigentlichen Eintrag in die |.aux|-Datei und
% in den Text vorzunehmen. Das Makro ist im Wesentlichen von \cs{@lbibitem} aus
% |ltbibl.dtx| abgeschrieben, insoweit habe ich es einfach als gegeben
% akzeptiert und vermag die Einzelheiten nicht zu erkl"aren.
%    \begin{macrocode}
\def\jbibitem#1#2#3{\item[#1]\if@filesw
 {\let\protect\noexpand\immediate
 \write\@auxout{\string\bibcite{#3}{#2}}}\fi\ignorespaces}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Sachverhalt}
% \begin{environment}{sachverhalt}
% \changes{3.5}{1996/07/04}{Neue Umgebung [Karsten Trostmann]}
% \changes{3.7}{1996/08/03}{Kopfzeile wird gesetzt}
% Die Umgebung f"ur den Sachverhalt beh"alt das normale Seitenlayout bei.
% Es wird lediglich "`Sachverhalt"' als "Uberschrift eingef"ugt. Am Ende wird
% die aktuelle Seite beendet.
%    \begin{macrocode}
\newenvironment{sachverhalt}{\chapter*{Sachverhalt}%
\@mkboth{Sachverhalt}{Sachverhalt}}{\clearpage}
%</package>
%    \end{macrocode}
%\end{environment}
%
% \subsection{Testdokument}
% Jetzt kommt noch ein Dokument, das einige M"oglichkeiten der
% |jura|-Dokument"-klas"-se demonstriert. F"ur eine einfachere Handhabung
% definiere ich zus"atzlich die Abk"urzungen \cs{fn} f"ur Fu"snoten und
% \cs{q} f"ur Zitate. Das hat au"ser ersparter Tipparbeit den weiteren 
% Vorteil, da"s man den Stil der Zitate wenn n"otig zentral "andern kann, 
% z.B. nach \cs{textsc}.
%    \begin{macrocode}
%<*test>
\documentclass[draft]{jura}
\usepackage[T1]{fontenc}\usepackage{german}
\def\fn{\footnote}
\def\q{\textit}
\begin{document}
\frontmatter
\author{Kai Musterer\\
Beispielplatz 3a\\
54321 Eutern\\
2. Fachsemester\\
Matr.-Nr.: 132435\and
Valeska Nachspeise\\
Suarezstr. 23\\
10528 Berlin\\
4. Fachsemester\\
Matr.-Nr.: 345675}
\title{"Ubungen im "offentlichen Recht f"ur Fortgeschrittene}
\date{Wintersemester 1996/97\\
Prof. Dr. Guntram B"osartig\\
1. Hausarbeit}
\maketitle
\begin{sachverhalt}
V ist Eigent"umer eines Grundst"ucks hinsichtlich dessen zugunsten von D
ein Vorkaufsrecht im Grundbuch eingetragen ist. V ver"au"sert das 
Grundst"uck an K, der das Grundbuch nicht einsieht und von dem
Vorkaufsrecht nichts wei"s. Nach dem Eigentumserwerb errichtet K auf dem
Grundst"uck ein Wohnhaus. Erst danach wird D der Verkauf mitgeteilt. 
Dieser erkl"art umgehend, er "`steige in den Vertrag mit K ein"'.\par
\bigskip Wie ist die Rechtslage?
\end{sachverhalt}
\tableofcontents
\begin{jurabibliography}
\jbibitem{Kodal, Kurt/Kr"amer,
Joachim}{Kodal/Kr"amer/}{KKStrR}"`Stra"senrecht"' 5.~Auf"|lage M"unchen:
Beck, 1995
\jbibitem{Kopp, Ferdinand O.}{\q{Kopp} VwGO
}{Kopp}"`Verwaltungsgerichtsordnung"' 10.~Auf"|lage M"unchen:  Beck,
1994
\end{jurabibliography}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\mainmatter
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\toc[Einleitung]{Einleitung\footnotemark[1]}%
\footnotetext[1]{Dies war eine "Uberschrift.}%
\renewcommand{\thefootnote}{\arabic{footnote}}%
Da das Gericht zuvor eine R"uckwirkung au"serhalb des Strafrechts f"ur
zul"assig gehalten hatte (s.o.), war es auch nicht gezwungen, den
Begriff der R"uckwirkung genau zu umrei"sen, die fr"uheren Urteile
besch"aftigten sich daher nur mit den Ausnahmen\fn{\cite[\S~3 
Rn.~4]{Kopp}.} vom Grundsatz der Zul"assigkeit.

In einem auf die freie Entfaltung der\marginpar{\footnotesize
Rechtssicherheit dient der Handlungsfreiheit} Pers"onlichkeit angelegten
Staat mu"s der Rechtssicherheit im besonderen Ma"se Bedeutung zukommen.
Sie ist wesentliche Voraussetzung daf"ur, da"s der B"urger
eigenverantwortlich planen und entscheiden kann, denn nur wenn absehbar
ist, in welche Richtung und in welcher Weise das Recht auf seine
Handlungen reagiert, kann der B"urger sinnvoll einen Lebensplan
gestalten.

\sub{Alle meine Entchen schwimmen auf dem See, K"opfchen in das Wasser
Schw"anzchen in die H"oh' \S~1 HGB}
Abgesehen davon, da"s eine solche Handhabung\label{Verweis}
praktisch wohl nicht durch"-f"uhrbar w"are\footnote{BVerfGE 12, 
13 (14); \cite[Art. 20 Rn.3]{Kopp}.}, widerspr"ache sie zum einen der
Entscheidung des Grundgesetzes f"ur die Demokratie, weil sie einem neuen
Parlament mit ge"anderten Mehrheiten die M"oglichkeit nimmt, Gesetze zu
erlassen.\footnote{Siehe zum ganzen:  \cite[\S~12 Rn.~10]{Kopp}.}

\toc*{Ausweitung des Ansatzes}
Die in diesem Urteil begr"undete Rechtsprechung, hat sich in weiteren
Urteilen zur Berufsfreiheit und der Eigentumsgaratie
verfestigt\fn{\label{fn}BVerfGE 25, 236 (248f.); 32, 1 (22ff.); 50, 265
(275ff.); \cite[\q{Bassenge} \S~26 Rn.  13]{KKStrR}.} und wurde sp"ater
auch auf andere Grundrechte ausgeweitet (s.o. unter \ref{Verweis} volle
Gliederungsnummer: \ref*{Verweis}). Genauer: siehe Fu"snote \ref{fn}.
\end{document}
%</test>
%    \end{macrocode}
% \Finale \PrintChanges \PrintIndex
