% ====================================================================== % typearea-de.tex % Copyright (c) Markus Kohm, 2001-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % % This work may be distributed and/or modified under the conditions of % the LaTeX Project Public License, version 1.3c of the license. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later and of this work. % % This work has the LPPL maintenance status "author-maintained". % % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in MANIFEST.md. % ====================================================================== % % Chapter about typearea of the KOMA-Script guide % Maintained by Markus Kohm % % ====================================================================== \KOMAProvidesFile{typearea-de.tex} [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $ KOMA-Script guide (chapter: typearea)] \chapter{Satzspiegelberechnung mit \Package{typearea.sty}} \labelbase{typearea} \BeginIndexGroup% \BeginIndex{Package}{typearea}% Viele \LaTeX-Klassen\iffree{, darunter auch die Standardklassen,}{} bieten dem Anwender eine weitgehend feste Auf"|teilung von Rändern und Textbereich. Bei den Standardklassen ist die konkrete Auf"|teilung in engen Grenzen von der gewählten Schriftgröße abhängig. Darüber hinaus gibt es Pakete wie \Package{geometry}\IndexPackage{geometry} (siehe \cite{package:geometry}), die dem Anwender die volle Kontrolle, aber auch die Verantwortung für die Einstellungen des Textbereichs und der Ränder überlassen. \KOMAScript{} geht mit dem Paket \Package{typearea} einen etwas anderen Weg. Hier werden basierend auf einer in der Typografie etablierten Konstruktion Einstellmöglichkeiten und Automatismen geboten, die es dem Anwender erleichtern, eine gute Wahl zu treffen. \iffalse% Umbruchoptimierung!!! Es wird darauf hingewiesen, dass sich \Package{typearea} des Pakets \Package{scrbase} bedient. Letzteres Paket ist im Expertenteil \iffree{dieser Anleitung}{dieses Buches} in \autoref{cha:scrbase} ab \autopageref{cha:scrbase} erklärt. Die Mehrzahl der dort dokumentierten Anweisungen richtet sich jedoch nicht an Anwender, sondern an Klassen- und Paketautoren.% \fi \section{Grundlagen der Satzspiegelkonstruktion} \seclabel{basics} \begin{Explain} Betrachtet man eine einzelne Seite eines Buches oder eines anderen Druckwerkes, so besteht diese auf den ersten Blick aus den Rändern% \iffalse% Umbruchkorrekturtext \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.}% \fi% , 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. Der Textkörper heißt in der Fachsprache der Typografen und Setzer \emph{Satzspiegel}. Die Auf"|teilung dieser Bereiche sowie ihre Anordnung zueinander und auf dem Papier nennen wir \emph{Satzspiegeldefinition} oder \emph{Satzspiegelkonstruktion}.\Index[indexmain]{Satzspiegel} In der Literatur werden verschiedene Algorithmen und heuristische Verfahren zur Konstruktion eines guten Satzspiegels vorgeschlagen und diskutiert% \iffree{ \cite{DANTE:TK0402:MJK}}{. Einen Überblick über einige Möglichkeiten und der dabei angenommenen Grundsätze gibt \autoref{cha:typeareaconstruction}}% . Häufig findet man ein Verfahren, das mit verschiedenen Diagonalen und deren Schnittpunkten arbeitet. Das gewünschte Ergebnis ist, dass das Seitenverhältnis des Satzspiegels dem Seitenverhältnis \emph{der Seite} entspricht. Bei einem einseitigen\Index{einseitig} Dokument sollen außerdem der linke und der 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 gesamte innere Rand genauso groß sein sollte wie jeder der beiden äußeren Ränder. Eine einzelne Seite steuert dabei jeweils nur die Hälfte des inneren Randes bei. Im vorherigen Absatz 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]{Seiten>Format} \Index[indexmain]{Papier>Format} 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}% \textnote{Bindekorrektur} Die Bindekorrektur ist also rechnerischer Bestandteil des \emph{Bundstegs}\Index{Bundsteg}, nicht jedoch des sichtbaren inneren Randes. 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. Wir wissen aber noch nicht, wie breit und hoch der Satzspiegel 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: % Umbruchoptiomierung!!! \iffree{% \begin{align*} \Var{Satzspiegelhöhe}\Index{Satzspiegel} : \Var{Satzspiegelbreite} &= \Var{Seitenhöhe}\Index{Seite} : \Var{Seitenbreite} \\ \Var{oberer~Rand}\Index{Rand} : \Var{unterer~Rand} &= \text{1} : \text{2} \\ \Var{linker~Rand} : \Var{rechter~Rand} &= \text{1} : \text{1} \\ % \Var{innerer~Randanteil} : \Var{äußerer~Rand} &= \text{1} : \text{2} \\ % \Var{Seitenbreite} &= \Var{Papierbreite}\Index{Papier} - \Var{Bindekorrektur}\Index{Bindekorrektur}\\ % \Var{oberer~Rand} + \Var{unterer~Rand} &= \Var{Seitenhöhe} - \Var{Satzspiegelhöhe} \\ % \Var{linker~Rand} + \Var{rechter Rand} &= \Var{Seitenbreite} - \Var{Satzspiegelbreite} \\ % \Var{innerer Randanteil} + \Var{äußerer Rand} &= \Var{Seitenbreite} - \Var{Satzspiegelbreite} \\ % \Var{innerer~Randanteil} + \Var{Bindekorrektur} &= \Var{Bundsteg}\index{Bundsteg} \end{align*} }{% % Umbruchkorrektur: Abstände verändert! \begin{prepareformargin} \vskip -.5\baselineskip plus .25\baselineskip \begin{align*} \Var{Satzspiegelhöhe}\Index{Satzspiegel} : \Var{Satzspiegelbreite} &= \Var{Seitenhöhe}\Index{Seite} : \Var{Seitenbreite} \\[-2pt] \Var{oberer~Rand}\Index{Rand} : \Var{unterer~Rand} &= \text{1} : \text{2} \\[-2pt] \Var{linker~Rand} : \Var{rechter~Rand} &= \text{1} : \text{1} \\[-2pt] \Var{innerer~Randanteil} : \Var{äußerer~Rand} &= \text{1} : \text{2}\\[-2pt] \Var{Seitenbreite} &= \Var{Papierbreite}\Index{Papier} - \Var{Bindekorrektur}\Index{Bindekorrektur} \\[-2pt] \Var{oberer~Rand} + \Var{unterer~Rand} &= \Var{Seitenhöhe} - \Var{Satzspiegelhöhe} \\[-2pt] % \Var{linker~Rand} + \Var{rechter Rand} &= \Var{Seitenbreite} - \Var{Satzspiegelbreite} \\[-2pt] % \Var{innerer Randanteil} + \Var{äußerer Rand} &= \Var{Seitenbreite} - \Var{Satzspiegelbreite} \\ % % \end{align*} % \end{prepareformargin}\pagebreak % \begin{prepareformargin}\vskip-\abovedisplayskip % \begin{align*} \Var{innerer~Randanteil} + \Var{Bindekorrektur} &= \Var{Bundsteg}\index{Bundsteg} \end{align*} \end{prepareformargin} \vskip .5\baselineskip minus .25\baselineskip }% \Index[indexmain]{Rand}% Dabei gibt es \Var{linker~Rand} und \Var{rechter~Rand} nur im einseitigen Druck. Entsprechend gibt es \Var{innerer~Randanteil} und \Var{äußerer~Rand} nur im doppelseitigen Druck. In den Gleichungen wird mit \Var{innerer~Randanteil} gearbeitet, weil der komplette innere Rand ein Element der vollständigen Doppelseite ist. Zu einer Seite gehört also nur die Hälfte des inneren Randes: \Var{innerer~Randanteil}. Die Frage nach der Breite des Satzspiegels wird in der Literatur ebenfalls diskutiert. Die optimale Satzspiegelbreite ist von verschiedenen Faktoren abhängig: \iffree{\begin{itemize}}{\begin{itemize}[% Umbuchkorrektur topsep=.5\baselineskip plus .25\baselineskip minus .33\baselineskip, partopsep=.5\baselineskip plus .25\baselineskip minus .33\baselineskip, itemsep=.33\baselineskip plus .25\baselineskip minus .25\baselineskip, parsep=0pt ]} \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 genau genommen länger sein als bei einer Schrift ohne Serifen. Unter dem Durchschuss\Index[indexmain]{Durchschuss}\textnote{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 dürfen 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 Wörter 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 darstellt. Ein gut gewählter Durchschuss wird dabei vorausgesetzt. Bei den Voreinstellungen von \LaTeX{} braucht man sich über Letzteres normalerweise keine Sorgen zu machen. Größere Zeilenlängen darf man nur Gewohnheitslesern zumuten, die täglich viele Stunden lesend zubringen. Aber auch dann sind Zeilenlängen jenseits von 80 Zeichen unzumutbar. In jedem Fall ist dann der Durchschuss anzupassen. 5\,\% bis 10\,\% zusätzlich sind dabei als Faustregel empfehlenswert. Bei Schriften wie Palatino, die bereits bei einer normalen Zeilenlänge nach 5\,\% mehr Durchschuss verlangt, können es auch mehr sein. 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 Grundlinie der Zeile mit einem definierten Mindestabstand zum oberen Rand des Textbereichs. Des Weiteren verfügt \LaTeX{} über die beiden Befehle \DescRef{maincls.cmd.raggedbottom}\IndexCmd{raggedbottom} und \DescRef{maincls.cmd.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 -- bei Zusammentreffen des Seitenendes mit Überschriften, Abbildungen, Tabellen oder Ähnlichem auch mehr. Im doppelseitigen Druck ist das in der Regel unerwünscht. Mit dem zweiten Befehl, \DescRef{maincls.cmd.flushbottom}, wird hingegen festgelegt, dass die letzte Zeile immer am unteren Rand des Textbereichs zu liegen kommt. Um diesen vertikalen Ausgleich zu erreichen, muss \LaTeX{} gegebenenfalls dehnbare vertikale Abstände über das erlaubte Maß hinaus strecken. Ein solcher Abstand ist beispielsweise der Absatzabstand. Dies gilt in der Regel auch, wenn man gar keinen Absatzabstand verwendet. 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 Abstandes der ersten Zeile vom oberen Rand des Textbereichs sein. \iffalse% Umbruchkorrektur Damit sind alle Grundlagen der Satzspiegelberechnung, die bei {\KOMAScript} eine Rolle spielen, erklärt. \else Soweit die Grundlagen. \fi \iffalse% Umbruchkorrektur Es folgen die beiden von \KOMAScript{} angebotenen Konstruktionen. \else \iffalse% Umbruchkorrektur Wir können also mit den konkreten Konstruktionen beginnen. \else In den folgenden beiden Abschnitten werden die von {\KOMAScript} angebotenen Konstruktionen im Detail vorgestellt. \fi \fi \end{Explain} \section{Satzspiegelkonstruktion durch Teilung} \seclabel{divConstruction} \begin{Explain} Der einfachste Weg, um zu erreichen, dass der Textbereich dasselbe Seitenverhältnis aufweist wie die Seite, ist folgender:% \begin{itemize} \item Zunächst zieht man an der Innenseite des Papiers den Teil \Var{BCOR}\important{\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. \item Dann teilt man die Seite horizontal in die gleiche Anzahl \Var{DIV}\important{\Var{DIV}} gleich breiter Streifen. \item 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. \item Zum inneren Rand gibt man dann noch \Var{BCOR} hinzu. \end{itemize} Was nun innerhalb der Seite noch übrig bleibt, ist der Textbereich.\Index{Text>Bereich} 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. Damit der Satzspiegel horizontal und vertikal jeweils mindestens doppelt so viel Platz wie die Ränder einnimmt, sollte \Var{DIV} sogar mindestens 9 betragen. Mit diesem Wert ist die Konstruktion auch als \emph{klassische Neunerteilung} bekannt (siehe \autoref{fig:typearea.nineparts}). \begin{figure} % \centering \KOMAoption{captions}{bottombeside}% \setcapindent{0pt}% \setlength{\columnsep}{.6em}% \begin{captionbeside}[{% Doppelseite mit der Rasterkonstruktion für die klassische Neunerteilung nach Abzug einer Bindekorrektur% }]{% \label{fig:typearea.nineparts}% \hspace{0pt plus 1ex}% Doppelseite mit der Rasterkonstruktion für die klassische Neunerteilung nach Abzug einer Bindekorrektur% } [l] \setlength{\unitlength}{.25mm}% \definecolor{komalight}{gray}{.75}% \definecolor{komamed}{gray}{.6}% \definecolor{komadark}{gray}{.3}% \begin{picture}(420,297) % BCOR \put(198,0){\color{komalight}\rule{24\unitlength}{297\unitlength}} \multiput(198,2)(0,20){15}{\thinlines\line(0,1){10}} \multiput(222,2)(0,20){15}{\thinlines\line(0,1){10}} % Das Papier \put(0,0){\thicklines\framebox(420,297){}} % \put(210,0){\thicklines\framebox(210,297){}} % Der Satzspiegel \put(44,66){\color{komamed}\rule{132\unitlength}{198\unitlength}} \put(244,66){\color{komamed}\rule{132\unitlength}{198\unitlength}} % Hilfslinien \multiput(0,33)(0,33){8}{\thinlines\line(1,0){198}} \multiput(222,33)(0,33){8}{\thinlines\line(1,0){198}} \multiput(22,0)(22,0){8}{\thinlines\line(0,1){297}} \multiput(244,0)(22,0){8}{\thinlines\line(0,1){297}} % Beschriftung \put(198,0){\color{white}\makebox(24,297)[c]{% \rotatebox[origin=c]{-90}{Bindekorrektur}}} \put(44,66){\color{white}\makebox(132,198)[c]{Satzspiegel links}} \put(244,66){\color{white}\makebox(132,198)[c]{Satzspiegel rechts}} % Kästchennummern \makeatletter \multiput(1,27)(0,33){9}{\footnotesize\makebox(0,0)[l]{\the\@multicnt}} \multiput(177,291)(-22,0){9}{% \footnotesize\makebox(0,0)[l]{\the\@multicnt}} \multiput(419,27)(0,33){9}{% \footnotesize\makebox(0,0)[r]{\the\@multicnt}} \multiput(243,291)(22,0){8}{% \footnotesize\makebox(0,0)[r]{\the\numexpr\@multicnt+1\relax}} \makeatother \end{picture} \end{captionbeside} % \caption{Doppelseite mit der Rasterkonstruktion für die klassische % Neunerteilung nach Abzug einer Bindekorrektur} % \label{fig:typearea.nineparts} \end{figure} Bei {\KOMAScript} ist diese Art der Konstruktion im Paket \Package{typearea} realisiert, wobei der untere Rand weniger als eine Textzeile kleiner ausfallen kann, um die im vorherigen Abschnitt erwähnte Nebenbedingung für die Satzspiegelhöhe einzuhalten und damit die dort erwähnte Problematik in Bezug auf \DescRef{maincls.cmd.flushbottom} zu mindern. Dabei sind für A4-Papier je nach Schriftgröße unterschiedliche Werte für \Var{DIV} voreingestellt, die \autoref{tab:typearea.div}, \autopageref{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}, \autopageref{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.typearea} ab \autopageref{sec:typearea.typearea}). Zusätzlich existiert ein Befehl, mit dem man einen Satzspiegel explizit berechnen kann und dem man die beiden Werte als Parameter übergibt (\iftrue% Umbruchoptimierung!!!! siehe ebenfalls \autoref{sec:typearea.typearea}, \fi\DescPageRef{typearea.cmd.typearea}). Das \Package{typearea}-Paket bietet außerdem die Möglichkeit, den optimalen \Var{DIV}-Wert automatisch zu bestimmen. Dieser ist von der Schrift und dem Durchschuss abhängig, der zum Zeitpunkt der Satzspiegelberechnung eingestellt ist% \iffalse% Umbruchoptimierung!!!! . Siehe hierzu ebenfalls \autoref{sec:typearea.typearea}, % \else\ (siehe ebenfalls \autoref{sec:typearea.typearea}, % \fi% \DescPageRef{typearea.option.DIV.calc}\iffalse\else)\fi.% \end{Explain}% \section{Satzspiegelkonstruktion durch Kreisschlagen} \seclabel{circleConstruction} \begin{Explain} Neben der zuvor beschriebenen Satzspiegelkonstruktion\Index{Satzspiegel} gibt es in der Literatur noch eine eher klassische oder sogar mittelalterliche 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 unbedingt die zum Textbereich passende Schrift wählen. % \iffalse % Umbruchkorrekturtext Dies ist als zwingend zu betrachten. \fi Im \Package{typearea}-Paket wird diese Konstruktion dahingehend abgewandelt, dass durch Auswahl eines ausgezeichneten -- normalerweise unsinnigen -- \Var{DIV}-Wertes oder einer speziellen, symbolischen Angabe derjenige \Var{DIV}-Wert ermittelt wird, bei dem der resultierende Satzspiegel dem spätmittelalterlichen Buchseitenkanon am nächsten kommt. Es wird also wiederum auf die Satzspiegelkonstruktion durch Teilung zurückgegriffen. % \iffalse % Umbruchkorrekturtext Bei Wahl einer guten Schrift stimmt dieses Ergebnis nicht selten mit der Suche nach dem optimalen \Var{DIV}-Wert überein. Siehe hierzu ebenfalls \autoref{sec:typearea.typearea}, \DescPageRef{typearea.option.DIV.calc}. % \fi \end{Explain} \LoadCommonFile{options} % \section{Frühe oder späte Optionenwahl} \LoadCommonFile{compatibility} % \section{Kompatibilität zu früheren Versionen von \KOMAScript} \section{Einstellung des Satzspiegels und der \texorpdfstring{Seitenauf"|teilung}{Seitenaufteilung}} \seclabel{typearea} Das Paket \Package{typearea} bietet zwei unterschiedliche Benutzerschnittstellen, um auf die Satzspiegelkonstruktion Einfluss zu nehmen. Die wichtigste Möglichkeit ist die Angabe von Optionen. Wie in \autoref{sec:\LabelBase.options} erwähnt, können die Optionen dabei auf unterschiedlichen Wegen gesetzt werden. In\textnote{Hinweis!} diesem Abschnitt wird die Klasse \Class{protokol} verwendet werden. Es handelt sich dabei nicht um eine \KOMAScript-Klasse, sondern um eine hypothetische Klasse. Diese\iffree{ Anleitung}{s Buch} geht von dem Idealfall aus, dass für jede Aufgabe eine dafür passende Klasse zur Verfügung steht. \begin{Declaration} \OptionVName{BCOR}{Korrektur} \end{Declaration}% Mit Hilfe der Option \OptionVName{BCOR}{Korrektur}\ChangedAt{v3.00}{\Package{typearea}} geben Sie den absoluten Wert der Bindekorrektur\Index{Bindekorrektur}\textnote{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{lstcode} \documentclass[a4paper]{report} \usepackage[BCOR=8.25mm]{typearea} \end{lstcode} mit \OptionValue{BCOR}{8.25mm} als Option für \Package{typearea} oder \begin{lstcode} \documentclass[a4paper,BCOR=8.25mm]{report} \usepackage{typearea} \end{lstcode} zur Angabe von \OptionValue{BCOR}{8.25mm} als globale Option. Bei Verwendung einer \KOMAScript-Klasse sollte das explizite Laden von \Package{typearea} entfallen: \begin{lstcode} \documentclass[BCOR=8.25mm]{scrreprt} \end{lstcode} Die Option \Option{a4paper} konnte bei \Class{scrreprt} entfallen, da diese der Voreinstellung bei allen \KOMAScript-Klassen entspricht. Setzt man die Option erst später auf einen neuen Wert, verwendet man also beispielsweise \begin{lstcode} \documentclass{scrreprt} \KOMAoptions{BCOR=8.25mm} \end{lstcode} so werden bereits beim Laden der Klasse \Class{scrreprt} Standardeinstellungen vorgenommen. Beim Ändern der Einstellung mit Hilfe einer der Anweisung \DescRef{\LabelBase.cmd.KOMAoptions} oder \DescRef{\LabelBase.cmd.KOMAoption} wird dann automatisch ein neuer Satzspiegel mit neuen Randeinstellungen berechnet. \end{Example} Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Option bei Verwendung einer der \KOMAScript-Klassen wie im Beispiel als Klassenoption oder per \DescRef{\LabelBase.cmd.KOMAoptions} beziehungsweise \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden der Klasse übergeben werden muss. Weder sollte das Paket \Package{typearea} bei Verwendung einer \KOMAScript-Klasse explizit per \DescRef{\LabelBase.cmd.usepackage} geladen, noch die Option dabei als optionales Argument angegeben werden. Wird\textnote{automatische Neuberechnung} die Option per \DescRef{\LabelBase.cmd.KOMAoptions} oder \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden des Pakets geändert, so werden Satzspiegel und Ränder automatisch neu berechnet.% % \EndIndexGroup \begin{Declaration} \OptionVName{DIV}{Faktor} \end{Declaration}% Mit Hilfe der Option \OptionVName{DIV}{Faktor}\ChangedAt{v3.00}{\Package{typearea}} wird festgelegt, in wie viele 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 \OptionVName{DIV}{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 \Option{DIV}-Faktoren resultierenden, theoretischen Satzspiegelgrößen. Dabei werden die weiteren von der Schriftgröße abhängigen Nebenbedingungen nicht berücksichtigt. \begin{table} % \centering \KOMAoptions{captions=topbeside}% \setcapindent{0pt}% \begin{captionbeside} % \caption [{Satzspiegelma"se in Abh"angigkeit von \Option{DIV} bei A4}] {\label{tab:typearea.typearea}Satzspiegelma"se in Abh"angigkeit von \Option{DIV} bei A4 ohne Berücksichtigung von \Length{topskip} oder \Option{BCOR}} [l] \begin{tabular}[t]{ccccc} \toprule & \multicolumn{2}{c}{Satzspiegel} & \multicolumn{2}{c}{R"ander}\\ %\raisebox{1.5ex}[0pt]{ \Option{DIV} %} & Breite & H"ohe & oben & innen \\ \midrule 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 \\ \bottomrule \multicolumn{5}{r}{\small (alle Längen in mm)} \end{tabular} \end{captionbeside} \end{table} \begin{Example} Angenommen, Sie schreiben ein Sitzungsprotokoll. Sie verwenden dafür die Klasse \Class{protokol}. Das Ganze soll doppelseitig werden. In Ihrer Firma wird die Schriftart Bookman in 12\Unit{pt} verwendet. Diese Schriftart% \iffalse % Umbruchkorrekturtext , die zu den Standard-PostScript-Schriften gehört,% \fi\ wird in {\LaTeX} mit der Anweisung \verb|\usepackage{bookman}| aktiviert % \iffalse % Umbruchkorrekturtext . Die Schriftart Bookman % \else und % \fi 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 \Option{DIV}-Wert in \Package{typearea} zu gering. Statt eines Werts von 12 sind Sie nach gründlichem Studium dieses Kapitels einschließlich der weiterführenden Abschnitte überzeugt, dass der 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{lstcode} \documentclass[a4paper,twoside]{protokol} \usepackage{bookman} \usepackage[DIV=15]{typearea} \end{lstcode} 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% \iffalse% Umbruchkorrektur , weil den Band ohnehin nie wieder jemand anschaut und er nur wegen ISO\,9000 angefertigt wird. Für die Bindung einschließlich Biegefalz werden % \else% . Einschließlich Biegefalz werden dafür % \fi 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{lstcode} \documentclass[a4paper,twoside]{iso9000p} \usepackage{bookman} \usepackage[DIV=15,BCOR=12mm]{typearea} \end{lstcode} Natürlich können Sie auch hier wieder eine \KOMAScript-Klasse verwenden: \begin{lstcode} \documentclass[twoside,DIV=15,BCOR=12mm]{scrartcl} \usepackage{bookman} \end{lstcode} \iftrue% Umbruchoptimierung!!!! \iftrue Die voreingestellte Option \Option{a4paper} konnte dabei entfallen. \else Option \Option{a4paper} entspricht der Voreinstellung und konnte daher entfallen. \fi \else Die Option \Option{a4paper} konnte bei der Klasse \Class{scrartcl} entfallen, da diese der Voreinstellung bei allen \KOMAScript-Klassen entspricht. \fi \end{Example} Bitte beachten Sie unbedingt\textnote{Achtung!}, dass die Option \Option{DIV} bei Verwendung einer der \KOMAScript-Klassen wie im Beispiel als Klassenoption oder per \DescRef{\LabelBase.cmd.KOMAoptions} beziehungsweise \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden der Klasse übergeben werden muss. Weder sollte das Paket \Package{typearea} bei Verwendung einer \KOMAScript-Klasse explizit per \DescRef{\LabelBase.cmd.usepackage} geladen, noch die Option dabei als optionales Argument angegeben werden. Wird\textnote{automatische Neuberechnung} die Option per \DescRef{\LabelBase.cmd.KOMAoptions} oder \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden des Pakets geändert, so werden Satzspiegel und Ränder automatisch neu berechnet. \begin{Declaration} \OptionValue{DIV}{calc} \OptionValue{DIV}{classic} \end{Declaration} Wie\ChangedAt{v3.00}{\Package{typearea}} bereits in \autoref{sec:typearea.divConstruction} erwähnt, gibt es nur für das Papierformat A4 feste Voreinstellungen für den \Option{DIV}-Wert. Diese sind \autoref{tab:typearea.div} zu entnehmen. Solche festen Werte haben allerdings den Nachteil\textnote{Achtung!}, dass sie die Laufweite der verwendeten Schrift nicht berücksichtigen. Das kann bei A4 und recht schmalen Schriften sehr rasch zu unangenehm hoher Zeichenzahl je Zeile führen. Siehe hierzu die Überlegungen in \autoref{sec:typearea.basics}. Wird ein anderes Papierformat gewählt, so berechnet \Package{typearea} selbst einen guten \Option{DIV}-Wert. Natürlich können Sie diese Berechnung auch für A4 wählen. Hierzu verwenden Sie \OptionValue{DIV}{calc}\important{\OptionValue{DIV}{calc}} anstelle von \OptionVNameRef{\LabelBase}{DIV}{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-experts.cfg}). Eine explizit angegebene Option \OptionValue{DIV}{calc} überschreibt diese Vorkonfiguration aber. \begin{table} % \centering \KOMAoptions{captions=topbeside}% \setcapindent{0pt}% \begin{captionbeside} %\caption [{\Option{DIV}-Voreinstellungen f"ur A4}] {\label{tab:typearea.div}\Option{DIV}-Voreinstellungen f"ur A4} [l] \begin{tabular}[t]{lccc} \toprule Grundschriftgr"o"se: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\ \Option{DIV}: & 8 & 10 & 12 \\ \bottomrule \end{tabular} \end{captionbeside} \end{table} Die in \autoref{sec:typearea.circleConstruction} erwähnte klassische Konstruktion, der mittelalterliche Buchseitenkanon, ist ebenfalls auswählbar. Verwenden Sie in diesem Fall anstelle von \OptionVNameRef{\LabelBase}{DIV}{Faktor} oder \OptionValue{DIV}{calc} einfach \OptionValue{DIV}{classic}\important{\OptionValue{DIV}{classic}}. Es wird dann ein \Option{DIV}-Wert ermittelt, der eine möglichst gute Näherung an den mittelalterlichen Buchseitenkanon darstellt. \begin{Example} In dem bei der Option \OptionVNameRef{\LabelBase}{DIV}{Faktor} aufgeführten Beispiel mit der Schriftart Bookman gab es ja genau das Problem, dass man einen zur Schriftart besser passenden \Option{DIV}-Wert haben wollte. Man könnte also in Abwandlung des ersten Beispiels auch einfach die Ermittlung dieses Wertes \Package{typearea} überlassen: \begin{lstcode} \documentclass[a4paper,twoside]{protokol} \usepackage{bookman} \usepackage[DIV=calc]{typearea} \end{lstcode} \end{Example} \iffree{\par% Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Option bei Verwendung einer der \KOMAScript-Klassen % \iftrue wie im Beispiel \fi% als Klassenoption oder per \DescRef{\LabelBase.cmd.KOMAoptions} beziehungsweise \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden der Klasse übergeben werden muss. Weder sollte das Paket \Package{typearea} bei Verwendung einer \KOMAScript-Klasse explizit per \DescRef{\LabelBase.cmd.usepackage} geladen, noch die Option dabei als optionales Argument angegeben werden. Wird die Option per \DescRef{\LabelBase.cmd.KOMAoptions} oder \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden des Pakets geändert, so werden Satzspiegel und Ränder automatisch neu berechnet.% }{% \vskip-1\ht\strutbox plus .75\ht\strutbox% Wegen Code im Beispiel am Ende }% % \EndIndexGroup \begin{Declaration} \OptionValue{DIV}{current} \OptionValue{DIV}{last} \end{Declaration} Wenn\ChangedAt{v3.00}{\Package{typearea}} Sie bis hier die Beispiele aufmerksam verfolgt haben, wissen Sie eigentlich bereits, wie man die Berechnung eines \Option{DIV}-Wertes in Abhängigkeit von der gewählten Schrift erreicht, wenn eine \KOMAScript-Klasse zusammen mit einem Schriftpaket verwendet wird. \begin{Explain} Das Problem dabei ist, dass die \KOMAScript-Klasse das Paket \Package{typearea} bereits selbst lädt. Die Übergabe der Optionen als optionale Argumente von \DescRef{\LabelBase.cmd.usepackage} ist also nicht möglich. Es würde auch nichts nützen, die Option \OptionValue{DIV}{calc} als optionales Argument von \DescRef{\LabelBase.cmd.documentclass} anzugeben. Diese Option würde direkt beim Laden des Pakets \Package{typearea} ausgewertet. Damit würden Satzspiegel und Ränder für die \LaTeX-Standardschrift und nicht für die später geladene Schrift berechnet. Selbstverständlich ist es möglich, mit \DescRef{\LabelBase.cmd.KOMAoptions}% \PParameter{\OptionValueRef{\LabelBase}{DIV}{calc}} oder \DescRef{\LabelBase.cmd.KOMAoption}% \PParameter{\DescRef{\LabelBase.option.DIV}}\PParameter{calc} nach dem Laden des Schriftpakets Satzspiegel und Ränder neu berechnen zu lassen. Dabei wird dann über den Wert \PValue{calc} direkt ein \Option{DIV}-Wert für eine gute Zeilenlänge eingefordert. Da es aber häufig praktischer ist, die Einstellung für die Option \Option{DIV} nicht erst nach dem Laden der Schrift vorzunehmen, sondern an herausgehobener Stelle, beispielsweise beim Laden der Klasse, bietet \Package{typearea} zwei weitere symbolische Werte für diese Option. \end{Explain} Mit \OptionValue{DIV}{current}\ChangedAt{v3.00}{\Package{typearea}}% \important{\OptionValue{DIV}{current}} wird eine Neuberechnung von Satzspiegel und Rändern angestoßen, wobei genau der \Option{DIV}-Wert verwendet wird, der aktuell eingestellt ist. Dies ist weniger für die Neuberechnung des Satzspiegels nach Wahl einer anderen Grundschrift von Interesse. Vielmehr ist das dann nützlich, wenn man etwa nach Änderung des Durchschusses unter Beibehaltung des Teilers \Var{DIV} die Randbedingung sicherstellen will, dass \Length{textheight} abzüglich \Length{topskip} ein Vielfaches von \Length{baselineskip} sein sollte. Mit \OptionValue{DIV}{last}\ChangedAt{v3.00}{\Package{typearea}}% \important{\OptionValue{DIV}{last}} wird eine Neuberechnung von Satzspiegel und Rändern angestoßen, wobei genau dieselbe Einstellung wie bei der letzten Berechnung verwendet wird. \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 mit dem symbolischen Wert \PValue{last} und der Anweisung \DescRef{\LabelBase.cmd.KOMAoptions} sehr einfach möglich: \begin{lstcode} \documentclass[BCOR=12mm,DIV=calc,twoside] {scrartcl} \usepackage{bookman} \KOMAoptions{DIV=last} \end{lstcode} Wird später entschieden, dass ein anderer \Option{DIV}-Wert verwendet werden soll, so muss nur die Einstellung im optionalen Argument von \DescRef{\LabelBase.cmd.documentclass} geändert werden. \end{Example} Eine Zusammenfassung aller möglichen symbolischen Werte für die Option \Option{DIV} finden Sie in \autoref{tab:symbolicDIV}. Es wird an dieser Stelle darauf hingewiesen, dass auch die Verwendung des Pakets \Package{fontenc}\IndexPackage{fontenc} dazu führen kann, dass \LaTeX{} eine andere Schrift lädt. Falls die letzte Satzspiegelberechnung vor der Verwendung von \OptionValue{DIV}{last} oder \OptionValue{DIV}{current} mit Hilfe von \DescRef{\LabelBase.cmd.areaset}\IndexCmd{areaset} stattgefunden hat, wird übrigens auch die Neuberechnung wieder mit \DescRef{\LabelBase.cmd.areaset} durchgeführt. Sie entspricht dann \DescRef{\LabelBase.cmd.areaset}\POParameter{current}% \PParameter{\Length{textwidth}}\IndexLength{textwidth}% \PParameter{\Length{textheight}}\IndexLength{textheight}. \begin{table} \caption[{% Symbolische Werte für Option \DescRef{typearea.option.DIV} und das \PName{DIV}-Argument von \DescRef{typearea.cmd.typearea}% }]{% Mögliche symbolische Werte für die Option \DescRef{typearea.option.DIV} oder das \PName{DIV}-Argument der Anweisung \DescRef{typearea.cmd.typearea}\OParameter{BCOR}\Parameter{DIV}% } \label{tab:symbolicDIV} \begin{desctabular} \pventry{areaset}{Satzspiegel neu anordnen.\IndexOption{DIV~=\textKValue{areaset}}}% \pventry{calc}{Satzspiegelberechnung einschließlich Ermittlung eines guten \Option{DIV}-Wertes erneut durchführen.\IndexOption{DIV~=\textKValue{calc}}}% \pventry{classic}{Satzspiegelberechnung nach dem mittelalterlichen Buchseitenkanon (Kreisberechnung) erneut durchführen.\IndexOption{DIV~=\textKValue{classic}}}% \pventry{current}{Satzspiegelberechnung mit dem aktuell gültigen \Option{DIV}-Wert erneut durchführen.\IndexOption{DIV~=\textKValue{current}}}% \pventry{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.\IndexOption{DIV~=\textKValue{default}}}% \pventry{last}{Satzspiegelberechnung mit demselben \PName{DIV}-Argument, das beim letzten Aufruf angegeben wurde, erneut durchführen.\IndexOption{DIV~=\textKValue{last}}}% \end{desctabular} \end{table} Häufig\textnote{Achtung!} 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 des 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 \iffalse% Umbruchkorrektur zwingend \fi gefordert. {\LaTeX} setzt normalerweise 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 dieses Problems wie folgt aussehen: \begin{lstcode} \documentclass[10pt,twoside,BCOR=12mm,DIV=calc] {scrreprt} \linespread{1.25} \KOMAoptions{DIV=last} \end{lstcode}\IndexCmd{linespread} Da \Package{typearea} selbst immer die Anweisung \Macro{normalsize} bei Berechnung eines neuen Satzspiegels ausführt, ist es nicht zwingend notwendig, nach \Macro{linespread} den gewählten Durchschuss mit \Macro{selectfont} zu aktivieren, damit dieser % \iftrue % Umbruchkorrektur auch tatsächlich \fi % für die Neuberechnung verwendet wird. Das gleiche Beispiel sähe unter Verwendung des \Package{setspace}-Pakets\IndexPackage{setspace}% \important{\Package{setspace}} (siehe \cite{package:setspace}) wie folgt aus: \begin{lstcode} \documentclass[10pt,twoside,BCOR=12mm,DIV=calc] {scrreprt} \usepackage[onehalfspacing]{setspace} \KOMAoptions{DIV=last} \end{lstcode} \end{Example} Wie\textnote{Tipp!} man an dem Beispiel sieht, spart man sich mit dem \Package{setspace}-Paket das Wissen um den korrekten Dehnungswert. Dies gilt allerdings nur für die Standardschriftgrößen 10\Unit{pt}, 11\Unit{pt} und 12\Unit{pt}. Für alle anderen Schriftgrößen verwendet das Paket % \iffalse % Umbruchkorrektur einen näherungsweise passenden Dehnungswert. % \else % eine Näherung. \fi An\textnote{Achtung!} dieser Stelle erscheint es mir angebracht, darauf hinzuweisen, dass der Zeilenabstand für die Titelseite wieder auf den normalen Wert zurückgesetzt werden sollte und außerdem auch die Verzeichnisse mit dem normalen Zeilenabstand gesetzt werden sollten. \begin{Example} Ein\IndexPackage{setspace} vollständiges Beispiel wäre also: \begin{lstcode} \documentclass[10pt,twoside,BCOR=12mm,DIV=calc] {scrreprt} \usepackage[onehalfspacing]{setspace} \AfterTOCHead{\singlespacing} \KOMAoptions{DIV=last} \begin{document} \title{Titel} \author{Markus Kohm} \begin{spacing}{1} \maketitle \end{spacing} \tableofcontents \chapter{Ok} \end{document} \end{lstcode} Siehe hierzu auch die Anmerkungen in \autoref{sec:typearea.tips}. Die Anweisung \DescRef{tocbasic.cmd.AfterTOCHead}\IndexCmd{AfterTOCHead} wird in \autoref{part:forExperts}, \autoref{cha:tocbasic} auf \DescPageRef{tocbasic.cmd.AfterTOCHead} vorgestellt. \end{Example} Außerdem sei darauf hingewiesen, dass Änderungen am Zeilenabstand auch Auswirkungen auf Kopf und Fuß der Seite haben können. Dies kann sich beispielsweise bei Verwendung von \Package{scrlayer-scrpage} auswirken und man muss dann selbst entscheiden, ob man dort lieber den normalen Durchschuss oder den veränderten haben will. Siehe dazu auch Option \DescRef{scrlayer.option.singlespacing} in \autoref{cha:scrlayer}% \important{\hyperref[cha:scrlayer]{\Package{scrlayer}}}% \IndexPackage{scrlayer}\IndexOption{singlespacing} auf \DescPageRef{scrlayer.option.singlespacing}. Bitte beachten Sie\iffalse % Umbruchkorrektur \ unbedingt\fi\textnote{Achtung!}, dass diese Optionen \iffalse % Umbruchkorrektur auch zur \else bei \fi Verwendung mit \DescRef{\LabelBase.cmd.KOMAoptions} oder \DescRef{\LabelBase.cmd.KOMAoption} \iffalse % Umbruchkorrektur nach dem Laden des Pakets vorgesehen sind und dann \fi eine automatische\textnote{automatische Neuberechnung} Neuberechnung von Satzspiegel und Rändern auslösen.% % \EndIndexGroup \EndIndexGroup \begin{Declaration} \Macro{typearea}\OParameter{BCOR}\Parameter{DIV} \Macro{recalctypearea} \end{Declaration}% \begin{Explain} Wird die Option \DescRef{\LabelBase.option.DIV} oder die Option \DescRef{\LabelBase.option.BCOR} nach dem Laden des Pakets \Package{typearea} gesetzt, so wird intern die Anweisung \Macro{typearea} aufgerufen. Dabei wird beim Setzen der Option \DescRef{\LabelBase.option.DIV} für \PName{BCOR} intern der symbolische Wert \PValue{current} verwendet\iffalse % Umbruchkorrektur , der aus Gründen der Vollständigkeit auch in \autoref{tab:symbolicBCOR} zu finden ist\else\ (siehe \autoref{tab:symbolicBCOR})\fi. Beim Setzen der Option \DescRef{\LabelBase.option.BCOR} wird für \PName{DIV} hingegen der symbolische Wert \PValue{last} verwendet. Wollen Sie, dass Satzspiegel und Ränder stattdessen mit dem symbolischen Wert \PValue{current} für \PName{DIV} neu berechnet werden, so können Sie direkt \Macro{typearea}\OParameter{BCOR}\PParameter{current} verwenden. \end{Explain} \begin{table} \caption[{% Symbolische \PName{BCOR}-Argumente für \DescRef{typearea.cmd.typearea}% }]{% Mögliche symbolische \PName{BCOR}-Argumente für \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}% } \label{tab:symbolicBCOR} \begin{desctabular} \pventry{current}{Satzspiegelberechnung mit dem aktuell gültigen \Option{BCOR}-Wert erneut durchführen.\IndexOption{BCOR~=\textKValue{current}}} \end{desctabular} \end{table} Sollen die Werte sowohl von \PName{BCOR} als auch \PName{DIV} geändert werden, so ist die Verwendung von \Macro{typearea} zu empfehlen, da hierbei die Ränder und der Satzspiegel nur einmal neu berechnet werden. Bei \DescRef{\LabelBase.cmd.KOMAoptions}% \PParameter{\OptionVNameRef{\LabelBase}{DIV}{Faktor},% \OptionVNameRef{\LabelBase}{BCOR}{Korrektur}} werden hingegen Ränder und Satzspiegel zunächst in Folge von Option \DescRef{\LabelBase.option.DIV} und dann zusätzlich durch Option \DescRef{\LabelBase.option.BCOR} neu berechnet. \begin{Explain} Der Befehl \Macro{typearea} ist derzeit so definiert, dass es auch möglich ist, 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. % \iffalse% Stimmt so nicht mehr wirklich. Da am \LaTeX-Kern nur noch zur Beseitigung von Fehlern notwendige % \else % Auch wenn am \LaTeX-Kern inzwischen wieder mehr % \fi % Änderungen vorgenommen werden, ist die Wahrscheinlichkeit hoch, dass dies in zukünftigen Versionen von \LaTeXe{} noch funktionieren wird. Eine Garantie dafür gibt es jedoch nicht. Die Verwendung innerhalb des Dokuments führt außerdem immer zu einem Seitenumbruch. \end{Explain} Da\important{\Macro{recalctypearea}} \DescRef{\LabelBase.cmd.KOMAoption}% \PParameter{\hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}}}% \PParameter{\hyperref[desc:\LabelBase.option.DIV.last]{last}} oder \DescRef{\LabelBase.cmd.KOMAoptions}% \PParameter{\OptionValueRef{\LabelBase}{DIV}{last}} beziehungsweise \Macro{typearea}\POParameter{current}\PParameter{last} für die Neuberechnung des Satzspiegels und der Ränder recht häufig benötigt werden, gibt es dafür die abkürzende Anweisung \Macro{recalctypearea}\ChangedAt{v3.00}{\Package{typearea}}. \iffalse % Umbruchkorrektur \begin{Example} Wenn Ihnen die Schreibweisen \begin{lstcode} \KOMAoptions{DIV=last} \end{lstcode} oder \begin{lstcode} \typearea[current]{last} \end{lstcode} für die Neuberechnung von Satzspiegel und Rändern aufgrund der vielen Sonderzeichen zu umständlich ist, können Sie einfach \begin{lstcode} \recalctypearea \end{lstcode} verwenden. \end{Example}% \vskip -1\ht\strutbox plus .75\ht\strutbox% Ende Beispiel+Ende Erklärung \fi \EndIndexGroup \begin{Declaration} \OptionVName{twoside}{Ein-Aus-Wert} \OptionValue{twoside}{semi} \end{Declaration}% Wie in \autoref{sec:typearea.basics} erklärt, hängt die Randverteilung davon ab, ob ein Dokument ein- oder zweiseitig gesetzt werden soll. Bei einseitigem Satz sind der linke und rechte Rand gleich breit, während bei doppelseitigem Satz der innere Randanteil einer Seite nur halb so groß ist wie der jeweilige äußere Rand. Um diese Unterscheidung vornehmen zu können, muss \Package{typearea} mit Option \Option{twoside} mitgeteilt werden, ob das Dokument doppelseitig gesetzt wird. Als \iffree{\PName{Ein-Aus-Wert}}{\PName{Wert}} kann dabei einer der Standardwerte für einfache Schalter aus \autoref{tab:truefalseswitch} verwendet werden. Wird die Option ohne Wert-Angabe verwendet, so wird der Wert \PValue{true}\important{\OptionValue{twoside}{true}} angenommen, also doppelseitiger Satz verwendet. Deaktivieren der Option\important{\OptionValue{twoside}{false}} führt zu einseitigem Satz. \begin{table} % \centering % \caption \KOMAoptions{captions=topbeside}\setcapindent{0pt} \begin{captionbeside}% [{Standardwerte für einfache Schalter in \KOMAScript}]% {\label{tab:truefalseswitch}Standardwerte für alle einfachen Schalter in \KOMAScript}% [l] \begin{tabular}[t]{ll} \toprule Wert & Bedeutung \\ \midrule \PValue{true} & aktiviert die Option\\ \PValue{on} & aktiviert die Option \\ \PValue{yes} & aktiviert die Option \\ \PValue{false}& deaktiviert die Option \\ \PValue{off} & deaktiviert die Option \\ \PValue{no} & deaktiviert die Option \\ \bottomrule \end{tabular} \end{captionbeside} \end{table} Außer den Werten aus \autoref{tab:truefalseswitch} kann auch noch der Wert \PValue{semi}\ChangedAt{v3.00}{\Package{typearea}}% \important{\OptionValue{twoside}{semi}} angegeben werden. Dieser Wert \PValue{semi} führt zu doppelseitigem Satz mit einseitigen Rändern und einseitigen, also nicht alternierenden Marginalien. Eine\ChangedAt{v3.12}{\Package{typearea}} eventuelle Bindekorrektur (siehe Option \DescRef{\LabelBase.option.BCOR}, \DescPageRef{typearea.option.BCOR}) wird jedoch ab \KOMAScript~Version 3.12 wie beim doppelseitigen Satz auf Seiten mit ungerader Nummer dem linken Rand und auf Seiten mit gerader Nummer dem rechten Rand zugeschlagen. Wird auf Kompatibilität zu einer früheren Version\important{\OptionValueRef{\LabelBase}{version}{3.12}} zurückgeschaltet (siehe \autoref{sec:typearea.compatibilityOptions}, \autopageref{sec:typearea.compatibilityOptions}), so ist die Bindekorrektur dagegen auch bei \OptionValue{twoside}{semi} immer Teil des linken Randes. Die Option kann % \iffalse % Umbruchkorrektur wahlweise \fi % als Klassenoption bei \DescRef{\LabelBase.cmd.documentclass}, als Paketoption bei \DescRef{\LabelBase.cmd.usepackage} oder % \iffalse % Umbruchkorrektur auch \fi % nach dem Laden von \Package{typearea} per \DescRef{\LabelBase.cmd.KOMAoptions} oder \DescRef{\LabelBase.cmd.KOMAoption} gesetzt werden. Eine Verwendung dieser Option nach dem Laden von \Package{typearea} führt\textnote{automatische Neuberechnung} automatisch zur Neuberechnung des Satzspiegels mit \DescRef{\LabelBase.cmd.recalctypearea} (siehe \DescPageRef{typearea.cmd.recalctypearea}). War vor der Option doppelseitiger Satz aktiv, wird noch vor der Neuberechnung auf die nächste ungerade Seite umbrochen.% % \EndIndexGroup \begin{Declaration} \OptionVName{twocolumn}{Ein-Aus-Wert} \end{Declaration}% Für die Berechnung eines guten Satzspiegels mit Hilfe von \OptionValueRef{\LabelBase}{DIV}{calc} ist es erforderlich zu wissen, ob das Dokument ein- oder zweispaltig gesetzt wird. Da die Betrachtungen zur Zeilenlänge aus \autoref{sec:typearea.basics} dann für jede einzelne Spalte gelten, darf der Satzspiegel in doppelspaltigen Dokumenten bis zu doppelt so breit sein wie in einspaltigen Dokumenten. Um diese Unterscheidung vornehmen zu können, muss \Package{typearea} mit Option \Option{twocolumn} mitgeteilt werden, ob das Dokument doppelspaltig gesetzt wird. Als \PName{Ein-Aus-Wert} kann dabei einer der Standardwerte für einfache Schalter aus \autoref{tab:truefalseswitch} verwendet werden. Wird die Option ohne Wert-Angabe verwendet, so wird der Wert \PValue{true}\important{\OptionValue{twocolumn}{true}} angenommen, also doppelspaltiger Satz verwendet. Ein Deaktivieren der Option führt wieder zum voreingestellten einspaltigen Satz. Die Option kann als Klassenoption bei \DescRef{\LabelBase.cmd.documentclass}, als Paketoption bei \DescRef{\LabelBase.cmd.usepackage} oder nach dem Laden von \Package{typearea} per \DescRef{\LabelBase.cmd.KOMAoptions} oder \DescRef{\LabelBase.cmd.KOMAoption} gesetzt werden. Eine Verwendung % \iffalse % Umbruchoptimierung dieser Option \fi% nach dem Laden von \Package{typearea} führt\textnote{automatische Neuberechnung} automatisch zur Neuberechnung des Satzspiegels mittels \DescRef{\LabelBase.cmd.recalctypearea} (siehe \DescPageRef{typearea.cmd.recalctypearea}).% % \EndIndexGroup \begin{Declaration} \OptionVName{headinclude}{Ein-Aus-Wert} \OptionVName{footinclude}{Ein-Aus-Wert} \end{Declaration}% \begin{Explain}% Bisher wurde zwar erklärt, wie die Satzspiegelkonstruktion\Index{Satzspiegel} funktioniert und in welchem Verhältnis einerseits die Ränder\Index{Rand} zueinander stehen, andererseits der Textkörper zur Seite steht, aber eine entscheidende Frage blieb ausgeklammert: Was genau ist \emph{der Rand}? 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. Beim oberen und unteren Rand stellt sich die Frage, wie Kopf- und Fußzeile\Index{Seiten>Kopf}\Index{Seiten>Fuss=Fuß} 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{Paginierung}\textnote{Paginierung} \iffalse % Beseitigung von Fußnoten \unskip\footnote{Unter der Paginierung versteht man die Angabe der Seitenzahl, wahlweise innerhalb oder außerhalb des Satzspiegels, meist im Kopf oder Fuß der Seite.} % \fi 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 Copyright-Hinweis, 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{Kolumnentitel}\textnote{Kolumnentitel} \iffalse% Beseitigung von Fußnoten \unskip\footnote{Unter dem Kolumnentitel versteht man in der Regel die Wiederholung einer Überschrift mit Titelcharakter. Er steht häufig im Seitenkopf, seltener im Seitenfuß.} % \fi 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 aber 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 Kopf oder Fuß durch eine Linie vom eigentlichen Textkörper abgetrennt sind. 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\important{\OptionValue{headinclude}{true} \OptionValue{headinclude}{false} \OptionValue{footinclude}{true} \OptionValue{footinclude}{false}} oder davon getrennt zum Rand gerechnet werden muss, nicht selbst. Stattdessen kann mit den Optionen \Option{headinclude} und \Option{footinclude} eingestellt werden, ob der Kopf und der Fuß zum Textkörper gerechnet werden sollen. Die Optionen verstehen dabei als \PName{Ein-Aus-Wert}\ChangedAt{v3.00}{\Package{typearea}} die Standardwerte für einfache Schalter, die in \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} angegeben sind. Man kann die Optionen auch ohne Wertzuweisung verwenden. In diesem Fall wird \PValue{true} als \PName{Ein-Aus-Wert} verwendet, also der Kopf oder Fuß zum Satzspiegel gerechnet. Wenn Sie unsicher sind, was die richtige Einstellung ist, lesen Sie bitte obige Erläuterungen. Voreingestellt sind normalerweise \OptionValue{headinclude}{false} und \OptionValue{footinclude}{false}. Dies kann sich jedoch bei den \KOMAScript-Klassen je nach Klassenoption oder bei Verwendung anderer \KOMAScript-Pakete generell ändern (siehe \autoref{sec:maincls.options} und \autoref{cha:scrlayer-scrpage}). Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Optionen bei Verwendung einer der \KOMAScript-Klassen als Klassenoptionen oder per \DescRef{\LabelBase.cmd.KOMAoptions} beziehungsweise \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden der Klasse übergeben werden müssen. Eine Änderung dieser Optionen nach dem Laden von \Package{typearea} führt dabei nicht\textnote{keine automatische Neuberechnung} zu einer automatischen Neuberechnung des Satzspiegels. Vielmehr wirkt sich die Änderung erst bei der nächsten Neuberechnung des Satzspiegels aus. Zur Neuberechnung des Satzspiegels siehe Option \hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}} mit den Werten \hyperref[desc:\LabelBase.option.DIV.last]{\PValue{last}} oder \hyperref[desc:\LabelBase.option.DIV.current]{\PValue{current}} (siehe \DescPageRef{typearea.option.DIV.last}) oder die Anweisung \DescRef{\LabelBase.cmd.recalctypearea} (siehe \DescPageRef{typearea.cmd.recalctypearea}).% % \EndIndexGroup \begin{Declaration} \OptionVName{mpinclude}{Ein-Aus-Wert} \end{Declaration} 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 (siehe beispielsweise Befehl \DescRef{maincls.cmd.marginpar} in \cite{l2kurz} oder \autoref{sec:maincls.marginNotes}) zutrifft. Mit der Option \Option{mpinclude} kann genau dies erreicht werden. Die Option versteht dabei als \PName{Ein-Aus-Wert}\ChangedAt{v3.00}{\Package{typearea}} die Standardwerte für einfache Schalter, die in \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} angegeben sind. Man kann die Option auch ohne Wertzuweisung verwenden. In diesem Fall wird \PValue{true} als \PName{Ein-Aus-Wert} verwendet. Der Effekt von \OptionValue{mpinclude}{true}\important{\OptionValue{mpinclude}{true}} ist, dass eine Breiteneinheit vom Textbereich weggenommen und als Bereich für die Randnotizen verwendet wird. Mit \OptionValue{mpinclude}{false}, was 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 \OptionValue{mpinclude}{true} nicht anzuraten und 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, und das wie folgt erreichen: \begin{lstcode} \setlength{\marginparwidth}{1.5\marginparwidth} \end{lstcode} 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: % \iftrue % Umbruchkorrektur Die Anpassung von \Length{textwidth}\IndexLength{textwidth} und \Length{marginparwidth}\IndexLength{marginparwidth} nach der Berechnung des Satzspiegels. Siehe dazu \DescRef{typearea-experts.cmd.AfterCalculatingTypearea} in \autoref{sec:typearea-experts.experts}, \DescPageRef{typearea-experts.cmd.AfterCalculatingTypearea}. % \else % Man verzichtet auf die Option \Option{mpinclude} oder setzt \Option{mpinclude} auf \PValue{false}, 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 \OptionValueRef{\LabelBase}{DIV}{calc}\IndexOption{DIV=calc} (siehe \DescPageRef{typearea.option.DIV.calc}) berücksichtigt. % \fi \end{Explain} Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Option bei Verwendung einer der \KOMAScript-Klassen als Klassenoption oder per \DescRef{\LabelBase.cmd.KOMAoptions} beziehungsweise oder \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden der Klasse übergeben werden muss. Eine Änderung dieser Option nach dem Laden von \Package{typearea} führt nicht\textnote{keine automatische Neuberechnung} zu einer automatischen Neuberechnung des Satzspiegels. Vielmehr wirkt sich die Änderung erst bei der nächsten Neuberechnung des Satzspiegels aus. Zur Neuberechnung des Satzspiegels siehe Option \hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}} mit den Werten \hyperref[desc:\LabelBase.option.DIV.last]{\PValue{last}} oder \hyperref[desc:\LabelBase.option.DIV.current]{\PValue{current}} (siehe \DescPageRef{typearea.option.DIV.last}) oder die Anweisung \DescRef{\LabelBase.cmd.recalctypearea} (siehe \DescPageRef{typearea.cmd.recalctypearea}).% % \EndIndexGroup \begin{Declaration} \OptionVName{headlines}{Zeilenanzahl} \OptionVName{headheight}{Höhe} \end{Declaration}% \BeginIndex{}{Kopf>Hoehe=Höhe}% 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 dienen die Optionen \Option{headlines} und \Option{headheight}\ChangedAt{v3.00}{\Package{typearea}}. Die Option \Option{headlines}\important{\Option{headlines}} setzt man dabei auf die Anzahl der Kopfzeilen. 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.pagestyle}) 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{lstcode} \documentclass[a4paper]{article} \usepackage[headlines=2.1]{typearea} \end{lstcode} Es ist auch wieder möglich und bei Verwendung einer \KOMAScript-Klasse empfehlenswert, diese Option direkt an die Klasse zu übergeben: \begin{lstcode} \documentclass[headlines=2.1]{scrartcl} \end{lstcode} Befehle, mit denen dann der Inhalt der zweizeiligen Kopfzeile definiert werden kann, sind in \autoref{cha:scrlayer-scrpage} zu finden. \end{Example} In einigen Fällen ist es nützlich, wenn man die Kopfhöhe nicht in Zeilen, sondern direkt als Längenwert angeben kann. Dies ist mit Hilfe der alternativ verwendbaren Option \Option{headheight}\important{\Option{headheight}} möglich. Als \PName{Höhe} sind alle Längen und Größen verwendbar, die \LaTeX{} kennt. Es ist jedoch zu beachten, dass bei Verwendung einer \LaTeX-Länge wie \Length{baselineskip} nicht deren Größe zum Zeitpunkt des Setzens der Option, sondern zum Zeitpunkt der Berechnung des Satzspiegels und der Ränder entscheidend ist. Außerdem\textnote{Achtung!} sollten \LaTeX-Längen wie \Length{baselineskip} keinesfalls im optionalen Argument von \DescRef{\LabelBase.cmd.documentclass} oder \DescRef{\LabelBase.cmd.usepackage} verwendet werden. Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Optionen bei Verwendung einer der \KOMAScript-Klassen als Klassenoptionen oder per \DescRef{\LabelBase.cmd.KOMAoptions} beziehungsweise \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden der Klasse übergeben werden müssen. Eine Änderung dieser Optionen nach dem Laden von \Package{typearea} führt nicht\textnote{keine automatische Neuberechnung} zu einer automatischen Neuberechnung des Satzspiegels. Vielmehr wirkt sich die Änderung erst bei der nächsten Neuberechnung des Satzspiegels aus. Zur Neuberechnung des Satzspiegels siehe Option \hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}} mit den Werten \hyperref[desc:\LabelBase.option.DIV.last]{\PValue{last}} oder \hyperref[desc:\LabelBase.option.DIV.current]{\PValue{current}} (siehe \DescPageRef{typearea.option.DIV.last}) oder die Anweisung \DescRef{\LabelBase.cmd.recalctypearea} (siehe \DescPageRef{typearea.cmd.recalctypearea}).% % \EndIndexGroup \begin{Declaration} \OptionVName{footlines}{Zeilenanzahl}% \OptionVName{footheight}{Höhe}% \Length{footheight}% \end{Declaration}% \BeginIndex{}{Fuss=Fuß>Hoehe=Höhe}% Wie schon für den Kopf fehlt aber noch die Angabe, wie hoch der Fuß sein soll. Hierzu dienen die Optionen \Option{footlines} und \Option{footheight}\ChangedAt{v3.12}{\Package{typearea}}. Allerdings ist die Höhe des Fußes im Gegensatz zur Höhe des Kopfes keine Länge des \LaTeX-Kerns selbst. Daher definiert \Package{typearea} zur Einführung eine neue Länge \Length{footheight}\IndexLength[indexmain]{footheight}, falls diese noch nicht existiert. Ob diese dann auch beispielsweise von Klassen und Paketen für die Gestaltung von Kopf und Fuß verwendet wird, hängt von den verwendeten Klassen und Paketen ab. Das \KOMAScript-Paket \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}% \important{\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}}% \IndexPackage{scrlayer-scrpage} berücksichtigt \Length{footheight} und arbeitet somit aktiv mit \Package{typearea} zusammen. Die \KOMAScript-Klassen berücksichtigen \Length{footheight} hingegen nicht, da sie ohne Paketunterstützung nur Seitenstile mit einzeiligen Seitenfüßen anbieten. Die Option \Option{footlines}\important{\Option{footlines}} setzt man vergleichbar zu \DescRef{\LabelBase.option.headlines} auf die Anzahl der Fußzeilen. Normalerweise arbeitet das \Package{typearea}-Paket mit 1,25 Fußzeilen. Dieser Wert stellt einen Kompromiss dar. Zum einen ist er groß genug, um auch für eine über- und unterstrichene Fußzeile (siehe \autoref{sec:maincls.pagestyle}) Platz zu bieten, zum anderen ist er klein genug, um das Randgewicht nicht zu stark zu verändern, wenn mit einer einfachen Fußzeile ohne Trennlinien 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 Fußhöhe genauer den tatsächlichen Erfordernissen anpassen. \begin{Example} Angenommen, im Fuß soll eine zweizeilige Copyright-Angabe gesetzt werden. Zwar gibt es in \LaTeX{} selbst keinen Test, ob der für den Fuß vorgesehene Platz dafür genügend Raum bietet, die Überschreitung der vorgesehenen Höhe resultiert aber wahrscheinlich in einer unausgeglichenen Verteilung von Satzspiegeln und Rändern. Außerdem führt beispielsweise das Paket \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}% \important{\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}}% \IndexPackage{scrlayer-scrpage}, mit dem ein solcher Fuß\-in\-halt gesetzt werden könnte, durchaus eine entsprechende Überprüfung durch und meldet gegebenenfalls auch Überschreitungen. Daher ist es sinnvoll, die benötigte größere Fußhöhe bereits bei der Berechnung des Satzspiegels anzugeben: \begin{lstcode} \documentclass[a4paper]{article} \usepackage[footlines=2.1]{typearea} \end{lstcode} Es ist auch wieder möglich und bei Verwendung einer \KOMAScript-Klasse empfehlenswert, diese Option direkt an die Klasse zu übergeben: \begin{lstcode} \documentclass[footlines=2.1]{scrartcl} \end{lstcode} Befehle, mit denen dann der Inhalt der zweizeiligen Fußzeile definiert werden kann, sind in \autoref{cha:scrlayer-scrpage} zu finden. \end{Example} In einigen Fällen ist es nützlich, wenn man die Fußhöhe nicht in Zeilen, sondern direkt als Längenwert angeben kann. Dies ist mit Hilfe der alternativ verwendbaren Option \Option{footheight}\important{\Option{footheight}} möglich. Als \PName{Höhe} sind alle Längen und Größen verwendbar, die \LaTeX{} kennt. Es ist jedoch zu beachten, dass bei Verwendung einer \LaTeX-Länge wie \Length{baselineskip} nicht deren Größe zum Zeitpunkt des Setzens der Option, sondern zum Zeitpunkt der Berechnung des Satzspiegels und der Ränder entscheidend ist. Außerdem\textnote{Achtung!} sollten \LaTeX-Längen wie \Length{baselineskip} keinesfalls im optionalen Argument von \DescRef{\LabelBase.cmd.documentclass} oder \DescRef{\LabelBase.cmd.usepackage} verwendet werden. Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Optionen bei Verwendung einer der \KOMAScript-Klassen als Klassenoptionen oder per \DescRef{\LabelBase.cmd.KOMAoptions} beziehungsweise \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden der Klasse übergeben werden müssen. Eine Änderung dieser Optionen nach dem Laden von \Package{typearea} führt nicht\textnote{keine automatische Neuberechnung} zu einer automatischen Neuberechnung des Satzspiegels. Vielmehr wirkt sich die Änderung erst bei der nächsten Neuberechnung des Satzspiegels aus. Zur Neuberechnung des Satzspiegels siehe Option \hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}} mit den Werten \hyperref[desc:\LabelBase.option.DIV.last]{\PValue{last}} oder \hyperref[desc:\LabelBase.option.DIV.current]{\PValue{current}} (siehe \DescPageRef{typearea.option.DIV.last}) oder die Anweisung \DescRef{\LabelBase.cmd.recalctypearea} (siehe \DescPageRef{typearea.cmd.recalctypearea}).% \EndIndexGroup \begin{Declaration} \Macro{areaset}\OParameter{BCOR}\Parameter{Breite}\Parameter{Höhe} \end{Declaration}% Bis hier wurde nun eine Menge darüber erzählt, wie man einen guten Satzspiegel\Index{Satzspiegel} für Standardanwendungen erstellt und wie das \Package{typearea}-Paket dem Anwender diese Arbeit erleichtert, 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 Einstellungen der Paketoptionen \DescRef{\LabelBase.option.headinclude} und \DescRef{\LabelBase.option.footinclude} berücksichtigt werden. Die Optionen \DescRef{\LabelBase.option.headlines}\IndexOption{headlines}\textnote{Achtung!}, \DescRef{\LabelBase.option.headheight}\IndexOption{headheight}, \DescRef{\LabelBase.option.footlines}\IndexOption{footlines} und \DescRef{\LabelBase.option.footheight}\IndexOption{footheight} bleiben in diesem Fall jedoch unberücksichtigt! Siehe dazu die weiterführenden Informationen zu \DescRef{typearea-experts.cmd.areaset} auf \DescPageRef{typearea-experts.cmd.areaset} in \autoref{sec:typearea-experts.experimental}. Die Voreinstellung für \PName{BCOR} ist 0\Unit{pt}. Soll hingegen die aktuelle, beispielsweise per Option \DescRef{\LabelBase.option.BCOR}\IndexOption{BCOR} eingestellte Bindekorrektur erhalten bleiben, sollte man den symbolischen Wert \PValue{current} als optionales Argument verwenden. \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{lstcode} \documentclass[a4paper,11pt]{article} \usepackage{typearea} \newlength{\CharsLX}% Breite von 60 Zeichen \newlength{\LinesXXX}% Hoehe von 30 Zeilen \settowidth{\CharsLX}{\texttt{1234567890}} \setlength{\CharsLX}{6\CharsLX} \setlength{\LinesXXX}{\topskip} \addtolength{\LinesXXX}{29\baselineskip} \areaset{\CharsLX}{\LinesXXX} \end{lstcode} Der Faktor von 29 statt 30 ist damit begründet, dass die Grundlinie der obersten Zeile bereits am obersten Rand des um \Macro{topskip} verringerten Satzspiegels liegt, solange die Höhe der obersten Zeile kleiner als \Macro{topskip} ist. Die oberste Zeile benötigt damit keine Höhe. Die Unterlängen der untersten Zeile ragen dafür unter den Satzspiegel. \iffalse % Umbruchkorrekturtext 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:% \else % \iffalse % Ein quadratischer Gedichtband im Format 15\Unit{cm}\,:\,15\Unit{cm} mit mit 1\Unit{cm} Binderand gesetzt werden, ginge so:% \else % Soll stattdessen ein Gedichtband mit quadratischem Textbereich der Seitenlänge 15\Unit{cm} und einem Binderand von 1\Unit{cm} gesetzt werden, so ist Folgendes möglich:% \fi % \fi % % Korrektur von Code am Ende eines Beispiels am Ende einer Erklärung \begin{lstcode}[belowskip=-1.5\baselineskip] \documentclass{gedichte} \usepackage{typearea} \areaset[1cm]{15cm}{15cm} \end{lstcode}% \end{Example}% \EndIndexGroup \begin{Declaration} \OptionValue{DIV}{areaset} \end{Declaration}% In\ChangedAt{v3.00}{\Package{typearea}} seltenen Fällen ist es nützlich, wenn man den aktuell eingestellten Satzspiegel neu ausrichten lassen kann. Dies ist mit der Option \OptionValue{DIV}{areaset}\important{\OptionValue{DIV}{areaset}} möglich, wobei \DescRef{\LabelBase.cmd.KOMAoptions}\PParameter{DIV=areaset} der Anweisung \begin{lstcode} \areaset[current]{\textwidth}{\textheight} \end{lstcode} entspricht. Dasselbe Ergebnis erhält man% \iffalse auch\fi% Umbruchkorrekturtext! , wenn \OptionValueRef{\LabelBase}{DIV}{last} verwendet wird und der Satzspiegel zuletzt per \DescRef{\LabelBase.cmd.areaset} eingestellt wurde.% % \EndIndexGroup \iffalse% Umbruchkorrekturtext: Alternativen \iftrue% Wenn Sie konkrete Vorgaben bezüglich der Ränder zu erfüllen haben, ist \Package{typearea} nicht geeignet. In diesem Fall ist die Verwendung des Pakets \Package{geometry}\IndexPackage{geometry}\important{\Package{geometry}} (siehe \cite{package:geometry}) empfehlenswert.% \else% Das Paket \Package{typearea} ist nicht dafür gedacht, bestimmte Randbreiten einzustellen. Dafür ist das Paket \Package{geometry}\IndexPackage{geometry} (siehe \cite{package:geometry}) empfehlenswert.% \fi% \fi \section{Einstellung des Papierformats}% \seclabel{paperTypes}% \BeginIndexGroup Das Papierformat ist ein \iffalse entscheidendes \fi% Umbruchkorrekturtext Grundmerkmal eines Dokuments. Wie bereits bei der Vorstellung der \iffalse unterstützten \fi% Umbruchkorrekturtext Satzspiegelkonstruktionen (siehe \autoref{sec:typearea.basics} bis \autoref{sec:typearea.circleConstruction} ab \autopageref{sec:typearea.basics}) aufgezeigt, steht und fällt die Auf"|teilung der Seite und damit das gesamte Dokumentlayout mit der Wahl des Papierformats. Während die \LaTeX-Standardklassen auf einige wenige Formate festgelegt sind, unterstützt \KOMAScript{} mit dem Paket \Package{typearea} selbst ausgefallene Seitengrößen. \begin{Declaration} \OptionVName{paper}{Format} \OptionVName{paper}{Ausrichtung} \end{Declaration}% Die Option \Option{paper}\ChangedAt{v3.00}{\Package{typearea}} ist das zentrale Element der Formatauswahl\important[i]{% \begin{tabular}[t]{@{}l@{}l@{}} \KOption{paper} & \PValue{letter}, \PValue{legal}, \\ & \PValue{executive}, \\ & \PValue{A0}, \PValue{A1}, \PValue{A2} \dots\\ & \PValue{B0}, \PValue{B1}, \PValue{B2} \dots\\ & \PValue{C0}, \PValue{C1}, \PValue{C2} \dots\\ & \PValue{D0}, \PValue{D1}, \PValue{D2} \dots\end{tabular}} % bei \KOMAScript. Als \PName{Format} wird dabei zunächst das amerikanische \Option{letter}, \Option{legal} und \Option{executive} unterstützt. Darüber hinaus sind die ISO-Formate der Reihen A, B, C und D möglich, also beispielsweise \PValue{A4} oder -- klein geschrieben -- \PValue{a4}. Querformate\important{% \begin{tabular}[t]{@{}l@{}l@{}} \KOption{paper} & \PValue{landscape}, \\ & \PValue{seascape} \end{tabular}% } werden dadurch unterstützt, dass man die Option ein weiteres Mal mit dem Wert \PValue{landscape}\Index{Papier>Ausrichtung} oder \PValue{seascape}\ChangedAt{v3.02c}{\Package{typearea}} angibt. Dabei unterscheiden sich \PValue{landscape} und \PValue{seascape} nur darin, dass das Programm \File{dvips} bei \PValue{landscape} um -90\Unit{\textdegree} dreht, während bei \PValue{seascape} um +90\Unit{\textdegree} gedreht wird. Hilfreich ist \PValue{seascape} also vor allem dann, wenn ein PostScript-Anzeigeprogramm die Seiten im Querformat auf dem Kopf stellt. Damit der Unterschied eine Rolle spielt, darf auch die nachfolgend beschriebene Option \DescRef{\LabelBase.option.pagesize}% \IndexOption{pagesize}\important{\DescRef{\LabelBase.option.pagesize}} nicht deaktiviert sein. Zusätzlich kann das \PName{Format} auch in der Form \PName{Breite}\texttt{:}\PName{Höhe}\ChangedAt{v3.01b}{\Package{typearea}}% \important{\OptionVName{paper}{Breite\textup{:}Höhe}} beziehungsweise \PName{Höhe}\texttt{:}\PName{Breite}\ChangedAt{v3.22}{\Package{typearea}}% \important{\OptionVName{paper}{Höhe\textup{:}Breite}} angegeben werden. Welcher Wert die \PName{Höhe} und welcher die \PName{Breite} ist, richtet sich nach der Ausrichtung des Papiers. Mit \OptionValue{paper}{landscape} oder \OptionValue{paper}{seascape} ist der kleinere Wert die \PName{Höhe} und der größere Wert die \PName{Breite}. Mit \OptionValue{paper}{portrait}\important{\OptionValue{paper}{portrait}} ist dagegen der kleinere Wert die \PName{Breite} und der größere Wert die \PName{Höhe}. Es\textnote{Achtung!} wird darauf hingewiesen, dass bis Version~3.01a der erste Wert immer die \PName{Höhe} und der zweite Wert die \PName{Breite} war. Dagegen war von Version~3.01b bis Version~3.21a der erste Wert immer die \PName{Breite} und der zweite Wert immer die \PName{Höhe}. Dies ist insbesondere dann zu beachten, wenn mit einer entsprechenden Kompatibilitätseinstellung (siehe Option \DescRef{\LabelBase.option.version}% \IndexOption{version}\important{\DescRef{\LabelBase.option.version}}, \autoref{sec:typearea.compatibilityOptions}, \DescPageRef{typearea.option.version}) gearbeitet wird. \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{lstcode} \documentclass{article} \usepackage[headinclude=false,footinclude=false,% paper=A8,paper=landscape]{typearea} \areaset{7cm}{5cm} \pagestyle{empty} \begin{document} \section*{Definierte Papierformate} letter, legal, executive, a0, a1 \dots\ % b0, b1 \dots\ c0, c1 \dots\ d0, d1 \dots \end{document} \end{lstcode} Haben die Karteikarten das Sonderformat (Breite:Höhe) 5\Unit{cm}\,:\,3\Unit{cm}, so ist dies mit \begin{lstcode} \documentclass{article} \usepackage[headinclude=false,footinclude=false, paper=landscape,paper=5cm:3cm]{typearea} \areaset{4cm}{2.4cm} \pagestyle{empty} \begin{document} \section*{Definierte Papierformate} letter, legal, executive, a0, a1 \dots\ % b0, b1 \dots\ c0, c1 \dots\ d0, d1 \dots \end{document} \end{lstcode} möglich. \end{Example} In der Voreinstellung wird bei \KOMAScript{} mit A4-Papier in der Ausrichtung portrait gearbeitet. Dies ist ein Unterschied\textnote{\KOMAScript{} vs. Standardklassen} zu den Standardklassen, bei denen in der Voreinstellung das amerikanische Format letter verwendet wird. Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Option bei Verwendung einer der \KOMAScript-Klassen als Klassenoption oder per \DescRef{\LabelBase.cmd.KOMAoptions} beziehungsweise \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden der Klasse übergeben werden muss. Eine Änderung des Papierformats oder der Papierausrichtung mit Hilfe der Anweisung \DescRef{\LabelBase.cmd.KOMAoptions}\textnote{keine automatische Neuberechnung} oder \DescRef{\LabelBase.cmd.KOMAoption} nach dem Laden von \Package{typearea} führt nicht zu einer automatischen Neuberechnung des Satzspiegels. Vielmehr wirkt sich die Änderung erst bei der nächsten Neuberechnung des Satzspiegels aus. Zur Neuberechnung des Satzspiegels siehe Option \hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}} mit den Werten \hyperref[desc:\LabelBase.option.DIV.last]{\PValue{last}} oder \hyperref[desc:\LabelBase.option.DIV.current]{\PValue{current}} (siehe \DescPageRef{typearea.option.DIV.last}) oder die Anweisung \DescRef{\LabelBase.cmd.recalctypearea} (siehe \DescPageRef{typearea.cmd.recalctypearea}).% \EndIndexGroup \begin{Declaration} \OptionVName{pagesize}{Ausgabetreiber} \end{Declaration}% \begin{Explain}% Die oben genannten Mechanismen zur Auswahl des Papierformats \iffree{haben nur insofern einen Einfluss auf die Ausgabe, als interne {\LaTeX}-Maße gesetzt werden}{führen nur zum Setzen interner {\LaTeX}-Maße}. Das Paket \Package{typearea} verwendet diese \iffree{dann }{}bei der Auf"|teilung der Seite in Ränder und Textbereich. Die Spezifikation des DVI-Formats\Index{DVI} sieht aber an keiner Stelle Angaben zum Papierformat vor. % \iffree{% Wird direkt aus dem DVI-Format in eine Low-Level-Druckersprache wie PCL% \iftrue% Umbruchkorrektur \footnote{PCL ist eine Familie von Druckersprachen, die HP für seine Tinten- und Laserdrucker verwendet.}% \fi \ oder ESC/P2% \iftrue% Umbruchkorrektur \footnote{ESC/P2 ist die Druckersprache, die EPSON für seine 24-Nadel- und ältere Tinten- oder Laserdrucker benutzt.}% \fi \ beziehungsweise ESC/P-R% \iftrue% Umbruchkorrektur \footnote{ESC/P-R ist die Druckersprache, die EPSON aktuell für Tinten- und Laserdrucker benutzt.}% \fi \ ausgegeben, spielt dies normalerweise keine Rolle% }{% In früheren Zeiten, als DVI zum Ausruck noch direkt in Low-Level-Druckersprachen übertragen wurde, spielte dies keine Rolle% }, da auch bei diesen Ausgaben der 0-Bezugspunkt wie bei DVI links oben liegt. \iffree{Wird aber}{Heutzutage wird aber meist} in Sprachen wie \iffree{PostScript\Index{PostScript} oder }{}% Umbruchkorrekturtext PDF\Index{PDF} übersetzt, bei denen der 0-Bezugspunkt an anderer Stelle liegt und außerdem das Papierformat in der Ausgabedatei angegeben werden sollte\iffree{, so}{. Dabei} fehlt diese Information. 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} oder \File{dvipdfm} kann diese Angabe in Form einer \Macro{special}-Anweisung erfolgen. Bei Verwendung von {pdf\TeX}, {lua\TeX}, {\XeTeX} oder {V\TeX} werden deren Papierformat-Längen entsprechend gesetzt.% \end{Explain} Mit der Option \Option{pagesize} kann eingestellt werden, für welchen \PName{Ausgabetreiber} die Papiergröße in das Dokument geschrieben wird. Die unterstützten \PName{Ausgabetreiber} sind \autoref{tab:typearea.outputdriver} \iffalse auf \autopageref{tab:typearea.outputdriver}\fi zu entnehmen. Voreingestellt\ChangedAt{v3.17}{\Package{typearea}} ist \Option{pagesize}. Diese Verwendung der Option ohne Angabe eines Wertes entspricht \OptionValue{pagesize}{auto}. % \begin{table} \caption{Ausgabetreiber für Option \OptionVName{pagesize}{Ausgabetreiber}} \begin{desctabular} \pventry{auto}{Falls die pdf\TeX-spezifischen Register \Macro{pdfpagewidth}\IndexLength{pdfpagewidth} und \Macro{pdfpageheight}\IndexLength{pdfpageheight} oder die lua\TeX-spezifischen Register \Macro{pagewidth}\IndexLength{pagewidth} und \Macro{pageheight}\IndexLength{pageheight} vorhanden sind, wird der Ausgabetreiber \PValue{pdftex} aktiviert. Zusätzlich wird auch der Ausgabetreiber \PValue{dvips} verwendet. Diese Einstellung ist grundsätzlich auch für \XeTeX{} geeignet.% \IndexOption{pagesize~=\textKValue{auto}}}% \pventry{automedia}{Dies entspricht dem Ausgabetreiber \PValue{auto}. Allerdings werden zusätzlich auch noch die \mbox{V\TeX}-spezifischen Register \Macro{mediawidth}\IndexLength{mediawidth} und \Macro{mediaheight}\IndexLength{mediaheight} gesetzt, falls diese definiert sind.% \IndexOption{pagesize~=\textKValue{automedia}}}% \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% Die Papiergröße wird nicht an den Ausgabetreiber gemeldet.% \IndexOption{pagesize~=\textKValue{false}}}% \pventry{dvipdfmx}{\ChangedAt{v3.05a}{\Package{typearea}}Die Papiergröße wird als \Macro{special}\PParameter{pagesize=\PName{Breite},\PName{Höhe}} in die DVI-Datei geschrieben. Der Name des Ausgabetreibers kommt daher, dass das Programm \File{dvipdfmx} eine Pa\-pier\-for\-mat\-um\-schal\-tung über diese Anweisung auch innerhalb des Dokuments erlaubt.% \IndexOption{pagesize~=\textKValue{dvipdfmx}}}% \pventry{dvips}{Bei Verwendung innerhalb der Dokumentpräambel wird die Papiergröße über \Macro{special}\PParameter{pagesize=\PName{Breite},\PName{Höhe}} in das Dokument geschrieben. Da das Programm \File{dvips} keine Pa\-pier\-for\-mat\-um\-schal\-tung innerhalb des Dokuments unterstützt, wird bei Bedarf im Dokument ein recht unsauberer Hack verwendet, um die Umschaltung nach Möglichkeit dennoch zu erreichen. Pa\-pier\-for\-mat\-um\-schal\-tung nach der Dokumentprämbel bei gleichzeitiger Verwendung des Ausgabetreibers \PValue{dvips} erfolgen daher auf eigene Gefahr!% \IndexOption{pagesize~=\textKValue{dvips}}}% \entry{\PValue{pdftex}, \PValue{luatex}}{% \ChangedAt{v3.20}{\Package{typearea}}Die Papiergröße wird über die pdf\TeX-spezifischen Register \Macro{pdfpagewidth}\IndexLength{pdfpagewidth} und \Macro{pdfpageheight}\IndexLength{pdfpageheight} oder die lua\TeX-spezifischen Register \Macro{pagewidth}\IndexLength{pagewidth} und \Macro{pageheight}\IndexLength{pageheight} gesetzt. Dies ist auch jederzeit innerhalb des Dokuments problemlos möglich.% \IndexOption{pagesize~=\textKValue{pdftex}}% \IndexOption{pagesize~=\textKValue{luatex}}}% \end{desctabular} \label{tab:typearea.outputdriver} \end{table} \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{lstcode}[% aboveskip=.5\baselineskip plus .1\baselineskip minus .1\baselineskip,% belowskip=.4\baselineskip plus .1\baselineskip minus .1\baselineskip] \documentclass{article} \usepackage[paper=A4,pagesize]{typearea} \end{lstcode} Wird nun für die Bearbeitung {pdf\TeX} verwendet \emph{und} die PDF-Ausgabe aktiviert, so werden die beiden Spezialgröß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}% \iffree{}{% \vskip-1\ht\strutbox plus .75\ht\strutbox% Wegen Beispiel am Ende der Erklärung }% \EndIndexGroup % \EndIndexGroup % Umbruchverbesserung: %\iffree{}{\clearpage} \section{Tipps} \seclabel{tips} Insbesondere für die Erstellung von schriftlichen Arbeiten während des Studiums findet man häufig Vorschriften\textnote{Satzvorschriften vs. gute~Typografie}, die einer typografischen Begutachtung nicht nur in keiner 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 entgegenkommen. 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. Oft sind die typografisch mehr als fragwürdigen Satzvorschriften mit {\LaTeX} auch außerordentlich schwierig umzusetzen. So kann eine feste Anzahl von »Anschlägen« nur dann eingehalten werden, wenn keine proportionale Schrift verwendet wird. Es gibt nur wenige gute nichtproportionale Schriften. \iffalse % Umbruchkorrektur Kaum ein Text, der mit einer derartigen Schrift gesetzt ist, wirkt gleichmäßig. So wird häufig % \else Häufig wird % \fi % 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. 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 \DescRef{\LabelBase.option.DIV}\important{\DescRef{\LabelBase.option.DIV}} der Satzspiegel moderat angepasst werden. Von der Verwendung von \DescRef{\LabelBase.cmd.areaset} zu diesem Zweck rate ich jedoch ab. Schlimmstenfalls verwenden Sie das nicht zu {\KOMAScript} gehörende \Package{geometry}-Paket\important{\Package{geometry}}\IndexPackage{geometry} (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. Mit Hilfe von Option \DescRef{typearea-experts.option.usegeometry}% \important{\DescRef{typearea-experts.option.usegeometry}}, die Sie in \autoref{part:forExperts} finden, kann außerdem die Zusammenarbeit von \Package{typearea} und \Package{geometry} verbessert werden. 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}\important{\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. Näheres dazu finden Sie bei der Erklärung zu \OptionValueRef{\LabelBase}{DIV}{current}% \important{\OptionValueRef{\LabelBase}{DIV}{current}}. Das \Package{typearea}-Paket berechnet auch bei der Option \OptionValueRef{\LabelBase}{DIV}{calc}% \important{\OptionValueRef{\LabelBase}{DIV}{calc}} einen sehr großzügigen Textbereich. Viele konservative Typografen werden feststellen, dass die resultierende Zeilenlänge noch zu groß ist. Der berechnete \DescRef{\LabelBase.option.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\textnote{Was ist besser?} 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 von Hans Peter Willberg und Friedrich Forssmann, zwei der angesehensten Typografen der Gegenwart (siehe \cite{TYPO:ErsteHilfe}): \begin{quote} \phantomsection\label{sec:typearea.tips.cite}% \textit{Das\textnote{Zitat!} 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] \textit{Jetzt könnte der Einwand kommen, Typografie sei doch Geschmackssache. 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} % \EndIndexGroup %%% Local Variables: %%% mode: latex %%% TeX-master: "scrguide-de.tex" %%% coding: utf-8 %%% ispell-local-dictionary: "de_DE" %%% eval: (flyspell-mode 1) %%% End: