% ====================================================================== % common.tex % Copyright (c) Markus Kohm, 2001-2009 % % 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.3b of the license. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3b 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.txt. % ---------------------------------------------------------------------- % common.tex % Copyright (c) Markus Kohm, 2001-2009 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3b, verteilt und/oder veraendert werden. % Die neuste Version dieser Lizenz ist % http://www.latex-project.org/lppl.txt % und Version 1.3b ist Teil aller Verteilungen von LaTeX % Version 2005/12/01 oder spaeter und dieses Werks. % % Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" % (allein durch den Autor verwaltet). % % Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. % % Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % % Paragraphs that are common for several chapters of the KOMA-Script guide % Maintained by Markus Kohm % % ---------------------------------------------------------------------- % % Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== \ProvidesFile{common.tex}[2009/01/20 KOMA-Script guide (common paragraphs)] \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% \@ifundefined{ifCommonscrextend}{\newif\ifCommonscrextend}{}% \@ifundefined{ifCommonscrlttr}{\newif\ifCommonscrlttr}{}% \@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}% \makeatother \ifcase \value{commonpar} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<0>> \section{Frühe oder späte Optionenwahl} \label{sec:\csname label@base\endcsname.options} \ifshortversion\IgnoreThisfalse\IfNotCommon{typearea}{\IgnoreThistrue}\fi \ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++ nicht typearea + Es gilt sinngemäß, was in \autoref{sec:typearea.options} geschrieben wurde. \else %------------------------------------------------------ nur typearea - \BeginIndex{}{Optionen}% In diesem Abschnitt wird eine Besonderheit von \KOMAScript{} vorgestellt, die neben % \IfCommon{typearea}{\Package{typearea} auch andere \KOMAScript-Pakete und "~Klassen }% \IfCommon{maincls}{den Klassen \Class{scrbook}, \Class{scrreprt} und \Class{scrartcl} auch andere \KOMAScript-Klassen und "~Pakete }% \IfCommon{scrlttr2}{der Klasse \Class{scrlttr2} auch andere \KOMAScript-Klassen und "~Pakete }% \IfCommon{scrextend}{den Klassen und \Package{scrextend} auch einige andere \KOMAScript-Pakete }% betrifft. Damit die Anwender alle Informationen zu einem Paket oder einer Klasse im jeweiligen Kapitel finden, ist dieser Abschnitt nahezu gleichlautend in mehreren Kapiteln zu finden. Anwender, die nicht nur an der Anleitung zu einem Paket oder einer Klasse interessiert sind, sondern sich einen Gesamtüberblick über \KOMAScript{} verschaffen wollen, brauchen diesen Abschnitt nur in einem der Kapitel zu lesen und können ihn beim weiteren Studium der Anleitung dann überspringen. \begin{Declaration} \Macro{documentclass}\OParameter{Optionenliste}% \Parameter{\KOMAScript-Klasse}\\ \Macro{usepackage}\OParameter{Optionenliste}% \Parameter{Paket-Liste} \end{Declaration} \BeginIndex{Cmd}{documentclass}% \BeginIndex{Cmd}{usepackage}% Bei \LaTeX{} ist vorgesehen, dass Anwender Klassenoptionen in Form einer durch Komma getrennten Liste einfacher Schlüsselwörter als optionales Argument von \Macro{documentclass} angeben. Außer an die Klasse werden diese Optionen auch an alle Pakete weitergereicht, die diese Optionen verstehen. Ebenso ist vorgesehen, dass Anwender Paketoptionen in Form einer durch Komma getrennten Liste einfacher Schlüsselwörter als optionales Argument von \Macro{usepackage} angeben. \KOMAScript{} erweitert\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Package{typearea}} den Mechanismus der Optionen für die \KOMAScript-Klassen und einige Pakete um weitere Möglichkeiten. So haben die meisten Optionen bei \KOMAScript{} zusätzlich einen Wert. Eine Option hat also nicht unbedingt nur die Form \PName{Option}, sondern kann auch die Form \PName{Option}\texttt{=}\PName{Wert} haben. Bis auf diesen Unterschied arbeiten \Macro{documentclass} und \Macro{usepackage} bei \KOMAScript{} wie in \cite{latex:usrguide} oder jeder \LaTeX-Einführung, beispielsweise \cite{l2kurz}, beschrieben.% % \IfNotCommon{scrextend}{\par% Bei Verwendung einer \KOMAScript-Klasse sollten im Übrigen beim % Die Alternativen an dieser Stelle dienen der Verbesserung des Umbruchs \IfCommon{typearea}{überflüssigen, expliziten }% Laden des Pakets \Package{typearea} oder \Package{scrbase} keine Optionen angegeben werden. Das ist darin begründet, dass die Klasse diese Pakete bereits ohne Optionen lädt und \LaTeX{} das mehrmalige Laden eines Pakets mit unterschiedlicher Angabe von Optionen verweigert.% \IfCommon{maincls}{\ Überhaupt ist es bei Verwendung einer \KOMAScript-Klasse nicht notwendig, eines dieser Pakete auch noch explizit zu laden.}% \IfCommon{scrlttr2}{\ Überhaupt ist es bei Verwendung einer \KOMAScript-Klasse nicht notwendig, eines dieser Pakete auch noch explizit zu laden.}}% % \EndIndex{Cmd}{usepackage}% \EndIndex{Cmd}{documentclass}% \BeginIndex{Cmd}{KOMAoptions}% \BeginIndex{Cmd}{KOMAoption}% \begin{Declaration} \Macro{KOMAoptions}\Parameter{Optionenliste}\\ \Macro{KOMAoption}\Parameter{Option}\Parameter{Werteliste} \end{Declaration} \KOMAScript{}\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Package{typearea}} bietet bei den meisten Klassen- und Paketoptionen auch die Möglichkeit, den Wert der Optionen noch nach dem Laden der Klasse beziehungsweise des Pakets zu ändern. Man kann dann wahlweise mit der Anweisung \Macro{KOMAoptions} die Werte einer Reihe von Optionen ändern. Jede Option der \PName{Optionenliste} hat dabei die Form \PName{Option}\texttt{=}\PName{Wert}. Einige Optionen besitzen auch einen Säumniswert (engl. \emph{default value}). Versäumt man die Angabe eines Wertes, verwendet man die Option also einfach in der Form \PName{Option}, so wird automatisch dieser Säumniswert angenommen. Manche Optionen können % \IfCommon{maincls}{auch }% Umbruchkorrektur \IfCommon{scrlttr2}{auch }% Umbruchkorrektur gleichzeitig mehrere Werte besitzen. Für solche Optionen besteht die Möglichkeit, mit Hilfe von \Macro{KOMAoption} der einen \PName{Option} nacheinander eine Reihe von Werten zuzuweisen. Die einzelnen Werte sind dabei in der \PName{Werteliste} durch Komma voneinander getrennt. \begin{Explain} Falls man in der \PName{Optionenliste} eine Option auf einen unzulässigen Wert setzt oder die \PName{Werteliste} einen unzulässigen Wert enthält, so wird ein Fehler gemeldet. Wird \LaTeX{} in einem Modus verwendet, in dem im Fehlerfall Interaktionen möglich sind, so stoppt \LaTeX{} in diesem Fall. Durch Eingabe von »\texttt{h}« erhält man dann eine Hilfe, in der auch die möglichen Werte für die entsprechende Option angegeben sind. Soll in einem \PName{Wert} ein Gleichheitszeichen oder ein Komma vorkommen, so ist der \PName{Wert} in geschweifte Klammern zu setzen. \KOMAScript{} bedient sich für die Realisierung dieser Möglichkeit der Anweisungen \Macro{FamilyOptions} und \Macro{FamilyOption} mit der Familie »\PValue{KOMA}«. Näheres zu diesen Anweisungen ist % \IfCommon{maincls}{für Experten }% \IfCommon{scrlttr2}{für Experten }% in \autoref{sec:scrbase.keyvalue}, \autopageref{desc:scrbase.cmd.FamilyOptions} zu finden. \end{Explain} % \EndIndex{Cmd}{KOMAoption}% \EndIndex{Cmd}{KOMAoptions}% % \EndIndex{}{Optionen}% \fi % ************************************************** Ende nur typearea * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<1>> \section{Kompatibilität zu früheren Versionen von \KOMAScript} \label{sec:\csname label@base\endcsname.compatibilityOptions} \ifshortversion\IgnoreThisfalse\IfNotCommon{typearea}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht typearea + Es gilt sinngemäß, was in \autoref{sec:typearea.compatibilityOptions} geschrieben wurde. \IfCommon{scrlttr2}{Allerdings existiert diese Möglichkeit bei \Class{scrlttr2} bereits seit Version~2.9t}. \else %------------------------------------------------------- nur typearea - \BeginIndex{}{Kompatibilität} \IfCommon{typearea}{Wer seine Dokumente im Quellcode archiviert, legt in der Regel allergrößten Wert darauf, dass bei zukünftigen \LaTeX{}-Läufen immer wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen ist es aber so, dass Verbesserungen und Korrekturen am Paket zu Änderungen im Verhalten, inbesondere beim Umbruch, führen. Dies ist in einigen Fällen jedoch eher unerwünscht.}% \IfCommon{maincls}{Wer seine Dokumente im Quellcode archiviert, legt in der Regel allergrößten Wert darauf, dass bei zukünftigen \LaTeX{}-Läufen immer wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen ist es aber so, dass Verbesserungen und Korrekturen an der Klasse zu Änderungen im Verhalten, inbesondere beim Umbruch, führen.}% \IfCommon{scrextend}{Wer seine Dokumente im Quellcode archiviert, legt in der Regel allergrößten Wert darauf, dass bei zukünftigen \LaTeX{}-Läufen immer wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen ist es aber so, dass Verbesserungen und Korrekturen an der Klasse zu Änderungen im Verhalten, inbesondere beim Umbruch, führen.}% \IfCommon{scrlttr2}{In einigen Fällen ist es so, dass Verbesserungen und Korrekturen an der Klasse zu Änderungen im Verhalten, inbesondere beim Umbruch, führen. Dies ist jedoch nicht immer erwünscht.}% \begin{Declaration} \KOption{version}\PName{Wert}\\ \OptionValue{version}{first}\\ \OptionValue{version}{last} \end{Declaration} \BeginIndex{Option}{version}% \BeginIndex{Option}{version~=\PName{Wert}}% \BeginIndex{Option}{version~=last}% \BeginIndex{Option}{version~=first}% \IfNotCommon{scrextend}{Seit }% \ChangedAt{v2.96a}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}% \ChangedAt{v2.9t}{\Class{scrlttr2}}% \ChangedAt{v3.01b}{\Package{typearea}}% \IfCommon{typearea}{\ifshortversion Version~2.96a besteht bei \KOMAScript, bei \Class{scrlttr2} bereits seit Version~2.9t und bei \Package{typearea} erst seit Version~3.01b, \else Version~3.01b besteht bei \Package{typearea} \fi }% \IfCommon{maincls}{Version~2.96a besteht bei \KOMAScript\ }% \IfCommon{scrlttr2}{Version~2.9t besteht bei \Class{scrlttr2} }% \IfCommon{scrextend}{Bei \Package{scrextend} besteht }% die Wahl, ob eine Quelldatei soweit irgend möglich auch zukünftig bei einem \LaTeX{}-Lauf zu exakt demselben Ergebnis führen soll oder ob jeweils entsprechend der Anpassungen der neusten Version\IfCommon{maincls}{ der Klasse}\IfCommon{scrlttr2}{ der Klasse} zu setzen ist. Zu welcher Version Kompatibilität herzustellen ist, wird dabei über die Option \Option{version} festgelegt. Kompatibilität zur ältesten unterstützten \KOMAScript-Version kann mit % Umbruchkorrektur: Unterlängenproblem in listings! \begin{lstcode}[belowskip=\dp\strutbox] version=first \end{lstcode} oder \begin{lstcode}[belowskip=\dp\strutbox] version=2.9 \end{lstcode} oder \begin{lstcode}[belowskip=\dp\strutbox] version=2.9t \end{lstcode} erreicht werden. Bei Angabe einer unbekannten Version als \PName{Wert} wird eine Warnung ausgegeben und sicherheitshalber \Option{version=}\PValue{first} angenommen. Mit \begin{lstcode}[belowskip=\dp\strutbox] version=last \end{lstcode} kann die jeweils neuste Version ausgewählt werden. In diesem Fall wird also auf zukünftige Kompatibilität verzichtet. Wird die Option ohne Wertangabe verwendet, so wird ebenfalls \PValue{last} angenommen. \ChangedAt{v3.01a}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}\and \Package{scrextend}}Dies entspricht auch der Voreinstellung, solange keine obsolete Option verwendet wird. Bei der Verwendung einer obsoleten Option von \KOMAScript~2 setzt \KOMAScript~3 automatisch \OptionValue{version}{first}. In der dabei ausgegebenen Warnung wird erklärt, wie man diese Kompatibilitätsumschaltung verhindern kann. Alternativ kann man auch nach der obsoleten Option selbst eine abweichende Einstellung wählen. Die Frage der Kompatibilität betrifft in erster Linie Fragen des Umbruchs. Neue Möglichkeiten, die sich nicht auf den Umbruch auswirken, sind auch dann verfügbar, wenn man per Option die Kompatibilität zu einer älteren Version ausgewählt hat. Die Option hat keine Auswirkungen auf Umbruchänderungen, die bei Verwendung einer neueren Version durch Beseitigung eindeutiger Fehler entstehen. Wer auch im Fehlerfall unbedingte Umbruchkompatibilität benötigt, sollte stattdessen mit dem Dokument auch die verwendete \KOMAScript-Version archivieren. \IfCommon{scrlttr2}{\begin{Example} Die Beispielbriefe dieses Kapitels sollen alle Möglichkeiten nutzen, die in der neusten Version von \KOMAScript{} zur Verfügung stehen. Dazu muss beim Laden der Klasse die Kompatibilität entsprechend gesetzt werden:% \lstinputcode[xleftmargin=1em,lastline=1]{letter-0.tex}% \iftrue% Umbruchkorrektur Hier wurde einfach mit dem symbolischen Wert \PValue{last} die neuste Version gewählt.% \else% Um nicht bei jeder neuen Version eine neue Versionsnummer angeben zu müssen, wurde hier die Möglichkeit des symbolischen Wertes \PValue{last} gewählt.% \fi \end{Example}} Es ist zu beachten, dass die Option \Option{version} nach dem Laden % \IfCommon{maincls}{der Klasse }% \IfCommon{scrlttr2}{der Klasse }% \IfCommon{typearea}{des Pakets \Package{typearea} }% \IfCommon{scrextend}{des Pakets \Package{scrextend} }% nicht mehr verändert werden kann.% % \EndIndex{Option}{version~=\PName{Wert}}% \EndIndex{Option}{version~=first}% \EndIndex{Option}{version~=last}% \EndIndex{Option}{version}% % \EndIndex{}{Kompatibilität} \fi % *************************************************** Ende nur typearea * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<2>> \section{Entwurfsmodus} \label{sec:\csname label@base\endcsname.draft}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + Es gilt sinngemäß, was in \autoref{sec:maincls.draft} geschrieben wurde. \else %------------------------------------------------------- nur maincls - \BeginIndex{}{Entwurf}% Viele Klassen und viele Pakete kennen neben dem normalen Satzmodus auch einen Entwurfsmodus. Die Unterschiede zwischen diesen beiden sind so vielfältig wie die Klassen und Pakete, die diese Unterscheidung anbieten. \begin{Declaration} \KOption{draft}\PName{Ein-Aus-Wert} \end{Declaration}% \BeginIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% Mit dieser Option\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} wird zwischen Dokumenten im Entwurfsstadium und fertigen Dokumenten\Index{Endfassung} unterschieden. Als \PName{Ein-Aus-Wert} kann einer der Standardwerte für einfache Schalter aus \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} verwendet werden. Bei Aktivierung der Option werden im Falle überlanger Zeilen am Zeilenende kleine, schwarze Kästchen ausgegeben. Diese Kästchen erleichtern dem ungeübten Auge, Absätze ausfindig zu machen, die manueller Nachbearbeitung bedürfen. Demgegenüber erscheinen in der Standardeinstellung \OptionValue{draft}{false} keine solchen Kästchen.% % \EndIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% % \EndIndex{}{Entwurf} \fi %**************************************************** Ende nur maincls * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<3>> \section{\texorpdfstring{Seitenauf"|teilung}{Seitenaufteilung}} \label{sec:\csname label@base\endcsname.typearea} \BeginIndex{}{Seitenaufteilung=Seitenauf~"~|teilung} Eine Dokumentseite besteht aus unterschiedlichen Teilen, wie den Rändern, dem Kopf, dem Fuß, dem Textbereich, einer Marginalienspalte und den Abständen zwischen diesen Elementen. \KOMAScript{} unterscheidet dabei auch noch zwischen der Gesamtseite oder dem Papier und der sichtbaren Seite. Ohne Zweifel gehört die Auf"|teilung der Seite in diese unterschiedlichen Teile zu den Grundfähigkeiten einer Klasse. Bei \KOMAScript{} wird diese Arbeit an das Paket \Package{typearea} delegiert. Dieses Paket kann auch zusammen mit anderen Klassen verwendet werden. Die \KOMAScript-Klassen laden \Package{typearea} jedoch selbständig. Es ist daher weder notwendig noch sinnvoll, das Paket bei Verwendung einer \KOMAScript-Klasse auch noch explizit per \Macro{usepackage} zu laden. Siehe hierzu auch \autoref{sec:\csname label@base\endcsname.options}. Einige Einstellungen der \KOMAScript{}-Klassen haben auch Auswirkungen auf die Seitenauf"|teilung und umgekehrt. Diese Auswirkungen werden bei den entsprechenden Einstellungen dokumentiert. Für die weitere Erklärung zur Wahl des Papierformats, der Auf"|teilung der Seite in Ränder und Satzspiegel und die Wahl von ein- oder zweispaltigem Satz sei auf die Anleitung des Pakets \Package{typearea} verwiesen. Diese ist in \autoref{cha:typearea} ab \autopageref{cha:typearea} zu finden. \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<4>> \label{sec:\csname label@base\endcsname.fontOptions} \ifshortversion\IgnoreThisfalse\IfCommon{scrextend}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nur scrextend + Es gilt sinngemäß, was in \autoref{sec:maincls.fontOptions} geschrieben wurde. \else %--------------------------------------------------- nicht scrextend - \BeginIndex{}{Schrift>Groesse=Größe} Die Grundschrift und deren Größe sind zentrale Elemente der Gestaltung eines Dokuments. Wie in \autoref{cha:typearea} ausgeführt wurde, hängt die Auf"|teilung zwischen Satzspiegel und Rändern wesentlich davon ab. Die Grundschrift ist dabei die Schrift, die für die Masse des Textes eines Dokuments verwendet wird. Alle davon abweichenden Einstellungen, sei es in der Form, der Dicke, der Neigung oder der Größe, stehen in einer Beziehung zur Grundschrift. \begin{Declaration} \KOption{fontsize}\PName{Größe} \end{Declaration} \BeginIndex{Option}{fontsize~=\PName{Größe}}% Während von den Standardklassen und den meisten anderen Klassen nur eine sehr beschränkte Anzahl an Schriftgrößen unterstützt wird, bietet \KOMAScript{} die Möglichkeit, jede beliebige \PName{Größe} für die Grundschrift anzugeben. Dabei kann als Einheit für die \PName{Größe} auch jede bekannte \TeX-Einheit verwendet werden. Wird die \PName{Größe} ohne Einheit angegeben, so wird \PValue{pt} als Einheit angenommen. \iffree{}{Das genaue Verfahren, nach dem die Schriftgröße dann eingestellt wird, ist für Experten und interessierte Anwender in \autoref{sec:maincls-experts.addInfos}, \autopageref{desc:maincls-experts.option.fontsize} dokumentiert.} Wird die Option innerhalb des Dokuments gesetzt, so werden ab diesem Punkt die Grundschriftgröße und alle davon abhängigen Größen geändert. Das kann beispielsweise dann nützlich sein, wenn % \IfCommon{maincls}{der Anhang }% \IfCommon{scrlttr2}{ein weiterer Brief }% \IfCommon{scrextend}{der Anhang }% insgesamt in einer kleineren Schriftgröße gesetzt werden soll. Es wird darauf hingewiesen, dass bei Verwendung nach dem Laden der Klasse die Auf"|teilung zwischen Satzspiegel und Rändern nicht automatisch neu berechnet wird (siehe \Macro{recalctypearea}\IndexCmd{recalctypearea}, \autoref{sec:typearea.options}, \autopageref{desc:typearea.cmd.recalctypearea}). Wird diese Neuberechnung jedoch vorgenommen, so erfolgt sie auf Basis der jeweils gültigen Grundschriftgröße. Die Auswirkungen des Wechsels der Grundschriftgröße auf zusätzlich geladene Pakete % \IfCommon{scrextend}{oder die verwendete Klasse }% sind von diesen Paketen % \IfCommon{scrextend}{und der Klasse }% abhängig. % \IfCommon{maincls}{Es können also Fehler auf"|treten, die nicht als Fehler von \KOMAScript{} angesehen werden.}% \IfCommon{scrlttr2}{Dabei sind Fehler möglich, die nicht als Fehler von \KOMAScript{} betrachtet werden.}% \IfCommon{scrextend}{Es können also Fehler auf"|treten, die nicht als Fehler von \KOMAScript{} angesehen werden.}% Die Option sollte keinesfalls als Ersatz für \Macro{fontsize} (siehe \cite{latex:fntguide}) missverstanden werden. Sie sollte auch nicht an Stelle einer der von der Grundschrift abhängigen Schriftgrößenanweisungen, \Macro{tiny} bis \Macro{Huge}, verwendet werden!% \IfCommon{scrlttr2}{\ Voreingestellt ist bei \Class{scrlttr2} \OptionValue{fontsize}{12pt}.} \fi %*********************************************** Ende nicht scrextend * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<5>> \section{Textauszeichnungen} \label{sec:\csname label@base\endcsname.textmarkup}% \ifshortversion\IgnoreThisfalse\IfCommon{scrlttr2}{\IgnoreThistrue}\fi% \ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++++ nur scrlttr2 + Es gilt sinngemäß, was in \autoref{sec:maincls.textmarkup} geschrieben wurde. Dabei sind Namen und Bedeutung der einzelnen Elemente in \else %---------------------------------------------------- nicht scrlttr2 - \BeginIndex{}{Text>Auszeichnung}% \BeginIndex{}{Schriftart}% \LaTeX{} verfügt über eine ganze Reihe von Anweisungen zur Textauszeichnung. Neben der Wahl der Schriftart gehören dazu auch Befehle zur Wahl einer Textgröße oder der Textausrichtung. Näheres zu den normalerweise definierten Möglichkeiten ist \cite{l2kurz}, \cite{latex:usrguide} und \cite{latex:fntguide} zu entnehmen. \begin{Declaration} \Macro{textsuperscript}\Parameter{Text}\\ \Macro{textsubscript}\Parameter{Text} \end{Declaration} \BeginIndex{Cmd}{textsubscript}% \BeginIndex{Cmd}{textsuperscript}% Im \LaTeX-Kern ist bereits die Anweisung \Macro{textsuperscript}\IndexCmd{textsuperscript} definiert, mit der \PName{Text} höher gestellt werden kann. Leider bietet \LaTeX{} selbst keine entsprechende Anweisung, um Text tief\Index{Tiefstellung} statt hoch\Index{Hochstellung} zu stellen. \KOMAScript{} definiert dafür \Macro{textsubscript}. % \IfCommon{scrlttr2}{Ein Anwendungsbeispiel finden Sie in \autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.textsubscript.example}.} \IfCommon{scrextend}{Ein Anwendungsbeispiel finden Sie in \autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.textsubscript.example}.} % \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.textsubscript.example}% Sie schreiben einen Text über den menschlichen Stoffwechsel. Darin kommen hin und wieder einfache chemische Summenformeln vor. Dabei sind einzelne Ziffern tief zu stellen. Im Sinne des logischen Markups definieren Sie zunächst in der Dokumentpräambel oder einem eigenen Paket: \begin{lstcode} \newcommand*{\Molek}[2]{#1\textsubscript{#2}} \end{lstcode} \newcommand*{\Molek}[2]{#1\textsubscript{#2}}% Damit schreiben Sie dann: \begin{lstcode} Die Zelle bezieht ihre Energie unter anderem aus der Reaktion von \Molek C6\Molek H{12}\Molek O6 und \Molek O2 zu \Molek H2\Molek O{} und \Molek C{}\Molek O2. Arsen (\Molek{As}{}) wirkt sich allerdings auf den Stoffwechsel sehr nachteilig aus. \end{lstcode} Das Ergebnis sieht daraufhin so aus: \begin{ShowOutput} Die Zelle bezieht ihre Energie unter anderem aus der Reaktion von \Molek C6\Molek H{12}\Molek O6 und \Molek O2 zu \Molek H2\Molek O{} und \Molek C{}\Molek O2. Arsen (\Molek{As}{}) wirkt sich allerdings auf den Stoffwechsel sehr nachteilig aus. \end{ShowOutput} Etwas später entscheiden Sie, dass Summenformeln grundsätzlich serifenlos geschrieben werden sollen. Nun zeigt sich, wie gut die Entscheidung für konsequentes logisches Markup war. Sie müssen nur die \Macro{Molek}-Anweisung umdefinieren: \begin{lstcode} \newcommand*{\Molek}[2]{% \textsf{#1\textsubscript{#2}}% } \end{lstcode} \renewcommand*{\Molek}[2]{\textsf{#1\textsubscript{#2}}}% Schon ändert sich die Ausgabe im gesamten Dokument: \begin{ShowOutput} Die Zelle bezieht ihr Energie unter anderem aus der Reaktion von \Molek C6\Molek H{12}\Molek O6 und \Molek O2 zu \Molek H2\Molek O{} und \Molek C{}\Molek O2. Arsen (\Molek{As}{}) wirkt sich allerdings auf den Stoffwechsel sehr nachteilig aus. \end{ShowOutput} \end{Example} \iffalse % vielleicht in einer späteren Auf-lage Für Experten ist in \autoref{sec:experts.knowhow}, \autopageref{desc:experts.macroargs} dokumentiert, warum das Beispiel funktioniert, obwohl teilweise die Argumente von \Macro{Molek} nicht in geschweifte Klammern gesetzt wurden.% \fi \fi% \ifCommonmaincls % \EndIndex{Cmd}{textsuperscript}% \EndIndex{Cmd}{textsubscript}% \begin{Declaration} \Macro{setkomafont}\Parameter{Element}\Parameter{Befehle}\\ \Macro{addtokomafont}\Parameter{Element}\Parameter{Befehle}\\ \Macro{usekomafont}\Parameter{Element} \end{Declaration}% \BeginIndex{Cmd}{setkomafont}% \BeginIndex{Cmd}{addtokomafont}% \BeginIndex{Cmd}{usekomafont}% Mit\ChangedAt{v2.8p}{% \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} Hilfe der beiden Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} ist es möglich, die \PName{Befehle} festzulegen, mit denen die Schrift eines bestimmten \PName{Element}s umgeschaltet wird. Theoretisch könnten als \PName{Befehle} alle möglichen Anweisungen einschließlich Textausgaben verwendet werden. Sie sollten sich jedoch unbedingt auf solche Anweisungen beschränken, mit denen wirklich nur ein Schriftattribut umgeschaltet wird. In der Regel werden dies die Befehle \Macro{normalfont}, \Macro{rmfamily}, \Macro{sffamily}, \Macro{ttfamily}, \Macro{mdseries}, \Macro{bfseries}, \Macro{upshape}, \Macro{itshape}, \Macro{slshape}, \Macro{scshape} sowie die Größenbefehle \Macro{Huge}, \Macro{huge}, \Macro{LARGE}, \Macro{Large}, \Macro{large}, \Macro{normalsize}, \Macro{small}, \Macro{footnotesize} und \Macro{tiny} sein. Die Erklärung zu diesen Befehlen entnehmen Sie bitte \cite{l2kurz}, \cite{latex:usrguide} oder \cite{latex:fntguide}. Auch Farbumschaltungen wie \Macro{normalcolor} sind möglich (siehe \cite{package:graphics} und \cite{package:xcolor}). \iffalse % Umbruchkorrekturtext Das Verhalten bei Verwendung anderer Anweisungen, inbesondere solcher, die zu Umdefinierungen führen oder Ausgaben tätigen, ist nicht definiert. Seltsames Verhalten ist möglich und stellt keinen Fehler dar. \else Die Verwendung anderer Anweisungen, inbesondere solcher, die Umdefinierungen vornehmen oder zu Ausgaben führen, ist nicht vorgesehen. Seltsames Verhalten ist in diesen Fällen möglich und stellt keinen Fehler dar. \fi Mit \Macro{setkomafont} wird die Schriftumschaltung eines Elements mit einer völlig neuen Definition versehen. Demgegenüber wird mit \Macro{addtokomafont} die existierende Definition lediglich erweitert. Es wird empfohlen, beide Anweisungen nicht innerhalb des Dokuments, sondern nur in der Dokumentpräambel zu verwenden. Beispiele für die Verwendung entnehmen Sie bitte den Abschnitten zu den jeweiligen Elementen. Namen und Bedeutung der einzelnen Elemente sind in % \fi %************************************************* Ende nicht scrlttr2 * \IfNotCommon{scrextend}{\autoref{tab:\csname label@base\endcsname.elementsWithoutText} }% \IfCommon{scrextend}{\autoref{tab:maincls.elementsWithoutText}, \autopageref{tab:maincls.elementsWithoutText} }% aufgelistet. % \IfCommon{scrextend}{Allerdings werden davon in \Package{scrextend} nur die Elemente für den Dokumenttitel, den schlauen Spruch und die Fußnoten behandelt. Das Element \FontElement{disposition} ist zwar auch verfügbar, wird jedoch von \Package{scrextend} ebenfalls nur für den Dokumenttitel verwendet. }% Die Voreinstellungen sind den jeweiligen Abschnitten zu entnehmen. \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<6>> \section{Absatzauszeichnung} \label{sec:\csname label@base\endcsname.parmarkup}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + \else %------------------------------------------------------- nur maincls - \BeginIndex{}{Absatz>Auszeichnung}% \IfCommon{maincls}{% Die Standardklassen setzen Absätze\Index[indexmain]{Absatz} normalerweise mit Absatzeinzug und ohne Absatzabstand. Bei Verwendung eines normalen Satzspiegels, wie ihn \Package{typearea} bietet, ist dies die vorteilhafteste Absatzauszeichnung. Würde man ohne Einzug und Abstand arbeiten, hätte der Leser als Anhaltspunkt nur die Länge der letzten Zeile. Im Extremfall kann es sehr schwer sein, zu erkennen, ob eine Zeile voll ist oder nicht. Des Weiteren stellt der Typograf fest, dass die Auszeichnung des Absatzendes am Anfang der nächsten Zeile leicht vergessen ist. Demgegenüber ist eine Auszeichnung am Absatzanfang einprägsamer. Der Absatzabstand hat den Nachteil, dass er in verschiedenem Zusammenhang leicht verloren geht. So wäre nach einer abgesetzten Formel nicht mehr festzustellen, ob der Absatz fortgesetzt wird oder ein neuer beginnt. Auch am Seitenanfang müsste zurückgeblättert werden, um feststellen zu können, ob mit der Seite auch ein neuer Absatz beginnt. All diese Probleme sind beim Absatzeinzug nicht gegeben. Eine Kombination von Absatzeinzug und Absatzabstand ist wegen der übertriebenen Redundanz abzulehnen. Der Einzug\Index[indexmain]{Einzug} alleine ist deutlich genug. Der einzige Nachteil des Absatzeinzugs liegt in der Verkürzung der Zeile. Damit gewinnt der Absatzabstand\Index{Absatz>Abstand} bei ohnehin kurzen Zeilen, etwa im Zeitungssatz, seine Berechtigung.}% \fi %**************************************************** Ende nur maincls * \IfCommon{scrlttr2}{% In der Einleitung zu \autoref{sec:maincls.parmarkup} ab \autopageref{sec:maincls.parmarkup} wird dargelegt, warum der Absatzeinzug gegenüber dem Absatzabstand vorzuziehen ist. Die Elemente, auf die sich diese Argumente beziehen, beispielsweise Abbildungen, Tabellen, Listen, abgesetzte Formeln und auch neue Seiten, sind in Standardbriefen eher selten. Auch sind Briefe normalerweise nicht so umfänglich, dass ein nicht erkannter Absatz sich schwerwiegend auf die Lesbarkeit auswirkt. Die Argumente sind daher bei Standardbriefen eher schwach. Dies dürfte ein Grund dafür sein, dass der Absatzabstand bei Briefen eher gebräuchlich ist. Es bleiben damit für Standardbriefe im Wesentlichen zwei Vorteile des Absatzeinzugs. Zum einen hebt sich ein solcher Brief aus der Masse hervor und zum anderen durchbricht man damit nicht nur für Briefe das einheitliche Erscheinungsbild aller Dokumente aus einer Quelle, die so genannte \emph{Corporate Identity}.}% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + \IfCommon{scrlttr2}{\ Von dieser Unterscheidung gegenüber den anderen \KOMAScript-Klassen abgesehen gilt, was in \autoref{sec:maincls.parmarkup} geschrieben wurde.} \else %------------------------------------------------------- nur maincls - \begin{Declaration} \KOption{parskip}\PName{Abstandsart} \end{Declaration} \BeginIndex{Option}{parskip~=\PName{Methode}}% \IfCommon{maincls}{% Hin und wieder wird ein Layout mit Absatzabstand an Stelle des voreingestellten Absatzeinzugs gefordert. Die \KOMAScript-Klassen bietet mit der Option \Option{parskip}\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} }% \IfCommon{scrlttr2}{Bei Briefen findet man häufiger ein Layout mit Absatzabstand an Stelle des voreingestellten Absatzeinzugs. Die \KOMAScript-Klasse \Class{scrlttr2} bietet mit der Option \Option{parskip} }% eine Reihe von Möglichkeiten, um dies zu erreichen. Die \PName{Methode} setzt sich dabei aus zwei Teilen zusammen. Der erste Teil ist entweder \PValue{full} oder \PValue{half}, wobei \PValue{full} für einen Absatzabstand von einer Zeile und \PValue{half} für einen Absatzabstand von einer halben Zeile steht. Der zweite Teil ist eines der Zeichen »\PValue{*}«, »\PValue{+}«, »\PValue{-}« und kann auch entfallen. Lässt man das Zeichen weg, so wird in der letzten Zeile des Absatzes am Ende mindestens ein Geviert, das ist 1\Unit{em}, frei gelassen. Mit dem Pluszeichen wird am Zeilenende mindestens ein Drittel und mit dem Stern mindestens ein Viertel einer normalen Zeile frei gelassen. Mit der Minus-Variante werden keine Vorkehrungen für die letzte Zeile eines Absatzes getroffen. Neben den sich so ergebenden acht Kombinationen ist es noch möglich, als \PName{Methode} die Werte für einfache Schalter aus \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} zu verwenden. Das Einschalten der Option entspricht dabei \PValue{full} ohne angehängtes Zeichen für den Freiraum der letzten Absatzzeile, also mit mindestens einem Geviert Freiraum am Ende des Absatzes. Das Ausschalten der Option schaltet hingegen wieder auf Absatzeinzug von einem Geviert um. Dabei darf die letzte Zeile eines Absatzes auch bis zum rechten Rand reichen. Einen Überblick über alle möglichen Werte für \PName{Methode} bietet \autoref{tab:maincls.parskip}% \IfCommon{scrlttr2}{auf \autopageref{tab:maincls.parskip}}% . \IfCommon{maincls}{% \begin{desctable} \caption[{Mögliche Werte für Option \Option{parskip}}]{Mögliche Werte für Option \Option{parskip} zur Auswahl der Kennzeichnung von Absätzen\label{tab:maincls.parskip}}\\ \Endfirsthead% \caption[]{Mögliche Werte für Option \Option{parskip} (\emph{Fortsetzung})}\\ \Endhead% \standardfoot% \entry{\PValue{false}, \PValue{off}, \PValue{no}% \IndexOption{parskip~=false}}{% Absätze werden durch einen Einzug der ersten Zeilen von einem Geviert (1\Unit{em}) gekennzeichnet. Der erste Absatz eines Abschnitts wird nicht eingezogen.}% \entry{\PValue{full}, \PValue{true}, \PValue{on}, \PValue{yes}% \IndexOption{parskip~=full}% }{% Absätze werden durch einen vertikalen Abstand von einer Zeile gekennzeichnet, Absatzenden durch einen Leerraum von mind. ein Geviert (1\Unit{em}) der Grundschrift am Ende der letzten Zeile.}% \pventry{full-}{% Absätze werden durch einen vertikalen Abstand von einer Zeile gekennzeichnet. Absatzenden werden nicht gekennzeichnet.\IndexOption{parskip~=full-}}% \pventry{full+}{% \looseness=-1 Absätze werden durch einen vertikalen Abstand von einer Zeile gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem Viertel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=full+}}% \pventry{full*}{% Absätze werden durch einen vertikalen Abstand von einer Zeile gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem Drittel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=full*}}% \pventry{half}{% Absätze werden durch einen vertikalen Abstand von einer halben Zeile gekennzeichnet. Absatzenden durch einen Leerraum von mind. ein Geviert (1\Unit{em}) der normalen Schrift am Ende gekennzeichnet.\IndexOption{parskip~=half}}% \pventry{half-}{% Absätze werden durch einen vertikalen Abstand von einer halben Zeile gekennzeichnet. Absatzenden werden nicht gekennzeichnet.\IndexOption{parskip~=half-}}% \pventry{half+}{% Absätze werden durch einen vertikalen Abstand von einer halben Zeile gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem Viertel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=half+}}% \pventry{half*}{% Absätze werden durch einen vertikalen Abstand von einer Zeile gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem Drittel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=half*}}% \end{desctable}} Wird ein Absatzabstand verwendet, so verändert sich auch der Abstand vor, nach und innerhalb von Listenumgebungen. Dadurch wird verhindert, dass diese Umgebungen oder Absätze innerhalb dieser Umgebungen stärker vom Text abgesetzt werden als die Absätze des normalen Textes voneinander.% \IfCommon{maincls}{ Inhalts"~, Abbildungs"~ und Tabellenverzeichnis werden immer ohne zusätzlichen Absatzabstand gesetzt.}% \IfCommon{scrlttr2}{% Umbruchkorrekturtext \iffalse% \ Verschiedene Elemente des Briefbogens werden immer ohne Absatzabstand gesetzt.% \fi}% Voreingestellt ist bei \KOMAScript{} das Verhalten \OptionValue{parskip}{false}. Hierbei gibt es keinen Absatzabstand, sondern einen Absatzeinzug von 1\Unit{em}.% % \EndIndex{Option}{parskip~=\PName{Methode}}% % \EndIndex{}{Absatz>Auszeichnung} \fi %**************************************************** Ende nur maincls * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<7>> \section{Erkennung von rechten und linken Seiten} \label{sec:\csname label@base\endcsname.oddOrEven}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + Es gilt sinngemäß, was in \autoref{sec:maincls.oddOrEven} geschrieben wurde. \else %------------------------------------------------------- nur maincls - \BeginIndex{}{Seite>gerade}% \BeginIndex{}{Seite>ungerade}% Bei doppelseitigen Dokumenten wird zwischen linken und rechten Seiten unterschieden. Dabei hat eine linke Seite immer eine gerade Nummer und eine rechte Seite immer eine ungerade Nummer. % \IfCommon{maincls}{Die Erkennung von rechten und linken Seiten ist damit gleichbedeutend mit der Erkennung von Seiten mit gerader oder ungerader Nummer. In \iffree{dieser Anleitung}{diesem Buch} ist vereinfachend von ungeraden und geraden Seiten die Rede.% % Umbruchkorrekturtext \iftrue% Bei einseitigen Dokumenten existiert die Unterscheidung zwischen linken und rechten Seiten nicht. Dennoch gibt es natürlich auch bei einseitigen Dokumenten sowohl Seiten mit gerader als auch Seiten mit ungerader Nummer.% \fi}% \IfCommon{scrlttr2}{In der Regel werden Briefe einseitig gesetzt. Sollen Briefe mit einseitigem Layout jedoch auf Vorder- und Rückseite gedruckt, oder ausnahmsweise tatsächlich doppelseitige Briefe erstellt werden, kann unter Umständen das Wissen, ob man sich auf einer Vorder- oder einer Rückseite befindet, nützlich sein.}% \begin{Declaration} \Macro{ifthispageodd}\Parameter{Dann-Teil}\Parameter{Sonst-Teil} \end{Declaration}% \BeginIndex{Cmd}{ifthispageodd}% Will man bei \KOMAScript{} feststellen, ob ein Text auf einer geraden oder einer ungeraden Seite ausgegeben wird, so verwendet man die Anweisung \Macro{ifthispageodd}. Dabei wird das Argument \PName{Dann-Teil} nur dann ausgeführt, wenn man sich gerade auf einer ungeraden Seite befindet. Anderenfalls kommt das Argument \PName{Sonst-Teil} zur Anwendung. \begin{Example} Angenommen, Sie wollen einfach nur ausgeben, ob ein Text auf einer geraden oder ungeraden Seite ausgegeben wird. Sie könnten dann beispielsweise mit der Eingabe \begin{lstcode} Dies ist eine Seite mit \ifthispageodd{un}{}gerader Seitenzahl. \end{lstcode} die Ausgabe \begin{quote} Dies ist eine Seite mit \ifthispageodd{un}{}gerader Seitenzahl. \end{quote} erhalten. Beachten Sie, dass in diesem Beispiel das Argument \PName{Sonst-Teil} leer geblieben ist. \end{Example} Da die Anweisung \Macro{ifthispageodd} mit einem Mechanismus arbeitet, der einem Label und einer Referenz darauf sehr ähnlich ist, werden nach jeder Textänderung mindestens zwei \LaTeX-Durchläufe benötigt. Erst dann ist die Entscheidung korrekt. Im ersten Durchlauf wird eine Heuristik für die Entscheidung verwendet. Näheres zur Problematik der Erkennung von linken und rechten Seiten oder geraden und ungeraden Seitennummern ist für Experten in \autoref{sec:maincls-experts.addInfos}, \autopageref{desc:maincls-experts.cmd.ifthispageodd} zu finden.% % \EndIndex{Cmd}{ifthispageodd}% % \EndIndex{}{Seite>ungerade}% \EndIndex{}{Seite>gerade} \fi %**************************************************** Ende nur maincls * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<8>> \section{Vakatseiten} \label{sec:\csname label@base\endcsname.emptypage}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + Es gilt sinngemäß, was in \autoref{sec:maincls.emptypage} geschrieben wurde. \else %------------------------------------------------------- nur maincls - \BeginIndex{}{Vakatseite}%% \BeginIndex{}{Seitenstil}% \IfNotCommon{scrlttr2}{Vakatseiten sind Seiten, die beim Satz eines Dokuments absichtlich leer bleiben. Ursprünglich sind diese Seiten wirklich komplett leer. Bei \LaTeX{} werden sie jedoch in der Voreinstellung mit dem aktuell gültigen Seitenstil gesetzt. \KOMAScript{} bietet hier diverse Erweiterungen. Vakatseiten findet man hauptsächlich in Büchern. Da es bei Büchern üblich ist, dass Kapitel auf einer rechten Seite beginnen, muss in dem Fall, dass das vorherigen Kapitel ebenfalls auf einer rechten Seite endet, eine leere linke Seite eingefügt werden. Aus dieser Erklärung ergibt sich auch, dass Vakatseiten normalerweise nur im doppelseitigen Satz existieren. Die leeren Rückseiten im einseitigen Druck werden eher nicht als Vakatseiten bezeichnet, obwohl sie auf Druckbögen im Ergebnis als solche erscheinen.}% \fi %**************************************************** Ende nur maincls * \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + \IfCommon{scrlttr2}{Aber} \fi %**************************************************** Ende nur maincls * \IfCommon{scrlttr2}{Vakatseiten sind bei Briefen eher unüblich. Das liegt nicht zuletzt daran, dass wahrhaft doppelseitige Briefe recht selten sind, da Briefe normalerweise nicht gebunden werden. Trotzdem unterstützt auch \Class{scrlttr2} für den Fall von doppelseitigen Briefen Einstellungen für Vakatseiten. Da die hier vorgestellten Anweisungen aber in Briefen kaum Verwendung finden, finden Sie hier keine Beispiele. Bei Bedarf orientieren Sie sich bitte an den Beispielen in \autoref{sec:maincls.emptypage} ab \autopageref{sec:maincls.emptypage}.}% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + \else %------------------------------------------------------- nur maincls - \begin{Declaration} \KOption{cleardoublepage}\PName{Seitenstil}\\ \OptionValue{cleardoublepage}{current} \end{Declaration}% \BeginIndex{Option}{cleardoublepage~=\PName{Seitenstil}}% \BeginIndex{Option}{cleardoublepage~=current}% Mit Hilfe dieser Option\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} kann man den \PName{Seitenstil} der Vakatseite bestimmen, die gegebenenfalls von der Anweisung \Macro{cleardoublepage} eingefügt wird, um bis zur gewünschten Seite zu umbrechen. Als \PName{Seitenstil} sind alle bereits definierten Seitenstile (siehe \autoref{sec:\csname label@base\endcsname.pagestyle} ab \autopageref{sec:\csname label@base\endcsname.pagestyle} und \autoref{cha:scrpage} ab \autopageref{cha:scrpage}) verwendbar. Daneben ist auch \OptionValue{cleardoublepage}{current} möglich. Dieser Fall entspricht der Voreinstellung von \KOMAScript{} bis Version~2.98c und führt dazu, dass die Vakatseite mit dem Seitenstil erzeugt wird, der beim Einfügen gerade aktuell ist. Ab Version~3.00\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} werden in der Voreinstellung entsprechend der typografischen Gepflogenheiten Vakatseiten mit dem Seitenstil \Pagestyle{empty} erzeugt, wenn man nicht Kompatibilität zu früheren \KOMAScript-Versionen eingestellt hat (siehe Option \Option{version}, \autoref{sec:\csname label@base\endcsname.compatibilityOptions}, \autopageref{desc:\csname label@base\endcsname.option.version}). \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.option.cleardoublepage.example} Angenommen Sie wollen, dass die Vakatseiten bis auf die Paginierung leer sind, also mit Seitenstil \Pagestyle{plain} erzeugt werden. Dies erreichen Sie beispielsweise mit \begin{lstcode} \KOMAoption{cleardoublepage=plain} \end{lstcode} Näheres zum Seitenstil \Pagestyle{plain} ist in \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain} zu finden. \end{Example} \fi \ifCommonscrextend \begin{Example} \phantomsection\label{desc:scrextend.option.cleardoublepage.example} Angenommen Sie wollen, dass die Vakatseiten bis auf die Paginierung leer sind, also mit Seitenstil \Pagestyle{plain} erzeugt werden. Dies erreichen Sie beispielsweise mit \begin{lstcode} \KOMAoption{cleardoublepage=plain} \end{lstcode} Näheres zum Seitenstil \Pagestyle{plain} ist in \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain} zu finden. \end{Example} \fi \EndIndex{Option}{cleardoublepage~=current}% \EndIndex{Option}{cleardoublepage~=\PName{Seitenstil}} \begin{Declaration} \Macro{clearpage}\\ \Macro{cleardoublepage}\\ \Macro{cleardoublepageusingstyle}\Parameter{Seitenstil}\\ \Macro{cleardoubleemptypage}\\ \Macro{cleardoubleplainpage}\\ \Macro{cleardoublestandardpage}\\ \Macro{cleardoubleoddusingstyle}\Parameter{Seitenstil}\\ \Macro{cleardoubleoddemptypage}\\ \Macro{cleardoubleoddplainpage}\\ \Macro{cleardoubleoddstandardpage}\\ \Macro{cleardoubleevenusingstyle}\Parameter{Seitenstil}\\ \Macro{cleardoubleevenemptypage}\\ \Macro{cleardoubleevenplainpage}\\ \Macro{cleardoubleevenstandardpage} \end{Declaration}% \BeginIndex{Cmd}{clearpage}% \BeginIndex{Cmd}{cleardoublepage}% \BeginIndex{Cmd}{cleardoublepageusingstyle}% \BeginIndex{Cmd}{cleardoublestandardpage}% \BeginIndex{Cmd}{cleardoubleplainpage}% \BeginIndex{Cmd}{cleardoubleemptypage}% \BeginIndex{Cmd}{cleardoubleoddusingstyle}% \BeginIndex{Cmd}{cleardoubleoddstandardpage}% \BeginIndex{Cmd}{cleardoubleoddplainpage}% \BeginIndex{Cmd}{cleardoubleoddemptypage}% \BeginIndex{Cmd}{cleardoubleevenusingstyle}% \BeginIndex{Cmd}{cleardoubleevenstandardpage}% \BeginIndex{Cmd}{cleardoubleevenplainpage}% \BeginIndex{Cmd}{cleardoubleevenemptypage}% Im \LaTeX-Kern existiert die Anweisung \Macro{clearpage}, die dafür sorgt, dass alle noch nicht ausgegebenen Gleitumgebungen ausgegeben werden und anschließend eine neue Seite begonnen wird. Außerdem existiert die Anweisung \Macro{cleardoublepage}, die wie \Macro{clearpage} arbeitet, durch die aber im doppelseitigen Layout (siehe Option \Option{twoside} in \autoref{sec:typearea.options}, \autopageref{desc:typearea.option.twoside}) eine neue rechte Seite begonnen wird. Dazu wird gegebenenfalls eine linke Vakatseite im aktuellen Seitenstil ausgegeben. Bei {\KOMAScript} arbeitet \Macro{cleardoubleoddstandardpage}\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} genau in der soeben für die Standardklassen beschriebenen Art und Weise. Die Anweisung \Macro{cleardoubleoddplainpage} ändert demgegenüber den Seitenstil der leeren linken Seite zusätzlich auf \Pagestyle{plain}\IndexPagestyle{plain}, um den % \IfCommon{maincls}{Kolumnentitel}% \IfCommon{scrlttr2}{Seitenkopf}% \ zu unterdrücken. Analog dazu wird bei der Anweisung \Macro{cleardoubleoddemptypage} der Seitenstil \Pagestyle{empty}\IndexPagestyle{empty} verwendet, um sowohl % \IfCommon{maincls}{Kolumnentitel als auch Seitenzahl}% \IfCommon{scrlttr2}{Seitenkopf als auch Seitenfuß}% \ auf der leeren linken Seite zu unterdrücken. Die Seite ist damit vollständig leer. Will man für die Vakatseite einen eigenen \PName{Seitenstil} vorgeben, so ist dieser als Argument von \Macro{cleardoubleoddusingstyle} anzugeben. Dabei kann jeder bereits definierte Seitenstil (siehe auch \autoref{cha:scrpage}) verwendet werden. \IfNotCommon{scrlttr2}{% Manchmal möchte man nicht, dass Kapitel mit neuen rechten Seiten, sondern links auf einer Doppelseite beginnen. Dies widerspricht zwar dem klassischen Buchdruck, kann jedoch seine Berechtigung haben, wenn die Doppelseite am Kapitelanfang einen ganz speziellen Inhalt hat. Bei \KOMAScript{} ist deshalb die Anweisung \Macro{cleardoubleevenstandardpage} als Äquivalent zu \Macro{cleardoubleoddstandardpage} definiert, jedoch mit dem Unterschied, dass die nächste Seite eine linke Seite ist. Entsprechendes gilt für die Anweisungen \Macro{cleardoubleevenplainpage}, \Macro{cleardoubleevenemptypage} und \Macro{cleardoubleevenusingstyle}.} Die Arbeitsweise der neuen Anweisungen \Macro{cleardoublestandardpage}, \Macro{cleardoubleemptypage}, \Macro{cleardoubleplainpage} und der ein Argument erwartenden Anweisung \Macro{cleardoublepageusingstyle} ist % \IfCommon{scrlttr2}{bei \Class{scrlttr2} }% \IfCommon{scrextend}{bei \Package{scrextend} }% ebenso wie die Standard-Anweisung \Macro{cleardoublepage} von der zuvor erklärten Option \Option{cleardoublepage} abhängig und entspricht je nach Einstellung einer der in den vorherigen Absätzen erläuterten Anweisungen. \IfCommon{scrlttr2}{% Die übrigen Anweisungen sind bei \Class{scrlttr2} nur aus Gründen der Vollständigkeit definiert. Näheres zu diesen Anweisungen ist bei Bedarf \autoref{sec:maincls.emptypage}, \autopageref{desc:maincls.cmd.cleardoublepage} zu entnehmen.}% \ifCommonscrlttr2\else \begin{Example} \label{desc:maincls.cmd.cleardoublepage.example}% Angenommen Sie wollen innerhalb eines Dokuments als nächstes eine Doppelseite setzen, bei der auf der linken Seite eine Abbildung in Größe des Satzspiegels platziert wird und rechts ein neues Kapitel beginnt. Falls das vorherige Kapitel mit einer linken Seite endet, muss also eine Vakatseite eingefügt werden. Diese soll komplett leer sein. Ebenso soll die linke Bildseite weder Kopf noch Fußzeile besitzen. Zunächst wird mit \begin{lstcode} \KOMAoptions{cleardoublepage=empty} \end{lstcode} dafür gesorgt, dass Vakatseiten mit dem Seitenstil \Pagestyle{empty}, also ohne Kopf- und Fußzeile gesetzt werden. Diese Einstellung können Sie bereits in der Dokumentpräambel vornehmen. Die Optionen können alternativ auch als optionale Argumente von \Macro{documentclass} angegeben werden. An der gewünschten Stelle im Dokument schreiben Sie nun: \begin{lstcode} \cleardoubleevenemptypage \thispagestyle{empty} \includegraphics[width=\textwidth,% height=\textheight,% keepaspectratio]% {bild} \chapter{Kapitelüberschrift} \end{lstcode} Die erste Zeile wechselt auf die nächste linke Seite und fügt zu diesem Zweck bei Bedarf eine komplett leere rechte Seite ein. Die zweite Zeile sorgt dafür, dass diese linke Seite ebenfalls mit dem Seitenstil \Pagestyle{empty} gesetzt wird. Die dritte bis sechste Zeile lädt die Bilddatei mit dem Namen \File{bild} und bringt sie auf die gewünschte Größe, ohne sie dabei zu verzerren. Hierfür wird das Paket \Package{graphicx}\IndexPackage{graphicx} benötigt (siehe \cite{package:graphics}). Die letzte Zeile beginnt auf der nächsten -- dann rechten -- Seite ein neues Kapitel. \end{Example}% \fi % \EndIndex{Cmd}{clearpage}% \EndIndex{Cmd}{cleardoublepage}% \EndIndex{Cmd}{cleardoublepageusingstyle}% \EndIndex{Cmd}{cleardoublestandardpage}% \EndIndex{Cmd}{cleardoubleplainpage}% \EndIndex{Cmd}{cleardoubleemptypage}% \EndIndex{Cmd}{cleardoubleoddusingstyle}% \EndIndex{Cmd}{cleardoubleoddstandardpage}% \EndIndex{Cmd}{cleardoubleoddplainpage}% \EndIndex{Cmd}{cleardoubleoddemptypage}% \EndIndex{Cmd}{cleardoubleevenusingstyle}% \EndIndex{Cmd}{cleardoubleevenstandardpage}% \EndIndex{Cmd}{cleardoubleevenplainpage}% \EndIndex{Cmd}{cleardoubleevenemptypage}% % \EndIndex{}{Seitenstil}% \EndIndex{}{Vakatseite}% \fi %**************************************************** Ende nur maincls * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<9>> \section{Fußnoten} \label{sec:\csname label@base\endcsname.footnotes}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + \IfNotCommon{scrextend}{Es gilt sinngemäß, was in \autoref{sec:maincls.footnotes} geschrieben wurde.} \else %------------------------------------------------------- nur maincls - \BeginIndex{}{Fussnoten=Fußnoten}% \iffalse% Umbruchkorrekturtext Selbstverständlich beherrscht \LaTeX{} auch Fußnoten. % \fi% \IfCommon{maincls}{Im Unterschied zu den Standardklassen bietet \KOMAScript{} die Möglichkeit, die Form von Fußnoten zu konfigurieren.}% \IfCommon{scrlttr2}{Die Anweisungen zum Setzen von Fußnoten sind in jeder \LaTeX-Einführung, beispielsweise \cite{l2kurz}, zu finden. \KOMAScript{} bietet darüber hinaus aber auch noch die Möglichkeit, die Form der Fußnoten zu verändern.}% \fi %**************************************************** Ende nur maincls * \IfCommon{scrextend}{Die Fußnoten-Möglichkeiten der \KOMAScript-Klassen% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + , die in \autoref{sec:maincls.footnotes} beschrieben sind,% \fi %**************************************************** Ende nur maincls * \ werden von \Package{scrextend} ebenfalls bereitgestellt. In der Voreinstellung wird die Formatierung der Fußnoten jedoch der verwendeten Klasse überlassen. Dies ändert sich, sobald die Anweisung \Macro{deffootnote} verwendet wird, die auf \autopageref{desc:\ifIgnoreThis maincls\else scrextend\fi.cmd.deffootnote} näher erläutert wird.}% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + \else %------------------------------------------------------- nur maincls - \begin{Declaration} \KOption{footnotes}\PName{Einstellung} \end{Declaration} \BeginIndex{Option}{footnotes~=\PName{Einstellung}}% \IfCommon{scrextend}{Bei vielen Klassen werden Fußnoten }% \IfNotCommon{scrextend}{\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}}Fußnoten werden }% im Text in der Voreinstellung mit kleinen, hochgestellten Ziffern markiert. Werden zu einer Textstelle mehrere Fußnoten hintereinander gesetzt, so entsteht der Eindruck, dass es sich nicht um zwei einzelne Fußnoten, sondern um eine einzige Fußnote mit hoher Nummer handelt. Mit der Einstellung \OptionValue{footnotes}{multiple}\IndexOption{footnotes=~multiple} werden Fußnoten, die unmittelbar aufeinander folgen, stattdessen mit Trennzeichen aneinander gereiht. Das in \Macro{multfootsep}\IndexCmd{multfootsep} definierte Trennzeichen ist mit einem Komma vorbelegt. Der gesamte Mechanismus ist kompatibel zu \Package{footmisc}\IndexPackage{footmisc}, Version~5.3d (siehe \cite{package:footmisc}) implementiert. Er wirkt sich sowohl auf Fußnotenmarkierungen aus, die mit \Macro{footnote}\IndexCmd{footnote} gesetzt wurden, als auch auf solche, die direkt mit \Macro{footnotemark}\IndexCmd{footnotemark} ausgegeben werden. Es ist jederzeit möglich, auf die Voreinstellung \OptionValue{footnotes}{nomultiple} zurückzuschalten. Bei Problemen mit anderen Paketen, die Einfluss auf die Fußnoten nehmen, sollte die Option jedoch nicht verwendet und die Einstellung auch nicht innerhalb des Dokuments umgeschaltet werden. Eine Zusammenfassung der möglichen Werte für die \PName{Einstellung} von \Option{footnotes} bietet \autoref{tab:maincls.footnotes}% \IfNotCommon{maincl}{, \autopageref{tab:maincls.footnotes}}% .% \IfCommon{maincls}{% \begin{table} \caption[{Mögliche Werte für Option \Option{footnotes}}]{Mögliche Werte für Option \Option{footnotes} zur Einstellung der Fußnoten} \label{tab:maincls.footnotes} \begin{desctabular} \pventry{multiple}{% Unmittelbar aufeinander folgende Fußnotenmarkierungen werden durch \Macro{multfootsep}\IndexCmd{multfootsep} voneinander getrennt ausgegeben.% \IndexOption{footnotes~=multiple}}% \pventry{nomultiple}{% Unmittelbar aufeinander folgende Fußnotenmarkierungen werden auch unmittelbar aufeinander folgend ausgegeben.% \IndexOption{footnotes~=nomultiple}}% \end{desctabular} \end{table}}% % \EndIndex{Option}{footnotes~=\PName{Einstellung}} \begin{Declaration} \Macro{footnote}\OParameter{Nummer}\Parameter{Text}\\ \Macro{footnotemark}\OParameter{Nummer}\\ \Macro{footnotetext}\OParameter{Nummer}\Parameter{Text}\\ \Macro{multiplefootnoteseparator}\\ \Macro{multfootsep} \end{Declaration}% \BeginIndex{Cmd}{footnote}% \BeginIndex{Cmd}{footnotemark}% \BeginIndex{Cmd}{footnotetext}% \BeginIndex{Cmd}{multiplefootnoteseparator}% \BeginIndex{Cmd}{multfootsep}% Fußnoten werden bei {\KOMAScript} genau wie bei den Standardklassen mit der Anweisung \Macro{footnote} oder den paarweise zu verwendenden Anweisungen \Macro{footnotemark} und \Macro{footnotetext} erzeugt. Genau wie bei den Standardklassen ist es möglich, dass innerhalb einer Fußnote ein Seiten"-umbruch erfolgt. Dies geschieht in der Regel dann, wenn die zugehörige Fußnotenmarkierung so weit unten auf der Seite gesetzt wird, dass keine andere Wahl bleibt, als die Fußnote auf die nächste Seite zu umbrechen. Im Unterschied\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} zu den Standardklassen bietet \KOMAScript{} aber zusätzlich die Möglichkeit, Fußnoten, die unmittelbar aufeinander folgen, automatisch zu erkennen und durch ein Trennzeichen auseinander zu rücken. Siehe hierzu die zuvor dokumentierte Option \Option{footnotes}. Will man dieses Trennzeichen stattdessen von Hand setzen, so erhält man es durch Aufruf von \Macro{multiplefootnoteseparator}. Diese Anweisung sollten Anwender jedoch nicht umdefinieren, da sie neben dem Trennzeichen auch die Formatierung des Trennzeichen, beispielsweise die Wahl der Schriftgröße und das Hochstellen, enthält. Das Trennzeichen selbst ist in der Anweisung \Macro{multfootsep} gespeichert. In der Voreinstellung ist dieses als % Umbruchkorrektur: listings korrigieren! \begin{lstcode}[belowskip=\dp\strutbox] \newcommand*{\multfootsep}{,} \end{lstcode} definiert. Dieses kann umdefiniert werden. \ifCommonscrlttr\else \begin{Example} \phantomsection\label{desc:maincls.cmd.footnote.example}% Angenommen, Sie wollen zu einem Wort zwei Fußnoten setzen. Im ersten Ansatz schreiben Sie dafür \begin{lstcode} Wort\footnote{erste Fußnote}\footnote{zweite Fußnote}. \end{lstcode} Nehmen wir weiter an, dass die Fußnoten mit 1 und 2 nummeriert werden. Da die beiden Fußnotennummern direkt aufeinander folgen, entsteht jedoch der Eindruck, dass das Wort nur eine Fußnote mit der Nummer 12 besitzt. Sie könnten dies nun dadurch ändern, dass Sie mit \begin{lstcode} \KOMAoptions{footnotes=multiple} \end{lstcode} die automatische Erkennung von Fußnotenhäufungen aktivieren. Stattdessen können Sie aber auch \begin{lstcode} Wort\footnote{erste Fußnote}\multiplefootnoteseparator \footnote{zweite Fußnote} \end{lstcode} verwenden. Das sollte auch dann noch funktionieren, wenn die automatische Erkennung aus irgendwelchen Gründen versagt oder nicht verwendet werden kann. Nehmen wir nun an, dass Sie außerdem wollen, dass die Fußnotennummern nicht nur durch ein Komma, sondern durch ein Komma gefolgt von einem Leerzeichen getrennt werden sollen. In diesem Fall schreiben Sie \begin{lstcode} \renewcommand*{\multfootsep}{,\nobreakspace} \end{lstcode} in Ihre Dokumentpräambel. \Macro{nobreakspace}\IndexCmd{nobreakspace} wurde hier an Stelle eines normalen Leerzeichens gewählt, damit innerhalb der Reihung der Fußnotenzeichen kein Absatz- oder Seitenumbruch erfolgen kann. \end{Example}% \fi% \IfCommon{scrlttr2}{Beispiele und ergänzende Hinweise sind \autoref{sec:maincls.footnotes} ab \autopageref{desc:maincls.cmd.footnote.example} zu entnehmen.}% \EndIndex{Cmd}{footnote}% \EndIndex{Cmd}{footnotemark}% \EndIndex{Cmd}{footnotetext}% \EndIndex{Cmd}{multiplefootnoteseparator}% \EndIndex{Cmd}{multfootsep}% \fi %**************************************************** Ende nur maincls * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<10>> \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + \else %------------------------------------------------------- nur maincls - \begin{Declaration} \Macro{footref}\Parameter{Referenz} \end{Declaration} \BeginIndex{Cmd}{footref}% Manchmal\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} hat man in einem Dokument eine Fußnote, zu der es im Text mehrere Verweise geben soll. Die ungünstige Lösung dafür wäre die Verwendung von \Macro{footnotemark} unter Angabe der gewünschten Nummer. Ungünstig an dieser Lösung ist, dass man die Nummer kennen muss und sich diese jederzeit ändern kann. \KOMAScript{} bietet deshalb die Möglichkeit, den \Macro{label}-Mechanismus auch für Verweise auf Fußnoten zu verwenden. Man setzt dabei in der entsprechenden Fußnote eine \Macro{label}-Anweisung und kann dann mit \Macro{footref} alle weiteren Fußnotenmarken für diese Fußnote im Text setzen. \begin{Example} Sie schreiben einen Text, in dem sie bei jedem Auf"|treten eines Markennamens eine Fußnote setzen müssen, die darauf hinweist, dass es sich um einen geschützten Markennamen handelt. Sie schreiben beispielsweise: \ifCommonmaincls \begin{lstcode} Die Firma SplischSplasch\footnote{Bei diesem Namen handelt es sich um eine registrierte Marke. Alle Rechte daran sind dem Markeninhaber vorbehalten.\label{refnote}} stellt neben SplischPlumps\footref{refnote} auch noch die verbesserte Version SplischPlatsch\footref{refnote} her. \end{lstcode} Es wird dann dreimal eine Marke auf dieselbe Fußnote gesetzt, einmal mit \Macro{footnote} direkt und zweimal mit \Macro{footref}. \else \begin{lstcode} Die Firma SplischSplasch\footnote{Bei diesem Namen handelt es sich um eine registrierte Marke. Alle Rechte daran sind dem Markeninhaber, der Firma SplischSplasch, vorbehalten.\label{refnote}} stellt neben SplischPlumps\footref{refnote} auch noch die verbesserte Version SplischPlatsch\footref{refnote} und das sehr beliebte SplischSplaschPlumps\footref{refnote} her. \end{lstcode} Es wird dann vier Mal eine Marke auf dieselbe Fußnote gesetzt, einmal mit \Macro{footnote} direkt und drei Mal mit \Macro{footref}. \fi \end{Example} Da die Fußnotenmarken mit Hilfe des \Macro{label}-Mechanismus gesetzt werden, werden nach Änderungen, die sich auf die Fußnotennummerierung auswirken, gegebenenfalls zwei \LaTeX-Durchläufe benötigt, bis die mit \Macro{footref} gesetzten Marken korrekt sind.% % \EndIndex{Cmd}{footref}% \IfCommon{scrlttr2}{\EndIndex{}{Fussnoten=Fußnoten}} \fi %**************************************************** Ende nur maincls * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<11>> \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + \else %------------------------------------------------------- nur maincls - \begin{Declaration} \Macro{deffootnote}\OParameter{Markenbreite}\Parameter{Einzug}% \Parameter{Absatzeinzug}\Parameter{Markendefinition}\\ \Macro{deffootnotemark}\Parameter{Markendefinition}\\ \Macro{thefootnotemark} \end{Declaration}% \BeginIndex{Cmd}{deffootnote}% \BeginIndex{Cmd}{deffootnotemark}% \BeginIndex{Cmd}{thefootnotemark}% Die \KOMAScript-Klassen setzen Fußnoten etwas anders als die Standardklassen. Die Fußnotenmarkierung im Text, also die Referenzierung der Fußnote, erfolgt wie bei den Standardklassen durch kleine hochgestellte Zahlen. Genauso werden die Markierungen auch in der Fußnote selbst wiedergegeben. Sie werden dabei rechtsbündig in einem Feld der Breite \PName{Markenbreite} gesetzt. Die erste Zeile der Fußnote schließt direkt an das Feld der Markierung an. Alle weiteren Zeilen werden um den Betrag von \PName{Einzug} eingezogen ausgegeben. Wird der optionale Parameter \PName{Markenbreite} nicht angegeben, dann entspricht er dem Wert von \PName{Einzug}. Sollte die Fußnote aus mehreren Absätzen bestehen, dann wird die erste Zeile eines Absatzes zusätzlich mit dem Einzug der Größe \PName{Absatzeinzug} versehen. \IfCommon{maincls}{% \begin{figure} \centering\setlength{\unitlength}{1mm} \begin{picture}(100,22) \thinlines % frame of following paragraph \put(5,0){\line(1,0){90}} \put(5,0){\line(0,1){5}} \put(10,5){\line(0,1){5}}\put(5,5){\line(1,0){5}} \put(95,0){\line(0,1){10}} \put(10,10){\line(1,0){85}} % frame of first paragraph \put(5,11){\line(1,0){90}} \put(5,11){\line(0,1){5}} \put(15,16){\line(0,1){5}}\put(5,16){\line(1,0){10}} \put(95,11){\line(0,1){10}} \put(15,21){\line(1,0){80}} % box of the footnote mark \put(0,16.5){\framebox(14.5,4.5){\mbox{}}} % description of paragraphs \put(45,16){\makebox(0,0)[l]{\small\textsf{erster Absatz einer Fußnote}}} \put(45,5){\makebox(0,0)[l]{\small\textsf{folgender Absatz einer Fußnote}}} % help lines \thicklines \multiput(0,0)(0,3){7}{\line(0,1){2}} \multiput(5,0)(0,3){3}{\line(0,1){2}} % parameters \put(2,7){\vector(1,0){3}} \put(5,7){\line(1,0){5}} \put(15,7){\vector(-1,0){5}} \put(15,7){\makebox(0,0)[l]{\small\PName{Absatzeinzug}}} % \put(-3,13){\vector(1,0){3}} \put(0,13){\line(1,0){5}} \put(10,13){\vector(-1,0){5}} \put(10,13){\makebox(0,0)[l]{\small\PName{Einzug}}} % \put(-3,19){\vector(1,0){3}} \put(0,19){\line(1,0){14.5}} \put(19.5,19){\vector(-1,0){5}} \put(19.5,19){\makebox(0,0)[l]{\small\PName{Markenbreite}}} \end{picture} \caption{Parameter für die Darstellung der Fußnoten} \label{fig:maincls.deffootnote} \end{figure}} \autoref{fig:maincls.deffootnote} % \IfCommon{scrlttr2}{auf \autopageref{fig:maincls.deffootnote} }% veranschaulicht die verschiedenen Parameter% \IfCommon{maincls}{ nochmals}% . Die Voreinstellung in den \KOMAScript-Klassen entspricht folgender Definition: % Umbruchkorrektur: listings korrigieren! \begin{lstcode}[belowskip=\dp\strutbox] \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} \end{lstcode} Dabei wird mit Hilfe von \Macro{textsuperscript} sowohl die Hochstellung als auch die Wahl einer kleineren Schrift erreicht. \Macro{thefootnotemark} ist die aktuelle Fußnotenmarke ohne jegliche Formatierung.% \IfCommon{scrextend}{ Das Paket \Package{scrextend} überlässt hingegen in der Voreinstellung das Setzen der Fußnoten der verwendeten Klasse. Das Laden des Pakets allein sollte daher noch zu keinerlei Änderungen bei der Formatierung der Fußnoten oder der Fußnotenmarken führen. Zur Übernahme der Voreinstellungen der \KOMAScript-Klassen muss man vielmehr obige Einstellung selbst vornehmen. Dazu kann obige Code-Zeile beispielsweise unmittelbar nach dem Laden von \Package{scrextend} eingefügt werden.}% \BeginIndex{FontElement}{footnote}% \BeginIndex{FontElement}{footnotelabel}% Auf\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} die Fußnote einschließlich der Markierung findet außerdem die für das Element \FontElement{footnote} eingestellte Schriftart Anwendung. Die % Umbruchkorrekturvarianten \IfCommon{maincls}{davon abweichende }% Schriftart der Markierung kann % \IfNotCommon{maincls}{jedoch }% mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) für das Element \FontElement{footnotelabel} % \IfCommon{scrlttr2}{davon abweichend }% eingestellt werden. Siehe hierzu auch % \IfNotCommon{scrextend}{\autoref{tab:\csname label@base\endcsname.elementsWithoutText}, \autopageref{tab:\csname label@base\endcsname.elementsWithoutText}}% \IfCommon{scrextend}{\autoref{tab:maincls.elementsWithoutText}, \autopageref{tab:maincls.elementsWithoutText}}% . Voreingestellt ist jeweils keine Umschaltung der Schrift.% \IfCommon{scrextend}{ Die Elemente finden bei scrextend jedoch nur dann Anwendung, wenn die Fußnoten mit diesem Paket gesetzt werden, also \Macro{deffootnote} verwendet wurde.}% \EndIndex{FontElement}{footnotelabel}% \EndIndex{FontElement}{footnote}% Die Fußnotenmarkierung im Text wird getrennt von der Markierung vor der Fußnote definiert. Dies geschieht mit der Anweisung \Macro{deffootnotemark}. Voreingestellt ist hier: % Umbruchkorrektur: listings korrigieren! \begin{lstcode}[belowskip=\dp\strutbox] \deffootnotemark{\textsuperscript{\thefootnotemark}} \end{lstcode} Dabei findet\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} die Schriftart für das Element \FontElement{footnotereference}\IndexFontElement{footnotereference} Anwendung (siehe % \IfNotCommon{scrextend}{\autoref{tab:\csname label@base\endcsname.elementsWithoutText}, \autopageref{tab:\csname label@base\endcsname.elementsWithoutText}}% \IfCommon{scrextend}{\autoref{tab:maincls.elementsWithoutText}, \autopageref{tab:maincls.elementsWithoutText}}% ). Die Markierungen im Text und in der Fußnote selbst sind also identisch. Die Schriftart kann mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) jedoch geändert werden% \IfCommon{scrextend}{, sobald die Anweisung \Macro{deffootnotemark} verwendet wird}% . \ifCommonscrlttr\else \begin{Example} \phantomsection\label{desc:maincls.cmd.deffootnote.example}% Relativ häufig wird gewünscht, dass die Markierung in der Fußnote selbst weder hochgestellt noch kleiner gesetzt wird. Dabei soll sie aber nicht direkt am Text kleben, sondern geringfügig davor stehen. Dies kann zum einen wie folgt erreicht werden: \begin{lstcode} \deffootnote{1em}{1em}{\thefootnotemark\ } \end{lstcode} Die Fußnotenmarkierung einschließlich dem folgenden Leerzeichen wird also rechtsbündig in eine Box der Breite 1\Unit{em} gesetzt. Die folgenden Zeilen der Fußnote werden gegenüber dem linken Rand ebenfalls um 1\Unit{em} eingezogen. Eine weitere, oft gefragte Formatierung sind linksbündige Fußnotenmarkierungen in der Fußnote. Diese können mit folgender Definition erhalten werden: \begin{lstcode} \deffootnote{1.5em}{1em}{% \makebox[1.5em][l]{\thefootnotemark}} \end{lstcode} Sollen jedoch die Fußnoten insgesamt lediglich in einer anderen Schriftart, beispielsweise serifenlos gesetzt werden, so ist dies ganz einfach mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.cmd.setkomafont}) zu lösen: \begin{lstcode} \setkomafont{footnote}{\sffamily} \end{lstcode} \end{Example} Wie die Beispiele zeigen, ermöglicht {\KOMAScript} mit dieser einfachen Benutzerschnittstelle eine große Vielfalt unterschiedlicher Fußnotenformatierungen.% \fi% \IfCommon{scrlttr2}{Beispiele finden Sie in \autoref{sec:maincls.footnotes}, \autopageref{desc:maincls.cmd.deffootnote}.}% % \EndIndex{Cmd}{deffootnote}% \EndIndex{Cmd}{deffootnotemark}% \EndIndex{Cmd}{thefootnotemark}% \IfNotCommon{scrlttr2}{\EndIndex{}{Fussnoten=Fußnoten}} \fi %**************************************************** Ende nur maincls * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<12>> \section{Listen} \label{sec:\csname label@base\endcsname.lists}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + Es gilt sinngemäß, was in \autoref{sec:maincls.footnotes} geschrieben wurde. \IfCommon{scrextend}{Allerdings werden vom Paket \Package{scrextend} nur die Umgebungen \Environment{labeling}, \Environment{addmargin} und \Environment{addmargin*} definiert. Alle anderen Listenumgebungen bleiben der Verantwortung und Kontrolle der verwendeten Klasse überlassen.} \else %------------------------------------------------------- nur maincls - \BeginIndex{}{Listen}% {\LaTeX} und die Standardklassen bieten verschiedene Umgebungen für Listen. All diese Umgebungen bietet {\KOMAScript} selbstverständlich auch, teilweise jedoch mit leichten Abwandlungen oder Erweiterungen. Grundsätzlich gilt, dass Listen -- auch unterschiedlicher Art -- bis zu einer Tiefe von vier Listen geschachtelt werden können. Eine tiefere Schachtelung wäre auch aus typografischen Gründen kaum sinnvoll, da genau genommen schon mehr als drei Ebenen nicht mehr überblickt werden können. Ich empfehle in solchen Fällen, die eine große Liste in mehrere kleinere Listen aufzuteilen. \IfCommon{scrlttr2}{Da Listen zu den Standardelementen von \LaTeX{} gehören, wurde in diesem Abschnitt auf Beispiele verzichtet. Sie finden solche in \autoref{sec:maincls.lists} ab \autopageref{sec:maincls.lists} oder in jeder \LaTeX-Einführung.} \ifCommonscrextend\else \begin{Declaration} \XMacro{begin}\PParameter{\Environment{itemize}}\\ \quad\Macro{item}\\ \quad\dots\\ \XMacro{end}\PParameter{itemize}\\ \Macro{labelitemi}\\ \Macro{labelitemii}\\ \Macro{labelitemiii}\\ \Macro{labelitemiv} \end{Declaration}% \BeginIndex{Env}{itemize}% \BeginIndex{Cmd}{item}% \BeginIndex{Cmd}{labelitemi}% \BeginIndex{Cmd}{labelitemii}% \BeginIndex{Cmd}{labelitemiii}% \BeginIndex{Cmd}{labelitemiv}% Die einfachste Form einer Liste ist die Stichpunkt- oder \Environment{itemize}-Liste. Die Benutzer einer unbeliebten Textverarbeitung nennen diese Form der Liste auch gerne \emph{Bulletpoints}. Vermutlich können sie sich nicht vorstellen, dass je nach Ebene auch ein anderes Zeichen als ein fetter Punkt zur Einleitung eines Stichpunkts verwendet werden kann. Bei den \KOMAScript-Klassen werden je nach Ebene folgende Zeichen verwendet: »{\labelitemi}«, »{\labelitemii}«, »{\labelitemiii}« und »{\labelitemiv}«. Die Definition der Zeichen für die einzelnen Ebenen sind in den Makros \Macro{labelitemi}, \Macro{labelitemii}, \Macro{labelitemiii} und \Macro{labelitemiv} abgelegt. Sie können mit \Macro{renewcommand} umdefiniert werden. Die einzelnen Stichpunkte werden mit \Macro{item} eingeleitet.% % \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.env.itemize.example}% Sie haben eine einfache Aufzählung, die in mehreren Ebenen geschachtelt ist. Sie schreiben beispielsweise: \begin{lstcode} \minisec{Die Fahrzeuge im Spiel} \begin{itemize} \item Flugzeuge \begin{itemize} \item Doppeldecker \item Jets \item Transportmaschinen \begin{itemize} \item einmotorig \begin{itemize} \item{düsengetrieben} \item{propellergetrieben} \end{itemize} \item mehrmotorig \end{itemize} \item Drehflügler \end{itemize} \item Motorräder \begin{itemize} \item historisch korrekt \item futurisch nicht real \end{itemize} \item Automobile \end{itemize} \end{lstcode} Anschließend erhalten Sie: \begin{ShowOutput}[\baselineskip] \minisec{Die Fahrzeuge im Spiel} \begin{itemize} \item Flugzeuge \begin{itemize} \item Doppeldecker \item Jets \item Transportmaschinen \begin{itemize} \item einmotorig \begin{itemize} \item{düsengetrieben} \item{propellergetrieben} \end{itemize} \item mehrmotorig \end{itemize} \item Drehflügler \end{itemize} \item Motorräder \begin{itemize} \item historisch korrekt \item futurisch nicht real \end{itemize} \item Automobile % \begin{itemize} % \item Rennwagen % \item Personenwagen % \item Lastwagen % \end{itemize} % \item Fahrräder \end{itemize} \end{ShowOutput} \end{Example}% \fi % \EndIndex{Env}{itemize}% \EndIndex{Cmd}{item}% \EndIndex{Cmd}{labelitemi}% \EndIndex{Cmd}{labelitemii}% \EndIndex{Cmd}{labelitemiii}% \EndIndex{Cmd}{labelitemiv}% \begin{Declaration} \XMacro{begin}\PParameter{\Environment{enumerate}}\\ \quad\XMacro{item}\\ \quad\dots\\ \XMacro{end}\PParameter{enumerate}\\ \Macro{theenumi}\\ \Macro{theenumii}\\ \Macro{theenumiii}\\ \Macro{theenumiv}\\ \Macro{labelenumi}\\ \Macro{labelenumii}\\ \Macro{labelenumiii}\\ \Macro{labelenumiv} \end{Declaration}% \BeginIndex{Env}{enumerate}% \BeginIndex{Cmd}{item}% \BeginIndex{Cmd}{theenumi}% \BeginIndex{Cmd}{theenumii}% \BeginIndex{Cmd}{theenumiii}% \BeginIndex{Cmd}{theenumiv}% \BeginIndex{Cmd}{labelenumi}% \BeginIndex{Cmd}{labelenumii}% \BeginIndex{Cmd}{labelenumiii}% \BeginIndex{Cmd}{labelenumiv}% Die nummerierte Liste ist ebenfalls sehr häufig zu finden und bereits vom {\LaTeX}-Kern vorgesehen. Die Nummerierung\Index{Nummerierung} erfolgt je nach Ebene in unterschiedlicher Art: mit arabischen Zahlen, mit Kleinbuchstaben, mit kleinen römischen Zahlen und mit Großbuchstaben. Die Art der Nummerierung wird dabei über die Makros \Macro{theenumi} bis \Macro{theenumiv} festgelegt. Das Format der Ausgabe wird von den Makros \Macro{labelenumi} bis \Macro{labelenumiv} bestimmt. Dabei folgt auf den Wert der zweiten Ebene, der in Kleinbuchstaben ausgegeben wird, eine runde Klammer, während die Werte aller anderen Ebenen von einem Punkt gefolgt werden. Die einzelnen Stichpunkte werden wieder mit \Macro{item} eingeleitet.% \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.env.enumerate.example}% Verkürzen wir das vorherige Beispiel und verwenden statt der \Environment{itemize}- eine \Environment{enumerate}-Umgebung: % Übernehmen wir das Beispiel der \Environment{itemize}-Umgebung, % wobei wir jede \Environment{itemize}-Umgebung durch eine % \Environment{enumerate}-Umgebung ersetzen. Das Ergebnis wäre dann: \begin{ShowOutput}[\baselineskip] \minisec{Die Fahrzeuge im Spiel} \begin{enumerate} \item Flugzeuge \begin{enumerate} \item Doppeldecker % \item Jets \item Transportmaschinen \begin{enumerate} \item einmotorig \begin{enumerate} \item{düsengetrieben}\label{xmp:maincls.jets} \item{propellergetrieben} \end{enumerate} \item mehrmotorig \end{enumerate} % \item Drehflügler \end{enumerate} \item Motorräder \begin{enumerate} \item historisch korrekt \item futurisch nicht real \end{enumerate} % \item Automobile % \begin{enumerate} % \item Rennwagen % \item Personenwagen % \item Lastwagen % \end{enumerate} % \item Fahrräder \end{enumerate} \end{ShowOutput} Innerhalb der Aufzählung können ganz normal mit \Macro{label} Marken gesetzt werden, auf die dann mit \Macro{ref} zugegriffen werden kann. So wurde oben hinter den düsengetriebenen, einmotorigen Flugzeugen mit »\Macro{label}\PParameter{bsp:duesen}« ein Label gesetzt. Der \Macro{ref}-Wert ist dann »\ref{xmp:maincls.jets}«. \end{Example}% \fi % \EndIndex{Env}{enumerate}% \EndIndex{Cmd}{item}% \EndIndex{Cmd}{theenumi}% \EndIndex{Cmd}{theenumii}% \EndIndex{Cmd}{theenumiii}% \EndIndex{Cmd}{theenumiv}% \EndIndex{Cmd}{labelenumi}% \EndIndex{Cmd}{labelenumii}% \EndIndex{Cmd}{labelenumiii}% \EndIndex{Cmd}{labelenumiv}% \begin{Declaration} \XMacro{begin}\PParameter{\Environment{description}}\\ \quad\XMacro{item}\OParameter{Stichwort}\\ \quad\dots\\ \XMacro{end}\PParameter{description} \end{Declaration}% \BeginIndex{Env}{description}% \BeginIndex{Cmd}{item}% Eine weitere Listenform ist die Stichwortliste. Sie dient in erster Linie der Beschreibung einzelner Begriffe. Diese werden als optionale Parameter bei \Macro{item} angegeben. Die Schriftart\Index{Schriftart}\ChangedAt{v2.8p}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}, die für die Hervorhebung des Stichworts verwendet wird, kann außerdem bei den \KOMAScript-Klassen mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) für das Element \FontElement{descriptionlabel}\IndexFontElement{descriptionlabel} (siehe \autoref{tab:\csname label@base\endcsname.elementsWithoutText}, \autopageref{tab:\csname label@base\endcsname.elementsWithoutText}) geändert werden. In der Voreinstellung wird \Macro{sffamily}""\Macro{bfseries} verwendet.% \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.env.description.example}% Sie wollen, dass die Stichworte statt serifenlos und fett lediglich fett, aber in der Standardschriftart ausgegeben werden. Mit \begin{lstcode} \setkomafont{descriptionlabel}{\normalfont\bfseries} \end{lstcode} definieren Sie daher die Schrift entsprechend um. Ein Beispiel für die Ausgabe einer Stichwortliste ist eine Aufzählung der Seitenstile. Der Quelltext dazu lautet beispielsweise: \begin{lstcode} \begin{description} \item[empty] ist der Seitenstil, bei dem Kopf- und Fußzeile vollständig leer bleiben. \item[plain] ist der Seitenstil, bei dem keinerlei Kolumnentitel verwendet wird. \item[headings] ist der Seitenstil für automatische Kolumnentitel. \item[myheadings] ist der Seitenstil für manuelle Kolumnentitel. \end{description} \end{lstcode} Diese ergibt: \begin{ShowOutput} \begin{description} \item[empty] ist der Seitenstil, bei dem Kopf- und Fußzeile vollständig leer bleiben. \item[plain] ist der Seitenstil, bei dem keinerlei Kolumnentitel verwendet wird. \item[headings] ist der Seitenstil für automatische Kolumnentitel. \item[myheadings] ist der Seitenstil für manuelle Kolumnentitel. \end{description} \end{ShowOutput} \end{Example}% \fi % \EndIndex{Env}{description}% \EndIndex{Cmd}{item}% \fi % \ifCommonscrextend\else \begin{Declaration} \XMacro{begin}\PParameter{\Environment{labeling}}% \OParameter{Trennzeichen}\Parameter{längstes Muster}\\ \quad\XMacro{item}\OParameter{Schlüsselwort}\\ \quad\dots\\ \XMacro{end}\PParameter{labeling} \end{Declaration}% \BeginIndex{Env}{labeling}% \BeginIndex{Cmd}{item}% Eine andere Form der % \IfCommon{scrextend}{in vielen Klassen als \Environment{description}-Umgebung vorhandenen }% Stichwortliste ist nur bei den {\KOMAScript}-Klassen % \IfCommon{scrextend}{und \Package{scrextend} }% vorhanden: die \Environment{labeling}-Umgebung. Im Unterschied zur zuvor vorgestellten Umgebung \Environment{description} kann bei \Environment{labeling} ein Muster angegeben werden, dessen Länge die Einrücktiefe bei allen Stichpunkten ergibt. Darüber hinaus kann zwischen Stichpunkt und Beschreibungstext ein optionales \PName{Trennzeichen} festgelegt werden. Die Schriftart\Index{Schriftart}\ChangedAt{v3.02}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Package{scrextend}}, die für die Hervorhebung des Schlüsselworts verwendet wird, kann mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) für das Element \FontElement{labelinglabel}\IndexFontElement{labelinglabel} (siehe \autoref{tab:\csname label@base\endcsname.elementsWithoutText}, \autopageref{tab:\csname label@base\endcsname.elementsWithoutText}) geändert werden. Für die davon abweichende Schriftart der Trennzeichen ist das Element \FontElement{labelingseparator}\IndexFontElement{labelingseparator} (siehe ebenfalls \autoref{tab:\csname label@base\endcsname.elementsWithoutText}, \autopageref{tab:\csname label@base\endcsname.elementsWithoutText}) zuständig. \ifCommonscrlttr\else \begin{Example} \phantomsection\label{desc:\csname label@base\endcsname.env.labeling.example}% \IfCommon{maincls}{Wir schreiben das Beispiel der \Environment{description}-Umgebung etwas um:}% \IfCommon{scrextend}{Eine einfache Liste könnte beispielsweise wie folgt definiert werden:}% \begin{lstcode} \setkomafont{labelinglabel}{\ttfamily} \setkomafont{labelingseparator}{\normalfont} \begin{labeling}[~--]{myheadings} \item[empty] Seitenstil für leere Seiten ohne Kopf und Fuß \item[plain] Seitenstil für Kapitelanfänge ganz ohne Kolumnentitel \item[headings] Seitenstil für automatische Kolumnentitel \item[myheadings] Seitenstil für manuelle Kolumnentitel \end{labeling} \end{lstcode} Als Ergebnis erhalten wir dann: \begin{ShowOutput} \setkomafont{labelinglabel}{\ttfamily} \setkomafont{labelingseparator}{\normalfont} \begin{labeling}[~--]{myheadings} \item[empty] Seitenstil für leere Seiten ohne Kopf und Fuß \item[plain] Seitenstil für Kapitelanfänge ganz ohne Kolumnentitel \item[headings] Seitenstil für automatische Kolumnentitel \item[myheadings] Seitenstil für manuelle Kolumnentitel \end{labeling} \end{ShowOutput} Wie in diesem Beispiel zu sehen ist, kann eine eventuell geforderte Schriftumschaltung in bei \KOMAScript{} gewohnter Weise erreicht werden. Da sich die Schriftumschaltung für das Schlüsselwort aber auch auf die Trennzeichen auswirkt, kann es eventuell erforderlich sein, die Schriftumschaltung dafür explizit aufzuheben. \end{Example} Gedacht war die Umgebung ursprünglich für Strukturen wie »Voraussetzung, Aussage, Beweis« oder »Gegeben, Gesucht, Lösung«, wie man sie in Vorlesungsskripten häufiger findet. Inzwischen findet die Umgebung aber ganz unterschiedliche Anwendungen. So wurde die Umgebung für Beispiele in dieser Anleitung mit Hilfe der \Environment{labeling}-Umgebung definiert.% \fi % \EndIndex{Env}{labeling}% \EndIndex{Cmd}{item}% \ifCommonscrextend\else \begin{Declaration} \XMacro{begin}\PParameter{\Environment{verse}}\\ \quad\dots\\ \XMacro{end}\PParameter{verse} \end{Declaration}% \BeginIndex{Env}{verse}% Die \Environment{verse}-Umgebung wird normalerweise nicht als Listenumgebung wahrgenommen, da hier nicht mit \Macro{item} gearbeitet wird. Stattdessen wird wie innerhalb der \Environment{flushleft}-Umgebung mit festen Zeilenumbrüchen gearbeitet. Intern handelt es sich jedoch sowohl bei den Standardklassen als auch bei {\KOMAScript} durchaus um eine Listenumgebung. Die \Environment{verse}-Umgebung findet hauptsächlich für Gedichte\Index{Gedichte} Anwendung. Dabei werden die Zeilen links und rechts eingezogen. Einzelne Verse werden mit einem festen Zeilenumbruch, also mit \verb|\\| beendet. Strophen werden ganz normal als Absatz gesetzt, also durch eine Leerzeile getrennt. Häufig findet stattdessen auch \Macro{medskip}\IndexCmd{medskip} oder \Macro{bigskip}\IndexCmd{bigskip} Verwendung. Will man verhindern, dass am Ende eines Verses ein Seitenumbruch erfolgt, so verwendet man ganz normal \verb|\\*| an Stelle von \verb|\\|.% \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.env.verse.example}% Als Beispiel ein kurzes Gedicht von Wilhelm Busch: \begin{lstcode} \begin{verse} Wenn einer, der mit Mühe kaum\\* Gekrochen ist auf einen Baum,\\* Schon meint, dass er ein Vogel wär,\\* So irrt sich der. \end{verse} \end{lstcode} Mit dem Resultat: \begin{ShowOutput} \vskip-.8\baselineskip% Umbruchkorrektur \begin{verse} Wenn einer, der mit Mühe kaum\\* Gekrochen ist auf einen Baum,\\* Schon meint, dass er ein Vogel wär,\\* So irrt sich der. \end{verse} \end{ShowOutput} Bei einem sehr langen Vers wie: \begin{lstcode} \begin{verse} Der Philosoph wie der Hausbesitzer hat immer Reparaturen.\\* \bigskip Wer dir sagt, er hätte noch nie gelogen, dem traue nicht, mein Sohn. \end{verse} \end{lstcode} bei dem ein Zeilenumbruch innerhalb des Verses erfolgt: \begin{ShowOutput} \vskip-.8\baselineskip% Umbruchkorrektur \begin{verse} Der Philosoph wie der Hausbesitzer hat immer Reparaturen.\\ \bigskip Wer dir sagt, er hätte noch nie gelogen, dem traue nicht, mein Sohn. \end{verse} \end{ShowOutput} kann mit \verb|\\*| allerdings nicht verhindert werden, dass am Zeilenumbruch auch ein Seitenumbruch erfolgt. Um dies zu erreichen, müsste innerhalb der ersten Zeile zusätzlich ein \Macro{nopagebreak}\IndexCmd{nopagebreak} eingefügt werden: \begin{lstcode} \begin{verse} Der Philosoph wie der Hausbesitzer\nopagebreak{} hat immer Reparaturen.\\ \bigskip Wer dir sagt, er hätte noch nie\nopagebreak{} gelogen, dem traue nicht, mein Sohn. \end{verse} \end{lstcode} \iftrue% Umbruchkorrekturtext Hier noch zwei Sprüche, die man immer bedenken sollte, wenn man mit scheinbar seltsamen Fragen zu {\LaTeX} oder den dazugehörigen Antworten konfrontiert ist: \begin{ShowOutput} \vskip-.8\baselineskip% Umbruchkorrektur \begin{verse} Wir mögen's keinem gerne gönnen,\\* Dass er was kann, was wir nicht können.\\ \bigskip Wie klein ist das, was einer ist,\\* Wenn man's mit seinem Dünkel misst. \end{verse} \end{ShowOutput} \fi In diesen Beispielen wurde übrigens jeweils \Macro{bigskip} verwendet, um zwei Sprüche voneinander zu trennen. \end{Example}% \fi % \EndIndex{Env}{verse}% \iffalse% Umbruchkorrekturvarianten \begin{Declaration} \XMacro{begin}\PParameter{\Environment{quote}}\\ \quad\dots\\ \XMacro{end}\PParameter{quote} \end{Declaration}% \BeginIndex{Env}{quote}% Dies ist intern ebenfalls eine Listenumgebung und sowohl bei den Standardklassen als auch bei {\KOMAScript} zu finden. Der Inhalt der Umgebung wird im Blocksatz mit beidseitigem Einzug gesetzt. Die Umgebung wird häufig verwendet, um längere Zitate\Index{Zitat} abzusetzen. Dabei werden Absätze innerhalb der Umgebung durch einen vertikalen Abstand gekennzeichnet.% \EndIndex{Env}{quote}% \begin{Declaration} \XMacro{begin}\PParameter{\Environment{quotation}}\\ \quad\dots\\ \XMacro{end}\PParameter{quotation} \end{Declaration}% \BeginIndex{Env}{quotation}% Diese Umgebung ist mit \Environment{quote} vergleichbar. Während bei \Environment{quote} Absätze durch vertikalen Abstand gekennzeichnet werden, wird bei \Environment{quotation} mit horizontalem Einzug der ersten Zeile eines Absatzes gearbeitet. Dies gilt auch für den ersten Absatz einer \Environment{quotation}-Umgebung. Wollen Sie dort den Einzug verhindern, müssen Sie die \Macro{noindent}-Anweisung\IndexCmd{noindent} voranstellen.% \EndIndex{Env}{quotation}% \else \begin{Declaration} \XMacro{begin}\PParameter{\Environment{quote}}\\ \quad\dots\\ \XMacro{end}\PParameter{quote}\\ \XMacro{begin}\PParameter{\Environment{quotation}}\\ \quad\dots\\ \XMacro{end}\PParameter{quotation} \end{Declaration}% \BeginIndex{Env}{quote}% \BeginIndex{Env}{quotation}% Diese beiden Umgebungen sind intern ebenfalls Listenumgebungen und sowohl bei den Standardklassen als auch bei {\KOMAScript} zu finden. Beide Umgebungen setzen Blocksatz, der rechts und links eingezogen ist. Verwendet werden die Umgebungen häufig, um längere Zitate\Index{Zitat} abzusetzen. Der Unterschied zwischen beiden liegt in der Art und Weise, wie Absätze abgesetzt werden. Während bei \Environment{quote} Absätze durch vertikalen Abstand gekennzeichnet werden, wird bei \Environment{quotation} mit horizontalem Einzug der ersten Zeile eines Absatzes gearbeitet. Dies gilt auch für den ersten Absatz einer \Environment{quotation}-Umgebung% Umbruchkorrektur \IfCommon{maincls}{, außer es wird \Macro{noindent}\IndexCmd{noindent} vorangestellt.}% \IfCommon{scrlttr2}{. Wollen Sie dort den Einzug verhindern, müssen Sie die \Macro{noindent}-Anweisung\IndexCmd{noindent} voranstellen.}% \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.env.quote.example}% Sie wollen eine kleine Anekdote hervorheben. Also schreiben Sie folgende \Environment{quotation}-Umgebung: % \begin{lstcode} \begin{quotation} Es klingelt an der Tür eines Pfarrhauses in Stuttgart. Als die Haushälterin öffnet, steht ein unrasierter Mann in einem reichlich schäbigen Mantel vor der Tür und hält seine Strickmütze in der Hand. "`Gute Frau,"' verkündet der Mann in gequältem Ton, doch bestem Hochdeutsch, während er verlegen von einem Bein auf das andere wechselt, "`ich habe seit drei Tagen nichts mehr gegessen."' Die Frau schüttelt mitleidig den Kopf und entgegnet im Brustton vollster Überzeugung: "`Guda Moh, Sie missat sich halt zwinga!"' \end{quotation} \end{lstcode} Das Ergebnis ist dann: \begin{ShowOutput} \iffalse% Umbruchkorrekturtext Ein kleines Beispiel für eine Anekdote, die sich einst in Schwaben zugetragen haben soll: \fi \begin{quotation} Es klingelt an der Tür eines Pfarrhauses in Stuttgart. Als die Haushälterin öffnet, steht ein unrasierter Mann in einem reichlich schäbigen Mantel vor der Tür und hält seine Strickmütze in der Hand. "`Gute Frau,"' verkündet der Mann in gequältem Ton, doch bestem Hochdeutsch, \iftrue% Umbruchkorrekturtext während er verlegen von einem Bein auf das andere wechselt, \fi "`ich habe seit drei Tagen nichts mehr gegessen."' Die Frau schüttelt mitleidig den Kopf und entgegnet im Brustton vollster Überzeugung: "`Guda Moh, Sie missat sich halt zwinga!"' \end{quotation} \end{ShowOutput} % Wenn Sie stattdessen eine \Environment{quote}-Umgebung verwenden, sieht das Ganze so aus: % \begin{ShowOutput} \iffalse% Umbruchkorrekturtext Ein kleines Beispiel für eine Anekdote, die sich einst in Schwaben zugetragen haben soll: \fi \begin{quote}\setlength{\parskip}{4pt plus 2pt minus 2pt} Es klingelt an der Tür eines Pfarrhauses in Stuttgart. Als die Haushälterin öffnet, steht ein unrasierter Mann in einem reichlich schäbigen Mantel vor der Tür und hält seine Strickmütze in der Hand. "`Gute Frau,"' verkündet der Mann in gequältem Ton, doch bestem Hochdeutsch, \iftrue% Umbruchkorrekturtext während er verlegen von einem Bein auf das andere wechselt, \fi "`ich habe seit drei Tagen nichts mehr gegessen."' Die Frau schüttelt mitleidig den Kopf und entgegnet im Brustton vollster Überzeugung: "`Guda Moh, Sie missat sich halt zwinga!"' \end{quote} \end{ShowOutput} % \end{Example}% \fi % \EndIndex{Env}{quote}% \EndIndex{Env}{quotation}% \fi % Umbruchkorrekturvarianten \fi % \ifCommonscrextend\else \begin{Declaration} \XMacro{begin}\PParameter{\Environment{addmargin}}% \OParameter{linker Einzug}\Parameter{Einzug}\\ \quad\dots\\ \XMacro{end}\PParameter{addmargin}\\ \XMacro{begin}\PParameter{\Environment{addmargin*}}% \OParameter{innerer Einzug}\Parameter{Einzug}\\ \quad\dots\\ \XMacro{end}\PParameter{addmargin*} \end{Declaration} \BeginIndex{Env}{addmargin}% \BeginIndex{Env}{addmargin*}% Wie bei % \IfCommon{scrextend}{den in den Standardklassen und den \KOMAScript-Klassen vorhandenen Umgebungen }% \Environment{quote} und \Environment{quotation} handelt es sich bei \Environment{addmargin} um eine Umgebung, die den Rand\Index{Rand} verändert. Im Unterschied zu den beiden erstgenannten Umgebungen kann der Anwender jedoch bei \Environment{addmargin} wählen, um welchen Wert der Rand verändert werden kann. Des Weiteren verändert die Umgebung den Absatzeinzug und den Absatzabstand nicht. Es wird auch kein zusätzlicher vertikaler Abstand vor und nach der Umgebung eingefügt. Ist nur das obligatorische Argument \PName{Einzug} angegeben, so wird der Inhalt der Umgebung rechts und links um diesen Wert eingezogen. Ist das optionale Argument \PName{linker Einzug} hingegen angegeben, so wird links abweichend von \PName{Einzug} der Wert \PName{linker Einzug} zum Rand addiert. Die Sternvariante \Environment{addmargin*} unterscheidet sich nur im doppelseitigen Satz von der Variante ohne Stern, wobei der Unterschied auch nur dann auf"|tritt, wenn das optionale Argument \PName{innerer Einzug} verwendet wird. Dabei wird dann der Wert von \PName{innerer Einzug} zum inneren Randanteil der Seite addiert. Dies ist bei rechten Seiten der linke Rand der Seite, bei linken Seiten jedoch der rechte Rand der Seite. \PName{Einzug} gilt dann für den jeweils anderen Rand. Bei beiden Varianten der Umgebung sind für alle Parameter auch negative Werte erlaubt. % Umbruchkorrektur \IfNotCommon{scrextend}{Damit kann man erreichen, dass die Umgebung in den Rand hineinragt.}% \IfCommon{scrextend}{Die Umgebung ragt dann entsprechend in den Rand hinein.}% \ifCommonscrlttr\else \begin{Example} \phantomsection\label{desc:maincls.env.addmargin.example}% Angenommen, Sie schreiben eine Anleitung mit kurzen Quellcode-Beispielen. Um diese sehr stark hervorzuheben, sollen sie mit horizontalen Linien vom Text abgesetzt und leicht in den äußeren Rand verschoben werden. Sie definieren sich dafür zunächst eine Umgebung: \begin{lstcode} \newenvironment{QuellcodeRahmen}{% \begin{addmargin*}[1em]{-1em}% \begin{minipage}{\linewidth}% \rule{\linewidth}{2pt}% }{% \rule[.25\baselineskip]{\linewidth}{2pt}% \end{minipage}% \end{addmargin*}% } \end{lstcode} \begin{ShowOutput} \newenvironment{QuellcodeRahmen}{% \begin{addmargin*}[1em]{-1em}% \begin{minipage}{\linewidth}% \rule{\linewidth}{2pt}% }{% \rule[.25\baselineskip]{\linewidth}{2pt}% \end{minipage}% \end{addmargin*}% } Die Umgebung in sich selbst gesetzt ergibt: \begin{QuellcodeRahmen} \begin{lstcode} \newenvironment{\QuellcodeRahmen}{% \begin{addmargin*}[1em]{-1em}% \begin{minipage}{\linewidth}% \rule{\linewidth}{2pt}% }{% \rule[.25\baselineskip]{\linewidth}{2pt}% \end{minipage}% \end{addmargin*}% } \end{lstcode} \end{QuellcodeRahmen} Das mag praktisch sein oder unpraktisch, zumindest jedoch zeigt es, wie die Umgebung verwendet werden kann. \end{ShowOutput} Das optionale Argument der \Environment{addmargin*}-Umgebung sorgt dafür, dass der innere Rand um den Wert 1\Unit{em} vergrößert wird. Dafür wird der äußere Rand um den negativen Wert vergrößert, also in Wirklichkeit um 1\Unit{em} verkleinert. Dies resultiert in einer Verschiebung um 1\Unit{em} nach außen. Selbstverständlich kann statt \PValue{1em} auch eine Länge, beispielsweise \PValue{2\Macro{parindent}}, verwendet werden. \end{Example} Ob eine Seite eine linke oder eine rechte Seite ist, kann übrigens beim ersten \LaTeX-Durchlauf nicht zuverlässig festgestellt werden. Siehe dazu die Erklärungen zu den Anweisungen \Macro{ifthispageodd} (\autoref{sec:\csname label@base\endcsname.oddOrEven}, \autopageref{desc:\csname label@base\endcsname.cmd.ifthispageodd}) und \Macro{ifthispagewasodd} (\autoref{sec:maincls-experts.addInfos}, \autopageref{desc:maincls-experts.cmd.ifthispageodd}). \begin{Explain} Im Zusammenspiel von Umgebungen wie Listen mit Absätzen ergeben sich für Laien häufiger Fragen. Daher widmet sich die weiterführende Erklärung zu Option \Option{parskip} in \autoref{sec:maincls-experts.addInfos}, \autopageref{desc:maincls-experts.option.parskip} auch diesem Thema. Ebenfalls im Expertenteil in \autoref{sec:maincls-experts.addInfos}, \autopageref{desc:maincls-experts.env.addmargin*} wird die Problematik von mehrseitigen \Environment{addmargin*}-Umgebungen behandelt. \end{Explain}% \fi% \ifCommonmaincls % \EndIndex{Env}{addmargin}% \EndIndex{Env}{addmargin*}% % \EndIndex{}{Listen} \fi %**************************************************** Ende nur maincls * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<13>> \section{Randnotizen} \label{sec:\csname label@base\endcsname.marginNotes}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + Es gilt sinngemäß, was in \autoref{sec:maincls.marginNotes} geschrieben wurde. \else %------------------------------------------------------- nur maincls - \BeginIndex{}{Randnotizen}% Außer dem eigentlichen Textbereich, der normalerweise den Satzspiegel ausfüllt, existiert in Dokumenten noch die so genannte Marginalienspalte. In dieser können Randnotizen gesetzt werden. % Umbruchkorrekturtext \IfNotCommon{scrlttr2}{In diesem \iffree{Dokument}{Buch} wird davon ebenfalls Gebrauch gemacht.}% \fi %**************************************************** Ende nur maincls * \IfCommon{scrlttr2}{Bei Briefen sind Randnotizen allerdings eher unüblich und sollten äußerst sparsam eingesetzt werden.}% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + \else %------------------------------------------------------- nur maincls - \begin{Declaration} \Macro{marginpar}\OParameter{Randnotiz links}\Parameter{Randnotiz}\\ \Macro{marginline}\Parameter{Randnotiz} \end{Declaration}% \BeginIndex{Cmd}{marginpar}% \BeginIndex{Cmd}{marginline}% Für Randnotizen\Index[indexmain]{Randnotizen} ist bei {\LaTeX} normalerweise die Anweisung \Macro{marginpar} vorgesehen. Die Randnotizen werden dabei im äußeren Rand gesetzt. Bei einseitigen Dokumenten wird der rechte Rand verwendet. Zwar kann bei \Macro{marginpar} optional eine abweichende Randnotiz angegeben werden, falls die Randnotiz im linken Rand landet, jedoch werden Randnotizen immer im Blocksatz ausgegeben. Die Erfahrung zeigt, dass bei Randnotizen statt des Blocksatzes oft je nach Rand linksbündiger oder rechtsbündiger Flattersatz zu bevorzugen ist. {\KOMAScript} bietet hierfür die Anweisung \Macro{marginline}. \ifCommonscrlttr\else \begin{Example} \phantomsection\label{desc:\csname label@base\endcsname.cmd.marginline.example}% In diesem Kapitel ist an einigen Stellen die % \IfCommon{maincls}{Klassenangabe \Class{scrartcl} }% \IfCommon{scrextend}{Paketangabe \Package{scrextend} }% im Rand zu finden. Diese kann mit: \ifCommonmaincls \begin{lstcode} \marginline{\texttt{scrartcl}} \end{lstcode} \else \begin{lstcode} \marginline{\texttt{scrextend}} \end{lstcode} \fi erreicht werden.% \iftrue % Umbruchkorrekturtext \footnote{Tatsächlich wurde nicht \Macro{texttt}, sondern eine semantische Auszeichnung verwendet. Um nicht unnötig zu verwirren, wurde diese im Beispiel ersetzt.}% \fi Statt \Macro{marginline} wäre auch die Verwendung von \Macro{marginpar} möglich gewesen. Tatsächlich wird bei obiger Anweisung intern nichts anders gemacht als: \ifCommonmaincls \begin{lstcode} \marginpar[\raggedleft\texttt{scrartcl}] {\raggedright\texttt{scrartcl}} \end{lstcode} \else \begin{lstcode} \marginpar[\raggedleft\texttt{scrextend}] {\raggedright\texttt{scrextend}} \end{lstcode} \fi Letztlich ist \Macro{marginline} also nur eine abkürzende Schreibweise. \end{Example} Für Experten sind in \autoref{sec:maincls-experts.addInfos}, \autopageref{desc:maincls-experts.cmd.marginpar} Probleme bei der Verwendung von \Macro{marginpar} dokumentiert. Diese gelten ebenso für \Macro{marginline}.% \fi% \IfCommon{scrlttr2}{Ein ausführliches Beispiel hierzu finden Sie in \autoref{sec:maincls.marginNotes}, \autopageref{desc:maincls.cmd.marginline.example}.}% % \EndIndex{Cmd}{marginpar}% \EndIndex{Cmd}{marginline}% % \EndIndex{}{Randnotizen}% \fi %**************************************************** Ende nur maincls * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<14>> \section{Dokumenttitel} \label{sec:\csname label@base\endcsname.titlepage}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + Es gilt sinngemäß, was in \autoref{sec:maincls.titlepage} geschrieben wurde. \IfCommon{scrextend}{Es gibt jedoch einen Unterschied:} \else %------------------------------------------------------- nur maincls - \BeginIndex{}{Titel}% Bei Dokumenten wird zwischen zwei verschiedenen Arten von Titeln für das gesamte Dokument unterschieden. Zum einen gibt es die Titelseiten. Hierbei steht der Dokumenttitel zusammen mit einigen zusätzlichen Informationen wie dem Autor auf einer eigenen Seite. Neben der Haupttitelseite kann es dabei weitere Titelseiten, etwa Schmutztitel, Verlagsinformationen, Widmung oder ähnliche, geben. Zum anderen gibt es den Titelkopf. Dabei erscheint der Titel lediglich am Anfang einer neuen -- in der Regel der ersten -- Seite. Unterhalb dieser Titelzeilen\Index{Titel>-Zeilen} wird das Dokument beispielsweise mit der Zusammenfassung, einem Vorwort oder dem Inhaltsverzeichnis fortgesetzt. \fi %**************************************************** Ende nur maincls * \IfCommon{scrextend}{% Die Möglichkeiten von \Package{scrextend} zum Dokumenttitel gehören zu den optionalen, erweiterten Möglichkeiten und stehen daher nur zur Verfügung, wenn zuvor beim Laden des Pakets \OptionValue{extendedfeature}{title} gewählt wurde (siehe \autoref{sec:scrextend.optionalFeatures}, \autopageref{desc:scrextend.option.extendedfeature}). Dies gilt auch für die Paketoptionen aus diesem Abschnitt.} \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + Darüber hinaus kann \Package{scrextend} nicht mit einer \KOMAScript-Klasse zusammen verwendet werden. In allen Beispielen aus \autoref{sec:maincls.titlepage} muss daher bei Verwendung von \Package{scrextend} \begin{lstcode} \documentclass{scrbook} \end{lstcode} durch \begin{lstcode} \documentclass{book} \usepackage[extendedfeature=title]{scrextend} \end{lstcode} ersetzt werden. \else %------------------------------------------------------- nur maincls - \begin{Declaration} \KOption{titlepage}\PName{Ein-Aus-Wert} \end{Declaration}% \BeginIndex{Option}{titlepage~=\PName{Ein-Aus-Wert}}% Mit dieser Option\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} wird ausgewählt, ob für die gesamte mit \Macro{maketitle} (siehe \autopageref{desc:\csname label@base\endcsname.cmd.maketitle}) gesetzte Titelei eigene Seiten\Index{Titel>-Seite} verwendet werden, oder stattdessen die Titelei von \Macro{maketitle} als Titelkopf\Index{Titel>-Kopf} gesetzt wird. Als \PName{Ein-Aus-Wert} kann einer der Standardwerte für einfache Schalter aus \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} verwendet werden. Mit \OptionValue{titlepage}{true} oder \Option{titlepage} wird die Titelei in Form von Titelseiten ausgewählt. Die Anweisung \Macro{maketitle} verwendet \Environment{titlepage}-Umgebungen zum Setzen dieser Seiten, die somit normalerweise weder Seitenkopf noch Seitenfuß erhalten. Bei {\KOMAScript} wurde die Titelei gegenüber den Standardklassen stark erweitert. Demgegenüber wird mit \OptionValue{titlepage}{false} erreicht, dass ein Titelkopf (engl.: \emph{in-page title}) gesetzt wird. Das heißt, die Titelei wird lediglich speziell hervorgehoben, auf der Seite mit dem Titel kann aber nachfolgend weiteres Material, beispielsweise eine Zusammenfassung oder ein Abschnitt gesetzt werden. \IfCommon{maincls}{Bei den Klassen \Class{scrbook} und \Class{scrreprt} sind Titelseiten voreingestellt. Demgegenüber verwendet \Class{scrartcl} in der Voreinstellung einen Titelkopf.}% \IfCommon{scrextend}{Die Voreinstellung ist von der verwendeten Klasse abhängig und wird von \Package{scrextend} kompatibel zu den Standardklassen erkannt. Setzt eine Klasse keine entsprechende Voreinstellung, so ist der Titelkopf voreingestellt.}% % \EndIndex{Option}{titlepage~=\PName{Ein-Aus-Wert}} \begin{Declaration} \XMacro{begin}\PParameter{\Environment{titlepage}}\\ \quad\dots\\ \XMacro{end}\PParameter{titlepage} \end{Declaration}% \BeginIndex{Env}{titlepage}% Grundsätzlich werden bei den Standardklassen und bei {\KOMAScript} alle Titelseiten in einer speziellen Umgebung, der \Environment{titlepage}-Umgebung, gesetzt. Diese Umgebung startet immer mit einer neuen Seite -- im zweiseitigen Layout sogar mit einer neuen rechten Seite -- im einspaltigen Modus. Für eine Seite wird der Seitenstil mit \Macro{thispagestyle}\PParameter{empty} geändert, so dass weder Seitenzahl noch Kolumnentitel ausgegeben werden. Am Ende der Umgebung wird die Seite automatisch beendet. Sollten Sie nicht das automatische Layout der Titelei, wie es das nachfolgend beschriebene \Macro{maketitle} bietet, verwenden können, ist zu empfehlen, eine eigene Titelei mit Hilfe dieser Umgebung zu entwerfen. \begin{Example} Angenommen, Sie wollen eine Titelseite, auf der lediglich oben links möglichst groß und fett das Wort »Me« steht -- kein Autor, kein Datum, nichts weiter. Folgendes Dokument ermöglicht das: \ifCommonmaincls \begin{lstcode} \documentclass{scrbook} \begin{document} \begin{titlepage} \textbf{\Huge Me} \end{titlepage} \end{document} \end{lstcode} \else \begin{lstcode} \documentclass{book} \usepackage[extendedfeature=title]{scrextend} \begin{document} \begin{titlepage} \textbf{\Huge Me} \end{titlepage} \end{document} \end{lstcode} \fi Einfach? Stimmt. \end{Example} % \EndIndex{Env}{titlepage} \begin{Declaration} \Macro{maketitle}\OParameter{Seitenzahl} \end{Declaration}% \BeginIndex{Cmd}{maketitle}% Während bei den Standardklassen nur maximal eine Titelseite mit den drei Angaben Titel, Autor und Datum existiert, können bei {\KOMAScript} mit \Macro{maketitle} bis zu sechs Titelseiten gesetzt werden. Im Gegensatz zu den Standardklassen kennt \Macro{maketitle} bei {\KOMAScript} außerdem noch ein optionales nummerisches Argument. Findet es Verwendung, so wird die Nummer als Seitenzahl der ersten Titelseite benutzt. Diese Seitenzahl wird jedoch nicht ausgegeben, sondern beeinflusst lediglich die Zählung. Sie sollten hier unbedingt eine ungerade Zahl wählen, da sonst die gesamte Zählung durcheinander gerät. Meiner Auf"|fassung nach gibt es nur zwei sinnvolle Anwendungen für das optionale Argument. Zum einen könnte man dem Schmutztitel\Index[indexmain]{Schmutztitel} die logische Seitenzahl \(-\)1 geben, um so die Seitenzählung erst ab der Haupttitelseite mit 1 zu beginnen. Zum anderen könnte man mit einer höheren Seitenzahl beginnen, beispielsweise 3, 5 oder 7, um so weitere Titelseiten zu berücksichtigen, die erst vom Verlag hinzugefügt werden. Wird ein Titelkopf verwendet, wird das optionale Argument ignoriert. Dafür kann der Seitenstil einer solchen Titelei durch Umdefinierung des Makros \Macro{titlepagestyle} (siehe \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.cmd.titlepagestyle}) verändert werden. Die folgenden Anweisungen führen nicht unmittelbar zum Setzen der Titelei. Das Setzen der Titelei erfolgt immer mit \Macro{maketitle}. Es sei an dieser Stelle auch darauf hingewiesen, dass \Macro{maketitle} nicht innerhalb einer \Environment{titlepage}-Umgebung zu verwenden ist. Wie in den Beispielen angegeben, sollte man nur entweder \Macro{maketitle} oder \Environment{titlepage} verwenden. Mit den nachfolgend erklärten Anweisungen werden lediglich die Inhalte der Titelei festgelegt. Sie müssen daher auch unbedingt vor \Macro{maketitle} verwendet werden. Es ist jedoch nicht notwendig und bei Verwendung des \Package{babel}-Pakets\IndexPackage{babel} (siehe \cite{package:babel}) auch nicht empfehlenswert, diese Anweisungen in der Dokumentpräambel vor \Macro{begin}\PParameter{document} zu verwenden. Beispieldokumente finden Sie am Ende des Abschnitts. \begin{Declaration} \Macro{extratitle}\Parameter{Schmutztitel} \end{Declaration}% \BeginIndex{Cmd}{extratitle}% \begin{Explain}% Früher war der Buchblock oftmals nicht durch einen Buchdeckel vor Verschmutzung geschützt. Diese Aufgabe übernahm dann die erste Seite des Buches, die meist einen Kurztitel, eben den \emph{Schmutztitel} trug. Auch heute noch wird diese Extraseite vor dem eigentlichen Haupttitel gerne verwendet und enthält dann Verlagsangaben, Buchreihennummer und ähnliche Angaben. \end{Explain} Bei {\KOMAScript} ist es möglich, vor der eigentlichen Titelseite eine weitere Seite zu setzen. Als \PName{Schmutztitel}\Index{Schmutztitel} kann dabei beliebiger Text -- auch mehrere Absätze -- gesetzt werden. Der Inhalt von \PName{Schmutztitel} wird von {\KOMAScript} ohne zusätzliche Beeinflussung der Formatierung ausgegeben. Dadurch ist dessen Gestaltung völlig dem Anwender überlassen. Die Rückseite des Schmutztitels bleibt leer. Der Schmutztitel ergibt auch dann eine eigene Titelseite, wenn mit Titelköpfen gearbeitet wird. Die Ausgabe des mit \Macro{extratitle} definierten Schmutztitels erfolgt als Bestandteil der Titelei mit \Macro{maketitle}. \begin{Example} Kommen wir auf das Beispiel von oben zurück und gehen davon aus, dass das spartanische »Me« nur den Schmutztitel darstellt. Nach dem Schmutztitel soll noch der Haupttitel folgen. Dann kann wie folgt verfahren werden: \ifCommonmaincls \begin{lstcode} \documentclass{scrbook} \begin{document} \extratitle{\textbf{\Huge Me}} \title{It's me} \maketitle \end{document} \end{lstcode} \else \begin{lstcode} \documentclass{book} \usepackage[extendedfeature=title]{scrextend} \begin{document} \extratitle{% \textbf{\Huge Me}% } \title{It's me} \maketitle \end{document} \end{lstcode} \fi Sie können den Schmutztitel aber auch horizontal zentriert und etwas tiefer setzen: \ifCommonmaincls \begin{lstcode} \documentclass{scrbook} \begin{document} \extratitle{\vspace*{4\baselineskip} \begin{center}\textbf{\Huge Me}\end{center}} \title{It's me} \maketitle \end{document} \end{lstcode} \else \begin{lstcode} \documentclass{book} \usepackage[extendedfeature=title]{scrextend} \begin{document} \extratitle{% \vspace*{4\baselineskip} \begin{center} \textbf{\Huge Me} \end{center}% } \title{It's me} \maketitle \end{document} \end{lstcode} \fi Die Anweisung \Macro{title} ist grundsätzlich notwendig, damit die Beispiele fehlerfrei sind. Sie wird nachfolgend erklärt. \end{Example} % \EndIndex{Cmd}{extratitle} \begin{Declaration} \Macro{titlehead}\Parameter{Kopf}\\ \Macro{subject}\Parameter{Typisierung}\\ \Macro{title}\Parameter{Titel}\\ \Macro{subtitle}\Parameter{Untertitel}\\ \Macro{author}\Parameter{Autor}\\ \Macro{date}\Parameter{Datum}\\ \Macro{publishers}\Parameter{Herausgeber}\\ \Macro{and}\\ \Macro{thanks}\Parameter{Fußnote} \end{Declaration}% \BeginIndex{Cmd}{titlehead}% \BeginIndex{Cmd}{subject}% \BeginIndex{Cmd}{title}% \BeginIndex{Cmd}{subtitle}% \BeginIndex{Cmd}{author}% \BeginIndex{Cmd}{date}% \BeginIndex{Cmd}{publishers}% \BeginIndex{Cmd}{and}% \BeginIndex{Cmd}{thanks}% Für den Inhalt der Haupttitelseite stehen sieben Elemente zur Verfügung. Die Ausgabe der Haupttitelseite erfolgt als Bestandteil der Titelei mit \Macro{maketitle}, während die hier aufgeführten Anweisungen lediglich der Definition der entsprechenden Elemente dienen. Der \PName{Kopf}\Index[indexmain]{Titel>Seitenkopf} des Haupttitels wird mit der Anweisung \Macro{titlehead} definiert. Er wird über die gesamte Textbreite in normalem Blocksatz am Anfang der Seite ausgegeben. Er kann vom Anwender frei gestaltet werden. Die \PName{Typisierung}\Index[indexmain]{Typisierung} wird unmittelbar über dem \PName{Titel} ausgegeben. Dabei\ChangedAt{v2.95}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} findet die Schriftumschaltung für das Element \FontElement{subject}\IndexFontElement{subject} Anwendung. Die Voreinstellung, die in \autoref{tab:maincls.titlefonts}% \IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts} }% \ zu finden ist, kann mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) verändert werden. Der \PName{Titel} wird in einer sehr großen Schrift ausgegeben. Dabei\ChangedAt{v2.8p}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} findet abgesehen von der Größe auch die Schriftumschaltung für das Element \FontElement{title}\IndexFontElement{title} Anwendung. Voreingestellt ist die gleiche Schrift, die für das Element \FontElement{disposition}\IndexFontElement{disposition} verwendet wird (siehe \autoref{tab:maincls.elementsWithoutText}, \autopageref{tab:maincls.elementsWithoutText}). Die Voreinstellungen können mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) verändert werden. Die Größe ist jedoch davon unabhängig (siehe \autoref{tab:maincls.mainTitle}, \autopageref{tab:maincls.mainTitle}). Der \PName{Untertitel}\ChangedAt{v2.97c}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} wird in der über das Element \FontElement{subtitle}\IndexFontElement{subtitle} eingestellten Schrift knapp unter dem Titel ausgegeben. Die Voreinstellung, die \autoref{tab:maincls.titlefonts}% \IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts}}% \ zu entnehmen ist, kann mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) verändert werden. \IfCommon{maincls}{% \begin{table} \centering \caption{Schriftvoreinstellungen für die Elemente des Titels} \begin{tabular}{ll} \toprule Element-Name & Voreinstellung \\ \midrule \FontElement{subject} & \Macro{normalfont}\Macro{normalcolor}\Macro{bfseries}\Macro{Large} \\ \FontElement{title} & \Macro{usekomafont}\PParameter{disposition} \\ \FontElement{subtitle} & \Macro{usekomafont}\PParameter{title}\Macro{large} \\ \bottomrule \end{tabular} \label{tab:maincls.titlefonts} \end{table}} Unter dem \PName{Untertitel} folgt der \PName{Autor}\Index[indexmain]{Autor}. Es kann auch durchaus mehr als ein Autor innerhalb des Arguments von \Macro{author} angegeben werden. Die Autoren sind dann mit \Macro{and} voneinander zu trennen. Unter dem Autor oder den Autoren folgt das Datum\Index{Datum}. Dabei ist das aktuelle Datum, \Macro{today}\IndexCmd{today}, voreingestellt. Es kann jedoch mit \Macro{date} eine beliebige Angabe -- auch ein leere -- erreicht werden. Als Letztes folgt schließlich der \PName{Herausgeber}\Index[indexmain]{Herausgeber}. Selbstverständlich kann diese Anweisung auch für andere Angaben geringer Wichtigkeit verwendet werden. Notfalls kann durch Verwendung einer \Macro{parbox} über die gesamte Seitenbreite auch erreicht werden, dass diese Angabe nicht zentriert, sondern im Blocksatz gesetzt wird. Sie ist dann als Äquivalent zum Kopf zu betrachten. Dabei ist jedoch zu beachten, dass sie oberhalb von eventuell vorhandenen Fußnoten ausgegeben wird. Fußnoten\Index{Fussnoten=Fußnoten} werden auf der Titelseite nicht mit \Macro{footnote}, sondern mit der Anweisung \Macro{thanks} erzeugt. Sie dienen in der Regel für Anmerkungen bei den Autoren. Als Fußnotenzeichen werden dabei Symbole statt Zahlen verwendet. Es ist zu beachten, dass \Macro{thanks} innerhalb des Arguments einer der übrigen Anweisungen, beispielsweise im Argument \PName{Autor} der Anweisung \Macro{author} zu verwenden ist. Bis auf den \PName{Kopf} und eventuelle Fußnoten werden alle Ausgaben horizontal zentriert. Diese Angaben sind noch einmal kurz zusammengefasst in \autoref{tab:maincls.mainTitle}% \IfNotCommon{maincls}{, \autopageref{tab:maincls.mainTitle} }% \ zu finden. \IfCommon{maincls}{\begin{table} \centering \caption[Der Haupttitel]{Schriftgröße und horizontale Ausrichtung der Elemente der Haupttitelseite in der Reihenfolge ihrer vertikalen Position von oben nach unten bei Verwendung von \Macro{maketitle}} \begin{tabular}{llll} \toprule Element & Anweisung & Schrift & Satz \\ \midrule Seitenkopf & \Macro{titlehead} & \Macro{normalsize} & Blocksatz \\ Typisierung & \Macro{subject} & \Macro{usekomafont}\PParameter{subject} & zentriert \\ Titel & \Macro{title} & \Macro{huge}\Macro{usekomafont}\PParameter{title} & zentriert \\ Untertitel & \Macro{subtitle} & \Macro{usekomafont}\PParameter{subtitle} & zentriert \\ Autoren & \Macro{author} & \Macro{Large} & zentriert \\ Datum & \Macro{date} & \Macro{Large} & zentriert \\ Herausgeber & \Macro{publishers} & \Macro{Large} & zentriert \\ \bottomrule \end{tabular} \label{tab:maincls.mainTitle} \end{table}} \begin{Example} Nehmen wir nun einmal an, Sie schreiben eine Diplomarbeit. Dabei sei vorgegeben, dass die Titelseite oben linksbündig das Institut einschließlich Adresse und rechtsbündig das Semester wiedergibt. Wie üblich ist ein Titel einschließlich Autor und Abgabedatum zu setzen. Außerdem soll der Betreuer angegeben und zu erkennen sein, dass es sich um eine Diplomarbeit handelt. Sie könnten das wie folgt erreichen: \ifCommonmaincls \iffree{}{\newpage}% Umbruchkorrektur \begin{lstcode} \documentclass{scrbook} \usepackage{ngerman} \begin{document} \titlehead{{\Large Universit"at Schlauenheim \hfill SS~2001\\} Institut f"ur Raumkr"ummung\\ Hochschulstra"se~12\\ 34567 Schlauenheim} \subject{Diplomarbeit} \title{Digitale Raumsimulation mit dem DSP\,56004} \subtitle{Klein aber fein?} \author{cand. stup. Uli Ungenau} \date{30. Februar 2001} \publishers{Betreut durch Prof. Dr. rer. stup. Naseweis} \maketitle \end{document} \end{lstcode} \else \begin{lstcode} \documentclass{book} \usepackage[extendedfeature=title]{scrextend} \usepackage{ngerman} \begin{document} \titlehead{{\Large Universit"at Schlauenheim \hfill SS~2001\\} Institut f"ur Raumkr"ummung\\ Hochschulstra"se~12\\ 34567 Schlauenheim} \subject{Diplomarbeit} \title{Digitale Raumsimulation mit dem DSP\,56004} \subtitle{Klein aber fein?} \author{cand. stup. Uli Ungenau} \date{30. Februar 2001} \publishers{Betreut durch Prof. Dr. rer. stup. Naseweis} \maketitle \end{document} \end{lstcode} \fi \end{Example} \begin{Explain} Ein häufiges Missverständnis betrifft die Bedeutung der Haupttitelseite. Irrtümlich wird oft angenommen, es handle sich dabei um den Buchumschlag oder Buchdeckel. Daher wird häufig erwartet, dass die Titelseite nicht den Randvorgaben für doppelseitige Satzspiegel gehorcht, sondern rechts und links gleich große Ränder besitzt. Nimmt man jedoch einmal ein Buch zur Hand und klappt es auf, trifft man sehr schnell auf mindestens eine Titelseite unter dem Buchdeckel innerhalb des so genannten Buchblocks. Genau diese Titelseiten werden mit \Macro{maketitle} gesetzt. Wie beim Schmutztitel handelt es sich also auch bei der Haupttitelseite um eine Seite innerhalb des Buchblocks, die deshalb dem Satzspiegel des gesamten Dokuments gehorcht. Überhaupt ist ein Buchdeckel, das \emph{Cover}, etwas, was man in einem getrennten Dokument erstellt. Schließlich hat er oft eine sehr individuelle Gestalt. Es spricht auch nichts dagegen, hierfür ein Grafik- oder DTP-Programm zu Hilfe zu nehmen. Ein getrenntes Dokument sollte auch deshalb verwendet werden, weil es später auf ein anderes Druckmedium, etwa Karton, und möglicherweise mit einem anderen Drucker ausgegeben werden soll. \end{Explain} % \EndIndex{Cmd}{titlehead}% \EndIndex{Cmd}{subject}% \EndIndex{Cmd}{title}% \EndIndex{Cmd}{subtitle}% \EndIndex{Cmd}{author}% \EndIndex{Cmd}{date}% \EndIndex{Cmd}{publishers}% \EndIndex{Cmd}{and}% \EndIndex{Cmd}{thanks}% \begin{Declaration} \Macro{uppertitleback}\Parameter{Titelrückseitenkopf}\\ \Macro{lowertitleback}\Parameter{Titelrückseitenfuß} \end{Declaration}% \BeginIndex{Cmd}{uppertitleback}% \BeginIndex{Cmd}{lowertitleback}% Im doppelseitigen Druck bleibt bei den Standardklassen die Rückseite des Blatts mit der Titelseite leer. Bei {\KOMAScript} lässt sich die Rückseite der Haupttitelseite hingegen für weitere Angaben nutzen. Dabei wird zwischen genau zwei Elementen unterschieden, die der Anwender frei gestalten kann: dem \PName{Titelrückseitenkopf}\Index{Titel>Rueckseite=Rückseite} und dem \PName{Titelrückseitenfuß}. Dabei kann der Kopf bis zum Fuß reichen und umgekehrt. \iffree{Nimmt man diese Anleitung als Beispiel, so wurde der Haftungsausschluss mit Hilfe von \Macro{uppertitleback} gesetzt.}{Beispielsweise hätte man die Verlagsinformationen zu diesem Buch wahlweise mit \Macro{uppertitleback} oder \Macro{lowertitleback} setzen können.}% % \EndIndex{Cmd}{uppertitleback}% \EndIndex{Cmd}{lowertitleback}% \begin{Declaration} \Macro{dedication}\Parameter{Widmung} \end{Declaration}% \BeginIndex{Cmd}{dedication}% {\KOMAScript} bietet eine eigene Widmungsseite. Diese Widmung\Index{Widmung} wird zentriert und in etwas größerer Schrift gesetzt. Die Rückseite ist wie bei der Seite mit dem Schmutztitel grundsätzlich leer. Die Widmungsseite wird zusammen mit der restlichen Titelei mit \Macro{maketitle} ausgegeben und muss daher vor dieser Anweisung definiert sein. \begin{Example} Nehmen wir dieses Mal an, dass Sie einen Gedichtband schreiben, den Sie Ihrer Frau widmen wollen. Das könnte wie folgt aussehen: \ifCommonmaincls \begin{lstcode} \documentclass{scrbook} \usepackage{ngerman} \begin{document} \extratitle{\textbf{\Huge In Liebe}} \title{In Liebe} \author{Prinz Eisenherz} \date{1412} \lowertitleback{Dieser Gedichtband wurde mit Hilfe von {\KOMAScript} und {\LaTeX} gesetzt.} \uppertitleback{Selbstverlach\par Auf"|lage: 1 Exemplar} \dedication{Meinem Schnuckelchen\\ in ewiger Liebe\\ von Deinem Hasenboppelchen.} \maketitle \end{document} \end{lstcode} \else \begin{lstcode} \documentclass{book} \usepackage[extendedfeature=title]{scrextend} \usepackage{ngerman} \begin{document} \extratitle{% \textbf{\Huge In Liebe}} \title{In Liebe} \author{Prinz Eisenherz} \date{1412} \lowertitleback{% Dieser Gedichtband wurde mit Hilfe von {\KOMAScript} und {\LaTeX} gesetzt.} \uppertitleback{% Selbstverlach\par Auf"|lage: 1 Exemplar} \dedication{% Meinem Schnuckelchen\\ in ewiger Liebe\\ von Deinem Hasenboppelchen.} \maketitle \end{document} \end{lstcode} \fi Ich bitte, die Kosenamen entsprechend Ihren Vorlieben zu ersetzen. \end{Example} % \EndIndex{Cmd}{dedication}% % \EndIndex{Cmd}{maketitle}% % \EndIndex{}{Titel} \fi %**************************************************** Ende nur maincls * \or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<15>> \section{Schlauer Spruch} \label{sec:\csname label@base\endcsname.dictum}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + Es gilt sinngemäß, was in \autoref{sec:maincls.dictum} geschrieben wurde. \IfCommon{scrextend}{Allerdings werden von \Package{scrextend} die Anweisungen \Macro{setchapterpreamble} und \Macro{setpartpreamble} nicht definiert. Ob die verwendete Klasse eine entsprechende Anweisung bietet, ist der Anleitung zur jeweiligen Klasse zu entnehmen.} \else %------------------------------------------------------- nur maincls - \BeginIndex{}{Spruch}% \BeginIndex{}{Zitat}% \BeginIndex{}{Redewendung}% Ein häufiger anzutreffendes Element ist ein Zitat oder eine Redewendung, die rechtsbündig unter oder über einer Überschrift gesetzt wird. Dabei werden der Spruch selbst und der Quellennachweis in der Regel speziell formatiert. \begin{Declaration} \Macro{dictum}\OParameter{Urheber}\Parameter{Spruch}\\ \Macro{dictumwidth}\\ \Macro{dictumauthorformat}\Parameter{Urheber}\\ \Macro{raggeddictum}\\ \Macro{raggeddictumtext}\\ \Macro{raggeddictumauthor} \end{Declaration}% \BeginIndex{Cmd}{dictum}% \BeginIndex{Cmd}{dictumwidth}% \BeginIndex{Cmd}{dictumauthorformat}% \BeginIndex{Cmd}{raggeddictum}% \BeginIndex{Cmd}{raggeddictumtext}% \BeginIndex{Cmd}{raggeddictumauthor}% Ein solcher Spruch kann mit der Anweisung \Macro{dictum} gesetzt werden. % \IfCommon{maincls}{Bei \KOMAScript-Klassen wird für Kapitel oder die Teile empfohlen, \Macro{dictum} als obligatorisches Argument einer der Anweisungen \Macro{setchapterpreamble} oder \Macro{setpartpreamble} (siehe \autoref{sec:maincls.structure}, \autopageref{desc:maincls.cmd.setchapterpreamble}) zu verwenden. Dies ist jedoch nicht zwingend.\par}% Der Spruch wird zusammen mit einem optional anzugebenden \PName{Urheber} in einer \Macro{parbox}\IndexCmd{parbox} (siehe \cite{latex:usrguide}) der Breite \Macro{dictumwidth} gesetzt. Dabei ist \Macro{dictumwidth} keine Länge, die mit \Macro{setlength} gesetzt wird. Es handelt sich um ein Makro, das mit \Macro{renewcommand} umdefiniert werden kann. Vordefiniert ist \lstinline;0.3333\textwidth;, also ein Drittel der jeweiligen Textbreite. Die Box selbst wird mit der Anweisung \Macro{raggeddictum} ausgerichtet. Voreingestellt ist dabei \Macro{raggedleft}\IndexCmd{raggedleft}, also rechtsbündig. \Macro{raggeddictum} kann mit Hilfe von \Macro{renewcommand} umdefiniert werden. Innerhalb der Box wird der \PName{Spruch} mit \Macro{raggeddictumtext} angeordnet. Voreingestellt ist hier \Macro{raggedright}\IndexCmd{raggedright}, also linksbündig. Eine Umdefinierung ist auch hier mit \Macro{renewcommand} möglich. Die Ausgabe erfolgt in der für Element \FontElement{dictumtext} eingestellten Schriftart, die mit den Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) geändert werden kann. Die Voreinstellung entnehmen Sie bitte \autoref{tab:maincls.dictumfont}% \IfNotCommon{maincls}{, \autopageref{tab:maincls.dictumfont}}% . Ist ein \PName{Urheber} angegeben, so wird dieser mit einer Linie über die gesamte Breite der \Macro{parbox} vom \PName{Spruch} abgetrennt. Mit \Macro{raggeddictumauthor} wird die Ausrichtung vorgenommen. Voreingestellt ist \Macro{raggedleft}. Auch diese Anweisung kann mit \Macro{renewcommand} umdefiniert werden. Die Ausgabe erfolgt in der Form, die mit \Macro{dictumauthorformat} festgelegt ist. Das Makro erwartet schlicht den \Macro{Urheber} als Argument. In der Voreinstellung ist \Macro{dictumauthorformat} als \begin{lstcode}[aboveskip={1ex plus 2ex},belowskip={1ex plus 2ex}] \newcommand*{\dictumauthorformat}[1]{(#1)} \end{lstcode} definiert. Der \PName{Urheber} wird also in runde Klammern gesetzt. Für das Element \PName{dictumauthor} kann dabei eine Abweichung der Schrift von der des Elementes \PName{dictumtext} definiert werden. Die Voreinstellung entnehmen Sie bitte \autoref{tab:maincls.dictumfont}. Eine Änderung ist mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) möglich.% % \ifCommonmaincls \begin{table} \centering% \caption{Schriftvoreinstellungen für die Elemente des Spruchs} \begin{tabular}{ll} \toprule Element & Voreinstellung \\ \midrule \FontElement{dictumtext} & \Macro{normalfont}\Macro{normalcolor}\Macro{sffamily}\Macro{small}\\ \FontElement{dictumauthor} & \Macro{itshape}\\ \bottomrule \end{tabular} \label{tab:maincls.dictumfont} \end{table} Wird \Macro{dictum} innerhalb der Anweisung \Macro{setchapterpreamble} oder \Macro{setpartpreamble} (siehe \autoref{sec:maincls.structure}, \autopageref{desc:maincls.cmd.setchapterpreamble}) verwendet, so ist Folgendes zu beachten: Die horizontale Anordnung erfolgt immer mit \Macro{raggeddictum}. Das optionale Argument zur horizontalen Anordnung, das die beiden Anweisungen vorsehen, bleibt daher ohne Wirkung. \Macro{textwidth} ist nicht die Breite des gesamten Textkörpers, sondern die aktuelle Textbreite. Ist also die Breite \Macro{dictumwidth} als \lstinline;.5\textwidth; definiert und bei \Macro{setchapterpreamble} wird als optionales Argument für die Breite ebenfalls \lstinline;.5\textwidth; angegeben, so erfolgt die Ausgabe in einer Box, deren Breite ein Viertel der Breite des Textkörpers ist. Es wird empfohlen, bei Verwendung von \Macro{dictum} auf die optionale Angabe einer Breite bei \Macro{setchapterpreamble} oder \Macro{setpartpreamble} zu verzichten. Sollen mehrere schlaue Sprüche untereinander gesetzt werden, so sollten diese durch einen zusätzlichen Abstand vertikal voneinander abgesetzt werden. Ein solcher kann leicht mit der Anweisung \Macro{bigskip}\IndexCmd{bigskip} gesetzt werden. \begin{Example} Sie schreiben ein Kapitel über die moderne Ehe. Dabei wollen sie in der Präambel zur Kapitelüberschrift einen schlauen Spruch setzen. Dieser soll unter der Überschrift erscheinen. Also schreiben Sie: \begin{lstcode} \setchapterpreamble[u]{% \dictum[Schiller]{Drum prüfe, wer sich ewig bindet \dots}} \chapter{Die moderne Ehe} \end{lstcode} Die Ausgabe erfolgt dann in der Form: \begin{ShowOutput} {\usekomafont{disposition}\usekomafont{chapter}% 17\enskip Die moderne Ehe\par} \vspace{\baselineskip} \dictum[Schiller]{Drum prüfe, wer sich ewig bindet \dots} \end{ShowOutput} Wenn Sie wollen, dass nicht ein Drittel, sondern nur ein Viertel der verfügbaren Textbreite für den Spruch verwendet wird, so definieren Sie \Macro{dictumwidth} wie folgt um: \begin{lstcode} \renewcommand*{\dictumwidth}{.25\textwidth} \end{lstcode} \end{Example} An dieser Stelle sei noch auf das Paket~\cite{package:ragged2e} hingewiesen, mit dem man Flattersatz mit Trennung erreichen kann.% \fi % \EndIndex{Cmd}{dictum}% \EndIndex{Cmd}{dictumwidth}% \EndIndex{Cmd}{dictumauthorformat}% \EndIndex{Cmd}{raggeddictum}% \EndIndex{Cmd}{raggeddictumtext}% \EndIndex{Cmd}{raggeddictumauthor}% % \EndIndex{}{Redewendung}% \EndIndex{}{Zitat}% \EndIndex{}{Spruch}% \fi %**************************************************** Ende nur maincls * \else %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <> \ClassError{scrguide}{No commen part \the\value{commonpar}\space known}{} \fi %%% Local Variables: %%% mode: latex %%% coding: iso-latin-1 %%% TeX-master: "../guide" %%% End: