From b666f84e2a883ef2518e7df007bdab97e4a96c29 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 11 Jan 2006 23:55:01 +0000 Subject: trunk/Master/texmf-dist/source/latex/mentis git-svn-id: svn://tug.org/texlive/trunk@380 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/mentis/mentis.dtx | 1309 ++++++++++++++++++++++ Master/texmf-dist/source/latex/mentis/mentis.ins | 55 + 2 files changed, 1364 insertions(+) create mode 100644 Master/texmf-dist/source/latex/mentis/mentis.dtx create mode 100644 Master/texmf-dist/source/latex/mentis/mentis.ins (limited to 'Master/texmf-dist/source/latex/mentis') diff --git a/Master/texmf-dist/source/latex/mentis/mentis.dtx b/Master/texmf-dist/source/latex/mentis/mentis.dtx new file mode 100644 index 00000000000..4916399f561 --- /dev/null +++ b/Master/texmf-dist/source/latex/mentis/mentis.dtx @@ -0,0 +1,1309 @@ +% \iffalse meta-comment +% +% Copyright (C) 2003 Georg M. Verweyen +% ------------------------------------------------------------ +% +% 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} +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesClass{mentis}[2004/06/23 v1.3 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 },% + 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} +% +% \fi +% +% \CheckSum{737} +% +% \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 +%ohne Leerräume und durch Kommata getrennt hintereinander 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|). +% +% +%\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.\footnote{% +% Es ist unschwer zu erkennen, dass es sich bei hierbei um mein +% Lieblingsmakro handelt \dots +%} +% +%\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 ". 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} +% Wenn man beim kleineren Format eine 10-Punkt-Schrift, oder beim größeren Format +% eine 11-Punkt-Schrift wählt und nicht zu kurze Absätze schreibt, dann hat man so +% viele Wörter in einer Zeile und so viele Zeilen pro Absatz, dass man sehr anspruchsvoll +% sein kann, was die Qualität des Blocksatzes angeht. \LaTeX2e{} reagiert auf zwei +% Parameter, die das Verhalten beim Umbruch steuern, beide habe ich etwas niedriger +% gesetzt, als üblich, was einerseits einen hervorragenden Satz, aber andererseits auch +% etwas mehr Warnungen in der Log-Datei ergibt. |\emergencystretch| hat die Länge |1em| und +% der |\tolerance|-Wert ist 125. 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 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}% +} +% \end{macrocode} +% Dann folgen etliche Pakete: +% +% |inputenc| ermöglicht die direkte Eingabe von Umlauten, auf nicht Windows-Rechnern +% kann in Abhängigkeit vom Editor eine andere Codierung als |Latin1| vorliegen. +% \begin{macrocode} +\RequirePackage[latin1]{inputenc} +% \end{macrocode} +%|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[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. +% \begin{macrocode} +\RequirePackage[polutonikogreek,german,ngerman]{babel} +% \end{macrocode} +% Mit |varioref| können flexible Verweise \`a la ">auf der folgenden Seite"< automatisch +% erzeugt werden. +% \begin{macrocode} +\RequirePackage[german]{varioref} +% \end{macrocode} +%|lgreek| stellt griechische Schrift inkl. Silbentrennung zur Verfügung. +% \begin{macrocode} +\RequirePackage{lgreek} +% \end{macrocode} +%|tabularx| ist eine mächtige Erweiterung der |tabular|"=Umgebung und +%|hhline| bringt noch einige hübsche Tabellenlinien mit. +% \begin{macrocode} +\RequirePackage{tabularx} +\RequirePackage{hhline} +% \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} +%Diese drei Pakete der American Mathematic Society enthalten Symbole, Fonts und Operatoren. +% \begin{macrocode} +\RequirePackage{amsmath} +\RequirePackage{amsfonts} +\RequirePackage{amssymb} +% \end{macrocode} +%|textcomp| stellt ein paar weitere Symbole bereit. +% \begin{macrocode} +\RequirePackage{textcomp} +% \end{macrocode} +% Das |graphics|"=Paket braucht man einfach immer mal wieder. +% \begin{macrocode} +\RequirePackage{graphics} +% \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. +% \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} +% 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! +% \begin{macrocode} +\RequirePackage{multicol} +\RequirePackage{ragged2e} +% \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} +\DeclareOption{mentiskleinAfuenf}{\m@ntiskleinAfuenf} +% \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 Einstellungen zum Satzspiegel in Mentis-Büchern. Die Position des größeren +%Satzspiegels auf einer A4-Seite entspricht sogar ziemlich genau der klassischen Neunerteilung, +%wenn man 2cm für die Bindung in einer Klemmmappe abzieht, so dass auch der Probeausdruck +%für meinen Geschmack sehr gut aussieht. +% +%Erstmal kommen die Daten für die größere Reihe: +% \begin{macrocode} +\DeclareRobustCommand{\m@ntisgross}{ + \setlength{\oddsidemargin}{16.6mm} + \setlength{\textwidth}{117mm} + \setlength{\topmargin}{8.6mm} + \setlength{\marginparsep}{2mm} + \setlength{\marginparwidth}{17mm} + \setlength{\textheight}{195mm} + \setlength{\headsep}{\baselineskip} +% \end{macrocode} +% Soweit ist noch alles zu verstehen |oddsidemargin| und |topmargin| spielen für +% den Druck keine Rolle, sie positionieren den zu bedruckenden Bereich lediglich +% harmonisch auf einem A4"=Bogen, der Rest ergibt sich aus Tabelle 1 in Abschnitt 1. +% Leider umfasst |\textheight| weder die Höhe der Kopfzeile, noch ihren Abstand zum Text. +% Beide Werte müssen also noch von |\textheigth| abgezogen werden. +% \begin{macrocode} + \addtolength{\textheight}{-\headsep} + \addtolength{\textheight}{-\headheight} +} +% \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}{ + \setlength{\oddsidemargin}{24.4mm} + \setlength{\textwidth}{100mm} + \setlength{\topmargin}{14.6mm} + \setlength{\marginparsep}{2mm} + \setlength{\marginparwidth}{17mm} + \setlength{\textheight}{182mm} + \setlength{\headsep}{\baselineskip} + \addtolength{\textheight}{-\headsep} + \addtolength{\textheight}{-\headheight} +} +\DeclareRobustCommand{\m@ntiskleinAfuenf}{ + \setlength{\oddsidemargin}{-15mm} + %\setlength{\evensidemargin}{-15mm} + \setlength{\textwidth}{100mm} + \setlength{\topmargin}{-16,07mm} + \setlength{\marginparsep}{2mm} + \setlength{\marginparwidth}{17mm} + \setlength{\textheight}{182mm} + \setlength{\headsep}{\baselineskip} + \addtolength{\textheight}{-\headsep} + \addtolength{\textheight}{-\headheight} +} + +% \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\pagemark\hfill} + }% +% \end{macrocode} +% War doch ganz einfach! +% +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%% +% % \subsection{Fußnoten} % +% %%%%%%%%%%%%%%%%%%%%%%%%% +% +% 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}{0em}% + \setlength{\leftmargin}{2em}% + \setlength{\rightmargin}{0em}% + \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} +% +% \begin{macrocode} +\setlength{\emergencystretch}{25pt} +% \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 \textlangle spitze Klammern\textrangle. +% \begin{macrocode} +\newcommand{\spitz}[1]{% +{\textlangle}#1{\textrangle}% +} +% \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} +% |emergencystretch| gibt \LaTeX zusätzlichen Wortzwischenraum bei schwierigen +% Zeilenumbrüchen. 1em ist ziemlich wenig. +% \begin{macrocode} +\setlength{\emergencystretch}{1em}% +\tolerance=125% +% \end{macrocode} +% |tolerant| öffnet eine Umgebung, in der leichter getrennt und geschoben werden kann. +% \begin{macrocode} +\newenvironment{tolerant}[1]{% + \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 diff --git a/Master/texmf-dist/source/latex/mentis/mentis.ins b/Master/texmf-dist/source/latex/mentis/mentis.ins new file mode 100644 index 00000000000..9d7a0b5e912 --- /dev/null +++ b/Master/texmf-dist/source/latex/mentis/mentis.ins @@ -0,0 +1,55 @@ +%% +%% Copyright (C) 2003 by Georg M. Verweyen +%% +%% 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. +%% + +\input docstrip.tex +\keepsilent + +\usedir{tex/latex/mentis} + +\preamble + +This is a generated file. + +Copyright (C) 2003 by Georg M. Verweyen + +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. + +\endpreamble + +\generate{\file{mentis.cls}{\from{mentis.dtx}{class}}} + +\obeyspaces +\Msg{*************************************************************} +\Msg{* *} +\Msg{* Um die Installation abzuschließen, verschieben Sie die *} +\Msg{* folgende Datei in ein Verzeichnis, das TeX durchsucht *} +\Msg{* *} +\Msg{* mentis.cls *} +\Msg{* *} +\Msg{* Um eine Anleitung zu erzeugen, die Datei mentis.dtx mit *} +\Msg{* LaTeX durchlaufen lassen. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile -- cgit v1.2.3