% \iffalse meta-comment
%
% Copyright (C) 2005--2006 Georg M. Verweyen <Georg.Verweyen@rub.de>
% ------------------------------------------------------------
%
% 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.
%
% \fi
%
% \iffalse
%<*driver>
\ProvidesFile{mentis.dtx}
%</driver>
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{mentis}[2006/03/01 v1.5 mentis.cls]
%<*driver>
\documentclass[a4paper]{ltxdoc}
\usepackage{tabularx}
\usepackage{picinpar}
\usepackage{textcomp}
\usepackage{hyperref}
\usepackage{mathptmx}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage{calc}
\usepackage[latin1]{inputenc}
\usepackage[T3,T1]{fontenc}
\usepackage[activate]{pdfcprot}
\usepackage[german,ngerman]{babel}
\hypersetup{%
    pdftitle={Die mentis-Klasse},%
    pdfauthor={\textcopyright\ Georg M.~Verweyen <Georg.Verweyen@ruhr-uni-bochum.de>},%
    pdfsubject={Anleitung zur .cls-Datei des Mentis Verlages},%
    pdfkeywords={Mentis-Verlag, mentis.cls, Satzspiegel, Vorgaben,
    Gliederung, Klasse, LaTeX, \LaTeXe}%
}
\setlength{\emergencystretch}{25pt}
 \EnableCrossrefs
 \CodelineIndex
 \RecordChanges
\begin{document}
  \DocInput{mentis.dtx}
\end{document}
%</driver>
% \fi
%
% \CheckSum{681}
%
% \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         \~}
%
%
%%%% \changes{v1.0}{2003/09/25}{Erste Fassung}
%
% \GetFileInfo{mentis.cls}
%
% \DoNotIndex{\newcommand,\newenvironment}
%
%
% \title{Die \textsf{mentis}-Klasse\thanks{%
%       An dieser Stelle m�chte ich mich erst einmal f�r die lausig abgestimmten
%       Schriftarten dieser Dokumentation entschuldigen. Der einzige Vorteil
%       dieser Darstellung ist, dass die Verwendung von Adobe Standard"=Schriften
%       die Gr��e der Datei und damit auch die Downloadzeit um 80\,\%\ reduziert.
%       Auch sonst entspricht diese Datei nicht meinen typografischen
%       Vorstellungen, sie folgt einfach dem Standard f�r automatisch generierte
%       Dokumentationen von \LaTeX"=Klassen.}}
%   \author{Georg M.\,Verweyen \\ \texttt{Georg.Verweyen@rub.de}}
%
% \maketitle
%
% \begin{abstract}\noindent
% \textsf{mentis.cls} provides a class file for the German publisher
% \emph{Mentis Verlag GmbH, Paderborn}, that's why the rest of this document
% is written in German.
%
% F�r zwei verschieden Formate des Mentis Verlags nimmt \textsf{mentis.cls}
% alle notwendigen Anpassungen vor, au�erdem erleichtern einige Befehle die
% Arbeit mit Beispiels�tzen, Feingliederungen und anderem.
% \end{abstract}
%
%
%
%\section{Warum \textsf{mentis.cls}}
%
% Diese Datei stellt sicher, dass \LaTeX-Dateien typographisch korrekt,
% gut lesbar und allen Vorgaben des Mentis-Verlages gerecht gesetzt
% werden. Im Einzelnen sorgt das Paket f�r einen guten Satzspiegel, f�r
% einheitliche �berschriftenformatierung, es stellt Befehle f�r Beispiels�tze
% zur Verf�gung, �ndert die Darstellung der Fu�noten, des Inhaltsverzeichnisses
% und des Literaturverzeichnisses.
% Vor allem muss sich der Autor um all diese Feinheiten keine unn�tigen
% Gedanken machen, sondern nur dem Programm mitteilen was f�r eine logische
% Struktur (etwa eine Fu�note) er haben will. WYGIWYM: What You Get Is What You Mean.
%
% Entstanden ist diese Datei beim Satz der B�cher \emph{Logik, Sprache, Metaphysik}
% und \emph{Freges Kritik} von Prof.\ Dr.~Ulrich Pardey.
% Das vorliegende Format tr�gt daher vor
% allem seinen Bed�rfnissen Rechnung. Dennoch sollten die vorgenommenen Anpassungen
% eine solide Basis f�r andere Ver�ffentlichungen im Mentis-Verlag bilden.
%
% An dieser Stelle m�chte ich darauf hinweisen, dass alle wesentlichen
% Anpassungen des recht amerikanischen Stils der \LaTeXe"=Basisklassen an
% kontinentaleurop�ische Lesegewohnheiten dem KOMA"=Script"=Paket von Frank
% Neukam, Markus Kohm und Axel Kielhorn zu verdanken sind.
% \textsf{mentis.cls} ist nicht mehr als das angepasste T�pfelchen auf dem
% i von KOMA-Scr{\i}pt.
%
%
% \section{Gebrauch}
% Wenn Sie diese Anleitung als fertige pdf"~ oder dvi"=Datei aus dem Netz geladen
% haben, m�ssen Sie auf Ihrem System eventuell noch die cls"=Datei erzeugen. Dazu
% ben�tigen Sie die Dateien |mentis.dtx| und |mentis.ins|. Am einfachsten geht dies
% indem Sie in der Kommandozeile |latex mentis.ins| eingeben und eine eventuelle R�ckfrage
% mit |y| bejahen. Diese Anleitung k�nnen Sie erzeugen indem Sie |latex mentis.dtx|
% eingeben.
%
% Kommen wir endlich zu Ihrem Text:
%  Zun�chst m�ssen Sie \LaTeX\ mitteilen, dass es sich bei dem Projekt, an dem
%   \DescribeMacro{\documentclass\{mentis\}}
%  Sie gerade arbeiten, um ein Buch f�r den Mentis"=Verlag handelt.
% Dazu geben Sie einfach als
%  obligatorischen Parameter des |\documentclass|"=Befehls |mentis| ein:
% |\documentclass|""|{mentis}|
%
% Dann m�ssen Sie noch angeben, ob Ihr Buch im kleineren oder gr��eren
% Format des Verlages gedruckt werden soll, dies geschieht als optionales Argument:
%  |\documentclass|""|[mentisklein]|""|{mentis}| oder
%  |\documentclass|""|[mentisgross]|""|{mentis}|.
%
%\begin{tabwindow}[0,r,{\small%
%  \begin{tabular}[t]{|p{.27\textwidth}|p{.11\textwidth}|}
%    \firsthline Texth�he inkl.\ Kopfzeile mit lebendem Kolumnentitel und
%    Fu�note& 19,5\,cm/""18,2\,cm\\\hline Textbreite & 11,7\,cm/""10\,cm\\\hline Abstand der
%    Marginalien vom Text & 2\,mm\\\hline Maximale Breite der Marginalien &
%    1,7\,cm/""1,4\,cm\\\hline Abstand der Kopfzeile vom Text & Eine
%    Zeilenh�he\\\lasthline
%  \end{tabular}
%  },{Ma�e des Satzspiegels im gro�en/""kleinen Format}]
%  Sofern Sie keine Pakete einbinden, die den Satzspiegel beeinflussen, sollte
%  Ihr Dokument jetzt bereits die richtigen Ma�e aufweisen. Diese sind im
%  einzelnen der Tabelle zu entnehmen.
%
%  Falls Sie noch Abweichungen feststellen, haben Sie h�chstwahrscheinlich
%  Befehle in Ihrem Dokument benutzt, die den Satzspiegel beeinflussen
%  --~etwa |\textheight|, |\textwidth|, |\enlargethispage|. Diese sollten Sie
%  entfernen und nur in Notf�llen (sehr schlechte Seitenumbr�che) darauf
%  zur�ckgreifen. Auch andere Pakete zur �nderung der Seitenr�nder etc.,
%  wie etwa \textsf{geometry.sty} sollten Sie hier nicht nutzen.
%\end{tabwindow}
%
%
%\section{Optionen}
%Wie bereits erw�hnt, steht und f�llt \textsf{mentis.cls} mit der
%Verwendung von KOMA"=Script. Das bedeutet nicht nur, dass Sie dieses Paket
%installiert haben sollten (was bei allen �blichen Distributionen von
%\LaTeXe\ der Fall ist), es bedeutet auch, dass Sie sich ein wenig mit KOMA-Script
%vertraut machen sollten, wenn Sie von den Standardeinstellungen abweichen
%wollen.
%
%Die wesentlichen Optionen, die Sie \textsf{mentis.cls} in der Form
%|\documentclass|""[\meta{Option},""\meta{Option},""\dots] �bergeben k�nnen
%sind: |mentisgross|/""|mentisklein|, |mentisroemisch|, |final|/""|draft|, |openany|/""|openright|,
%|smallheadings|/""|normalheadings|/""|bigheadings|,
%|10pt|/""|11pt|/""|12pt|. Achten Sie bitte darauf, alle Optionen
%durch Kommata getrennt in ein Paar eckige Klammer zu schreiben.
%
% \DescribeMacro{mentisgross}\DescribeMacro{mentisklein} Eine dieser beiden
% Optionen \emph{muss} angegeben werden. Damit wird dem Paket mitgeteilt, ob
% der Text im etwas gr��eren oder kleineren Format des Verlages erscheinen
% soll.
%
%\DescribeMacro{mentisroemisch} Diese Option stellt die Nummerierung der Kapitel
% auf r�mische Ziffern um und passt das Inhaltsverzeichnis entsprechend an. Au�erdem
% werden den Abschnittsnummern nicht die Kapitelnummern vorangestellt. Also nicht
% ">III.2"< sondern einfach ">2"<. Kapitelnummer und "~name findet der Leser jederzeit in der
% Kopfzeile.
%
%\DescribeMacro{final/draft} |draft| teilt \LaTeX\ mit, dass es sich um
%einen Probeausdruck handelt. �berlange Zeilen werden dann durch schwarze Balken
%markiert. Au�erdem geben dann einige n�tzliche Pakete (die Sie bei Bedarf
%selbst einbinden m�ssen) auf dem Ausdruck
%zus�tzliche Informationen, die im sp�teren Druck (final)
%nat�rlich nicht erscheinen sollen, so zeigt \textsf{showlabels} alle Namen
%von Labeln und Verweisen, \textsf{showidx} zeigt, auf welche Stellen im
%Text sp�ter der Index verweisen wird etc. |final| schaltet diese
%Funktionen zentral ab.
%
%\DescribeMacro{openany/openright} Mit |openright| legen Sie fest, dass
%Kapitel nur auf rechten, also ungeraden Buchseiten beginnen d�rfen.
%|openany| hebt diese Restriktion auf. Eine eigene neue Seite erhalten
%Kapitelanf�nge in jedem Fall.
%
%\DescribeMacro{...headings} Mit dieser Option w�hlen Sie die Gr��e der
%�berschriften, ich pers�nlich finde |smallheadings| meistens ausreichend.
%
%\DescribeMacro{10pt/11pt/12pt} Diese Option gibt die Gr��e der
%Grundschrift an. Alle verwendeten Gr��en (�berschriften, Fu�noten,
%Kopfzeilen) werden bei �nderung dieser Grundschrift angepasst. Ich halte
%10 Punkt f�r gut lesbar, allerdings werden beim gr��eren Satzspiegel
%die Zeilen dann etwas lang. 11 Punkt sind in der Latin Modern eine
%sehr komfortable Schriftgr��e, 12 pt w�re f�r ein (Sach"~)""Buch ziemlich gro�.
%
%\DescribeMacro{oneside} Wenn Sie f�r den eigenen Bedarf ein Exemplar
%einseitig ausdrucken wollen, k�nnen Sie die Option |oneside| angeben,
%damit �ndert sich die Position der Seitenzahl, die Randverteilung und die
%Erstellung der lebenden Kolumnentitel --~f�r den Buchdruck ist nat�rlich
%zweiseitiger Druck voreingestellt (|twoside|).
%
% Als globale Option sollten Sie auch alle verwendeten Sprachen angeben. 
% Die Option |german| steht f�r die alte Rechtschreibung, |ngerman| f�r die neue, 
% ansonsten werden die englischen Bezeichnungen f�r die Sprachen verwendet. 
% Als Standardsprache des Dokuments gilt die \emph{zuletzt} angegebene Sprache.
%
%
% Wenn man den Text einmal im Format \textsc{iso}~A5 (ja, fr�her hie� das mal 
% \textsc{din}~A5) drucken m�chte --~sinnvoll ist das nur beim kleineren 
% Endformat~-- kann man als Option |a5paper| angeben, der Text wird dann 
% automatisch anders positioniert.\footnote{Die naheliegende Option |a4paper| 
% ist ohnehin Standard, braucht daher nicht angegeben zu werden}
%
% Um die Abs�tze so gleichm��ig wie m�glich erscheinen zu lassen und Trennungen 
% zu reduzieren, nutzt die Klasse das |microtype|-Paket. Um den 
% Berechnungsaufwand zu reduzieren, oder um kleinere Dateien f�r eine 
% Online-Verwendung zu produzieren, kann die Dehnung oder Stauchung der Schriften
% ausgeschaltet werden: \verb$\microtypesetup{expansion=false}$
%
%
%\paragraph{Zus�tzliche Pakete}
%
% Wenn man einen Text mit Umlauten und Sonderzeichen an einem Rechner eingibt,
% k�nnen diese Zeichen auf unterschiedliche Weise kodiert werden. Die Kodierung 
% h�ngt vom Betriebssystem, dem Editor und den Einstellungen ab. Damit \TeX\ die 
% Dateien richtig versteht muss es wissen, welche Kodierung verwendet wird. 
% Deutsche Texte werden meist nach ISO~8859-1 abgespeichert, diese �Codepage� ist 
% als \emph{Latin~1} bekannt. Um sie zu verwenden geben sie beim 
% Paket |inputenc| die Option |latin1| 
% an. Andere Codepages sind: Windows~1252 (|ansinew|), ISO~8859-15 (|latin9|), 
% Mac-Roman (|applemac|) oder Unicode (|utf-8|). Die Unicode Unterst�tzung von 
% \LaTeX\ befindet sich noch in der Testphase.  
%
% Mit |varioref| k�nnen flexible Verweise \`a la ">auf der 
% folgenden Seite"< automatisch
% erzeugt werden. Weiteres in der Anleitung, die Sie mit dem Befehl 
% |texdoc varioref| in der Kommandozeile erhalten sollten.
%
% Das Paket |hyperref| macht Eintr�ge im Literaturverzeichnis und 
% Querverweise klickbar. Au�erdem k�nnen damit weitere Informationen in die 
% pdf-Datei geschrieben werden. Zahlreiche weitere Optionen entnehmen Sie 
% bitte der Anleitung, die Sie unter \url{.../texmf/doc/latex/hyperref/manual.pdf}
% finden.
% 
% Die Pakete |tabularx| und |booktabs| erm�glichen den Satz sch�ner Tabellen 
% mit \LaTeX, leider ist dies nicht ganz trivial. Bitte lesen Sie auch 
% hierzu unbedingt die Anleitungen (|texdoc booktabs| bzw. |texdoc booktabs|).
%
% Um Grafiken oder auch Schrift zu vergr��ern, verkleinern, verzerren oder drehen 
% zu k�nnen brauchen Sie das Paket |graphicx|. Die Anleitung dazu finden Sie 
% mit dem Befehl |texdoc grfguide|.

% Wenn Sie mit mathematischen Formeln arbeiten werden Sie vermutlich die Pakete
% der amerikanischen mathematischen Gesellschaft (AMS) brauchen. 
% Die beste kostenlose Anleitung dazu ist |mathmode.pdf|, die Sie auf Ihrem 
% Rechner oder im Internet problemlos finden sollten. Wenn Sie die Pakete 
% nutzen m�chten entfernen Sie einfach das Prozentzeichen vor |\usepackage{|.
%
% Der Beginn eines typischen Dokumentes kann also wie folgt aussehen:
%\begin{verbatim}
%\documentclass[
%   mentisgross,
%   smallheadings,
%   openright,   
%   11pt,
%   greek,
%   english,
%   french,
%   ngerman,
%]{mentis}
%\usepackage[latin1]{inputenc}
%\usepackage{varioref}
%\usepackage[%
%    pdftitle={Mein Buch bei Mentis},
%    pdfauthor={Georg M. Verweyen},
%    pdfsubject={�ber Feinheiten im Druck},
%]{hyperref}
%\usepackage{tabularx,booktabs}
%\usepackage{graphicx}
%%\usepackage{amsmath,amsfonts,amssymb}
%\begin{document}
%    Hier steht Ihr Text 
%\end{document}
%\end{verbatim}
%
%
%\section{Gliederungselemente}
%
%Wie bei \LaTeX"=B�chern �blich ist die h�chste Gliederungsebene
%|\chapter|""\oarg{Kurztitel}""\marg{Titel}.\footnote{%
%    Bemerkenswert bei \textsf{mentis} ist, dass die
%    Kurztitel lediglich in der Kopfzeile auftauchen, im Inhaltsverzeichnis
%    dagegen der regul�re Titel. (Diese Funktion k�nnte bei einer
%    Umstellung auf \LaTeX3\ f�r Probleme sorgen.)
%} Es folgen
%|\section|""\oarg{Kurztitel}""\marg{Titel},
%|\subsection|""\oarg{Kurztitel}""\marg{Titel} und
%|\subsubsection|""\oarg{Kurztitel}""\marg{Titel}. Dar�berhinaus gibt es
%die M�glichkeit, das Buch mit |\part|""\oarg{Kurztitel}""\marg{Titel} in
%einige (wenige!) gro�e Teile zu gliedern. Diese Gliederungselemente
%verlangen (jedenfalls typographisch) nach einem Titel!
%\DescribeMacro{\Pnum} Um die M�glichkeit zu bieten, Unterabschnitte ohne
%Titel zu nummerieren steht der Befehl |\Pnum| zur Verf�gung. Wird er mit
%leerem Argument verwendet, so entsteht ein neuer Unterabschnitt mit
%laufender Nummer, die dem Paragraphen in hervorgehobener Schrift
%vorangestellt wird. In Abschnitt 3 erzeugt |\Pnum{}| also einen Absatz, an
%dessen Anfang \textbf{\sffamily 3.1} steht, weitere Verwendung erzeugt
%\textbf{\sffamily 3.2} usw. Diese Unterabschnitte werden zwar nicht ins
%Inhaltsverzeichnis aufgenommen, man kann jedoch mit
%|\label|\marg{Labelname} und |\ref|\marg{Labelname} darauf Bezug nehmen.
%Anders verh�lt sich |\Pnum| wenn das Argument nicht leer ist, dann wird
%dem Absatz dieses Argument vorangestellt. Diese Funktion ist f�r
%Markierung von Abs�tzen mit Buchstaben, r�mischen Ziffern oder kurzen
%Ausdr�cken wie ">Zu iii)"< besonders geeignet. Eine Bezugnahme auf diese
%Struktur ist mit |\ref| nicht vorgesehen.
%
%\DescribeMacro{\absatz} |\absatz| erzeugt einen neuen Absatz, der vom
%vorhergehenden durch einen wohlbemessenen (flexiblen) Abstand getrennt ist.
%Mitten in diesem Leerraum steht ein kleines Sternchen.
%
%\section{Langzitate}
%
%Langzitate werden in eine Umgebung namens |quote| gesetzt.
%\DescribeEnv{quote} Diese beginnt mit |\begin{quote}| und wird
%durch |\end{quote}| beendet. Dazwischen
%steht der Text, der dann im Druck etwas kleiner und einger�ckt erscheint.
%An- und Abf�hrungszeichen sind am Anfang und Ende eines solchen
%Langzitates redundant und sollten daher nicht gesetzt werden.
%
%
%\section{An- und Abf�hrungszeichen}
%Von allen Anf�hrungszeichen gefallen mir ">umgekehrte Guillemets"< entschieden
%am besten. Diese sind meines Wissens im deutschen Buchsatz auch am h�ufigsten
%vertreten. In der Schweiz und in Frankreich bevorzugt man "<normale
%Guillemets">. In Deutschland sind auch -- aber weniger im Buchdruck --
%"`Deutsche Anf�hrungszeichen"' �blich.\footnote{%
%    An dieser Stelle vielleicht eine kleine Warnung vor MS-Word: Die
%    einfachen deutschen Abf�hrungszeichen werden oft als einfache
%    anglikanische Abf�hrungszeichen gesetzt. Bei automatisch
%    transformierten Texten findet sich der Fehler dann auch in
%    \LaTeX"=Dateien. Achten Sie also darauf, dass der kleine hochgestellte
%    Strich aussieht wie eine 6, nicht wie eine 9.
%} Im Englischen Sprachraum die ``Anglikanischen Anf�hrungszeichen''.
% Nur auf alten Computern findet man noch die \dq Doubleqoutes\dq.
%Zu allen Versionen gibt es auch noch einfache Ausf�hrungen. Um das Chaos
%zu lichten schlage ich folgende Befehle vor: |\Dll|, |\Drr|, |\Dl| und
%|\Dr| f�r die deutschen Anf�hrungszeichen: Doppelte"=Links,
%Doppelte"=Rechts, Einfache"=Links, Einfache"=Rechts. F�r die englischen,
%die man bei englischsprachigen Zitaten nach Duden verwenden sollte:
%|\Ell|, |\Err|, |\El| und |\Er|.
%
%Sollten einem die Anf�hrungszeichen nachher gar nicht gefallen, braucht
%man nur einmal den entsprechenden Befehl zu �ndern.
%
%
%\section{Beispiels�tze}
%Wenn man im Text Beispiels�tze verwendet, dann sollten diese aus dem
%laufenden Text hervorgehoben werden. \textsf{mentis.cls} macht das
%einheitlich f�r den Autor mit dem Befehl \DescribeMacro{\Psatz}
%|\Psatz|""\marg{Nummer}""\marg{Satz}. Die Nummer des Satzes erscheint in
%runden Klammern als Marginalie in der ersten Zeile des Satzes. Wird keine
%Nummer angegeben, erscheint auch keine Marginalie.
%
%\section{Kleinkram}
%F�r die Markierung von
%Varianten von S�tzen sind kleine hochgestellte Striche oder Sterne �blich,
%um nicht auf Hochkomma oder zentrierte Sterne zur�ckzugreifen, empfehle
%ich die Verwendung von \DescribeMacro{\strich}\DescribeMacro{\stern}
%|\strich| und |\stern|.
%
%Um einen Begriff in spitze Klammern zu setzen, biete ich \DescribeMacro{\spitz}
%|\spitz|\marg{Begriff} an.
%
%F�r tiefgestellte Zahlen oder Buchstaben, Indizes in diesem Sinne, steht
%\DescribeMacro{\textsubscript} |\textsubscript|\marg{Index} bereit -- analog
%zum |\textsuperscript| der Standardklassen.
%
% Ein etwas
%k�rzeres \emph{alias} mit der selben Funktion wie |\textsubscript| ist
%\DescribeMacro{\tief} |\tief|.
% Um ">A$_{1}$"< zu erhalten ist |A\tief{1}| wesentlich (!) besser als |A$_{1}$|,
%da die Schriftartumschaltung nur mit erster Variante sichergestellt ist!
%">|\textbf{A$_{1}$}|"< erzeugt eben nicht ">\textbf{A}$_{\bf 1}$"<,
% sondern ">{\textbf{A$_{1}$}}"<.
%
%Weitere Kleinigkeiten sind hier vorerst nicht kommentiert, und stehen am Ende der Dokumentation.
%
%\section{Literaturnachweise}
%Ich empfehle dringend die Verwendung des \textsf{Jurabib}"=Paketes
%zusammen mit BiB\TeX. Entsprechende Anpassungen f�r \textsf{Jurabib} nimmt
%\textsf{mentis.cls} vor.
%
%
%\section{Zeilenumbruch}
% Sollte ein Absatz schlecht umgebrochen werden wegen zu
% kurzer Zeilen oder Abbildungen etc.\, so kann mit
% \DescribeEnv{tolerant} |\begin{tolerant}|\marg{Wert} \ldots |\end{tolerant}| f�r einen Absatz
% (oder mehrere) ein h�herer Wert (bis 9\,999) gew�hlt werden. Die Wortabst�nde werden
% dann bei Bedarf etwas gr��er gew�hlt.
%
%
% \StopEventually{\PrintChanges\PrintIndex}
%
%
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % \section{Implementierung} %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%Ab hier folgt der Programmcode mit Erl�uterungen, niemand sollte sich gen�tigt f�hlen
%weiter zu lesen, im Falle eines Problems kann es jedoch sehr n�tzlich sein, das
%Uhrwerk zu �ffnen um zu schauen, wie es funktioniert.
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % \subsection{Einbindung von Paketen} %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Zun�chst lade ich mit allen angegebenen Optionen die KOMA-Script Klasse
% f�r B�cher: \textsf{scrbook}.
%    \begin{macrocode}
\LoadClassWithOptions{scrbook}
%    \end{macrocode}
%
%Bevor ich das vergesse, einige Dinge m�ssen am Anfang des Dokuments also direkt beim Befehl
%|\begin{document}| ausgef�hrt werden:
%    \begin{macrocode}
\AtBeginDocument{%
%%%%%    \selectlanguage{ngerman}%
    \makeindex
    \pagestyle{scrheadings}
    \pagestyle{mentis}
    \raggedbottom
}
%    \end{macrocode}
% Dann folgen etliche Pakete:
% Und mit dieser Zeile wird dann die inputenc-Option ans Paket 
% durchgereicht:
%
%|fontenc| stellt die richtige Codepage zur Verf�gung, entscheidend ist die letzte Angabe,
%hier also das aktuelle Kodierungs"=schema f�r westliche Schriftarten
%    \begin{macrocode}
\RequirePackage[LY1,OT4,T5,OT1,T3,T1]{fontenc}
%    \end{macrocode}
% |babel| ist das Sprachentalent unter den Paketen, |ngerman| steht f�r die Neue Deutsche
% Rechtschreibung und die damit ge�nderte Silbentrennung. 
% v 1.4:
% Hier Griechisch wegen unterschiedlicher
% M�glichkeiten f�r den Endnutzer erstmal entfernt
%    \begin{macrocode}
\RequirePackage{babel}
%    \end{macrocode}
%|lgreek| stellt griechische Schrift inkl. Silbentrennung zur Verf�gung. Hier ebenso.
%%%    \begin{macrocode}
%%%\RequirePackage{lgreek}
%%%    \end{macrocode}
% |xspace| stellt den gleichnamigen Befehl zur Verf�gung, der am Ende von Makros einen
% zus�tzlichen Leerraum einf�gt, wenn dort im Quelltext auch ein Leerraum war.
%    \begin{macrocode}
\RequirePackage{xspace}
%    \end{macrocode}
%|textcomp| stellt ein paar weitere Symbole bereit.
%    \begin{macrocode}
\RequirePackage{textcomp}
%    \end{macrocode}
%|scrpage2| wird hier v�llig unterfordert und wird nur f�r die lebenden Kolumnentitel gebraucht
%    \begin{macrocode}
\RequirePackage{scrpage2}
%    \end{macrocode}
%|jurabib| passt Bib\TeX\ den Bed�rfnissen deutscher Geisteswissenschaftler an.
%    \begin{macrocode}
\RequirePackage{jurabib}
%    \end{macrocode}
%|picinpar| L�sst Abs�tze um Graphiken oder Tabellen etc.\ flie�en. Funktioniert leider
%nicht immer, daher entfernt.
%%%    \begin{macrocode}
%%\RequirePackage{picinpar}
%%%    \end{macrocode}
%|makeidx| erstellt automatisch den Index.
%    \begin{macrocode}
\RequirePackage{makeidx}
%    \end{macrocode}
%|relsize| stellt relative Textgr��en zur Verf�gung.
%    \begin{macrocode}
\RequirePackage{relsize}
%    \end{macrocode}
%|microtype| sorgt f�r optischen Randausgleich und minimal skalierte
% Schriften f�r einen besseren Grauwert und weniger Trennungen.
%    \begin{macrocode}
\RequirePackage[stretch=15,shrink=15,step=5]{microtype}
%    \end{macrocode}
% Zwei hab' ich noch, damit und durch den Befehl |\RaggedRight| erreicht man Flattersatz
% \emph{mit} Trennungen -- ist wichtig f�r den Index. Und |multicol| braucht man sowieso!
% Schlie�lich noch (seit v.\,1.5) |geometry| um den Satzspiegel etwas transparenter zu
% entwerfen. 
%    \begin{macrocode}
\RequirePackage{multicol}
\RequirePackage{ragged2e}
\RequirePackage{geometry}
%    \end{macrocode}
% Damit w�ren die Pakete alle installiert.
% Bleibt noch, alle Optionen an \textsf{scrbook} weiterzureichen und danach das
% Ende der Optionen zu erkl�ren.
%    \begin{macrocode}
\DeclareOption*{%
    \PassOptionsToClass{\CurrentOption}{scrbook}%
}
%    \end{macrocode}
% F�r die kleine Reihe des Verlages steht die Option |mentisklein| bereit, sie ruft
% intern den Befehl |\m@ntisklein| auf.
%    \begin{macrocode}
\DeclareOption{mentisklein}{\m@ntisklein}
%    \end{macrocode}
% F�r die gro�e Reihe gibt es analog |mentisgross|/""|\m@ntisgross|.
%    \begin{macrocode}
\DeclareOption{mentisgross}{\m@ntisgross}
%    \end{macrocode}
% |mentisroemisch| stellt die Nummerierung der Kapitel mit r�mischen Ziffern bereit durch
% den internen Befehl |\m@ntisroemisch|
%    \begin{macrocode}
\DeclareOption{mentisroemisch}{\m@ntisroemisch}
%    \end{macrocode}
%
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % \subsection{Inhaltsverzeichnis/""\texttt{mentisroemisch}} %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%Ursprung des ganzen Problems mit dem Inhaltsverzeichnis ist die Nummerierung der
%Kapitel mit r�mischen Ziffern. Die vermaledeite acht (VIII) ist dann einfach zu lang!
%    Ich definiere also eine neue L�nge |\ChapterExtraWidth| um die einige L�ngen dann
%    vergr��ert oder auch verkleinert werden. Mit
%    |\setlength|""|{\ChapterExtraWidth}|""\marg{L�nge} kann dieser Wert ver�ndert
%    werden, das wird aber vermutlich erst ab Kapitel ">XVII"< n�tig und so viele Kapitel
%    w�rde ich nicht mehr r�misch nummerieren. Analog gibt es |\S(ubs)ectionExtraWidth| und
%    |\PagenumExtraWidth|. F�r alle diese L�ngen k�nnen auch negative L�ngen eingegeben werden.
%    Hier werden f�r Mentis einige Werte voreingestellt, die KOMA-Script Standardwerte sind in den
%    L�ngen ohne ">|Extra|"< abgelegt. Die Berechnung der effektiven L�nge aus normaler L�nge plus
%        Extral�nge geschieht unmittelbar vor dem Setzen, d.\,h.\ man k�nnte auch f�r einzelne �berschriften
%    andere Abst�nde w�hlen.
% Auch die Seitenzahlen brauchen, wenn sie fett und dreistellig sind etwas mehr als 1,55 em,
% daher:
%    \begin{macrocode}
\renewcommand{\@pnumwidth}{1.95em}
%    \end{macrocode}
%    \begin{macrocode}
\newlength{\ChapterExtraWidth}
\setlength{\ChapterExtraWidth}{0em}
%    \end{macrocode}
% |mentisroemisch| verl�ngert den Raum f�r die Kapitelmarkierung um ein ">em"<.
% Der Rest r�ckt automatisch nach.
%    \begin{macrocode}
\DeclareRobustCommand{\m@ntisroemisch}{%
    \setlength{\ChapterExtraWidth}{1em}%
%    \end{macrocode}
%    Und das Erscheinungsbild der Kapitel- und Abschnittsnummern wird hier ge�ndert.
%    Die Kapitel werden r�misch nummeriert und der erste Unterabschnitt soll nicht
%    ">I.1"< hei�en sondern einfach ">1"<, also ohne das Kapitel -- das findet man ja in der
%    Kopfzeile. Danach endet der Befehl |\m@ntisroemisch|.
%    \begin{macrocode}
    \renewcommand\thesection{\arabic{section}}
    \renewcommand\thechapter{\Roman{chapter}}
}
\newlength{\SectionExtraWidth}
\setlength{\SectionExtraWidth}{0em}
\newlength{\SubsectionExtraWidth}
\setlength{\SubsectionExtraWidth}{0em}
\newlength{\ChapterLabelWidth}%
\newlength{\SectionIndentWidth}
\newlength{\SubsectionIndentWidth}
\newlength{\SubsubsectionIndentWidth}
\newlength{\SectionLabelWidth}
\newlength{\SubsectionLabelWidth}
\newlength{\SubsubsectionLabelWidth}
\renewcommand*\l@chapter[2]{%
        \setlength{\ChapterLabelWidth}{1.5em}%
    \addtolength{\ChapterLabelWidth}{\ChapterExtraWidth}%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip 1.0em \@plus\p@
    \setlength\@tempdima{\ChapterLabelWidth}%
    \if@tocleft
      \ifx\toc@l@number\@empty\else
        \setlength\@tempdima{0\toc@l@number}%
      \fi
    \fi
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \sectfont
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
      \penalty\@highpenalty
    \endgroup
  \fi%
}
\renewcommand*\l@section{%
        \setlength{\SectionLabelWidth}{2.3em}%
    \addtolength{\SectionLabelWidth}{\SectionExtraWidth}%
        \addtolength{\SectionLabelWidth}{-.5\ChapterExtraWidth}%
    \setlength{\SectionIndentWidth}{1.5em}%
        \addtolength{\SectionIndentWidth}{\ChapterExtraWidth}%
    \@dottedtocline{1}{\SectionIndentWidth}{\SectionLabelWidth}%
}
\renewcommand*\l@subsection{%
    \setlength{\SubsectionIndentWidth}{3.8em}%
    \addtolength{\SubsectionIndentWidth}{\ChapterExtraWidth}%
    \addtolength{\SubsectionIndentWidth}{\SectionExtraWidth}%
    \setlength{\SubsectionLabelWidth}{3.2em}%
    \addtolength{\SubsectionLabelWidth}{\SubsectionExtraWidth}%
    \addtolength{\SubsectionLabelWidth}{-\ChapterExtraWidth}%
    \@dottedtocline{2}{\SubsectionIndentWidth}{\SubsectionLabelWidth}%
}
\renewcommand*\l@subsubsection{%
\setlength{\SubsubsectionIndentWidth}{7.0em}%
\addtolength{\SubsubsectionIndentWidth}{\ChapterExtraWidth}%
\addtolength{\SubsubsectionIndentWidth}{\SectionExtraWidth}%
\addtolength{\SubsubsectionIndentWidth}{\SubsectionExtraWidth}%
\setlength{\SubsubsectionLabelWidth}{4.1em}%
\addtolength{\SubsubsectionLabelWidth}{-\ChapterExtraWidth}%
    \@dottedtocline{3}{\SubsubsectionIndentWidth}{\SubsubsectionLabelWidth}%
}
%    \end{macrocode}
%
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \subsection{Der Satzspiegel, \texttt{mentisgross/""mentisklein}}%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%Einige allgemeine Einstellungen zum Satzspiegel in Mentis-B�chern. 
%    \begin{macrocode}
    \setlength{\marginparsep}{2mm}
    \setlength{\marginparwidth}{17mm}
    \setlength{\headsep}{.5\baselineskip}
%    \end{macrocode}
% Erstmal kommen die Daten f�r die gr��ere Reihe:
%    \begin{macrocode}
\DeclareRobustCommand{\m@ntisgross}{
\geometry{width=117mm,height=195mm,includehead}
}
%    \end{macrocode}
% Hier nochmal genau dasselbe nur mit den Daten f�r die kleine Reihe,
% vgl.\ Tabelle 1 in Abschnitt 1.
%    \begin{macrocode}
\DeclareRobustCommand{\m@ntisklein}{
    \geometry{width=100mm,height=182mm,includehead}
}
%    \end{macrocode}
%
% Mit diesen Einstellungen sind die Optionen alle abgearbeitet:
%    \begin{macrocode}
\ProcessOptions\relax
%    \end{macrocode}
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % \subsection{Kopf- und Fu�zeilen} %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%Einige Seiten sollen v�llig frei von Kopf- oder Fu�zeilen bleiben:
%\begin{itemize}
%   \item Die Titelseite
%   \item Die erste Seiten \dots
%   \begin{itemize}
%       \item eines neuen Hauptteils
%       \item eines neuen Kapitels
%       \item des Index
%   \end{itemize}
%\end{itemize}
%    \begin{macrocode}
\renewcommand{\titlepagestyle}{empty}
\renewcommand{\partpagestyle}{empty}
\renewcommand{\chapterpagestyle}{empty}
\renewcommand{\indexpagestyle}{empty}
%    \end{macrocode}
%Bei Mentis sind die Kopfzeilen etwas kleiner als die Grundschrift und kursiv.
%    \begin{macrocode}
\renewcommand{\headfont}{\normalfont\small\itshape}
%    \end{macrocode}
%
% Der Seitenstil |mentis| setzt die Seitenzahlen und die lebenden Kolumnentitel
% an die richtigen Stellen. Im ersten Block werden die Kopfzeilen, im zweiten
% die Fu�zeilen definiert. Jeder dieser Bl�cke ist in Abschnitte f�r die linken
% Seiten, rechten Seiten und die Seiten im einseitigen Druck aufgeteilt.
%
% Also |\newpagestyle{|\marg{Kopf-links}""\marg{Kopf-rechts}""\marg{Kopf"=einseitig}|}|""%
% |{|\marg{Fu�-links}""\marg{Fu�-rechts}""\marg{Fu�"=einseitig}|}|
% (nat�rlich ohne Leerr�ume oder Zeilenumbr�che das Ganze).
%    \begin{macrocode}
\newpagestyle{mentis}%
    {%
       {\rlap{\pagemark}%
            \hfill\leftmark\hfill
       }%
       {\hfill\rightmark\hfill
            \llap{\pagemark}%
       }%
       {\hfill\headmark\hfill
       }%
    }%
    {%
        {\hfill}%
        {\hfill}%
        {\hfill\pagemark\hfill}%
    }%
%    \end{macrocode}
% War doch ganz einfach!
%
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%
% % \subsection{Fu�noten} %
% %%%%%%%%%%%%%%%%%%%%%%%%%
%
% im Text werden die Fu�notenziffern, wenn sie am Textrand stehen,
% etwas in den Rand ger�ckt um kein optisches Loch zu erzeugen.
% Zun�chst wird der Befehl zum Erzeugen der Ziffern um den 
% microtypecontext-Befehl erg�nzt.  
%    \begin{macrocode}
\renewcommand\@makefnmark{%
  \hbox{\ftntm@font{\textsuperscript{%
    \microtypecontext{protrusion=footnotes}\thefootnotemark}}}}
%    \end{macrocode}
% Dann werden sinnvolle Werte f�r das Herausragen von Ziffern bestimmt. 
% Da die meisten Fu�notenziffern in wissenschaftlichen B�chern mit 
% Nummerierung pro Kapitel zweistellig sind, ist der Wert daraufhin 
% optimiert. 
%    \begin{macrocode}
\SetProtrusion
 [ context = footnotes ]
 { font    = */*/*/*/scriptsize }
 { 0 = {,400},
   1 = {,650},
   2 = {,400},
   3 = {,400},
   4 = {,400},
   5 = {,400},
   6 = {,400},
   7 = {,500},
   8 = {,400},
   9 = {,400},
  } 
%    \end{macrocode}
% Die Fu�notenmarkierung steht klein, hoch und mit einem Leerzeichen Abstand zum
% Fu�notentext.
%    \begin{macrocode}
\deffootnote[1.2em]{1.2em}{1.2em}{\textsuperscript{\thefootnotemark}\ }
%    \end{macrocode}
%
%Der Fu�notentrennstrich ist genau 2cm lang.
%    \begin{macrocode}
\renewcommand*{\footnoterule}{%
  \hrule\@width 2cm
  \kern8\p@
}
%    \end{macrocode}
%
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%
% % \subsection{Langzitate} %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%\begin{environment}{quote}
% Langzitate mit kleinerer Schriftart, zwei Gevierte einger�ckt.
%    \begin{macrocode}
\renewenvironment{quote}%
{\list{}{\setlength{\listparindent}{1em}%
         \setlength{\itemindent}{\z@}%
         \setlength{\leftmargin}{2em}%
         \setlength{\rightmargin}{\z@}%
         \setlength{\parsep}{\z@}%
        }%
    \smaller\item\relax\ignorespaces%
}%
{\endlist}%
%    \end{macrocode}
%\end{environment}
%
%\begin{environment}{footquote}
% Langzitate in Fu�noten mit noch kleinerer Schriftart, ebenfalls einger�ckt.
% |footquote| ist seit Version 1.1 obsolet! Einfach |quote| nehmen!
%    \begin{macrocode}
\newenvironment{footquote}{\begin{quote}}{\end{quote}}%
%    \end{macrocode}
%\end{environment}
%
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % \subsection{An"~ und Abf�hrungszeichen} %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Nicht n�tig, diese Befehle, aber n�tzlich, wenn man alle Anf�hrungszeichen
% umstellen (k�nnen) will. Es sind blo�e Abk�rzungen f�r die jeweiligen Zeichen.
%
%\begin{macro}{\Dll}
%    \begin{macrocode}
\newcommand{\Dll}{\frqq}
%    \end{macrocode}
%\end{macro}
%
%\begin{macro}{\Drr}
%    \begin{macrocode}
\newcommand{\Drr}{\flqq}
%    \end{macrocode}
%\end{macro}
%
%\begin{macro}{\Dl}
%    \begin{macrocode}
\newcommand{\Dl}{\frq}
%    \end{macrocode}
%\end{macro}
%
%\begin{macro}{\Dr}
%    \begin{macrocode}
\newcommand{\Dr}{\flq}
%    \end{macrocode}
%\end{macro}
%
%\begin{macro}{\Ell}
%    \begin{macrocode}
\newcommand{\Ell}{\textquotedblleft}
%    \end{macrocode}
%\end{macro}
%
%\begin{macro}{\Err}
%    \begin{macrocode}
\newcommand{\Err}{\textquotedblright}
%    \end{macrocode}
%\end{macro}
%
%\begin{macro}{\El}
%    \begin{macrocode}
\newcommand{\El}{\textquoteleft}
%    \end{macrocode}
%\end{macro}
%
%\begin{macro}{\Er}
%    \begin{macrocode}
\newcommand{\Er}{\textquoteright}
%    \end{macrocode}
%\end{macro}
%
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % \subsection{Gliederungselemente} %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Es folgt die Definition der Kapitel�berschrift aus scrbook.cls mit kleinen �nderungen,
% die f�r ungek�rzte Eintr�ge von �berschriften ins Inhaltsverzeichnis sorgen.
%    \begin{macrocode}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
                       \if@mainmatter
                         \refstepcounter{chapter}%
                         \@maybeautodot\thechapter%
                         \typeout{\@chapapp\space\thechapter.}%
                         \addcontentsline{toc}{chapter}%
%    \end{macrocode}
%In der folgenden Zeile habe ich 2 statt 1 gesetzt.
%    \begin{macrocode}
                                   {\protect\numberline{\thechapter}#2}%
                       \else
%    \end{macrocode}
%In der folgenden Zeile habe ich wieder 2 statt 1 gesetzt.
%    \begin{macrocode}
                         \addcontentsline{toc}{chapter}{#2}\fi
                    \else
%    \end{macrocode}
%Nocheinmal 2 statt 1 gesetzt.
%    \begin{macrocode}
                      \addcontentsline{toc}{chapter}{#2} %
                    \fi
                    \chaptermark{#1}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \@ifundefined{float@addtolists}{}{%
                      \float@addtolists{\protect\addvspace{10\p@}}}
                    \if@twocolumn
                      \if@at@twocolumn
                        \@makechapterhead{#2}%
                      \else
                        \@topnewpage[\@makechapterhead{#2}]%
                      \fi
                    \else
                      \@makechapterhead{#2}%
                      \@afterheading
                    \fi}
%    \end{macrocode}
%
% Die unscheinbaren Zeilen -- ;-) -- die folgen werden, definieren die |\section| und sind
% entnommen aus ltsect.dtx.
%
% Die Umdefinition greift in den \LaTeX-Kernel ein -- eine dauerhafte Kompatibilit�t ist also
% \emph{nicht} gesichert! Wer wei� ob \LaTeX3 dieselben internen Befehle verwendet \dots?
%
% Anders scheint es nicht m�glich zu sein, im Inhaltsverzeichnis die vollst�ndige
% und in der Kopfzeilen eine gek�rzte �berschrift zu haben. F�r den rettenden Hinweis danke
% ich Markus Kohm!
%    \begin{macrocode}
\def\@sect#1#2#3#4#5#6[#7]#8{%
  \ifnum #2>\c@secnumdepth
    \let\@svsec\@empty
  \else
    \refstepcounter{#1}%
    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
  \fi
  \@tempskipa #5\relax
  \ifdim \@tempskipa>\z@
    \begingroup
      #6{%
        \@hangfrom{\hskip #3\relax\@svsec}%
          \interlinepenalty \@M #8\@@par}%
    \endgroup
%    \end{macrocode}
% Die 7 in der folgenden Zeile (und auch anderswo) steht f�r die gek�rzte
% Version der �berschrift.
%    \begin{macrocode}
    \csname #1mark\endcsname{#7}%
    \addcontentsline{toc}{#1}{%
      \ifnum #2>\c@secnumdepth \else
        \protect\numberline{\csname the#1\endcsname}%
      \fi
%    \end{macrocode}
%In der folgenden Zeile habe ich 8 statt 7 gesetzt, also die volle �berschrift
%    \begin{macrocode}
      #8}%
  \else
    \def\@svsechd{%
      #6{\hskip #3\relax
      \@svsec #8}%
      \csname #1mark\endcsname{#7}%
      \addcontentsline{toc}{#1}{%
        \ifnum #2>\c@secnumdepth \else
          \protect\numberline{\csname the#1\endcsname}%
        \fi
%    \end{macrocode}
% Nochmal 8 statt 7!
%    \begin{macrocode}
        #8}}%
  \fi
  \@xsect{#5}%
}
%    \end{macrocode}
%
%\begin{macro}{\Pnum}
%Der Absatz soll mit etwas vertikalem Abstand (|\Pn@mskip|) zum vorhergehenden, daf�r
%aber ohne Einzug gesetzt werden.
%Zuvor brauchen wir noch ein paar Counter, wird ein h�her liegender Befehl verwendet,
%werden sie auf Null gesetzt. Ist das erste |\Pnum| mit leerem Argument auf der entsprechenden
%Ebene wird das gespeichert, indem der Counter auf Eins gesetzt wird.
%
%    \begin{macrocode}
\newcommand{\Pn@mskip}{\bigskip}%
\newcounter{Pn@msection}[chapter]%
\newcounter{Pn@msubsection}[section]%
\newcounter{Pn@msubsubsection}[subsection]%
\newcounter{Pn@mparagraph}[subsubsection]%
\newcommand*{\Pnum}[1]{%
    \ifthenelse{%
        \equal{#1}{}%
    }%
%    \end{macrocode}
% \emph{Wenn} das Argument leer ist, dann untersuchen, ob |section| den Wert |0| hat,
% das hie�e wir befinden uns direkt unter |chapter|.
%    \begin{macrocode}
  {%
        \ifthenelse{%
            {\value{section}=0}\or{\value{Pn@msection}=1}%
        }{%
        \Pn@mskip\par\noindent%
        \refstepcounter{section}\setcounter{Pn@msection}{1}%
        {\usekomafont{sectioning}\thesection\ }%
        }%
%    \end{macrocode}
% Wenn |subsection| den Wert |0| hat, hei�t das wir befinden uns direkt unter |section|.
% Gleiches gilt wenn dies der zweite, dritte, vierte Durchlauf ist und |Pn@msubsection|
% bereits den Wert Eins hat.
% Also wird |subsection| erh�ht und dann der Wert dem neuen Absatz vorangestellt, |Pn@msubsection|
% erh�lt den Wert Eins. Analog geht es auf den n�chsten Ebenen weiter.
%    \begin{macrocode}
        {%
            \ifthenelse{%
                {\value{subsection}=0}\or{\value{Pn@msubsection}=1}%
            }{%
                \Pn@mskip\par\noindent%
                \refstepcounter{subsection}\setcounter{Pn@msubsection}{1}%
                {\usekomafont{sectioning}\thesubsection\ }%
            }{%
                \ifthenelse{%
                    {\value{subsubsection}=0}\or{\value{Pn@msubsubsection}=1}%
                }{%
                    \Pn@mskip\par\noindent%
                    \refstepcounter{subsubsection}\setcounter{Pn@msubsubsection}{1}%
                    {\usekomafont{sectioning}\thesubsubsection\ }%
                }{%
                    \ifthenelse{%
                        {\value{paragraph}=0}\or{\value{Pn@mparagraph}=1}%
                    }{%
                        \Pn@mskip\par\noindent%
                        \refstepcounter{paragraph}\setcounter{Pn@mparagraph}{1}%
                        {\usekomafont{sectioning}\theparagraph\ }%
                    }{%
%    \end{macrocode}
% Sp�testens hier wird man misstrauisch, das Argument von |Pnum| ist leer, alle Z�hler
% inklusive |paragraph| sind h�her als Null --~was nun? Eine Fehlermeldung!
%    \begin{macrocode}

                        \ClassError{mentis}{Pnum hat kein Argument, findet aber auch keine Ebene mit Wert 0}%
                        {Pruefen Sie die Verwendung von Pnum!}%
                    }%
                }%
            }%
        }%
    }{%
%    \end{macrocode}
% Wenn das Argument \emph{nicht} leer ist, dann einfach das Argument setzen!
% Hier folgt also endlich die erste |else|-Schleife (hat mich zwei Tage gekostet!).
%    \begin{macrocode}
    \Pn@mskip\par\noindent%
    {\usekomafont{sectioning}#1}\ %
    }%
}%
%    \end{macrocode}
%\end{macro}
%
%
%\begin{macro}{absatz}
% |\absatz| trennt zwei Abs�tze durch einen zentrierten Stern (sehr h�bsch!)
%    \begin{macrocode}
\newcommand{\absatz}{%
    {\removelastskip\medskip\centering $\star$ \\\medskip\noindent}%
}
%    \end{macrocode}
%\end{macro}
%
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % \subsection{Beispiels�tze} %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%\begin{macro}{\Psatz}
%|\Psatz| setzt Beispiels�tze einger�ckt und mit einer Nummer in Klammern auf dem Rand.
%    \begin{macrocode}
\newcommand{\randnummer}[1]{\marginline{\small(#1)}}
\newcommand{\Psatz}[2]{%
    \begin{list}{}{%
        \setlength{\topsep}{0pt}%
        \setlength{\parsep}{0pt}%
        \setlength{\parskip}{0pt}%
        \setlength{\leftmargin}{2em}%
        \setlength{\rightmargin}{0pt}%
        \setlength{\listparindent}{\parindent}%
        }%
      \fussy%
      \ifthenelse{%
%    \end{macrocode}
%Ist das Argument 1 leer?
% Wenn ja:
%    \begin{macrocode}
        \equal{#1}{}
      }%Dann:
      {\item{\makebox[0mm]{\rule{0mm}{0mm}}\ignorespaces#2}}
%    \end{macrocode}
%Wenn nein:
%    \begin{macrocode}
      {%
        \item{\makebox[0mm]{\rule{0mm}{0mm}}\randnummer{#1}\ignorespaces#2}%
      }
    \end{list}
}
%    \end{macrocode}
%\end{macro}
%
%
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % \subsection{Konfiguration der Literaturnachweise} %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Es folgt eine Reihe von Schaltern f�r \textsf{jurabib}. Diese Einstellungen
% beziehen sich im wesentlichen auf den Textteil.
%    \begin{macrocode}
\jurabibsetup{%
%    \end{macrocode}
%In der Fu�note erscheint die nat�rliche Reihenfolge: Vorname Nachname.
%    \begin{macrocode}
    authorformat=citationreversed,%
%    \end{macrocode}
%Nur beim ersten Autor von mehreren wird der Nachname im Anhang nach vorn gesetzt.
%    \begin{macrocode}
    authorformat=firstnotreversed,%
%    \end{macrocode}
%Bei drei Autoren: M�ller, Meier \emph{und} Schmitz
%    \begin{macrocode}
    authorformat=and,%
%    \end{macrocode}
%Zitierte Autoren gehen automatisch in den Index.
%    \begin{macrocode}
%%%    authorformat=indexed,%
%    \end{macrocode}
%">hrsg. von Meier"< statt ">Meier (Hrsg.)"<, wenn m�glich.
%    \begin{macrocode}
    edby=true,%
%    \end{macrocode}
%Alle Zitate f�hren den (Kurz-)titel in der Fu�note und bei Bezugnahme.
%    \begin{macrocode}
    titleformat=all,%
%    \end{macrocode}
% Doppelpunkt zwischen Autor und Titel
%    \begin{macrocode}
    titleformat=colonsep,%
%    \end{macrocode}
%Wenn auf der gleichen Seite direkt aufeinander folgend der
%gleiche Beleg gefordert wird, dann und nur dann kommt ">ebenda \dots"<
%anstatt alles nochmal zu wiederholen.
%    \begin{macrocode}
    ibidem=strict,%
%    \end{macrocode}
%Ersetzt den Autornamen bei mehreren Werken durch Derselbe
%    \begin{macrocode}
    bibformat=ibidem,%
%    \end{macrocode}
%Statt eines Bearbeiters (von Gesetzestexten) kann man z.\,B. ">Vgl."</""">Siehe"<
%vor einen Beleg setzen.
%    \begin{macrocode}
    see=true,%
%    \end{macrocode}
%Geisteswissenschaftliche Grundeinstellungen (-- whatever that means!)
%    \begin{macrocode}
    human=true,%
%    \end{macrocode}
%Vor Anmerkungen etc. steht ein Komma
%    \begin{macrocode}
    commabeforerest=true%
}
%    \end{macrocode}
%Die folgenden Umdefinitionen greifen in die Funktion von Jurabib ein und stellen sicher,
%dass statt A.\,a.\,O./""a.\,a.\,O. Ebenda/""ebenda gesetzt wird und die Jahreszahlen von
% Zeitschriften in runden Klammern erscheinen.
%    \begin{macrocode}
\AddTo\bibsgerman{%
    \renewcommand*{\ibidemname}{Ebenda}
    \renewcommand*{\ibidemmidname}{ebenda}
}
\renewcommand*{\bibpldelim}{(}
\renewcommand*{\bibprdelim}{)}
%    \end{macrocode}
%Die Formatierungen ab hier sind vor allem f�r das Literaturverzeichnis wichtig.
%Statt ">ders."< im Literaturverzeichnis ">-- "<
%    \begin{macrocode}
\renewcommand*{\bibauthormultiple}{-- }
%    \end{macrocode}
%Vornamen (normal)
%    \begin{macrocode}
\renewcommand*{\bibfnfont}{}
%    \end{macrocode}
%Nachnamen in \textsc{Kapit�lchen}
%    \begin{macrocode}
\renewcommand*{\biblnfont}{\textsc}
%    \end{macrocode}
%Vornamen von Herausgebern in normaler Schrift -- Diese Funktionen sind von
% \textsf{jurabib} nicht dokumentiert!!!
%    \begin{macrocode}
\renewcommand*{\bibefnfont}{}
%    \end{macrocode}
%Nachnamen von Herausgebern in \textsc{Kapit�lchen}
%-- Diese Funktionen sind nicht dokumentiert!!!
%    \begin{macrocode}
\renewcommand*{\bibelnfont}{\textsc}
%    \end{macrocode}
%Titel \textit{kursiv}
%    \begin{macrocode}
\renewcommand*{\bibtfont}{\textit}
%    \end{macrocode}
%Buchtitel \textit{kursiv}
%    \begin{macrocode}
\renewcommand*{\bibbtfont}{\textit}
%    \end{macrocode}
%Zeitschriftentitel \textit{kursiv}
%    \begin{macrocode}
\renewcommand*{\bibjtfont}{\textit}
%    \end{macrocode}
%Die Titel unselbst�ndiger Ver�ffentlichungen erfordern etwas mehr Aufwand:
% Ich definiere erst einen Pseudofont namens |\textAnfzeichen|, der sein Argument in
%Anf�hrungszeichen setzt. Und kann dann diesen Font auf Zeitschriftentitel anwenden.
%    \begin{macrocode}
\providecommand*{\textAnfzeichen}[1]{{\Dll}#1{\Drr}}
\renewcommand{\bibapifont}{\textAnfzeichen}
\renewcommand{\jbapifont}{\textAnfzeichen}
%    \end{macrocode}
%H�ngender Einzug im Lit.-Verz: ein Geviert.
%    \begin{macrocode}
\setlength{\jbbibhang}{1em}
\jbdotafterbibentry
%    \end{macrocode}
%
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%
% % \subsection{Kleinkram} %
% %%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Zum Schutz vor Schusterjungen und Hurenkindern, das sind einsame Zeilen
% ganz unten bzw. oben auf der Seite
%
%\begin{macrocode}
\clubpenalty=5001 \widowpenalty=5001
%    \end{macrocode}
%Einige Mathesymbole f"ur Bereiche
%    \begin{macrocode}
\newcommand{\setB}{{\mathord{\mathbb B}}\xspace}
\newcommand{\setC}{{\mathord{\mathbb C}}\xspace}
\newcommand{\setN}{{\mathord{\mathbb N}}\xspace}
\newcommand{\setQ}{{\mathord{\mathbb Q}}\xspace}
\newcommand{\setR}{{\mathord{\mathbb R}}\xspace}
\newcommand{\setZ}{{\mathord{\mathbb Z}}\xspace}
%    \end{macrocode}
%\begin{macro}{\strich}
%|\strich| sorgt f"ur einen sch"onen Strich hinter Variablen oder Zahlen
%    \begin{macrocode}
\newcommand{\strich}{\ensuremath{{}^{\prime}}}%
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\stern}
%|\stern| sorgt f"ur einen sch"onen Stern hinter Variablen oder Zahlen
%    \begin{macrocode}
\newcommand{\stern}{\ensuremath{{}^{\ast}}}
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\spitz}
%Der Befehl |\spitz| setzt sein Argument in $\langle$spitze Klammern$\rangle$.
%v. 1.4: Leider sind diese Klammern fast nie in der Textschrift enthalten, daher 
%jetzt aus der Matheschrift genommen.
%    \begin{macrocode}
\newcommand{\spitz}[1]{%
\ensuremath{\langle\text{#1}\rangle}%
}
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\textbfsf}
%|\txtbfsf| ist ein k�rzerer Zugriff auf fette Groteskschrift
%    \begin{macrocode}
\newcommand{\textbfsf}[1]{%
{\sffamily\bfseries #1}%
}
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\textsubscript}
%Dieser Befehl funktioniert wie |\textsuperscript| nur eben mit tiefgestelltem Ergebnis.
%    \begin{macrocode}
\DeclareRobustCommand*\textsubscript[1]{%
  \@textsubscript{\selectfont#1}}%
\def\@textsubscript#1{%
  {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\tief}
% |\tief| ist ein praktisches Alias f�r |\textsubscript|.
%    \begin{macrocode}
\newcommand{\tief}[1]{\textsubscript{#1}}%
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\hochtief}
%|\hochtief| setzt das erste Argument hoch, das zweite direkt darunter tief an einen davorstehenden
%Buchstaben.
%    \begin{macrocode}
\newcommand*{\hochtief}[2]{%
    {\m@th\ensuremath{%
        ^{\mbox{\fontsize\sf@size\z@\selectfont#1}}%
        _{\mbox{\fontsize\sf@size\z@\selectfont#2}}%
    }}%
}
%    \end{macrocode}
%\end{macro}
%\begin{macro}{\roem}
%|\roem| setzt Zahlen als r�mische Zahlen in Kapit�lchen, ist nicht so aufdringlich wie aus Versalien gesetzt.
%    \begin{macrocode}
\newcommand*{\roem}[1]{\textsc{\@roman{#1}}}
%    \end{macrocode}
%\end{macro}
% |tolerant| �ffnet eine Umgebung, in der leichter getrennt und geschoben werden kann.
%    \begin{macrocode}
\newenvironment{tolerant}[1][4900]{%
    \par\tolerance=#1\relax
  }{%
    \par
  }
%    \end{macrocode}
% F�r die Liebhaber gepflegter Typographie mit gebrochenen Schriften stehen
% folgende Befehle zur Verf�gung |\fraktext, \swabtext, \gothtext| stehen
% f�r Fraktur, Schwabacher und Gotische Schrift. |\antiktext| schaltet
% innerhalb dessen auf Antiqua. |\fett| simuliert mehr schlecht als recht
% die fehlenden fetten Typen. |\emph| wirkt als Sperrung. Genauere
% Dokumentation unter |blacklettert1.dtx|.
%    \begin{macrocode}
\newcommand{\fraktext}[1]{{\fontfamily{yfrak}\selectfont #1}}
\newcommand{\swabtext}[1]{{\fontfamily{yfrak}\textsl{#1}}}
\newcommand{\gothtext}[1]{{\fontfamily{yfrak}\textbf{#1}}}
\newcommand{\fett}[1]{\scalebox{1.25}[1]{#1}}
\newcommand{\antiktext}[1]{\textrm{\textup{#1}}}
%    \end{macrocode}
% Ach ja, ganz am Ende, wo er ja auch hingeh�rt, noch ein bisschen was zum
% Feinschliff am Index: \emph{kein} Blocksatz, daf�r aber am Ende
% ausgeglichene Spalten!
%    \begin{macrocode}
\newcommand{\orgtheindex}{}
\let\orgtheindex\theindex
\let\orgendtheindex\endtheindex
\def\theindex{%
  \def\twocolumn{\begin{multicols}{2}}%
  \def\onecolumn{}%
  \clearpage\RaggedRight
  \orgtheindex
}
\def\endtheindex{%
  \end{multicols}%
  \orgendtheindex
}
%    \end{macrocode}
% \Finale
\endinput