% \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
