\ProvidesFile{satzspgl.tex}[2003/05/13 KOMA-Script Anleitung] % ============================================================================ % Copyright (c) 2001-2002 Markus Kohm and the authors. % % This file is part of the LaTeX2e KOMA-Script-Bundle % % This file can be redistributed and/or modified under the terms of the LaTeX % Project Public License Version 1.0 distributed together with this file. See % LEGAL.TXT or LEGALDE.TXT. % % This bundle is written specialy for use at german-language. So the main % documentation is german. There may also be an english documentation. See % readme.txt, if you search for it. % ---------------------------------------------------------------------------- % satzspgl.tex % Copyright (c) 2001-2002 Markus Kohm und bei den weiteren Autoren. % % Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets. % % Diese Datei kann nach den Regeln der LaTeX Project Public Licence % Version 1.0, wie sie zusammen mit dieser Datei verteilt wird, % weiterverbreitet und/oder modifiziert werden. Siehe dazu auch LEGAL.TXT oder % LEGALDE.TXT. % % Dieses Paket ist fuer den deutschen Sprachraum konzipiert. Daher ist auch % diese Anleitung komplett in Deutsch. Moeglicherweise existiert auch eine % englische Version der Anleitung. Falls Sie eine solche benoetigen, schauen % Sie bitte in liesmich.txt nach, ob eine solche vorhanden ist. % ============================================================================ % % Modul: Hauptdokument % Autoren: Markus Kohm (MJK) % Inhalt: Alles über die Satzspiegelkonstruktion und typearea. % Sprache: Deutsch % Zeichensatz der Kommentare: % US-ASCII % Korrektur: Enrico Kunz % Index: Enrico Kunz % \chapter{Satzspiegelberechnung mit \Package{typearea.sty}} \label{cha:typearea} \section{Grundlagen der Satzspiegelkonstruktion} \begin{Explain} Betrachtet man eine einzelne Seite eines Buches oder eines anderen Druckwerkes, so besteht diese auf den ersten Blick aus den Rändern\footnote{Der Autor und der Lektor haben an dieser Stelle überlegt, ob eine Seite nicht nur einen umlaufenden Rand hat und daher von "`dem Rand"' die Rede sein müsste. Da jedoch \LaTeX{} diesen einen Rand logisch in mehrere Ränder unterteilt, die getrennt bestimmt werden, ist hier auch von "`den Rändern"' die Rede.}, einem Kopfbereich, einem Textkörper und einem Fußbereich. Genauer betrachtet kommt noch ein Abstand zwischen Kopfbereich und Textkörper sowie zwischen Textkörper und Fußbereich hinzu. Die Auf"|teilung dieser Bereiche, sowie ihre Anordnung zueinander und auf dem Papier nennt man \emph{Satzspiegel}.\Index[indexmain]{Satzspiegel} In der Literatur werden verschiedene Algorithmen und heuristische Verfahren zur Konstruktion eines guten Satzspiegels vorgeschlagen und diskutiert \cite{DANTE:TK0402:MJK}. Häufig findet man dabei ein Verfahren, das mit verschiedenen Diagonalen und Schnittpunkten arbeitet. Das gewünschte Ergebnis dabei ist, dass das Seitenverhältnis des Textbereichs dem Seitenverhältnis \emph{der Seite} entspricht. Bei einem einseitigen\Index{einseitig} Dokument sollen außerdem der linke und rechte Rand gleich breit sein, während der obere zum unteren Rand im Verhältnis 1:2 stehen sollte. Bei einem doppelseitigen\Index{doppelseitig} Dokument, beispielsweise einem Buch, ist hingegen zu beachten, dass der innere Rand genauso groß sein sollte wie jeder der beiden äußeren Ränder. Im vorherigen Abschnitt wurde \emph{die Seite} erwähnt und hervorgehoben. Irrtümlich wird oftmals angenommen, das Format der Seite wäre mit dem Format des Papiers gleichzusetzen.\Index[indexmain]{Seitenformat} \Index[indexmain]{Papierformat} Betrachtet man jedoch ein gebundenes Druckerzeugnis, so ist zu erkennen, dass ein Teil des Papiers in der Bindung\Index[indexmain]{Bindung} verschwindet und nicht mehr als Seite zu sehen ist. Für den Satzspiegel ist jedoch nicht entscheidend, welches Format das Papier hat, sondern, was der Leser für einen Eindruck vom Format der Seite bekommt. Damit ist klar, dass bei der Berechnung des Satzspiegels der Teil, der durch die Bindung versteckt wird, aus dem Papierformat herausgerechnet und dann zum inneren Rand hinzugefügt werden muss. Wir nennen diesen Teil \emph{Bindekorrektur}.\Index[indexmain]{Bindekorrektur} Die Bindekorrektur ist vom jeweiligen Produktionsvorgang abhängig und kann nicht allgemein festgelegt werden. Es handelt sich dabei also um einen Parameter, der für jeden Produktionsvorgang neu festzulegen ist. Im professionellen Bereich spielt dieser Wert nur eine geringe Rolle, da ohnehin auf größere Papierbögen gedruckt und entsprechend geschnitten wird. Beim Schneiden wird dann wiederum sichergestellt, dass obige Verhältnisse für die sichtbare Doppelseite eingehalten sind. Wir wissen nun also, wie die einzelnen Teile zueinander stehen. Was wir noch nicht wissen ist, wie breit und hoch der Textbereich ist. Kennen wir eines dieser beiden Maße, so ergeben sich zusammen mit dem Papierformat und dem Seitenformat oder der Bindekorrektur alle anderen Maße durch Lösung mehrerer mathematischer Gleichungen. \begin{eqnarray*} \Var{Textbereichshöhe} : \Var{Textbereichsbreite} &=& \Var{Seitenhöhe} : \Var{Seitenbreite}\\ % \Var{Seitenbreite} &=& \Var{Papierbreite} - \Var{Bindekorrektur}\\ % \Var{oberer~Rand} + \Var{unterer~Rand} &=& \Var{Seitenhöhe} - \Var{Textbereichshöhe} \\ % \Var{oberer~Rand} : \Var{unterer~Rand} &=& 1 : 2 \\ % \Var{linker~Rand} : \Var{rechter~Rand} &=& 1 : 1 \\ % \Var{halber~innerer~Rand} &=& \frac{1}{2}\Var{äußerer~Rand} + \Var{Bindekorrektur} \\ \end{eqnarray*} \Index[indexmain]{Rand}% Dabei gibt es \Var{linker~Rand} und \Var{rechter~Rand} nur im einseitigen Druck. Dementsprechend gibt es \Var{innerer~Rand} und \Var{äußerer~Rand} nur im doppelseitigen Druck. In den Gleichungen wird mit \Var{halber~innerer~Rand} gearbeitet, weil der ganze innere Rand zur Doppelseite gehört. Zu einer Seite gehört also nur die Hälfte des inneren Randes. Die Frage nach der Breite des Textbereichs wird in der Literatur ebenfalls diskutiert. Die optimale Textbereichsbreite ist von verschiedenen Faktoren abhängig: \begin{itemize} \item Größe, Laufweite und Art der verwendeten Schrift \item Verwendeter Durchschuss \item Länge der Worte \item Verfügbarer Platz \end{itemize} Der Einfluss der Schrift wird deutlich, wenn man sich bewusst macht, wozu Serifen dienen. Serifen\Index[indexmain]{Serifen} sind kleine Striche an den Linienenden der Buchstaben. Buchstaben, die mit vertikalen Linien auf die Grundlinie der Textzeile treffen, lösen diese eher auf, als dass sie das Auge auf der Linie halten. Genau bei diesen Buchstaben liegen die Serifen horizontal auf der Grundlinie und verstärken damit die Zeilenwirkung der Schrift. Das Auge kann der Textzeile nicht nur beim Lesen der Worte, sondern insbesondere auch beim schnellen Zurückspringen an den Anfang der nächsten Zeile besser folgen. Damit darf die Zeile bei einer Schrift mit Serifen genaugenommen länger sein als bei einer Schrift ohne Serifen. Unter dem Durchschuss\Index[indexmain]{Durchschuss} versteht man den Abstand zwischen Textzeilen. Bei \LaTeX{} ist ein Durchschuss von etwa 20\% der Schriftgröße voreingestellt. Mit Befehlen wie \Macro{linespread}\IndexCmd{linespread} oder besser mit Hilfe von Paketen wie \Package{setspace}\IndexPackage{setspace} (siehe \cite{package:setspace}) kann der Durchschuss verändert werden. Ein großer Durchschuss erleichtert dem Auge die Verfolgung einer Zeile. Bei sehr großem Durchschuss wird das Lesen aber dadurch gestört, dass das Auge zwischen den Zeilen weite Wege zurücklegen muss. Daneben wird sich der Leser des entstehenden Streifeneffekts sehr deutlich und unangenehm bewusst. Der Graueindruck der Seite ist in diesem Fall gestört. Dennoch können bei großem Durchschuss die Zeilen länger sein. Auf der Suche nach konkreten Werten für gute Zeilenlängen\Index[indexmain]{Zeilenlaenge=Zeilenlänge} findet man in der Literatur je nach Autor unterschiedliche Angaben. Teilweise ist dies auch in der Muttersprache des Autors begründet. Das Auge springt nämlich üblicherweise von Wort zu Wort, wobei kurze Worte diese Aufgabe erleichtern. Über alle Sprachen und Schriftarten hinweg kann man sagen, dass eine Zeilenlänge von 60 bis 70 Zeichen, einschließlich Leer- und Satzzeichen, einen brauchbaren Kompromiss darstellen. Ein gut gewählter Durchschuss\Index{Durchschuss} wird dabei vorausgesetzt. Bei den Voreinstellungen von \LaTeX{} braucht man sich über letzteres normalerweise keine Sorgen zu machen. Bevor wir uns an die konkrete Konstruktion machen, fehlen jetzt nur noch Kleinigkeiten, die man wissen sollte. \LaTeX{} beginnt die erste Zeile des Textbereichs einer Seite nicht am oberen Rand des Textbereichs, sondern setzt die Zeile mit einem definierten Abstand zum oberen Rand des Textbereichs. Desweiteren verfügt \LaTeX{} über die beiden Befehle \Macro{raggedbottom}\IndexCmd{raggedbottom} und \Macro{flushbottom}\IndexCmd{flushbottom}. Der erste dieser Befehle legt fest, dass die letzte Zeile einer jeden Seite dort liegen soll, wo sie eben zu liegen kommt. Das kann dazu führen, dass sich die Position der letzten Zeile von Seite zu Seite vertikal um nahezu eine Zeile verändern kann. Im doppelseitigen Druck ist das in der Regel unerwünscht. Mit dem zweiten Befehl, \Macro{flushbottom}, wird hingegen festgelegt, dass die letzte Zeile immer am unteren Rand des Textbereichs zu liegen kommt. Um dies zu erreichen, muss \LaTeX{} gegebenenfalls dehnbare vertikale Abstände über das erlaubte Maß hinaus strecken. Ein solcher Abstand ist beispielsweise der Absatzabstand. Dies gilt auch, wenn man diesen auf Null gesetzt hat. Um nicht bereits auf normalen Seiten, auf denen der Absatzabstand das einzige dehnbare vertikale Maß darstellt, eine Dehnung zu erzwingen, sollte die Höhe des Textbereichs ein Vielfaches der Textzeilenhöhe zuzüglich des Abstands der ersten Zeile vom oberen Rand des Textbereichs sein. Damit sind nun alle Grundlagen der Satzspiegelberechnung, die bei {\KOMAScript} eine Rolle spielen, zusammengetragen. Wir können also mit der konkreten Konstruktion beginnen.\par \end{Explain} \section{Satzspiegelkonstruktion durch Teilung} \label{sec:typearea.divConstruction} \begin{Explain} Der einfachste Weg, um zu erreichen, dass der Textbereich dasselbe Verhältnis aufweist wie die Seite, ist folgender. Zunächst zieht man an der Innenseite des Papiers den Teil \Var{BCOR}, der für die Bindekorrektur\Index{Bindekorrektur} benötigt wird, ab und teilt die restliche Seite vertikal in eine Anzahl \Var{DIV} gleich hoher Streifen. Dann teilt man die Seite horizontal in die gleiche Anzahl \Var{DIV} gleich breiter Streifen. Nun verwendet man den obersten horizontalen Streifen als oberen und die beiden untersten horizontalen Streifen als unteren Rand. Im doppelseitigen Druck verwendet man außerdem den innersten vertikalen Streifen als inneren und die beiden äußersten vertikalen Streifen als äußeren Rand. Zum inneren Rand gibt man dann noch \Var{BCOR} hinzu. Was nun innerhalb der Seite noch übrig bleibt, ist der Textbereich.\Index{Textbereich} Die Breite bzw. Höhe der Ränder und des Textbereichs resultiert damit automatisch aus der Anzahl \Var{DIV} der Streifen. Da für die Ränder insgesamt jeweils drei Streifen benötigt werden, muss \Var{DIV} zwingend größer als drei sein. Bei {\KOMAScript} ist diese Art der Konstruktion im Paket \Package{typearea} realisiert. Dabei sind für A4-Papier je nach Schriftgröße unterschiedliche Werte voreingestellt, die \autoref{tab:typearea.div} zu entnehmen sind. Bei Verzicht auf Bindekorrektur, wenn also \Var{BCOR} = 0\Unit{pt} gilt, ergeben sich in etwa die Satzspiegelmaße aus \autoref{tab:typearea.typearea}. Neben den voreingestellten Werten kann man \Var{BCOR} und \Var{DIV} direkt beim Laden des Pakets als Option angeben (siehe \autoref{sec:typearea.options}). Zusätzlich existiert ein Befehl, mit dem man einen Satzspiegel explizit berechnen kann und dem man die beiden Werte als Parameter übergibt (siehe ebenfalls \autoref{sec:typearea.options}). Das \Package{typearea}-Paket bietet außerdem die Möglichkeit, den optimalen \Var{DIV}-Wert automatisch zu bestimmen. Dieser ist von der Schriftart abhängig, die zum Zeitpunkt der Satzspiegelberechnung eingestellt ist. Siehe hierzu ebenfalls \autoref{sec:typearea.options}. \end{Explain} \section{Satzspiegelkonstruktion durch Kreisschlagen} \label{sec:typearea.circleConstruction} \begin{Explain} Neben der zuvor beschriebenen Satzspiegelkonstruktion\Index{Satzspiegel} gibt es in der Literatur noch eine eher klassische Methode. Bei diesem Verfahren will man die gleichen Werte nicht nur in Form des Seitenverhältnisses wiederfinden; man geht außerdem davon aus, dass das Optimum dann erreicht wird, wenn die Höhe des Textbereichs der Breite der Seite entspricht. Das genaue Verfahren ist beispielsweise in \cite{JTsch87} nachzulesen. Als Nachteil dieses spätmittelalterlichen Buchseitenkanons ergibt sich, dass die Breite des Textbereichs nicht mehr von der Schriftart abhängt. Es wird also nicht mehr der zur Schrift passende Textbereich gewählt, stattdessen muss der Autor oder Setzer die zum Textbereich passende Schrift wählen. Dies ist als zwingend zu betrachten. Im \Package{typearea}-Paket wird diese Konstruktion dahingehend abgewandelt, dass durch Auswahl eines ausgezeichneten -- normalweise unsinnigen -- \Var{DIV}-Wertes oder eine spezielle Paket-Option derjenige \Var{DIV}-Wert ermittelt wird, bei dem der resultierende Satzspiegel dem spätmittelalterlichen Buchseitenkanon am nächsten kommt. Siehe hierzu ebenfalls \autoref{sec:typearea.options}.\par \end{Explain} \section{Optionen und Makros zur Beeinflussung des Satzspiegels} \label{sec:typearea.options} % DIV, DIVcalc, DIVclassic, BCOR % headinclude, headexclude, footinclude, footexclude, mpinclude, mpexclude % \typearea, \areaset Das Paket \Package{typearea} bietet zwei unterschiedliche Benutzerschnittstellen, um auf die Satzspiegelkonstruktion Einfluss zu nehmen. Die erste Möglichkeit ist, beim Laden des Pakets entsprechende Optionen anzugeben. Wie man Pakete lädt und Paketoptionen übergibt, entnehmen Sie bitte der Literatur zu \LaTeX{}, beispielsweise \cite{l2kurz} und \cite{latex:usrguide}, oder den auf den folgenden Seiten aufgeführten Beispielen. Da bei der Verwendung der \KOMAScript-Hauptklassen das Paket \Package{typearea} automatisch geladen wird, müssen die entsprechenden Paket-Optionen bei diesen Klassen auch direkt als Klassen-Optionen übergeben werden (siehe \autoref{sec:maincls.options}). \begin{Declaration} \Option{BCOR}\PName{Korrektur} \end{Declaration}% \BeginIndex{Option}{BCOR}% Mit Hilfe der Option \Option{BCOR}\PName{Korrektur} geben Sie den absoluten Wert der Bindekorrektur\Index{Bindekorrektur} an, also die Breite des Bereichs der durch die Bindung von der Papierbreite verloren geht. Dieser Wert wird in der Satzspiegelkonstruktion automatisch berücksichtigt und bei der Ausgabe wieder dem inneren beziehungsweise linken Rand zugeschlagen. Als \PName{Korrektur} können Sie jede von \TeX verstandene Maßeinheit angeben. \begin{Example} Angenommen Sie erstellen einen Finanzbericht. Das Ganze soll einseitig in A4 gedruckt und anschließend in eine Klemmmappe geheftet werden. Die Klemme der Mappe verdeckt 7,5\Unit{mm}. Der Papierstapel ist sehr dünn, deshalb gehen beim Knicken und Blättern durchschnittlich höchstens weitere 0,75\Unit{mm} verloren. Sie schreiben dann also: \begin{verbatim} \documentclass[a4paper]{report} \usepackage[BCOR8.25mm]{typearea} \end{verbatim} oder bei Verwendung einer \KOMAScript-Klasse: \begin{verbatim} \documentclass[a4paper,BCOR8.25mm]{scrreprt} \end{verbatim} \end{Example} Bitte beachten Sie unbedingt, dass diese Option bei Verwendung einer der \KOMAScript-Klassen als Klassenoption übergeben werden muss. Demgegenüber funktioniert dies bei Verwendung einer anderen Klasse nur, wenn diese Klasse \Package{typearea} explizit unterstützt. Bei den Standardklassen ist die Option also direkt beim Laden von \Package{typearea} zu übergeben. Die Verwendung von \Macro{PassOptionsToPackage} (siehe \cite{latex:clsguide}) vor dem Laden von \Package{typearea} funktioniert hingegen immer. % \EndIndex{Option}{BCOR} \begin{Declaration} \Option{DIV}\PName{Faktor} \end{Declaration}% \BeginIndex{Option}{DIV}% Mit Hilfe der Option \Option{DIV}\PName{Faktor} wird festgelegt, in wieviele Streifen die Seite horizontal und vertikal bei der Satzspiegelkonstruktion eingeteilt wird. Die genaue Konstruktion ist \autoref{sec:typearea.divConstruction} zu entnehmen. Wichtig zu wissen ist, dass gilt: Je größer der \PName{Faktor} desto größer wird der Textbereich und desto kleiner die Ränder. Als \PName{Faktor} kann jeder ganzzahlige Wert ab 4 verwendet werden. Bitte beachten Sie jedoch, dass sehr große Werte dazu führen können, dass Randbedingungen der Satzspiegelkonstruktion, je nach Wahl der weiteren Optionen, verletzt werden. So kann die Kopfzeile im Extremfall auch außerhalb der Seite liegen. Bei Verwendung der Option \Option{DIV}\PName{Faktor} sind Sie für die Einhaltung der Randbedingungen sowie eine nach typografischen Gesichtspunkten günstige Zeilenlänge selbst verantwortlich. In \autoref{tab:typearea.typearea} finden Sie für das Seitenformat A4 ohne Bindekorrektur die aus einigen DIV-Faktoren resultierenden Satzspiegelgrößen. Dabei werden die weiteren von der Schriftgröße abhängigen Nebenbedingungen nicht berücksichtigt. \begin{table} \centering \begin{tabular}{c|cc|cc} & \multicolumn{2}{c|}{Textbereich} & \multicolumn{2}{c}{R"ander}\\ \emph{DIV}& Breite [mm] & H"ohe [mm] & oben [mm] & innen [mm] \\ \hline\rule{0pt}{2.7ex}% 6 & 105,00 & 148,50 & 49,50 & 35,00 \\ 7 & 120,00 & 169,71 & 42,43 & 30,00 \\ 8 & 131,25 & 185,63 & 37,13 & 26,25 \\ 9 & 140,00 & 198,00 & 33,00 & 23,33 \\ 10 & 147,00 & 207,90 & 29,70 & 21,00 \\ 11 & 152,73 & 216,00 & 27,00 & 19,09 \\ 12 & 157,50 & 222,75 & 24,75 & 17,50 \\ 13 & 161,54 & 228,46 & 22,85 & 16,15 \\ 14 & 165,00 & 233,36 & 21,21 & 15,00 \\ 15 & 168,00 & 237,60 & 19,80 & 14,00 \\ \end{tabular} \caption{Satzspiegelma"se in Abh"angigkeit von \Var{DIV} bei A4} \label{tab:typearea.typearea} \end{table} \begin{Example} Angenommen Sie schreiben ein Sitzungsprotokoll. Sie verwenden dafür die Klasse \Class{protokol}\footnote{Die Klasse \Class{protokol} ist eine hypothetische Klasse. Diese Anleitung geht von dem Idealfall aus, dass für jede Aufgabe eine dafür passende Klasse vorhanden ist.}. Das Ganze soll doppelseitig werden. In Ihrer Firma wird die Schriftart Bookman in 12\Unit{pt} verwendet. Diese Schriftart, die zu den Standard-PostScript-Schriften gehört, wird in {\LaTeX} mit der Anweisung \verb|\usepackage{bookman}| aktiviert. Die Schriftart Bookman läuft sehr weit, das heißt, die einzelnen Zeichen sind im Verhältnis zur Höhe relativ breit. Deshalb ist Ihnen die Voreinstellung für den \Var{DIV}-Wert in \Package{typearea} zu gering. Statt einem Wert von 12 sind Sie nach gründlichem Studium dieses Kapitels einschließlich der weiterführenden Abschnitte überzeugt, dass ein Wert 15 angebracht ist. Das Protokoll wird nicht gebunden, sondern gelocht und in einen Ordner abgeheftet. Eine Bindekorrektur ist deshalb nicht notwendig. Sie schreiben also: \begin{small} \begin{verbatim} \documentclass[a4paper,twoside]{protokol} \usepackage{bookman} \usepackage[DIV15]{typearea} \end{verbatim} \end{small} Als Sie fertig sind, macht man Sie darauf aufmerksam, dass die Protokolle neuerdings gesammelt und am Quartalsende alle zusammen als Buch gebunden werden. Die Bindung erfolgt als einfache Leimbindung, weil den Band ohnehin nie wieder jemand anschaut und nur wegen ISO\,9000 angefertigt wird. Für die Bindung einschließlich Biegefalz werden durchschnittlich 12\Unit{mm} benötigt. Sie ändern die Optionen von \Package{typearea} also entsprechend ab und verwenden die Klasse für Protokolle nach ISO\,9000: \begin{small} \begin{verbatim} \documentclass[a4paper,twoside]{iso9000p} \usepackage{bookman} \usepackage[DIV15,BCOR12mm]{typearea} \end{verbatim} \end{small} Natürlich können Sie auch hier wieder eine \KOMAScript-Klasse verwenden: \begin{small} \begin{verbatim} \documentclass[a4paper,twoside,DIV15,BCOR12mm]{scrartcl} \usepackage{bookman} \end{verbatim} \end{small} \end{Example} Bitte beachten Sie unbedingt, dass diese Option bei Verwendung einer der \KOMAScript-Klassen als Klassenoption übergeben werden muss. Demgegenüber funktioniert dies bei Verwendung einer anderen Klasse nur, wenn diese Klasse \Package{typearea} explizit unterstützt. Bei den Standardklassen ist die Option also direkt beim Laden von \Package{typearea} zu übergeben. Die Verwendung von \Macro{PassOptionsToPackage} (siehe \cite{latex:clsguide}) vor dem Laden von \Package{typearea} funktioniert hingegen immer. % \EndIndex{Option}{DIV} \begin{Declaration} \Option{DIVcalc}\\ \Option{DIVclassic} \end{Declaration}% \BeginIndex{Option}{DIVcalc}% \BeginIndex{Option}{DIVclassic}% Wie bereits in \autoref{sec:typearea.divConstruction} erwähnt, gibt es nur für das Papierformat A4 feste Voreinstellungen für den \Var{DIV}-Wert. Diese sind \autoref{tab:typearea.div} zu entnehmen. Wird ein anderes Papierformat gewählt, so berechnet \Package{typearea} selbst einen guten \Var{DIV}-Wert. Natürlich können Sie diese Berechnung auch für A4 wählen. Hierzu verwenden Sie einfach die Option \Option{DIVcalc} an Stelle von \Option{DIV}\PName{Faktor}. Selbstverständlich können Sie diese Option auch explizit bei allen anderen Papierformaten angeben. Wenn Sie die automatische Berechnung wünschen, ist diese Angabe sogar sinnvoll, da die Möglichkeit besteht, in einer Konfigurationsdatei andere Voreinstellungen zu setzen (siehe \autoref{sec:typearea.cfg}), die dann mit dieser Option außer Kraft gesetzt werden können. \begin{table} \centering \begin{tabular}{lccc} Grundschriftgr"o"se: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\ \Var{DIV}: & 8 & 10 & 12 \\ \end{tabular} \caption{\label{tab:typearea.div}\PName{DIV}-Voreinstellungen f"ur A4} \end{table} Die in \autoref{sec:typearea.circleConstruction} erwähnte klassische Konstruktion, der mittelalterliche Buchseitenkanon, mit der Abweichung, dass ein dazu möglichst gut passender \Var{DIV}-Wert ermittelt wird, ist ebenfalls auswählbar. Verwenden Sie in diesem Fall an Stelle von \Option{DIV}\PName{Faktor} oder \Option{DIVcalc} einfach die Option \Option{DIVclassic}. \begin{Example} In dem bei der Option \Option{DIV}\PName{Faktor} aufgeführten Beispiel mit der Schriftart Bookman gab es ja genau das Problem, dass man einen zur Schriftart besser passenden \Var{DIV}-Wert haben wollte. Man könnte also in Abwandlung des ersten Beispiels auch einfach die Ermittlung dieses Wertes \Package{typearea} überlassen: \begin{small} \begin{verbatim} \documentclass[a4paper,twoside]{protokol} \usepackage{bookman} \usepackage[DIVcalc]{typearea} \end{verbatim} \end{small} \end{Example} \begin{Declaration} \Macro{typearea}\OParameter{BCOR}\Parameter{DIV} \end{Declaration}% \BeginIndex{Cmd}{typearea}% Wenn Sie bis hier die Beispiele aufmerksam verfolgt haben, werden Sie sich fragen, wie man die Berechnung eines \Var{DIV}-Wertes in Abhängigkeit von der gewählten Schrift erreicht, wenn eine \KOMAScript-Klasse verwendet wird, also die Optionen für \Package{typearea} vor dem Laden beispielsweise des \Package{bookman}-Pakets erfolgen müsste. In diesem Fall könnte \Package{typearea} nur einen Satzspiegel für die Standardschrift, nicht jedoch für die dann tatsächlich verwendete Schrift Bookman berechnen. Nach der Auswertung der Optionen berechnet das \Package{typearea}-Paket den Satzspiegel mit Hilfe des Befehls \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}. Dabei werden der gewählte \Var{BCOR}-Wert als optionaler Parameter und der \Var{DIV}-Wert als Parameter übergeben. Bei der Option \Option{DIVcalc} werden dabei als \PName{DIV} der eigentlich ungültige Wert~1 und bei der Option \Option{DIVclassic} der eigentlich ungültige Wert~3 übergeben. Den Befehl \Macro{typearea} kann man auch explizit in der Präambel aufrufen. \begin{Example} Gehen wir wieder davon aus, dass für die Schriftart Bookman ein Satzspiegel mit guter Zeilenlänge berechnet werden soll. Gleichzeitig wird eine \KOMAScript-Klasse verwendet. Dies ist unter Verwendung des \Macro{typearea}-Befehls mit dem \Option{DIVcalc}-Wert 1 als \PName{DIV}-Parameter möglich: \begin{small} \begin{verbatim} \documentclass[a4paper,BCOR12mm,DIVcalc,twoside]{scrartcl} \usepackage{bookman} \typearea[12mm]{1}% entspricht obigen Optionen \end{verbatim} \end{small} \end{Example} Nun ist es möglicherweise etwas unpraktisch, wenn man bei der \Option{DIV}-Option die Möglichkeit hat, \Option{DIVcalc} und \Option{DIVclassic} anzuwenden, beim \Macro{typearea}-Befehl aber mit irgendwelchen Pseudowerten jonglieren soll. Deshalb versteht \Macro{typearea} auch folgende symbolische Angaben für den Parameter \PName{DIV}: \begin{labeling}[\ --]{\PValue{classic}} \item [\PValue{calc}] Satzspiegelberechnung einschließlich Ermittlung eines guten \Var{DIV}-Wertes erneut durchführen. \item [\PValue{classic}] Satzspiegelberechnung nach dem mittelalterlichen Buchseitenkanon (Kreisberechnung) erneut durchführen. \item [\PValue{current}] Satzspiegelberechnung mit dem aktuell gültigen \Var{DIV}-Wert erneut durchführen. \item [\PValue{default}] Satzspiegelberechnung mit dem Standardwert für das aktuelle Seitenformat und die aktuelle Schriftgröße erneut durchführen. Falls kein Standardwert existiert \PValue{calc} anwenden. \item [\PValue{last}] Satzspiegelberechnung mit demselben \PName{DIV}-Argument, das beim letzten Aufruf angegeben wurde, erneut durchführen. \end{labeling} Jetzt wäre es natürlich äußerst unpraktisch, wenn man zwar eine Satzspiegelberechnung mit dem aktuellen \Var{DIV}-Wert erneut durchführen könnte, jedoch dabei den \Var{BCOR}-Wert neu angeben müsste. Deshalb versteht \Macro{typearea} auch die folgende symbolische Angabe für den Parameter \PName{BCOR}: \begin{labeling}[\ --]{\PValue{classic}} \item [\PValue{current}] Satzspiegelberechnung mit dem aktuell gültigen \Var{BCOR}-Wert erneut durchführen. \end{labeling} \begin{Example} Gehen wir wieder davon aus, dass für die Schriftart Bookman ein Satzspiegel mit guter Zeilenlänge berechnet werden soll. Gleichzeitig wird eine \KOMAScript-Klasse verwendet. Unter Verwendung der symbolischen Parameterwerte für \PName{BCOR} und \PName{DIV} ist dies mit dem \Macro{typearea}-Befehl einfach möglich: \begin{small} \begin{verbatim} \documentclass[a4paper,BCOR12mm,DIVcalc,twoside]{scrartcl} \usepackage{bookman} \typearea[current]{calc} \end{verbatim} \end{small} Soll hingegen die neuerliche Berechnung mit einem festen \Var{DIV}-Wert durchgeführt werden, so gibt es neben der Möglichkeit: \begin{small} \begin{verbatim} \documentclass[a4paper,BCOR12mm,DIV11,twoside]{scrartcl} \usepackage{bookman} \typearea[current]{current} \end{verbatim} \end{small} natürlich auch noch die alte Methode: \begin{small} \begin{verbatim} \documentclass[a4paper,twoside]{scrartcl} \usepackage{bookman} \typearea[12mm]{11} \end{verbatim} \end{small} Letztlich ist es eine Frage des Geschmacks, welche Lösung man lieber verwendet. \end{Example} Häufig wird die Satzspiegelneuberechnung im Zusammenhang mit der Ver"-änderung des Zeilenabstandes (\emph{Durchschuss})\Index{Durchschuss} benötigt. Da der Satzspiegel unbedingt so berechnet werden sollte, dass eine ganze Anzahl an Zeilen in den Textbereich passt, muss bei Verwendung eines anderen Durchschusses als dem normalen der Satzspiegel für diesen Zeilenabstand neu berechnet werden. \begin{Example} Angenommen für eine Diplomarbeit wird die Schriftgröße 10\Unit{pt} bei eineinhalbzeiligem Satz zwingend gefordert. {\LaTeX} setzt normalwerweise bei 10\Unit{pt} mit 2\Unit{pt} Durchschuss, also 1,2-zeilig. Deshalb muss als zusätzlicher Dehnfaktor der Wert 1,25 verwendet werden. Gehen wir außerdem davon aus, dass eine Bindekorrektur von 12\Unit{mm} benötigt wird. Dann könnte die Lösung dies Problems wie folgt aussehen: \begin{small} \begin{verbatim} \documentclass[10pt,BCOR12mm,DIVcalc,twoside]{scrreprt} \linespread{1.25}\selectfont \typearea[current]{calc} \end{verbatim} \end{small}\IndexCmd{linespread} Der Befehl \Macro{selectfont} wird benötigt, damit der geänderte Durchschuss auch tatsächlich vor der Neuberechnung aktiviert wird. Das gleiche Beispiel sähe unter Verwendung des \Package{setspace}-Pakets (siehe \cite{package:setspace}) wie folgt aus: \begin{small} \begin{verbatim} \documentclass[10pt,BCOR12mm,DIVcalc,twoside]{scrreprt} \usepackage{setspace} \onehalfspacing \typearea[current]{calc} \end{verbatim} \end{small} Wie man sieht, spart man sich mit dem \Package{setspace}-Paket nicht nur das Wissen um den korrekten Dehnungswert, sondern auch das Wissen, dass \Macro{selectfont} benötigt wird. An dieser Stelle erscheint es mir angebracht, darauf hinzuweisen, dass der Zeilenabstand für die Titelseite wieder auf den normalen Wert zurückgesetzt werden sollte. Ein vollständiges Beispiel wäre also: \begin{small} \begin{verbatim} \documentclass[10pt,BCOR12mm,DIVcalc,twoside]{scrreprt} \usepackage{setspace} \onehalfspacing \typearea[current]{calc} \begin{document} \title{Title} \author{Markus Kohm} \begin{spacing}{1} \maketitle \tableofcontents \end{spacing} \chapter{Ok} \end{document} \end{verbatim} \end{small} Siehe hierzu auch die Anmerkungen in \autoref{sec:typearea.tips}. \end{Example} \begin{Explain} Der Befehl \Macro{typearea} ist derzeit so definiert, dass es theoretisch auch möglich wäre, mitten in einem Dokument den Satzspiegel zu wechseln. Dabei werden allerdings Annahmen über den Aufbau des \LaTeX-Kerns gemacht und interne Definitionen und Größen des \LaTeX-Kerns verändert. Es gibt zwar eine gewisse Wahrscheinlichkeit, aber keine Garantie, dass dies in zukünftigen Versionen von \LaTeXe{} noch funktionieren wird. Es ist anzunehmen, dass es bei \LaTeX3 nicht mehr zu einem korrekten Ergebnis führt. Aber als Autor von {\KOMAScript} gehe ich derzeit davon aus, dass der Umstieg zu \LaTeX3 mit sehr viel mehr Inkompatiblilitäten einhergehen wird.\par \end{Explain} % \EndIndex{Cmd}{typearea} \EndIndex{Option}{DIVclassic}% \EndIndex{Option}{DIVcalc} \begin{Declaration} \Option{headinclude}\\ \Option{headexclude}\\ \Option{footinclude}\\ \Option{footexclude} \end{Declaration}% \BeginIndex{Option}{headinclude}% \BeginIndex{Option}{headexclude}% \BeginIndex{Option}{footinclude}% \BeginIndex{Option}{footexclude}% \begin{Explain}% Bisher wurde zwar erklärt, wie die Satzspiegelkonstruktion\Index{Satzspiegel} funktioniert und in welchem Verhältnis die Ränder\Index{Rand} zueinander und der Textkörper zur Seite steht, aber eine entscheidene Frage blieb ausgeklammert. Es handelt sich dabei um die Frage, was denn eigentlich unter dem Rand zu verstehen ist. Auf den ersten Blick wirkt diese Frage trivial: Der Rand ist der Teil der Seite, der oben, unten, links und rechts frei bleibt. Doch das ist nur die halbe Wahrheit. Der äußere Rand ist keineswegs immer leer. Teilweise findet man darin noch gesetzte Randnotizen (siehe den Befehl \Macro{marginpar} beispielsweise in \cite{l2kurz} bzw. \autoref{sec:maincls.marginNotes}). Beim oberen und unteren Rand stellt sich die Frage, wie Kopf- und Fußzeile\Index{Seitenkopf} \Index{Seitenfuß} zu behandeln sind. Gehören diese beiden zum Textkörper oder zum jeweiligen Rand? Die Frage ist nicht einfach zu beantworten. Eindeutig ist, dass ein leerer Fuß und ein leerer Kopf zum Rand zu rechnen sind. Schließlich können sie nicht vom restlichen Rand unterschieden werden. Ein Fuß, der nur die Paginierung\Index[indexmain]{Paginierung}\footnote{Unter der Paginierung versteht man die Angabe der Seitenzahl.} enthält, wirkt optisch ebenfalls eher wie Rand und sollte deshalb zu diesem gerechnet werden. Für die optische Wirkung ist dabei unwesentlich, ob der Fuß beim Lesen oder Überfliegen leicht als Fuß erkannt werden kann oder nicht. Entscheidend ist, wie eine wohlgefüllte Seite bei \emph{unscharfer Betrachtung} wirkt. Dazu bedient man sich beispielsweise seiner altersweitsichtigen Großeltern, denen man die Brille stibitzt und dann die Seite etwa einen halben Meter von der Nasenspitze entfernt hält. In Ermangelung erreichbarer Großeltern kann man sich auch damit behelfen, dass man die eigenen Augen auf Fernsicht stellt die Seite aber nur mit ausgestreckten Armen hält. Brillenträger sind hier deutlich im Vorteil. Hat man eine Fußzeile, die neben der Paginierung weitere, weitschweifige Angaben enthält, beispielsweise einen Copyrighthinweis, so wirkt die Fußzeile eher wie ein etwas abgesetzter Teil des Textkörpers. Bei der Berechnung des Satzspiegels sollte das berücksichtigt werden. Bei der Kopfzeile sieht es noch schwieriger aus. In der Kopfzeile wird häufig der Kolumnentitel\Index[indexmain]{Kolumnentitel}\footnote{Unter dem Kolumnentitel versteht man in der Regel die Wiederholung einer Überschrift mit Titelcharakter.} gesetzt. Arbeitet man mit einem lebenden Kolumnentitel, also der Wiederholung der ersten bzw. zweiten Gliederungsebene in der Kopfzeile, und hat gleichzeitig sehr lange Überschriften, so erhält man automatisch sehr lange Kopfzeilen. In diesem Fall wirkt der Kopf wiederum wie ein abgesetzter Teil des Textkörpers und weniger wie leerer Rand. Verstärkt wird dieser Effekt noch, wenn neben dem Kolumnentitel auch die Paginierung im Kopf erfolgt. Dadurch erhält man einen links und rechts abgeschlossenen Bereich, der kaum noch als leerer Rand wirkt. Schwieriger ist es bei Paginierung im Fuß und Überschriften, deren Länge sehr stark schwankt. Hier kann der Kopf der einen Seite wie Textkörper wirken, der Kopf der anderen Seite jedoch eher wie Rand. Keinesfalls sollte man die Seiten jedoch unterschiedlich behandeln. Das würde zu vertikal springenden Köpfen führen und ist nicht einmal für ein Daumenkino geeignet. Ich rate in diesem Fall dazu, den Kopf zum Textkörper zu rechnen. Ganz einfach fällt die Entscheidung, wenn der Kopf oder Fuß durch eine Linie vom eigentlichen Textkörper abgetrennt ist. Dadurch erhält man eine geschlossene Wirkung und der Kopf bzw. Fuß sollte unbedingt zum Textkörper gerechnet werden. Wie gesagt, die durch die Trennlinie verbesserte Erkennung des Kopfes oder Fußes ist hier unerheblich. Entscheidend ist die unscharfe Betrachtung.\par \end{Explain} Das \Package{typearea}-Paket trifft die Entscheidung, ob ein Kopf oder Fuß zum Textkörper gehört oder davon getrennt zum Rand gerechnet werden muss, nicht selbst. Stattdessen kann mit den Optionen \Option{headinclude} und \Option{footinclude} der Kopf bzw. Fuß explizit zum Textkörper gezählt werden, während mit den Optionen \Option{headexclude} und \Option{footexclude} der Kopf bzw. Fuß zum Rand gerechnet wird. Wenn Sie unsicher sind, was die richtige Einstellung ist, lesen Sie bitte obige Erläuterungen. Voreingestellt sind normalerweise \Option{headexclude} und \Option{footexclude}. Dies kann sich jedoch bei den \KOMAScript-Klassen je nach Klassenoption oder bei Verwendung anderer \KOMAScript-Pakete generell ändern (siehe Abschnitte~\ref{sec:maincls.options} und \ref{cha:scrpage}). % \EndIndex{Option}{headinclude}% \EndIndex{Option}{headexclude}% \EndIndex{Option}{footinclude}% \EndIndex{Option}{footexclude}% \begin{Declaration} \Option{mpinclude}\\ \Option{mpexclude} \end{Declaration} \BeginIndex{Option}{mpinclude}% \BeginIndex{Option}{mpexclude}% Neben\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} Dokumenten, bei denen der Kopf und der Fuß der Seite eher zum Textbereich als zum Rand gehört, gibt es auch Dokumente, bei denen dies für Randnotizen zutrifft. Mit der Option \Option{mpinclude} kann genau dies erreicht werden. Der Effekt dabei ist, dass eine Breiteneinheit vom Textbereich weggenommen und als Bereich für die Randnotizen verwendet wird. Mit der Option \Option{mpexclude}, die der Voreinstellung entspricht, wird hingegen ein Teil des Randes für Randnotizen verwendet. Dies ist, je nachdem, ob einseitig oder doppelseitig gearbeitet wird, ebenfalls eine Breiteneinheit oder auch eineinhalb Breiteneinheiten. In der Regel ist die Verwendung von \Option{mpinclude} nicht anzuraten beziehungsweise sollte Experten vorbehalten bleiben. \begin{Explain} In den meisten Fällen, in denen die Option \Option{mpinclude} sinnvoll ist, werden außerdem breitere Randnotizen benötigt. In sehr vielen Fällen sollte dabei aber nicht die gesamte Breite, sondern nur ein Teil davon, dem Textbereich zugeordnet werden. Dies ist beispielsweise der Fall, wenn der Rand für Zitate verwendet wird. Solche Zitate werden üblicherweise im Flattersatz gesetzt, wobei die bündige Kante an den Textbereich anschließt. Da sich kein geschlossener optischer Eindruck ergibt, dürfen die flatternden Enden also durchaus teilweise in den Rand ragen. Man kann das einfach erreichen, indem man zum einen die Option \Option{mpinclude} verwendet. Zum anderen vergrößert man die Länge \Length{marginparwidth} nach der Berechnung des Satzspiegels noch mit Hilfe der \Macro{addtolength}-Anweisung. Um welchen Wert man vergrößern sollte, hängt vom Einzelfall ab und erfordert einiges Fingerspitzengefühl. Auch deshalb ist die Option \Option{mpinclude} eher etwas für Experten. Natürlich kann man auch festlegen, dass die Randnotizen beispielsweise zu einem Drittel in den Rand hineinragen sollen. Im Beispiel würde man das mit \Macro{setlength}\PParameter{\Length{marginparwidth}}% \PParameter{1.5\Length{marginparwidth}} erreichen. Da es derzeit keine Option gibt, um mehr Platz für die Randnotizen innerhalb des Textbereichs vorzusehen, gibt es nur eine Möglichkeit dies zu erreichen. Man verzichtet auf die Option \Option{mpinclude}, verringert nach der Satzspiegelberechnung die Breite des Textbereichs \Macro{textwidth} und setzt die Breite des Bereichs der Randnotizen auf den Wert, um den man die Breite des Textbereichs verringert hat. Leider lässt sich dieses Vorgehen nicht mit der automatischen Berechnung des \PName{DIV}-Wertes verbinden. Demgegenüber wird \Option{mpinclude} bei \Option{DIVcalc}\IndexOption{DIVcalc} berücksichtigt. \end{Explain} % \EndIndex{Option}{mpinclude}% \EndIndex{Option}{mpexclude}% \begin{Declaration} \PName{Wert}\Option{headlines} \end{Declaration}% \BeginIndex{Option}{headlines}% Es ist nun also bekannt, wie man Satzspiegel mit dem \Package{typearea}-Paket berechnet und wie man dabei angibt, ob der Kopf oder Fuß zum Textkörper oder zum Rand gehört. Insbesondere für den Kopf fehlt aber noch die Angabe, wie hoch er denn eigentlich sein soll. Hierzu dient die Option \Option{headlines}, der man die Anzahl der Kopfzeilen voranstellt. Normalerweise arbeitet das \Package{typearea}-Paket mit 1,25 Kopfzeilen. Dieser Wert stellt einen Kompromiss dar. Zum einen ist er groß genug, um auch für eine unterstrichene Kopfzeile (siehe \autoref{sec:maincls.options}) Platz zu bieten, zum anderen ist er klein genug, um das Randgewicht nicht zu stark zu verändern, wenn mit einer einfachen, nicht unterstrichenen Kopfzeile gearbeitet wird. Damit ist der voreingestellte Wert in den meisten Standardfällen ein guter Wert. In einigen Fällen will oder muss man aber die Kopfhöhe genauer den tatsächlichen Erfordernissen anpassen. \begin{Example} Angenommen es soll ein Text mit einem zweizeiligen Kopf erstellt werden. Normalerweise würde dies dazu führen, dass auf jeder Seite eine Warnung "`\texttt{overfull} \Macro{vbox}"' von {\LaTeX} ausgegeben würde. Um dies zu verhindern, wird das \Package{typearea}-Paket angewiesen, einen entsprechenden Satzspiegel zu berechnen: \begin{small} \begin{verbatim} \documentclass[a4paper]{article} \usepackage[2.1headlines]{typearea} \end{verbatim} \end{small} Bei Verwendung einer \KOMAScript-Klasse muss die Option auch wieder direkt an die Klasse übergeben werden: \begin{small} \begin{verbatim} \documentclass[a4paper,2.1headlines]{scrartcl} \end{verbatim} \end{small} Befehle, mit denen dann der Inhalt der zweizeiligen Kopfzeile definiert werden kann, sind in \autoref{cha:scrpage} zu finden. \end{Example} Bitte beachten Sie unbedingt, dass diese Option bei Verwendung einer der \KOMAScript-Klassen als Klassenoption übergeben werden muss. Demgegenüber funktioniert dies bei Verwendung einer anderen Klasse nur, wenn diese Klasse \Package{typearea} explizit unterstützt. Bei den Standardklassen ist die Option also direkt beim Laden von \Package{typearea} zu übergeben. Die Verwendung von \Macro{PassOptionsToPackage} (siehe \cite{latex:clsguide}) vor dem Laden von \Package{typearea} funktioniert hingegen immer. % \EndIndex{Option}{headlines} \begin{Declaration} \Macro{areaset}\OParameter{BCOR}\Parameter{Breite}\Parameter{Höhe} \end{Declaration}% \BeginIndex{Cmd}{areaset}% Bis hier wurde nun eine Menge darüber erzählt, wie man einen guten oder sogar sehr guten Satzspiegel\Index{Satzspiegel} für Standardanwendungen erstellt bzw. wie das \Package{typearea}-Paket dem Anwender diese Arbeit weitgehend abnimmt, ihm aber gleichzeitig Möglichkeiten der Einflussnahme bietet. Es gibt jedoch auch Fälle, in denen der Textkörper eine bestimmte Größe exakt einhalten soll, ohne dass dabei auf gute Satzspiegelkonstruktion oder auf weitere Nebenbedingungen zu achten ist. Trotzdem sollen die Ränder so gut wie möglich verteilt und dabei gegebenenfalls auch eine Bindekorrektur berücksichtigt werden. Das \Package{typearea}-Paket bietet hierfür den Befehl \Macro{areaset}, dem man neben der optionalen Bindekorrektur als Parameter die Breite und Höhe des Textbereichs übergibt. Die Ränder und deren Verteilung werden dann automatisch berechnet, wobei gegebenenfalls auch die Paketoptionen \Option{headinclude}, \Option{headexclude}, sowie \Option{footinclude} und \Option{footexclude} berücksichtigt werden. \begin{Example} Angenommen ein Text auf A4-Papier soll genau die Breite von 60 Zeichen in der Typewriter-Schrift haben und exakt 30 Zeilen je Seite besitzen. Dann könnte mit folgender Präambel gearbeitet werden: \begin{verbatim} \documentclass[a4paper,11pt]{article} \usepackage{typearea} \newlength{\CharsLX}% Breite von 60 Zeichen \newlength{\LinesXXX}% Höhe von 30 Zeilen \settowidth{\CharsLX}{\texttt{1234567890}} \setlength{\CharsLX}{6\CharsLX} \setlength{\LinesXXX}{\topskip} \addtolength{\LinesXXX}{30\baselineskip} \areaset{\CharsLX}{\LinesXXX} \end{verbatim} \item Soll stattdessen ein Gedichtband gesetzt werden, bei dem es nur darauf ankommt, dass der Textbereich genau quadratisch mit einer Seitenlänge von 15\Unit{cm} ist, wobei ein Binderand von 1\Unit{cm} zu berücksichtigen ist, so kann dies wie folgt erreicht werden: \begin{verbatim} \documentclass{gedichte} \usepackage{typearea} \areaset[1cm]{15cm}{15cm} \end{verbatim} \end{Example} \EndIndex{Cmd}{areaset} \section{Optionen und Makros zur Auswahl des Papierformats} \label{sec:typearea.paperTypes} \Index{Papierformat}% Die \LaTeX-Standardklassen unterstützen mit den Optionen \Option{a4paper}, \Option{a5paper}, \Option{b5paper}, \Option{letterpaper}, \Option{legalpaper} und \Option{executivepaper} die Papierformate A4 und A5 aus der ISO-A-Reihe, B5 aus der ISO-B-Reihe, sowie die englischen Formate letter, legal und executive. \begin{Declaration} \Option{letterpaper} \\ \Option{legalpaper} \\ \Option{executivepaper} \\ \Option{a\Var{X}paper} \\ \Option{b\Var{X}paper} \\ \Option{c\Var{X}paper} \\ \Option{d\Var{X}paper} \\ \Option{landscape} \\ \Macro{isopaper}\OParameter{Reihe}\Parameter{Formatnummer} \end{Declaration}% \BeginIndex{Option}{letterpaper} \BeginIndex{Option}{legalpaper} \BeginIndex{Option}{executivepaper} \BeginIndex{Option}{a0paper} \BeginIndex{Option}{b0paper} \BeginIndex{Option}{c0paper} \BeginIndex{Option}{d0paper} \BeginIndex{Option}{landscape} \BeginIndex{Cmd}{isopaper}% Die drei englischen Formate werden vom \Package{typearea}-Paket in gleicher Weise unterstützt. Darüber hinaus werden jedoch alle Formate der ISO-A-, ISO-B-, ISO-C- und ISO-D-Reihe durch Ableitung aus den jeweiligen Grundgrößen A0, B0, C0 und D0 unterstützt. Diese können ebenfalls direkt durch entsprechende Optionen \Option{a0paper}, \Option{a1paper} usw. ausgewählt werden. Genau wie bei den Standardklassen ist es mit dem \Package{typearea}-Paket möglich, durch zusätzliche Verwendung der Paketoption \Option{landscape} das jeweilige Querformat zu wählen. Alternativ kann beim \Package{typearea}-Paket die Papiergröße mit Hilfe des Befehls \Macro{isopaper} eingestellt werden. Danach muss allerdings der Satzspiegel mit Hilfe des Befehls \Macro{typearea} oder \Macro{areaset} neu berechnet werden. Ich rate deshalb von der Verwendung des Befehls \Macro{isopaper} ab. \begin{Example} Angenommen, es soll eine Karteikarte im Format ISO-A8 quer bedruckt werden. Dabei sollen die Ränder sehr klein gewählt werden. Außerdem wird auf eine Kopf- und eine Fußzeile verzichtet. \begin{verbatim} \documentclass{article} \usepackage[headexclude,footexclude, a8paper,landscape]{typearea} \areaset{7cm}{5cm} \pagestyle{empty} \begin{document} \section*{Papieroptionen} letterpaper, legalpaper, executivepaper, a0paper, a1paper \dots\ b0paper, b1paper \dots\ c0paper, c1paper \dots\ d0paper, d1paper \dots \end{document} \end{verbatim} \end{Example} Bitte beachten Sie unbedingt, dass alle \Option{a\Var{X}paper}-, \Option{b\Var{X}paper}-, \Option{c\Var{X}paper}- und \Option{d\Var{X}paper}-Optionen mit Ausnahme von \Option{a4paper} und \Option{a5paper} bei Verwendung einer der \KOMAScript-Klassen als Klassenoption übergeben werden müssen. Demgegenüber funktioniert dies bei Verwendung einer anderen Klasse nur, wenn diese Klasse \Package{typearea} explizit unterstützt. Bei den Standardklassen sind die Optionen also direkt beim Laden von \Package{typearea} zu übergeben. Die Verwendung von \Macro{PassOptionsToPackage} (siehe \cite{latex:clsguide}) vor dem Laden von \Package{typearea} funktioniert hingegen immer. % \EndIndex{Option}{letterpaper} \EndIndex{Option}{legalpaper} \EndIndex{Option}{executivepaper} \EndIndex{Option}{a0paper} \EndIndex{Option}{b0paper} \EndIndex{Option}{c0paper} \EndIndex{Option}{d0paper} \EndIndex{Option}{landscape} \EndIndex{Cmd}{isopaper} \begin{Declaration} \Macro{paperwidth}\\ \Macro{paperheight} \end{Declaration}% \BeginIndex{Cmd}{paperwidth}% \BeginIndex{Cmd}{paperheight}% Für besonders exotische Papierformate, die weder durch die oben angegebenen englischen Formate noch durch eines der Formate der vier ISO-Reihen abgedeckt sind, können direkt die Längen \Macro{paperwidth} und \Macro{paperheight} gesetzt werden. Danach muss allerdings der Satzspiegel für dieses Format mit einem der Befehle \Macro{typearea} oder \Macro{areaset} neu berechnet werden. \begin{Example} Angenommen, es soll auf Endlospapier mit den Maßen \(8\frac{1}{4}\Unit{inch} \times 12\Unit{inch}\) gedruckt werden. Dieses Papierformat wird von \Package{typearea} nicht direkt unterstützt. Das Papierformat muss daher vor der Berechnung des Satzspiegels definiert werden: \begin{verbatim} \documentclass{article} \usepackage{typearea} \setlength{\paperwidth}{8.25in} \setlength{\paperheight}{12in} \typearea{1} \end{verbatim} \end{Example} \EndIndex{Cmd}{paperheight} \EndIndex{Cmd}{paperwidth} \begin{Declaration} \Option{dvips}\\ \Option{pdftex}\\ \Option{pagesize} \end{Declaration}% \BeginIndex{Option}{dvips}% \BeginIndex{Option}{pdftex}% \BeginIndex{Option}{pagesize}% \begin{Explain}% Die oben genannten Mechanismen zur Auswahl des Papierformats haben genaugenommen nur insofern einen Einfluss auf die Ausgabe, dass gewisse interne {\LaTeX}-Maße so gesetzt werden, dass bestimmte Bereiche der Seite, wie Kopf, Textkörper und Fuß so angeordnet und von \Package{typearea} so berechnet werden, dass sie auf entsprechendes Papier ausgedruckt werden können. Die Spezifikation des DVI-Formats\Index{DVI} sieht aber an keiner Stelle Angaben zum Papierformat vor. Wird direkt aus dem DVI-Format in eine Low-Level-Druckersprache wie PCL\footnote{PCL ist die Druckersprache, die HP für seine Tinten- und Laserdrucker verwendet.} oder ESC/P2\footnote{ESC/P2 ist die Druckersprache, die EPSON für seine Nadel-, Tinten- und Laserdrucker benutzt.} ausgegeben, spielt dies normalerweiser keine Rolle, da auch bei diesen Ausgaben der 0-Bezugspunkt wie bei DVI links oben liegt. Wird aber in Sprachen wie PostScript\Index{PostScript} oder PDF\Index{PDF} übersetzt, bei denen der 0-Bezugspunkt an anderer Stelle liegt und außerdem das Papierformat in der Ausgabedatei angegeben werden kann, so fehlt diese Information in der DVI-Datei. Als Lösung des Problems verwendet der entsprechende Treiber eine voreingestellte Papiergröße, die der Anwender entweder per Option oder durch entsprechende Angabe in der {\TeX}-Quelldatei verändern kann. Bei Verwendung des DVI-Treibers \File{dvips} kann diese Angabe in Form einer \Macro{special}-Anweisung erfolgen. Bei {pdf\TeX} werden stattdessen zwei Längen entsprechend gesetzt.\par \end{Explain} Mit der Option \Option{dvips} wird erreicht, dass die Papiergröße als \Macro{special} in die DVI-Datei geschrieben wird. Dieses \Macro{special} wird beispielsweise von \File{dvips} ausgewertet. Demgegenüber schreibt die Option \Option{pdftex} die Papiergröße am Anfang des Dokuments in die {pdf\TeX}-Seitenregister, so dass später beim Betrachten der erzeugten PDF-Datei das korrekte Format angegeben wird. Die Option \Option{pagesize} verhält sich flexibler und verwendet je nachdem, ob eine PDF- oder eine DVI-Datei ausgegeben wird, den Mechanismus der Option \Option{dvips} oder der Option \Option{pdftex}. \begin{Example} Angenommen es soll ein Dokument sowohl als DVI-Datei verwendet werden, als auch eine Online-Version im PDF-Format erstellt werden. Dann könnte die Präambel beispielsweise so beginnen: \begin{small} \begin{verbatim} \documentclass{article} \usepackage[a4paper,pagesize]{typearea} \end{verbatim} \end{small} Wird nun für die Bearbeitung {pdf\TeX} verwendet \emph{und} die PDF-Ausgabe aktiviert, so werden die beiden Größen \Macro{pdfpagewidth} und \Macro{pdfpageheight} entsprechend gesetzt. Wird jedoch eine DVI-Datei erzeugt -- egal ob mit {\LaTeX} oder {pdf\LaTeX} --, so wird ein \Macro{special} an den Anfang dieser Datei geschrieben. \end{Example}\IndexCmd{pdfpagewidth}\IndexCmd{pdfpagehight} \EndIndex{Option}{dvips}% \EndIndex{Option}{pdftex}% \EndIndex{Option}{pagesize}% \section{Kleinigkeiten ohne direkten Bezug zum Satzspiegel} \label{sec:typearea.else} \begin{Declaration} \Macro{ifpdfoutput}\Parameter{Dann-Teil}\Parameter{Sonst-Teil} \end{Declaration}% \BeginIndex{Cmd}{ifpdfoutput}% Manchmal ist es wünschenswert, in einem Dokument abhängig vom Ausgabeformat bestimmte Dinge anders zu machen. Normalerweise verwendet {\TeX} das Ausgabeformat DVI. Mit {pdf\TeX} ist aber die Wahlmöglichkeit hinzugekommen, statt einer DVI-Datei eine PDF-Datei direkt zu erzeugen. Der Befehl \Macro{ifpdfoutput} stellt eine Verzweigung dar. Wurde die PDF-Ausgabe aktiviert, so wird der \PName{Dann-Teil} ausgeführt. Wurde die PDF-Ausgabe nicht aktiviert oder wird überhaupt kein {pdf\TeX} verwendet, so wird der \PName{Sonst-Teil} ausgeführt. \begin{Example} Bekanntlich gibt {pdf\LaTeX} in ebenfalls eine DVI-Datei an Stelle einer PDF-Datei aus, wenn der Zähler \Macro{pdfoutput} auf 0 gesetzt ist. Nur bei einem von 0 verschiedenen Wert wird eine PDF-Datei ausgegeben. Da andererseits \Macro{pdfoutput} unbekannt ist, wenn {\LaTeX} statt {pdf\LaTeX} verwendet wird, kann man \Macro{pdfoutput} auch nicht einfach generell auf 0 setzen, um DVI-Ausgabe zu erhalten. Eine einfache Lösung ist folgende Zeile: \begin{small} \begin{verbatim} \ifpdfoutput{\pdfoutput=0}{} \end{verbatim} \end{small} Übrigens setzten manche Pakete \Macro{pdfoutput} einfach auf 1, sobald der Zähler existiert. In einigen Fällen ist das aber gar nicht erwünscht. Auch dann kann obige Zeile nach dem Laden des entsprechenden Pakets hilfreich sein. Selbstverständlich muss dafür das \Package{typearea}-Paket geladen sein. Eine Kombination mit der Anweisung \Macro{AfterPackage}\IndexCmd{AfterPackage} des \Package{scrlfile}-Paketes ist ebenfalls möglich (siehe dazu \autoref{cha:scrlfile}). \end{Example}\IndexCmd{pdfoutput} \EndIndex{Cmd}{ifpdfoutput} \section{Lokale Einstellungen durch die Datei \File{typearea.cfg}} \label{sec:typearea.cfg} \BeginIndex{File}{typearea.cfg}% Noch vor der Abarbeitung der Paketoptionen prüft \Package{typearea}, ob eine Datei \File{typearea.cfg} existiert und lädt diese gegebenenfalls. Es ist daher möglich, in dieser Konfigurationsdatei beispielsweise zusätzliche Optionen für weitere Papierformate zu definieren. \begin{Declaration} \Macro{SetDIVList}\Parameter{Liste} \end{Declaration}% \BeginIndex{Cmd}{SetDIVList}% \begin{Explain}% Ebenfalls zur Verwendung in dieser Konfigurationsdatei war ursprünglich der Befehl \Macro{SetDIVList} vorgesehen. Bevor die Option \Option{DIVcalc} existierte, war dies die einzige Möglichkeit, für unterschiedliche Schriftgrößen und Papierformate unterschiedliche Voreinstellungen für den \Var{DIV}-Wert zu definieren. Die Liste besteht dabei aus einer Reihe von Werten in geschweiften Klammern. Der Wert ganz links ist für die Schriftgröße 10\Unit{pt}, der nächste für 11\Unit{pt}, der dritte für 12\Unit{pt} usw. vorgesehen. Wird keine Liste mit \Macro{SetDIVList} gesetzt, so entspricht dies \Macro{SetDIVList}% \PParameter{\PParameter{8}\PParameter{10}\PParameter{12}}. Ist für eine Schriftgröße kein Standardwert gesetzt, so wird stattdessen 10 verwendet.\par \end{Explain} Dieser Befehl sollte nicht mehr verwendet werden. Stattdessen wird empfohlen, einen günstigen Satzspiegel automatisch berechnen zu lassen (siehe \autoref{sec:typearea.options}). % \EndIndex{Cmd}{SetDIVList} % \EndIndex{File}{typearea.cfg} \section{Tipps} \label{sec:typearea.tips} \begin{Explain} Insbesondere für die Erstellung von schriftlichen Arbeiten während des Studiums findet man häufig Vorschriften, die einer typografischen Begutachtung nicht nur in keinster Weise standhalten, sondern massiv gegen alle Regeln der Typografie verstoßen. Ursache für solche Regeln ist oft typografische Inkompetenz derjenigen, die sie herausgeben. Manchmal ist die Ursache auch im Ausgangspunkt begründet, nämlich der Schreibmaschine. Mit einer Schreibmaschine oder einer Textverarbeitung von 1980 ist es ohne erheblichen Aufwand kaum möglich, typografisch perfekte Ergebnisse zu erzielen. Also wurden einst Vorschriften erlassen, die leicht erfüllbar schienen und dem Korrektor trotzdem entgegen kommen. Dazu zählen dann Randeinstellungen, die für einseitigen Druck mit einer Schreibmaschine zu brauchbaren Zeilenlängen führen. Um nicht extrem kurze Zeilen zu erhalten, die durch Flattersatz zudem verschlimmert werden, werden die Ränder schmal gehalten und für Korrekturen stattdessen ein großer Durchschuss in Form von eineinhalbzeiligem Satz vorgeschrieben. Bevor moderne Textverarbeitungssysteme verfügbar wurden, wäre -- außer mit {\TeX} -- einzeiliger Satz die einzige Alternative gewesen. Dabei wäre dann selbst das Anbringen von Korrekturzeichen schwierig geworden. Als die Verwendung von Computern für die Erstellung schriftlicher Arbeiten üblicher wurde, hat sich manches Mal auch der Spieltrieb des einen oder anderen Studenten gezeigt, der durch Verwendung einer Schmuckschrift seine Arbeit aufpeppen und so eine bessere Note mit weniger Einsatz herausschinden wollte. Nicht bedacht hat er dabei, dass solche Schriften schlechter zu lesen und deshalb für den Zweck ungeeignet sind. Damit hielten zwei Brotschriften Einzug in die Vorschriften, die weder zusammenpassen noch im Falle von Times wirklich gut geeignet sind. Times ist eine relativ enge Schrift, die Anfang des 20.~Jahrhunderts speziell für schmale Spalten im englischen Zeitungssatz entworfen wurde. In modernen Schnitten ist dies etwas entschärft. Dennoch passt die häufig vorgeschriebene Times meist nicht zu den gleichzeitig gegebenen Randvorgaben. {\LaTeX} setzt bereits von sich aus mit ausreichendem Durchschuss. Gleichzeitig sind die Ränder bei sinnvollen Zeilenlängen groß genug, um Platz für Korrekturen zu bieten. Dabei wirkt die Seite trotz einer Fülle von Text großzügig angelegt. % Bedarfsteil um den Seitenumbruch zu verbessern: % Bei Verwendung von % \Package{typearea} wird dies eher noch verstärkt. Dies gilt % insbesondere dann, wenn die Berechnung der Zeilenlänge ebenfalls % \Package{typearea} überlassen oder nur geringfügig davon abgewichen % wird. Für Schriftarten, die empfindlich auf lange Zeilen reagieren, % kann der Textkörper außerdem sehr leicht schmaler gewählt werden. Oft sind die typografisch mehr als fragwürdigen Satzvorschriften mit {\LaTeX} auch außerodentlich schwierig umzusetzen. So kann eine feste Anzahl von "`Anschlägen"' nur dann eingehalten werden, wenn keine proportionale Schrift verwendet wird. Es gibt nur wenig gute nichtproportionale Schriften. Kaum ein Text, der mit einer derartigen Schrift gesetzt ist, wirkt wirklich gut. So wird häufig versucht, durch ausladende Serifen beispielsweise beim kleinen "`i"' oder "`l"' die unterschiedliche Breite der Zeichen auszugleichen. Dies kann nicht funktionieren. Im Ergebnis wirkt der Text unruhig und zerrissen. Außerdem verträgt sich eine solche Schrift kaum mit dem im deutschen Sprachraum üblichen und allgemein vorzuziehenden Blocksatz. Gewisse Vorgaben können daher bei Verwendung von {\LaTeX} nur ignoriert oder großzügig ausgelegt werden, etwa indem man "`60~Anschläge pro Zeile"' nicht als feste, sondern als durchschnittliche oder maximale Angabe interpretiert. \par \end{Explain} Wie ausgeführt, sind Satzvorschriften meist dazu gedacht, ein brauchbares Ergebnis zu erhalten, auch wenn der Ausführende selbst nicht weiß, was dabei zu beachten ist. Brauchbar bedeutet häufig: lesbar und korrigierbar. Nach meiner Auf"|fassung wird ein mit {\LaTeX} und dem \Package{typearea}-Paket gesetzter Text bezüglich des Satzspiegels diesen Anforderungen von vornherein gerecht. Wenn Sie also mit Vorschriften konfrontiert sind, die offensichtlich erheblich davon abweichen, so empfehle ich, dem Betreuer einen Textauszug vorzulegen und nachzufragen, ob es gestattet ist, die Arbeit trotz der Abweichungen in dieser Form zu liefern. Gegebenenfalls kann durch Veränderung der Option \Option{DIV} der Satzspiegel moderat angepasst werden. Von der Verwendung von \Macro{areaset} zu diesem Zweck rate ich jedoch ab. Schlimmstenfalls verwenden Sie das nicht zu {\KOMAScript} gehörende \Package{geometry}-Paket (siehe \cite{package:geometry}) oder verändern Sie die Satzspiegelparameter von {\LaTeX} selbst. Die von \Package{typearea} ermittelten Werte finden Sie in der \File{log}-Datei Ihres Dokuments. Damit sollten moderate Anpassungen möglich sein. Achten Sie jedoch unbedingt darauf, dass die Proportionen des Textbereichs mit denen der Seite unter Berücksichtigung der Bindekorrektur annähernd übereinstimmen. Sollte es unbedingt erforderlich sein, den Text eineinhalbzeilig zu setzen, so definieren Sie keinesfalls \Macro{baselinestretch} um. Dieses Vorgehen wird zwar allzu häufig empfohlen, ist aber seit der Einführung von {\LaTeXe} im Jahre 1994 obsolet. Verwenden Sie schlimmstenfalls den Befehl \Macro{linespread}. Ich empfehle das Paket \Package{setspace},\IndexPackage{setspace} das nicht zu {\KOMAScript} gehört (siehe \cite{package:setspace}). Auch sollten Sie \Package{typearea} nach der Umstellung des Zeilenabstandes den Satzspiegel für diesen Abstand berechnen lassen jedoch für den Titel, besser auch für die Verzeichnisse -- sowie das Literaturverzeichnis und den Index -- wieder auf normalen Satz umschalten. Das \Package{setspace}-Paket bietet dafür eine spezielle Umgebung und eigene Befehle. Das \Package{typearea}-Paket berechnet auch bei der Option \Option{DIVcalc} einen sehr großzügigen Textbereich. Viele konservative Typografen werden feststellen, dass die resultierende Zeilenlänge noch zu groß ist. Der berechnete \Var{DIV}-Wert ist ebenfalls in der \File{log}-Datei zum jeweiligen Dokument zu finden. Sie können also leicht nach dem ersten \LaTeX-Lauf einen kleineren Wert wählen. Nicht selten wird mir die Frage gestellt, warum ich eigentlich kapitelweise auf einer Satzspiegelberechnung herumreite, während es sehr viel einfacher wäre, nur ein Paket zur Verfügung zu stellen, mit dem man die Ränder wie bei einer Textverarbeitung einstellen kann. Oft wird auch behauptet, ein solches Paket wäre ohnehin die bessere Lösung, da jeder selbst wisse, wie gute Ränder zu wählen seien, und die Ränder von {\KOMAScript} wären ohnehin nicht gut. Ich erlaube mir zum Abschluss dieses Kapitels ein passendes Zitat aus \cite{TYPO:ErsteHilfe}: \begin{quote} \textsl{Das Selbermachen ist längst üblich, die Ergebnisse oft fragwürdig, weil Laien-Typografen nicht sehen, was nicht stimmt und nicht wissen können, worauf es ankommt. So gewöhnt man sich an falsche und schlechte Typografie.} [\dots] \textsl{Jetzt könnte der Einwand kommen, Typografie sei doch Geschmacksache. Wenn es um Dekoration ginge, könnte man das Argument vielleicht gelten lassen, da es aber bei Typografie in erster Linie um Information geht, können Fehler nicht nur stören, sondern sogar Schaden anrichten.} \end{quote} \section{Autoren} \label{sec:typearea.authors} Die folgenden Autoren waren an diesem Kapitel beteiligt oder haben die Vorlage dafür geliefert. \begin{itemize} \item Frank Neukam \item \textbf{Markus Kohm} \TextEMail{Markus.Kohm@gmx.de} \item Axel Sommerfeldt \end{itemize} %%% Local Variables: %%% mode: latex %%% TeX-master: "scrguide2" %%% End: