diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/german')
12 files changed, 14054 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/Makefile b/Master/texmf-dist/source/latex/koma-script/doc/german/Makefile new file mode 100644 index 00000000000..7d340456b7e --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/Makefile @@ -0,0 +1,50 @@ +# ====================================================================== +# Makefile +# Copyright (c) Markus Kohm, 2002-2006 +# +# 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. +# ---------------------------------------------------------------------- +# Makefile +# Copyright (c) Markus Kohm, 2002-2006 +# +# 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. +# ====================================================================== + +# ---------------------------------------------------------------------- +# Directory with basics +BASEDIR ?= $(PWD)/../../ +DOCDIR = $(BASEDIR)doc/ +# language +LANGUAGE = german +LANGUAGESHORTCUT = de +LANGUAGELONG = ngerman + +include $(DOCDIR)Makefile.guide + +# +# end of file `Makefile' diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/adrconvnote.tex b/Master/texmf-dist/source/latex/koma-script/doc/german/adrconvnote.tex new file mode 100644 index 00000000000..3957940fe9b --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/adrconvnote.tex @@ -0,0 +1,98 @@ +% ====================================================================== +% adrconvnote.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ---------------------------------------------------------------------- +% adrconvnote.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ====================================================================== +% +% Chapter about adrconv of the KOMA-Script guide +% Maintained by Jens-Uwe Morawski (with help from Markus Kohm) +% +% ---------------------------------------------------------------------- +% +% Kapitel über adrconv in der KOMA-Script-Anleitung +% Verwaltet von Jens-Uwe Morawski (mit Unterstützung von Markus Kohm) +% +% ====================================================================== + +\ProvidesFile{adrconvnote.tex}[{2005/08/10 KOMA-Script guide (chapter: + adrconv)}] + +\chapter{Adressdateien aus Adressdatenbanken}% +\labelbase{addrconv}% +\index{Adressdatei}% +\index{Adressdatenbank}% +\IndexPackage{addrconv} + +In früheren Versionen von \KOMAScript{} war das Paket +\Package{addrconv} ein fester Bestandteil des +\KOMAScript{}-Systems. +Die hauptsächliche Verflechtung mit \KOMAScript{} +bestand darin, dass mit Hilfe dieses Paketes aus +Adressdatenbanken im \BibTeX-Format Adressdateien +für die \KOMAScript-Briefklasse oder für das +\Package{scraddr}-Paket erstellt werden konnten. + +\begin{lstlisting} + @address{HMUS, + name = {Hans Mustermann}, + title = {Mag. art.}, + city = {Heimstatt}, + zip = 01234, + country = {Germany}, + street = {Mauerstra{\ss}e 1}, + phone = {01234 / 5 67 89}, + note = {Alles nur Erfindung}, + key = {HMUS}, + } +\end{lstlisting} + +Aus Einträgen wie dem obenstehenden können mit Hilfe +von \BibTeX{} und verschiedenen \BibTeX-Stilen die +Adressdateien erstellt werden. +Weiterhin gibt es spezielle \LaTeX-Dateien, die es ermöglichen, +aus den Adressdateien Telefon- und Adressverzeichnisse +zu erstellen. + +Das Paket \Package{addrconv} war aber eigentlich ein eigenständiger Teil, der +auch noch über die Belange von \KOMAScript{} hinaus Möglichkeiten bietet. +Deshalb ist \Package{addrconv} bereits seit einiger Zeit nicht mehr in +\KOMAScript{} enthalten. Das Paket \Package{adrconv}, nur ein "`\Package{d}"', +ersetzt \Package{addrconv} vollständig. Es muss, falls nicht bereits in Ihrer +\TeX-Distribution enthalten, von \cite{package:adrconv} separat bezogen und +installiert werden. + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/guide-ngerman.tex b/Master/texmf-dist/source/latex/koma-script/doc/german/guide-ngerman.tex new file mode 100644 index 00000000000..13e2065b423 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/guide-ngerman.tex @@ -0,0 +1,443 @@ +% ====================================================================== +% guide-ngerman.tex +% Copyright (c) Markus Kohm, 2002-2006 +% +% 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. +% ---------------------------------------------------------------------- +% guide-ngerman.tex +% Copyright (c) Markus Kohm, 2002-2006 +% +% 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. +% ====================================================================== +% +% Language dependencies (ngerman) of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Sprachabhängigkeiten (ngerman) der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ====================================================================== +% +\ProvidesFile{guide-ngerman.tex}[{2006/05/10 + KOMA-Script guide language dependencies}] +% +% \section{Title} +% +% \begin{macro}{\GuideSubject} +% \begin{macro}{\GuideTitle} +% \begin{macro}{\GuideSubTitle} +% \begin{macro}{\GuideAuthorHeadline} +% \begin{macro}{\GuideWarrantyHeadline} +% \begin{macro}{\GuideWarranty} +% \begin{macro}{\GuideCopyright} +% \begin{macro}{\GuideDedication} +% Language dependencies of all the title pages. +% \begin{macrocode} +\newcommand*{\GuideSubject}{Die Anleitung} +\newcommand*{\GuideTitle}{\KOMAScript}% +\newcommand*{\GuideSubTitle}{ein wandelbares \LaTeXe-Paket}% +\newcommand*{\GuideAuthorHeadline}{Autoren des \KOMAScript-Pakets}% +\newcommand*{\GuideWarrantyHeadline}{Rechtliche Hinweise:}% +\newcommand*{\GuideWarranty}{Die Autoren dieser Anleitung sind in ihrer + Eigenschaft als Autoren dieser Anleitung nicht verantwortlich für die + Funktion oder Fehler der in dieser Anleitung beschriebenen Software. Bei der + Erstellung von Texten und Abbildungen wurde mit größter Sorgfalt + vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen + werden.\par\medskip% + Die Autoren können jedoch für fehlerhafte Angaben und deren Folgen weder + eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für + Verbesserungsvorschläge und Hinweise auf Fehler sind die Autoren + dankbar.\par\medskip% + In dieser Anleitung werden Warennamen ohne der Gewährleistung der freien + Verwendbarkeit und ohne besondere Kennzeichnung benutzt. Es ist jedoch davon + auszugehen, dass viele der Warennamen gleichzeitig eingetrage Warenzeichnen + oder als solche zu betrachten sind.}% +\newcommand*{\GuideCopyright}{Freie Bildschirm-Version ohne Optimierung des + Umbruchs\par\medskip% + Diese Anleitung ist als Bestandteil von \KOMAScript{} frei im Sinne der + \LaTeX{} Project Public License Version 1.3b. Eine für \KOMAScript{} gültige + deutsche Übersetzung liegt \KOMAScript{} in der Datei »\texttt{lppl-de.txt}« + bei. Diese Anleitung --~auch in gedruckter Form~-- darf nur zusammen mit den + übrigen Bestandteilen von \KOMAScript{} weitergegeben und verteilt werden. + Eine Verteilung der Anleitung unabhängig von den übrigen Bestandteilen von + \KOMAScript{} bedarf der ausdrücklichen Genehmigung der + Autoren.\par\medskip% + Eine umbruchoptimierte und erweiterte Ausgabe der \KOMAScript-Anleitung ist + in der dante-Edition des Verlags von Lehmanns Fachbuchhandlung GmbH + erschienen.}% +\newcommand*{\GuideDedication}{Den Freunden der Typografie!}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \section{CTAN Server to be Used} +% +% \begin{macro}{\GuideCTANserver} +% \begin{macrocode} +\newcommand*{\GuideCTANserver}{ftp.dante.de} +% \end{macrocode} +% \end{macro} +% +% +% \section{Terms} +% +% Some terms, e.g. used at index notes. +% +% \begin{macro}{\GuideClass} +% The term »class«. +% \begin{macrocode} +\newcommand*{\GuideClass}{Klasse} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuideCounter} +% The term »counter«. +% \begin{macrocode} +\newcommand*{\GuideCounter}{Zähler} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuideEnvironment} +% The term »environment«. +% \begin{macrocode} +\newcommand*{\GuideEnvironment}{Umgebung} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuideExample} +% The term »Example« used at a kind of heading, so it should be upper case. +% \begin{macrocode} +\newcommand*{\GuideExample}{Beispiel} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuideFile} +% The term »file«. +% \begin{macrocode} +\newcommand*{\GuideFile}{Datei} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuideFloatstyle} +% The term »\Package{float} style«. +% \begin{macrocode} +\newcommand*{\GuideFloatstyle}{\Package{float}-Stil} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuideFontElement} +% The term »element«. +% \begin{macrocode} +\newcommand*{\GuideFontElement}{Element} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuideLength} +% The term »length«. +% \begin{macrocode} +\newcommand*{\GuideLength}{Länge} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuideMacro} +% \begin{macro}{\GuideCommand} +% The term »command«. +% \begin{macrocode} +\newcommand*{\GuideMacro}{Befehl} +\let\GuideCommand\GuideMacro +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\GuideOption} +% The term »option«. +% \begin{macrocode} +\newcommand*{\GuideOption}{Option} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuidePackage} +% The term »package«. +% \begin{macrocode} +\newcommand*{\GuidePackage}{Paket} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuidePagestyle} +% The term »page style«. +% \begin{macrocode} +\newcommand*{\GuidePagestyle}{Seitenstil} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GuidePLength} +% \begin{macro}{\GuidePseudoPrefix} +% The prefix »pseudo« at the term »pseudo length« and the term itself. +% \begin{macrocode} +\newcommand*{\GuidePseudoPrefix}{Pseudo-} +\newcommand*{\GuidePLength}{\GuidePseudoPrefix\GuideLength} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\GuideVariable} +% The termo »variable«. +% \begin{macrocode} +\newcommand*{\GuideVariable}{Variable} +% \end{macrocode} +% \end{macro} +% +% +% \section{Index} +% +% \begin{macro}{\GuidegenIndex} +% \begin{macro}{\GuidecmdIndex} +% \begin{macro}{\GuidecmdIndexShort} +% \begin{macro}{\GuidelenIndex} +% \begin{macro}{\GuidelenIndexShort} +% \begin{macro}{\GuideelmIndex} +% \begin{macro}{\GuideelmIndexShort} +% \begin{macro}{\GuidefilIndex} +% \begin{macro}{\GuidefilIndexShort} +% \begin{macro}{\GuideoptIndex} +% \begin{macro}{\GuideoptIndexShort} +% The titles and short titles of each single index. +\newcommand*{\GuidegenIndex}{Allgemeiner Index} +\newcommand*{\GuidecmdIndex}{Index der Befehle, Umgebungen und + Variablen} +\newcommand*{\GuidecmdIndexShort}{Index der Befehle etc.} +\newcommand*{\GuidelenIndex}{Index der L\"angen und Z\"ahler} +\newcommand*{\GuidelenIndexShort}{Index der L\"angen etc.} +\newcommand*{\GuideelmIndex}{Index der Elemente mit + M\"oglichkeit zur Schriftumschaltung} +\newcommand*{\GuideelmIndexShort}{Index der Elemente} +\newcommand*{\GuidefilIndex}{Index der Dateien, Klassen und Pakete} +\newcommand*{\GuidefilIndexShort}{Index der Dateien etc.} +\newcommand*{\GuideoptIndex}{Index der Klassen- und + Paketoptionen} +\newcommand*{\GuideoptIndexShort}{Index der Optionen} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\GuideIndexPreamble} +% The preamble text of the whole index. +\newcommand*{\GuideIndexPreamble}{% + Fett hervorgehobene Zahlen geben die Seiten der Erkl\"arung zu einem + Stichwort wieder. Normal gedruckte Zahlen verweisen hingegen auf + Seiten mit zus\"atzlichen Informationen zum jeweiligen Stichwort.% +} +% \end{macro} +% +% +% \section{Bibliography} +% +% \begin{macro}{\GuideBibPreamble} +% \begin{macrocode} +\newcommand*{\GuideBibPreamble}{% + Sie finden im Folgenden eine ganze Reihe von Literaturangaben. Auf + all diese wird im Text verwiesen. In vielen F\"allen handelt es sich + um Dokumente oder ganze Verzeichnisse, die im Internet verf\"ugbar + sind. In diesen F\"allen ist statt eines Verlages eine URL angegeben. + Wird auf ein \LaTeX-Paket verwiesen, so findet der Verweis in der + Regel in der Form \glqq \url{CTAN://}\emph{Verweis}\grqq{} statt. + Der Pr\"afix \glqq \url{CTAN://}\grqq{} steht dabei f\"ur das + \TeX-Archiv eines jeden CTAN-Servers oder -Spiegels. Sie k\"onnen + den Pr\"afix beispielsweise durch + \url{ftp://\GuideCTANserver/tex-archive/} ersetzen. Bei + \LaTeX-Paketen ist au\ss erdem zu beachten, dass versucht wurde, + die Version anzugeben, auf die im Text Bezug genommen wurde. Bei + einigen Paketen war es mehr ein Ratespiel, eine einheitliche + Versionsnummer und ein Erscheinungsdatum zu finden. Auch muss die + angegebene Version nicht immer die neueste verf\"ugbare Version sein. + Wenn Sie sich ein Paket neu besorgen und installieren, sollten Sie + jedoch zun\"achst immer die aktuelle Version ausprobieren. Bevor Sie + ein Dokument oder Paket von einem Server herunterladen, sollten Sie + au\ss erdem \"uberpr\"ufen, ob es sich nicht bereits auf Ihrem + Rechner befindet. +} +% \end{macrocode} +% \end{macro} +% +% +% \section{Change Log} +% +% \begin{macro}{\GuideChangeLogPreamble} +% The preamble of the change log index. +% \begin{macrocode} +\newcommand*{\GuideChangeLogPreamble}{% + Sie finden im folgenden eine Auf\/listung aller wesentlichen + \"Anderungen der Benutzerschnittstelle im \KOMAScript-Paket der + neueren Zeit. Die Liste ist sortiert nach Klassen beziehungsweise + Paketen und Versionen. Zu jeder Version ist dann jeweils angegeben, + auf welchen Seiten dieser Dokumentation die \"Anderungen zu finden + sind. Auf den entsprechenden Seiten finden Sie dazu passende + Randmarkierungen.% +} +% \end{macrocode} +% \end{macro} +% +% +% \section{Jens-Uwe's Example Text} +% +% TODO: These should be merged with other example text. +% \begin{macro}{\XmpText} +% Example text command; the default definition (50) returns the whole text. +% \begin{macrocode} +\newcommand*{\XmpText}[1][50]{% + \ifnum #1<51 + Dieser Blindtext wird gerade von 130 Millionen Rezeptoren + Ihrer Netzhaut erfasst. + \ifnum #1>1 + Die Zellen werden dadurch in einen Erregungs\char\defaulthyphenchar + \kern-1pt\linebreak + \ifnum #1>2 + zustand versetzt, der sich vom Sehnerv in den + \ifnum #1>3 + hinteren Teil Ihres Gehirns ausbreitet. + Von dort aus \"ubertr\"agt sich die Erregung in + Sekundenbruchteilen auch in andere Bereiche Ihres + Gro\ss hirns. + Ihr Stirnlappen wird stimuliert. + Von dort aus gehen jetzt Willens\char\defaulthyphenchar + \kern-1pt\linebreak + \fi\fi\fi + \fi + \ifnum #1>49 + impulse aus, die Ihr zentrales Nervensystem in konkrete Handlungen + umsetzt. Kopf und Augen reagieren bereits. + Sie folgen dem Text, nehmen die darin enthaltenen Informationen + auf und leiten diese \"uber den Sehnerv weiter. + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\XmpTopText} +% \begin{macro}{\XmpBotText} +% These two commands are language-dependent, since in some languages +% additional commands may required. +% \begin{macrocode} +\newcommand*{\XmpTopText}{\XmpText[3]} +\newcommand*{\XmpBotText}{\XmpText[2]} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\XmpMarginTextA} +% \begin{macro}{\XmpMarginTextB} +% Margin notes. +% \begin{macrocode} +\newcommand*{\XmpMarginTextA}{Netzhaut} +\newcommand*{\XmpMarginTextB}{(\textit{Retina})} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \section{Language Extensions} +% +% Some terms should be part of the captions of the language. +% \begin{macro}{\GuideLanguageExtensions} +% This macro has to be defined, because the class will add it to the language +% at |\begin{document}| and it will also call it. +% \begin{macrocode} +\newcommand*{\GuideLanguageExtensions}{% +% \end{macrocode} +% \begin{macro}{\pageautorefname} +% The term »page« that will be put before the reference of a page set by +% |\autopageref|. +% \begin{macrocode} + \let\pageautorefname\pagename +% \end{macrocode} +% \end{macro} +% \begin{macro}{\subsectionautorefname} +% \begin{macro}{\subsubsectionautorefname} +% \begin{macro}{\paragraphautorefname} +% \begin{macro}{\subparagraphautorefname} +% I'll call them all »section«. +% \begin{macrocode} + \let\subsectionautorefname=\sectionautorefname + \let\subsubsectionautorefname=\sectionautorefname + \let\paragraphautorefname=\sectionrefname + \let\subparagraphautorefname=\sectionrefname +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\changelogname} +% The name of the change log index. +% \begin{macrocode} + \def\changelogname{\"Anderungliste} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +} +% \end{macrocode} +% \end{macro} +% +% +% \section{Hyphenation} +% +% This is not realy a good place to put them~-- but better late than never: +% \begin{macrocode} +\hyphenation{% + Stan-dard-an-wei-sung Stan-dard-an-wei-sung-en + Da-tei-na-me Da-tei-na-men Da-tei-na-mens + Pa-pier-rand Pa-pier-ran-des + Zei-len-um-bruch Zei-len-um-bruchs + Zei-len-um-brü-che Zei-len-um-brü-chen + } +% \end{macrocode} +% +% +% +\endinput +%%% Local Variables: +%%% mode: doctex +%%% TeX-master: "guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/htmlsetup b/Master/texmf-dist/source/latex/koma-script/doc/german/htmlsetup new file mode 100644 index 00000000000..dbac284874b --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/htmlsetup @@ -0,0 +1,63 @@ +# ====================================================================== +# htmlsetup +# Copyright (c) Markus Kohm, 2002-2006 +# +# 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. +# ---------------------------------------------------------------------- +# htmlsetup +# Copyright (c) Markus Kohm, 2002-2006 +# +# 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. +# ====================================================================== + +$baselink="scrguide.pdf"; +$htmlhead="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\"> +<html> +<head><title>Index</title> +<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"> +</head> +<body> +<h1>Index der KOMA-Script-Anleitung</h1> +<p>Dies ist ein Index der in KOMA-Script definierten Elemente. Dieser Index bezieht sich auf die <a href=\"scrguide.pdf\">KOMA-Script-Anleitung</a>. Zur besseren Ãœbersicht ist der Index in mehrere Funktionsgruppen unterteilt:</p> +"; +$htmlend="<p> +<a href=\"http://validator.w3.org/check?uri=referer\"><img +src=\"http://www.w3.org/Icons/valid-html40\" +alt=\"Valid HTML 4.0 Strict\" height=\"31\" width=\"88\"></a> +</p> +</body></html>"; +%titles=( "option" => "Optionen", + "macro" => "Anweisungen", + "environment" => "Umgebungen", + "plength" => "Pseudolängen", + "variable" => "Variablen", + "pagestyle" => "Seitenstile", + "counter" => "Zähler", + "floatstyle" => "Stile für das float-Paket" ); + +# end of file diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/introduction.tex b/Master/texmf-dist/source/latex/koma-script/doc/german/introduction.tex new file mode 100644 index 00000000000..8016ce1efc1 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/introduction.tex @@ -0,0 +1,357 @@ +% ====================================================================== +% introduction.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ---------------------------------------------------------------------- +% introduction.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ====================================================================== +% +% Introduction of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Einleitung der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ====================================================================== + +\ProvidesFile{introduction.tex}[2006/07/05 KOMA-Script guide introduction] + +\chapter{Einleitung} +\labelbase{introduction} + +\section{Vorwort} +\label{sec:introduction.preface} + +{\KOMAScript} ist ein sehr komplexes Paket (engl. \emph{bundle}). Dies +ist schon allein darin begründet, dass es nicht nur aus einer einzigen +Klasse (engl. \emph{class}) oder einem einzigen Paket (engl. +\emph{package}), sondern einer Vielzahl derer besteht. Zwar sind die +Klassen als Gegenstücke zu den Standardklassen konzipiert (siehe +\autoref{cha:maincls}), das heißt jedoch insbesondere nicht, +dass sie nur über die Befehle, Umgebungen und Einstellmöglichkeiten +der Standardklassen verfügen oder deren Aussehen als +Standardeinstellung übernehmen. +Die Fähigkeiten von {\KOMAScript} reichen +teilweise weit über die Fähigkeiten der Standardklassen hinaus. +Manche davon sind auch als Ergänzung zu den Grundfähigkeiten des +\LaTeX-Kerns zu betrachten. + +Allein aus dem Vorgenannten ergibt sich schon zwangsläufig, dass die +Dokumentation zu {\KOMAScript} sehr umfangreich ausfällt. Hinzu kommt, +dass {\KOMAScript} in der Regel nicht gelehrt wird. Das heißt, es gibt +keinen Lehrer, der seine Schüler kennt und damit den Unterricht und +das Unterrichtsmaterial entsprechend wählen und anpassen kann. Es wäre +ein Leichtes, die Dokumentation für irgendeine Zielgruppe zu +verfassen. Die Schwierigkeit, der sich die Autoren gegenüber sehen, +besteht jedoch darin, dass eine Anleitung für alle möglichen +Zielgruppen benötigt wird. Wir haben uns bemüht, eine Anleitung zu +erstellen, die für den Informatiker gleichermaßen geeignet ist wie für +die Sekretärin des Fischhändlers. Wir haben uns bemüht, obwohl es sich +dabei eigentlich um ein unmögliches Unterfangen handelt. Ergebnis sind +zahlreiche Kompromisse. Wir bitten jedoch, die Problematik bei +eventuellen Beschwerden zu berücksichtigen und bei der Verbesserung +unserer derzeitigen Lösung zu helfen. + +Trotz des Umfangs der Anleitung bitten wir außerdem darum, im Falle von +Problemen zunächst die Dokumentation zu konsultieren. Als erste Anlaufstelle +sei auf den mehrteiligen Index am Ende des \iffree{Dokuments}{Buches} +hingewiesen. \iffree{Zur Dokumentation gehören neben dieser Anleitung auch + alle Text-Dokumente, die Bestandteil des Pakets sind. Sie sind in + \File{manifest.txt} vollständig aufgeführt}{} + + +\section{Dokumentaufbau} +\label{sec:introduction.structure} + +Diese Anleitung enthält sehr wenige Informationen, die speziell für den +\LaTeX-Neuling geschrieben wurden. Es wird als zwingend vorausgesetzt, +dass Dokumente wie \cite{l2kurz} und \cite{latex:usrguide} gelesen und +verstanden sind. Auch das Studium des einen oder anderen Buches zu +\LaTeX{} wird empfohlen. Literaturempfehlungen finden sich +beispielsweise in \cite{DANTE:FAQ}. Der Umfang von \cite{DANTE:FAQ} +ist ebenfalls erheblich. Dennoch wird darum gebeten, das Dokument +nicht nur irgendwo vorliegen zu haben, sondern es mindestens einmal zu +lesen und bei Problemen zu konsultieren. + +\begin{Explain} + Im Gegensatz zu tiefgehender Anfängerinformation sind weiterführende + Informationen und Begründungen in dieser Dokumentation reichlich + vorhanden. Um solche Dokumentteile leichter erkennbar zu machen, + sind sie in einer besonderen Schrift hervorgehoben. Damit ist es + besonders ungeduldigen und uninteressierten Zeitgenossen möglich, + solche Teile zu überspringen. Empfohlen wird dies aber ausdrücklich + nicht. Gleichwohl ist es gut zu wissen, dass diese Teile nicht + zwingend verstanden werden müssen, um {\KOMAScript} anzuwenden. Vor + der Änderung und Kritisierung der Voreinstellungen von + {\KOMAScript}, ist das Studium und Verständnis dieser Teile jedoch + von erheblichem Vorteil. +\end{Explain} + +Die Einteilung der Anleitung in Kapitel und Abschnitte soll ebenfalls dabei +helfen, nur die Teile lesen zu müssen, die tatsächlich von Interesse sind. Um +dies zu erreichen, sind die Informationen zu den einzelnen Klassen und Paketen +nicht über das gesamte Dokument verteilt, sondern jeweils in einem Kapitel +konzentriert. Querverweise in ein anderes Kapitel sind damit in der Regel auch +Verweise auf einen anderen Teil des Gesamtpakets. Da die drei Hauptklassen in +weiten Teilen übereinstimmen, sind sie in einem gemeinsamen Kapitel +zusammengefasst. Die Unterschiede werden deutlich hervorgehoben, soweit +sinnvoll auch durch eine entsprechende Randnotiz. Dies geschieht +beispielsweise wie hier, wenn etwas nur die Klasse +\Class{scrartcl}\OnlyAt{\Class{scrartcl}} betrifft. + +Unterschiedliche Schriftarten werden auch zur Hervorhebung unterschiedlicher +Dinge verwendet. So werden die Namen von \Package{Paketen} und \Class{Klassen} +anders angezeigt als \File{Dateinamen}. \Macro{Anweisungen}, +\Environment{Umgebungen}, \Option{Optionen}, \Variable{Variablen} und +\PLength{Pseudolängen} werden einheitlich hervorgehoben. Jedoch wird der +\PValue{Platzhalter} für einen Parameter anders dargestellt als ein +konkreter \PValue{Wert eines Parameters}. So zeigt etwa +\Macro{begin}\Parameter{Umgebungsname} ganz allgemein wie eine Umgebung +eingeleitet wird, während \Macro{begin}\PParameter{document} angibt, wie +die konkrete Umgebung \Environment{document} beginnt. Dabei ist gleichzeitig +\PValue{document} ein konkreter Wert für den Parameter +\PName{Umgebungsname} der Anweisung \Macro{begin}. + +Damit sollten Sie nun alles wissen, um diese Anleitung lesen und verstehen zu +können. Trotzdem könnte es sich lohnen, den Rest dieses Kapitels gelegentlich +auch zu lesen. + +\section{Die Geschichte von \KOMAScript} +\label{sec:introduction.history} + +\begin{Explain} + Anfang der 90er~Jahre wurde Frank Neukam damit beauf"|tragt, ein + Vorlesungsskript zu setzen. Damals war noch \LaTeX2.09 aktuell und + es gab keine Unterscheidung nach Klassen und Paketen, sondern alles + waren Stile (engl. \emph{styles}). Die Standarddokumentstile + erschienen ihm für ein Vorlesungsskript nicht optimal und boten auch + nicht alle Befehle und Umgebungen, die er benötigte. + + Zur selben Zeit beschäftigte sich Frank auch mit Fragen der + Typografie, insbesondere mit \cite{JTsch87}. Damit stand für ihn + fest, nicht nur irgendeinen Dokumentstil für Skripten zu erstellen, + sondern allgemein eine Stilfamilie, die den Regeln der europäischen + Typografie folgt. {\Script} war geboren. + + Ich, Markus Kohm, traf auf {\Script} ungefähr zum Jahreswechsel + 1992/""1993. Im Gegensatz zu Frank Neukam hatte ich häufig mit + Dokumenten zu tun, für die ich das A5-Format bevorzuge. Zu jenem + Zeitpunkt wurde A5 weder von den Standardklassen noch von {\Script} + unterstützt. Daher dauerte es nicht lange, bis ich erste + Veränderungen an {\Script} vornahm. Diese fanden sich auch in + {\ScriptII} wieder, das im Dezember~1993 von Frank veröffentlicht + wurde. + + Mitte 1994 erschien dann \LaTeXe. Die damit einhergehenden + Änderungen waren tiefgreifend. Daher blieb dem Anwender von + {\ScriptII} nur die Entscheidung, sich entweder auf den + Kompatibilitätsmodus von \LaTeX{} zu beschränken, oder auf {\Script} + zu verzichten. Wie viele andere wollte ich beides nicht. Also machte + ich mich daran, einen \Script-Nachfolger für {\LaTeXe} zu + entwickeln, der am 7.~Juli~1994 unter dem Namen {\KOMAScript} + erschienen ist. Ich will hier nicht näher auf die Wirren eingehen, + die es um die offizielle Nachfolge von {\Script} gab und warum mein + Paket einen neuen Namen hat. Tatsache ist, dass auch aus Franks + Sicht {\KOMAScript} der Nachfolger von {\ScriptII} ist. Zu erwähnen + ist noch, dass {\KOMAScript} ursprünglich ohne Briefklasse + erschienen war. Diese wurde im Dezember~1994 von Axel Kielhorn + beigesteuert. Noch etwas später erstellte Axel Sommerfeldt den + ersten richtigen scrguide zu {\KOMAScript}. + + Seither ist einiges an Zeit vergangen. {\LaTeX} hat sich ein wenig + verändert, die \LaTeX-Landschaft erheblich. {\KOMAScript} hat sich + weiterentwickelt. Es findet nicht mehr allein im deutschsprachigen + Raum Anwender, sondern in ganz Europa, Nordamerika, Australien + und Asien. + Diese Anwender suchen bei {\KOMAScript} nicht allein nach + einem typografisch ansprechenden Ergebnis. Zu beobachten ist + vielmehr, dass bei {\KOMAScript} ein neuer Schwerpunkt entstanden + ist: Flexibilisierung durch Variabilisierung. Unter diesem + Schlagwort verstehe ich die Möglichkeit, in das Erscheinungsbild an + vielen Stellen eingreifen zu können. Dies führte zu vielen neuen + Makros, die mehr schlecht als recht in die existierende Anleitung + integriert wurden. Irgendwann wurde es damit auch Zeit für eine + komplett überarbeitete Anleitung.\par +\end{Explain} + + +\section{Danksagung} +\label{sec:introduction.thanks} + +Eine Danksagung in der Einleitung? Gehört sie nicht vielmehr an den +Schluss? Richtig! Eigentlich gehört die an das Ende. Mein Dank gilt +hier jedoch nicht primär denjenigen, die diese Anleitung möglich +gemacht haben. Für den Dank an die Guide-Autoren mache ich den Leser +zuständig! Mein persönlicher Dank gilt Frank Neukam, ohne dessen +\Script-Familie es vermutlich {\KOMAScript} nie gegeben hätte. Mein +Dank gilt denjenigen, die an der Entstehung von {\KOMAScript} und den +Anleitungen mitgewirkt haben. Stellvertretend für andere möchte ich +hier Jens-Uwe Morawski und Torsten Krüger nennen. Jens' unermüdlichem +Einsatz ist neben vielem Anderen die englische Übersetzung der +Anleitung zu verdanken. Torsten ist der beste Betatester, den ich je +hatte. Er hat damit insbesondere an der Verwendbarkeit von +\Class{scrlttr2} und \Class{scrpage2} einen erheblichen Anteil. Mein +Dank gilt auch allen, die mich immer wieder aufgemuntert haben, weiter +zu machen und dieses oder jenes noch besser, weniger fehlerhaft oder +schlicht zusätzlich zu implementieren. + +Ganz besonderen Dank bin ich den Gründern von DANTE, Deutschsprachige +Anwendervereinigung \TeX~e.V\kern-.18em., schuldig, durch die letztlich die +Verbreitung von \TeX{} und \LaTeX{} und allen Paketen einschließlich +{\KOMAScript} an einer zentralen Stelle überhaupt ermöglicht wird. In gleicher +Weise bedanke ich mich bei den aktiven Helfern auf der Mailingliste +\texttt{\TeX-D-L} (siehe \cite{DANTE:FAQ}) und in der Usenet-Gruppe +\texttt{de.comp.text.tex}, die mir so manche Antwort auf Fragen zu +{\KOMAScript} abnehmen. + +\section{Rechtliches} +\label{sec:introduction.legal} + +{\KOMAScript} steht unter der {\LaTeX} Project Public Licence. Eine nicht +offizielle deutsche Übersetzung ist Bestandteil des \KOMAScript-Pakets. In +allen Zweifelsfällen gilt im deutschsprachigen Raum der Text +\File{lppl-de.txt}, während in allen anderen Ländern der Text \File{lppl.txt} +anzuwenden ist. + +\iffree{Für die Korrektheit der Anleitung, Teile der Anleitung oder einer + anderen in diesem Paket enthaltenen Dokumentation wird keine Gewähr + übernommen.}% +{Diese gedruckte Ausgabe der Anleitung ist davon und von den in den Dateien + \File{lppl.txt} und \File{lppl-de.txt} des \KOMAScript-Pakets + festgeschriebenden rechtlichen Bedingungen ausdrücklich ausgenommen.} + +\section{Installation} +\label{sec:introduction.installation} + +Die Installation von {\KOMAScript} wird in der Datei \File{INSTALLD.txt} +beschrieben. Beachten Sie dazu auch die jeweilige Dokumentation zu der +installierten \TeX-Distribution. + + +\section{Fehlermeldungen, Fragen, Probleme} +\label{sec:introduction.errors} + +Sollten Sie der Meinung sein, dass Sie einen Fehler in der Anleitung, +einer der \KOMAScript-Klassen, einem der \KOMAScript-Pakete oder einem +anderen Bestandteil von \KOMAScript{} gefunden haben, so sollten Sie +wie folgt vorgehen. Prüfen Sie zunächst, ob inzwischen eine neue +Version von \KOMAScript{} erschienen ist. Installieren Sie diese neue +Version und kontrollieren Sie, ob der Fehler oder das +Problem auch dann noch vorhanden ist. + +Wenn es sich nicht um einen Fehler in der Dokumentation handelt und +der Fehler oder das Problem nach einem Update noch immer auf"|tritt, +erstellen Sie bitte wie in \cite{DANTE:FAQ} angegeben ein minimales +Beispiel. Ein solches Beispiel sollte nur einen minimalen Text und +nur die Pakete und Definitionen enthalten, die für die Verdeutlichung +des Fehlers unbedingt notwendig sind. Auf exotische Pakete sollte +möglichst ganz verzichtet werden. +Oft lässt sich ein Problem durch ein minimales Beispiel so weit +eingrenzen, dass bereits vom Anwender selbst festgestellt werden kann, +ob es sich um einen Anwendungsfehler handelt oder nicht. Auch ist so +sehr häufig zu erkennen, welche Pakete oder Klassen konkret das +Problem verursachen und ob es sich überhaupt um ein +\KOMAScript-Problem handelt. Dies können Sie gegebenenfalls +zusätzlich überprüfen, indem Sie statt einer \KOMAScript-Klasse einen +Test mit der entsprechenden Standardklasse vornehmen. Danach ist dann +auch klar, ob der Fehlerbericht an den Autor von \KOMAScript{} oder an +den Autor eines anderen Pakets zu richten ist. Sie sollten spätestens +jetzt noch einmal gründlich die Anleitungen der entsprechenden Paket, +Klassen und \KOMAScript-Bestandteile studieren sowie \cite{DANTE:FAQ} +konsultieren. Möglicherweise existiert ja bereits eine Lösung für Ihr +Problem, so dass sich eine Fehlermeldung erübrigt. + +Wenn Sie denken, dass Sie einen noch unbekannten Fehler gefunden haben, oder +es aus anderem Grund für sinnvoll oder notwendig erachten, den +\KOMAScript-Autor zu kontaktieren, so sollten Sie dabei folgende Angaben +keinesfalls vergessen: +\begin{itemize} +\item Tritt das Problem auch auf, wenn statt einer \KOMAScript-Klasse eine + Standardklasse verwendet wird? In dem Fall liegt der Fehler höchst + wahrscheinlich nicht bei \KOMAScript. Es ist dann sinnvoller, die Frage in + einem öffentlichen Forum, einer Mailingliste oder im Usenet zu stellen. +\item Welche \KOMAScript-Version verwenden Sie? Entsprechende Informationen + finden Sie in der \File{log}-Datei des \LaTeX-Laufs jedes Dokuments, das + eine \KOMAScript-Klasse verwendet. +\item Welches Betriebssystem und welche \TeX-Distribution wird verwendet? + Diese Angaben erscheinen bei einem bestriebssystemunabhängigen Paket wie + \KOMAScript{} oder \LaTeX{} eher überflüssig. Es zeigt sich aber immer + wieder, dass sie durchaus eine Rolle spielen können. +\item Was genau ist das Problem oder der Fehler? Beschreiben Sie das Problem + oder den Fehler lieber zu ausführlich als zu knapp. Oftmals ist es sinnvoll + auch die Hintergründe zu erläutern. +\item Wie sieht ein vollständiges Minimalbeispiel aus? Ein solches + vollständiges Minimalbeispiel kann jeder leicht selbst erstellen, indem + Schritt für Schritt Inhalte und Pakete aus dem Problemdokument + auskommentiert werden. Am Ende bleibt ein Dokument, das nur die Pakete lädt + und nur die Teile enthält, die für das Problem notwendig sind. Außerdem + sollten alle geladenen Abbildungen durch \Macro{rule}-Anweisungen + entsprechender Größe ersetzt werden. Vor dem Verschicken entfernt man nun + die auskommentierten Teile, fügt als erste Zeile die Anweisung + \Macro{listfiles} ein und führt einen weiteren \LaTeX-Lauf durch. Man erhält + dann am Ende der \File{log}-Datei eine Übersicht über die verwendeten + Pakete. Das vollständige Minimalbeispiel und die \File{log}-Datei fügen Sie + ihrer Beschreibung hinzu. +\end{itemize} +Schicken Sie keine Pakete, PDF- oder PS- oder DVI-Dateien mit. Falls die +gesamte Problem- oder Fehlerbeschreibung einschließlich Minimalbeispiel und +\File{log}-Datei größer als ein paar Dutzend KByte ist, haben Sie mit größter +Wahrscheinlichkeit etwas falsch gemacht. Anderenfalls schicken Sie Ihre +Mitteilung an \href{mailto:komascript@gmx.info}{komascript@gmx.info}. + +Häufig werden Sie eine Frage zu \KOMAScript{} oder im Zusammenhang mit +\KOMAScript{} lieber öffentlich, beispielsweise in \texttt{de.comp.text.tex} +oder dem Forum auf \cite{homepage}, stellen wollen. Auch in diesem Fall +sollten Sie obige Punkte beachten, in der Regel jedoch auf die +\File{log}-Datei verzichten. Fügen Sie stattdessen nur die Liste der Pakete +und Paketversionen aus der \File{log}-Datei an. Im Falle einer Fehlermeldung +zitieren Sie diese ebenfalls aus der \File{log}-Datei. + + +\section{Weitere Informationen} +\label{sec:introduction.moreinfos} + +Sobald Sie im Umgang mit \KOMAScript{} geübt sind, werden Sie sich +möglicherweise Beispiele zu schwierigeren Aufgaben wünschen. Solche Beispiele +gehen über die Vermittlung von Grundwissen hinaus und sind daher\iffree{}{ + außer im Angang} nicht Bestandteil dieser Anleitung. Auf den Internetseiten +des \KOMAScript{} Documentation Projects \cite{homepage} finden Sie jedoch +weiterführende Beispiele. Diese sind für fortgeschrittene \LaTeX-Anwender +konzipiert. Für Anfänger sind sie wenig oder nicht geeignet. + +\endinput +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "../guide.tex" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/scraddr.tex b/Master/texmf-dist/source/latex/koma-script/doc/german/scraddr.tex new file mode 100644 index 00000000000..d673f271e50 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/scraddr.tex @@ -0,0 +1,260 @@ +% ====================================================================== +% scraddr.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ---------------------------------------------------------------------- +% scraddr.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ====================================================================== +% +% Chapter about scraddr of the KOMA-Script guide +% Maintained by Jens-Uwe Morawski (with help from Markus Kohm) +% +% ---------------------------------------------------------------------- +% +% Kapitel über scraddr in der KOMA-Script-Anleitung +% Verwaltet von Jens-Uwe Morawski (mit Unterstützung von Markus Kohm) +% +% ====================================================================== + +\ProvidesFile{scraddr.tex}[2005/08/10 KOMA-Script guide (chapter: scraddr)] + +\chapter{Adressdateien mit \Package{scraddr} erschließen}% +\labelbase{scraddr}% +\BeginIndex{Package}{scraddr} + +\section{Überblick}\label{sec:scraddr.overview} +Das Paket \Package{scraddr} ist eine kleine Beigabe zur +\KOMAScript-Briefklasse. Ziel ist, die Benutzung von Adressdateien zu +vereinfachen und ihre Anwendung flexibler zu gestalten. Im Grunde stellt das +Paket nur einen Lademechanismus für Adressdateien bereit, die aus +\Macro{adrentry}- und neueren \Macro{addrentry}-Einträgen bestehen, wie sie im +vorhergehenden Kapitel beschrieben sind. + +\begin{Declaration} +\Macro{InputAddressFile}\Parameter{Dateiname} +\end{Declaration}% +\BeginIndex{Cmd}{InputAddressFile}% +% +Der Befehl \Macro{InputAddressFile} ist der zentrale Ladebefehl +von \Package{scraddr}. +Er erwartet als obligatorisches Argument den +Namen der einzulesenden Adressdatei.\Index{Adressdatei} +Wird diese Datei nicht gefunden, wird ein Fehler ausgegeben. + +Für jeden Eintrag dieser Adressdatei wird eine Reihe von Makros generiert, +die es ermöglichen, auf die Daten der Adressdatei zuzugreifen. Es soll an +dieser Stelle nicht verschwiegen werden, dass dies bei großen Adressdateien +sehr viel \TeX-Speicher kostet. + +\begin{Declaration}% + \Macro{adrentry}\Parameter{Name}\Parameter{Vorname}\Parameter{Adresse}% + \Parameter{Tel.}\Parameter{F1}\Parameter{F2}% + \Parameter{Kommentar}\Parameter{Kürzel}\\ + % + \Macro{addrentry}\Parameter{Name}\Parameter{Vorname}\Parameter{Adresse}% + \Parameter{Tel.}\Parameter{F1}\Parameter{F2}% + \Parameter{F3}\Parameter{F4}\Parameter{Kürzel}\\ + % + \Macro{adrchar}\Parameter{Anfangsbuchstaben}\\ + \Macro{addrchar}\Parameter{Anfangsbuchstaben}% +\end{Declaration}% +\IndexCmd{adrentry}% +\IndexCmd{addrentry}% +\IndexCmd{adrchar}% +\IndexCmd{addrchar}% +Der Aufbau der Adresseinträge in der Adressdatei wurde in +\autoref{sec:scrlttr2.addressFile} ab +\autopageref{desc:scrlttr2.macro.adrentry} ausführlich besprochen. Die +ebenfalls dort erwähnte Unterteilung der Adressdatei mit Hilfe von +\Macro{adrchar} oder \Macro{addrchar} hat für \Package{scraddr} keine +Bedeutung und wird vom Paket ignoriert. + +Die Zugriffsbefehle sind mit englischen, den Argumenten entsprechenden, +Bezeichnungen versehen. +\begin{Declaration} +\Macro{Name}\Parameter{Kürzel}\\ +\Macro{FirstName}\Parameter{Kürzel}\\ +\Macro{LastName}\Parameter{Kürzel}\\ +\Macro{Address}\Parameter{Kürzel}\\ +\Macro{Telephone}\Parameter{Kürzel}\\ +\Macro{FreeI}\Parameter{Kürzel}\\ +\Macro{FreeII}\Parameter{Kürzel}\\ +\Macro{Comment}\Parameter{Kürzel}\\ +\Macro{FreeIII}\Parameter{Kürzel}\\ +\Macro{FreeIV}\Parameter{Kürzel} +\end{Declaration}% +\BeginIndex{Cmd}{Name}\BeginIndex{Cmd}{FirstName}\BeginIndex{Cmd}{LastName}% +\BeginIndex{Cmd}{Address}\BeginIndex{Cmd}{Telephone}\BeginIndex{Cmd}{FreeI}% +\BeginIndex{Cmd}{FreeII}\BeginIndex{Cmd}{FreeIII}\BeginIndex{Cmd}{FreeIV} +\BeginIndex{Cmd}{Comment}% +% +Der Zugriff erfolgt anhand des Kürzels im letzten Argument eines +Eintrags, das heißt Argument Nummer 8 +für \Macro{adrentry}-Einträge beziehungsweise Argument Nummer 9 +für \Macro{addrentry}-Einträge. Das bedeutet auch, dass dieses Argument +nicht leer sein darf. +Um eine sichere Funktionsweise zu garantieren, empfiehlt es sich, +das Kürzel nur als Folge von Buchstaben aufzubauen, +wobei jedoch keine Umlaute benutzt werden dürfen. + +Weiterhin ist zu beachten, dass bei mehrmaligem Auf"|treten +eines Kürzels in den Einträgen die Angaben beim +letzten Auf"|treten die gültigen sind. + +\EndIndex{Cmd}{InputAddressFile}% +\EndIndex{Cmd}{Name}\EndIndex{Cmd}{FirstName}\EndIndex{Cmd}{LastName}% +\EndIndex{Cmd}{Address}\EndIndex{Cmd}{Telephone}\EndIndex{Cmd}{FreeI}% +\EndIndex{Cmd}{FreeII}\EndIndex{Cmd}{FreeIII}\EndIndex{Cmd}{FreeIV}% +\EndIndex{Cmd}{Comment}% + +\section{Benutzung}\label{sec:scraddr.usage} + +Um das Paket benutzen zu können, ist eine gültige +Adressdatei zu erstellen. +Diese, hier \File{lotr.adr} genannt, könnte beispielsweise +folgendermaßen aussehen: +\begin{lstlisting} + \addrentry{Beutlin}{Frodo}% + {Der Bühl\\ Beutelsend/Hobbingen im Auenland}{}% + {Bilbo Beutlin}{Rauchen von Pfeifenkraut}% + {der Ringträger}{Bilbos Erbe}{FRODO} + \adrentry{Gamdschie}{Samweis}% + {Beutelhaldenweg 3\\Hobbingen im Auenland}{}% + {Rosie Kattun}{Knullen}% + {des Ringträgers treuester Gefährte}{SAM} + \adrentry{Bombadil}{Tom}% + {Im Alten Wald}{}% + {Goldbeere}{trällern von Nonsensliedern}% + {Meister von Wald, Wasser und Berg}{TOM} +\end{lstlisting} + +Das vierte Argument, die Telefonnummer, wurde hier leer gelassen. +Erstens macht es in dem Zusammenhang keinen Sinn, und zweitens sollte +dies ja auch möglich sein. + +Mit dem oben beschriebenen Ladebefehl lesen wir die Adressdatei +in unser Briefdokument ein: +\begin{lstlisting} + \InputAddressFile{lotr} +\end{lstlisting} + +Mit Hilfe der vorgestellten Makros können wir dann einen Brief +an den alten \textsc{Tom Bombadil} schreiben, in dem wir ihn +fragen, ob er sich noch an zwei Gefährten aus alter Zeit +erinnern kann. +\begin{lstlisting} + \begin{letter}{\Name{TOM}\\\Address{TOM}} + \opening{Lieber \FirstName{TOM} \LastName{TOM},} + + oder \FreeIII{TOM}, wie Dich Deine geliebte + \FreeI{TOM} nennt. + Kannst Du Dich noch an einen Herrn \LastName{FRODO}, + genauer gesagt \Name{FRODO}, denn es gab ja auch noch + den Herrn \FreeI{FRODO}, erinnern. + Er war \Comment{FRODO} im dritten Zeitalter und + \FreeIV{FRODO}. + Begleitet wurde er von \Name{SAM}, \Comment{SAM}. + + Beider Vorlieben waren sehr weltlich. + Der \FirstName{FRODO} genoss das \FreeII{FRODO}, sein + Gefährte schätzte eine gute Mahlzeit mit \FreeII{SAM}. + + Weißt du noch? Mithrandir hat Dir bestimmt viel + von ihnen erzählt. + \closing{\glqq O Frühling und Sommerzeit + und danach wieder Frühling!\\ + O Wind auf dem Wasserfall + und Lachen des Laubes!\grqq} + \end{letter} +\end{lstlisting} +Die in \Macro{opening} verwendete Zusammensetzung aus +\Macro{FirstName}\Parameter{Kürzel} und \Macro{LastName}\Parameter{Kürzel} +kann auch direkt mittels \Macro{Name}\Parameter{Kürzel} erhalten werden. + +Das fünf"|te und sechste Argument von \Macro{adrentry} und +\Macro{addrentry} steht zur freien Verfügung. +Mit den Makros \Macro{FreeI} und \Macro{FreeII} kann auf +diese Inhalte zugegriffen werden. Im vorliegenden Fall wurde +das fünf"|te Argument für die Person benutzt, die der Person des +Eintrags am nächsten steht. Das sechste Argument +enthält im Beispiel die besondere Vorliebe der jeweiligen Person. +Das siebente Argument ist ebenfalls ein freier Eintrag. Der Zugriff +erfolgt per \Macro{Comment} oder \Macro{FreeIII}. +Der Zugriff auf das vierte freie Argument mittels \Macro{FreeIV} +ist nur für \Macro{addrentry}-Einträge gültig. +Bei \Macro{adrentry}-Einträgen ist seine Verwendung nicht zulässig. Näheres +hierzu finde sich im nächsten Abschnitt. + +\section{Paketoptionen für Warnungen} + +Wie im vorherigen Abschnitt erwähnt, ist die Benutzung des Zugriffbefehls +\Macro{FreeIV} bei \Macro{adrentry}-Einträgen nicht zulässing. Wie +\Package{scraddr} darauf reagiert, ist allerdings durch Paketoptionen +konfigurierbar. + + +\begin{Declaration} +\Option{adrFreeIVempty}\\ +\Option{adrFreeIVshow}\\ +\Option{adrFreeIVwarn}\\ +\Option{adrFreeIVstop} +\end{Declaration} +% +\BeginIndex{Option}{adrFreeIVempty}\BeginIndex{Option}{adrFreeIVshow}% +\BeginIndex{Option}{adrFreeIVwarn}\BeginIndex{Option}{adrFreeIVstop}% +Diese vier Optionen erlauben die Auswahl aus vier verschiedenen +Reaktionen zwischen \emph{Ignorieren} bis \emph{Abbruch} falls bei einem +\Macro{adrentry}-Eintrag der Zugriffsbefehl \Macro{FreeIV} verwendet wird: +% +\begin{labeling}[~--]{\Option{adrFreeIVempty}} +\item[\Option{adrFreeIVempty}] + Der Befehl \Macro{FreeIV} wird einfach ignoriert. +\item[\Option{adrFreeIVshow}] + Die Warnung \glqq(entry FreeIV undefined at \PName{Kürzel})\grqq{} + wird in den Text geschrieben. +\item[\Option{adrFreeIVwarn}] + In der Log-Datei erscheint eine Warnung. +\item[\Option{adrFreeIVstop}] + Der \LaTeX{}-Lauf wird mit einer Fehlermeldung unterbrochen. +\end{labeling} +Zur Auswahl der gewünschten Reaktion wird die entsprechende Option beim Laden +des Pakets im optionalen Argument des \Macro{usepackage}-Befehls übergeben. +Die standardmäßige Einstellung für das Paket \Package{scraddr} ist die Option +\Option{adrFreeIVshow}.% +% +\EndIndex{Option}{adrFreeIVempty}\EndIndex{Option}{adrFreeIVshow} +\EndIndex{Option}{adrFreeIVwarn}\EndIndex{Option}{adrFreeIVstop} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/scrbookreportarticle.tex b/Master/texmf-dist/source/latex/koma-script/doc/german/scrbookreportarticle.tex new file mode 100644 index 00000000000..5b84b4f18f2 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/scrbookreportarticle.tex @@ -0,0 +1,5297 @@ +% ====================================================================== +% scrbookreportarticle.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ---------------------------------------------------------------------- +% scrbookreportarticle.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ====================================================================== +% +% Chapter about scrbook, scrreprt, and scrartcl of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel über scrbook, scrreprt und scrartcl in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\ProvidesFile{scrbookreportarticle.tex}[2005/11/26 KOMA-Script guide (chapter: +scrbook, scrreprt, scrartcl)] + +\chapter{Die Hauptklassen \Class{scrbook}, \Class{scrreprt}, \Class{scrartcl}} +\labelbase{maincls} + +\AddSeeIndex{Anweisung}{gen}{\GuidecmdIndexShort}{cmd}% +\AddSeeIndex{Makro}{gen}{\GuidecmdIndexShort}{cmd}% +\begin{Explain} + Die Hauptklassen des \KOMAScript-Pakets sind als Äquivalent zu den + \LaTeX-Standard"-klassen angelegt. Das bedeutet, dass zu den drei + Standardklassen \Class{book}\IndexClass{book}, \Class{report}% + \IndexClass{report} und \Class{article}\IndexClass{article} im + \KOMAScript-Paket Entsprechungen zu finden sind. Daneben ist auch für die + Standardklasse \Class{letter}\IndexClass{letter} eine Entsprechung + vorhanden. Der Briefklasse in {\KOMAScript} ist jedoch ein eigenes Kapitel + gewidmet, da sie sich von den drei Hauptklassen grundsätzlich unterscheidet + (siehe \autoref{cha:scrlttr2}). + + Die Namen der {\KOMAScript}-Klassen sind aus dem Präfix »\texttt{scr}« und + den gekürzten Namen der Standardklassen zusammengesetzt. Um die Länge des + Namens auf acht Buchstaben zu beschränken, werden dabei notfalls von hinten + her die Vokale weggelassen. Eine Gegenüberstellung der Standardklassen und + der korrespondierenden \KOMAScript-Klassen zeigt + \autoref{tab:maincls.overview}. +\end{Explain} + +Die einfachste Möglichkeit, an Stelle einer Standardklasse eine +\KOMAScript-Klasse zu verwenden, ist die Ersetzung des Klassennamens in der +Anweisung \verb|\documentclass| entsprechend \autoref{tab:maincls.overview}, +also beispielsweise \Macro{documentclass}\PParameter{book} durch +\Macro{documentclass}\PParameter{scrbook}. Der anschließende \LaTeX-Lauf +sollte lediglich einige Layoutänderungen mit sich bringen. Ein großer Teil der +in den nachfolgenden Abschnitten beschriebenen vielfältigen Möglichkeiten und +Optionen werden von den \KOMAScript-Klassen zusätzlich geboten. + +\begin{table} + \centering + \caption[Klassengegenüberstellung]{Gegenüberstellung der + Standardklassen und der \KOMAScript-Klassen} + \begin{tabular}{ll} + \toprule + Standard-Klasse & \KOMAScript-Klasse \\%& \Script-Stil (\LaTeX2.09)\\ + \midrule + \Class{article} & \Class{scrartcl} \\%& \File{script\textunderscore s} \\ + \Class{report} & \Class{scrreprt} \\%& \File{script} \\ + \Class{book} & \Class{scrbook} \\%& \File{script} \\ + \Class{letter} & \Class{scrlettr} \\%& \File{script\textunderscore l} \\ + \bottomrule + \end{tabular} + \label{tab:maincls.overview} +\end{table} + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Die Optionen} +\label{sec:maincls.options} + +Dieser Abschnitt behandelt alle Klassenoptionen der drei Hauptklassen. +Die Mehrzahl der Optionen ist in genau der gleichen Form auch in den +Standardklassen zu finden. Da die Erfahrung jedoch zeigt, dass viele +Optionen der Standardklassen unbekannt sind, wurde deren Beschreibung +hier aufgenommen. +\iffalse +% Umbruchoptimierungstext +Dies stellt eine Abweichung von dem Grundsatz dar, im \File{scrguide} nur die +Dinge zu beschreiben, die abweichend von den Standardklassen implementiert +sind. +% +\fi + +In \autoref{tab:maincls.stdOptions} finden Sie diejenigen +Optionen aufgeführt, die bei mindestens einer {\KOMAScript}-Klasse +voreingestellt sind. Dabei ist für jede der drei +\KOMAScript-Hauptklassen angegeben, ob die Option voreingestellt +ist oder nicht, oder ob sie für die jeweilige Klasse überhaupt +nicht definiert ist. Eine nicht definierte Option kann natürlich +weder voreingestellt sein, noch vom Anwender gewählt werden. + +\begin{table}[tbp] + \centering + \caption{Voreingestellte Optionen der \KOMAScript-Klassen} + \begin{tabular}{llll} + \toprule + Option & + \Class{scrbook} & \Class{scrreprt} & \Class{scrartcl} \\ + \midrule + \Option{11pt} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{a4paper} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{abstractoff} & + \emph{nicht definiert} & Voreinstellung & Voreinstellung \\ + \Option{bigheadings} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{final} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{footnosepline} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{headnosepline} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{listsindent} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{nochapterprefix} & + Voreinstellung & Voreinstellung & \emph{nicht definiert} \\ + \Option{onelinecaption} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{notitlepage} & + & & Voreinstellung \\ + \Option{onecolumn} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{oneside} & + & Voreinstellung & Voreinstellung \\ + \Option{openany} & + & Voreinstellung & Voreinstellung \\ + \Option{openright} & + Voreinstellung & & \\ + \Option{parindent} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{tablecaptionbelow} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{titlepage} & + Voreinstellung & Voreinstellung \\ + \Option{tocindent} & + Voreinstellung & Voreinstellung & Voreinstellung \\ + \Option{twoside} & + Voreinstellung & & \\ + \bottomrule + \end{tabular} + \label{tab:maincls.stdOptions} +\end{table} + +\begin{Explain} + Lassen Sie mich der Erläuterung der Optionen noch eine Bemerkung + vorausschicken. Oft ist man sich am Anfang eines Dokuments unsicher, + welche Einstellungen konkret zu wählen sind. Bei einigen + Optionen, wie der Auswahl des Papierformats, mögen sie bereits vorab + feststehen. Aber schon die Frage nach dem \Var{DIV}-Wert für den + Satzspiegel könnte im Voraus schwer zu beantworten sein. + Andererseits sollten diese Angaben für die Haupttätigkeiten des + Autors: Entwurf der Gliederung, Schreiben des Textes, + Zusammenstellen von Abbildungen, Tabellen und Verzeichnissen + zunächst auch unerheblich sein. Konzentrieren Sie sich als Autor + erst einmal auf den Inhalt. Wenn der dann steht, können Sie sich um + die Feinheiten der Form kümmern. Neben der Auswahl der Optionen + gehören dazu dann auch Dinge wie die Korrektur der Trennung und + möglicherweise dezente Eingriffe in den Seitenumbruch oder die + Verteilung von Abbildungen und Tabellen. +\iftrue +% Umbruchoptimierungstext + Als Beispiel hierfür sei \autoref{tab:maincls.stdOptions} genannt, die ich + mehrfach vom Anfang des Abschnitts an das Ende verschoben habe und + umgekehrt. Die Wahl der tatsächlichen Position wird erst bei Fertigstellung + des Dokuments feststehen. +% +\fi +\end{Explain} + + +\subsection{Optionen für den Satzspiegel} +\label{sec:maincls.typeareaOptions} + +Während bei den Standardklassen der Satzspiegel\Index{Satzspiegel} im +Wesentlichen durch das Laden der Optionendateien \File{size10.clo}, +\File{size11.clo}, \File{size12.clo} beziehungsweise \File{bk10.clo}, +\File{bk11.clo}, \File{bk12.clo} und den Standardschriften bestimmt wird, +verwenden die \KOMAScript-Klassen keinen festen Satzspiegel, sondern einen, +der von Papierformat\Index{Papierformat} und Schriftgröße abhängt. Dazu +stützen sich alle drei Hauptklassen auf das +\Package{typearea}-Paket\IndexPackage{typearea} (siehe +\autoref{cha:typearea}). Das Paket wird von den Klassen automatisch geladen. +Es ist also nicht notwendig, es mit \verb|\usepackage{typearea}| selbst +einzuladen. Es ist auch nicht sinnvoll bei Verwendung einer \KOMAScript-Klasse +das Paket \Package{typearea} noch einmal explizit zu laden. Sollten Sie beim +\LaTeX-Lauf die Fehlermeldung »\texttt{Option clash for package + typearea}«\Index{Option clash} erhalten, so liegt das mit größter +Wahrscheinlichkeit an einer expliziten Anweisung +\Macro{usepackage}\OParameter{Paketoptionen}\PParameter{typearea}. + +\begin{Declaration} + \Option{letterpaper} \\ + \Option{legalpaper} \\ + \Option{executivepaper} \\ + \Option{a\Var{X}paper} \\ + \Option{b\Var{X}paper} \\ + \Option{c\Var{X}paper} \\ + \Option{d\Var{X}paper} \\ + \Option{landscape} +\end{Declaration}% +\BeginIndex{Option}{letterpaper}% +\BeginIndex{Option}{legalpaper}% +\BeginIndex{Option}{executivepaper}% +\BeginIndex{Option}{a0paper}% +\BeginIndex{Option}{b0paper}% +\BeginIndex{Option}{c0paper}% +\BeginIndex{Option}{d0paper}% +\BeginIndex{Option}{landscape}% +Die grundlegenden Optionen zur Auswahl des Papierformats werden nicht direkt +von den Klassen ausgeführt. Stattdessen werden diese als globale Optionen +automatisch vom \Package{typearea}-Paket behandelt (siehe +\autoref{sec:typearea.paperTypes}, +\autopageref{desc:typearea.option.letterpaper}). Dabei entsprechen die Optionen +\Option{a5paper}, \Option{a4paper}, \Option{letterpaper}, \Option{legalpaper} +und \Option{executivepaper} den gleichnamigen Optionen der Standardklassen und +ergeben die gleichen Papierformate. Der aus dem jeweiligen Format berechnete +Satzspiegel ist dann jedoch ein anderer.% +% +\EndIndex{Option}{letterpaper}% +\EndIndex{Option}{legalpaper}% +\EndIndex{Option}{executivepaper}% +\EndIndex{Option}{a0paper}% +\EndIndex{Option}{b0paper}% +\EndIndex{Option}{c0paper}% +\EndIndex{Option}{d0paper}% +\EndIndex{Option}{landscape} + +\begin{Explain} + Tatsächlich werden die Optionen für das A"~, B"~, C- oder D-Format vom + \Package{typearea}-Paket nicht deshalb ausgewertet, weil es sich um + globale Optionen handelt, sondern nur weil die \KOMAScript-Klassen + sie explizit an das \mbox{\Package{typearea}}-Paket weiterreichen. Dies hat + seine Gründe in der Implementierung der Optionen im + \Package{typearea}-Paket beziehungsweise in der Funktion des + Mechanismus zur Weiterleitung und Auswertung von Optionen, der von + \LaTeX{} zur Verfügung gestellt wird. + + Dies gilt in gleicher Weise für die nachfolgend aufgeführten + Optionen zur Einstellung der Bindekorrektur, des Divisors und der + Anzahl der Kopfzeilen. +\end{Explain} + + +\begin{Declaration} + \Option{BCOR}\PName{Korrektur}\\ + \Option{DIV}\PName{Faktor}\\ + \Option{DIVcalc}\\ + \Option{DIVclassic}\\% + \kern-1.5pt\PName{Wert}\Option{headlines} +\end{Declaration}% +\BeginIndex{Option}{BCOR}% +\BeginIndex{Option}{DIV}% +\BeginIndex{Option}{DIVcalc}% +\BeginIndex{Option}{DIVclassic}% +\BeginIndex{Option}{headlines}% +Die Optionen für den Divisor und die Bindekorrektur\Index{Bindekorrektur} +werden direkt an das \Package{typearea}-Paket weitergeleitet (siehe +\autoref{sec:typearea.options}, \autopageref{desc:typearea.option.BCOR} bis +\autopageref{desc:typearea.option.headlines}). Dies geschieht in Abweichung zu +den Standardklassen, bei denen eine entsprechende Weiterleitung nicht +stattfindet. Das gilt ebenfalls für die Option zur Einstellung der Anzahl der +Kopfzeilen. +% +\EndIndex{Option}{BCOR}% +\EndIndex{Option}{DIV}% +\EndIndex{Option}{DIVcalc}% +\EndIndex{Option}{DIVclassic}% +\EndIndex{Option}{headlines} + + +\subsection{Optionen für das Layout} +\label{sec:maincls.layoutOptions} + +In diesem Unterabschnitt werden alle Optionen zusammengefasst, die +sich im erweiterten Sinne auf das Layout und nicht nur auf den +Satzspiegel auswirken. Genau genommen sind natürlich alle +Satzspiegeloptionen (siehe +\autoref{sec:maincls.typeareaOptions}) Layoutoptionen. +Teilweise gilt dies auch umgekehrt. + +\begin{Declaration} + \Option{oneside}\\ + \Option{twoside} +\end{Declaration}% +\BeginIndex{Option}{oneside}% +\BeginIndex{Option}{twoside}% +Diese beiden Optionen funktionieren genau wie bei den +Standardklassen. Bei der Option \Option{oneside} wird ein +einseitiges\Index{einseitig} Layout mit einem einseitigen +Satzspiegel gewählt. Dies bedeutet insbesondere auch, dass +normalweise mit einem flatternden unteren Rand gearbeitet wird. + +Bei der Option \Option{twoside} wird ein doppelseitiges Layout mit +einem doppelseitigen\Index{doppelseitig} Satzspiegel gewählt. Dazu +wird der \LaTeX-Befehl \Macro{flushbottom}\IndexCmd{flushbottom} +ausgeführt, der dafür sorgt, dass am Seitenende umbrochener Seiten +kein variabler Leerraum zu finden ist. Will man stattdessen einen +flatternden unteren Rand, so kann man dies mit Hilfe des +\LaTeX-Befehls \Macro{raggedbottom}\IndexCmd{raggedbottom} erreichen. +% +\EndIndex{Option}{oneside}% +\EndIndex{Option}{twoside}% + + +\begin{Declaration} + \Option{onecolumn}\\ + \Option{twocolumn} +\end{Declaration}% +\BeginIndex{Option}{onecolumn} +\BeginIndex{Option}{twocolumn}% +Diese beiden Optionen funktionieren genau wie bei den +Standardklassen. Mit ihrer Hilfe wird zwischen einem +einspaltigen\Index{einspaltig} und einem +zweispaltigen\Index{zweispaltig} Layout umgeschaltet. Die in +{\LaTeX} eingebauten Möglichkeiten für mehrspaltigen Satz reichen +oft nur für einfache Aufgaben aus. Es gibt jedoch das +Standardpaket \Package{multicol}, mit dem sehr viel flexiblerer +Mehrspaltensatz möglich ist (siehe +\cite{package:multicol}).\Index{Spalten}\IndexPackage{multicol} +% +\EndIndex{Option}{onecolumn} +\EndIndex{Option}{twocolumn} + + +\begin{Declaration} + \Option{openany}\\ + \Option{openright} +\end{Declaration}% +\BeginIndex{Option}{openany}% +\BeginIndex{Option}{openright}% +\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}% +Diese beiden Optionen funktionieren genau wie bei den +Standardklassen. Sie haben Auswirkungen auf die Auswahl der +Seite, auf der ein Kapitel\Index{Kapitel>Anfang} beginnen kann +und existieren daher bei \Class{scrartcl} nicht, da dort die +oberste Gliederungsebene unter dem Teil der Abschnitt ist. Die +Gliederungsebene Kapitel gibt es bei \Class{scrartcl} nicht. + +Ein Kapitel beginnt immer auf einer neuen Seite. Mit der Option +\Option{openany} kann dies jede neue Seite sein. Bei Wahl der +Einstellung \Option{openright} wird jedoch zwingend eine neue rechte +Seite vorgeschrieben, wie es bei Büchern allgemein üblich ist. +Dazu wird gegebenenfalls eine linke Seite +eingefügt. Diese leeren Seiten werden durch implizite Ausführung des +\LaTeX-Befehls \Macro{cleardoublepage}\IndexCmd{cleardoublepage} +erzeugt. + +Da zwischen rechten und linken Seiten nur im doppelseitigen Layout +unterschieden wird, hat die Option \Option{openright} im einseitigen +Layout keinerlei Auswirkungen. Sie sollten sie deshalb zusammen mit +der Option \Option{twoside} einsetzen. +% +\EndIndex{Option}{openany} +\EndIndex{Option}{openright} + +\begin{Declaration} + \Option{cleardoublestandard}\\ + \Option{cleardoubleplain}\\ + \Option{cleardoubleempty} +\end{Declaration}% +\BeginIndex{Option}{cleardoublestandard}% +\BeginIndex{Option}{cleardoubleplain}% +\BeginIndex{Option}{cleardoubleempty}% +Will man, dass mit der \Macro{cleardoublepage}-Anweisung eingefügte Leerseiten +keinen Kolumnentitel,\Index{Kolumnentitel} sondern nur eine +Seitenzahl\Index{Paginierung}\Index{Seitenzahl} oder auch weder Kolumnentitel +noch Seitenzahl enthalten, so bleibt bei den Standardklassen nur, die +Anweisung entsprechend umzudefinieren. {\KOMAScript} bietet Optionen, um dem +Anwender dies abzunehmen. Mit der Option \Option{cleardoublestandard} hat man +das Standardverhalten von \Macro{cleardoublepage}. Bei Verwendung der Option +\Option{cleardoubleplain} wird die leere, linke Seite hingegen mit dem +Seitenstil \PValue{plain}\IndexPagestyle{plain} ausgegeben. Bei Verwendung der +Option \Option{cleardoubleempty} findet entsprechend der Seitenstil +\PValue{empty}\IndexPagestyle{empty} Anwendung. Die Seitenstile werden in +\autoref{sec:maincls.pageStyle} näher erläutert. +% +\EndIndex{Option}{cleardoublestandard}% +\EndIndex{Option}{cleardoubleplain}% +\EndIndex{Option}{cleardoubleempty}% + + +\begin{Declaration} + \Option{titlepage}\\ + \Option{notitlepage} +\end{Declaration}% +\BeginIndex{Option}{titlepage}% +\BeginIndex{Option}{notitlepage}% +Die beiden Optionen funktionieren genau wie bei den +Standardklassen. Mit der Option \Option{titlepage} wird erreicht, +dass für die gesamte Titelei\Index{Titel} eigene Seiten +verwendet werden. Diese Seiten werden innerhalb von +\Environment{titlepage}-Umgebungen gesetzt und erhalten somit +normalerweise weder Seitenkopf noch Seitenfuß. Bei {\KOMAScript} +wurde die Titelei gegenüber den Standardklassen stark erweitert +(siehe dazu \autoref{sec:maincls.titles}). + +Demgegenüber wird mit der Option \Option{notitlepage} erreicht, dass +ein sogenannter \emph{in-page} Titel gesetzt wird. Das heißt, die +Titelei wird lediglich speziell hervorgehoben, auf der Titelseite kann +aber nachfolgend weiteres Material, beispielsweise eine +Zusammenfassung oder ein Abschnitt gesetzt werden. +% +\EndIndex{Option}{titlepage}% +\EndIndex{Option}{notitlepage}% + + +\begin{Explain}% +\begin{Declaration} + \Option{parskip}\\ + \Option{parskip*}\\ + \Option{parskip+}\\ + \Option{parskip-}\\ + \Option{halfparskip}\\ + \Option{halfparskip*}\\ + \Option{halfparskip+}\\ + \Option{halfparskip-}\\ + \Option{parindent} +\end{Declaration}% +\BeginIndex{Option}{parskip}% +\BeginIndex{Option}{parskip*}% +\BeginIndex{Option}{parskip+}% +\BeginIndex{Option}{parskip-}% +\BeginIndex{Option}{halfparskip}% +\BeginIndex{Option}{halfparskip*}% +\BeginIndex{Option}{halfparskip+}% +\BeginIndex{Option}{halfparskip-}% +\BeginIndex{Option}{parindent}% + 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 Absatzeinzuges liegt in der Verkürzung der + Zeile. Damit gewinnt der Absatzabstand\Index{Absatzabstand} bei + ohnehin kurzen Zeilen, etwa im Zeitungssatz, seine Berechtigung. +\end{Explain} + +Unabhängig von obigen Erläuterungen wird hin und wieder ein Layout mit +Absatzabstand an Stelle des Absatzeinzugs gefordert. \KOMAScript{} +bietet hierfür mit \Option{parskip}, \Option{parskip-}, \Option{parskip*}, +\Option{parskip+} sowie \Option{halfparskip}, \Option{halfparskip-}, +\Option{halfparskip*} und \Option{halfparskip+} eine ganze +Reihe von Optionen. + +Die vier \Option{parskip}-Optionen setzen jeweils einen Absatzabstand +von einer Zeile. Die vier \Option{halfparskip}-Optionen verwenden nur +eine halbe Zeile. +Um zu verhindern, dass beispielsweise beim Seitenwechsel ein +Absatzwechsel unerkannt bleibt, wird bei jeweils drei Varianten dafür +gesorgt, dass die letzte Zeile eines Absatzes nicht komplett gefüllt +wird. Bei der Variante ohne Plus und Stern bleibt mindestens ein +Leeraum von 1\Unit{em}. Bei der Plus-Variante bleibt mindestens ein +Drittel einer normalen Zeile und bei der Stern-Variante mindestens ein +Viertel einer normalen Zeile frei. Bei der Minus-Variante werden keine +Vorkehrungen für die letzte Zeile eines Absatzes getroffen. + +Alle acht Optionen zur Auswahl eines Absatzabstandes verändern +außerdem den 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. Darüber hinaus wird dafür gesorgt, +dass im Inhalts"~, Abbildungs- und Tabellenverzeichnis ohne +zusätzlichem Absatzabstand gearbeitet wird. + +Voreingestellt ist bei \KOMAScript{} das Verhalten der Option +\Option{parindent}. Hierbei gibt es keinen Absatzabstand, sondern +einen Absatzeinzug von 1\Unit{em}. +% +\EndIndex{Option}{parskip}% +\EndIndex{Option}{parskip*}% +\EndIndex{Option}{parskip+}% +\EndIndex{Option}{parskip-}% +\EndIndex{Option}{halfparskip}% +\EndIndex{Option}{halfparskip*}% +\EndIndex{Option}{halfparskip+}% +\EndIndex{Option}{halfparskip-}% +\EndIndex{Option}{parindent}% + + +\begin{Declaration} + \Option{headsepline}\\ + \Option{headnosepline}\\ + \Option{footsepline}\\ + \Option{footnosepline} +\end{Declaration}% +\BeginIndex{Option}{headsepline}% +\BeginIndex{Option}{headnosepline}% +\BeginIndex{Option}{footsepline}% +\BeginIndex{Option}{footnosepline}% +Wird unter Kolumnentiteln eine horizontale Linie\Index{Trennlinie} +gewünscht, so lässt sich diese mit der Option \Option{headsepline} +einschalten. Die Option \Option{headnosepline} stellt die Umkehrung +dar. Bei den Seitenstilen \PValue{empty} und \PValue{plain} hat dies +selbstverständlich keine Auswirkung, da hier auf einen +Seitenkopf\Index{Seitenkopf} ausdrücklich verzichtet werden soll. +Typografisch betrachtet hat eine solche Linie immer die Auswirkung, +dass der Kopf optisch näher an den Text heranrückt. Dies bedeutet nun +nicht, dass der Kopf räumlich weiter vom Textkörper\Index{Textbereich} +weggerückt werden müsste. Stattdessen sollte der Kopf dann bei der +Berechnung des Satzspiegels als zum Textkörper gehörend betrachtet +werden. Dies wird bei {\KOMAScript} dadurch erreicht, dass bei +Verwendung der Klassenoption \Option{headsepline} automatisch die +Paketoption \Option{headinclude} an das \Package{typearea}-Paket +weitergereicht wird. + +Für eine Trennlinie\Index{Trennlinie} über dem Seitenfuß gibt es +die analog funktionierenden Optionen \Option{footsepline} und +\Option{footnosepline}. Bei Aktivierung der Trennlinie mit +\Option{footsepline} wird automatisch die Option +\Option{footinclude} an das \Package{typearea}-Paket +weitergereicht. Im Gegensatz zu \Option{headsepline} wirkt sich +die Option \Option{footsepline} auch beim Seitenstil +\PValue{plain} aus, da \PValue{plain} eine Seitenzahl im Fuß +ausgibt. +% +\EndIndex{Option}{headsepline}% +\EndIndex{Option}{headnosepline}% +\EndIndex{Option}{footsepline}% +\EndIndex{Option}{footnosepline}% + + +\begin{Declaration} + \Option{chapterprefix}\\ + \Option{nochapterprefix} +\end{Declaration}% +\BeginIndex{Option}{chapterprefix}% +\BeginIndex{Option}{nochapterprefix}% +\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}% +Bei den Standardklassen \Class{book} und \Class{report} werden +Kapitelüberschriften% +\Index{Kapitel>Ueberschrift=Überschrift} +in der Form ausgegeben, dass zunächst in einer Zeile +»Kapitel«\footnote{Bei Verwendung einer anderen Sprache als Deutsch + wird »Kapitel« selbstverständlich in der jeweiligen + Sprache gesetzt.} % +gefolgt von der Kapitelnummer steht. Erst ab der nächsten Zeile wird +dann die Überschrift in linksbündigem Flattersatz ausgegeben. Bei +{\KOMAScript} kann dieses Verhalten mit der Klassenoption +\Option{chapterprefix} ebenfalls erreicht werden. Voreingestellt ist +jedoch das Verhalten der Option \Option{nochapterprefix}. Die +Optionen wirken sich außerdem auf das Aussehen der automatischen +Kolumnentitel für Kapitel aus (siehe +\autoref{sec:maincls.pageStyle}). +% +\EndIndex{Option}{chapterprefix}% +\EndIndex{Option}{nochapterprefix}% + + +\begin{Declaration} + \Option{appendixprefix}\\ + \Option{noappendixprefix} +\end{Declaration}% +\BeginIndex{Option}{appendixprefix}% +\BeginIndex{Option}{noappendixprefix}% +\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}% +Zuweilen kommt es vor, dass man die Kapitelüberschriften im +Hauptteil durchaus in der einfachen Form von +\Option{nochapterprefix} setzten möchte. Gleichzeitig sollen die +Überschriften im Anhang\Index{Anhang} jedoch davon abweichend mit +einer Präfixzeile, »Anhang« gefolgt vom Buchstaben des Anhangs, +versehen werden. Dies ist mit der Klassenoption +\Option{appendixprefix} möglich. Da sich jedoch dadurch ein +inkonsistentes Layout ergibt, rate ich von der Verwendung ab. + +Lediglich aus Gründen der symmetrischen Vollständigkeit gibt es auch +die Umkehrungsoption \Option{noappendixprefix}. Mir ist jedoch keine +sinnvolle Anwendung dieser Option bekannt. +% +\EndIndex{Option}{appendixprefix}% +\EndIndex{Option}{noappendixprefix}% + + +\begin{Declaration} + \Option{onelinecaption}\\ + \Option{noonelinecaption} +\end{Declaration} +\BeginIndex{Option}{onelinecaption}% +\BeginIndex{Option}{noonelinecaption}% +Bei den Standardklassen wird generell zwischen einzeiligen und +mehrzeiligen Über- oder Unterschriften von Tabellen und Abbildungen +unterschieden. Einzeilige Texte werden dabei grundsätzlich zentriert, +während mehrzeilige Texte linksbündig im Blocksatz gesetzt +werden. Dieses Verhalten, das auch bei \KOMAScript{} voreingestellt +ist, entspricht der Option \Option{onelinecaption}. Bei Verwendung der +Option \Option{noonelinecaption} findet hingegen keine +Sonderbehandlung für einzeilige Texte statt. + +\begin{Explain} + Der Verzicht auf die Sonderbehandlung wird auch gerne als Lösung für + einen weiteren Nebeneffekt beschrieben, der manchmal höchst + erwünscht ist. Werden Fußnoten innerhalb von \Macro{caption} + gesetzt, so werden diese in der Regel falsch nummeriert. Dies liegt + daran, dass bereits beim Ausmessen, ob ein einzeiliger Text + vorliegt, der Fußnotenzähler für jede Fußnote einmal erhöht + wird. Bei Verwendung der Option \Option{noonelinecaption} findet + dieses Ausmessen jedoch gar nicht erst statt. Die Nummern der + Fußnoten sind damit korrekt. + + Bei \KOMAScript{} ist ab Version 2.8q jedoch ohnehin eine Umgehung + dieses Problems eingebaut. Damit kann man Fußnoten auch mit + \Option{onelinecaption} in Über- oder Unterschriften von Tabellen + und Abbildungen verwenden. Allerdings sollte bei Verwendung von + Fußnoten in Gleitumgebungen der Inhalt der Gleitumgebung immer in + eine \Environment{minipage}-Umgebung verpackt werden. So bleiben + Gleitumgebung und Fußnote garantiert zusammen.% + \iffalse + % Umbruchkorrekturtext + Persönlich halte ich die Verwendung von Fußnoten in Gleitumgebungen, also + von Verweisen innerhalb von Verweisen, für stilistisch fragwürdig.% + \fi +\end{Explain} +% +\EndIndex{Option}{onelinecaption}% +\EndIndex{Option}{noonelinecaption}% + +\subsection{Optionen für die Schriftwahl} +\label{sec:maincls.fontOptions} + +Schriftoptionen wirken sich auf die Größe der Grundschrift +oder der Schrift einzelner Teile aus. +% Theoretisch wären auch +% Optionen, die sich auf die Schriftart auswirken, Schriftoptionen. +% Solche Optionen gibt es bei {\KOMAScript} derzeit jedoch nicht. + +\begin{Declaration} + \Option{10pt}\\% + \Option{11pt}\\% + \Option{12pt}\\ + \Option{\Var{X}pt} +\end{Declaration}% +\BeginIndex{Option}{10pt}% +\BeginIndex{Option}{11pt}% +\BeginIndex{Option}{12pt}% +\BeginIndex{Option}{\Var{X}pt}% +Die Optionen \Option{10pt}, \Option{11pt} und \Option{12pt} +entsprechen den Standardoptionen. Im Gegensatz zu den Standardklassen +kann bei {\KOMAScript} jedoch auch eine andere +Schriftgröße\Index[indexmain]{Schriftgroesse=Schriftgröße} eingestellt +werden. Da bei {\LaTeX} jedoch nur Klassenoptionsdateien für +10\Unit{pt}, 11\Unit{pt} und 12\Unit{pt} mitgeliefert werden und +{\KOMAScript} keine entsprechenden Dateien bereit stellt, müssen Sie +selbst für diese Dateien sorgen. Das Paket \Package{extsizes} (siehe +\cite{package:extsizes}) stellt beispielsweise mit \File{size14.clo} +solche Dateien zur Verfügung. Diese können bei \KOMAScript{} direkt +verwendet werden, indem die entsprechende Größe, beispielsweise +\Option{14pt}\IndexOption{14pt}, als Klassenoption angegeben wird. Bei +sehr großen Schriften kann es jedoch zu einem arithmetischen Überlauf +bei der Satzspiegelberechnung im \Package{typearea}-Paket kommen. +% +\EndIndex{Option}{10pt}% +\EndIndex{Option}{11pt}% +\EndIndex{Option}{12pt}% +\EndIndex{Option}{\Var{X}pt}% + + +\begin{Declaration} + \Option{smallheadings}\\ + \Option{normalheadings}\\ + \Option{bigheadings} +\end{Declaration}% +\BeginIndex{Option}{smallheadings}% +\BeginIndex{Option}{normalheadings}% +\BeginIndex{Option}{bigheadings}% +Die Überschriften\index{Ueberschriften=Überschriften}\index{Gliederung} werden +sowohl bei den Standardklassen als auch bei {\KOMAScript} normalerweise recht +groß gesetzt. Dies gefällt nicht jedem und wirkt insbesondere bei kleinen +Papiergrößen oft störend. Daher stehen bei {\KOMAScript} neben den mit der +Option \Option{bigheadings} standardmäßig sehr groß voreingestellen +Überschriften die beiden Optionen \Option{normalheadings} und +\Option{smallheadings} zur Ver"-fügung, mit denen man insgesamt kleinere +Überschriften erhält. Die aus den Optionen resultierenden Schriftgrößen sind +für die Überschriften der Klassen \Class{scrbook} und \Class{scrreprt} +\autoref{tab:maincls.structureElementsFont}, +\autopageref{tab:maincls.structureElementsFont} zu entnehmen. Bei +\Class{scrartcl} werden generell etwas kleinere Überschriften verwendet. + +\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}Die Abstände vor und nach +Kapitelüberschriften werden von diesen Optionen ebenfalls beeinflusst. Auf +Kapitelüberschriften wirken sich außerdem die Layoutoptionen +\Option{chapterprefix} und \Option{nochapterprefix} sowie im Anhang +\Option{appendixprefix} und \Option{noappendixprefix} aus, die in +\autoref{sec:maincls.layoutOptions}, +\autopageref{desc:maincls.option.chapterprefix} +% und \autopageref{desc:maincls.option.appendixprefix} % <- gleiche Seite +beschrieben worden sind. +% +\EndIndex{Option}{smallheadings}% +\EndIndex{Option}{normalheadings}% +\EndIndex{Option}{bigheadings}% + + +\subsection{Optionen für das Inhaltsverzeichnis} +\label{sec:maincls.tocOptions} + +Bei {\KOMAScript} gibt es mehrere Optionen, die sich auf den Inhalt +des Inhaltsverzeichnisses\Index[indexmain]{Inhaltsverzeichnis} +auswirken. Die Form des Inhaltsverzeichnisses ist zwar fest, es kann +jedoch durch Optionen zwischen unterschiedlichen Varianten gewählt +werden. + +\begin{Explain}% +\begin{Declaration} + \Option{liststotoc}\\ + \Option{idxtotoc}\\ + \Option{bibtotoc}\\ + \Option{bibtotocnumbered}\\ + \Option{liststotocnumbered} +\end{Declaration}% +\BeginIndex{Option}{liststotoc}% +\BeginIndex{Option}{idxtotoc}% +\BeginIndex{Option}{bibtotoc}% +\BeginIndex{Option}{bibtotocnumbered}% +\BeginIndex{Option}{liststotocnumbered}% + Normalerweise erscheinen Tabellen-\Index{Tabellen>Verzeichnis der} und + Abbildungsverzeichnis\Index{Abbildungen>Verzeichnis der}, + Index\Index{Index} und + Literaturverzeichnis\Index{Literaturverzeichnis} nicht im + Inhaltsverzeichnis. Im klassischen Buchdruck wird auf entsprechende + Einträge bewusst verzichtet. Das ist unter anderem deshalb so, weil + stillschweigend von einer ganz bestimmten Verteilung dieser + Verzeichnisse ausgegangen wird, wenn die entsprechenden Teile + überhaupt verwendet werden: + \begin{itemize} + \item Inhaltsverzeichnis nach der Titelei, + \item Tabellen- und Abbildungsverzeichnis nach dem + Inhaltsverzeichnis, + \item Index ganz am Ende, + \item Literaturverzeichnis vor dem Index. + \end{itemize} + Bücher, die all diese Verzeichnisse aufweisen, sind außerdem häufig + mit diesen praktischen Bändern gebunden, die man an den + entsprechenden Stellen ins Buch legen kann, so dass besagte + Verzeichnisse höchstens einmal gesucht werden müssen.\par +\end{Explain} + +Neuerdings ist es üblich geworden, dass Tabellen- und +Abbildungsverzeichnis sowie das Literaturverzeichnis, seltener der +Index im Inhaltsverzeichnis zu finden sind. Dies hat sicher auch +mit der neuen Mode zu tun, Abbildungs- und Tabellenverzeichnis ans +Buchende zu stellen. Beide Verzeichnisse haben von Aufbau und +Intention eine deutliche Ähnlichkeit mit dem Inhaltsverzeichnis. +Daher betrachte ich die Entwicklung skeptisch. Da es keinen Sinn +hat, nur das Tabellen- oder nur das Abbildungsverzeichnis ohne +das jeweils andere ins Inhaltsverzeichnis aufzunehmen, gibt es +nur eine Option \Option{liststotoc}, mit der beide Verzeichnisse +gemeinsam ins Inhaltsverzeichnis aufgenommen werden. Dabei werden +auch Verzeichnisse berücksichtigt, die mit Hilfe des +\Package{float}-Pakets\IndexPackage{float} ab Version 1.2e +erstellt werden (siehe \cite{package:float}). Als Verzeichnisse, +die den Inhalt anderer Abschnitte des Werks auf"|führen, erhalten +Tabellen"~, Abbildungs- und die mit dem \Package{float}-Paket +erzeugten Verzeichnisse grundsätzlich keine Kapitelnummer. + +Der Index erhält mit der Option \Option{idxtotoc} einen Eintrag ins +Inhaltsverzeichnis. Da der Index ebenfalls nur Verweise auf den Inhalt +anderer Abschnitte enthält, wird auch er grundsätzlich nicht +nummeriert. + +Das Literaturverzeichnis stellt eine etwas andere Art von Verzeichnis +dar. Hier wird nicht der Inhalt des vorliegenden Werks aufgelistet, +sondern auf externe Inhalte verwiesen. Mit dieser Begründung könnte +man argumentieren, dass das Literaturverzeichnis ein eigenes Kapitel +bzw. einen eigenen Abschnitt darstellt, und somit eine Nummer +verdient. Die Option \Option{bibtotocnumbered} führt genau dazu, +einschließlich des dann fälligen Eintrags in das Inhaltsverzeichnis. +Ich selbst bin der Meinung, dass bei dieser Argumentation auch ein +klassisches, kommentiertes Quellenverzeichnis ein eigenes Kapitel +wäre. Außerdem ist das Literaturverzeichnis letztlich nichts, was man +selbst geschrieben hat. Deshalb verdient es allenfalls einen nicht +nummerierten Eintrag ins Inhaltsverzeichnis, was mit der Option +\Option{bibtotoc} erreicht wird. + +Nachdem\ChangedAt{v2.8q}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} ich bereits +der Option \Option{liststotoc} recht skeptisch und der Option +\Option{bibtotocnumbered} ablehnend gegenüberstehe, sollte es nicht +wundern, dass ich die Option \Option{liststotocnumbered} nur +zähneknirschend implementiert habe. Als nächstes will noch jemand, +dass das Inhaltsverzeichnis nummeriert und im Inhaltsverzeichnis +aufgeführt wird. Wer daher eine Erklärung zur Option +\Option{liststotoc} erwartet, sucht in dieser Anleitung vergeblich +danach. Eine entsprechende Option für das Stichwortverzeichnis wäre +ebenfalls derart unsinnig, dass ich ihre Implementierung bisher +standhaft abgelehnt habe. +% +\EndIndex{Option}{liststotoc}% +\EndIndex{Option}{idxtotoc}% +\EndIndex{Option}{bibtotoc}% +\EndIndex{Option}{bibtotocnumbered}% +\EndIndex{Option}{liststotocnumbered}% + +\begin{Declaration} + \Option{tocindent}\\ + \Option{tocleft} +\end{Declaration}% +\BeginIndex{Option}{tocindent}% +\BeginIndex{Option}{tocleft}% +Normalerweise\ChangedAt{v2.8q}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} wird das +Inhaltsverzeichnis\Index{Inhaltsverzeichnis} so formatiert, dass die +Gliederungsebenen unterschiedlich weit eingezogen werden. Dabei wird +für die Gliederungsnummer jeder Ebene ein Raum fester Breite +vorgesehen, in dem die Nummer linksbündig gesetzt wird. Dies +entspricht der Verwendung der Option \Option{tocindent}. + +Werden sehr viele Gliederungspunkte verwendet, so werden die +Gliederungsnummern sehr breit. Damit reicht der vorgesehene Platz +nicht aus. In \cite{DANTE:FAQ} wird für solche Fälle vorgeschlagen, +die Erzeugung des Inhaltsverzeichnisses umzudefinieren. \KOMAScript{} +bietet jedoch eine alternative Formatierung an, bei der das Problem +nicht auf"|tritt. Bei Verwendung der Option \Option{tocleft} werden die +unterschiedlichen Gliederungsebenen nicht unterschiedlich weit +eingezogen. Stattdessen wird eine tabellenartige Form gewählt, in der +alle Gliederungsnummern und alle Gliederungstexte jeweils in einer +Spalte linksbündig untereinander stehen. Der für die +Gliederungsnummern benötigte Platz wird dabei automatisch ermittelt. + +\begin{Explain} + Damit der Platz, der für die Gliederungsnummern benötigt wird, bei + Option \Option{tocleft} automatisch ermittelt werden kann, müssen + einige Makros umdefiniert werden. Es ist zwar unwahrscheinlich, aber + nicht ausgeschlossen, dass dies zu Problemen bei Verwendung + anderer Pakete führt. Sollten Sie diesen Verdacht haben, + probieren Sie alternativ die Option \Option{tocindent}, die ohne + solche Umdefinierungen auskommt. Bei Verwendung von Paketen, die + ebenfalls in die Formatierung des Inhaltsverzeichnisses eingreifen, + ist außerdem damit zu rechnen, dass die Optionen \Option{tocleft} + und \Option{tocindent} nicht funktionieren. Sicherheitshalber sollte + man bei Verwendung solcher Pakete keine der beiden Optionen als + globale Optionen, also nicht als Klassenoptionen, angeben. + + Bei Option \Option{tocleft} erfolgt die Ermittlung der für die + Gliederungsnummern benötigten Breite während der Ausgabe des + Inhaltsverzeichnisses. Nach einer Änderung, die sich auf das + Inhaltsverzeichnis auswirkt, werden maximal drei \LaTeX-Durchläufe + benötigt, bis das Inhaltsverzeichnis mit korrektem Wert dargestellt + wird. +\end{Explain} +% +\EndIndex{Option}{tocindent}% +\EndIndex{Option}{tocleft}% + + +\subsection{Optionen für die Verzeichnisse der Gleitumgebungen} +\label{sec:maincls.listsOptions} + +Die bekanntesten Verzeichnisse von Gleitumgebungen sind das Abbildungs- und +das Tabellenverzeichnis. Beispielsweise mit Hilfe des +\Package{float}-Pakets\IndexPackage{float} (siehe \cite{package:float}) können +jedoch eigene Gleitumgebungen erstellt werden, die ebenfalls in Verzeichnissen +erfasst werden. + +\begin{Explain} + Ob sich \KOMAScript-Optionen auf Verzeichnisse auswirken, die mit Hilfe von + anderen Paketen erstellt werden, hängt maßgeblich von diesen Paketen ab. Bei + den Verzeichnissen des \Package{float}-Pakets\IndexPackage{float} ist dies + normalerweise der Fall. + + Neben den hier angegebenen Optionen gibt es weitere, die sich zwar + auf die Verzeichnisse der Gleitumgebungen, nicht jedoch auf deren + Formatierung oder Inhalt auswirken. Stattdessen haben sie + Auswirkungen auf den Inhalt des Inhaltsverzeichnisses. Deshalb + finden sich die entsprechenden Erläuterungen in + \autoref{sec:maincls.tocOptions}. +\end{Explain} + +\begin{Declaration} + \Option{listsindent}\\ + \Option{listsleft} +\end{Declaration}% +\BeginIndex{Option}{listsindent}% +\BeginIndex{Option}{listsleft}% +Normalerweise\ChangedAt{v2.8q}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} werden die +Verzeichnisse\Index{Abbildungen>Verzeichnis der}\Index{Tabellen>Verzeichnis + der} der Gleitumgebungen so formatiert, dass für die Nummer ein Raum fester +Breite verwendet wird. Dies entspricht der Verwendung der Option +\Option{listsindent}. + +Werden die Nummern sehr breit, weil beispielsweise sehr viele Tabellen +verwendet werden, so reicht der vorgesehene Platz irgendwann nicht mehr aus. +Vergleichbar zur Option \Option{tocleft} bietet \KOMAScript{} daher die Option +\Option{listsleft}. Dabei wird die Breite der Nummern automatisch ermittelt +und der Platz entsprechend angepasst. Bezüglich der Nebenwirkungen und +Funktionsweise gilt, was in \autoref{sec:maincls.tocOptions}, +\autopageref{desc:maincls.option.tocleft} für die Option \Option{tocleft} +erklärt wurde. Es sei an dieser Stelle jedoch nochmals darauf hingewiesen, +dass mit der Option \Option{listsleft} mehrere \LaTeX-Durchläufe benötigt +werden, bis die Verzeichnisse ihre endgültige Form erhalten haben. +% +\EndIndex{Option}{listsindent}% +\EndIndex{Option}{listsleft}% + + +\subsection{Optionen für die Formatierung} +\label{sec:maincls.formattingOptions} + +Formatierungsoptionen sind alle Optionen, welche die Form oder +Formatierung einer Ausgabe beeinflussen und nicht in einen anderen +Abschnitt eingeordnet werden können. Es sind also sozusagen die +\emph{sonstigen Optionen}. + +\begin{Declaration} + \Option{abstracton}\\ + \Option{abstractoff} +\end{Declaration}% +\BeginIndex{Option}{abstracton}% +\BeginIndex{Option}{abstractoff}% +\OnlyAt{\Class{scrreprt}\and\Class{scrartcl}}% +Bei den Standardklassen setzt die \Environment{abstract}-Umgebung +noch den zentrierten Titel »\abstractname« vor die +Zusammenfassung\Index[indexmain]{Zusammenfassung}. Früher war dies +durchaus üblich. Inzwischen sind wir durch das Zeitunglesen darin +geübt, einen entsprechend hervorgehobenen Text am Anfang eines +Artikels oder Berichts als Zusammenfassung zu erkennen. Dies gilt +umso mehr, wenn dieser Text noch vor dem Inhaltsverzeichnis steht. +Zudem verwundert es, wenn ausgerechnet diese Überschrift klein und +zentriert ist. {\KOMAScript} bietet mit den Optionen +\Option{abstracton} und \Option{abstractoff} die Möglichkeit, die +Überschrift über der Zusammenfassung ein- oder auszuschalten. + +\begin{Explain} + Bei Büchern wird in der Regel eine andere Art der Zusammenfassung + verwendet. Dort setzt man ein entsprechendes Kapitel an den Anfang + oder Ende des Werks. Oft wird diese Zusammenfassung entweder mit + der Einleitung oder einem weiteren Ausblick verknüpft. Daher gibt es + bei \Class{scrbook} überhaupt keine \Environment{abstract}-Umgebung. + Bei Berichten im weiteren Sinne, etwa einer Studien- oder + Diplomarbeit, ist ebenfalls eine Zusammenfassung in dieser Form zu + empfehlen.\par +\end{Explain} +% +\EndIndex{Option}{abstracton}% +\EndIndex{Option}{abstractoff}% + + +\begin{Explain}% +\begin{Declaration} + \Option{pointednumbers}\\ + \Option{pointlessnumbers} +\end{Declaration}% +\BeginIndex{Option}{pointednumbers}% +\BeginIndex{Option}{pointlessnumbers}% + Nach {\small DUDEN} steht in Gliederungen\Index{Gliederung}, in + denen ausschließlich arabische Ziffern für die + Nummerierung\Index{Nummerierung} verwendet werden, am Ende der + Gliederungsnummern kein abschließender Punkt (siehe + \cite[R\,3]{DUDEN}). Wird hingegen innerhalb der Gliederung auch mit + römischen Zahlen oder Groß- oder Kleinbuchstaben gearbeitet, so + steht am Ende aller Gliederungsnummer ein abschließender Punkt + (siehe \cite[R\,4]{DUDEN}). In {\KOMAScript} ist ein Automatismus + eingebaut, der diese etwas komplexe Regel zu erfüllen versucht. Der + Automatismus wirkt sich so aus, dass normalerweise bei Verwendung + des Gliederungsbefehls \Macro{part} oder eines Anhangs + (\Macro{appendix}) auf Gliederungsnummer mit abschließendem Punkt + umgeschaltet wird. Diese Information wird in der \File{aux}-Datei + gespeichert und wirkt sich dann beim nächsten \LaTeX-Lauf auf das + gesamte Dokument aus.\par +\end{Explain} + +Manchmal versagt der Automatismus zum Setzen oder Weglassen des +abschließenden Punktes in der Gliederungsnummer oder andere Sprachen +sehen andere Regeln vor. Deshalb ist es mit der Option +\Option{pointednumbers} möglich, den Punkt manuell einzuschalten oder +mit \Option{pointlessnumbers} zu verbieten. + +Es ist zu beachten, dass der Automatismus immer erst für den nächsten +\LaTeX-Lauf die Verwendung des abschließenden Punktes ein- oder +ausschaltet. Bevor also versucht wird, die korrekte Darstellung über +Verwendung einer der Optionen zu erzwingen, sollte grundsätzlich ein +weiterer \LaTeX-Lauf ohne Dokumentänderung durchgeführt werden. + +Richtig, die korrekten Namen für diese Optionen wären beispielsweise +\Option{dottednumbers}\IndexOption{dottednumbers} und +\Option{dotlessnumbers}\IndexOption{dotlessnumbers}. Die Bedeutung der statt +dessen gewählten Namen war mir vor Jahren bei der Implementierung nicht klar. +% +\EndIndex{Option}{pointednumbers}% +\EndIndex{Option}{pointlessnumbers}% + + +\begin{Declaration} + \Option{leqno} +\end{Declaration}% +\BeginIndex{Option}{leqno}% +Gleichungen\Index{Gleichungen} werden normalerweise auf der +rechten Seite nummeriert. Mit Hilfe der Standardoption +\Option{leqno} wird die Standardoptionsdatei \File{leqno.clo} +geladen. Dadurch erfolgt die Nummerierung von Gleichungen links. +% +\EndIndex{Option}{leqno}% + + +\begin{Declaration} + \Option{fleqn} +\end{Declaration}% +\BeginIndex{Option}{fleqn}% +Gleichungen werden normalerweise horizontal zentriert ausgegeben. Mit +Hilfe der Standardoption \Option{fleqn} wird die Standardoptionsdatei +\File{fleqn.clo} geladen. Dadurch erfolgt die Ausgabe von Gleichungen +linksbündig. +% +\EndIndex{Option}{fleqn}% + + +\begin{Declaration} + \Option{tablecaptionbelow}\\ + \Option{tablecaptionabove} +\end{Declaration}% +\BeginIndex{Option}{tablecaptionbelow}% +\BeginIndex{Option}{tablecaptionabove}% +Wie in \autoref{sec:maincls.floats}, \autopageref{desc:maincls.macro.caption} +erläutert wird, verhält sich \Macro{caption}\IndexCmd{caption} bei +Abbildungen\Index{Abbildungen} immer wie +\Macro{captionbelow}\IndexCmd{captionbelow}. Bei Tabellen ist das Verhalten +hingegen von diesen beiden Optionen abhängig. In der Voreinstellung, +\Option{tablecaptionbelow}, verhält sich \Macro{caption} auch bei Tabellen wie +\Macro{captionbelow}. Mit der Option \Option{tablecaptionabove} verhält sich +\Macro{caption} jedoch wie \Macro{captionabove}\IndexCmd{captionabove}. + +Es sei auch hier explizit darauf hingewiesen, dass die Optionen keinen +Einfluss darauf haben, ob mit \Macro{caption} Tabellenüberschriften oder +Tabellenunterschriften gesetzt werden. Sie haben lediglich einen Einfluss +darauf, ob der entsprechende Text als Tabellenüberschrift oder +Tabellenunterschrift formatiert wird. Ob der Text über oder unter der Tabelle +steht, wird jedoch durch die Position der \Macro{caption}-Anweisung +innerhalb der \Environment{table}-Umgebung bestimmt. + +Bitte\OnlyAt{\Package{float}}\IndexPackage{float} beachten Sie, dass bei +Verwendung des \Package{float}-Pakets die Optionen \Option{tablecaptionbelow} +und \Option{tablecaptionabove} nicht mehr funktionieren, sobald Sie +\Macro{refloatstyle} auf Tabellen anwenden. Näheres zum \Package{float}-Paket +und \Macro{refloatstyle} entnehmen Sie bitte \cite{package:float}. Die +zusätzliche Unterstützung, die \KOMAScript{} bei Verwendung des +\Package{float}-Pakets bietet, finden Sie bei der Erklärung zu +\PValue{komaabove} in \autoref{sec:maincls.floats}, +\autopageref{desc:maincls.floatstyle.komaabove}. +% +\EndIndex{Option}{tablecaptionbelow}% +\EndIndex{Option}{tablecaptionabove}% + + +\begin{Explain}% +\begin{Declaration} + \Option{origlongtable} +\end{Declaration}% +\BeginIndex{Option}{origlongtable}% + Beim Paket\OnlyAt{\Package{longtable}} + \Package{longtable}\IndexPackage{longtable} (siehe \cite{package:longtable}) + werden Tabellenüberschriften intern mit dem Befehl \Macro{LT@makecaption} + gesetzt. Damit diese Tabellenüberschriften zu denen normaler Tabellen + passen, definieren die \KOMAScript-Klassen diese Anweisung normalerweise um. + Siehe hierzu auch \autoref{sec:maincls.floats}, + \autopageref{desc:maincls.macro.caption.longtable}. Diese Umdefinierung + erfolgt mit Hilfe von \Macro{AfterPackage} unmittelbar nach dem Laden von + \Package{longtable}. Ist das Paket \Package{caption2}\IndexPackage{caption2} + (siehe \cite{package:caption}) geladen, unterbleibt die Umdefinierung in + \KOMAScript, um \Package{caption2} nicht in die Quere zu kommen. +\end{Explain} +Falls die Tabellenüberschriften des \Package{longtable}-Pakets von den +\KOMAScript-Klassen nicht umdefiniert werden sollen, kann die Option +\Option{origlongtable} gesetzt werden. +% +\EndIndex{Option}{origlongtable}% + + +\begin{Declaration} + \Option{openbib} +\end{Declaration}% +\BeginIndex{Option}{openbib}% +Die Standardoption \Option{openbib} schaltet auf eine alternative +Formatierung des Literaturverzeichnisses\Index{Literaturverzeichnis} +um. Dabei wird zum einen die erste Zeile der Literaturangabe, die +normalerweise den Autor enthält, weniger stark eingerückt. Zum anderen +wird der Befehl \Macro{newblock} so umdefiniert, dass er einen Absatz +einfügt. Ohne die Option fügt \Macro{newblock} lediglich einen +dehnbaren horizontalen Abstand ein. +% +\EndIndex{Option}{openbib} + + +\begin{Declaration} + \Option{draft}\\ + \Option{final} +\end{Declaration}% +\BeginIndex{Option}{draft}% +\BeginIndex{Option}{final}% +Die beiden Standardoptionen \Option{draft} und \Option{final} werden +normalerweise verwendet, um zwischen Dokumenten im +Entwurfsstadium\Index{Entwurf} und fertigen +Dokumenten\Index{Endfassung} zu unterscheiden. Insbesondere werden mit +der Option \Option{draft} kleine schwarze Kästchen aktiviert, die im +Falle von überlangen Zeilen am Zeilenende ausgegeben werden. Diese +Kästchen erleichtern dem ungeübten Auge, Absätze ausfindig zu machen, +die manueller Nachbearbeitung bedürfen. Demgegenüber erscheinen mit +der Option \Option{final} keine solchen Kästchen. + +Die beiden Optionen werden übrigens auch von anderen Paketen ausgewertet +und beeinflussen deren Eigenschaften. So +verzichtet das Paket \Package{graphics}\IndexPackage{graphics} +oder \Package{graphicx}\IndexPackage{graphicx} bei Verwendung der +Option \Option{draft} auf die Ausgabe der Grafiken. Stattdessen +werden lediglich Rahmen in der entsprechenden Größe und die +Dateinamen der Grafiken ausgegeben (siehe +\cite{package:graphics}). +% +\EndIndex{Option}{draft}% +\EndIndex{Option}{final}% + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Generelle Dokumenteigenschaften} +\label{sec:maincls.general} + +Einige Dokumenteigenschaften sind keinem speziellen Abschnitt des +Dokuments wie der Titelei, dem Text oder dem Literaturverzeichnis +zuzuordnen, sondern betreffen das Dokument insgesamt. Ein Teil dieser +Eigenschaften wurde bereits im \autoref{sec:maincls.options} +erläutert. + +\subsection{Änderung der verwendeten Schriftart} +\label{sec:maincls.font} + +\BeginIndex{}{Schriftart}\BeginIndex{}{Schriftgroesse=Schriftgröße}% +\begin{Explain} +\KOMAScript{} verwendet für verschiedene Elemente des Textes zum +Zwecke der Hervorhebung keine fest eingestellten Schriften und +Schriftauszeichungen. Stattdessen existieren Schriftvariablen in Form +von Anweisungen, in denen die Befehle zur Schriftumschaltung abgelegt +sind. In früheren Versionen von \KOMAScript{} musste der Anwender zur +Änderung der Auszeichnung eines Elements die entsprechende Anweisung +mit Hilfe von \Macro{renewcommand} umdefinieren. Manchmal war es auch +nicht einfach, aus dem Namen des Elements auf die zugehörige Anweisung +zu schließen. Außerdem musste zur Umdefinierung häufig erst einmal +festgestellt werden, wie die ursprüngliche Definition lautete. + +Genau genommen waren all diese Erschwernisse durchaus beabsichtigt. +Denn eigentlich sollte es sich dabei nicht um eine +Benutzerschnittstelle, sondern um eine Schnittstelle für Paketautoren +handeln, die eigene Klassen oder Pakete um \KOMAScript{} herum bauen. +Über die Jahre hat sich aber gezeigt, dass die Schnittstelle trotzdem +hauptsächlich von Anwendern verwendet wird. Also wurde eine neue, +einfachere Schnittstelle geschaffen. Dennoch rät der Autor dem +typografischen Laien ausdrücklich davon ab, Schriftgrößen und andere +-auszeichnungen nach eigenem Geschmack zu ändern. Wissen und +Fingerspitzengefühl sind Grundvoraussetzungen für die Auswahl und die +Mischung unterschiedlicher Schriftgrößen, "~attribute und "~familien. +\end{Explain} + + +\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}% +\ChangedAt{v2.8p}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% +Mit 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} etc. 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}). 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. + +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 zu verwenden. Beispiele für die +Verwendung entnehmen Sie bitte den Abschnitten zu den jeweiligen Elementen. +Namen und Bedeutung der einzelnen Elemente sind in +\autoref{tab:maincls.elementsWithoutText} aufgelistet. Die Voreinstellungen +sind den jeweiligen Abschnitten zu entnehmen. + +Mit der Anweisung \Macro{usekomafont} kann die aktuelle Schriftart auf +diejenige umgeschaltet werden, die für das angegebene \PName{Element} +definiert ist. + +\begin{Example} + Angenommen, Sie wollen, dass für das Element + \FontElement{captionlabel} dieselbe Schriftart wie + für das Element \FontElement{descriptionlabel} verwendet wird. Das + erreichen Sie einfach mit: +\begin{lstlisting} + \setkomafont{captionlabel}{% + \usekomafont{descriptionlabel}} +\end{lstlisting} + Weitere Beispiele finden Sie in den Abschnitten zu den jeweiligen + Elementen. +\end{Example} + +\begin{desctable} + \caption{Elemente, deren Schrift bei \KOMAScript{} mit + \Macro{setkomafont} und \Macro{addtokomafont} verändert werden + kann\label{tab:maincls.elementsWithoutText}}\\ + \Endfirsthead + \caption[]{Elemente, deren Schrift verändert werden kann + (\emph{Fortsetzung})}\\ + \Endhead% + \standardfoot% + \feentry{caption}{Text einer Abbildungs- oder Tabellenunter- oder + "~überschrift}% + \feentry{captionlabel}{% + Label einer Abbildungs- oder Tabellenunter- oder "~überschrift; Anwendung + erfolgt nach dem Element \FontElement{caption}}% + \feentry{chapter}{% + Überschrift der Ebene \Macro{chapter}}% + \feentry{descriptionlabel}{% + Labels, also das optionale Argument der \Macro{item}-Anweisung, in einer + \Environment{description}-Umgebung}% + \feentry{dictumauthor}{% + Urheber eines schlauen Spruchs; Anwendung erfolgt nach dem Element + \FontElement{dictumtext}}% + \feentry{dictumtext}{% + Text eines schlauen Spruchs (siehe Anweisung \Macro{dictum}% +% , \autoref{sec:maincls.structure} +% , \autopageref{desc:maincls.macro.dictum}% + )}% + \feentry{footnote}{% + Marke und Text einer Fußnote}% + \feentry{footnotelabel}{% + Marke einer Fußnote; Anwendung erfolgt nach dem Element + \FontElement{footnote}}% + \feentry{footnotereference}{% + Referenzierung der Fußnotenmarke im Text}% + \feentry{pagefoot}{% + eigentlich der Fuß einer Seite, jedoch auch der Kopf der Seite}% + \feentry{pagehead}{% + eigentlich der Kopf einer Seite, jedoch auch der Fuß der Seite}% + \feentry{pagenumber}{% + Seitenzahl im Kopf oder Fuß der Seite}% + \feentry{paragraph}{% + Überschrift der Ebene \Macro{paragraph}}% + \feentry{part}{% + Überschrift der Ebene \Macro{part} jedoch ohne die Zeile mit der Nummer + des Teils}% + \feentry{partnumber}{% + Zeile mit der Nummer des Teils in Überschrift der Ebene \Macro{part}}% + \feentry{section}{% + Überschrift der Ebene \Macro{section}}% + \feentry{sectioning}{% + alle Gliederungsüberschriften, also die Argumente von \Macro{part} bis + \Macro{subparagraph} und \Macro{minisec} sowie die Überschrift der + Zusammenfassung; die Anwendung erfolgt vor dem Element der jeweiligen + Gliederungebene}% + \feentry{subparagraph}{% + Überschrift der Ebene \Macro{subparagraph}}% + \feentry{subsection}{% + Überschrift der Ebene \Macro{subsection}}% + \feentry{subsubsection}{% + Überschrift der Ebene \Macro{subsubsection}}% + \feentry{title}{% + Haupttitel des Dokuments, also das Argument von \Macro{title} (bezüglich + der Größe des Haupttitels siehe die ergänzenden Bemerkungen im Text ab + \autopageref{desc:maincls.macro.title})}% +\end{desctable} +% +\EndIndex{Cmd}{setkomafont}% +\EndIndex{Cmd}{addtokomafont}% +\EndIndex{Cmd}{usekomafont}% +\EndIndex{}{Schriftart}\EndIndex{}{Schriftgroesse=Schriftgröße}% + +\subsection{Seitenstil} +\label{sec:maincls.pageStyle} + +Eine der allgemeinen Eigenschaften eines Dokuments ist der +Seitenstil\Index[indexmain]{Seitenstil}. Bei {\LaTeX} versteht man +unter dem Seitenstil in erster Linie den Inhalt der Kopf- und +Fußzeilen. + +\begin{Declaration} + \Macro{pagestyle}\PParameter{empty}\\ + \XMacro{pagestyle}\PParameter{plain}\\ + \XMacro{pagestyle}\PParameter{headings}\\ + \XMacro{pagestyle}\PParameter{myheadings}\\ + \Macro{thispagestyle}\Parameter{lokaler Seitenstil} +\end{Declaration}% +\BeginIndex{Cmd}{pagestyle}% +\BeginIndex{Cmd}{thispagestyle}% +\BeginIndex{Pagestyle}{empty}% +\BeginIndex{Pagestyle}{plain}% +\BeginIndex{Pagestyle}{headings}% +\BeginIndex{Pagestyle}{myheadings}% +Üblicherweise wird zwischen vier verschiedenen Seitenstilen +unterschieden. +\begin{description} +\item[\phantomsection\label{desc:maincls.pagestyle.empty}empty] ist der Seitenstil, bei dem Kopf- und Fußzeile + vollständig leer bleiben. Dies ist bei {\KOMAScript} vollkommen + identisch zu den Standardklassen. +\item[plain] ist der Seitenstil, bei dem keinerlei + Kolumnentitel\Index{Kolumnentitel} verwendet, sondern nur eine + Seitenzahl\Index{Seitenzahl}\Index{Paginierung} ausgegeben wird. Bei den + Standardklassen wird diese Seitenzahl immer mittig im Fuß ausgegeben. Bei + {\KOMAScript} erfolgt die Ausgabe stattdessen im + doppelseitigen\Index{doppelseitig} Layout außen im Fuß. Der einseitige + Seitenstil entspricht bei {\KOMAScript} dem der Standardklassen. +\item[headings] ist der Seitenstil für lebende Kolumnentitel. Das sind + Kolumnentitel, bei denen Überschriften + automatisch\Index[indexmain]{Kolumnentitel>automatisch} in den Seitenkopf + übernommen werden. Im Internet oder in Beschreibungen zu \LaTeX-Paketen + findet man auch häufig die englische Bezeichnung »\emph{running + headline}«. \OnlyAt{\Class{scrbook}\and\Class{scrreprt}} Bei den Klassen + \Class{scrbook}\IndexClass{scrbook} und + \Class{scrreprt}\IndexClass{scrreprt} werden dabei im doppelseitigen Layout + die Überschriften der Kapitel und der Abschnitte in der Kopfzeile wiederholt + -- bei {\KOMAScript} jeweils außen, bei den Standardklassen innen. Die + Seitenzahl wird bei {\KOMAScript} im Fuß außen, bei den Standardklassen im + Kopf außen gesetzt. Im einseitigen Layout werden nur die Überschriften der + Kapitel verwendet und bei {\KOMAScript} zentriert im Kopf ausgegeben. Die + Seitenzahlen werden bei {\KOMAScript} dann zentriert im Fuß gesetzt. + \OnlyAt{\Class{scrartcl}}Bei \Class{scrartcl}\IndexClass{scrartcl} wird + entsprechend verfahren, jedoch eine Ebene tiefer bei Abschnitt und + Unterabschnitt angesetzt, da die Gliederungsebene Kapitel hier nicht + existiert. + + Während die Standardklassen automatische Kolumnentitel immer in + Versalien -- also Großbuchstaben -- setzen, verwendet {\KOMAScript} + die Schreibweise, die in der Überschrift vorgefunden wurde. Dies hat + verschiedene typografische Gründe. So sind Versalien als + Auszeichnung eigentlich viel zu mächtig. Verwendet man sie trotzdem, + sollten sie um einen Punkt kleiner gesetzt und leicht gesperrt + werden. All dies findet bei den Standardklassen keine Beachtung. +\item[myheadings] entspricht weitgehend dem Seitenstil \texttt{headings}, + allerdings werden die Kolumnentitel nicht + automatisch\Index[indexmain]{Kolumnentitel>manuell} erzeugt, sondern liegen + in der Verantwortung des Anwenders. Er verwendet dazu die Anweisungen + \Macro{markboth}\IndexCmd{markboth} und + \Macro{markright}\IndexCmd{markright}. +\end{description} +Die Form der Seitenstile \texttt{headings} und \texttt{myheadings} wird +außerdem durch jede der vier Klassenoptionen \Option{headsepline}, +\Option{headnosepline}, \Option{footsepline} und \Option{footnosepline} (siehe +\autoref{sec:maincls.layoutOptions}, +\autopageref{desc:maincls.option.headsepline}) beeinflusst. Der Seitenstil ab +der aktuellen Seite wird mit der Anweisung \Macro{pagestyle} umgeschaltet. +Demgegenüber verändert \Macro{thispagestyle} nur den Seitenstil der aktuellen +Seite. + +Der Seitenstil kann jederzeit mit Hilfe der +\Macro{pagestyle}-Anweisung gesetzt werden und gilt dann ab der +nächsten Seite, die ausgegeben wird. Üblicherweise setzt man den +Seitenstil jedoch nur einmal zu Beginn des Dokuments oder in der +Präambel. Für eine Änderung des Seitenstils nur der aktuellen Seite +verwendet man stattdessen die Anweisung \Macro{thispagestyle}. Dies +geschieht auch an einigen Stellen im Dokument automatisch. +Beispielsweise wird bei allen Kapitelanfangsseiten implizit die +Anweisung \Macro{thispagestyle}\PParameter{plain} ausgeführt. + +Bitte beachten Sie auch, dass die Umschaltung zwischen automatischen und +manuellen Kolumnentiteln bei Verwendung des \Package{scrpage2}-Pakets nicht +mehr über den Seitenstil, sondern mit speziellen Anweisungen erfolgt. Die +Seitenstile \texttt{headings} und \texttt{myheadings} sollten zusammen mit +diesem Paket nicht verwendet werden (siehe \autoref{cha:scrpage}, +\autopageref{desc:scrpage.pagestyle.useheadings}).% +% +\EndIndex{Cmd}{pagestyle}% +\EndIndex{Cmd}{thispagestyle}% +\EndIndex{Pagestyle}{empty}% +\EndIndex{Pagestyle}{plain}% +\EndIndex{Pagestyle}{headings}% +\EndIndex{Pagestyle}{myheadings}% + + +\BeginIndex[indexother]{}{Schriftart}% +Um die Schriftarten von Kopf und Fuß der Seite oder der Seitenzahl zu +ändern\ChangedAt{v2.8p}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}, % +verwenden Sie die Benutzerschnittstelle, die in +\autoref{sec:maincls.font} beschrieben ist. Für den Kopf und +den Fuß ist dabei das gleiche Element zuständig, das Sie wahlweise mit +\FontElement{pagehead}\IndexFontElement{pagehead} oder +\FontElement{pagefoot}\IndexFontElement{pagefoot} benennen können. +Das Element für die Seitenzahl innerhalb des Kopfes oder Fußes heißt +\FontElement{pagenumber}\IndexFontElement{pagenumber}. Die +Voreinstellungen sind in +\autoref{tab:maincls.defaultFontsHeadFoot} zu finden. +% +\begin{table} + \centering% + \caption{Schriftvoreinstellungen für die Elemente des Seitenstils} + \begin{tabular}{ll} + \toprule + Element & Voreinstellung \\ + \midrule + \FontElement{pagefoot}\IndexFontElement{pagefoot} & + \Macro{normalfont}\Macro{normalcolor}\Macro{slshape} \\ + \FontElement{pagehead}\IndexFontElement{pagehead} & + \Macro{normalfont}\Macro{normalcolor}\Macro{slshape} \\ + \FontElement{pagenumber}\IndexFontElement{pagenumber} & + \Macro{normalfont}\Macro{normalcolor}\\ + \bottomrule + \end{tabular} + \label{tab:maincls.defaultFontsHeadFoot} +\end{table} +% +\begin{Example} + \phantomsection\label{sec:maincls.pageStyle.example}% + Angenommen, Sie wollen Kopf und Fuß einen Schriftgrad kleiner und + kursiv setzen. Die Seitenzahl soll jedoch nicht kursiv, sondern fett + gesetzt werden. Davon abgesehen, dass das Ergebnis grauenvoll + aussehen wird, können Sie dies wie folgt erreichen: +\begin{lstlisting} + \setkomafont{pagehead}{% + \normalfont\normalcolor\itshape\small + } + \setkomafont{pagenumber}{\normalfont\bfseries} +\end{lstlisting} + Wollen Sie hingegen lediglich, dass zusätzlich zur bereits + voreingestellten schrägen Variante ebenfalls eine kleinere Schrift + verwendet wird, so genügt: +\begin{lstlisting} + \addtokomafont{pagefoot}{\small} +\end{lstlisting} + Wie Sie sehen, ist im letzten Beispiel das Element + \FontElement{pagefoot} verwendet. Das gleiche Ergebnis erhalten Sie + auch, wenn Sie stattdessen \FontElement{pagehead} verwenden (siehe + \autoref{tab:maincls.elementsWithoutText} auf + \autopageref{tab:maincls.elementsWithoutText}). +\end{Example} +Es ist an dieser Stelle nicht möglich, Versalien für die +automatischen Kolumnentitel zu erzwingen. Wenn Sie dies wünschen, +verwenden Sie bitte das \Package{scrpage2}-Paket (siehe +\autoref{cha:scrpage}, \autopageref{desc:scrpage.option.markuppercase}). + +Eine sinnvolle Verwendung können die Befehle +\Macro{usekomafont}\PParameter{pagehead} und +\Macro{usekomafont}\PParameter{pagenumber} finden, wenn Sie eigene +Seitenstile definieren. Falls Sie dafür nicht das \KOMAScript-Paket +\Package{scrpage2} (siehe \autoref{cha:scrpage}), sondern +beispielsweise das Paket \Package{fancyhdr}\IndexPackage{fancyhdr} +(siehe \cite{package:fancyhdr}) einsetzen, können Sie diese Befehle in +Ihren Definitionen verwenden. Dadurch bleiben Sie zu \KOMAScript{} +möglichst kompatibel. Verwenden Sie diese Befehle in Ihren eigenen +Definitionen nicht, so bleiben Schriftänderungen wie in den +vorangehenden Beispielen unbeachtet. Die Pakete +\Package{scrpage}\IndexPackage{scrpage} und +\Package{scrpage2}\IndexPackage{scrpage2} sorgen selbst für maximale +Kompatibilität. +% +\EndIndex[indexother]{}{Schriftart}% + + +\begin{Declaration} + \Macro{titlepagestyle}\\ + \Macro{partpagestyle}\\ + \Macro{chapterpagestyle}\\ + \Macro{indexpagestyle} +\end{Declaration}% +\BeginIndex{Cmd}{titlepagestyle}\Index{Titel>Seitenstil}% +\BeginIndex{Cmd}{partpagestyle}\Index{Teil>Seitenstil}% +\BeginIndex{Cmd}{chapterpagestyle}\Index{Kapitel>Seitenstil}% +\BeginIndex{Cmd}{indexpagestyle}\Index{Index>Seitenstil}% +Auf einigen Seiten wird mit Hilfe von \Macro{thispagestyle} +automatisch ein anderer Seitenstil gewählt. Welcher Seitenstil dies +ist, wird diesen vier Makros entnommen. In der Voreinstellung ist der +Seitenstil in allen vier Fällen \PValue{plain}. Die Bedeutung der +einzelnen Makros entnehmen Sie bitte \autoref{tab:specialpagestyles}. +% +\begin{table} + \centering + \caption{Makros zur Festlegung des Seitenstils besonderer Seiten} + \label{tab:specialpagestyles} + \begin{desctabular} + \mentry{titlepagestyle}{Seitenstil der Seite mit der Titelei bei + \emph{in-page}-Titeln}% + \mentry{partpagestyle}{Seitenstil der Seiten mit \Macro{part}-Titeln}% + \mentry{chapterpagestyle}{Seitenstil auf Kapitelanfangsseiten}% + \mentry{indexpagestyle}{Seitenstil der ersten Indexseite}% + \end{desctabular} +\end{table} +% +Die Seitenstile können mit Hilfe von \Macro{renewcommand} umdefiniert +werden. +\begin{Example} + Angenommen, Sie wollen nicht, dass die Seiten mit der + \Macro{part}-Überschrift mit einer Nummer versehen werden. Dann setzen Sie + folgende Anweisung beispielsweise in der Präambel Ihres Dokuments: +\begin{lstlisting} + \renewcommand*{\partpagestyle}{empty} +\end{lstlisting} + Wie Sie auf \autopageref{desc:maincls.pagestyle.empty} erfahren haben, ist + der Seitenstil \PValue{empty} genau das, was in diesem Beispiel verlangt + wird. Natürlich können Sie auch einen selbstdefinierten Seitenstil + verwenden. + + Angenommen, Sie haben mit dem Paket \Package{scrpage2} (siehe + \autoref{cha:scrpage}) einen eigenen Seitenstil für + Kapitelanfangsseiten definiert. Diesem Seitenstil haben Sie den + passenden Namen \PValue{chapter} gegeben. Um diesen nun auch + tatsächlich zu verwenden, definieren Sie das Makro + \Macro{chapterpagestyle} entsprechend um: +\begin{lstlisting} + \renewcommand*{\chapterpagestyle}{chapter} +\end{lstlisting} + + Angenommen, Sie wollen das Inhaltsverzeichnis eines Buches + insgesamt nicht mit Seitenzahlen versehen. Danach soll + aber wieder mit dem Seitenstil \PValue{headings} gearbeitet + werden, sowie mit \PValue{plain} auf den Kapitelanfangsseiten. Dann + verwenden Sie beispielsweise: +\begin{lstlisting} + \clearpage + \pagestyle{empty} + \renewcommand*{\chapterpagestyle}{empty} + \tableofcontents + \clearpage + \pagestyle{headings} + \renewcommand*{\chapterpagestyle}{plain} +\end{lstlisting} + Sie können die Umdefinierung des Seitenstils für Kapitelanfangsseiten aber + auch lokal halten. Das hat den Vorteil, dass Sie dann keine Annahmen über + die vor der Änderung gültige Einstellung treffen müssen. Die Änderung + des Seitenstils selbst können Sie gleichmaßen lokal halten: +\begin{lstlisting} + \clearpage + \begingroup + \pagestyle{empty} + \renewcommand*{\chapterpagestyle}{empty} + \tableofcontents + \clearpage + \endgroup +\end{lstlisting} + Beachten Sie jedoch, dass Sie niemals eine nummerierte + Gliederungsüberschrift in eine Gruppe packen sollten. Anderenfalls können + Anweisungen wie \Macro{label} rasch zu unvorhergesehenen Ergebnissen + führen. +\end{Example} + +\begin{Explain} + Wer nun glaubt, er könne auf Kapitelanfangsseiten ebenfalls mit + lebenden Kolumnentiteln arbeiten indem er einfach eine Definition + wie +\begin{lstlisting} + \renewcommand*{\chapterpagestyle}{headings} +\end{lstlisting} + verwendet, wird sich möglicherweise wundern. Zwar wird dadurch + tatsächlich auch auf Kapitelanfangsseiten der Seitenstil + \PValue{headings} verwendet. Allerdings erscheint bei Verwendung der + Option \Option{openright} trotzdem kein Kolumnentitel. Die Ursache + dafür ist im \LaTeX-Kern zu finden. Dort ist \Macro{rightmark}, die + Marke für rechte Seiten, mit: +\begin{lstlisting} + \let\@rightmark\@secondoftwo + \def\rightmark{\expandafter\@rightmark + \firstmark\@empty\@empty} +\end{lstlisting} + definiert. Es wird also die rechte Marke von \Macro{firstmark} + gesetzt. \Macro{firstmark} beinhaltet die erste linke und rechte + Marke, die auf einer Seite gesetzt wurde. Innerhalb von + \Macro{chapter} wird mit \Macro{markboth} die linke Marke auf die + Kapitelüberschrift und die rechte Marke auf einen leeren Inhalt + gesetzt. Damit ist also die erste rechte Marke auf einer rechten + Kapitelanfangsseite leer. Daher ist auf diesen Seiten auch der + Kolumnentitel leer. + + Nun könnte man natürlich in der Dokumentpräambel \Macro{rightmark} + so umdefinieren, dass statt der ersten, die letzte rechte Marke + einer Seite verwendet wird: +\begin{lstlisting} + \makeatletter + \renewcommand*{\rightmark}{% + \expandafter\@rightmark\botmark\@empty\@empty + } + \makeatother +\end{lstlisting} + Damit würde man aber auf rechten Kapitelanfangsseiten als + Kolumnentitel den Titel der letzten Abschnittsüberschrift + (\Macro{section}) dieser Seite erhalten. Das wäre verwirrend und + ist grundsätzlich abzulehnen. + + Ebenso verwirrend und damit abzulehnen wäre, wenn auf rechten + Kapitelanfangsseiten plötzlich als Kolumnentitel nicht die + Abschnittsüberschrift, sondern die Kapitelüberschrift erscheinen + würde. Das voreingestellte Verhalten ist also korrekt. +\end{Explain} +% +\EndIndex{Cmd}{titlepagestyle}% +\EndIndex{Cmd}{partpagestyle}% +\EndIndex{Cmd}{chapterpagestyle}% +\EndIndex{Cmd}{indexpagestyle}% + + +\begin{Declaration} + \Macro{clearpage}\\ + \Macro{cleardoublepage}\\ + \Macro{cleardoublestandardpage}\\ + \Macro{cleardoubleplainpage}\\ + \Macro{cleardoubleemptypage} +\end{Declaration}% +\BeginIndex{Cmd}{clearpage}% +\BeginIndex{Cmd}{cleardoublepage}% +\BeginIndex{Cmd}{cleardoublestandardpage}% +\BeginIndex{Cmd}{cleardoubleplainpage}% +\BeginIndex{Cmd}{cleardoubleemptypage}% +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 Layoutoption \Option{twoside} in +\autoref{sec:maincls.layoutOptions}, +\autopageref{desc:maincls.option.twoside}) eine neue rechte Seite begonnen +wird. Dazu wird gegebenenfalls eine leere linke Seite im aktuellen Seitenstil +ausgegeben. + +Bei {\KOMAScript} arbeitet \Macro{cleardoublestandardpage} genau in der soeben +beschriebene Art und Weise. Die Anweisung \Macro{cleardoubleplainpage} ändert +demgegenüber den Seitenstil der leeren linken Seite zusätzlich auf +\PValue{plain}, um den Kolumnentitel zu unterdrücken. Analog dazu wird bei der +Anweisung \Macro{cleardoubleemptypage} der Seitenstil \PValue{empty} +verwendet, um sowohl Kolumnentitel als auch Seitenzahl auf der leeren linken +Seite zu unterdrücken. Die Seite ist damit vollständig leer. Die Arbeitsweise +der \Macro{cleardoublepage}-Anweisung ist hingegen von den in +\autoref{sec:maincls.layoutOptions}, +\autopageref{desc:maincls.option.cleardoublestandard} erklärten Layoutoptionen +\Option{cleardoublestandard}, \Option{cleardoubleplain} und +\Option{cleardoubleempty} abhängig und entspricht je nach Option einer der +drei Anweisungen. +% +\EndIndex{Cmd}{clearpage}% +\EndIndex{Cmd}{cleardoublepage}% +\EndIndex{Cmd}{cleardoublestandardpage}% +\EndIndex{Cmd}{cleardoubleplainpage}% +\EndIndex{Cmd}{cleardoubleemptypage}% + + +\begin{Declaration} + \Macro{ifthispageodd}\Parameter{Wahr}\Parameter{Falsch}\\ + \Macro{ifthispagewasodd} \PName{Wahr}\Macro{else} \PName{Falsch}\Macro{fi} +\end{Declaration}% +\BeginIndex{Cmd}{ifthispageodd}% +\BeginIndex{Cmd}{ifthispagewasodd}% +\begin{Explain}% + Eine Besonderheit von \LaTeX{} besteht darin, dass es nicht einfach + möglich ist, festzustellen, auf welcher Seite man sich gerade befindet. + Damit ist auch schwer zu sagen, ob die aktuelle Seite eine + gerade oder eine ungerade Seitenzahl besitzt. Einige werden nun + einwenden, dass es doch die \TeX-Verzweigung \Macro{ifodd} gibt, die + man nur auf den aktuellen Seitenzähler anwenden muss. Dies ist + jedoch ein Irrtum. Zum Zeitpunkt der Auswertung einer solchen + Verzweigung weiß \LaTeX{} nämlich gar nicht, ob der gerade + bearbeitete Text noch auf dieser Seite oder erst auf der + nächsten gesetzt wird. Der Seitenumbruch findet nämlich nicht + bereits beim Einlesen des Absatzes, sondern erst in der + \emph{output}-Routine von \LaTeX{} statt. Zu dem Zeitpunkt wäre aber eine + Eingabe der Form \verb|\ifodd\value{page}| bereits vollständig + ausgewertet. + + Um zuverlässig festzustellen, ob ein Text auf einer geraden oder + einer ungeraden Seite ausgegeben wird, muss man normalerweise mit + einem Label und einer Seitenreferenz auf dieses Label + arbeiten. Dabei muss man auch noch spezielle Vorkehrungen für den + ersten \LaTeX-Durchlauf treffen, bei dem das Label noch nicht + bekannt ist. +\end{Explain} +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 \PName{Wahr}-Argument +nur dann ausgeführt, wenn man sich gerade auf einer ungeraden Seite +befindet. Anderenfalls wird das \PName{Falsch}-Argument ausgeführt. + +\begin{Explain} +Genau genommen geht es natürlich nicht darum, wo man sich gerade +befindet, sondern entscheidend ist, ob eine Seitenreferenz auf ein +Label, das an dieser Stelle gesetzt würde, eine gerade oder eine +ungerade Seite referenzieren würde. +\end{Explain} +\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{lstlisting} + Dies ist eine Seite mit \ifthispageodd{un}{}gerader + Seitenzahl. +\end{lstlisting} + 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{Falsch} + 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. + +\begin{Explain} + Es sind Fälle denkbar, in denen die Anweisung \Macro{ifthispageodd} + nie zum korrekten Ergebnis führt. Nehmen wir an, dass die Anweisung + innerhalb einer Box verwendet wird. Eine Box wird von \LaTeX{} + immer im Ganzen gesetzt. In ihr findet kein Seitenumbruch + statt. Nehmen wir weiter an, der \PName{Wahr}-Teil wäre sehr groß, + der \PName{Falsch}-Teil aber leer. Nehmen wir außerdem an, dass die + Box mit dem \PName{Falsch}-Teil noch auf die aktuelle, gerade Seite + passt, mit dem \PName{Wahr}-Teil jedoch nicht. Nehmen wir weiter an, + \KOMAScript{} entscheidet beim ersten Durchlauf heuristisch, dass der + \PName{Wahr}-Teil zutrifft. Die Entscheidung war damit falsch und + wird im nächsten Durchlauf revidiert. Dadurch wird aber der + \PName{Falsch}-Teil statt dem \PName{Wahr}-Teil abgearbeitet. Die + Entscheidung wird also im nächsten Durchlauf wieder revidiert und + immer so weiter. + + Diese Fälle sind zwar selten. Trotzdem soll niemand sagen, ich habe + nicht darauf hingewiesen, dass sie möglich sind. + + Manchmal ist es auch notwendig nochmals festzustellen, wie die letzte + Entscheidung lautete. Dies ist mit der Expertenanweisung + \Macro{ifthispagewasodd} möglich. Diese ist entweder mit \Macro{iftrue} oder + \Macro{iffalse} identisch und entsprechend anzuwenden. +\end{Explain} +% +\EndIndex{Cmd}{ifthispageodd} +\EndIndex{Cmd}{ifthispagewasodd}% + +\begin{Declaration} + \Macro{pagenumbering}\Parameter{Nummerierungsstil} +\end{Declaration} +\BeginIndex{Cmd}{pagenumbering}% +Diese Anweisung funktioniert bei \KOMAScript{} genau in der gleichen Weise wie +bei den Standardklassen. Genau genommen handelt es sich dabei weder um eine +Fähigkeit der Standardklassen noch der \KOMAScript-Klassen, sondern um eine +Anweisung des \LaTeX-Kerns. Sie wird verwendet, um den +\PName{Nummerierungsstil} für die Seitenzahlen umzuschalten. + +Die Umschaltung gilt ab sofort, also ab der Seite, auf der diese Anweisung +aufgerufen wird. Gegebenfalls sollte also zuvor mit \Macro{clearpage} oder +\Macro{cleardoublepage} diese Seite erst beendet werden. Mögliche Angaben für +den \PName{Nummerierungsstil} sind \autoref{tab:numberKind} zu entnehmen. + +Der Aufruf von \Macro{pagenumbering} setzt immer die +Seitenzahl\Index{Seitenzahl} zurück. Die aktuelle Seite bekommt also die +Nummer 1 im gewählten \PName{Nummerierungsstil}. +% +\begin{table} + \centering + \caption{Verfügbare Nummerierungsstile für Seitenzahlen} + \begin{tabular}{lll} + \toprule + Nummerierungsstil & Beispiel & Bedeutung \\ + \midrule + \PValue{arabic} & 8 & arabische Zahlen \\ + \PValue{roman} & viii & kleine römische Zahlen \\ + \PValue{Roman} & VIII & große römische Zahlen \\ + \PValue{alph} & h & Kleinbuchstaben \\ + \PValue{Alph} & H & Großbuchstaben \\ + \bottomrule + \end{tabular} + \label{tab:numberKind} +\end{table} +% +\EndIndex{Cmd}{pagenumbering} + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Die Titelei} +\label{sec:maincls.titles} + +\begin{Explain} + Nachdem die Optionen und einige allgemeine Dinge nun bekannt sind, beginnen + wir das Dokument, wo es normalerweise beginnt: mit der Titelei. Unter der + Titelei\Index[indexmain]{Titel} versteht man alles, was im weitesten Sinne + zum Titel eines Dokuments gehört. Wie bei den Optionen \Option{titlepage} + und \Option{notitlepage} in \autoref{sec:maincls.layoutOptions}, + \autopageref{desc:maincls.option.titlepage} bereits erwähnt, wird + grundsätzlich zwischen Titelseiten und \emph{in-page}-Titeln unterschieden. + Artikelklassen wie \Class{article} oder \Class{scrartcl} haben + \emph{in-page}-Titel voreingestellt, während bei Klassen wie \Class{report}, + \Class{book}, \Class{scrreprt} und \Class{scrbook} Titelseiten + voreingestellt sind. +\end{Explain} + + +\begin{Declaration} + \Environment{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 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: +\begin{lstlisting} + \documentclass{scrbook} + \begin{document} + \begin{titlepage} + \textbf{\Huge Me} + \end{titlepage} + \end{document} +\end{lstlisting} + 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öhere Seitenzahl beginnen, beispielsweise 3, 5 +oder 7, um so weitere Titelseiten zu berücksichtigen, die erst vom Verlag +hinzugefügt werden. Wird eine \emph{in-page}-Titelei verwendet, wird das +optionale Argument ignoriert. Dafür kann der Seitenstil einer solchen Titelei +durch Umdefinierung des Makros \Macro{titlepagestyle} verändert werden. Siehe +hierzu \autoref{sec:maincls.pageStyle}, +\autopageref{desc:maincls.macro.titlepagestyle}. + +Die folgenden Anweisungen führen nicht unmittelbar zum Setzen der +Titelei. Das Setzen der Titelei erfolgt immer mit +\Macro{maketitle}. 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{Explain}% +\begin{Declaration} + \Macro{extratitle}\Parameter{Schmutztitel} +\end{Declaration}% +\BeginIndex{Cmd}{extratitle}% + 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.\par +\end{Explain} +Bei {\KOMAScript} ist es möglich, vor der eigentlichen Titelseite eine +weitere Seite zu setzen. Als \PName{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 \emph{in-page}-Titeln 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: +\begin{lstlisting} + \documentclass{scrbook} + \begin{document} + \extratitle{\textbf{\Huge Me}} + \title{It's me} + \maketitle + \end{document} +\end{lstlisting} + Sie können den Schmutztitel aber auch horizontal zentriert und etwas + tiefer setzen: +\begin{lstlisting} + \documentclass{scrbook} + \begin{document} + \extratitle{\vspace*{4\baselineskip} + \begin{center}\textbf{\Huge Me}\end{center}} + \title{It's me} + \maketitle + \end{document} +\end{lstlisting} + 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{Titelkopf}\\ + \Macro{subject}\Parameter{Typisierung}\\ + \Macro{title}\Parameter{Titel}\\ + \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}{author}% +\BeginIndex{Cmd}{date}% +\BeginIndex{Cmd}{publishers}% +\BeginIndex{Cmd}{and}% +\BeginIndex{Cmd}{thanks}% +Für den Inhalt der Haupttitelseite stehen sechs Elemente zur +Verfügung. Der \PName{Titelkopf}\Index[indexmain]{Titel>Kopf} 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 wird eine gegenüber der +Grundschrift leicht vergößerte Schrift verwendet. + +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{sectioning}\IndexFontElement{sectioning} verwendet wird (siehe +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}). Die Voreinstellungen können +mit Hilfe der Anweisungen aus \autoref{sec:maincls.font} verändert werden. Die +Größe ist jedoch davon unabhängig (siehe \autoref{tab:maincls.mainTitle}, +\autopageref{tab:maincls.mainTitle}). + +Unter dem \PName{Titel} 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 Titelkopf 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. + +Bis auf den \PName{Titelkopf} und eventuelle Fußnoten werden alle +Ausgaben horinzontal zentriert. Diese Angaben sind noch einmal kurz +zusammengefasst in \autoref{tab:maincls.mainTitle} zu finden. +\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 & Ausrichtung \\ + \midrule + Seitenkopf & \Macro{titlehead} & \Macro{normalsize} & Blocksatz \\ + Typisierung & \Macro{subject} & \Macro{Large} & zentriert \\ + Titel & \Macro{title} & \Macro{huge} & 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: +\begin{lstlisting} + \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} + \author{cand. stup. Uli Ungenau} + \date{30. Februar 2001} + \publishers{Betreut durch Prof. Dr. rer. stup. + Naseweis} + \maketitle + \end{document} +\end{lstlisting} +\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 sogenannten + 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.\par +\end{Explain} +% +\EndIndex{Cmd}{titlehead}% +\EndIndex{Cmd}{subject}% +\EndIndex{Cmd}{title}% +\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. Nimmt man diese Anleitung als Beispiel, so wurde der +Haftungsausschluss mit Hilfe von \Macro{uppertitleback} gesetzt. +\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: +\begin{lstlisting} + \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{lstlisting} + Ich bitte die Kosenamen entsprechend Ihren Vorlieben zu ersetzen. +\end{Example} +% +\EndIndex{Cmd}{dedication} +% +\EndIndex{Cmd}{maketitle} + + +\begin{Declaration} + \Environment{abstract} +\end{Declaration}% +\BeginIndex{Env}{abstract}% +\OnlyAt{\Class{scrartcl}\and\Class{scrreprt}}% +Insbesondere bei Artikeln, seltener bei Berichten findet man +unmittelbar unter der Titelei und noch vor dem Inhaltsverzeichnis +eine Zusammenfassung\Index{Zusammenfassung}. Diese wird daher +oftmals als Bestandteil der Titelei betrachtet. Einige +\LaTeX-Klassen bieten eine spezielle Umgebung für diese +Zusammenfassung, die \Environment{abstract}-Umgebung. Diese wird +unmittelbar ausgegeben, ist also nicht Bestandteil der mit +\Macro{maketitle} gesetzten Titelei. Bitte beachten Sie +unbedingt, dass es sich bei \Environment{abstract} um eine +Umgebung und nicht um eine Anweisung handelt. Ob die +Zusammenfassung mit einer Überschrift versehen wird oder nicht, +wird über die Optionen \Option{abstracton} und +\Option{abstractoff} gesteuert (siehe +\autoref{sec:maincls.formattingOptions}, +\autopageref{desc:maincls.option.abstracton}). + +Bei Büchern (\Class{scrbook}) ist die Zusammenfassung häufig +Bestandteil der Einleitung oder eines gesonderten Kapitels am Ende des +Dokuments. Daher gibt es hier keine \Environment{abstract}-Umgebung. +Bei Verwendung der Klasse \Class{scrreprt} ist es sicher eine +Überlegung wert, ob man nicht genauso verfahren sollte. +% +\EndIndex{Env}{abstract} + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Das Inhaltsverzeichnis} +\label{sec:maincls.toc} + +Auf die Titelei folgt normalerweise das +Inhaltsverzeichnis\Index{Inhaltsverzeichnis}. Häufig findet man nach +dem Inhaltsverzeichnis auch noch die Verzeichnisse der +Gleitumgebungen, beispielsweise von Tabellen und Abbildungen (siehe +\autoref{sec:maincls.floats}). + +\begin{Declaration} + \Macro{tableofcontents}\\ + \Macro{contentsname} +\end{Declaration}% +\BeginIndex{Cmd}{tableofcontents}% +\BeginIndex{Cmd}{contentsname}% +Die Ausgabe des Inhaltsverzeichnisses erreicht man mit +\Macro{tableofcontents}. Um ein korrektes Inhaltsverzeichnis zu erhalten, sind +nach jeder Änderung mindestens zwei \LaTeX-Läufe notwendig. Mit der Option +\Option{liststotoc} kann erreicht werden, dass das Abbildungs- und das +Tabellenverzeichnis im Inhaltsverzeichnis aufgeführt werden. Mit +\Option{idxtotoc} existiert auch eine entsprechende Option für den Index. Im +klassischen Buchdruck ist dies eher unüblich. Das Literaturverzeichnis findet +man etwas häufiger im Inhaltsverzeichnis aufgeführt. Auch hierfür gibt es mit +\Option{bibtotoc} und \Option{bibtotocnumbered} Optionen. Diese Optionen sind +in \autoref{sec:maincls.tocOptions}, +\autopageref{desc:maincls.option.liststotoc} näher erläutert. + +\begin{Explain} +Das Inhaltsverzeichnis wird als nicht nummeriertes Kapitel gesetzt und +unterliegt damit den Seiteneffekten der \Macro{chapter*}-Anweisung, die in +\autoref{sec:maincls.structure}, \autopageref{desc:maincls.macro.chapter*} +genannt sind. Allerdings werden bei Verwendung automatischer +Kolumnentitel\Index{Kolumnentitel>automatisch} diese sowohl für linke als auch +rechte Seiten korrekt mit der Überschrift des Inhaltsverzeichnisses belegt. + +Der Text der Überschrift ist im Makro \Macro{contentsname} abgelegt. Wenn Sie +ein Sprachpaket wie \Package{babel} verwenden, beachten Sie vor der +Umdefinierung dieses Makros bitte die Anleitung des Sprachpakets. +\end{Explain}% +\EndIndex{Cmd}{tableofcontents}% +\EndIndex{Cmd}{contentsname}% + +Für den Aufbau des Inhaltsverzeichnisses gibt es zwei Varianten. Bei der +Standardvariante werden die Gliederungsebenen so eingerückt, dass die +Gliederungsnummer jeweils linksbündig mit dem Text der nächst höheren Ebene +abschließt. Der Platz für die Gliederungsnummer ist dadurch jedoch limitiert +und reicht für etwas mehr als 1,5 Stellen je Gliederungsebene. Sollte dies zu +einem Problem werden, lässt sich über die Option \Option{tocleft} ein +Verhalten einstellen, bei dem alle Einträge des Inhaltsverzeichnisses +linksbündig untereinander gesetzt werden. Wie in +\autoref{sec:maincls.tocOptions}, \autopageref{desc:maincls.option.tocleft}) +erläutert wird, werden dafür mehrere \LaTeX{}-Durchläufe benötigt. + +\begin{Explain} +Der Eintrag für die oberste Gliederungsebene unter \Macro{part}, also +\Macro{chapter} bei \Class{scrbook}\IndexClass{scrbook} und +\Class{scrreprt}\IndexClass{scrreprt} beziehungsweise \Macro{section} bei +\Class{scrartcl}\IndexClass{scrartcl} wird nicht eingerückt. Dafür findet auf +ihn die Schriftart für das Element +\FontElement{sectioning}\IndexFontElement{sectioning} (siehe +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}) Anwendung. Gleichzeitig +befinden sich zwischen dem Text der Gliederungsebene und der Seitenzahl keine +Pünktchen. Die typografischen Gründe dafür liegen in der normalerweise anderen +Schriftart sowie der erwünschten Hervorhebung. Das Inhaltsverzeichnis dieser +Anleitung ist mit den Voreinstellungen gesetzt und dient als Beispiel. +\end{Explain} + +\begin{Declaration} + \Counter{tocdepth} +\end{Declaration}% +\BeginIndex{Counter}{tocdepth}% +Normalerweise werden bei den Klassen \Class{scrbook} und +\Class{scrreprt} die Gliederungsebenen \Macro{part} bis +\Macro{subsection} und bei der Klasse \Class{scrartcl} die Ebenen +\Macro{part} bis \Macro{subsubsection} in das Inhaltsverzeichnis +aufgenommen. Gesteuert wird dies über den Zähler \Counter{tocdepth}. +Dabei steht der Wert -1 für \Macro{part}, 0 für +\Macro{chapter} und so weiter. Da bei \Class{scrartcl} die Ebene +\Macro{chapter} nicht existiert, beginnt bei dieser Klasse die Zählung +mit \Macro{part} bei 0. Durch Setzen oder Erhöhen oder Verringern des +Zählers kann bestimmt werden, bis zu welcher Gliederungsebene Einträge +in das Inhaltsverzeichnis erfolgen sollen. Dies ist übrigens bei den +Standardklassen ganz genauso. + +Bei Verwendung des \Package{scrpage2}-Pakets\IndexPackage{scrpage2} +(siehe \autoref{cha:scrpage}) muss man sich nicht die nummerischen +Werte der einzelnen Gliederungsebenen merken. Dann stehen dafür die +Makros \Macro{chapterlevel}, \Macro{sectionlevel} und so weiter bis +hinunter zu \Macro{subparagraphlevel} zur Verfügung. +\begin{Example} + Angenommen, Sie setzen einen Artikel, bei dem die Gliederungsebene + \Macro{subsubsection} verwendet wird. Gehen wir weiter davon aus, + dass Sie diese Gliederungsebene aber nicht im Inhaltsverzeichnis + haben wollen. Dann könnte die Präambel Ihres Dokuments wie folgt + aussehen: +\begin{lstlisting} + \documentclass{scrartcl} + \setcounter{tocdepth}{2} +\end{lstlisting} + Sie setzen den Zähler \Counter{tocdepth} also auf 2, weil Sie + wissen, dass dies der Wert für \Macro{subsection} ist. Wissen Sie + stattdessen nur, dass normalerweise bei \Class{scrartcl} Einträge in + das Inhaltsverzeichnis bis zur Ebene \Macro{subsubsection} erfolgen, + können Sie auch einfach vom voreingestellten Wert des Zählers + \Counter{tocdepth} eins abziehen: +\begin{lstlisting} + \documentclass{scrartcl} + \addtocounter{tocdepth}{-1} +\end{lstlisting} + Wieviel Sie von \Counter{tocdepth} subtrahieren oder dazu addieren + müssen, kön"-nen Sie natürlich auch einfach nach einem ersten + \LaTeX-Lauf im Inhaltsverzeichnis abzählen. +\end{Example} +\iftrue +Ein kleiner Tipp, damit Sie sich nicht merken müssen, welche Gliederungsebene +welche Nummer hat: Einfach im Inhaltsverzeichnis abzählen wieviele Ebenen mehr +oder weniger Sie benötigen und dann wie in obigem Beispiel mit +\Macro{addtocounter} zu \Counter{tocdepth} addieren oder davon subtrahieren.% +\fi +\iffalse +Ein kleiner Tip am Rande: In obigem Beispiel benötigen Sie immer +irgendein Vorwissen. Es geht aber auch ohne indem Sie zunächst zwei +\LaTeX-Läufe durchführen. Dann zählen Sie am Inhaltsverzeichnis ab, +wieviele Ebenen Sie zu \Counter{tocdepth} hinzuaddieren oder davon +abziehen müssen. Dies erledigen Sie dann wie eben mit Hilfe von +\Macro{addtocounter} in der Präambel Ihres Dokuments.% +\fi +% +\EndIndex{Counter}{tocdepth}% + + +\section{Die Verzeichnisse der Gleitumgebungen} + +In der Regel findet man die Verzeichnisse der +Gleitumgebungen\index{Gleitumgebung}, also das +\index{Tabellen>Verzeichnis der}Tabellen- und das +Abbildungsverzeichnis\index{Abbildungen>Verzeichnis der}, unmittelbar nach +dem Inhaltsverzeichnis. In einigen Dokumenten wandern diese auch in +den Anhang. Der Autor bevorzugt jedoch die Platzierung unmittelbar +nach dem Inhaltsverzeichnis. Daher erfolgt die Erklärung auch in diesem +Abschnitt. +\begin{Declaration} + \Macro{listoftables}\\ + \Macro{listoffigures}\\ + \Macro{listtablename}\\ + \Macro{listfigurename} +\end{Declaration} +\BeginIndex{Cmd}{listoftables}% +\BeginIndex{Cmd}{listoffigures}% +\BeginIndex{Cmd}{listtablename}% +\BeginIndex{Cmd}{listfigurename}% +Mit diesen Anweisungen kann ein Verzeichnis der Tabellen beziehungsweise der +Abbildungen ausgegeben werden. Änderungen, die Auswirkungen auf diese +Verzeichnisse haben, werden erst nach zwei \LaTeX{}-Läufen sichtbar. Die Form +der Verzeichnisse kann durch die Optionen \Option{listsindent} und +\Option{listsleft} beeinflusst werden (siehe +\autoref{sec:maincls.listsOptions}, +\autopageref{desc:maincls.option.listsleft}). Darüber hinaus wirken sich +indirekt die Optionen \Option{liststotoc} und \Option{liststotocnumbered} aus +(siehe \autoref{sec:maincls.tocOptions}, +\autopageref{desc:maincls.option.liststotoc}). + +\begin{Explain} +Der Text der Überschriften der beiden Verzeichnisse ist in den Makros +\Macro{listtablename} und \Macro{listfigurename} abgelegt. Wenn Sie +ein Sprachpaket wie \Package{babel} verwenden, beachten Sie vor der +Umdefinierung dieser Makros bitte die Anleitung des Sprachpakets. +\end{Explain} +% +\EndIndex{Cmd}{listoftables}% +\EndIndex{Cmd}{listoffigures}% +\EndIndex{Cmd}{listtablename}% +\EndIndex{Cmd}{listfigurename}% + + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Der Text} +\label{sec:maincls.mainText} + +In diesem Abschnitt finden Sie alles, was \KOMAScript{} für die +Erstellung des eigentlichen Textes bereitstellt. Dies ist der Teil, +auf den Sie sich bei einem Dokument zunächst konzentrieren +sollten. Selbstverständlich gehören dazu auch Tabellen, Abbildungen +und vergleichbares Material. + + +\subsection[Abgrenzung]{Abgrenzung\protect\OnlyAt{\Class{scrbook}}} +\label{sec:maincls.separation} + +Bevor wir tatsächlich zum Text kommen, sind noch drei Anweisungen kurz +anzusprechen, die es bei der Standardklasse \Class{book} und der +{\KOMAScript}-Klasse \Class{scrbook} gibt. Sie können bei einem Buch zur +Abgrenzung des \emph{Vorspanns}\Index{Vorspann}, des +\emph{Hauptteils}\Index{Hauptteil} und des \emph{Nachspanns}\Index{Nachspann} +verwendet werden. + +\begin{Declaration} + \Macro{frontmatter}\\ + \Macro{mainmatter}\\ + \Macro{backmatter} +\end{Declaration}% +\BeginIndex{Cmd}{frontmatter}% +\BeginIndex{Cmd}{mainmatter}% +\BeginIndex{Cmd}{backmatter}% +Mit \Macro{frontmatter} wird der Vorspann eingeleitet. Im Vorspann +werden die nummerierten Seiten mit römischen Seitenzahlen versehen. +Kapitelüberschriften sind im Vorspann nicht nummeriert. +Abschnittsüberschriften wären jedoch nummeriert, gingen von +Kapitelnummer 0 aus und wären außerdem über Kapitelgrenzen hinweg +durchgehend nummeriert. Dies spielt jedoch keine Rolle, da der +Vorspann allenfalls für die Titelei, das +Inhalts-\Index{Inhaltsverzeichnis}, +Abbildungs-\Index{Abbildungen>Verzeichnis der} und +Tabellenverzeichnis\Index{Tabellen>Verzeichnis der} und ein +Vorwort\Index{Vorwort} verwendet wird. Das Vorwort kann also als +normales Kapitel gesetzt werden. Ein Vorwort sollte niemals in +Abschnitte unterteilt, sondern möglichst kurz gefasst werden. Im +Vorwort wird also keine tiefere Gliederungsebene als Kapitel benötigt. + +\looseness=-1 +Mit \Macro{mainmatter} wird der Hauptteil eingeleitet. Existiert kein +Vorspann, so kann diese Anweisung auch entfallen. Im Hauptteil sind +arabische Seitenzahlen voreingestellt. Die Seitenzählung beginnt im +Hauptteil neu mit 1. + +Mit \Macro{backmatter} wird der Nachspann eingeleitet. Was zum +Nachspann gehört, ist unterschiedlich. Manchmal wird im Nachspann nur +das Literaturverzeichnis\Index{Literaturverzeichnis}, manchmal nur +der Index\Index{Index} gesetzt. Manchmal erscheint der gesamte +Anhang im Nachspann. Der Nachspann gleicht bezüglich der +Gliederungsüberschriften dem Vorspann. Eine getrennte Seitennummerierung ist +jedoch nicht vorgesehen. Falls Sie dies ebenfalls benötigen, bedienen Sie sich +bitte der Anweisung \Macro{pagenumbering} aus \autoref{sec:maincls.pageStyle}, +\autopageref{desc:maincls.macro.pagenumbering}. +% +\EndIndex{Cmd}{frontmatter}% +\EndIndex{Cmd}{mainmatter}% +\EndIndex{Cmd}{backmatter}% + + +\subsection{Gliederung}\Index[indexmain]{Gliederung} +\label{sec:maincls.structure} + +Unter der Gliederung versteht man die Einteilung eines Dokuments in +Teile, Kapitel, Abschnitte und weitere Gliederungsebenen. + +\begin{Declaration} + \Macro{part}\OParameter{Kurzform}\Parameter{Überschrift}\\ + \Macro{chapter}\OParameter{Kurzform}\Parameter{Überschrift}\\ + \Macro{section}\OParameter{Kurzform}\Parameter{Überschrift}\\ + \Macro{subsection}\OParameter{Kurzform}\Parameter{Überschrift}\\ + \Macro{subsubsection}\OParameter{Kurzform}\Parameter{Überschrift}\\ + \Macro{paragraph}\OParameter{Kurzform}\Parameter{Überschrift}\\ + \Macro{subparagraph}\OParameter{Kurzform}\Parameter{Überschrift} +\end{Declaration}% +\BeginIndex{Cmd}{part}\Index[indexmain]{Teil}% +\BeginIndex{Cmd}{chapter}\Index[indexmain]{Kapitel}% +\BeginIndex{Cmd}{section}\Index[indexmain]{Abschnitt}% +\BeginIndex{Cmd}{subsection}% +\BeginIndex{Cmd}{subsubsection}% +\BeginIndex{Cmd}{paragraph}% +\BeginIndex{Cmd}{subparagraph}% +Die Standardgliederungsbefehle funktionieren bei {\KOMAScript} beinahe genau +wie bei den Standardklassen. So kann ganz normal über ein optionales Argument +ein abweichender Text für den Kolumnentitel und das Inhaltsverzeichnis +vorgegeben werden. \OnlyAt{\Class{scrartcl}}\Macro{chapter} existiert nur bei +Buch- und Berichtklassen, also bei \Class{book}, \Class{scrbook}, +\Class{report} und \Class{scrreport}, nicht jedoch bei den Artikelklassen +\Class{article} und \Class{scrartcl}. \Macro{chapter} unterscheidet sich bei +{\KOMAScript} außerdem gravierend von der Version der Standardklassen. Bei den +Standardklassen wird die Kapitelnummer mit dem Präfix »Kapitel« +beziehungsweise dem Kapitelnamen in der gewählten Sprache in einer Zeile vor +dem eigentlichen Text der Überschrift ausgegeben. Diese sehr mächtige Form +wird bei {\KOMAScript} durch eine einfache Nummer vor dem Text abgelöst, lässt +sich aber durch die Option \Option{chapterprefix} wieder einstellen (siehe +\autoref{sec:maincls.layoutOptions}, +\autopageref{desc:maincls.option.chapterprefix}). + +Bitte beachten Sie, dass \Macro{part} und \Macro{chapter} den Seitenstil für +eine Seite umschaltet. Der jeweilige Seitenstil ist bei \KOMAScript{} in den +Makros \Macro{partpagestyle} und \Macro{chapterpagestyle} abgelegt (siehe +\autoref{sec:maincls.pageStyle}, +\autopageref{desc:maincls.macro.titlepagestyle}). + +\BeginIndex[indexother]{}{Schriftart}% +\BeginIndex[indexother]{}{Schriftgroesse=Schriftgröße}% +Die Schriftart aller Gliederungsebenen\ChangedAt{v2.8p}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} % +kann mit der in \autoref{sec:maincls.font} beschriebenen Anweisungen +\Macro{setkomafont}\IndexCmd{setkomafont} und +\Macro{addtokomafont}\IndexCmd{addtokomafont} bestimmt werden. Dabei wird +zunächst generell das Element +\FontElement{sectioning}\IndexFontElement{sectioning} und anschließend +zusätzlich je Gliederungsebene ein spezifisches Element verwendet (siehe +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}). Die Schriftart für das Element +\FontElement{sectioning}\IndexFontElement{sectioning} ist als +\Macro{normalcolor}""\Macro{sffamily}""\Macro{bfseries} vordefiniert. Die +Voreinstellungen für die spezifischen Elemente sind mit einer Schriftgröße +vorbelegt und daher von den Klassenoptionen \Option{bigheadings}, +\Option{normalheadings} und \Option{smallheadings} (siehe +\autoref{sec:maincls.fontOptions}, +\autopageref{desc:maincls.option.smallheadings}) abhängig. Sie finden die +Voreinstellungen in \autoref{tab:maincls.structureElementsFont}. +% +\begin{table} + \centering% + \caption[{Schriftvoreinstellungen für die Elemente der Gliederung + bei\newline \Class{scrbook} und \Class{scrreprt}}]{Schriftvoreinstellungen + für die Elemente der Gliederung bei \Class{scrbook} und \Class{scrreprt}} + \begin{tabular}{lll} + \toprule + Klassenoption & Element & Voreinstellung \\ + \midrule + \Option{bigheadings} + & \FontElement{part}\IndexFontElement{part} + & \Macro{Huge} \\ + & \FontElement{partnumber}\IndexFontElement{partnumber} + & \Macro{huge} \\ + & \FontElement{chapter}\IndexFontElement{chapter} + & \Macro{huge} \\ + & \FontElement{section}\IndexFontElement{section} + & \Macro{Large} \\ + & \FontElement{subsection}\IndexFontElement{subsection} + & \Macro{large} \\ + & \FontElement{subsubsection}\IndexFontElement{subsubsection} + & \Macro{normalsize} \\ + & \FontElement{paragraph}\IndexFontElement{paragraph=} + & \Macro{normalsize} \\ + & \FontElement{subparagraph}\IndexFontElement{subparagraph} + & \Macro{normalsize} \\[1ex] + \Option{normalheadings} + & \FontElement{part} & \Macro{huge} \\ + & \FontElement{partnumber} & \Macro{huge} \\ + & \FontElement{chapter} & \Macro{LARGE} \\ + & \FontElement{section} & \Macro{Large} \\ + & \FontElement{subsection} & \Macro{large} \\ + & \FontElement{subsubsection} & \Macro{normalsize} \\ + & \FontElement{paragraph} & \Macro{normalsize} \\ + & \FontElement{subparagraph} & \Macro{normalsize} \\[1ex] + \Option{smallheadings} + & \FontElement{part} & \Macro{LARGE} \\ + & \FontElement{partnumber} & \Macro{LARGE} \\ + & \FontElement{chapter} & \Macro{Large} \\ + & \FontElement{section} & \Macro{large} \\ + & \FontElement{subsection} & \Macro{normalsize} \\ + & \FontElement{subsubsection} & \Macro{normalsize} \\ + & \FontElement{paragraph} & \Macro{normalsize} \\ + & \FontElement{subparagraph} & \Macro{normalsize} \\ + \bottomrule + \end{tabular} + \label{tab:maincls.structureElementsFont} +\end{table} + +\begin{Example} + Angenommen, Sie verwenden die Klassenoption \Option{bigheadings} und + stellen fest, dass die sehr großen Überschriften von Teildokumenten + zu fett wirken. Nun könnten Sie natürlich wie folgt verfahren: +\begin{lstlisting} + \setkomafont{sectioning}{\normalcolor\sffamily} + \part{\appendixname} + \addtokomafont{sectioning}{\bfseries} +\end{lstlisting} + \looseness=-1 + Auf diese Weise würden Sie nur für die eine Überschrift »Anhang« + das Schriftattribut \textbf{Fett} abschalten. Sehr viel komfortabler + und eleganter ist es aber, stattdessen generell für + \Macro{part}-Überschriften eine entsprechende Änderung vorzunehmen. + Das ist wahlweise mit: +\begin{lstlisting} + \addtokomafont{part}{\normalfont\sffamily} + \addtokomafont{partnumber}{\normalfont\sffamily} +\end{lstlisting} + oder einfach mit: +\begin{lstlisting} + \addtokomafont{part}{\mdseries} + \addtokomafont{partnumber}{\mdseries} +\end{lstlisting} + möglich. Die letzte Version ist vorzuziehen, da diese auch dann noch + zum gewünschten Ergebnis führt, wenn Sie später das + Element \FontElement{sectioning}\IndexFontElement{sectioning} + wie folgt ändern: +\begin{lstlisting} + \setkomafont{sectioning}{\normalcolor\bfseries} +\end{lstlisting} + Mit dieser Änderung verzichten Sie darauf, für alle + Gliederungsebenen serifenlose Schrift voreinzustellen. +\end{Example} + +Ich möchte Sie eindringlich davor warnen, die Möglichkeit zur +Schriftumschaltung zu missbrauchen, um wild Schriften, Schriftgrößen und +Schriftattribute miteinander zu mischen. Die Auswahl der richtigen Schrift für +die richtige Aufgabe ist eine Sache für Experten und hat sehr, sehr wenig mit +dem persönlichem Geschmack eines Laien zu tun. Siehe hierzu auch das Zitat am +Ende von \autoref{sec:typearea.tips}, \autopageref{sec:typearea.tips.cite} und +die folgende Erklärung. + +\begin{Explain} + Unterschiedliche Schriften für unterschiedliche Gliederungsebenen + sind mit {\KOMAScript}-Mitteln möglich. Der Laie sollte sie aber + meiden wie der Teufel das Weihwasser. Dies hat typografische Gründe. + + Eine Regel der Typografie besagt, dass man möglichst wenig Schriften + miteinander mischen soll. Serifenlose für die Überschriften scheinen + bereits ein Verstoß gegen diese Regel zu sein. Allerdings muss man + wissen, dass fette, große, serifenbehaftete Buchstaben oft viel zu + mächtig für eine Überschrift sind. Man müsste dann strenggenommen + zumindest auf eine normale statt eine fette oder halbfette Schrift + ausweichen. In tiefen Gliederungsebenen kann das aber wieder zu + schwach sein. Andererseits haben Serifenlose in Überschriften eine + sehr angenehme Wirkung und fast nur für Überschriften eine + Berechtigung. Daher wurde diese Voreinstellung für {\KOMAScript} mit + gutem Grund gewählt. + + Größere Vielfalt sollte aber vermieden werden. Schriftenmischung ist etwas + für Profis. Aus den genannten Gründen sollten Sie bei Verwendung anderer als + der Standard-\TeX-Fonts -- egal ob CM"~\Index{CM-Fonts}, + EC"~\Index{EC-Fonts} oder LM-Fonts\Index{LM-Fonts} -- bezüglich der + Verträglichkeit der serifenlosen und serifenbehafteten Schrift einen + Experten zu Rate ziehen oder die Schrift für das Element + \FontElement{sectioning}\IndexFontElement{sectioning} vorsichtshalber wie in + obigem Beispiel umdefinieren. Die häufig anzutreffenden Kombinationen Times + mit Helvetica oder Palatino mit Helvetica werden vom Autor als ungünstig + betrachtet. +\end{Explain} +\EndIndex[indexother]{}{Schriftart}% +\EndIndex[indexother]{}{Schriftgroesse=Schriftgröße}% +% +\EndIndex{Cmd}{part}% +\EndIndex{Cmd}{chapter}% +\EndIndex{Cmd}{section}% +\EndIndex{Cmd}{subsection}% +\EndIndex{Cmd}{subsubsection}% +\EndIndex{Cmd}{paragraph}% +\EndIndex{Cmd}{subparagraph}% + + +\begin{Declaration} + \Macro{part*}\Parameter{Überschrift}\\ + \Macro{chapter*}\Parameter{Überschrift}\\ + \Macro{section*}\Parameter{Überschrift}\\ + \Macro{subsection*}\Parameter{Überschrift}\\ + \Macro{subsubsection*}\Parameter{Überschrift}\\ + \Macro{paragraph*}\Parameter{Überschrift}\\ + \Macro{subparagraph*}\Parameter{Überschrift} +\end{Declaration}% +\BeginIndex{Cmd}{part*}% +\BeginIndex{Cmd}{chapter*}% +\BeginIndex{Cmd}{section*}% +\BeginIndex{Cmd}{subsection*}% +\BeginIndex{Cmd}{subsubsection*}% +\BeginIndex{Cmd}{paragraph*}% +\BeginIndex{Cmd}{subparagraph*}% +Ebenso existieren die Sternvarianten der Gliederungsbefehle, bei denen keine +Nummerierung\Index{Nummerierung} erfolgt, kein +Kolumnentitel\Index{Kolumnentitel>automatisch} gesetzt wird und kein Eintrag +ins Inhaltsverzeichnis\Index{Inhaltsverzeichnis} stattfindet. Der Verzicht +auf den Kolumnentitel hat übrigens einen oftmals unerwünschten Effekt. Geht +beispielsweise ein mit \Macro{chapter*} gesetztes Kapitel über mehrere Seiten, +so taucht plötzlich der Kolumnentitel des letzen Kapitels wieder auf. +{\KOMAScript} bietet dafür aber eine Lösung, die im Folgenden beschrieben +wird. \OnlyAt{\Class{scrbook}\and\Class{scrreprt}}\Macro{chapter*} existiert +selbstverständlich nur bei Buch- und Berichtklassen, also bei \Class{book}, +\Class{scrbook}, \Class{report} und \Class{scrreport}, nicht jedoch bei den +Artikelklassen \Class{article} und \Class{scrartcl}. + +Bitte beachten Sie, dass \Macro{part*} und \Macro{chapter*} den Seitenstil für +eine Seite umschaltet. Der jeweilige Seitenstil ist bei \KOMAScript{} in den +Makros \Macro{partpagestyle} und \Macro{chapterpagestyle} abgelegt (siehe +\autoref{sec:maincls.pageStyle}, +\autopageref{desc:maincls.macro.titlepagestyle}). + +Bezüglich der Möglichkeiten der Schriftumschaltung\ChangedAt{v2.8p}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} % +gilt das Gleiche wie zuvor in der Erklärung zu den sternlosen +Varianten geschrieben. Die Elemente tragen die gleichen Namen, da sie +nicht Varianten, sondern Gliederungsebenen bezeichnen. +% +\EndIndex{Cmd}{part*}% +\EndIndex{Cmd}{chapter*}% +\EndIndex{Cmd}{section*}% +\EndIndex{Cmd}{subsection*}% +\EndIndex{Cmd}{subsubsection*}% +\EndIndex{Cmd}{paragraph*}% +\EndIndex{Cmd}{subparagraph*}% + +\iffalse +Bei den Standardklassen gibt es keine weiteren Gliederungsbefehle. Es +existiert also insbesondere keine Anweisungen, mit denen man nicht +nummerierte Kapitel oder nicht nummerierte Abschnitte erzeugen kann, +die ins Inhaltsverzeichnis aufgenommen werden und bei denen ein +automatischer Kolumentitel erzeugt wird. +\fi +\begin{Declaration} + \Macro{addpart}\OParameter{Kurzform}\Parameter{Überschrift}\\ + \Macro{addpart*}\Parameter{Überschrift}\\ + \Macro{addchap}\OParameter{Kurzform}\Parameter{Überschrift}\\ + \Macro{addchap*}\Parameter{Überschrift}\\ + \Macro{addsec}\OParameter{Kurzform}\Parameter{Überschrift}\\ + \Macro{addsec*}\Parameter{Überschrift} +\end{Declaration}% +\BeginIndex{Cmd}{addpart}% +\BeginIndex{Cmd}{addpart*}% +\BeginIndex{Cmd}{addchap}% +\BeginIndex{Cmd}{addchap*}% +\BeginIndex{Cmd}{addsec}% +\BeginIndex{Cmd}{addsec*}% +{\KOMAScript} bietet über die Gliederungsbefehle der Standardklassen +hinaus die Anweisungen \Macro{addchap} und \Macro{addsec}. Diese +ähneln bis auf die fehlende Nummerierung sehr den Standardanweisungen +\Macro{chapter} und \Macro{section}. Sie erzeugen also sowohl einen +automatischen Kolumnentitel als auch einen Eintrag ins +Inhaltsverzeichnis. Die Sternvarianten \Macro{addchap*} und +\Macro{addsec*} gleichen hingegen den Standardanweisungen +\Macro{chapter*} und \Macro{section*} mit einem winzigen aber +wichtigen Unterschied: Die Kolumnentitel werden gelöscht. Dadurch wird +der oben erwähnte Effekt veralteter Kolumnentitel ausgeschlossen. +Stattdessen bleibt der Kolumnentitel auf Folgeseiten leer. +\OnlyAt{\Class{scrartcl}}\Macro{addchap} und \Macro{addchap*} +existieren selbstverständlich nur bei Buch- und Berichtklassen, also +bei \Class{book}, \Class{scrbook}, \Class{report} und +\Class{scrreport}, nicht jedoch bei den Artikelklassen \Class{article} +und \Class{scrartcl}. + +Die Anweisung \Macro{addpart} erstellt entsprechend einen nicht +nummerierten Dokumentteil mit einem Eintrag ins Inhaltsverzeichnis. Da +bereits \Macro{part} und \Macro{part*} den Kolumnentitel löschen, +ergibt sich hier nicht das oben genannte Problem mit veralteten +Kolumnentiteln. Die Sternvariante \Macro{addpart*} ist daher identisch +mit der Sternvariante \Macro{part*} und wurde nur aus +Konsistenzgründen definiert. + +Bitte beachten Sie, dass \Macro{addpart} und \Macro{addchap} und deren +Sternvarianten den Seitenstil für eine Seite umschaltet. Der jeweilige +Seitenstil ist in den Makros \Macro{partpagestyle} und +\Macro{chapterpagestyle} abgelegt (siehe +\autoref{sec:maincls.pageStyle}, +\autopageref{desc:maincls.macro.titlepagestyle}). + +Bezüglich der Möglichkeiten der Schriftumschaltung\ChangedAt{v2.8p}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} % +gilt das gleiche wie zuvor in der Erklärung zu \Macro{part*}, +\Macro{chapter*} und \Macro{section*} geschrieben. Die Elemente +tragen die gleichen Namen, da sie nicht Varianten, sondern +Gliederungsebenen bezeichnen. +% +\EndIndex{Cmd}{addpart}% +\EndIndex{Cmd}{addpart*}% +\EndIndex{Cmd}{addchap}% +\EndIndex{Cmd}{addchap*}% +\EndIndex{Cmd}{addsec}% +\EndIndex{Cmd}{addsec*}% + + +\begin{Declaration} + \Macro{minisec}\Parameter{Überschrift} +\end{Declaration}% +\BeginIndex{Cmd}{minisec}% +Manchmal ist eine Art Überschrift\Index{Ueberschriften=Überschriften} +wünschenswert, die zwar hervorgehoben wird, ansonsten aber eng mit dem +nachfolgenden Text zusammenhängt. Eine solche Überschrift soll dann +ohne große Abstände gesetzt werden. + +Der Befehl \Macro{minisec} bewirkt genau eine derartige Überschrift. +Diese Überschrift ist keiner Gliederungsebene zugeordnet. Eine solche +\emph{Mini-section} wird nicht in das Inhaltsverzeichnis aufgenommen +und erhält auch keine Nummerierung. +\begin{Example} + Sie haben einen Bausatz für eine Mausefalle entwickelt und wollen + diesen getrennt nach den benötigen Materialien und der Anleitung für + die Montage beschreiben. Das könnte so gemacht werden: +\begin{lstlisting} + \minisec{Bauteile} + + \begin{flushleft} + 1 Brett ($100\times 50 \times 12$)\\ + 1 Bierflaschenschnappverschluss\\ + 1 Kugelschreiberfeder\\ + 1 Reißzwecke\\ + 2 Schrauben\\ + 1 Hammer\\ + 1 Messer + \end{flushleft} + + \minisec{Montage} + + Zunächst suche man das Mauseloch. Dann lege man die + Reißzwecke innen unmittelbar hinter das Loch, damit + bei den folgenden Aktionen die Maus nicht + entschlüpfen kann. + Anschließend klopfe man mit dem Hammer den + Bierflaschenschnappverschluss in das Mauseloch. + Sollte der Verschluss nicht groß genug sein, um das + Loch vollständig und dauerhaft zu verschließen, + nehme man stattdessen das Brett und schraube es + unter Zuhilfenahme der beiden Schrauben und des + Messers vor das Loch. Statt des Messers kann + selbstverständlich auch ein Schraubendreher + verwendet werden. + + Die Kugelschreiberfeder ist dem Tierschutz zum + Opfer gefallen. +\end{lstlisting} + Das Ganze sieht anschließend so aus: + \begin{ShowOutput}[\baselineskip]\setlength{\parindent}{1em} + \minisec{Bauteile} + + \begin{flushleft} + 1 Brett ($100\times 50 \times 12$)\\ + 1 Bierflaschenschnappverschluss\\ + 1 Kugelschreiberfeder\\ + 1 Reißzwecke\\ + 2 Schrauben\\ + 1 Hammer\\ + 1 Messer + \end{flushleft} + + \minisec{Montage} + + Zunächst suche man das Mauseloch. Dann lege man die + Reißzwecke innen unmittelbar hinter das Loch, damit + bei den folgenden Aktionen die Maus nicht + entschlüpfen kann. + Anschließend klopfe man mit dem Hammer den + Bierflaschenschnappverschluss in das Mauseloch. + Sollte der Verschluss nicht groß genug sein, um das + Loch vollständig und dauerhaft zu verschließen, + nehme man stattdessen das Brett und schraube es + unter Zuhilfenahme der beiden Schrauben und des + Messers vor das Loch. Statt des Messers kann + selbstverständlich auch ein Schraubendreher + verwendet werden. + + Die Kugelschreiberfeder ist dem Tierschutz zum + Opfer gefallen. +% Mit der Kugelschreiberfeder hat es eine besondere +% Bewandtnis. Sie stammt noch aus dem Selbstbauprojekt +% »Mauseschnappfalle«, das dem Tierschutz zum Opfer gefallen ist. + \end{ShowOutput} +\end{Example} + +Die Schriftart des Gliederungsbefehls \Macro{minisec} kann nur über das +Element \FontElement{sectioning}\IndexFontElement{sectioning} beeinflusst +werden (siehe \autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}). Ein spezifisches Element nur +für \Macro{minisec} existiert nicht. Damit kann auch die voreingestellte Größe +nicht verändert werden. +% +\EndIndex{Cmd}{minisec}% + + +\begin{Declaration} + \Macro{raggedsection} +\end{Declaration}% +\BeginIndex{Cmd}{raggedsection}% +Bei den Standardklassen werden die Überschriften ganz normal im +Blocksatz ausgegeben. Dadurch können in den Überschriften Trennungen +auf"|treten und mehrzeilige Überschriften werden auf Textbreite gedehnt. +Dieses Vorgehen ist in der Typografie eher unüblich. {\KOMAScript} +setzt Überschriften daher in linksbündigem Flattersatz mit hängendem +Einzug. Verantwortlich ist dafür die Anweisung \Macro{raggedsection}, +die vordefiniert ist als: +\begin{lstlisting} + \newcommand*{\raggedsection}{\raggedright} +\end{lstlisting} +Diese Anweisung kann mit \Macro{renewcommand} umdefiniert werden. +\begin{Example} + Sie wollen auch für Überschriften Blocksatz. Dazu schreiben Sie in + die Präambel Ihres Dokuments: +\begin{lstlisting} + \renewcommand*{\raggedsection}{} +\end{lstlisting} + oder kürzer: +\begin{lstlisting} + \let\raggedsection\relax +\end{lstlisting} + Sie erreichen somit eine ähnliche Formatierung der Überschriften wie + bei den Standardklassen. Noch ähnlicher wird es, wenn sie diese + Änderung mit der oben vorgestellten Änderung für das Element + \FontElement{sectioning}\IndexFontElement{sectioning} + kombinieren. +\end{Example} +% +\EndIndex{Cmd}{raggedsection}% + + +\begin{Explain}% +\begin{Declaration} + \Macro{partformat}\\ + \Macro{chapterformat}\\ + \Macro{othersectionlevelsformat}\Parameter{Gliederungsname}\\ + \Macro{autodot} +\end{Declaration}% +\BeginIndex{Cmd}{partformat}\Index{Teil>Nummer}% +\BeginIndex{Cmd}{chapterformat}\Index{Kapitel>Nummer}% +\BeginIndex{Cmd}{othersectionlevelsformat}\Index{Abschnitt>Nummer}% +\BeginIndex{Cmd}{autodot}% + Bekanntlich gibt es bei {\LaTeX} zu jedem mit + \Macro{newcounter}\IndexCmd{newcounter} definierten Zähler eine Anweisung + \Macro{the}\PName{Zählername}\IndexCmd{the\PName{Zählername}}, mit welcher + der Zähler ausgegeben werden kann. Die Darstellung der Zähler für die + einzelnen Gliederungsebenen setzt sich dabei je nach Klasse ab + \Macro{section} (\Class{book}, \Class{scrbook}, \Class{report}, + \Class{scrreprt}) oder ab \Macro{subsection} (\Class{article}, + \Class{scrartcl}) aus der Darstellung des Zählers für die übergeordnete + Ebene, gefolgt von einem Punkt und der arabischen Zahl des + \PName{Zählername}ns der jeweiligen Ebene zusammen. +\end{Explain} + +\KOMAScript{} hat der Ausgabe der Gliederungsnummern eine weitere logische +Ebene zugefügt. Die Zähler werden für die jeweilige Überschrift nicht einfach +nur ausgegeben. Sie werden mit Hilfe der Anweisungen \Macro{partformat}, +\Macro{chapterformat} und \Macro{othersectionlevelsformat} formatiert. +\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}Die Anweisung +\Macro{chapterformat} existiert wie auch \Macro{thechapter} selbstverständlich +nicht in der Klasse \Class{scrartcl}, sondern nur in den Klassen +\Class{scrbook} und \Class{scrreprt}. + +Wie bereits in \autoref{sec:maincls.formattingOptions}, +\autopageref{desc:maincls.option.pointlessnumbers} erläutert wurde, müssen gemäß +\cite{DUDEN} die Gliederungsnummern je nach Gliederung mit einem nachfolgenden +Punkt versehen werden oder dieser hat zu entfallen. Die Anweisung +\Macro{autodot} ist bei {\KOMAScript} für die Einhaltung dieser Regel +verantwortlich. Auf den Punkt folgt bei allen Gliederungsebenen außer +\Macro{part} noch ein \Macro{enskip}. Dies entspricht einem Leerraum von +0,5\Unit{em}. + +Die Anweisung \Macro{othersectionlevelsformat} erwartet als Parameter +den Namen der Gliederungsebene, also »\PName{section}«, +»\PName{subsection}« \dots{} In der Voreinstellung gibt es also nur +für die Ebenen \Macro{part} und \Macro{chapter} eigene +Formatieranweisungen, während alle anderen Gliederungsebenen mit Hilfe +einer einzigen Formatieranweisung abgedeckt werden. Dies ist allein +historisch begründet. Als Werner Lemberg für sein \Package{CJK}-Paket +eine entsprechende Erweiterung von {\KOMAScript} angeregt hat, wurde +nur diese Unterscheidung benötigt. + +Die Formatierungsanweisungen können mit Hilfe von \Macro{renewcommand} +umdefiniert werden, um sie eigenen Anforderungen anzupassen. +Nachfolgend finden Sie die Originaldefinitionen aus den +{\KOMAScript}-Klassen: +\begin{lstlisting} + \newcommand*{\partformat}{\partname~\thepart\autodot} + \newcommand*{\chapterformat}{% + \chapappifchapterprefix{\ }\thechapter\autodot\enskip} + \newcommand*{\othersectionlevelsformat}[1]{% + \csname the#1\endcsname\autodot\enskip} +\end{lstlisting} + +\begin{Example} + Angenommen, Sie wollen, dass bei \Macro{part} das Wort »Teil« vor + der Nummer nicht ausgegeben wird. Dann können Sie beispielsweise + folgende Anweisung in die Präambel Ihres Dokuments schreiben: +\begin{lstlisting} + \renewcommand*{\partformat}{\thepart\autodot} +\end{lstlisting} + Genau genommen könnten Sie an dieser Stelle auch auf \Macro{autodot} + verzichten und stattdessen einen festen Punkt setzen. Da \Macro{part} mit + römischen Zahlen nummeriert wird, muss der Punkt laut \cite{DUDEN} folgen. + Allerdings bringen Sie sich dann um die Möglichkeit, eine der Optionen + \Option{pointednumbers} und \Option{pointlessnumbers} einzusetzen und so von + der Regel abzuweichen. Näheres zu den Klassenoptionen siehe + \autoref{sec:maincls.formattingOptions}, + \autopageref{desc:maincls.option.pointlessnumbers}. + + Eine weitere Möglichkeit wäre, die Nummerierung der Abschnitte + so in den Rand zu platzieren, dass der Überschriftentext + links mit dem umgebenden Text abschließt. Dies erreicht man + mit: +\begin{lstlisting} + \renewcommand*{\othersectionlevelsformat}[1]{% + \llap{\csname the#1\endcsname\autodot\enskip}} +\end{lstlisting} + Die wenig bekannte \TeX-Anweisung \Macro{llap}\IndexCmd{llap} sorgt + dabei dafür, dass das Argument links von der aktuellen Position + ausgegeben wird, ohne dass dabei die Position verändert wird. Eine + bessere \LaTeX-Lösung für dieses Problem wäre: +\begin{lstlisting} + \renewcommand*{\othersectionlevelsformat}[1]{% + \makebox[0pt][r]{% + \csname the#1\endcsname\autodot\enskip}} +\end{lstlisting} + Näheres zu den optionalen Argument von \Macro{makebox} ist + \cite{latex:usrguide} zu entnehmen. +\end{Example} +% +\EndIndex{Cmd}{partformat}% +\EndIndex{Cmd}{chapterformat}% +\EndIndex{Cmd}{othersectionlevelsformat}% +\EndIndex{Cmd}{autodot}% + +\begin{Declaration} + \Macro{chapappifchapterprefix}\Parameter{Zusatztext}\\ + \Macro{chapapp} +\end{Declaration}% +\BeginIndex{Cmd}{chapappifchapterprefix}% +\BeginIndex{Cmd}{chapapp}% +\OnlyAt{\vskip -1.55\baselineskip\Class{scrbook}\and\Class{scrreprt}}% +\ChangedAt{v2.8o}{\Class{scrbook}\and\Class{scrreprt}}% +Diese beiden Anweisungen werden nicht nur intern von {\KOMAScript} verwendet, +sondern stehen auch dem Anwender zur Verfügung. Nachfolgend werden sie +beispielsweise für die Umdefinierung anderer Anweisungen verwendet. Bei +Verwendung der Layoutoption \Option{chapterprefix} (siehe +\autoref{sec:maincls.layoutOptions}, +\autopageref{desc:maincls.option.chapterprefix}) setzt +\Macro{chapappifchapterprefix} im Hauptteil des Dokuments das Wort +»Kapitel«\Index{Kapitel>Ueberschrift=Überschrift} in der aktuellen Sprache +gefolgt vom \PName{Zusatztext}. Im Anhang\Index{Anhang} wird stattdessen das +Wort »Anhang« in der aktuellen Sprache, ebenfalls gefolgt vom +\PName{Zusatztext}, ausgegeben. Bei der Einstellung \Option{nochapterprefix} +wird hingegen nichts ausgegeben. + +Die Anweisung \Macro{chapapp} setzt immer das Wort »Kapitel« +beziehungsweise »Anhang«. Dabei spielen die beiden Optionen +\Option{chapterprefix} und \Option{nochapterprefix} keine Rolle. + +Da es Kapitel nur bei den Klassen \Class{scrbook} und \Class{scrreprt} +gibt, existieren die beiden Anweisungen auch nur bei diesen Klassen. +% +\EndIndex{Cmd}{chapappifchapterprefix}% +\EndIndex{Cmd}{chapapp}% + + +\begin{Declaration} + \Macro{chaptermark}\Parameter{Kolumnentitel}\\ + \Macro{sectionmark}\Parameter{Kolumnentitel}\\ + \Macro{subsectionmark}\Parameter{Kolumnentitel}\\ + \Macro{chaptermarkformat}\\ + \Macro{sectionmarkformat}\\ + \Macro{subsectionmarkformat} +\end{Declaration}% +\BeginIndex{Cmd}{chaptermark}\Index{Kapitel}% +\BeginIndex{Cmd}{sectionmark}\Index{Abschnitt}% +\BeginIndex{Cmd}{subsectionmark}% +\BeginIndex{Cmd}{chaptermarkformat}% +\BeginIndex{Cmd}{sectionmarkformat}% +\BeginIndex{Cmd}{subsectionmarkformat}% +\begin{Explain}% + Wie bereits in \autoref{sec:maincls.pageStyle} erwähnt, arbeitet der + Seitenstil \PValue{headings} mit automatischen + Kolumnentiteln\Index{Kolumnentitel>automatisch}. Dazu werden die + Anweisungen \Macro{chaptermark} und \Macro{sectionmark} beziehungsweise + \Macro{sectionmark} und \Macro{subsectionmark} entsprechend definiert. + Gliederungsbefehle (\Macro{chapter}, \Macro{section}~\dots) führen + automatisch eine entsprechende \Macro{\dots mark}-Anweisung aus. Der + übergebene Parameter beinhaltet dabei den Text der + Gliederungsüberschrift\Index{Ueberschriften=Überschriften}. Die zugehörige + Gliederungsnummer wird automatisch in der \Macro{\dots mark}-Anweisung + hinzugefügt. Die Formatierung erfolgt dabei je nach Gliederungsebene mit + einer der drei Anweisungen \Macro{chaptermarkformat}, + \Macro{sectionmarkformat} und \Macro{subsectionmarkformat}. + + \OnlyAt{\Class{scrbook}\and\Class{scrreprt}}Während es bei + \Class{scrartcl} weder \Macro{chaptermark} noch \Macro{chaptermarkformat} + gibt, existieren + \OnlyAt{\Class{scrartcl}} \Macro{subsectionmark} und + \Macro{subsectionmarkformat} nur bei \Class{scrartcl}. Dies + ändert sich allerdings bei Verwendung des \Package{scrpage2}-Pakets (siehe + \autoref{cha:scrpage}). +\end{Explain} +So wie mit \Macro{chapterformat} und \Macro{othersectionlevelsformat} die +Nummern der Gliederungsüberschriften formatiert ausgegeben werden, werden mit +den Anweisungen \Macro{chaptermarkformat}, \Macro{sectionmarkformat} und +\Macro{subsectionmarkformat} die Nummern der Gliederungsebenen in den +automatischen Kolumnentiteln formatiert ausgegeben. Mit +\Macro{renewcommand} können sie eigenen Anforderungen angepasst werden. Die +Originaldefinitionen aus den {\KOMAScript}-Klassen sind: +\begin{lstlisting} + \newcommand*{\chaptermarkformat}{% + \chapappifchapterprefix{\ }\thechapter\autodot\enskip} + \newcommand*{\sectionmarkformat}{\thesection\autodot\enskip} + \newcommand*{\subsectionmarkformat}{% + \thesubsection\autodot\enskip} +\end{lstlisting} +\begin{Example} + Angenommen, Sie wollen, dass der Kapitelnummer in den Kolumnentiteln + das Wort »Kapitel« vorangestellt wird. Dann setzen Sie + beispielsweise folgende Definition in die Präambel Ihres Dokuments: +\begin{lstlisting} + \renewcommand*{\chaptermarkformat}{% + \chapapp~\thechapter\autodot\enskip} +\end{lstlisting} +\end{Example} +Wie Sie sehen, finden hier die Anweisungen \Macro{chapappifchapterprefix} und +\Macro{chapapp} Verwendung, die weiter oben erklärt wurden. +% +\EndIndex{Cmd}{chaptermark}% +\EndIndex{Cmd}{sectionmark}% +\EndIndex{Cmd}{subsectionmark}% +\EndIndex{Cmd}{chaptermarkformat}% +\EndIndex{Cmd}{sectionmarkformat}% +\EndIndex{Cmd}{subsectionmarkformat}% + + +\begin{Declaration} + \Counter{secnumdepth} +\end{Declaration}% +\BeginIndex{Counter}{secnumdepth}\BeginIndex{}{Nummerierung}% +Normalerweise werden bei den Klassen \Class{scrbook}\IndexClass{scrbook} und +\Class{scrreprt}\IndexClass{scrreprt} die Gliederungsebenen +\Macro{part}\IndexCmd{part}\IndexCmd{chapter}\IndexCmd{section} bis +\Macro{subsection}\IndexCmd{subsection} und bei der Klasse +\Class{scrartcl}\IndexClass{scrartcl} die Ebenen \Macro{part} bis +\Macro{subsubsection}\IndexCmd{subsubsection} nummeriert. Gesteuert wird dies +über den \LaTeX-Zähler \Counter{secnumdepth}. Dabei steht der Wert -1 für +\Macro{part}, 0 für \Macro{chapter} und so weiter. Da bei \Class{scrartcl} die +Ebene \Macro{chapter} nicht existiert, beginnt bei dieser Klasse die Zählung +mit \Macro{part} bei 0. Durch Setzen oder Erhöhen oder Verringern des Zählers +kann bestimmt werden, bis zu welcher Gliederungsebene eine Nummerierung +erfolgen soll. Dies ist übrigens bei den Standardklassen ganz genauso. +Vergleichen Sie hierzu auch die Erklärung zum Zähler \Counter{tocdepth} in +\autoref{sec:maincls.toc}, \autopageref{desc:maincls.counter.tocdepth}. +% +\EndIndex{Counter}{secnumdepth}\EndIndex{}{Nummerierung} + + +\begin{Declaration} + \Macro{setpartpreamble}% + \OParameter{Position}\OParameter{Breite}\Parameter{Präambel}\\ + \Macro{setchapterpreamble}% + \OParameter{Position}\OParameter{Breite}\Parameter{Präambel} +\end{Declaration}% +\BeginIndex{Cmd}{setpartpreamble}% +\BeginIndex{Cmd}{setchapterpreamble}% +\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}Teile\Index{Teil>Praeambel=Präambel} +und Kapitel\Index{Kapitel>Praeambel=Präambel} können bei {\KOMAScript} mit +einer \PName{Präambel} versehen werden. Dies ist insbesondere im zweispaltigen +Layout mit der Klassenoption \Option{twocolumn}\IndexOption{twocolumn} +nützlich, da die \PName{Präambel} zusammen mit der Überschrift einspaltig +gesetzt wird. Die \PName{Präambel} kann auch mehrere Absätze beinhalten. Die +Anweisung zum Setzen der \PName{Präambel} muss vor der jeweiligen +\Macro{part}- oder \Macro{addpart}- bzw. \Macro{chapter}- oder +\Macro{addchap}-Anweisung stehen. +\begin{Example} + Sie schreiben einen Bericht über den Zustand einer Firma. Dabei + organisieren Sie den Bericht so, dass jeder Abteilung ein eigener + Teilbericht spendiert wird. Jedem dieser Teile soll außerdem eine + Zusammenfassung vorangestellt werden. Diese Zusammenfassung soll auf + der Titelseite jedes Teils stehen. Das ist wie folgt möglich: +\begin{lstlisting} + \setpartpreamble{% + \begin{abstract} + Dies ist ein Blindtext. Er dient lediglich zur + Demonstration der Möglichkeiten von \KOMAScript. + \end{abstract} + } + \part{Abteilung Grünschnitt} +\end{lstlisting} + Je nach Einstellung der Optionen für die + Überschriftengröße\Index{Ueberschriften=Überschriften} (siehe + \autoref{sec:maincls.fontOptions}, + \autopageref{desc:maincls.option.smallheadings}) und der Optionen für die + Form der \Environment{abstract}-Umgebung\IndexEnv{abstract} (siehe + \autoref{sec:maincls.formattingOptions}, + \autopageref{desc:maincls.option.abstracton}), sieht das Ergebnis ungefähr + wie folgt aus: + \begin{ShowOutput}\centering + {\LARGE\usekomafont{sectioning} Teil III.\par\vspace{20pt}} + {\LARGE\usekomafont{sectioning} Abteilung Grünschnitt\strut\par} + \begin{quote}\small + \vspace{6ex} + \begin{center} + \usekomafont{sectioning}\abstractname + \end{center} + \vspace{2ex} + Dies ist ein Blindtext. Er dient lediglich zur + Demonstration der Möglichkeiten von \KOMAScript. + \end{quote} + \end{ShowOutput} +\end{Example} +Bitte beachten Sie, dass Sie für die Abstände der Prämbel zur Teilüberschrift +bzw. zum Kapiteltext selbst verantwortlich sind. Bitte beachten Sie auch, dass +die \Environment{abstract}-Umgebung bei der Klasse \Class{scrbook} nicht +existiert (siehe \autoref{sec:maincls.titles}, +\autopageref{desc:maincls.environment.abstract}). + +Das\ChangedAt{v2.8p}{\Class{scrbook}\and\Class{scrreprt}} erste +optionale Argument \PName{Position} bestimmt über ein bis zwei +Buchstaben die Position, an der die Präambel ausgegeben wird. Für die +vertikale Position existieren derzeit zwei Möglichkeiten: +\begin{labeling}[~--]{\PValue{o}} +\item [\PValue{o}] über der Überschrift +\item [\PValue{u}] unter der Überschrift +\end{labeling} +Es kann jeweils eine Präambel unter und eine Präambel über der +Überschrift gesetzt werden. Für die horizontale Position existieren +derzeit drei Möglichkeiten: +\begin{labeling}[~--]{\PValue{o}} +\item [\PValue{l}] linksbündig +\item [\PValue{r}] rechtsbündig +\item [\PValue{c}] zentriert +\end{labeling} +Dabei wird allerdings nicht der Text der \PName{Präambel} entsprechend +angeordnet, sondern eine Box, deren Breite durch das zweite optionale +Argument \PName{Breite} bestimmt wird. Wird auf das zweite optionale +Argument verzichtet, so wird stattdessen die gesamte Textbreite +verwendet. Damit bleibt die Option zur horizontalen Positionierung in +diesem Fall wirkungslos. Es kann jeweils ein Buchstabe für die +vertikale mit einem Buchstaben für die horizontale Anordnung +kombiniert werden. +% +\EndIndex{Cmd}{setpartpreamble}% +\EndIndex{Cmd}{setchapterpreamble}% + + +\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}% +Eine\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} +Anwendung\ChangedAt{v2.8q}{\Class{scrbook}\and\Class{scrreprt}} für +\Macro{setpartpreamble} oder \Macro{setchapterpreamble} neben einleitenden +Sätzen ist ein kluger \PName{Spruch}\Index{Spruch}. Ein solcher Spruch kann +mit der Anweisung \Macro{dictum} gesetzt werden. Dabei ist vorgesehen, dass +\Macro{dictum} als obligatorisches Argument einer der Anweisungen +\Macro{setchapterpreamble} oder \Macro{setpartpreamble} verwendet wird. Dies +ist jedoch nicht zwingend. + +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 \verb;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 aus +\autoref{sec:maincls.font} geändert werden kann. Die +Voreinstellung entnehmen Sie bitte \autoref{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{lstlisting}[aboveskip={1ex plus 2ex},belowskip={1ex plus 2ex}] + \newcommand*{\dictumauthorformat}[1]{(#1)} +\end{lstlisting} +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 aus \autoref{sec:maincls.font} möglich. +% +\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} 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 +\Macro{dictumwidth} auf \verb;.5\textwidth; gesetzt und bei +\Macro{setchapterpreamble} wird als optionales Argument für die Breite +ebenfalls \verb;.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{lstlisting} + \setchapterpreamble[u]{% + \dictum[Schiller]{Drum prüfe, + wer sich ewig bindet \dots}} + \chapter{Die moderne Ehe} +\end{lstlisting} + Die Ausgabe erfolgt dann in der Form: + \begin{ShowOutput} + {\usekomafont{sectioning}\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{lstlisting} + \renewcommand*{\dictumwidth}{.25\textwidth} +\end{lstlisting} +\end{Example} + +An dieser Stelle sei noch auf das Paket~\cite{package:ragged2e} +hingewiesen, mit dem man Flattersatz mit Trennung erreichen +kann. +\EndIndex{Cmd}{dictum}% +\EndIndex{Cmd}{dictumwidth}% +\EndIndex{Cmd}{dictumauthorformat}% +\EndIndex{Cmd}{raggeddictum}% +\EndIndex{Cmd}{raggeddictumtext}% +\EndIndex{Cmd}{raggeddictumauthor}% + + +\subsection{Fußnoten} +\label{sec:maincls.footnotes} + +Eine nicht auf den Text beschränkte Eigenschaft eines Dokuments +ist das Aussehen der Fußnoten. Da Fußnoten\Index{Fussnoten=Fußnoten} +aber hauptsächlich im Text auf"|treten, werden sie in diesem +Abschnitt aufgeführt. + +\begin{Declaration} + \Macro{footnote}\OParameter{Nummer}\Parameter{Text}\\ + \Macro{footnotemark}\OParameter{Nummer}\\ + \Macro{footnotetext}\OParameter{Nummer}\Parameter{Text} +\end{Declaration}% +\BeginIndex{Cmd}{footnote}% +\BeginIndex{Cmd}{footnotemark}% +\BeginIndex{Cmd}{footnotetext}% +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 Seitenumbruch 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. +% +\EndIndex{Cmd}{footnote}% +\EndIndex{Cmd}{footnotemark}% +\EndIndex{Cmd}{footnotetext}% + + +\begin{Declaration} + \Macro{deffootnote}\OParameter{Markenbreite}\Parameter{Einzug}% + \Parameter{Absatzeinzug}\Parameter{Markendefinition}\\ + \Macro{deffootnotemark}\Parameter{Markendefinition}\\ + \Macro{thefootnotemark}\\ + \Macro{textsuperscript}\Parameter{Text} +\end{Declaration}% +\BeginIndex{Cmd}{deffootnote}% +\BeginIndex{Cmd}{deffootnotemark}% +\BeginIndex{Cmd}{thefootnotemark}% +\BeginIndex{Cmd}{textsuperscript}% +{\KOMAScript} setzt die 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. + +\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} veranschaulicht die +verschiedenen Parameter nochmals. Die Voreinstellung in +\KOMAScript{} entspricht folgender Definition: +\begin{lstlisting} + \deffootnote[1em]{1.5em}{1em} + {\textsuperscript{\thefootnotemark}} +\end{lstlisting} +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. + +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}\IndexFontElement{footnote} eingestellte Schriftart +Anwendung. Die Schriftart der Markierung kann jedoch mit Hilfe der Anweisungen +aus \autoref{sec:maincls.font} für das Element +\FontElement{footnotelabel}\IndexFontElement{footnotelabel} davon abweichend +eingestellt werden. Siehe hierzu auch +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}. Voreingestellt ist jeweils +keine Umschaltung der Schrift. + +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: +\begin{lstlisting} + \deffootnotemark{% + \textsuperscript{\thefootnotemark}} +\end{lstlisting} +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 \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 aus \autoref{sec:maincls.font} jedoch geändert werden. + +\begin{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{lstlisting} + \deffootnote{1em}{1em}{\thefootnotemark\ } +\end{lstlisting} + 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ßnoten. Diese können mit folgender Definition erhalten werden: +\begin{lstlisting} + \deffootnote{1.5em}{1em}{% + \makebox[1.5em][l]{\thefootnotemark}} +\end{lstlisting} + + Sollen jedoch die Fußnoten insgesamt lediglich in einer anderen + Schriftart, beispielsweise serifenlos gesetzt werden, so ist dies + ganz einfach mit Hilfe der Anweisungen aus + \autoref{sec:maincls.fontOptions} zu lösen: +\begin{lstlisting} + \setkomafont{footnote}{\sffamily} +\end{lstlisting} +\end{Example} +Wie die Beispiele zeigen, ermöglicht {\KOMAScript} mit dieser +einfachen Benutzerschnittstelle eine große Vielfalt unterschiedlicher +Fußnotenformatierungen. +% +\EndIndex{Cmd}{deffootnote}% +\EndIndex{Cmd}{deffootnotemark}% +\EndIndex{Cmd}{thefootnotemark}% +\EndIndex{Cmd}{textsuperscript}% + + +\subsection{Listen} +\label{sec:maincls.lists} +\BeginIndex[indexother]{}{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. + +\begin{Declaration} + \Environment{itemize}\\ + \Macro{item}\\ + \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 {\KOMAScript} +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. +\begin{Example} + Sie haben eine einfache Aufzählung, die in mehreren Ebenen + geschachtelt ist. Sie schreiben beispielsweise: +\begin{lstlisting} + \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{lstlisting} + 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} +% +\EndIndex{Env}{itemize}% +\EndIndex{Cmd}{item}% +\EndIndex{Cmd}{labelitemi}% +\EndIndex{Cmd}{labelitemii}% +\EndIndex{Cmd}{labelitemiii}% +\EndIndex{Cmd}{labelitemiv}% + + +\begin{Declaration} + \Environment{enumerate}\\ + \XMacro{item}\\ + \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. +\begin{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} +% +\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} + \Environment{description}\\ + \XMacro{item}\OParameter{Stichwort} +\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 mit Hilfe der in +\autoref{sec:maincls.font} beschriebenen Anweisungen für das Element +\FontElement{descriptionlabel}\IndexFontElement{descriptionlabel} (siehe +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}) geändert werden. In der +Voreinstellung wird \Macro{sffamily}""\Macro{bfseries} verwendet. +\begin{Example} + Sie wollen, dass die Stichworte statt serifenlos und fett lediglich + fett aber in der Standardschriftart ausgegeben werden. Mit +\begin{lstlisting} + \setkomafont{descriptionlabel}{\normalfont\bfseries} +\end{lstlisting} + definieren Sie daher die Schrift entsprechend um. + + Ein Beispiel für die Ausgabe einer Stichwortliste ist die Aufzählung + der Seitenstile in \autoref{sec:maincls.pageStyle}. Der Quelltext + dazu lautet (stark gekürzt): +\begin{lstlisting} + \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{lstlisting} + Diese gekürzte Version 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} +% +\EndIndex{Env}{description}% +\EndIndex{Cmd}{item}% + + +\begin{Declaration} + \Environment{labeling}\OParameter{Trennzeichen}\Parameter{längstes + Muster}\\ + \XMacro{item}\OParameter{Schlüsselwort} +\end{Declaration}% +\BeginIndex{Env}{labeling}% +\BeginIndex{Cmd}{item}% +Eine andere Form der Stichwortliste ist nur bei den {\KOMAScript}-Klassen +vorhanden: die \Environment{labeling}-Umgebung. Im Unterschied zur zurvor +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. +\begin{Example} + Wir schreiben das Beispiel der \Environment{description}-Umgebung + etwas um: +\begin{lstlisting} + \begin{labeling}[~--]{% + \usekomafont{descriptionlabel}myheadings} + \item[\usekomafont{descriptionlabel}empty] + Seitenstil für leere Seiten ohne Kopf und Fuß + \item[\usekomafont{descriptionlabel}plain] + Seitenstil für Kapitelanfänge ganz ohne + Kolumnentitel + \item[\usekomafont{descriptionlabel}headings] + Seitenstil für automatische Kolumnentitel + \item[\usekomafont{descriptionlabel}myheadings] + Seitenstil für manuelle Kolumnentitel + \end{labeling} +\end{lstlisting} + Als Ergebnis erhalten wir dann: + \begin{ShowOutput} + \begin{labeling}[~--]{\usekomafont{descriptionlabel}myheadings} + \item[\usekomafont{descriptionlabel}empty] Seitenstil für leere + Seiten ohne Kopf und Fuß + \item[\usekomafont{descriptionlabel}plain] Seitenstil für + Kapitelanfänge ganz ohne Kolumnentitel + \item[\usekomafont{descriptionlabel}headings] Seitenstil für + automatische Kolumnentitel + \item[\usekomafont{descriptionlabel}myheadings] Seitenstil für + manuelle Kolumnentitel + \end{labeling} + \end{ShowOutput} + Wie in diesem Beispiel zu sehen ist, muss eine eventuell geforderte + Schriftumschaltung bei dieser Umgebung sowohl im Muster als auch im + optionalen Parameter jeder \Macro{item}-Anweisung wiederholt + werden. +\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. +% +\EndIndex{Env}{labeling}% +\EndIndex{Cmd}{item}% + + +\begin{Declaration} + \Environment{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|\\|. +\begin{Example} + Als Beispiel ein kurzes Gedicht von Wilhelm Busch: +\begin{lstlisting} + \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{lstlisting} + Mit dem Resultat: + \begin{ShowOutput} + \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{lstlisting} + \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{lstlisting} + bei dem ein Zeilenumbruch innerhalb des Verses erfolgt: + \begin{ShowOutput} + \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{lstlisting} + \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{lstlisting} + + 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} + \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} + + In diesen Beispielen wurde übrigens jeweils \Macro{bigskip} verwendet, um + zwei Sprüche voneinander zu trennen. +\end{Example} +% +\EndIndex{Env}{verse}% + + +\begin{Declaration} + \Environment{quote}\\ + \Environment{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 sowohl rechts als auch links +eingezogen ist. Verwendet werden die Umgebungen häufig, um längere +Zitate\Index{Zitate} 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. Wollen Sie dort den +Einzug verhindern, müssen Sie die +\Macro{noindent}-Anweisung\IndexCmd{noindent} voranstellen. +\begin{Example} + Sie wollen eine kleine Anekdote hervorheben. Also schreiben Sie + folgende \Environment{quotation}-Umgebung: + % +\begin{lstlisting} + Ein kleines Beispiel für eine Anekdote, die sich + einst in Schwaben zugetragen haben soll: + \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{lstlisting} + Das Ergebnis ist dann: + \begin{ShowOutput} + Ein kleines Beispiel für eine Anekdote, die sich einst + in Schwaben zugetragen haben soll: + \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{ShowOutput} + % + Wenn Sie stattdessen eine \Environment{quote}-Umgebung + verwenden, sieht das Ganze so aus: + % + \begin{ShowOutput} + Ein kleines Beispiel für eine Anekdote, die sich einst + in Schwaben zugetragen haben soll: + \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, 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{quote} + \end{ShowOutput} + % +\end{Example} +% +\EndIndex{Env}{quote}% +\EndIndex{Env}{quotation}% + + +\begin{Declaration} + \Environment{addmargin}\OParameter{linker Einzug}\Parameter{Einzug}\\ + \Environment{addmargin*}\OParameter{innerer Einzug}\Parameter{Einzug} +\end{Declaration} +\BeginIndex{Env}{addmargin}% +Wie die \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. + +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 dann nur 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. Damit kann man erreichen, dass die Umgebung in +den Rand hineinragt. +\begin{Example} + Angenommen, Sie schreiben eine Anleitung, mit kurzen Quellcode-Beispiele. 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{lstlisting} + \newenvironment{QuellcodeRahmen}{% + \begin{addmargin*}[1em]{-1em}% + \begin{minipage}{\linewidth}% + \rule{\linewidth}{2pt}% + }{% + \rule[.25\baselineskip]{\linewidth}{2pt}% + \end{minipage}% + \end{addmargin*}% + } +\end{lstlisting} + Wird obiger Quellcode in einer solchen Umgebung gesetzt, so ergibt + sich: + \begin{ShowOutput} + \newenvironment{QuellcodeRahmen}{% + \begin{addmargin*}[1em]{-1em}% + \begin{minipage}{\linewidth}% + \rule{\linewidth}{2pt}% + }{% + \rule[.25\baselineskip]{\linewidth}{2pt}% + \end{minipage}% + \end{addmargin*}% + } + Sie definieren sich oder überhaupt zunächst die folgende Umgebung: + \begin{QuellcodeRahmen} +\begin{lstlisting} +\newenvironment{\QuellcodeRahmen}{% + \begin{addmargin*}[1em]{-1em}% + \begin{minipage}{\linewidth}% + \rule{\linewidth}{2pt}% +}{% + \rule[.25\baselineskip]{\linewidth}{2pt}% + \end{minipage}% + \end{addmargin*}% +} +\end{lstlisting} + \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} +Ein Problem mit der \Environment{addmargin*}-Umgebung soll nicht +verschwiegen werden. Tritt ein Seitenumbruch mitten in einer +\Environment{addmargin*}-Umgebung auf, so findet der Einzug auf +der zweiten Seite vertauscht statt. Das heißt, dass der \PName{innere + Einzug} plötzlich außen vorgenommen wird. Es empfiehlt sich +daher, in dieser Umgebung den Seitenumbruch ganz zu verhindern. Das +kann man erreichen, indem man zusätzlich eine \Macro{parbox} oder +wie in obigem Beispiel eine \Environment{minipage} verwendet. Dabei +wird von dem Umstand Gebrauch gemacht, dass weder das Argument einer +\Macro{parbox} noch der Inhalt einer \Environment{minipage} umbrochen +wird. Leider handeln Sie sich damit einen anderen Nachteil ein: Seiten +können unter Umständen nicht mehr korrekt gefüllt werden. Dies führt +dann auch zu entsprechenden Warnungen. + +Ob eine Seite eine linke oder eine rechte Seite ist, kann übrigens zuverlässig +nicht beim ersten \LaTeX-Durchlauf festgestellt werden. Siehe dazu die +Erklärung zur Anweisung \Macro{ifthispageodd} und \Macro{ifthispagewasodd} in +\autoref{sec:maincls.pageStyle}, +\autopageref{desc:maincls.macro.ifthispageodd}.% +% +\EndIndex{Env}{addmargin}% + + +\begin{Explain} + \looseness=-1 + Eine abschließende Bemerkung zu den Listenumgebungen: Im Internet und + im Support wird häufig gefragt, warum nach einer Listenumgebung ein + Einzug\Index{Einzug} wie bei einem Absatz erfolge. Tatsächlich ist dies gar + nicht der Fall, sondern der Effekt resultiert daraus, dass der Anwender + einen Absatz verlangt. Bei {\LaTeX} werden Leerzeilen als Absatz + interpretiert. Dies gilt auch vor und nach Listenumgebungen. Soll eine + Listenumgebung also innerhalb eines Absatzes gesetzt werden, ist weder + davor noch danach eine Leerzeile zu setzen. Um die Umgebung trotzdem in der + \LaTeX-Datei besser vom Rest abzusetzen, kann man davor und dahinter eine + leere Kommentarzeile setzen, also eine Zeile, die direkt mit einem + Prozentzeichen beginnt und nichts weiter enthält.\par +\end{Explain} +\EndIndex[indexother]{}{Listen} + +\subsection{Randnotizen} +\label{sec:maincls.marginNotes} + +\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} normalweise 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 dem Blocksatz oft je nach Rand linksbündiger oder +rechtsbündiger Flattersatz zu bevorzugen ist. {\KOMAScript} bietet hierfür +die Anweisung \Macro{marginline}. +\begin{Example} + In der Einleitung ist an einer Stelle die Klassenangabe + \Class{scrartcl} im Rand zu finden. Diese kann mit: +\begin{lstlisting} + \marginline{\texttt{scrartcl}} +\end{lstlisting} + erreicht werden.\footnote{Tatsächlich wurde nicht \Macro{texttt}, + sondern eine semantische Auszeichnung verwendet. Um nicht unnötig + zu verwirren, wurde diese im Beispiel ersetzt.} + + 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: +\begin{lstlisting} + \marginpar[\raggedleft\texttt{scrartcl}] + {\raggedright\texttt{scrartcl}} +\end{lstlisting} + Letztlich ist \Macro{marginline} also nur eine abkürzende + Schreibweise. +\end{Example} + +\begin{Explain} + Leider funktioniert \Macro{marginpar} im doppelseitigen\Index{doppelseitig} + Layout nicht immer ganz korrekt. Die Entscheidung, ob eine Randnotiz links + oder rechts landet, wird bereits bei der Auswertung von \Macro{marginpar} + getroffen. Verschiebt nun die Ausgaberoutine eine Randnotiz über einen + Seitenumbruch auf die nächste Seite, so ist die Formatierung nicht mehr + korrekt. Dieses Verhalten ist tief in {\LaTeX} verankert und wurde vom + \LaTeX3-Team deshalb als Feature deklariert. \Macro{marginline} ändert + nichts an diesem unerwünschten Verhalten. Mit dem Paket + \Package{mparhack}\IndexPackage{mparhack} (siehe \cite{package:mparhack}) + existiert aber eine Standardlösung für dieses Problem, von der dann + natürlich auch \Macro{marginline} profitiert. + + Es sei darauf hingewiesen, dass \Macro{marginpar} und \Macro{marginline} + innerhalb von Gleitumgebungen wie Tabellen und Abbildungen nicht verwendet + werden können. Auch in abgesetzten Formeln funktionieren diese Anweisungen + nicht. +\end{Explain} +% +\EndIndex{Cmd}{marginpar}% +\EndIndex{Cmd}{marginline}% + + +\subsection{Tabellen und Abbildungen} +\label{sec:maincls.floats} + +\begin{Explain} + {\LaTeX} bietet mit den Gleitumgebungen einen sehr leistungsfähigen und + komfortablen Mechanismus für die automatische Anordnung von + Abbildungen\Index{Abbildungen} und Tabellen\Index{Tabellen}. Genau genommen + sollte von »Tafeln«\Index{Tafeln} statt von »Tabellen«\Index{Tabellen} + die Rede sein. Dies wäre auch zur Unterscheidung der Umgebungen + \Environment{table}\IndexEnv{table} und + \Environment{tabular}\IndexEnv{tabular} von Vorteil. Es hat sich im + Deutschen aber für beides die Bezeichnung »Tabelle« eingebürgert. Das + kommt vermutlich daher, dass man in \Environment{table}-Umgebungen + üblicherweise \Environment{tabular}-Umgebungen setzt. + + Häufig werden die Gleitumgebungen\Index[indexmain]{Gleitumgebung} von + Anfängern nicht richtig verstanden. So wird oft die Forderung aufgestellt, + eine Tabelle oder Abbildung genau an einer bestimmten Position im Text zu + setzen. Dies ist jedoch nicht erforderlich, da auf Gleitumgebungen im Text + über eine Referenz verwiesen wird. Es ist auch nicht sinnvoll, da ein + solches Objekt an einer Stelle nur dann gesetzt werden kann, wenn auf der + Seite noch genügend Platz für das Objekt vorhanden ist. Ist dies nicht der + Fall, müsste das Objekt auf die nächste Seite umbrochen werden und auf der + aktuellen Seite würde ein möglicherweise sehr großer leerer Raum bleiben. + + Häufig findet sich in einem Dokument auch bei jedem Gleitobjekt das + gleiche optionale Argument zur Platzierung des Objekts. Auch dies + ist nicht sinnvoll. In solchen Fällen sollte man besser den + Standardwert global ändern. Näheres dazu ist \cite{DANTE:FAQ} zu + entnehmen.\par +\end{Explain} + +Ein wichtiger Hinweis sei diesem Abschnitt noch vorangestellt: Die +meisten Mechanismen, die hier vorgestellt werden und über die +Fähigkeiten der Standardklassen hinaus gehen, funktionieren nicht +mehr, wenn Sie ein Paket verwenden, das in die Generierung von +Tabellen- und Abbildungstiteln eingreift und deren Aussehen +verändert. Dies sollte selbstverständlich sein, wird aber leider +häufig nicht bedacht. + +\begin{Declaration} + \Macro{caption}\OParameter{Verzeichniseintrag}\Parameter{Titel}\\ + \Macro{captionbelow}\OParameter{Verzeichniseintrag}\Parameter{Titel}\\ + \Macro{captionabove}\OParameter{Verzeichniseintrag}\Parameter{Titel} +\end{Declaration}% +\BeginIndex{Cmd}{caption}% +\BeginIndex{Cmd}{captionabove}% +\BeginIndex{Cmd}{captionbelow}% +Tabellen und Abbildungen werden bei den Standardklassen mit Hilfe der +Anweisung \Macro{caption} mit einem \PName{Titel} in Form einer +Unterschrift\Index{Tabellen>Unterschrift} versehen. Bei Abbildungen ist dies +grundsätzlich korrekt. Bei Tabellen wird gestritten, ob der \PName{Titel} als +Überschrift über oder konsistent mit der +Bildunterschrift\Index{Bildunterschrift} unter die Tabelle gehört. Daher +bietet \KOMAScript{} im Gegensatz zu den Standardklassen die Anweisungen +\Macro{captionbelow} für \PName{Titel} in Form von Unterschriften und +\Macro{captionabove} für \PName{Titel} in Form von Überschriften. +\Macro{caption} verhält sich bei Abbildungen immer wie \Macro{captionbelow}. +Bei Tabellen lässt sich das Verhalten von \Macro{caption} hingegen mit den +beiden Optionen \Option{tablecaptionabove}\IndexOption{tablecaptionabove} und +\Option{tablecaptionbelow}\IndexOption{tablecaptionbelow} steuern (siehe +\autoref{sec:maincls.formattingOptions}, +\autopageref{desc:maincls.option.tablecaptionabove}). Aus Gründen der +Kompatibilität ist voreingestellt, dass sich \Macro{caption} auch bei Tabellen +wie \Macro{captionbelow} verhält. +% +\begin{Example} + Sie wollen mit + Tabellenüberschriften\Index{Tabellen>Ueberschrift=Überschrift} + statt mit Tabellenunterschriften arbeiten, weil Sie teilweise + Tabellen haben, die über mehr als eine Seite gehen. Mit den + Standardklassen bliebe Ihnen nur die Möglichkeit: +\begin{lstlisting} + \begin{table} + \caption{Dies ist nur eine Beispieltabelle} + \begin{tabular}{llll} + Dies & ist & ein & Beispiel.\\\hline + Bitte & lassen & Sie & den \\ + Inhalt & dieser & Tabelle & unbeachtet. + \end{tabular} + \end{table} +\end{lstlisting} + Damit hätten Sie das unschöne Ergebnis: + \begin{ShowOutput}\centering + {\usekomafont{caption}{\usekomafont{captionlabel}\tablename~30.2:} + Dies ist nur eine + Beispieltabelle}\\ + \begin{tabular}{llll} + Dies & ist & ein & Beispiel.\\\hline + Bitte & lassen & Sie & den \\ + Inhalt & dieser & Tabelle & unbeachtet. + \end{tabular} + \end{ShowOutput} + Bei \KOMAScript{} schreiben Sie hingegen: +\begin{lstlisting} + \begin{table} + \captionabove{Dies ist nur eine Beispieltabelle} + \begin{tabular}{llll} + Dies & ist & ein & Beispiel.\\\hline + Bitte & lassen & Sie & den \\ + Inhalt & dieser & Tabelle & unbeachtet. + \end{tabular} + \end{table} +\end{lstlisting} + Sie erhalten dann das gewünschte Ergebnis: + \begin{ShowOutput}\centering + {\usekomafont{caption}{\usekomafont{captionlabel}\tablename~30.2:} + Dies ist nur eine + Beispieltabelle}\\\vskip\abovecaptionskip + \begin{tabular}{llll} + Dies & ist & ein & Beispiel.\\\hline + Bitte & lassen & Sie & den \\ + Inhalt & dieser & Tabelle & unbeachtet. + \end{tabular} + \end{ShowOutput} + Da Sie konsistent alle Tabellen mit Überschriften versehen, können Sie + stattdessen natürlich auch die Option \Option{tablecaptionabove} setzen + (siehe \autoref{sec:maincls.formattingOptions}, + \autopageref{desc:maincls.option.tablecaptionabove}). Dann genügt es, wenn + Sie wie bei den Standardklassen \Macro{caption} verwenden. Sie erhalten + trotzdem das Ergebnis von \Macro{captionabove}. +\end{Example} + +\begin{Explain} + Einige werden nun einwenden, dass man das Gleiche auch mit dem + \Package{topcapt}-Paket\IndexPackage{topcapt} und der dort + definierten Anweisung \Macro{topcaption} erreichen kann (siehe + \cite{package:topcapt}). + Dies ist jedoch nicht der Fall. \Macro{topcaption} bleibt von + Paketen, die direkt das \Macro{caption}-Makro umdefinieren, + unberücksichtigt. Ein Beispiel dafür ist das + \Package{hyperref}-Paket (siehe \cite{package:hyperref}). + Demgegenüber sind \Macro{captionabove} und \Macro{captionbelow} so + implementiert, dass sich die Änderungen auch auf diese beiden + Anweisungen auswirken. + + \phantomsection\label{desc:maincls.macro.caption.longtable}% + Bei Verwendung des \Package{longtable}-Pakets\IndexPackage{longtable} wird + dafür gesorgt, dass auch die Tabellenüberschriften, die innerhalb einer + \Environment{longtable}-Umgebung gesetzt werden, in Aussehen und Form denen + einer normalen \Environment{table}-Umgebung entsprechen. Es gelten damit + auch dieselben Einstellmöglichkeiten. Bitte beachten Sie, dass beim + \Package{longtable}-Paket normalerweise die maximale Breite einer + Tabellenüberschrift begrenzt werden kann und per Voreinstellung auf + 4\Unit{in} begrenzt ist (siehe \cite{package:longtable}). Bei Verwendung von + \KOMAScript{} funktioniert der entsprechende Mechanismus aus + \Package{longtable} jedoch nur, wenn die Klassenoption + \Option{origlongtable} (siehe \autoref{sec:maincls.formattingOptions}, + \autopageref{desc:maincls.option.origlongtable}) gesetzt wird. Ist das Paket + \Package{caption2}\IndexPackage{caption2} + oder \Package{caption}\IndexPackage{caption} (siehe \cite{package:caption}) + geladen, so werden die Tabellenüberschriften von jenem Paket behandelt. + + Bitte beachten Sie, dass sich \Macro{captionabove} und \Macro{captionbelow} + innerhalb einer \Environment{float}-Umgebung, die mit Hilfe des + \Package{float}-Pakets\IndexPackage{float} definiert wurde, genau wie in + \cite{package:float} für die \Macro{caption}-Anweisung beschrieben + verhalten. In diesem Fall kontrolliert allein der float-Stil, ob es sich um + eine Überschrift oder um eine Unterschrift handelt. +\end{Explain} + + +\begin{Declaration} + \Environment{captionbeside}\OParameter{Verzeichnistitel}% + \Parameter{Titel}\OParameter{Anordnung}\OParameter{Breite}% + \OParameter{Offset}\\% + \XEnvironment{captionbeside}\OParameter{Verzeichnistitel}% + \Parameter{Titel}\OParameter{Anordnung}\OParameter{Breite}% + \OParameter{Offset}\PValue{*} +\end{Declaration} +\BeginIndex{Env}{captionbeside}% +Neben \ChangedAt{v2.8q}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}% +den Unter- und Überschriften findet man insbesondere bei kleineren +Abbildungen häufiger Beschreibungen, die neben der Abbildung gesetzt +werden. Dabei schließt normalerweise die Unterkante der Beschreibung +mit der Unterkante der Abbildung ab. Natürlich kann man mit etwas +Geschick und beispielsweise zwei \Macro{parbox}-Anweisungen +dergleichen auch in den Standardklassen erreichen. \KOMAScript{} +bietet jedoch eine spezielle Umgebung. Diese Umgebung kann innerhalb +der Gleitumgebungen verwendet werden. Der erste optionale Parameter +\PName{Verzeichnistitel} und der obligatorische Parameter +\PName{Titel} entsprechen dabei genau den gleichnamigen Parametern von +\Macro{caption}, \Macro{captionabove} oder \Macro{captionbelow}. Der +\PName{Titel} wird dabei neben den Inhalt der Umgebung gesetzt. + +Ob der \PName{Titel} rechts oder links daneben gesetzt wird, kann mit +dem optionalen Parameter \PName{Anordnung} bestimmt werden. Es darf +genau einer der folgenden Buchstaben angegeben werden: +\begin{labeling}[~--]{\PValue{o}} +\item[\PValue{l}] links +\item[\PValue{r}] rechts +\item[\PValue{i}] innen, also auf rechten Seiten links und auf + linken Seiten rechts +\item[\PValue{o}] außen, also auf rechten Seiten rechts und auf + linken Seiten links +\end{labeling} +Voreingestellt ist rechts neben dem Inhalt der Umgebung. Bei +Verwendung von \PValue{o} oder \PValue{i} für \emph{Anordnung} außen +oder innen werden unter Umständen zwei \LaTeX-Durchläufe benötigt, +um die korrekte Anordnung zu erreichen. + +Normalerweise nehmen der Inhalt der Umgebung und der \PName{Titel} die +gesamte verfügbare Breite ein. Es besteht jedoch die Möglichkeit, mit +dem optionalen Parameter \PName{Breite} eine andere Breite +anzugeben. Diese kann auch größer als die Breite des Textkörpers +sein. + +Bei Angabe einer \PName{Breite} wird die genutzte Breite +normalerweise bezüglich der Breite des Textkörpers zentriert. Mit dem +optionalen Argument \PName{Offset} kann stattdessen eine Verschiebung +relativ zum linken Rand angegeben werden. Ein positiver Wert +entspricht einer Verschiebung nach rechts, ein negativer Wert einer +Verschiebung nach links. Mit einem \PName{Offset} von 0\Unit{pt} +erfolgt die Ausgabe linksbündig. + +Wird hinter den optionalen Parameter \PName{Offset} noch ein Stern +gesetzt, so stellt der \PName{Offset} im doppelseitigen Druck auf +linken Seiten eine Verschiebung relativ zum rechten Rand dar. Ein +positiver Wert entspricht dann einer Verschiebung nach außen, während +ein negativer Wert für eine Verschiebung nach innen steht. Ein +\PName{Offset} von 0\Unit{pt} wäre dann also bündig zum inneren +Rand. Diese Variante benötigt unter Umständen zwei \LaTeX-Durchläufe, +um die korrekte Verschiebung zu erreichen. + +\begin{Example} + Ein Beispiel für die Verwendung der + \Environment{captionbeside}-Umgebung ist in + \autoref{fig:maincls.captionbeside} zu finden. Gesetzt wurde + diese Abbildung mit: +\begin{lstlisting} + \begin{figure} + \begin{captionbeside}[Beispiel für + Bildbeschreibung]% + {Eine Bildbeschreibung weder über noch unter der + Abbildung, sondern daneben}[i][\linewidth]% + [2em]* + \fbox{% + \parbox[b][5\baselineskip][c]{.25\textwidth}{% + \hspace*{\fill}\KOMAScript\hspace*{\fill}% + \par}} + \end{captionbeside} + \label{fig:maincls.captionbeside} + \end{figure} +\end{lstlisting} + \begin{figure} + \begin{captionbeside}[Beispiel f"ur Bildbeschreibung]% + {Eine Bildbeschreibung weder über noch unter der Abbildung, + sondern daneben}[i][\linewidth][2em]* + \fbox{% + \parbox[b][5\baselineskip][c]{.25\textwidth}{% + \hspace*{\fill}\KOMAScript\hspace*{\fill}\par}} + \end{captionbeside} + \label{fig:maincls.captionbeside} + \end{figure} + Die Gesamtbreite ist also die aktuell verfügbare Breite + \PValue{\Macro{linewidth}}. Diese wird jedoch um \PValue{2em} nach + außen verschoben. Der Titel oder die Beschreibung steht innen neben + der Abbildung. Damit erscheint die Abbildung selbst um 2\Unit{em} in + den Rand gerückt. +\end{Example} +% +\EndIndex{Env}{captionbeside} + + +\BeginIndex[indexother]{}{Schriftart}% +Die Schriftart\ChangedAt{v2.8p}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} für die +Beschreibung und das Label~-- »Abbildung« oder »Tabelle« gefolgt von der +Nummer und einem Trennzeichen -- kann über die in \autoref{sec:maincls.font} +beschriebenen Anweisungen verändert werden. Zuständig sind hier die Elemente +\FontElement{caption}\IndexFontElement{caption} und +\FontElement{captionlabel}\IndexFontElement{captionlabel} (siehe +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}). Dabei wird die Schriftart für +das Element \FontElement{caption} zunächst auch auf das Element +\FontElement{captionlabel} angewandt, bevor dessen spezifische Schriftart +Anwendung findet. Die Vorbelegungen sind \autoref{tab:maincls.captionFont} zu +entnehmen. +% +\begin{table} + \centering% + \caption[{Schriftvoreinstellungen für die Elemente der Tabellen- + oder\newline Abbildungsunterschrift + bzw. "~überschrift}]{Schriftvoreinstellungen für die Elemente der Tabellen- + oder Abbildungsunterschrift bzw. "~überschrift} + \begin{tabular}{ll} + \toprule + Element & Voreinstellung \\ + \midrule + \FontElement{caption} & \Macro{normalfont} \\ + \FontElement{captionlabel} & \Macro{normalfont} \\ + \bottomrule + \end{tabular} + \label{tab:maincls.captionFont} +\end{table} +% +\begin{Example} + Sie wollen, dass Tabellen- und Abbildungsbeschreibungen in einer + kleineren Schriftart gesetzt werden. Also setzen Sie + beispielsweise in der Präambel Ihres Dokuments: +\begin{lstlisting} + \addtokomafont{caption}{\small} +\end{lstlisting} + Außerdem hätten Sie gerne, dass das Label serifenlos und fett + gedruckt wird. Sie setzen also außerdem: +\begin{lstlisting} + \setkomafont{captionlabel}{\sffamily\bfseries} +\end{lstlisting} + Wie Sie sehen, kann auch hier einfach eine Erweiterung der + Vorbelegung verwendet werden. +\end{Example} +% +\EndIndex[indexother]{}{Schriftart} +% +\EndIndex{Cmd}{caption}% +\EndIndex{Cmd}{captionabove}% +\EndIndex{Cmd}{captionbelow}% + + +\begin{Explain} +\begin{Declaration} + \FloatStyle{komaabove}\\ + \FloatStyle{komabelow} +\end{Declaration}% +\BeginIndex{Floatstyle}{komaabove}% +\BeginIndex{Floatstyle}{komabelow}% +\OnlyAt{\Package{float}}Bei Verwendung des +\Package{float}-Pakets\IndexPackage{float} wird das Aussehen der damit +definierten Gleitumgebungen allein vom \emph{float}-Stil bestimmt. Dies +schließt auch die Frage ein, ob mit Überschriften oder Unterschriften +gearbeitet wird. Im \Package{float}-Paket gibt es keinen vordefinierten Stil, +der im Aussehen dem von \KOMAScript{} entspricht und dieselben +Einstellmöglichkeiten (siehe unten) bietet. \KOMAScript{} definiert deshalb +zusätzlich die beiden Stile \PValue{komaabove} und \PValue{komabelow}. Diese +können bei Verwendung des \Package{float}-Pakets wie die dort definierten +Stile \PValue{plain}\IndexFloatstyle{plain}, +\PValue{boxed}\IndexFloatstyle{boxed} oder +\PValue{ruled}\IndexFloatstyle{ruled} aktiviert werden. Siehe dazu +\cite{package:float}. Beim Stil \PValue{komaabove} werden \Macro{caption}, +\Macro{captionabove} und \Macro{captionbelow} als Überschrift, beim Stil +\PValue{komabelow} als Unterschrift gesetzt. +% +\EndIndex{Floatstyle}{komaabove}% +\EndIndex{Floatstyle}{komabelow}% +\end{Explain} + + +\begin{Declaration} + \Macro{captionformat} +\end{Declaration}% +\BeginIndex{Cmd}{captionformat}% +Bei {\KOMAScript} gibt es verschiedene Eingriffsmöglichkeiten, um die +Formatierung der Beschreibung zu ändern. Die Änderung der Schriftart +wurde bereits erläutert. Das oder die Trennzeichen zwischen dem Label +und dem eigentlichen Beschreibungstext sind im Makro +\Macro{captionformat} abgelegt. Abweichend von allen anderen +\Macro{\dots}format-Anweisungen ist hier also nicht der Zähler, +sondern nur die auf den Zähler folgenden Angaben enthalten. Die +Originaldefinition lautet: +\begin{lstlisting} + \newcommand*{\captionformat}{:\ } +\end{lstlisting} +Auch diese kann mit \Macro{renewcommand} geändert werden. +\begin{Example} + Aus mir unerfindlichen Gründen wollen Sie als Trennzeichen + keinen Doppelpunkt gefolgt von einem Leerzeichen, sondern einen + Gedankenstrich einschließlich der notwendigen Leerzeichen. + Daher definieren Sie: +\begin{lstlisting} + \renewcommand*{\captionformat}{~--~} +\end{lstlisting} + Diese Definition sollten Sie beispielsweise in die Präambel Ihres + Dokuments stellen. +\end{Example} +% +\EndIndex{Cmd}{captionformat}% + + +\begin{Declaration} + \Macro{figureformat}\\ + \Macro{tableformat} +\end{Declaration}% +\BeginIndex{Cmd}{figureformat}% +\BeginIndex{Cmd}{tableformat}% +Es wurde schon darauf hingewiesen, dass \Macro{captionformat} keine +Formatierung für das Label selbst enthält. Dieses sollte nun +keineswegs über Umdefinierung der Anweisungen für die Zählerausgabe, +\Macro{thefigure} oder \Macro{thetable}, verändert werden. Eine solche +Umdefinierung hätte nämlich auch Auswirkungen auf die Ausgabe von +\Macro{ref} oder der Verzeichnisse. Stattdessen bietet {\KOMAScript} +auch hier zwei \Macro{\dots format}-Anweisungen. Diese sind wie folgt +vordefiniert: +\begin{lstlisting} + \newcommand*{\figureformat}{\figurename~\thefigure\autodot} + \newcommand*{\tableformat}{\tablename~\thetable\autodot} +\end{lstlisting} +Sie können ebenfalls mit \Macro{renewcommand} eigenen Anforderungen +angepasst werden. +\begin{Example} + Hin und wieder wird gewünscht, dass die Beschreibungstexte ganz ohne + Label und natürlich auch ohne Trennzeichen ausgegeben werden. Bei + {\KOMAScript} genügen folgende Definitionen, um dies zu erreichen: +\begin{lstlisting} + \renewcommand*{\figureformat}{} + \renewcommand*{\tableformat}{} + \renewcommand*{\captionformat}{} +\end{lstlisting} + Dabei ist jedoch zu beachten, dass die Nummerierung damit zwar nicht + ausgegeben aber dennoch fortgezählt wird. Dies ist insbesondere dann + von Bedeutung, wenn die Umdefinierungen nur auf einzelne + \Environment{figure}- oder \Environment{table}-Umgebungen angewendet + werden. +\end{Example} +% +\EndIndex{Cmd}{figureformat}% +\EndIndex{Cmd}{tableformat}% + +\begin{Declaration} + \Macro{setcapindent}\Parameter{Einzug}\\ + \Macro{setcapindent*}\Parameter{XEinzug}\\ + \Macro{setcaphanging} +\end{Declaration}% +\BeginIndex{Cmd}{setcapindent}% +\BeginIndex{Cmd}{setcapindent*}% +\BeginIndex{Cmd}{setcaphanging}% +Wie bereits erwähnt wurde, werden in den Standardklassen die +Beschreibungen nicht hängend gesetzt. Das heißt: In mehrzeiligen +Beschreibungen beginnt die zweite Zeile direkt unter dem Labeltext. +Es gibt bei den Standardklassen auch keinen Mechanismus, dies direkt +zu beeinflussen. Bei {\KOMAScript} werden hingegen alle Zeilen ab der +zweiten so weit eingerückt, dass diese nicht mehr unter dem Label, +»Abbildung~\dots:« oder »Tabelle~\dots:«, sondern unter dem +eigentlichen Text der ersten Zeile beginnen. + +Dieses Verhalten, das der Verwendung der Anweisung +\Macro{setcaphanging} entspricht, kann bei {\KOMAScript} jederzeit +durch Verwendung der Anweisung \Macro{setcapindent} oder +\Macro{setcapindent*} geändert werden. Dabei gibt der Parameter +\PName{Einzug} an, wie weit ab der zweiten Zeile eingerückt werden +soll. + +Soll nach dem Label und vor dem Beschreibungstext noch ein +Zeilenumbruch erfolgen, so definieren Sie die Einrücktiefe +\PName{XEinzug} der Beschreibung stattdessen mit der Sternvariante der +Anweisung: \Macro{setcapindent*}. + +Mit einem negativen \PName{Einzug} erreicht man hingegen, dass vor der +Beschreibung ebenfalls ein Umbruch erfolgt und nur die erste Zeile der +Beschreibung, nicht jedoch die folgenden, um -\PName{Einzug} +eingerückt werden. + +Ob einzeilige Beschreibungen wie mehrzeilige Beschreibungen gesetzt werden +oder eine Sonderbehandlung erfahren, wird über die Klassenoptionen +\Option{onelinecaption} und \Option{noonelinecaption} gewählt. Siehe hierzu +die Erklärung zu diesen Optionen in \autoref{sec:maincls.layoutOptions}, +\autopageref{desc:maincls.option.noonelinecaption}. + +\begin{Example} + Die Beispiele entnehmen Sie bitte den + Abbildungen~\ref{fig:maincls.caption.first} bis + \ref{fig:maincls.caption.last}. Dabei zeigt sich auch, dass bei geringer + Spaltenbreite der komplett hängende Einzug unvorteilhaft ist. Der + Quelltext der zweiten Abbildung sei hier mit abgewandelter + Unterschrift beispielhaft wiedergegeben: +\begin{lstlisting} + \begin{figure} + \setcapindent{1em} + \fbox{\parbox{.95\linewidth}{% + \centering\KOMAScript}} + \caption{Beispiel mit teilweise hängendem Einzug + ab der zweiten Zeile} + \end{figure} +\end{lstlisting} + Wie zu sehen ist, kann die Formatierung also auch lokal innerhalb + der \Environment{figure}-Umgebung\IndexEnv{figure} geändert werden. Die + Änderung gilt dann nur für die eine Abildung. Nachfolgende Abbildungen + werden wieder mit den Grundeinstellungen oder den globalen Einstellungen, + die Sie beispielsweise in der Dokumentpräambel vorgenommen haben, + gesetzt. Das gilt für Tabellen natürlich genauso. + \begin{figure} + \typeout{^^J--- Ignore underfull and overfull \string\hbox:} + \addtokomafont{caption}{\small} + \addtokomafont{captionlabel}{\bfseries} + \centering% + \begin{minipage}{.9\linewidth} + \begin{minipage}[t]{.48\linewidth}\sloppy + \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}} + \caption[Beispiel f"ur Bildunterschrift]% + {Mit der Stan\-dard\-ein\-stell\-ung, also wie bei + Verwendung von \Macro{setcaphanging}} + \label{fig:maincls.caption.first} + \end{minipage} + \hspace{.02\linewidth} + \begin{minipage}[t]{.48\linewidth}\sloppy + \setcapindent{1em} + \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}} + \caption[Beispiel f"ur Bildunterschrift]% + {Mit teilweise h"ang"-endem Einzug ab der zweiten Zeile durch + Verwendung von \Macro{setcapindent}\PParameter{1em}} + \end{minipage} + \end{minipage} + + \vspace*{2ex}\noindent% + \begin{minipage}{.9\linewidth} + \begin{minipage}[t]{.48\linewidth}\sloppy + \setcapindent*{1em} + \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}} + \caption[Beispiel f"ur Bildunterschrift]% + {Mit h"angendem Einzug ab der zweiten Zeile und Umbruch vor + der Beschreibung durch Verwendung von + \Macro{setcapindent*}\PParameter{1em}} + \end{minipage} + \hspace{.02\linewidth} + \begin{minipage}[t]{.48\linewidth}\sloppy + \setcapindent{-1em} + \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}} + \caption[Beispiel f"ur Bildunterschrift]% + {Mit Einzug lediglich in der zweiten Zeile und einem Umbruch + vor der Beschreibung durch Verwendung von + \Macro{setcapindent}\PParameter{-1em}} + \label{fig:maincls.caption.last} + \end{minipage} + \end{minipage} + \typeout{^^J--- Don't ignore underfull and overfull + \string\hbox:^^J} + \end{figure} +\end{Example} +% +\EndIndex{Cmd}{setcapindent}% +\EndIndex{Cmd}{setcapindent*}% +\EndIndex{Cmd}{setcaphanging}% + + +\begin{Declaration} + \Macro{setcapwidth}\OParameter{Ausrichtung}\Parameter{Breite}\\ + \Macro{setcapmargin}\OParameter{Rand links}\Parameter{Rand}\\ + \Macro{setcapmargin*}\OParameter{Rand innen}\Parameter{Rand} +\end{Declaration} +\BeginIndex{Cmd}{setcapwidth}% +\BeginIndex{Cmd}{setcapmargin}% +\BeginIndex{Cmd}{setcapmargin*}% +Mit% +\ChangedAt{v2.8q}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} Hilfe +dieser drei Befehle kann die Breite und Anordnung der Beschreibung +beeinflusst werden. Normalerweise steht die gesamte Text- oder +Spaltenbreite für den Text der Beschreibung zur Verfügung. + +Mit der Anweisung \Macro{setcapwidth} kann diese \PName{Breite} +reduziert werden. Dabei gibt das obligatorische Argument die maximale +\PName{Breite} der Beschreibung an. Als optionales Argument kann genau +ein Buchstabe übergeben werden, der die horizontale Ausrichtung der +Beschreibung angibt. Die möglichen Ausrichtungen finden Sie in der +folgenden Liste. +\begin{labeling}[~--]{\PValue{o}} +\item[\PValue{l}] linksbündig +\item[\PValue{c}] zentriert +\item[\PValue{r}] rechtsbündig +\item[\PValue{i}] innen, also auf rechten Seiten linksbündig und auf + linken Seiten rechtsbündig +\item[\PValue{o}] außen, also auf rechten Seiten rechtsbündig und auf + linken Seiten linksbündig +\end{labeling} +Die Ausrichtung innen und außen entspricht im einseitigen Satz +linksbündig und rechtsbündig. Innerhalb von +\Package{longtable}\IndexPackage{longtable}-Tabellen funktioniert die +Ausrichtung innen und außen nicht korrekt. Insbesondere werden +Beschreibungen von Folgeseiten bei diesen Tabellen immer nach den +Beschreibungen der ersten Teiltabelle ausgerichtet. Dies ist ein +konzeptionelles Problem des Paketes \Package{longtable}. + +Mit der Anweisung \Macro{setcapmargin} kann statt der Breite der Beschreibung +ein \PName{Rand} angegeben werden, der neben der Beschreibung zusätzlich zum +normalen Textrand eingehalten werden soll. Sollen der Rand rechts und links +nicht identisch gewählt werden, kann mit dem optionalen Argument ein von +\PName{Rand} abweichender \PName{Rand links} von der Beschreibung eingestellt +werden. Bei der Sternvariante \Macro{setcapmargin*} wird statt dem \PName{Rand + links} im doppelseitigen Satz der \PName{Rand innen} abweichend definiert. +Hier ergibt sich bei \Package{longtable}\IndexPackage{longtable}-Tabellen das +gleiche Problem wie bei der Ausrichtung außen oder innen bei der Anweisung +\Macro{setcapwidth}. Die Verwendung von \Macro{setcapmargin} oder +\Macro{setcapmargin*} schaltet außerdem die Option \Option{noonelinecaption} +(siehe \autoref{sec:maincls.layoutOptions}, +\autopageref{desc:maincls.option.noonelinecaption}) für die Beschreibungen +ein, die mit dieser Randeinstellung gesetzt werden. + +\begin{Explain} + \Package{longtable} packt die Beschreibung in eine Box, die auf + Folgeseiten nach Bedarf erneut ausgegeben wird. Bei der Ausgabe + einer Box werden die Makros, die bei der Erzeugung der Box + durchlaufen wurden, nicht erneut ausgewertet. Damit ist es + \KOMAScript{} unmöglich, die Randeinstellung im doppelseitigen Satz + auf geraden Seiten zu vertauschen. Dies wäre aber notwendig, um eine + Ausrichtung, die nach außen oder innen verschoben ist, zu + ermöglichen. + + Man kann übrigens auch negative Werte für \PName{Rand} und + \PName{Rand rechts} oder \PName{Rand außen} angeben. Dadurch + erreicht man, dass die Beschreibung in den entsprechenden Rand + hineinragt. +\end{Explain} + +\begin{Example} + Ein etwas ausgefallenes Problem ist, wenn die Bildunterschrift + zentriert unter einer Abbildung stehen und dabei genauso breit wie + die Abbildung selbst sein soll. Ist die Breite der Abbildung + bekannt, ist die Lösung mit \KOMAScript{} sehr einfach. Angenommen, + die Abbildung ist 8\Unit{cm} breit, so genügt: +\begin{lstlisting} + \setcapwidth[c]{8cm} +\end{lstlisting} + unmittelbar vor \Macro{caption} oder \Macro{captionbelow}. Ist die + Breite nicht bekannt, so muss zunächst in der Präambel des Dokuments + eine Länge definiert werden: +\begin{lstlisting} + \newlength{\Abbildungsbreite} +\end{lstlisting} + Nun kann in vielen Fällen die Breite direkt mit Hilfe der + \LaTeX-Anweisung \Macro{settowidth} (siehe \cite{latex:usrguide}) + ermittelt werden. Eine Lösung kann dann wie folgt aussehen: +\begin{lstlisting} + \begin{figure} + \centering% + \settowidth{\Abbildungsbreite}{% + \fbox{\quad\KOMAScript\quad}% + }% + \fbox{\quad\KOMAScript\quad}% + \setcapwidth[c]{\Abbildungsbreite} + \caption{Beispiel einer unter der Abbildung + zentrierten Bildunterschrift} + \end{figure} +\end{lstlisting} + Allerdings ist es unpraktisch den Inhalt zweimal zu schreiben. Ebenso + ist es unpraktisch, \Macro{setcapwidth} jedesmal neu aufzurufen. Aber + nichts ist einfacher, als in der Präambel einen Befehl zu + definieren, der die drei Schritte: + \begin{enumerate} + \item Bestimmung der Breite des Arguments + \item Festlegung der Breite der Bildunterschrift + \item Ausgabe des Arguments + \end{enumerate} + verbirgt: +\begin{lstlisting} + \newcommand{\Abbildung}[1]{% + \settowidth{\Abbildungsbreite}{#1}% + \setcapwidth[c]{\Abbildungsbreite}% + #1% + } +\end{lstlisting} + Mit diesem Befehl verkürzt sich das Beispiel zu: +\begin{lstlisting} + \begin{figure} + \centering% + \Abbildung{\fbox{\quad\KOMAScript\quad}}% + \caption{Beispiel einer unter der Abbildung + zentrierten Bildunterschrift} + \end{figure} +\end{lstlisting} + + Nun hat ein Befehl jedoch den Nachteil, dass Fehler in den Makros + des Arguments bei mehrzeiligen Argumenten von \LaTeX{} nicht mit + einer sehr genauen Zeilenzahl gemeldet werden. Deshalb ist in + manchen Fällen eine Umgebung praktischer. Es stellt sich dann aber + die Frage, wie die Breite des Inhalts der Umgebung bestimmt werden + kann. Die Lösung besteht in der \Environment{lrbox}-Umgebung, die in + \cite{latex:usrguide} beschrieben ist: +\begin{lstlisting} + \newsavebox{\Abbildungsbox} + \newenvironment{AbbildungSetztCaptionBreite}{% + \begin{lrbox}{\Abbildungsbox}% + }{% + \end{lrbox}% + \global\setbox\Abbildungsbox=\box\Abbildungsbox% + \aftergroup\SetzeAbbildungsbox% + } + \newcommand{\SetzeAbbildungsbox}{% + \Abbildung{\usebox{\Abbildungsbox}}} +\end{lstlisting} + Dabei wird der oben definierte Befehl \Macro{Abbildung} eingesetzt. + In der Anwendung ergibt sich dann: +\begin{lstlisting} + \begin{figure} + \centering% + \begin{AbbildungSetztCaptionBreite} + \fbox{\hspace{1em}\KOMAScript\hspace{1em}} + \end{AbbildungSetztCaptionBreite} + \caption{Beispiel einer unter der Abbildung + zentrierten Bildunterschrift} + \end{figure} +\end{lstlisting} + Zugegeben, in diesem Beispiel ist die Umgebung überflüssig. Aber + ihre Definition mit Verwendung von \Macro{global} ist gleichzeitig + recht trickreich. Es ist deshalb davon auszugehen, dass viele + Anwender mit der Forderung, die Umgebung selbst zu erstellen, + überfordert wären. Da sie aber sehr nützlich sein kann, wurde sie + hier als Beispiel vorgestellt. + + Gäbe es die \Environment{captionbeside}-Umgebung nicht, so könnte + man die Bildunterschrift trotzdem recht einfach rechts neben der + Abbildung setzen. Dazu müsste \Macro{SetzeAbbildungsbox} aus obigem + Beispiel zunächst umdefiniert werden: +\begin{lstlisting} + \renewcommand{\SetzeAbbildungsbox}{% + \settowidth{\Abbildungsbreite}{% + \usebox{\Abbildungsbox}% + }% + \parbox[b]{\Abbildungsbreite}{% + \usebox{\Abbildungsbox}% + }% + \hfill% + \addtolength{\Abbildungsbreite}{1em}% + \addtolength{\Abbildungsbreite}{-\hsize}% + \setlength{\Abbildungsbreite}{-\Abbildungsbreite}% + \setcapwidth[c]{\Abbildungsbreite}% + } +\end{lstlisting} + Anschließend müsste lediglich noch die \Macro{caption}-Anweisung + in eine \Macro{parbox} gepackt werden: +\begin{lstlisting} + \begin{figure} + \centering% + \begin{AbbildungSetztCaptionBreite} + \fbox{\rule{0pt}{5\baselineskip}% + \hspace{1em}\KOMAScript\hspace{1em}} + \end{AbbildungSetztCaptionBreite} + \parbox[b]{\Abbildungsbreite}{% + \caption{Beispiel einer neben die Abbildung + gesetzten mehrzeiligen Bildinformation} + } + \end{figure} +\end{lstlisting} + Die \Macro{rule}-Anweisung in diesem Beispiel dient lediglich als + unsichtbare Stütze, um eine Beispielabbildung mit größerer + vertikaler Ausdehnung zu erreichen. +\end{Example} +% +\EndIndex{Cmd}{setcapwidth}% +\EndIndex{Cmd}{setcapmargin}% +\EndIndex{Cmd}{setcapmargin*}% + + +\subsection{Textauszeichnung} +\label{sec:maincls.emphasis} + +\begin{Explain} + \LaTeX{} bietet verschiedene Möglichkeiten der + Textauszeichnung\Index{Textauszeichnung}. Streng genommen stellt + eine Überschrift ebenfalls eine Auszeichnung dar. In diesem + Abschnitt beschäftigen wir uns aber ausschließlich mit unmittelbaren + Auszeichnungen, also solchen, die keine zusätzliche Bedeutungen in + sich besitzen, sondern die für verschiedene Zwecke verwendet werden + können. Näheres zu den normalerweise definierten Möglichkeiten sind + \cite{l2kurz}, \cite{latex:usrguide} und \cite{latex:fntguide} zu + entnehmen. +\end{Explain} + +\begin{Declaration} + \Macro{textsubscript}\Parameter{Text} +\end{Declaration} +\BeginIndex{Cmd}{textsubscript}% +In \autoref{sec:maincls.footnotes}, +\autopageref{desc:maincls.macro.textsuperscript} wurde bereits +\Macro{textsuperscript}\IndexCmd{textsuperscript} als Bestandteil +des \LaTeX-Kerns vorgestellt. Leider bietet \LaTeX{} selbst keine entsprechende +Anweisung, um Text tief\Index{Tiefstellung} statt hoch\Index{Hochstellung} zu +stellen. \KOMAScript{} definiert dafür \Macro{textsubscript}. +% +\begin{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 Markup + definieren Sie zunächst in der Dokumentpräambel oder einem eigenen + Paket: +\begin{lstlisting} + \newcommand*{\Molek}[2]{#1\textsubscript{#2}} +\end{lstlisting} + \newcommand*{\Molek}[2]{#1\textsubscript{#2}} + Damit schreiben Sie dann: +\begin{lstlisting} + 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{lstlisting} + Das Ergebnis sieht daraufhin so aus: + \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} + 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{lstlisting} + \newcommand*{\Molek}[2]{% + \textsf{#1\textsubscript{#2}}% + } +\end{lstlisting} + \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} +\begin{Explain} + Im Beispiel wird die Schreibweise »\verb|\Molek C6|« + verwendet. Dabei wird Nutzen aus der Tatsache gezogen, + dass Argumente, die nur aus einem Zeichen bestehen, nicht geklammert + werden müssen. Damit ist »\verb|\Molek C6|« gleichbedeutend mit + »\verb|\Molek{C}{6}|«. Bekannt ist dieser Umstand hauptsächlich + von Indizes und Potenzen in mathematischen Umgebungen, etwa + »\verb|$x^2$|« statt »\verb|$x^{2}$|« für »$x^2$«. +\end{Explain} +% +\EndIndex{Cmd}{textsubscript}% + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Der Schlussteil} +\label{sec:maincls.appendix} + +Im Schlussteil eines Dokuments finden sich üblicherweise die +Anhänge\Index{Anhang}, das +Literaturverzeichnis\Index{Literaturverzeichnis} und gegebenenfalls +ein Stichwortverzeichnis\Index{Stichwortverzeichnis}. + +\begin{Declaration} + \Macro{appendix} +\end{Declaration}% +\BeginIndex{Cmd}{appendix}% +Der Anhang wird in den Standardklassen und den {\KOMAScript}-Klassen mit der +Anweisung \Macro{appendix} eingeleitet. Diese Anweisung schaltet unter anderem +die Kapitelnummerierung auf Großbuchstaben um und sorgt gleichzeitig dafür, +dass die Regeln für die Nummerierung der Gliederungsebenen nach \cite{DUDEN} +eingehalten werden. Diese Regeln sind in der Beschreibung der Klassenoptionen +\Option{pointednumbers} und \Option{pointlessnumbers} in +\autoref{sec:maincls.formattingOptions}, +\autopageref{desc:maincls.option.pointlessnumbers} näher erläutert. + +Bitte beachten Sie, dass es sich bei \Macro{appendix} um eine +Anweisung und \emph{nicht} um eine Umgebung handelt! Die Anweisung +erwartet auch nicht etwa ein Argument. Die Kapitel beziehungsweise +Abschnitte des Anhangs werden ganz normal mit \Macro{chapter} und +\Macro{section} gesetzt. +% +\EndIndex{Cmd}{appendix} + + +\begin{Declaration} + \Macro{appendixmore} +\end{Declaration}% +\BeginIndex{Cmd}{appendixmore}% +Bei den {\KOMAScript}-Klassen gibt es innerhalb der Anweisung \Macro{appendix} +eine Besonderheit. Ist nämlich die Anweisung \Macro{appendixmore} definiert, +so wird sie von der \Macro{appendix}-Anweisung ebenfalls ausgeführt. Intern +wird dies von den {\KOMAScript}-Klassen \Class{scrbook} und \Class{scrreprt} +für die Realisierung der Layoutoptionen \Option{appendixprefix} und +\Option{noappendixprefix} genutzt (siehe \autoref{sec:maincls.layoutOptions}, +\autopageref{desc:maincls.option.appendixprefix}). Dies sollten Sie unbedingt +beachten, falls Sie selbst das Makro \Macro{appendixmore} definieren oder +umdefinieren wollen. Ist eine dieser beiden Optionen gesetzt, so erhalten Sie +bei \verb|\newcommand{\appendixmore}{|\dots\verb|}| eine Fehlermeldung. +Dadurch soll verhindert werden, dass Sie die Optionen außer Kraft setzen, ohne +es zu merken. + +\begin{Example} + Sie wollen nicht, dass bei Verwendung der Klasse \Class{scrbook} oder + \Class{scrreprt} im Hauptteil die Kapitel mit einer Präfixzeile versehen + werden (siehe Layoutoptionen \Option{chapterprefix} und + \Option{nochapterprefix} in \autoref{sec:maincls.layoutOptions}, + \autopageref{desc:maincls.option.chapterprefix}). Damit die Konsistenz + gewahrt bleibt, wollen Sie auch nicht, dass eine solche Zeile im Anhang + verwendet wird. Stattdessen sollen in den Anhängen direkt vor dem + Kapitelbuchstaben das Wort »Anhang« in der jeweiligen Sprache stehen. Dies + soll auch für die Kolumnentitel gelten. Also verwenden Sie weder die + Layoutoption \Option{appendixprefix} noch \Option{noappendixprefix}, sondern + definieren in der Dokumentpräambel: +\begin{lstlisting} + \newcommand*{\appendixmore}{% + \renewcommand*{\chapterformat}{% + \appendixname~\thechapter\autodot\enskip} + \renewcommand*{\chaptermarkformat}{% + \appendixname~\thechapter\autodot\enskip} + } +\end{lstlisting} + \looseness=1 + Sollten Sie später dann doch noch entscheiden, dass Sie die Option + \Option{appendixprefix} verwenden wollen, so erhalten Sie aufgrund + der dann bereits definierten Anweisung \Macro{appendixmore} eine + Fehlermeldung. Damit wird verhindert, dass obige Definition + unbemerkt die Einstellungen überschreibt, die Sie per Option + getroffen haben. + + Wenn Sie ein vergleichbares Verhalten des Anhangs für die Klasse + \Class{scrartcl} erreichen wollen, so ist dies ebenfalls + möglich. Dazu schreiben Sie in die Präambel Ihres Dokuments: +\begin{lstlisting} + \newcommand*{\appendixmore}{% + \renewcommand*{\othersectionlevelsformat}[1]{% + \ifthenelse{\equal{##1}{section}}{% + \appendixname~}{}% + \csname the##1\endcsname\autodot\enskip} + \renewcommand*{\sectionmarkformat}{% + \appendixname~\thesection\autodot\enskip} + } +\end{lstlisting} + Sie benötigen dafür außerdem das + \Package{ifthen}-Paket\IndexPackage{ifthen} (siehe + \cite{package:ifthen}). + + Die Erklärung zu den umdefinierten Anweisungen finden Sie in + \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.macro.partformat} und + \autopageref{desc:maincls.macro.chaptermark}. +\end{Example} +% +\EndIndex{Cmd}{appendixmore}% + + +\begin{Declaration} + \Macro{setbibpreamble}\Parameter{Präambel} +\end{Declaration}% +\BeginIndex{Cmd}{setbibpreamble}% +Mit der Anweisung \Macro{setbibpreamble} kann eine Präambel für +das Literaturverzeichnis\Index{Literaturverzeichnis} gesetzt +werden. Bedingung dafür ist, dass die Präambel vor der Anweisung +zum Setzen des Literaturverzeichnisses gesetzt wird. Dies muss +nicht unmittelbar davor sein. Es kann also beispielsweise am +Anfang des Dokuments erfolgen. Ebenso wie die Klassenoptionen +\Option{bibtotoc} und \Option{bibtotocnumbered} kann die +Anweisung aber nur erfolgreich sein, wenn nicht ein Paket geladen +wird, das dies durch Umdefinierung der +\Environment{thebibliography}-Umgebung verhindert. Obwohl das +\Package{natbib}-Paket\IndexPackage{natbib} unautorisiert interne +Makros von {\KOMAScript} verwendet, konnte erreicht werden, dass +\Macro{setbibpreamble} auch mit der aktuellen Version von +\Package{natbib} funktioniert (siehe \cite{package:natbib}). +\begin{Example} + Sie wollen darauf hinweisen, dass das Literaturverzeichnis nicht in + der Reihenfolge der Zitierung im Dokument, sondern alphabetisch + sortiert ist. Daher setzen Sie folgende Anweisung: +\begin{lstlisting} + \setbibpreamble{Die Literaturangaben sind + alphabetisch nach den Namen der Autoren sortiert. + Bei mehreren Autoren wird nach dem ersten Autor + sortiert.\par\bigskip} +\end{lstlisting} + Die Anweisung \Macro{bigskip}\IndexCmd{bigskip} sorgt dafür, dass + zwischen der Präambel und der ersten Literaturangabe ein großer + Zwischenraum gesetzt wird.% +\end{Example} +% +\EndIndex{Cmd}{setbibpreamble} + + +\begin{Declaration} + \Macro{setindexpreamble}\Parameter{Präambel} +\end{Declaration}% +\BeginIndex{Cmd}{setindexpreamble}% +Analog zur Präambel des Literaturverzeichnisses können Sie auch das +Stichwortverzeichnis mit einer Präambel versehen. Dies findet häufig +dann Anwendung, wenn es mehr als einen Index gibt oder im Index +unterschiedliche Arten der Referenzierung durch unterschiedliche +Hervorhebung der Seitenzahlen markiert werden. +\begin{Example} + Sie haben ein Dokument, in dem Begriffe sowohl definiert als auch + verwendet werden. Die Seitenzahlen der Begriffsdefinitionen sind + fett dargestellt. Natürlich möchten Sie gerne auf diesen Umstand + hinweisen. Also setzen Sie eine entsprechende Präambel für den + Index: +\begin{lstlisting} + \setindexpreamble{Alle \textbf{fett} gedruckten + Seitenzahlen sind Referenzen auf die Definition + des jeweiligen Begriffs. Demgegenüber geben normal + gedruckte Seitenzahlen die Seiten der Verwendung + des jeweiligen Begriffs wieder.\par\bigskip} +\end{lstlisting} +\end{Example} + +Bitte beachten Sie, dass für die erste Seite des Index der Seitenstil +umgeschaltet wird. Welcher Seitenstil hierbei Verwendung findet, ist im Makro +\Macro{indexpagestyle} abgelegt (siehe \autoref{sec:maincls.pageStyle}, +\autopageref{desc:maincls.macro.titlepagestyle}). + +Für die Erstellung, Sortierung und Ausgabe des Stichwortverzeichnisses +sind die üblichen Standard-\LaTeX-Pakete und Zusatzprogramme +zuständig. Von {\KOMAScript} werden genau wie von den Standardklassen +lediglich die grundlegenden Makros und Umgebungen dafür zur Verfügung +gestellt. +% +\EndIndex{Cmd}{setindexpreamble}% + + +\section{Obsoletes} +\label{sec:maincls.obsolete} + +\begin{Explain} + In diesem Abschnitt finden Sie Anweisungen, die der Anwender nicht + mehr verwenden sollte. Diese Anweisungen waren in früheren Versionen + von \KOMAScript{} zu finden und ihre Benutzung war dokumentiert. In + der aktuellen Version von \KOMAScript{} können sie aus Gründen der + Kompatibilität noch immer in gleicher Weise verwendet werden. Es + existieren jedoch neue Mechanismen oder Benutzerschnittstellen, die + stattdessen benutzt werden sollten. Dokumentiert sind die + veralteten Anweisungen hier nur, damit es dem Anwender leichter + fällt, alte Dokumente zu verstehen. Darüber hinaus steht es + Paketautoren frei, weiterhin diese Makros zu verwenden. + + \begin{Declaration} + \Macro{sectfont} + \end{Declaration} + \BeginIndex{Cmd}{sectfont}% + Dieses Makro beinhaltet die Schriftart, die für alle Überschriften + der Gliederung und der Zusammenfassung, den Haupttitel und die + oberste Ebene unter \Macro{part} im Inhaltsverzeichnis verwendet + wird. Verwenden Sie stattdessen die in + \autoref{sec:maincls.font} vorgestellten Anweisungen für das + Element \FontElement{sectioning}.% +% + \EndIndex{Cmd}{sectfont}% + + \begin{Declaration} + \Macro{capfont} \\ + \Macro{caplabelfont} + \end{Declaration} + \BeginIndex{Cmd}{capfont}% + \BeginIndex{Cmd}{caplabelfont}% + Das Makro \Macro{capfont} beinhaltet die Schriftart, die für Tabellenunter"~ + oder "~überschriften und Abbildungunterschriften verwendet wird. Das Makro + \Macro{caplabelfont} beinhaltet die Schriftart, die davon abweichend für die + Bezeichnung und Nummer verwendet wird. Verwenden Sie stattdessen die in + \autoref{sec:maincls.font} vorgestellten Anweisungen für die Elemente + \FontElement{caption} und \FontElement{captionlabel}.% +% + \EndIndex{Cmd}{capfont}% + \EndIndex{Cmd}{caplabelfont}% + + \begin{Declaration} + \Macro{descfont} + \end{Declaration} + \BeginIndex{Cmd}{descfont}% + Dieses Makro beinhaltet die Schriftart, die für die Stichworte, also + die optionalen \Macro{item}-Argumente, einer + \Environment{description}-Umgebung verwendet wird. Verwenden Sie + stattdessen die in \autoref{sec:maincls.font} vorgestellten + Anweisungen für das Element \FontElement{descriptionlabel}. +% + \EndIndex{Cmd}{descfont}% + +\end{Explain} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/scrdatetime.tex b/Master/texmf-dist/source/latex/koma-script/doc/german/scrdatetime.tex new file mode 100644 index 00000000000..6cf4e666dcf --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/scrdatetime.tex @@ -0,0 +1,236 @@ +% ====================================================================== +% scrdatetime.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ---------------------------------------------------------------------- +% scrdatetime.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ====================================================================== +% +% Chapter about scrpage2 of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel über scrpage2 in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\ProvidesFile{scrdatetime.tex}[{2005/11/27 KOMA-Script guide (chapter: + scrdate, scrtime)}] + +\chapter{Wochentag und Uhrzeit mit \Package{scrdate} und \Package{scrtime}} +\labelbase{datetime} + +Zu \KOMAScript{} gehören auch zwei Pakete, um den Umgang mit +Datum\Index{Datum} und Zeit\Index{Zeit} über die beiden +Standardbefehle \Macro{today} und \Macro{date} hinaus zu +erweitern. Ebenso wie die anderen Pakete aus {\KOMAScript} können +diese Pakete auch mit den Standardklassen verwendet werden. + +\section{Der aktuelle Wochentag mit \Package{scrdate}} +\label{sec:datetime.scrdate} +\BeginIndex{Package}{scrdate} + +Das erste Problem ist die Frage nach dem aktuellen Wochentag. Dieses kann mit +Hilfe des Pakets \Package{scrdate} gelöst werden. + +\begin{Declaration} + \Macro{todaysname} +\end{Declaration}% +\BeginIndex{Cmd}{todaysname}% +Bekanntlich erhält man mit \Macro{today}\IndexCmd{today} das aktuelle +Datum in der landestypischen Schreibweise. \Package{scrdate} bietet +mit \Macro{todaysname} eine Anweisung, um den aktuellen Wochentag zu +erhalten. + +\begin{Example} + Sie wollen in Ihrem Dokument ausgeben, an welchem Tag es mit + \LaTeX{} in eine \File{DVI}-Datei übersetzt wurde. Sie schreiben + dazu +\begin{lstlisting} + Dieses Dokument entstand an einem {\todaysname}. +\end{lstlisting} + und erhalten beispielsweise: + \begin{quote} + Dieses Dokument entstand an einem {\todaysname}. + \end{quote} +\end{Example} + +Es sei darauf hingewiesen, dass das Paket natürlich nicht deklinieren +kann. Gespeichert sind die Wochentage im Nominativ Singular, wie er +beispielsweise für eine Datumsangabe in Briefen benötigt wird. Obiges Beispiel +funktioniert daher nur sprachabhängig und eher zufällig. + +\begin{Explain} + \textbf{Tipp:} Wenn Sie den Namen des Tages in Kleinbuchstaben + benötigen, weil das in der entsprechenden Sprache innerhalb des + Satzes so üblich ist, können Sie das erreichen, obwohl die Namen der + Wochentage in \Package{scrdate} alle groß geschrieben sind. In + diesem Fall können Sie einfach auf die \LaTeX-Anweisung + \Macro{MakeLowercase}\IndexCmd{MakeLowercase} zurückgreifen und + \Macro{MakeLowercase}\PParameter{\Macro{todaysname}} schreiben. +\end{Explain} +\EndIndex{Cmd}{todaysname} + +\begin{Declaration} + \Macro{nameday}\Parameter{Name} +\end{Declaration}% +\BeginIndex{Cmd}{nameday}% +So wie mit \Macro{date}\IndexCmd{date} die Ausgabe von \Macro{today} +direkt geändert werden kann, setzt \Macro{nameday} die Ausgabe von +\Macro{todaysname} auf den Wert \PName{Name}. +\begin{Example} + Sie setzen mit \Macro{date} das aktuelle Datum auf einen festen + Wert. Für die Ausgabe des zugehörigen Wochentags interessiert es nur, + dass dieser Tag ein Werktag war. Daher schreiben Sie +\begin{lstlisting} + \nameday{Werktag} +\end{lstlisting} + und erhalten so mit dem Satz aus dem vorherigen Beispiel: + \begin{quote}\nameday{Werktag} + Dieses Dokument entstand an einem {\todaysname}. + \end{quote} +\end{Example} +\EndIndex{Cmd}{nameday} + +Das \Package{scrdate}-Paket beherrscht derzeit die Sprachen Englisch (english +and USenglish), Deutsch (german, ngerman und austrian), Französisch (french), +Italienisch (italian), Spanisch (spanish), Kroatisch (croatian) und Finnisch +(finnish), kann aber auch für andere Sprachen konfiguriert werden. Näheres +dazu entnehme man \File{scrdate.dtx}. + +Bei der aktuellen Version ist es egal, ob \Package{scrdate} vor oder +nach \Package{german}\IndexPackage{german}, +\Package{babel}\IndexPackage{babel} oder ähnlichen Paketen geladen +wird, in jedem Falle wird die korrekte Sprache +gewählt. + +\begin{Explain} + Etwas genauer ausgedrückt: Solange die Sprachauswahl in einer zu + \Package{babel}\IndexPackage{babel} bzw. + \Package{german}\IndexPackage{german} kompatiblen Form erfolgt und + die Sprache \Package{scrdate} bekannt ist, wird die Sprache korrekt + gewählt. Ist dies nicht der Fall, werden (US-)englische Ausdrücke + verwendet. +\end{Explain} +\EndIndex{Package}{scrdate} + +\section{Die aktuelle Zeit mit \Package{scrtime}} +\label{sec:datetime.scrtime} +\BeginIndex{Package}{scrtime} + +Das zweite Problem ist die Frage nach der aktuellen Zeit. Dieses kann mit +Hilfe des Pakets \Package{scrtime} gelöst werden. + +\begin{Declaration}% + \Macro{thistime}\OParameter{Trennung}\\ + \Macro{thistime*}\OParameter{Trennung} +\end{Declaration}% +\BeginIndex{Cmd}{thistime}\BeginIndex{Cmd}{thistime*}% +\Macro{thistime} liefert die aktuelle Zeit\Index{Zeit}. Als +Trennbuchstabe zwischen den Werten Stunden, Minuten und Sekunden +wird das optionale Argument \PName{Trennung} verwendet. Die +Voreinstellung ist hierbei das Zeichen "`\PValue{:}"'. + +\Macro{thistime*} funktioniert fast genau wie \Macro{thistime}. Der +einzige Unterschied besteht darin, dass im Gegensatz zu +\Macro{thistime} bei \Macro{thistime*} die Minutenangaben bei Werten +kleiner 10 nicht durch eine vorangestellte Null auf zwei Stellen +erweitert wird. +\begin{Example} + Die Zeile +\begin{lstlisting} + Ihr Zug geht um \thistime\ Uhr. +\end{lstlisting} + liefert als Ergebnisse beispielsweise eine Zeile wie + \begin{quote} + Ihr Zug geht um \thistime\ Uhr. + \end{quote} + oder + \begin{quote} + Ihr Zug geht um 23:09 Uhr. + \end{quote} + \bigskip + Demgegenüber liefert die Zeile +\begin{lstlisting} + Beim nächsten Ton ist es \thistime*[\ Uhr,\ ] + Minuten und 42 Sekunden. +\end{lstlisting} + als mögliches Ergebniss etwas wie: + \begin{quote} + Beim nächsten Ton ist es \thistime*[\ Uhr,\ ] Minuten und 42 Sekunden. + \end{quote} + oder + \begin{quote} + Beim nächsten Ton ist es 23\ Uhr,\ 9 Minuten und 42 Sekunden. + \end{quote} +\end{Example} +\EndIndex{Cmd}{thistime}\EndIndex{Cmd}{thistime*} + +\begin{Declaration}% + \Macro{settime}\Parameter{Wert} +\end{Declaration}% +\BeginIndex{Cmd}{settime}% +\Macro{settime} setzt die Ausgabe von \Macro{thistime} und +\Macro{thistime*} auf einen festen \PName{Wert}% +%\footnote{Allerdings darf man nicht erwarten, dass nun die Zeit +% stillsteht!} +. % +Anschließend wird das optionale Argument von \Macro{thistime} bzw. +\Macro{thistime*} ignoriert, da ja die komplette Zeichenkette, die +\Macro{thistime} bzw. \Macro{thistime*} nun liefert, hiermit explizit +festgelegt wurde.% +\EndIndex{Cmd}{settime} + +\begin{Declaration} + \Option{12h}\\ + \Option{24h} +\end{Declaration}% +\BeginIndex{Option}{12h}\BeginIndex{Option}{24h}% +Mit den Optionen \Option{12h} und \Option{24h} kann ausgewählt +werden, ob die Zeit bei \Macro{thistime} und \Macro{thistime*} im +12-Stunden- oder 24-Stunden-Format ausgegeben werden soll. +Voreingestellt ist \Option{24h}% +%\footnote{Leider beherrscht das \Package{scrtime}-Paket noch nicht die +% Sternzeit nach \textsc{StarTrek}\Index{StarTrek}, ein echter +% Mangel!} +. % +Die Option verliert bei einem Aufruf von \Macro{settime} ebenfalls ihre +Gültigkeit.% +\EndIndex{Option}{12h}\EndIndex{Option}{24h} +\EndIndex{Package}{scrtime} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/scrlfile.tex b/Master/texmf-dist/source/latex/koma-script/doc/german/scrlfile.tex new file mode 100644 index 00000000000..0c43d5448e1 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/scrlfile.tex @@ -0,0 +1,314 @@ +% ====================================================================== +% scrlfile.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ---------------------------------------------------------------------- +% scrlfile.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ====================================================================== +% +% Chapter about scrlfile of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------------- +% +% Kapitel über scrlfile in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\ProvidesFile{scrlfile.tex}[2005/08/10 KOMA-Script guide (chapter: scrlfile)] + +\chapter{Paketabhängigkeiten mit \Package{scrlfile} + beherrschen} +\labelbase{scrlfile} + +\BeginIndex{Package}{scrlfile} + +\begin{Explain} + Die Einführung von \LaTeXe{} brachte 1994 eine Menge Neuerungen im + Umgang mit \LaTeX-Erweiterungen. So stehen dem Paketautor heute eine + ganze Reihe von Befehlen zur Verfügung, um festzustellen, ob ein + anderes Paket oder eine bestimmte Klasse verwendet wird und ob dabei + bestimmte Optionen zur Anwendung kommen. Der Paketautor kann selbst + andere Pakete laden oder diesen Optionen mit auf den Weg geben für + den Fall, dass sie später noch geladen werden. Es bestand daher die + Hoffnung, dass es künftig unerheblich wäre, in welcher Reihenfolge + Pakete geladen werden. Diese Hoffnung hat sich leider nicht erfüllt. +\end{Explain} + +\section{Die Sache mit den Paketabhängigkeiten} +\label{sec:scrlfile.dependency} +\begin{Explain} + Immer häufiger definieren unterschiedliche Pakete den gleichen + Befehl neu oder um. Dabei ist es dann sehr entscheidend, in welcher + Reihenfolge die Pakete geladen werden. Manchmal ist das für den + Anwender kaum zu überschauen. In manchen Fällen ist es auch + notwendig, einfach nur in irgendeiner Form auf das Laden eines + anderen Paketes zu reagieren. Auch das ist nicht immer ganz einfach. + + Nehmen wir als einfaches Beispiel das Laden des + \Package{longtable}-Paketes bei Verwendung von \KOMAScript{}. Das + \Package{longtable}-Paket definiert seine eigene Form von + Tabellenüberschriften. Diese passen perfekt zu den + Tabellenüberschriften der Standardklassen. Sie passen aber überhaupt + nicht zu den Voreinstellungen für die Tabellenüberschriften von + \KOMAScript{} und reagieren auch nicht auf die entsprechenden + Möglichkeiten der Konfiguration. Um dieses Problem zu lösen, müssen + die Befehle von \Package{longtable}, die für die + Tabellenüberschriften zuständig sind, von \KOMAScript{} umdefiniert + werden. Allerdings sind die \KOMAScript{}-Klassen bereits + abgearbeitet, wenn das Paket geladen wird. + + Bisher bestand die einzige Möglichkeit, dieses Problem zu lösen + darin, die Umdefinierung mit Hilfe von \Macro{AtBeginDocument} auf + einen späteren Zeitpunkt zu verschieben. Will der Anwender die + entsprechende Anweisung jedoch selbst umdefinieren, so sollte er + dies eigentlich ebenfalls in der Präambel tun. Das kann er jedoch + nicht, weil \KOMAScript{} ihm dabei in die Quere kommt. Er müsste + die Umdefinierung also ebenfalls mit Hilfe von + \Macro{AtBeginDocument} durchführen. + + Aber eigentlich müsste \KOMAScript{} die Abarbeitung gar nicht auf + den Zeitpunkt von \Macro{begin}\PParameter{document} verschieben. Es + würde genügen, wenn sie bis unmittelbar nach dem Laden von + \Package{longtable} verzögert werden könnte. Leider fehlen + entsprechende Anweisungen im \LaTeX-Kern. Das Paket + \Package{scrlfile} bringt hier Abhilfe. + + Ebenso wäre es denkbar, dass man vor dem Laden eines bestimmten + Paketes gerne die Bedeutung eines Makros in einem Hilfsmakro retten + und nach dem Laden des Paketes wieder restaurieren will. Auch das + geht mit \Package{scrlfile}. + + Die Anwendung von \Package{scrlfile} ist nicht auf die Abhängigkeit + von Paketen beschränkt. Auch Abhängigkeiten von anderen Dateien + können berücksichtigt werden. So kann beispielsweise dafür gesorgt + werden, dass das nicht unkritische Laden einer Datei wie + \File{french.ldf} automatisch zu einer Warnung führt. + + Obwohl das Paket in erster Linie für andere Paketautoren interessant + sein dürfte, gibt es durchaus auch Anwendungen für normale + \LaTeX-Benutzer. Deshalb sind in diesem Kapitel auch für beide + Gruppen Beispiele aufgeführt. +\end{Explain} + + +\section{Aktionen vor und nach dem Laden} +\label{sec:scrlfile.macros} + +Mit \Package{scrlfile} können vor und nach dem Laden von Dateien Aktionen +ausgelöst werden. Bei den dazu verwendeten Befehlen wird zwischen allgemeinen +Dateien, Klassen und Paketen unterschieden. + +\begin{Declaration} + \Macro{BeforeFile}\Parameter{Datei}\Parameter{Anweisungen}\\ + \Macro{AfterFile}\Parameter{Datei}\Parameter{Anweisungen} +\end{Declaration}% +\BeginIndex{Cmd}{BeforeFile}% +\BeginIndex{Cmd}{AfterFile}% +Mit Hilfe von \Macro{BeforeFile} kann dafür gesorgt werden, dass +\PName{Anweisungen} erst vor dem nächsten Laden einer bestimmten +\PName{Datei} ausgeführt werden. Vergleichbar arbeitet +\Macro{AfterFile}. Nur werden die \PName{Anweisungen} hier erst nach +dem Laden der \PName{Datei} ausgeführt. Wird die Datei nie geladen, so +werden die \PName{Anweisungen} auch nie ausgeführt. + +\begin{Explain} + Um die Funktionalität bereitstellen zu können, bedient sich + \Package{scrlfile} der bekannten \LaTeX-Anweisung + \Macro{InputIfFileExists}. Diese wird hierzu umdefiniert. Falls die + Anweisung nicht die erwartete Definition hat, gibt + \Package{scrlfile} eine Warnung aus. Dies geschieht für den Fall, + dass die Anweisung in späteren \LaTeX-Versionen geändert wird oder + bereits von einem anderen Paket umdefiniert wurde. + + Die Anweisung \Macro{InputIfFileExists} wird von \LaTeX{} immer + verwendet, wenn eine Datei geladen werden soll. Dies geschieht + unabhängig davon, ob die Datei mit \Macro{include}, \Macro{LoadClass}, + \Macro{documentclass}, \Macro{usepackage}, \Macro{RequirePackage}, + oder vergleichbaren Anweisungen geladen wird. Lediglich +\begin{lstlisting} + \input foo +\end{lstlisting} + lädt die Datei \texttt{foo} ohne Verwendung von + \Macro{InputIfFileExists}. Sie sollten daher stattdessen immer +\begin{lstlisting} + \input{foo} +\end{lstlisting} + verwenden. Beachten Sie die Klammern um den Dateinamen! +\end{Explain} +% +\EndIndex{Cmd}{BeforeFile}% +\EndIndex{Cmd}{AfterFile}% + +\begin{Declaration} + \Macro{BeforeClass}\Parameter{Klasse}\Parameter{Anweisungen}\\ + \Macro{BeforePackage}\Parameter{Paket}\Parameter{Anweisungen} +\end{Declaration}% +\BeginIndex{Cmd}{BeforeClass}% +\BeginIndex{Cmd}{BeforePackage}% +Diese beiden Befehle arbeiten vergleichbar zu \Macro{BeforeFile} mit dem einen +Unterschied, dass die \PName{Klasse} beziehungsweise das \PName{Paket} mit +seinem Namen und nicht mit seinem Dateinamen angegeben wird. Die Endungen +\File{.cls} und \File{.sty} entfallen hier also. +% +\EndIndex{Cmd}{BeforeClass}% +\EndIndex{Cmd}{BeforePackage}% + +\begin{Declaration} + \Macro{AfterClass}\Parameter{Klasse}\Parameter{Anweisungen}\\ + \Macro{AfterClass*}\Parameter{Klasse}\Parameter{Anweisungen}\\ + \Macro{AfterPackage}\Parameter{Paket}\Parameter{Anweisungen}\\ + \Macro{AfterPackage*}\Parameter{Paket}\Parameter{Anweisungen} +\end{Declaration}% +\BeginIndex{Cmd}{AfterClass}% +\BeginIndex{Cmd}{AfterClass*}% +\BeginIndex{Cmd}{AfterPackage}% +\BeginIndex{Cmd}{AfterPackage*}% +Die Anweisungen \Macro{AfterClass} und \Macro{AfterPackage} arbeiten +weitgehend wie \Macro{AfterFile} mit dem winzigen Unterschied, dass die +\PName{Klasse} beziehungsweise das \PName{Paket} mit seinem Namen und +nicht mit seinem Dateinamen angegeben wird. Die Endungen \File{.cls} +und \File{.sty} entfallen hier also. Bei den Sternvarianten gibt es +eine zusätzliche Funktionalität. Ist die entsprechende Klasse oder das +entsprechende Paket bereits geladen, so werden die \PName{Anweisungen} +nicht nach dem nächsten Laden, sondern unmittelbar ausgeführt. +% +\EndIndex{Cmd}{AfterClass}% +\EndIndex{Cmd}{AfterClass*}% +\EndIndex{Cmd}{AfterPackage}% +\EndIndex{Cmd}{AfterPackage*}% + +\begin{Example} + Als Beispiel für Paket- oder Klassenautoren will ich zunächst + erklären, wie \KOMAScript{} selbst Gebrauch von den neuen + Anweisungen macht. Dazu findet sich in \Class{scrbook} + beispielsweise Folgendes: +\begin{lstlisting} + \AfterPackage{hyperref}{% + \@ifpackagelater{hyperref}{2001/02/19}{}{% + \ClassWarningNoLine{scrbook}{% + You are using an old version of hyperref + package!\MessageBreak% + This version has a buggy hack at many drivers% + \MessageBreak% + causing \string\addchap\space to behave + strange.\MessageBreak% + Please update hyperref to at least version + 6.71b}}} +\end{lstlisting} + Alte Versionen von \Package{hyperref} definierten ein Makro von + \Class{scrbook} in einer Weise um, so dass es mit neueren Versionen + von \KOMAScript{} nicht mehr funktioniert. Neuere Versionen von + \Package{hyperref} unterlassen dies, wenn sie eine neuere Version + von \KOMAScript{} erkennen. Für den Fall, dass \Package{hyperref} + zu einem späteren Zeitpunkt geladen wird, sorgt also \Class{scrbook} + dafür, dass unmittelbar nach dem Laden des Paketes überprüft wird, ob + es sich um eine verträgliche Version handelt. Falls dies nicht der + Fall ist, wird eine Warnung ausgegeben. + + An anderer Stelle findet sich in drei \KOMAScript-Klassen Folgendes: +\begin{lstlisting} + \AfterPackage{caption2}{% + \renewcommand*{\setcapindent}{% +\end{lstlisting} + Nach dem Laden von \Package{caption2} und nur falls das Paket + geladen wird, wird hier die \KOMAScript-Anweisung + \Macro{setcapindent} umdefiniert. Der Inhalt der Umdefinierung ist + für dieses Beispiel unerheblich. Es sei nur erwähnt, dass + \Package{caption2} die Kontrolle über die \Macro{caption}-Anweisung + übernimmt und daher die normale Definition von \Macro{setcapindent} + keinerlei Wirkung mehr hätte. Die Umdefinierung verbessert dann die + Zusammenarbeit mit \Package{caption2}. + + Es gibt aber auch Beispiele für den sinnvollen Einsatz der neuen + Anweisungen durch normale Anwender. Angenommen, Sie erstellen ein + Dokument, aus dem sowohl eine PS-Datei mit \LaTeX{} und dvips als auch + eine PDF-Datei mit pdf\LaTeX{} erstellt werden soll. Das Dokument soll + außerdem Hyperlinks aufweisen. Im Tabellenverzeichnis haben Sie + Einträge, die über mehrere Zeilen gehen. Nun gibt es zwar mit + pdf\LaTeX{} bei der PDF-Ausgabe keine Probleme, da dort Links + umbrochen werden können. Bei Verwendung des + \Package{hyperref}-Treibers für dvips oder + hyper\TeX{} ist dies jedoch nicht + möglich. In diesem Fall hätten Sie gerne, dass bei + \Package{hyperref} die Einstellung \Option{linktocpage} verwendet + wird. Die Entscheidung, welcher Treiber geladen wird, wird bei Ihnen + automatisch von \File{hyperref.cfg} erledigt. Dazu sieht die Datei + beispielsweise wie folgt aus: +\begin{lstlisting} + \ProvidesFile{hyperref.cfg} + \@ifundefined{pdfoutput}{\ExecuteOptions{dvips}} + {\ExecuteOptions{pdftex}} + \endinput +\end{lstlisting} + + Alles weitere kann nun \Macro{AfterFile} überlassen werden: +\begin{lstlisting} + \documentclass{article} + \usepackage{scrlfile,ngerman} + \AfterFile{hdvips.def}{\hypersetup{linktocpage}} + \AfterFile{hypertex.def}{\hypersetup{linktocpage}} + \usepackage{hyperref} + \begin{document} + \listoffigures + \clearpage + \begin{figure} + \caption{Dies ist ein Beispiel mit einer + Abbildungsunterschrift, die etwas länglich ist + und bei der trotzdem auf die Verwendung des + optionalen Arguments verzichtet wurde} + \end{figure} + \end{document} +\end{lstlisting} + Egal, ob nun der \Package{hyperref}-Treiber \Option{hypertex} oder + \Option{dvips} zu Anwendung kommt, wird die dann nützliche + Einstellung \Option{linktocpage} verwendet. Wenn Sie jedoch mit + pdf\LaTeX{} eine PDF-Datei erstellen, wird darauf verzichtet. +\end{Example} + +\begin{Explain} + Übrigens können Sie das Laden von \Package{scrlfile} und die obigen + \Macro{AfterFile}-Anweisungen auch in Ihre private + \File{hyperref.cfg} einfügen. Verwenden Sie dabei jedoch zum Laden + des Paketes besser \Macro{RequirePackage} an Stelle von + \Macro{usepackage} (siehe \cite{latex:clsguide}). Die neuen Zeilen + müssen in obigem Beispiel unmittelbar nach der + \Macro{ProvidesFile}-Zeile, also unbedingt vor der Ausführung der + Optionen \Option{dvips} oder \Option{pdftex}, eingefügt werden.% +\end{Explain}% +\EndIndex{Package}{scrlfile} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/scrlttr2.tex b/Master/texmf-dist/source/latex/koma-script/doc/german/scrlttr2.tex new file mode 100644 index 00000000000..02c70add824 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/scrlttr2.tex @@ -0,0 +1,4132 @@ +% ====================================================================== +% scrlttr2.tex +% Copyright (c) Markus Kohm, 2002-2006 +% +% 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. +% ---------------------------------------------------------------------- +% scrlttr2.tex +% Copyright (c) Markus Kohm, 2002-2006 +% +% 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. +% ====================================================================== +% +% Chapter about scrlttr2 of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel über scrlttr2 in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\ProvidesFile{scrlttr2.tex}[2006/04/24 KOMA-Script guide (chapter: scrlttr2)] + +\chapter{Die neue Briefklasse \Class{scrlttr2}} +\labelbase{scrlttr2} + +\BeginIndex{Class}{scrlttr2}\BeginIndex{}{Briefe}% +\begin{Explain} +Seit der Ausgabe vom Juni 2002 beinhaltet \KOMAScript{} eine komplett +neue Briefklasse\ChangedAt{v2.8q}{\Class{scrlttr2}}. Obwohl einige +Teile davon mit den Klassen aus \autoref{cha:maincls} +übereinstimmen, sind Briefe doch etwas ganz anderes als Artikel, +Berichte, Bücher oder Ähnliches. Schon allein deshalb gibt es für die +Briefklasse ein eigenes Kapitel. Aber auch aus einem anderen Grund ist +ein eigenes Kapitel für \Class{scrlttr2} gerechtfertigt. Die Klasse +wurde von Grund auf neu entwickelt. Sie hat daher auch ein komplett +anderes Bedienkonzept als alle anderen mir bekannten Klassen. Die neue +Art der Bedienung ist möglicherweise etwas ungewohnt, bietet jedoch +nicht nur dem geübten Anwender einige Vorteile. + + +\section{Rückblick auf die alte Briefklasse} +\label{sec:scrlttr2.scrlettr} + +Die alte Briefklasse \Class{scrlettr}\IndexClass{scrlettr} +ist obsolet. Sie sollte für neue Briefe besser nicht mehr verwendet +werden. Sie wird nicht mehr weiterentwickelt und es findet daher auch +nur noch sehr eingeschränkter Support dafür statt. Wer dennoch +unbedingt die Anleitung zur alten Briefklasse benötigt, kann diese in +\File{scrlettr.dtx} finden. Am besten führt man dazu einige +\LaTeX-Läufe mit jener Datei durch, also beispielsweise: +\begin{lstlisting} + latex scrlettr.dtx + latex scrlettr.dtx + latex scrlettr.dtx +\end{lstlisting} +Man erhält so die Datei \File{scrlettr.dvi} mit der Anleitung. + +Um den Umstieg von der alten auf die neue Klasse zu erleichtern, existiert +außerdem eine Kompatibilitätsoption. Grundsätzlich ist in der neuen Klasse die +gesamte alte Funktionalität enthalten. Ohne die Kompatibilitätsoption ist +jedoch die Benutzerschnittstelle eine andere und auch die Voreinstellungen +stimmen nicht überein. Näheres zu besagter Option ist +\autoref{sec:scrlttr2.lcoFile}, \autoref{tab:lcoFiles} und +\autoref{sec:scrlttr2.fromscrlettr} zu entnehmen. +\end{Explain} + + +\section{Die Optionen} +\label{sec:scrlttr2.options} + +Die Briefklasse \Class{scrlttr2} bedient sich für die Optionen des +\Package{keyval}\IndexPackage{keyval}-Paketes. Dieses ist Bestandteil +des \Package{graphics}-Paketes (siehe \cite{package:graphics}). Da +jenes Paket zur \emph{required}-Sektion von \LaTeX{} gehört, sollte es +Bestandteil jeder \LaTeX-Verteilung sein. Sollte Ihre +\TeX-Distribution zwar \LaTeX{}, nicht jedoch das \Package{graphics}- +und \Package{keyval}-Paket enthalten, beschweren Sie sich bitte beim +zuständigen \TeX-Distributor. Wenn Sie \Class{scrlttr2} verwenden +wollen, wird Ihnen in einem solchen Fall nichts anderes übrig bleiben, +als das \Package{graphics}-Paket zu installieren. + +\begin{Explain} + Das Besondere am \Package{keyval}-Paket ist, dass Optionen Werte erhalten + können. Dadurch werden nicht nur wesentlich weniger Optionen benötigt, + sondern gegebenfalls auch weniger optionale Argumente. Sie werden dies bei + der Beschreibung der \Environment{letter}-Umgebung in + \autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.environment.letter} feststellen. Das + \Package{keyval}-Paket wird von der Klasse automatisch geladen. Sollten Sie + Optionen an das Paket übergeben müssen, so verwenden Sie hierfür bitte die + Anweisung \Macro{PassOptionsToPackage} vor \Macro{documentclass}. +\end{Explain} + + +\subsection{Spätere Optionenwahl} +\label{sec:scrlttr2.options.late} +\BeginIndex{}{Optionen}% + +In diesem Abschnitt wird auf eine Besonderheit der neuen Briefklasse +vorgegriffen. Der Sinn dieser Besonderheit wird eigentlich erst klar, +wenn der Aufbau einer Briefdatei mit mehreren Briefen und eine weitere +Besonderheit von \Class{scrlttr2} verstanden ist. Um jedoch die Anzahl +der Vorwärtsverweise überschaubar zu halten, erschien es sinnvoll, +diese bereits hier zu beschreiben. + +\begin{Declaration} + \Macro{KOMAoptions}\Parameter{Optionenliste} +\end{Declaration} +\BeginIndex{Cmd}{KOMAoptions}% +Eine Besonderheit der \Class{scrlttr2}-Klasse besteht darin, dass +viele Optionen auch noch nach dem Laden der Klasse geändert werden +können. Dazu dient diese Anweisung, der die gewünschten Optionen und +deren Werte als Argument übergeben werden. Mehrere Optionen können +dabei genau wie beim optionalen Argument von \Macro{documentclass} mit +Komma voneinander getrennt aufgelistet werden. Sollte eine Option nur +beim Laden der Klasse, also als optionales Argument von +\Macro{documentclass} erlaubt sein, so wird in der Beschreibung der +jeweiligen Option explizit darauf hingewiesen. + +\begin{Explain} +Falls man in der \PName{Optionenliste} eine Option auf einen +unzulässigen Wert setzt, so stoppt \LaTeX{} mit einer +Fehlermeldung. 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. +\end{Explain} +% +\EndIndex{Cmd}{KOMAoptions}% +\EndIndex{}{Optionen}% + + +\subsection{Optionen für die Kompatibilität} +\label{sec:scrlttr2.compatibilityOptions} +\BeginIndex{}{Kompatibilität} + +Wer seine Briefe 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. + +\begin{Declaration} + \Option{version}=\PName{Wert} +\end{Declaration} +\BeginIndex{Option}{version}% +Bei\ChangedAt{v2.9t}{\Class{scrlttr2}} \Class{scrlttr2} besteht die Wahl, ob +eine Quelldatei so weit 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 der Klasse zu setzen ist. Zu welcher Version +Kompatibilität herzustellen ist, wird dabei über die Option +\Option{version} festgelegt. Voreingestellt ist Version 2.9t. Dasselbe +Ergebnis kann mit +\begin{lstlisting} + version=first +\end{lstlisting} +oder +\begin{lstlisting} + version=2.9 +\end{lstlisting} +oder +\begin{lstlisting} + version=2.9t +\end{lstlisting} +erreicht werden. Bei Angabe einer unbekannten Version als \PName{Wert} wird +eine Warnung ausgegeben und sicherheitshalber \Option{version=}\PValue{first} +angenommen. Mit +\begin{lstlisting} + version=last +\end{lstlisting} +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. + +Die Frage der Kompatiblitä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. +% +\EndIndex{Option}{version}% +% +\EndIndex{}{Kompatibilität} + +\subsection{Optionen für den Satzspiegel} +\label{sec:scrlttr2.typeareaOptions} +\BeginIndex{}{Satzspiegel} + +Die \Class{scrlttr2}-Klasse stützt sich im Gegensatz zur alten +\Class{scrlettr}-Klasse und in Übereinstimmung mit den übrigen +\KOMAScript-Klassen zur Festlegung des Satzspiegels auf das +\Package{typearea}-Paket\IndexPackage{typearea} (siehe +\autoref{cha:typearea}). Das Paket wird von der Klasse automatisch +geladen. Die Steuerung des Paketes übernimmt die Klasse. Die dazu +benötigten Optionen werden in diesem Abschnitt erwähnt. + +\begin{Declaration} + \Option{paper}=\PName{Format} +\end{Declaration} +\BeginIndex{Option}{paper}% +\BeginIndex{}{Papierformat}% +Mit dieser Option wird das Papierformat angegeben. Es werden theoretisch +alle Papierformate unterstützt, die das \Package{typearea}-Paket +kennt. Dabei ist jedoch das Postfix \PValue{paper} bei der Angabe des +Wertes \PName{Format} wegzulassen. Für das Letterformat verwenden Sie +also beispielsweise den Wert \PValue{letter}. Die Formate der ISO A-, +B-, C- und D-Reihe sind mit Kleinbuchstaben zu übergeben, +beispielsweise \PValue{a4} für ISO A4. Siehe hierzu auch +\autoref{sec:typearea.paperTypes}. + +\begin{Explain} + Obwohl jedes von \Package{typearea} einstellbare Format verwendbar + ist, kann es bei der Ausgabe der ersten Briefseite mit manchen + Formaten zu unerwünschten Ergebnissen kommen. Das liegt aber nicht + am Konzept der Klasse, sondern daran, dass derzeit nur + Parametersätze für ISO A4 existieren. Leider gibt es keine + allgemeingültigen Regeln, um die Position von Anschriftfeldern und + Ähnlichem für beliebige Papierformate zu berechnen. Es ist jedoch + möglich, auch für andere Papierformate Parametersätze zu erstellen. + Näheres dazu ist \autoref{sec:scrlttr2.lcoFile} zu entnehmen. +\end{Explain} +% +\EndIndex{Option}{paper}% +\EndIndex{}{Papierformat}% + + +\begin{Declaration} + \Option{BCOR}=\PName{Länge}\\ + \Option{DIV}=\PName{Wert}\\ + \Option{headlines}=\PName{Anzahl} +\end{Declaration} +\BeginIndex{Option}{BCOR}% +\BeginIndex{Option}{DIV}% +\BeginIndex{Option}{headlines}% +Die Optionen für den Divisor, die Bindekorrektur\Index{Bindekorrektur} und die +Anzahl der Kopfzeilen wird direkt in die entsprechenden Optionen für das +\Package{typearea} Paket übersetzt und an dieses Paket weitergeleitet. Werden +die Optionen nicht als Klassenoptionen sondern mit \Macro{KOMAoptions} +gesetzt, so wird die Anweisung \Macro{typearea} aus dem +\Package{typearea}-Paket verwendet. Siehe dazu auch +\autoref{sec:typearea.options}, \autopageref{desc:typearea.macro.typearea}. +% +\EndIndex{Option}{BCOR}% +\EndIndex{Option}{DIV}% +\EndIndex{Option}{headlines}% + + +\begin{Declaration} + \Option{enlargefirstpage} +\end{Declaration} +\BeginIndex{Option}{enlargefirstpage}% +Wie später erklärt wird, fällt die erste Seite eines Briefes immer aus dem +normalen Satzspiegel. \Class{scrlttr2} stellt Mechanismen bereit, um die Höhe +und vertikale Ausrichtung von Kopf und Fuß der ersten Seite unabhängig von den +Folgeseiten bestimmen zu können. Würde dadurch der Fuß der ersten Seite in den +Textbereich\Index{Textbereich} ragen, so wird der Textbereich der ersten Seite +automatisch mit Hilfe von \Macro{enlargethispage}\IndexCmd{enlargethispage} +verkleinert. Soll der Textbereich umgekehrt auch vergrößert werden, falls der +Fuß der ersten Seite dies erlaubt, so kann das mit dieser Option erreicht +werden. Es passt dann bestenfalls etwas mehr Text auf die erste Seite. Siehe +hierzu auch die Erklärung zur Pseudolänge \PLength{firstfootvpos} in +\autoref{sec:scrlttr2.firstFoot}, +\autopageref{desc:scrlttr2.plength.firstfootvpos}. Die Option versteht die +Standardwerte für einfache Schalter, die in +\autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} angegeben sind. Voreingestellt +ist \PValue{false}. +% +\EndIndex{Option}{enlargefirstpage}% + +\begin{table} + \centering + \caption{Standardwerte für einfache Schalter in der Klasse + \Class{scrlttr2}} + \begin{tabular}{ll} + \toprule + Wert & Bedeutung \\ + \midrule + \PValue{true} & aktiviert die Option \\ + \PValue{on} & aktiviert die Option \\ + \PValue{false}& deaktiviert die Option \\ + \PValue{off} & deaktiviert die Option \\ + \bottomrule + \end{tabular} + \label{tab:scrlttr2.simpleSwitchValues} +\end{table} + +% +\EndIndex{}{Satzspiegel}% + + +\subsection{Optionen für das Layout} +\label{sec:scrlttr2.layout} + +In diesem Unterabschnitt werden alle Optionen zusammengefasst, die +sich im weiter gefassten Sinne auf das Layout und nicht auf den +Satzspiegel auswirken. Genau genommen sind natürlich alle +Satzspiegeloptionen (siehe \autoref{sec:scrlttr2.typeareaOptions}) +Layoutoptionen. Teilweise gilt dies auch umgekehrt. + + +\begin{Declaration} + \Option{mpinclude}\\ + \Option{mpexclude} +\end{Declaration} +\BeginIndex{Option}{mpinclude}% +\BeginIndex{Option}{mpexclude}% +Diese beiden Optionen des \Package{typearea}-Paketes sollten nicht +zusammen mit der \Class{scrlttr2}-Klasse verwendet werden, da +insbesondere die erste Briefseite diese Option nicht +berücksichtigt. Um Beschwerden vorzugreifen, wird daher bei Verwendung +dieser Option eine Warnung ausgegeben. Wenn Sie experimentierfreudig +sind, können Sie aber gerne ausprobieren, wie sich insbesondere +\Option{mpinclude} zusammen mit anderen Optionen auf die Klasse +auswirkt. +% +\EndIndex{Option}{mpinclude}% +\EndIndex{Option}{mpexclude}% + + +\begin{Declaration} + \Option{twoside} +\end{Declaration}% +\BeginIndex{Option}{oneside}% +Doppelseitige\Index{doppelseitig} Briefe ergeben in den Augen des +Autors wenig Sinn. Deshalb schaltet die Option \Option{twoside} auch +nur teilweise auf ein doppelseitiges Layout. So wird zwar die +Möglichkeit geschaffen, auf linken und rechten Seiten mit einem +unterschiedlichen Rand\Index{Rand} zu arbeiten, diese Möglichkeit wird +jedoch nicht genutzt. Die Option hat also mehr die Bedeutung: +\emph{Aktiviere die Möglichkeiten eines zweiseitigen Dokuments aber + behalte bis auf weiteres und so weit wie + möglich das einseitige Layout bei.} % +Die Option versteht die Standardwerte für einfache Schalter, die in +\autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} angegeben +sind. Voreingestellt ist \PValue{false}.% +% +\EndIndex{Option}{twoside}% + +Übrigens werden zweispaltige Briefe nicht unterstützt, da absolut kein +Sinn darin gesehen wird. + + +\begin{Declaration} + \Option{cleardoublepage}=\PName{Stil} +\end{Declaration} +\BeginIndex{Option}{cleardoublepage}% +Will man, dass mit der \Macro{cleardoublepage}-Anweisung eingefügte Leerseiten +im Kopf- und Fuß nur eine Seitenzahl oder gar nichts aufweisen, so kann das +mit Hilfe dieser Option eingestellt werden. Es stehen drei verschiedene Stile +zur Verfügung, die in \autoref{tab:scrlttr2.cleardoublepage} aufgeführt sind. +Die Seitenstile werden in \autoref{sec:scrlttr2.pageStyle} näher erläutert. +Voreingestellt ist \PValue{standard}. + +\begin{table} + \caption[{Mögliche Werte für Option \Option{cleardoublepage} bei + \Class{scrlttr2}}]{Mögliche Werte für Option \Option{cleardoublepage} zur + Wahl des Seitenstils von leeren Schaltseiten bei \Class{scrlttr2}} + \label{tab:scrlttr2.cleardoublepage} + \begin{desctabular} + \pventry{empty}{schaltet für die Leerseite auf den + Seitenstil\Index{Seitenstil} \PValue{empty}\IndexPagestyle{empty}}% + \pventry{plain}{schaltet für die Leerseite auf den Seitenstil + \PValue{plain}\IndexPagestyle{plain}} + \pventry{standard}{behält für die Leerseite den aktuellen + Seitenstil bei.} + \end{desctabular} +\end{table} +% +\EndIndex{Option}{cleardoublepage}% + + +\begin{Declaration} + \Option{headsepline}\\ + \Option{footsepline} +\end{Declaration} +\BeginIndex{Option}{headsepline}% +\BeginIndex{Option}{footsepline}% +Mit Hilfe dieser beiden Optionen kann eine +Trennlinie\Index{Trennlinie}\Index{Linie} unter dem Kopf\Index{Seitenkopf} +oder über dem Fuß\Index{Seitenfuß} von Folgeseiten eingeschaltet werden. +Folgeseiten im Sprachgebrauch dieser Anleitung sind alle Briefseiten, +abgesehen von der ersten. Die Optionen \Option{headsepline} und +\Option{footsepline} verstehen die Standardwerte für einfache Schalter, die in +\autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} angegeben sind. Voreingestellt +ist \PValue{false}. Wird eine Option wie in der Deklaration ohne Wert +verwendet, so entspricht dies dem Wert \PValue{true}, die Trennlinie wird also +aktiviert. Bei Verwendung als Option in \Macro{documentclass} wird zusätzlich +die Option \Option{headinclude} beziehungsweise \Option{footinclude} an das +Paket \Package{typearea} übergeben (siehe \autoref{sec:typearea.options}, +\autopageref{desc:typearea.option.headinclude}). +% +\EndIndex{Option}{headsepline}% +\EndIndex{Option}{footsepline}% + + +\begin{Declaration} + \Option{pagenumber}=\PName{Position} +\end{Declaration} +\BeginIndex{Option}{pagenumber}% +Mit Hilfe dieser Option kann bestimmt werden, ob und wo eine +Seitenzahl auf Folgeseiten gesetzt werden soll. +Folgeseiten\Index{Folgeseite} sind alle Briefseiten ohne +Briefkopf\Index{Briefkopf}. Die Option wirkt sich auf die +Seitenstile\Index{Seitenstil} \PValue{headings} und \PValue{plain} +aus. Sie beeinflusst außerdem die Voreinstellung der Seitenstile des +\Package{scrpage2}-Paketes, soweit sie vor dem Laden dieses Paketes +gesetzt wird (siehe \autoref{cha:scrpage}). Es gibt Werte, die sich +nur auf die horizontale Position auswirken, Werte, die nur die +vertikale Position beeinflussen, und Werte, die zugleich die vertikale +und die horizontale Position festlegen. Mögliche Werte sind +\autoref{tab:scrlttr2.pagenumber} zu entnehmen. Voreingestellt ist +\PValue{botcenter}. + +\begin{table} + \caption[{Mögliche Werte für Option \Option{pagenumber} bei + \Class{scrlttr2}}]{Mögliche Werte für Option \Option{pagenumber} zur + Positionierung der Paginierung bei den Seitenstilen \PValue{headings} + und \PValue{plain} von \Class{scrlttr2}} + \label{tab:scrlttr2.pagenumber} + \begin{desctabular} + \entry{\PValue{bot}, \PValue{foot}}{% + Seitenzahl im Fuß ohne Änderung der horizontalen Position}% + \entry{\PValue{botcenter}, \PValue{botcentered}, \PValue{botmittle}, + \PValue{footcenter}, \PValue{footcentered}, \PValue{footmiddle}}{% + Seitenzahl zentriert im Fuß}% + \entry{\PValue{botleft}, \PValue{footleft}}{% + Seitenzahl links im Fuß}% + \entry{\PValue{botright}, \PValue{footright}}{ Seitenzahl rechts im Fuß}% + \entry{\PValue{center}, \PValue{centered}, \PValue{middle}}{% + Seitenzahl zentriert ohne Änderung der vertikalen Position}% + \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% + keine Seitenzahl}% + \entry{\PValue{head}, \PValue{top}}{% + Seitenzahl im Kopf ohne Änderung der horizontalen Position}% + \entry{\PValue{headcenter}, \PValue{headcentered}, \PValue{headmiddle}, + \PValue{topcenter}, \PValue{topcentered}, \PValue{topmiddle}}{% + Seitenzahl zentriert im Kopf}% + \entry{\PValue{headleft}, \PValue{topleft}}{% + Seitenzahl links im Kopf}% + \entry{\PValue{headright}, \PValue{topright}}{% + Seitenzahl rechts im Kopf}% + \entry{\PValue{left}}{% + Seitenzahl links ohne Änderung der vertikalen Position}% + \entry{\PValue{right}}{% + Seitenzahl rechts ohne Änderung der vertikalen Position}% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{pagenumber}% + + +\begin{Explain}% +\begin{Declaration} + \Option{parskip}=\PName{Wert} +\end{Declaration}% +\BeginIndex{Option}{parskip}% + Gerade bei Briefen erlebt man häufig, dass diese nicht mit Einrückung der + ersten Zeile eines Absatzes\Index{Absatz}\Index{Absatzeinzug}, sondern mit + Abstand\Index{Absatzabstand} zwischen den Absätzen gesetzt werden. Hier + spielt die Tradition eine große Rolle. Offenbar fiel es früher der + durchschnittlichen Sekretärin leichter, auf der Schreibmaschine zweimal den + Hebel zur Zeilenschaltung zu betätigen als eine Einrückung mittels gut + gesetztem Tabulator oder Leertaste zu setzen. Da korrekter + Blocksatz\Index{Blocksatz} mit einer Schreibmaschine kaum möglich war, + wurden und werden Briefe auch heute noch häufig im Flattersatz gesetzt. + + Typografen wie Jan Tschichold vertreten jedoch die Auf"|fassung, dass für + Briefe, die mit den Mitteln des modernen Schriftsatzes erstellt werden, + diese Mittel auch ebenso gut genutzt werden sollten wie für andere + Dokumente. So gesehen sollten also auch Briefe mit Absatzeinrückung und im + Blocksatz erstellt werden. +\end{Explain} +\Class{scrlttr2} bietet nicht nur die Möglichkeit, Absätze durch Einrückung +der ersten Zeile zu kennzeichnen, sondern alternativ einen Abstand zwischen +den Absätzen zu verwenden. Dabei kann zwischen einer halben und einer ganzen +Zeile Abstand gewählt werden. Zur Erleichterung der Erkennung des Absatzendes +kann bei der Wahl von Absatzabstand die erlaubte Füllung der letzten Zeile +eines Absatzes eingestellt werden. All diese Möglichkeiten werden über die +Werte der Option \Option{parskip} gesteuert, deren mögliche Werte in +\autoref{tab:scrlttr2.parskip} zu finden sind. Voreingestellt ist +\PValue{false}. + +\begin{table} + \caption[{Mögliche Werte für Option \Option{parskip} bei + \Class{scrlttr2}}]{Mögliche Werte für Option \Option{parskip} zur Wahl der + Absatzauszeichnung bei \Class{scrlttr2}} + \label{tab:scrlttr2.parskip} + \begin{desctabular} + \entry{\PValue{false}, \PValue{off}}{% + Absatzeinzug statt Absatzabstand; die letzte Zeile eines Absatzes darf + beliebig gefüllt sein}% + \entry{\PValue{full}, \PValue{on}, \PValue{true}}{% + eine Zeile Abstand zwischen Absätzen; in der letzten Zeile eines + Absatzes muss mindestens 1\Unit{em} Platz frei bleiben}% + \pventry{full*}{eine Zeile Abstand zwischen Absätzen; in der letzten Zeile + eines Absatzes muss mindestens ein Viertel frei bleiben}% + \pventry{full+}{eine Zeile Abstand zwischen Absätzen; in der letzten Zeile + eines Absatzes muss mindestens ein Drittel frei bleiben}% + \pventry{full-}{eine Zeile Abstand zwischen Absätzen; die letzte Zeile + eines Absatzes darf beliebig gefüllt sein}% + \pventry{half}{eine halbe Zeile Abstand zwischen Absätzen; in der letzten + Zeile eines Absatzes muss mindestens 1\Unit{em} Platz frei bleiben}% + \pventry{half*}{eine halbe Zeile Abstand zwischen Absätzen; in der letzten + Zeile eines Absatzes muss mindestens ein Viertel frei bleiben}% + \pventry{half+}{eine halbe Zeile Abstand zwischen Absätzen; in der letzten + Zeile eines Absatzes muss mindestens ein Drittel frei bleiben}% + \pventry{half-}{eine halbe Zeile Abstand zwischen Absätzen; die letzte + Zeile eines Absatzes darf beliebig gefüllt sein}% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{parskip}% + + + +\subsection{Optionen für die Schriftwahl} +\label{sec:scrlttr2.fontOptions} + +Optionen für die Schriftwahl sind Optionen, die sich auf die Größe der +Grundschrift oder der Schrift einzelner Teile auswirken. + + +\begin{Declaration} + \Option{fontsize}=\PName{Größe} +\end{Declaration} +\BeginIndex{Option}{fontsize}% +Während bei den Hauptklassen die +Schriftgröße\Index{Schriftgroesse=Schriftgröße} des Dokuments mit +\Option{10pt}, \Option{11pt} usw. gewählt wird, gibt man bei +\Class{scrlttr2} die gewünschte \PName{Größe} als Wert dieser Option +an. Die Funktionalität ist aber ansonsten gleich. Diese Option kann +nur bei \Macro{documentclass}, nicht jedoch bei \Macro{KOMAoptions} +angegeben werden. Voreingestellt ist \PValue{12pt}. +% +\EndIndex{Option}{fontsize}% + + +\subsection{Optionen für Briefkopf und Anschrift} +\label{sec:scrlttr2.headoptions} +\BeginIndex{}{Briefkopf}\BeginIndex{}{Anschrift}% + +Die \Class{scrlttr2}-Klasse bietet eine ganze Reihe von Erweiterungen +für die Gestaltung des Briefkopfes. Dadurch wird das Paket +\Package{briefkopf}, das immer ohne Support war, obsolet. Darüber +hinaus existieren gegenüber der Standardbriefklasse Erweiterungen zur +Gestaltung der Anschrift. +% +\iftrue +% Umbruchfülltext +Diese Fähigkeiten waren jedoch weitgehend +schon in der obsoleten Klasse \Class{scrlettr} zu finden. +% +\fi + +\begin{Declaration} + \Option{fromalign} +\end{Declaration} +\BeginIndex{Option}{fromalign}% +Diese Option bestimmt, wo der Absender\Index{Absender} im Briefkopf +der ersten Seite platziert werden soll. Gleichzeitig dient diese +Option als zentraler Schalter, um die Erweiterungen der +Briefkopfgestaltung überhaupt zu aktivieren oder zu deaktivieren. Sind +die Erweiterungen deaktiviert, so bleiben diverse andere Optionen ohne +Wirkung. Dies ist bei den jeweiligen Optionen angegeben. Mögliche +Werte für \Option{fromalign} sind \autoref{tab:scrlttr2.fromalign} zu +entnehmen. Voreingestellt ist der Wert \PValue{left}. + +\begin{table} + \caption[{Mögliche Werte für Option \Option{fromalign} bei + \Class{scrlttr2}}]{Mögliche Werte für Option \Option{fromalign} zur + Platzierung des Absenders im Briefkopf von \Class{scrlttr2}} + \label{tab:scrlttr2.fromalign} + \begin{desctabular} + \entry{\PValue{center}, \PValue{centered}, \PValue{middle}}{% + Absender wird zentriert; ein Logo wird gegebenenfalls am Anfang der + erweiterten Absenderangabe platziert; die Erweiterungen der + Briefkopfgestaltung werden aktiviert.}% + \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% + die Standardgestalt für den Absender wird verwendet; die Erweiterungen + der Briefkopfgestaltung werden deaktiviert.}% + \entry{\PValue{left}}{% + Absender steht linksbündig; ein Logo wird gegebenenfalls rechtsbündig + platziert; die Erweiterungen der Briefkopfgestaltung werden aktiviert.}% + \entry{\PValue{right}}{% + Absender steht rechtsbündig; ein Logo wird gegebenenfalls linksbündig + platziert; die Erweiterungen der Briefkopfgestaltung werden aktiviert.}% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{fromalign}% + + +\begin{Declaration} + \Option{fromrule} +\end{Declaration} +\BeginIndex{Option}{fromrule}% +Diese Option gehört zu den Erweiterungen der Briefkopfgestaltung (siehe Option +\Option{fromalign} am Anfang dieses Abschnitts). Mit ihrer Hilfe kann eine +Linie\Index{Linie}\Index{Absender} innerhalb des Absenders platziert werden. +Die Option versteht die Werte aus \autoref{tab:scrlttr2.fromrule}. +Voreingestellt ist der Wert \PValue{false}. Es können nicht gleichzeitig +mehrere Linien aktiviert werden. Bezüglich der Länge der Linie siehe +\autoref{sec:scrlttr2.other}, +\autopageref{desc:scrlttr2.plength.fromrulewidth}). + +\begin{table} + \caption[{Mögliche Werte für Option \Option{fromrule} bei + \Class{scrlttr2}}]{Mögliche Werte für Option \Option{fromrule} zur + Platzierung einer Linie im Absender von \Class{scrlttr2}} + \label{tab:scrlttr2.fromrule} + \begin{desctabular} + \entry{\PValue{afteraddress}, \PValue{below}, \PValue{on}, \PValue{true}, + \PValue{yes}}{% + Linie unterhalb des kompletten Absenders}% + \entry{\PValue{aftername}}{% + Linie direkt unter dem Namen des Absenders}% + \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% + keine Linie}% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{fromrule}% + + +\begin{Declaration} + \Option{fromphone} +\end{Declaration} +\BeginIndex{Option}{fromphone}% +Diese Option gehört zu den Erweiterungen der Briefkopfgestaltung +(siehe Option \Option{fromalign} am Anfang dieses Abschnitts). Mit +ihrer Hilfe kann bestimmt werden, ob die Telefonnummer\Index{Telefon} +im Absender\Index{Absender} gesetzt werden soll. Die Option versteht +die Standardwerte für einfache Schalter, die in +\autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} angegeben sind. +Voreingestellt ist \PValue{false}. +% +\EndIndex{Option}{fromphone}% + + +\begin{Declaration} + \Option{fromfax} +\end{Declaration} +\BeginIndex{Option}{fromfax}% +Diese Option gehört zu den Erweiterungen der Briefkopfgestaltung +(siehe Option \Option{fromalign} am Anfang dieses Abschnitts). Mit +ihrer Hilfe kann bestimmt werden, ob die Telefaxnummer\Index{Fax} im +Absender\Index{Absender} gesetzt werden soll. Die Option versteht die +Standardwerte für einfache Schalter, die in +\autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} angegeben sind. +Voreingestellt ist \PValue{false}. +% +\EndIndex{Option}{fromfax}% + + +\begin{Declaration} + \Option{fromemail} +\end{Declaration} +\BeginIndex{Option}{fromemail}% +Diese Option gehört zu den Erweiterungen der Briefkopfgestaltung +(siehe Option \Option{fromalign} am Anfang dieses Abschnitts). Mit +ihrer Hilfe kann bestimmt werden, ob die E-Mail-Adresse\Index{E-Mail} +im Absender\Index{Absender} gesetzt werden soll. Die Option versteht +die Standardwerte für einfache Schalter, die in +\autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} angegeben sind. +Voreingestellt ist \PValue{false}. +% +\EndIndex{Option}{fromemail}% + + +\begin{Declaration} + \Option{fromurl} +\end{Declaration} +\BeginIndex{Option}{fromurl}% +Diese Option gehört zu den Erweiterungen der Briefkopfgestaltung +(siehe Option \Option{fromalign} am Anfang dieses Abschnitts). Mit +ihrer Hilfe kann bestimmt werden, ob die +URL\Index{URL}\Index{WWW}\Index{Homepage} im Absender\Index{Absender} +gesetzt werden soll. Die Option versteht die Standardwerte für +einfache Schalter, die in \autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} +angegeben sind. Voreingestellt ist \PValue{false}. +% +\EndIndex{Option}{fromurl}% + + +\begin{Declaration} + \Option{fromlogo} +\end{Declaration} +\BeginIndex{Option}{fromlogo}% +Diese Option gehört zu den Erweiterungen der Briefkopfgestaltung +(siehe Option \Option{fromalign} am Anfang dieses Abschnitts). Mit +ihrer Hilfe kann bestimmt werden, ob das Logo\Index{Logo} im Briefkopf +gesetzt werden soll. Die Option versteht die Standardwerte für +einfache Schalter, die in \autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} +angegeben sind. Bezüglich der Platzierung des Logos siehe ebenfalls +die Erklärung zu Option \Option{fromalign} am Anfang dieses +Abschnitts. Voreingestellt ist \PValue{false}. +% +\EndIndex{Option}{fromlogo}% + + +\begin{Declaration} + \Option{addrfield} +\end{Declaration} +\BeginIndex{Option}{addrfield}% +Mit dieser Option kann gewählt werden, ob ein Anschriftfeld gesetzt +werden soll oder nicht. Voreingestellt ist die Verwendung eines +Anschriftfeldes. Die Option versteht die Standardwerte für einfache +Schalter, die in \autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} +angegeben sind. Voreingestellt ist \PValue{true}. +% +\EndIndex{Option}{addrfield}% + + +\begin{Declaration} + \Option{backaddress} +\end{Declaration} +\BeginIndex{Option}{backaddress}% +Mit dieser Option kann gewählt werden, ob eine +Rücksendeadresse\Index{Rücksendeadresse} für Fensterbriefumschläge im +Anschriftfeld gesetzt werden soll oder nicht. Voreingestellt ist die +Verwendung einer Rücksendeadresse. Wird kein Anschriftfeld gesetzt +(siehe Option \Option{addrfield}), so wird auch keine Rücksendeadresse +gesetzt. Die Option versteht die Standardwerte für einfache Schalter, +die in \autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} angegeben sind. +Voreingestellt ist \PValue{true}. +% +\EndIndex{Option}{backaddress}% + + +\begin{Declaration} + \Option{subject} +\end{Declaration} +\BeginIndex{Option}{subject}% +Mit dieser Option kann zum einen gewählt werden, ob der Betreff\Index{Betreff} +mit einem Titel versehen werden soll oder nicht. Der Titel stimmt mit der +Bezeichnung der Variablen \PName{subject} überein (siehe +\autoref{tab:scrlttr2.subjectTerm}, \autopageref{tab:scrlttr2.subjectTerm}). +Zum anderen kann über diese Option gewählt werden, ob der Betreff vor oder +nach der Anrede gesetzt werden soll. Mögliche Werte für diese Option sind +\autoref{tab:scrlttr2.subject} zu entnehmen. Voreingestellt sind +\PValue{beforeopening} und \PValue{untitled}. +\begin{table} + \caption[{Mögliche Werte für Option \Option{subject} bei + \Class{scrlttr2}}]{Mögliche Werte für Option \Option{subject} zur + Platzierung eines Betreffs bei \Class{scrlttr2}} + \label{tab:scrlttr2.subject} + \begin{desctabular} + \pventry{afteropening}{Betreff nach der Anrede setzen}% + \pventry{beforeopening}{Betreff vor der Anrede setzen}% + \pventry{titled}{Betreff mit Titel versehen}% + \pventry{untitled}{Betreff nicht mit Titel versehen}% + \end{desctabular} +\end{table} + +% +\EndIndex{Option}{subject}% + + +\begin{Declaration} + \Option{locfield} +\end{Declaration} +\BeginIndex{Option}{locfield}% +Neben dem Anschriftfeld setzt \Class{scrlttr2} noch ein Feld mit +erweiterter Absenderangabe. Dieses Feld kann beispielsweise für +Bankverbindungen und Ähnliches verwendet werden. Je nach Einstellung +der Option \Option{fromalign} wird es außerdem für das Logo des +Absenders mit verwendet. Die Breite dieses Feldes kann beispielsweise +in einer \File{lco}-Datei (siehe \autoref{sec:scrlttr2.lcoFile}) gesetzt +werden. Wird dort die Breite 0 gesetzt, so kann über die Option +\Option{locfield} zwischen zwei unterschiedlichen Voreinstellungen für +die Breite dieses Feldes gewählt werden. Siehe hierzu auch die +Erklärungen zur Pseudolänge \Variable{locwidth} in +\autoref{sec:scrlttr2.locationField}, +\autopageref{desc:scrlttr2.plength.locwidth}. Mögliche Werte für die Option +sind \autoref{tab:scrlttr2.locfield} zu entnehmen. Voreingestellt ist +\PValue{narrow}. + +\begin{table} + \caption[{Mögliche Werte für Option \Option{locfield} bei + \Class{scrlttr2}}]{Mögliche Werte für Option \Option{locfield} zur + Wahl der Breite des Feldes für die Absenderergänzung bei \Class{scrlttr2}} + \label{tab:scrlttr2.locfield} + \begin{desctabular} + \pventry{narrow}{schmales Feld für Absenderergänzungen}% + \pventry{wide}{breites Feld für Absenderergänzungen}% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{locfield}% + + +\begin{Declaration} + \Option{foldmarks} +\end{Declaration} +\BeginIndex{Option}{foldmarks}% +Mit dieser Option können Faltmarken\Index{Faltmarken}\Index{Falzmarken} für +Seitenhalbierung und Seitendrittelung aktiviert oder deaktiviert werden. Die +genaue Position der Faltmarken für die Seitendrittelung ist von den +Einstellungen des Anwenders beziehungsweise der \File{lco}-Dateien (siehe +\autoref{sec:scrlttr2.lcoFile}) abhängig. Es muss sich dabei nicht zwingend um +eine echte Drittelung handeln. Die Option versteht die Standardwerte für +einfache Schalter, die in \autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} angegeben sind. Voreingestellt +ist mit \PValue{true} das Setzen der Faltmarken. +% +\EndIndex{Option}{foldmarks}% + + +\begin{Declaration} + \Option{numericaldate} +\end{Declaration} +\BeginIndex{Option}{numericaldate}% +Mit dieser Option kann zwischen der sprachabhängigen +Standarddarstellung des Datums\Index{Datum}\Index{Geschäftszeile} und +einem kurzen, rein nummerischen Datum umgeschaltet werden. Die +Standarddarstellung wird nicht von \KOMAScript{} bereitgestellt. Sie +kann wahlweise von einem Paket wie +\Package{german}\IndexPackage{german}, +\Package{babel}\IndexPackage{babel} oder auch +\Package{isodate}\IndexPackage{isodate} stammen. Das kurze +nummerische Datum wird hingegen von \Class{scrlttr2} selbst erzeugt. +Die Option versteht die Standardwerte für einfache Schalter, die in +\autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} angegeben sind. +Voreingestellt ist mit \PValue{false} die Verwendung der +Standarddarstellung. Dies ist übrigens eine Änderung gegenüber der +obsoleten Klasse \Class{scrlettr}, bei der es die nun nicht mehr +unterstützte Option \Option{orgdate} mit gegenteiliger Bedeutung gab. +% +\EndIndex{Option}{numericaldate}% + + +\begin{Declaration} + \Option{refline} +\end{Declaration} +\BeginIndex{Option}{refline}% +Bei \Class{scrlttr2} können Kopf, Fuß, Anschrift und das Feld mit der +Absenderergänzung links und rechts aus dem normalen Satzspiegel herausragen. +Über diese Option kann nun gewählt werden, ob dies auch für die +Geschäftszeile\Index{Geschäftszeile} gelten soll. Die Geschäftszeile enthält +normalerweise zumindest das Datum, kann aber auch weitere Angaben aufnehmen. +Mögliche Werte für diese Option sind \autoref{tab:scrlttr2.refline} zu +entnehmen. Voreingestellt ist \PValue{narrow}. + +\begin{table} + \caption[{Mögliche Werte für Option \Option{refline} bei + \Class{scrlttr2}}]{Mögliche Werte für Option \Option{refline} zur Wahl + der Breite der Geschäftszeile bei \Class{scrlttr2}} + \label{tab:scrlttr2.refline} + \begin{desctabular} + \pventry{narrow}{Geschäftszeile hält den Satzspiegel ein}% + \pventry{wide}{Geschäftszeile richtet sich nach Anschrift und + Absenderergänzung}% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{refline}% + +% +\EndIndex{}{Briefkopf}\EndIndex{}{Anschrift} + + +\subsection{Optionen für die Formatierung} +\label{sec:scrlttr2.formatingOptions} + +Optionen für die Formatierung sind solche, die Form oder Formatierung einer +Ausgabe beeinflussen und nicht in einen anderen Abschnitt eingeordnet werden +können. Es sind also sozusagen die \emph{sonstigen Optionen}. + + +\begin{Declaration} + \Option{draft} +\end{Declaration} +\BeginIndex{Option}{draft}% +Diese Option schaltet zwischen einem fertigen +Dokument\Index{Endfassung} und einem Dokument im +Entwurfsstadium\Index{Entwurf} um. Insbesondere werden beim +Einschalten der Option \Option{draft} kleine schwarze Kästchen +aktiviert, die im Falle von überlangen Zeilen am Zeilenende ausgegeben +werden. Diese Kästchen erleichtern dem ungeübten Auge, Absätze +ausfindig zu machen, die manueller Nachbearbeitung bedürfen. +Demgegenüber erscheinen bei abgeschalteter \Option{draft}-Option keine +solche Kästchen. Die Option versteht die Standardwerte für einfache +Schalter, die in \autoref{tab:scrlttr2.simpleSwitchValues}, +\autopageref{tab:scrlttr2.simpleSwitchValues} +angegeben sind. Voreingestellt ist wie üblich \PValue{false}. +% +\iffalse +% Umbruchbedarfstext +Ich empfehle jedoch dringend, beim Entwurf eines Briefes wie beim Entwurf +jedes Dokuments den Draft-Modus zu wählen, die Option \Option{draft} also zu +setzen. +% +\fi +% +\EndIndex{Option}{draft}% + + +\subsection{Die \emph{Letter-Class-Option}-Dateien} +\label{sec:scrlttr2.lcoFile} + +\BeginIndex{}{lco=\File{lco}}\BeginIndex{}{Letter-Class-Option}% +Normalerweise wird man Einstellungen wie den Abstand des Adressfeldes +von der oberen Papierkante nicht in jedem Brief neu wählen. +Stattdessen wird man einen ganzen Satz von Parametern für bestimmte +Gelegenheiten immer wieder verwenden. Ganz Ähnliches gilt für die +verwendeten Briefköpfe und den Fußbereich der ersten Seite. Es ist +deshalb sicher sinnvoll, diese Einstellungen in einer eigenen Datei zu +speichern. Die Briefklasse \Class{scrlttr2} bietet hierfür die +\File{lco}-Dateien an. Die Endung \File{lco} ist eine Abkürzung für +\emph{\emph{l}etter \emph{c}lass \emph{o}ption}, also +Briefklassenoption. + +In \File{lco}-Dateien können alle Anweisungen verwendet werden, die +auch an der Stelle im Dokument verwendet werden könnten, an der die +\File{lco}-Datei geladen wird. Außerdem könnten interne Anweisungen +verwendet werden, die für Paketautoren freigegeben sind. Bei +\Class{scrlttr2} sind dies inbesondere die Anweisungen +\Macro{@newplength}\IndexCmd{@newplength}, +\Macro{@setplength}\IndexCmd{@setplength} und +\Macro{@addtoplength}\IndexCmd{@addtoplength} (siehe +\autoref{sec:scrlttr2.pseudoLength}). + +\KOMAScript{} liegen bereits einige \File{lco}-Dateien bei. Die +Dateien \File{DIN.lco}, \File{DINmtext.lco}, \File{SNleft.lco} und +\File{SN.lco} dienen dazu \Class{scrlttr2} an verschiedene +Normen\Index{Norm} anzupassen. Sie können sehr gut als Vorlage für +eigene Parametersätze verwendet werden. Die Datei \File{KOMAold.lco} +dient hingegen dazu, die Kompatibilität zu \Class{scrlettr}, der alten +Briefklasse, zu verbessern. Da hierbei auch auf Anweisungen +zurückgegriffen wird, die nicht für Paketautoren freigegeben sind, +sollte man sie nicht als Vorlage für eigene \File{lco}-Dateien +verwenden. Eine Liste aller vordefinierten \File{lco}-Dateien ist in +\autoref{tab:lcoFiles}, \autopageref{tab:lcoFiles} zu finden. + +\begin{Explain} + Wenn Sie einen Parametersatz für eine Briefnorm, die bisher nicht von + \KOMAScript{} unterstützt wird, erstellt haben, so sind Sie ausdrücklich + gebeten, diesen Parametersatz an die Supportaddresse von \KOMAScript{} zu + schicken. Bitte geben Sie dabei auch die Erlaubnis zur Weiterverbreitung + unter den Lizenzbedingungen von \KOMAScript{} (siehe dazu die Datei + \File{LEGALDE.TXT} im \KOMAScript-Paket). Wenn Sie zwar über die notwendigen + Maße aus einer bisher nicht unterstützen Briefnorm verfügen, sich jedoch + nicht in der Lage sehen, selbst eine passende \File{lco}-Datei zu erstellen, + so können Sie sich ebenfalls mit dem \KOMAScript-Autor, Markus Kohm, in + Verbindung setzen. Beispiele für teilweise sehr komplexe \File{lco}-Dateien + finden sich unter anderem unter \cite{homepage} und in + \cite{DANTE:TK0203:MJK}. +\end{Explain} + +\begin{Declaration} + \Macro{LoadLetterOption}\Parameter{Name} +\end{Declaration} +\BeginIndex{Cmd}{LoadLetterOption}% +Normalerweise werden \File{lco}-Dateien direkt über +\Macro{documentclass} geladen. Dazu gibt man den Namen der +\File{lco}-Datei ohne die Endung als Option\Index{Optionen} an. Das Laden der +\File{lco}-Datei erfolgt dann direkt nach der Klasse. + +Es ist jedoch auch möglich, eine \File{lco}-Datei zu einem späteren +Zeitpunkt und sogar innerhalb einer anderen \File{lco}-Datei zu laden. +Dazu dient die Anweisung \Macro{LoadLetterOption}. Der \PName{Name} +der \File{lco}-Datei wird dieser ebenfalls ohne Endung als Parameter +übergeben. +\begin{Example} + Sie erstellen ein Dokument, in dem mehrere Briefe enthalten + sind. Die Mehrzahl der Briefe soll nach DIN erstellt werden. Also + beginnen Sie: +\begin{lstlisting} + \documentclass{scrlttr2} +\end{lstlisting} + Allerdings soll bei einem Brief stattdessen die Variante + \File{DINmtext} verwendet werden. Bei dieser steht das Adressfeld + weiter oben, damit mehr Text auf die erste Seite passt. Dafür ist + die Faltung so angepasst, dass das Adressfeld bei + DIN~C6/5-Umschlägen trotzdem in das Adressfenster passt. Sie + erreichen das so: +\begin{lstlisting} + \begin{letter}{Markus Kohm\\ + Fichtenstraße 63\\68535 Edingen-Neckarhausen} + \LoadLetterOption{DINmtext} + \opening{Hallo,} +\end{lstlisting} + Da der Aufbau der ersten Seite erst mit \Macro{opening}\IndexCmd{opening} + wirklich beginnt, genügt es, wenn die \File{lco}-Datei vor \Macro{opening} + geladen wird. Dies muss also inbesondere nicht vor + \Macro{begin}\PParameter{letter} erfolgen. Die Änderungen durch das Laden + der \File{lco}-Datei sind dann auch lokal zu dem entsprechenden Brief. +\end{Example} + +\begin{Explain} +Wird eine \File{lco}-Datei über \Macro{documentclass} geladen, so +darf sie übrigens trotzdem den Namen einer Option haben. Voraussetzung +ist jedoch, dass es sich nicht um eine Option handelt, die einen Wert +erwartet. Es wäre jedoch möglich, einer \File{lco}-Datei etwa den +Namen \File{fromalign=left.lco} zu geben. Diese würde dann immer geladen, +wenn als Option bei \Macro{documentclass} die Option +\Option{fromalign} auf den Wert \PValue{left} gesetzt +würde. Zugegeben, dies ist eher von akademischem Interesse. Natürlich +können Sie diesen Automatismus nur nutzen, wenn das von Ihnen +verwendete Betriebs- und Dateisystem derartige Dateinamen erlaubt. Ist +das nicht der Fall, müssen Sie einen anderen Datei\-namen wählen und +gegebenenfalls die entsprechende Option zusätzlich angeben. +\end{Explain} + +\begin{Example} + Sie wollen nicht immer wieder ihre Absenderangaben neu + eingeben. Deshalb erstellen Sie eine \File{lco}-Datei, die alle + Angaben enthält, beispielsweise: +\begin{lstlisting} + \ProvidesFile{mkohm.lco} + [2002/02/25 letter class option] + \setkomavar{fromname}{Markus Kohm} + \setkomavar{fromaddress}{Fichtenstra\ss e 63\\ + 68535 Edingen-Neckarhausen} +\end{lstlisting} + Die dabei verwendete Anweisung \Macro{setkomavar} und das Prinzip der + Variablen wird in \autoref{sec:scrlttr2.variables}, + \autopageref{desc:scrlttr2.macro.setkomavar} genauer erläutert werden. Für + das Beispiel hier ist die genaue Funktion der Anweisung unerheblich. Von + Bedeutung ist lediglich, was man mit \File{lco}-Dateien machen kann, + weniger, wie dies konkret zu erreichen ist. Beachten Sie jedoch, dass hier + für "`ß"' die \TeX-Schreibweise \Macro{ss} verwendet wurde. Dies hat seinen + Grund darin, dass unmittelbar nach \Macro{documentclass} weder ein Paket für + die Eingabecodierung, beispielsweise für Unix mit + \Macro{usepackage}\PValue{[latin1]}\PParameter{inputenc} oder für Windows + mit \Macro{usepackage}\PValue{[ansinew]}\PParameter{inputenc}, noch ein + Paket zur Sprachumschaltung, beispielsweise für die neue deutsche + Rechtschreibung mit \Macro{usepackage}\PParameter{ngerman}, geladen ist. + + Wenn Sie allerdings immer mit derselben Eingabecodierung arbeiten, + können Sie auch diese in Ihre Datei mit aufnehmen. Das Ganze sähe + dann beispielsweise so aus: +\begin{lstlisting} + \ProvidesFile{mkohm.lco} + [2002/02/25 letter class option] + \RequirePackage[latin1]{inputenc} + \setkomavar{fromname}{Markus Kohm} + \setkomavar{fromaddress}{Fichtenstraße 63\\ + 68535 Edingen-Neckarhausen} +\end{lstlisting} + Dieses Vorgehen hat aber den entscheidenden Nachteil, dass die + \File{lco}-Datei \File{mkohm} dann nicht mehr innerhalb des Dokuments + geladen werden kann. Wenn Sie also auch Briefe verschiedener Absender in + einer Datei haben wollen, sollten Sie davon absehen, in den entsprechenden + \File{lco}-Dateien Pakete zu laden. + + Nehmen wir weiter an, dass ich Briefe grundsätzlich mit der Vorgabe + \File{KOMAold} schreibe. Dann erweitere ich die Datei + \File{mkohm.lco} noch um die Zeile: +\begin{lstlisting} + \LoadLetterOption{KOMAold} +\end{lstlisting} + + Wie dem auch sei, stellen Sie zukünftig meine Absenderdaten mit +\begin{lstlisting} + \documentclass[mkohm]{scrlttr2} +\end{lstlisting} + ein. +\end{Example} + +In \autoref{tab:lcoFiles}, \autopageref{tab:lcoFiles} finden Sie übrigens eine +Liste aller vordefinierten \File{lco}-Dateien. Falls Sie einen Drucker +verwenden, der einen sehr großen unbedruckbaren Rand links oder rechts +besitzt, werden Sie mit der Option \Option{SN}\IndexOption{SN} möglicherweise +Probleme bekommen. Da die Schweizer Norm SN~101\,130 vorsieht, dass das +Adressfeld 8\,mm vom rechten Papierrand gesetzt wird, werden bei Schweizer +Briefen auch die Kopfzeile und die Absenderergänzung mit einem entsprechend +geringen Abstand zum Papierrand gesetzt. Dies betrifft ebenfalls die +Geschäftszeile bei der Einstellung \Option{refline}\PValue{=wide} (siehe +\autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.refline}). Sollten Sie damit ein Problem +haben, erstellen Sie sich eine eigene \File{lco}-Datei, die zunächst +\Option{SN} lädt und in der \PLength{toaddrhpos} (siehe +\autoref{sec:scrlttr2.addressee}, +\autopageref{desc:scrlttr2.plength.toaddrvpos}) dann auf einen kleineren Wert +gesetzt wird. Verringern Sie dann außerdem \PLength{toaddrwidth} +entsprechend. +% +\EndIndex{Cmd}{LoadLetterOption}% + +\begin{table} + \centering + \caption{Vordefinierte \File{lco}-Dateien} + \begin{tabular}{lp{.7\textwidth}} + \toprule + \File{lco}-Name & Bedeutung und Besonderheiten \\ + \midrule + \Option{DIN}\IndexOption[indexmain]{DIN}% + & Parametersatz für Briefe im Format A4 nach + DIN~676; geeignet für Fensterbriefumschläge in den + Formaten C4, C5, C6 und C6/5 (C6 + lang)\\[.5\normalbaselineskip] + \Option{DINmtext}\IndexOption[indexmain]{DINmtext}% + & Parametersatz für Briefe im Format A4 nach DIN~676, + wobei die Alternative für mehr Text auf der ersten + Briefseite verwendet wird; nur geeignet für + Fensterbriefumschläge in den Formaten C6 und C6/5 + (C6 lang)\\[.5\normalbaselineskip] + \Option{KOMAold}\IndexOption[indexmain]{KOMAold}% + & Parametersatz für Briefe im Format A4 mit + Annäherung an das Aussehen von Briefen der + obsoleten Briefklasse \Class{scrlettr}; geeignet + für Fensterbriefumschläge in den Formaten C4, C5, + C6 und C6/5 (C6 lang); es werden einige + zusätzliche Anweisungen zur Verbesserung der + Kompatibilität mit der obsoleten + Briefklasse \Class{scrlettr}\IndexClass{scrlettr} + definiert; \Class{scrlttr2} verhält sich mit + dieser \File{lco}-Datei möglicherweise nicht genau + wie bei Verwendung der übrigen + \File{lco}-Dateien\\[.5\normalbaselineskip] + \Option{SN}\IndexOption[indexmain]{SN}% + & Parametersatz für Schweizer Briefe nach + SN~010\,130 mit Anschrift rechts; geeignet für + Schweizer Fensterbriefumschläge in den Formaten + C4, C5, C6 und C6/5 (C6 lang)\\[.5\normalbaselineskip] + \Option{SNleft}\IndexOption[indexmain]{SNleft}% + & Parametersatz für Schweizer Briefe mit Anschrift + links; geeignet für Schweizer + Fensterbriefumschläge mit dem Fenster links in den + Formaten C4, C5, C6 und C6/5 (C6 lang)\\ + \bottomrule + \end{tabular} + \label{tab:lcoFiles} +\end{table} + +\begin{Explain} +\begin{Declaration} + \Macro{LetterOptionNeedsPapersize}% + \Parameter{Optionsname}\Parameter{Papiergröße} +\end{Declaration} +\BeginIndex{Cmd}{LetterOptionNeedsPapersize}% +Wie bereits in \autoref{sec:scrlttr2.typeareaOptions} erwähnt wurde, +existieren derzeit nur Parametersätze und \File{lco}-Dateien für +A4-Papier. Damit man bei Verwendung einer anderen +\PName{Papiergröße}\Index{Papierformat} zumindest gewarnt wird, ist in +jeder mit \KOMAScript{} ausgelieferten \File{lco}-Datei eine Anweisung +\Macro{LetterOptionNeedsPapersize} zu finden. Als erstes Argument wird +dabei der Name der \File{lco}-Datei ohne die Endung "`\File{.lco}"' +übergeben. Als zweites Argument wird die Papiergröße übergeben, für +die diese \File{lco}-Datei gedacht ist. + +Werden nacheinander mehrere \File{lco}-Dateien geladen, so kann jede dieser +\File{lco}-Dateien eine Anweisung \Macro{LetterOptionNeedsPapersize} +enthalten. Innerhalb von \Macro{opening}\IndexCmd{opening} wird jedoch nur auf +die jeweils letzte angegebene \PName{Papiergröße} geprüft. Wie das +nachfolgende Beispiel zeigt, ist es daher für den versierten Anwender leicht +möglich, \File{lco}-Dateien mit Parametersätzen für andere Papierformate zu +schreiben. Wer allerdings nicht vor hat, selbst solche \File{lco}-Dateien zu +schreiben, der kann die Erklärung zu dieser Anweisung gleich wieder vergessen +und auch das Beispiel überspringen. + +\begin{Example} + Nehmen wir einmal an, dass Sie A5-Papier in normaler Ausrichtung, + also hochkant oder portrait, für Ihre Briefe verwenden. Nehmen wir + weiter an, dass Sie diese in normale Fensterbriefumschläge im Format + C6 stecken. Damit wäre prinzipiell die Position des Adressfeldes die + gleiche wie bei einem normalen Brief in A4 nach DIN. Der Unterschied + besteht im Wesentlichen darin, dass das A5-Papier nur einmal + gefaltet werden muss. Sie wollen deshalb verhindern, dass die obere + und die untere Faltmarke gesetzt wird. Dies erreichen Sie am + einfachsten, indem sie die Marken außerhalb des Papiers platzieren. +\begin{lstlisting} + \ProvidesFile{paper=a5.lco} + [2002/05/02 letter class option] + \LetterOptionNeedsPapersize{paper=a5}{a5} + \@setplength{tfoldmarkvpos}{\paperheight} + \@setplength{bfoldmarkvpos}{\paperheight} +\end{lstlisting} + Außerdem muss natürlich die Position des Seitenfußes, also die Pseudolänge + \PLength{firstfootvpos}, angepasst werden. Ich überlasse es dem Leser, dafür + einen geeigneten Wert zu ermitteln. Mit einer solchen \File{lco}-Datei ist + es lediglich wichtig, dass andere \File{lco}-Dateioptionen wie \File{SN} vor + dem Setzen der Papiergröße, also vor dem Laden von "`\File{paper=a5.lco}"', + angegeben werden. Das erscheint Ihnen kompliziert? Nur bis Sie es zum ersten + Mal gemacht haben. Außerdem: Wie oft schreiben Sie Briefe in einem anderen + Format als A4? +\end{Example} +% +\EndIndex{Cmd}{LetterOptionNeedsPapersize} +\end{Explain} + +Die \File{lco}-Datei \File{DIN} wird übrigens immer als erste +\File{lco}-Datei geladen. Dies wird getan, damit alle Pseudo-Längen +mehr oder weniger sinnvoll vordefiniert sind. + +Beachten Sie bitte noch, dass es nicht möglich ist, innerhalb einer +\File{lco}-Datei mittels \Macro{PassOptionsToPackage} Optionen an +Pakete zu übergeben, die von der Klasse bereits geladen +sind. Normalerweise betrifft dies nur die Pakete \Package{typearea}, +\Package{scrlfile} und \Package{keyval}. +% +\EndIndex{}{lco=\File{lco}}\EndIndex{}{Letter-Class-Option}% + + +\section{Generelle Dokumenteigenschaften} +\label{sec:scrlttr2.general} + +Einige Dokumenteigenschaften sind keinem speziellen Abschnitt des +Dokuments wie dem Briefkopf oder dem Brief"|text zugeordnet. Ein Teil +dieser Eigenschaften wurde bereits im +\autoref{sec:scrlttr2.options} erläutert oder erwähnt. + + +\subsection{Änderung der verwendeten Schriftart} +\label{sec:scrlttr2.font} + +\BeginIndex{}{Schriftart}\BeginIndex{}{Schriftgroesse=Schriftgröße}% +\begin{Explain} +Bezüglich der Anweisungen zum Setzen, Erweitern und Abfragen der +Schrift eines bestimmten Elements verweise ich hier auf die +Anweisungen aus \autoref{sec:maincls.font}. Diese Anweisungen +funktionieren in \Class{scrlttr2} ganz genauso. Die Elemente, die auf +diese Weise beeinflusst werden können, entnehmen Sie bitte +\autoref{tab:scrlttr2.elementsWithoutText}. +% +\begin{table} + \centering% + \caption{Elemente, deren Schrift bei der Klasse + \Class{scrlttr2} mit \Macro{setkomafont} und \Macro{addtokomafont} + verändert werden kann} + \begin{desctabular} + \feentry{backaddress}{Rücksendeadresse für einen Fensterbriefumschlag}% + \feentry{descriptionlabel}{Labels, also das optionale Argument von + \Macro{item}, in einer \Environment{description}-Umgebung}% + \feentry{fromaddress}{Absenderadresse im Briefkopf}% + \feentry{fromname}{Name des Absenders im Briefkopf abweichend von + \PValue{fromaddress}}% + \feentry{pagefoot}{Eigentlich der Fuß einer Seite, jedoch auch der + Kopf der Seite}% + \feentry{pagehead}{Eigentlich der Kopf einer Seite, jedoch auch der + Fuß der Seite}% + \feentry{pagenumber}{Seitenangabe im Kopf oder Fuß, die mit + \Macro{pagemark} gesetzt wird}% + \feentry{subject}{Betreff in der Brieferöffnung}% + \feentry{title}{Titel in der Brieferöffnung}% + \end{desctabular} + \label{tab:scrlttr2.elementsWithoutText} +\end{table} +\end{Explain} +% +\EndIndex{}{Schriftart}\EndIndex{}{Schriftgroesse=Schriftgröße}% + + +\subsection{Seitenstil} +\label{sec:scrlttr2.pageStyle} +Eine der allgemeinen Eigenschaften eines Dokuments ist der Seitenstil. +Siehe hierzu auch \autoref{sec:maincls.pageStyle} und +\autoref{cha:scrpage}. + +\begin{Declaration} + \Macro{pagestyle}\PParameter{empty}\\ + \XMacro{pagestyle}\PParameter{plain}\\ + \XMacro{pagestyle}\PParameter{headings}\\ + \XMacro{pagestyle}\PParameter{myheadings}\\ + \Macro{thispagestyle}\Parameter{lokaler Seitenstil} +\end{Declaration} +\BeginIndex{Cmd}{pagestyle}% +\BeginIndex{Cmd}{thispagestyle}% +\BeginIndex{Pagestyle}{empty}% +\BeginIndex{Pagestyle}{plain}% +\BeginIndex{Pagestyle}{headings}% +\BeginIndex{Pagestyle}{myheadings}% +\BeginIndex{}{Seitenstil}% +Bei Briefen mit \Class{scrlttr2} wird zwischen vier verschiedenen +Seitenstilen unterschieden. +\begin{description} +\item[empty] ist der Seitenstil, bei dem Kopf- und Fußzeile von Folgeseiten + vollständig leer bleiben. Dieser Seitenstil wird auch automatisch für die + erste Briefseite verwendet, da auf dieser Seite Kopf und Fuß über + \Macro{opening}\IndexCmd{opening} (siehe \autoref{sec:scrlttr2.firstHead}, + \autoref{sec:scrlttr2.firstFoot}, sowie \autoref{sec:scrlttr2.opening}, + \autopageref{desc:scrlttr2.macro.opening}) mit anderen Mitteln gesetzt + werden. +\item[plain] ist der Seitenstil, bei dem auf Folgeseiten keinerlei + Kolumnentitel verwendet, sondern nur eine Seitenangabe ausgegeben wird. Wo + diese gesetzt wird, hängt von der Option \Option{pagenumber} ab (siehe + \autoref{sec:scrlttr2.layout}, + \autopageref{desc:scrlttr2.option.pagenumber}). +\item[headings] ist der Seitenstil für automatische Kolumnentitel auf + Folgeseiten. Dabei werden als automatisch gesetzte Marken der Absendername + aus der Variablen \PValue{fromname} und der Betreff aus der Variablen + \PValue{subject} verwendet (siehe \autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.fromname} und + \autoref{sec:scrlttr2.titleSubject}, + \autopageref{desc:scrlttr2.variable.subject}). Wo genau diese Marken und die + Seitenangabe ausgegeben werden, hängt von der Option \Option{pagenumber} ab + (siehe \autoref{sec:scrlttr2.layout}, + \autopageref{desc:scrlttr2.option.pagenumber}). Der Autor kann die Marken + aber auch noch nach \Macro{opening} manuell beeinflussen. Hierzu stehen wie + üblich die Anweisungen \Macro{markboth} und \Macro{markright}, bei + Verwendung von \Package{scrpage2} auch \Macro{markleft} (siehe + \autoref{sec:scrpage.basics.mark}, + \autopageref{desc:scrpage.macro.automark}), zur Verfügung. +\item[myheadings] ist der Seitenstil für manuelle Kolumnentitel auf + Folgeseiten. Dies entspricht weitgehend \PValue{headings}, + allerdings müssen hier die Marken vom Anwender gesetzt werden. Er + verwendet dazu die Anweisungen \Macro{markboth}\IndexCmd{markboth} + und \Macro{markright}\IndexCmd{markright}. Bei Verwendung von + \Package{scrpage2} kann außerdem \Macro{markleft}\IndexCmd{markleft} + verwendet werden. +\end{description} +Folgeseiten im Sprachgebrauch dieser Anleitung sind alle Briefseiten +abgesehen von der ersten. + +Die Form der Seitenstile wird außerdem durch die Optionen +\Option{headsepline}\IndexOption{headsepline} und +\Option{footsepline}\IndexOption{footsepline} beeinflusst (siehe +\autoref{sec:scrlttr2.layout}, +\autopageref{desc:scrlttr2.option.headsepline}). Der Seitenstil ab der +aktuellen Seite wird mit \Macro{pagestyle} umgeschaltet. Demgegenüber +verändert \Macro{thispagestyle} nur den Seitenstil der aktuellen Seite. Die +Briefklasse verwendet \Macro{thispagestyle}\PParameter{empty} selbst innerhalb +von \Macro{opening}\IndexCmd{opening} für die erste Briefseite.% +% +\EndIndex{Cmd}{pagestyle}% +\EndIndex{Cmd}{thispagestyle}% +\EndIndex{Pagestyle}{empty}% +\EndIndex{Pagestyle}{plain}% +\EndIndex{Pagestyle}{headings}% +\EndIndex{Pagestyle}{myheadings}% +\EndIndex{}{Seitenstil}% + +\BeginIndex[indexother]{}{Schriftart}% +Um die Schriftart von Kopf und Fuß der Seite oder der Seitenangabe zu ändern, +verwenden Sie die Benutzerschnittstelle, die in \autoref{sec:maincls.font} +beschrieben ist. Für den Kopf und den Fuß ist dabei das gleiche Element +zuständig, das Sie wahlweise mit \PValue{pagehead} oder \PValue{pagefoot} +benennen können. Das Element für die Seitenzahl innerhalb des Kopfes oder +Fußes heißt \PValue{pagenumber}. Die Voreinstellungen sind in +\autoref{tab:maincls.defaultFontsHeadFoot}, +\autopageref{tab:maincls.defaultFontsHeadFoot} zu finden. Beachten Sie dazu +auch das Beispiel aus \autoref{sec:maincls.pageStyle}, +\autopageref{sec:maincls.pageStyle.example}. +% +\EndIndex[indexother]{}{Schriftart}% + +\begin{Declaration} + \Macro{clearpage}\\ + \Macro{cleardoublepage}\\ + \Macro{cleardoublestandardpage}\\ + \Macro{cleardoubleplainpage}\\ + \Macro{cleardoubleemptypage} +\end{Declaration}% +\BeginIndex{Cmd}{clearpage}% +\BeginIndex{Cmd}{cleardoublepage}% +\BeginIndex{Cmd}{cleardoublestandardpage}% +\BeginIndex{Cmd}{cleardoubleplainpage}% +\BeginIndex{Cmd}{cleardoubleemptypage}% +Siehe hierzu die Erklärung in +\autoref{sec:maincls.pageStyle}\Index{Seitenstil}, +\autopageref{desc:maincls.macro.clearpage}, wobei die Arbeitsweise von +\Macro{cleardoublepage} bei \Class{scrlttr2} von der Option +\Option{cleardoublepage} abhängt, die in \autoref{sec:scrlttr2.layout}, +\autopageref{desc:scrlttr2.option.cleardoublepage} näher beschrieben ist. +% +\EndIndex{Cmd}{clearpage}% +\EndIndex{Cmd}{cleardoublepage}% +\EndIndex{Cmd}{cleardoublestandardpage}% +\EndIndex{Cmd}{cleardoubleplainpage}% +\EndIndex{Cmd}{cleardoubleemptypage}% + + + +\subsection{Variablen} +\label{sec:scrlttr2.variables} + +\BeginIndex{}{Variablen}% +Neben Optionen, Anweisungen (oder Befehlen), Umgebungen, Zählern und +Längen wurden in \KOMAScript{} bereits zusätzlich Elemente eingeführt. +Eine typische Eigenschaft eines Elements ist eine Schriftart und die +Möglichkeit, diese zu ändern (siehe \autoref{sec:maincls.font}). An +dieser Stelle werden nun zusätzlich Variablen eingeführt. Variablen +haben einen Namen, über den sie angesprochen werden und einen Inhalt. +Der Inhalt einer Variablen kann zeitlich bzw. räumlich getrennt von +ihrer Verwendung gesetzt werden, so wie der Inhalt einer Anweisung +getrennt von ihrer Ausführung definiert werden kann. Ein +Hauptunterschied einer Variablen zu einer Anweisung besteht darin, +dass eine Anweisung normalerweise eine Aktion auslöst, während der +Inhalt einer Variablen normalerweise aus einem Text besteht, der dann +von einer Anweisung ausgegeben wird. Außerdem kann eine Variable +zusätzlich eine Bezeichnung besitzen, die ebenfalls gesetzt und +ausgegeben werden kann. + +Dieser Abschnitt beschränkt sich bewusst auf die Einführung des Begriffs der +Variablen. Die zur Verdeutlichung verwendeten Beispiele sind ohne tiefere +Bedeutung. Konkretere Anwendungsbeispiele gibt es bei der Erläuterung der in +der Briefklasse bereits definierten und von ihr verwendeten Variablen in den +nachfolgenden Abschnitten. \autoref{tab:scrlttr2.variables} gibt eine +Übersicht über alle in \Class{scrlttr2} definierten Variablen. + +\begin{desctable} + \caption{Von der Klasse \Class{scrlttr2} unterstützte + Variablen\label{tab:scrlttr2.variables}}\\ + \Endfirsthead + \caption[]{Von der Klasse \Class{scrlttr2} unterstützte Variablen + (\emph{Fortsetzung})}\\ + \Endhead% + \standardfoot% + \ventry{backaddress}{Rücksendeadresse für Fensterbriefumschläge + (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.variable.backaddress})}% + \ventry{backaddressseparator}{Trennzeichen innerhalb der Rücksendeadresse + (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.variable.backaddressseparator})}% + \ventry{ccseparator}{Trennzeichen zwischen Verteilertitel und Verteiler + (\autoref{sec:scrlttr2.afterClosing}, + \autopageref{desc:scrlttr2.variable.ccseparator})}% + \ventry{customer}{Geschäftszeilenfeld "`Kundennummer"' + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.variable.customer})}% + \ventry{date}{Datum + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.variable.date})}% + \ventry{emailseparator}{Trennzeichen zwischen E-Mail-Bezeichner und + E-Mail-Adresse + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.emailseparator})}% + \ventry{enclseparator}{Trennzeichen zwischen Anlagetitel und Anlagen + (\autoref{sec:scrlttr2.afterClosing}, + \autopageref{desc:scrlttr2.variable.enclseparator})}% + \ventry{faxseparator}{Trennzeichen zwischen Faxbezeichner und Faxnummer + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.faxseparator})}% + \ventry{fromaddress}{Absenderadresse ohne Absendername + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.fromaddress})}% + \ventry{frombank}{Bankverbindung des Absenders + (\autoref{sec:scrlttr2.other}, + \autopageref{desc:scrlttr2.variable.frombank})}% + \ventry{fromemail}{E-Mail-Adresse des Absenders + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.fromemail})}% + \ventry{fromfax}{Faxnummer des Absenders + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.fromfax})}% + \ventry{fromlogo}{Anweisungen zum Setzen des Absenderlogos + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.fromlogo})}% + \ventry{fromname}{vollständiger Absendername + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.fromname})}% + \ventry{fromphone}{Telefonnummer des Absenders + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.fromphone})}% + \ventry{fromurl}{eine URL des Absenders + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.fromurl})}% + \ventry{invoice}{Geschäftszeilenfeld "`Rechnungsnummer"' + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.variable.invoice})}% + \ventry{location}{erweiterte Absenderangabe + (\autoref{sec:scrlttr2.locationField}, + \autopageref{desc:scrlttr2.variable.location})}% + \ventry{myref}{Geschäftszeilenfeld "`Mein Zeichen"' + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.variable.myref})}% + \ventry{place}{Ort + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.variable.place})}% + \ventry{placeseparator}{Trennzeichen zwischen Ort und Datum + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.variable.placeseparator})}% + \ventry{phoneseparator}{Trennzeichen zwischen Telefonbezeichner und + Telefonnummer + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.variable.phoneseparator})}% + \ventry{signature}{Signatur unter Unterschrift und Grußformel + (\autoref{sec:scrlttr2.closing}, + \autopageref{desc:scrlttr2.variable.signature})}% + \ventry{specialmail}{Versandart + (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.variable.specialmail})}% + \ventry{subject}{Betreff + (\autoref{sec:scrlttr2.titleSubject}, + \autopageref{desc:scrlttr2.variable.subject})}% + \ventry{subjectseparator}{Trennzeichen zwischen Betreff"|titel und Betreff + (\autoref{sec:scrlttr2.titleSubject}, + \autopageref{desc:scrlttr2.variable.subjectseparator})}% + \ventry{title}{Brief"|titel + (\autoref{sec:scrlttr2.titleSubject}, + \autopageref{desc:scrlttr2.variable.title})}% + \ventry{toname}{vollständiger Empfängername + (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.variable.toname})}% + \ventry{toaddress}{Empfängeradresse ohne Empfängername + (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.variable.toaddress})}% + \ventry{yourmail}{Geschäftszeilenfeld "`Ihr Schreiben"' + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.variable.yourmail})}% + \ventry{yourref}{Geschäftszeilenfeld "`Ihr Zeichen"' + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.variable.yourref})}% +\end{desctable} + + +\begin{Declaration} + \Macro{newkomavar}\OParameter{Bezeichnung}\Parameter{Name}\\ + \Macro{newkomavar*}\OParameter{Bezeichnung}\Parameter{Name}\\ + \Macro{removereffields}\\ + \Macro{defaultreffields}\\ + \Macro{addtoreffields}\Parameter{Name} +\end{Declaration} +\BeginIndex{Cmd}{newkomavar}\BeginIndex{Cmd}{newkomavar*}% +\BeginIndex{Cmd}{addtoreffields}\BeginIndex{Cmd}{removereffields}% +\BeginIndex{Cmd}{defaultreffields}% +Mit \Macro{newkomavar} wird eine neue Variable definiert. Diese Variable wird +über \PName{Name} angesprochen. Optional kann eine \PName{Bezeichnung} für die +Variable \PName{Name} angegeben werden. Mit der Anweisung +\Macro{addtoreffields} kann die Variable \PName{Name} der Geschäftszeile +(siehe \autoref{sec:scrlttr2.refLine}) hinzugefügt werden. Dabei +wird die \PName{Bezeichnung} und der Inhalt der Variablen an das Ende der +Geschäftszeile angehängt, falls ihr Inhalt nicht leer ist. Die Sternvariante +\Macro{newkomavar*} entspricht der Variante ohne Stern mit anschließendem +Aufruf der Anweisung \Macro{addtoreffields}. Bei der Sternvariante wird die +Variable also automatisch zur Geschäftszeile hinzugefügt. +\begin{Example} + Angenommen, Sie benötigen in der Geschäftszeile ein zusätzliches Feld + für eine Durchwahl. Sie können das Feld dann wahlweise mit +\begin{lstlisting} + \newkomavar[Durchwahl]{myphone} + \addtoreffields{myphone} +\end{lstlisting} + oder kürzer mit +\begin{lstlisting} + \newkomavar*[Durchwahl]{myphone} +\end{lstlisting} + definieren. +\end{Example} +Im Fall, dass eine Variable für die Geschäftszeile definiert wird, +sollten Sie immer eine Bezeichnung dafür angeben.% + +Mit der Anweisung \Macro{removereffields} können alle Variablen aus der +Geschäftszeile entfernt werden. Dies betrifft auch die in der Klasse +vordefinierten Variablen. Die Geschäftszeile ist dann bis auf das Datum, +das immer hinten angehängt wird, leer. Sie können dies beispielsweise nutzen, +wenn Sie die Reihenfolge der Variablen in der Geschäftszeile ändern +wollen. + +Zur Wiederherstellung der Reihenfolge der vordefinierten Variablen in der +Geschäftszeile dient \Macro{defaultreffields}. Dabei werden auch alle +selbstdefinierten Variablen aus der Geschäftszeile entfernt.% +% +\EndIndex{Cmd}{defaultreffields}% +\EndIndex{Cmd}{newkomavar}\EndIndex{Cmd}{newkomavar*}% +\EndIndex{Cmd}{addtoreffields}\EndIndex{Cmd}{removereffields}% + + +\begin{Declaration} + \Macro{setkomavar}% + \Parameter{Name}\OParameter{Bezeichnung}\Parameter{Inhalt}\\ + \Macro{setkomavar*}\Parameter{Name}\Parameter{Bezeichnung} +\end{Declaration} +\BeginIndex{Cmd}{setkomavar}\BeginIndex{Cmd}{setkomavar*}% +Mit der Anweisung \Macro{setkomavar} wird der \PName{Inhalt} der +Variablen \PName{Name} gesetzt. Dabei kann per optionalem Argument +gleichzeitig auch die \PName{Bezeichnung} der Variablen geändert +werden. Demgegenüber kann mit der Sternvariante \Macro{setkomavar*} +auch nur die \PName{Bezeichnung} der Variablen \PName{Name} gesetzt +werden. +\begin{Example} + Angenommen, Sie haben wie oben eine Variable für die Durchwahl + definiert und wollen nun die Durchwahl setzen. Dies geschieht + einfach mit: +\begin{lstlisting} + \setkomavar{myphone}{-11} +\end{lstlisting} + Sie wollen außerdem, dass statt "`Durchwahl"' der Begriff + "`Apparat"' ausgegeben wird. Also setzen Sie zusätzlich die + Bezeichnung mit: +\begin{lstlisting} + \setkomavar*{myphone}{Apparat} +\end{lstlisting} + oder fassen beide Angaben zu einer Anweisung zusammen: +\begin{lstlisting} + \setkomavar{myphone}[Apparat]{-11} +\end{lstlisting} + Damit schlagen Sie sozusagen zwei Fliegen mit einer Klappe. +\end{Example} +Übrigens kann mit einem leeren obligatorischen Argument \PName{Inhalt} +der Inhalt der Variable gelöscht werden. Selbstverständlich kann in +gleicher Weise mit einem leeren Argument \PName{Bezeichnung} die +Bezeichnung der Variablen gelöscht werden. +\begin{Example} + Angenommen, Sie haben wie oben eine Variable für die Durchwahl + definiert, wollen nun aber nicht, dass eine Bezeichnung ausgegeben + wird. Dann können Sie diese entweder für sich mit: +\begin{lstlisting} + \setkomavar*{myphone}{} +\end{lstlisting} + löschen. Sie können aber auch wieder zwei Fliegen mit einer Klappe + schlagen und verwenden: +\begin{lstlisting} + \setkomavar{myphone}[]{-11} +\end{lstlisting} + Dadurch wird gleichzeitig der Inhalt der Variablen gesetzt und ihre + Bezeichnung gel"oscht. +\end{Example} +% +\EndIndex{Cmd}{setkomavar}\EndIndex{Cmd}{setkomavar*}% + + +\begin{Declaration} + \Macro{usekomavar}\OParameter{Anweisung}\Parameter{Name}\\ + \Macro{usekomavar*}\OParameter{Anweisung}\Parameter{Name} +\end{Declaration} +\BeginIndex{Cmd}{usekomavar}\BeginIndex{Cmd}{usekomavar*}% +In\ChangedAt{v2.9i}{\Class{scrlttr2}} manchen Fällen wird es notwendig +sein, selbst auf den Inhalt oder die Bezeichnung einer Variablen +zuzugreifen, dies also nicht allein der Klasse zu überlassen. Dies +gilt insbesondere dann, wenn Sie eigene Variablen definiert haben, die +jedoch nicht zur Geschäftszeile hinzugefügt werden. Mit der Anweisung +\Macro{usekomavar} können Sie auf den Inhalt der Variablen +\PName{Name} zugreifen, während Sie mit der Sternvariante +\Macro{usekomavar*} ihre Bezeichnung erhalten. + +\begin{Explain} + Die Anweisungen \Macro{usekomavar} und \Macro{usekomavar*} sind + übrigens wie alle Anweisungen, von denen es eine Sternvariante gibt + oder die ein optionales Argument besitzen, nicht voll expandierbar. + Bei Verwendung innerhalb von \Macro{markboth}\IndexCmd{markboth}, + \Macro{markright}\IndexCmd{markright} oder ähnlichen Anweisungen + muss dennoch kein \Macro{protect}\IndexCmd{protect} vorangestellt + werden. Selbstverständlich gilt dies bei Verwendung von + \Package{scrpage2} auch für \Macro{markleft}\IndexCmd{markleft}. + Allerdings können die Anweisungen nicht innerhalb von + \Macro{MakeUppercase} und ähnlichen Anweisungen verwendet werden, + die direkten Einfluss auf ihr Argument haben. Diese Anweisungen + können jedoch als optionales Argument angegeben werden. So erhält + man beispielsweise den Inhalt einer Variable in Großbuchstaben mit + \Macro{usekomavar}\PValue{[\Macro{MakeUppercase}]}\Parameter{Name}. +\end{Explain} +% +\EndIndex{Cmd}{usekomavar}\EndIndex{Cmd}{usekomavar*}% + +\begin{Declaration} + \Macro{ifkomavarempty}\Parameter{Name}\Parameter{Wahr}\Parameter{Falsch}\\ + \Macro{ifkomavarempty*}\Parameter{Name}\Parameter{Wahr}\Parameter{Falsch} +\end{Declaration} +\BeginIndex{Cmd}{ifkomavarempty}% +Mit\ChangedAt{v2.9i}{\Class{scrlttr2}} Hilfe diesen Anweisung kann man +feststellen, ob der Inhalt oder die Bezeichnung einer Variablen leer +ist oder nicht. Das \PName{Wahr}-Argument wird nur dann ausgeführt, +wenn der expandierte Inhalt oder die expandierte Bezeichnung der +Variablen \PName{Name} leer ist. Anderenfalls wird das +\PName{Falsch}-Argument ausgeführt. Die Sternvariante der Anweisung +bezieht sich dabei auf die Bezeichnung der Variablen, während die +normale Variante den Inhalt behandelt. + +\begin{Explain} + In diesem Zusammenhang ist wichtig, dass der Inhalt der Variablen + soweit expandiert wird, wie dies mit \Macro{edef} möglich + ist. Bleiben dabei Leerzeichen oder unexpandierbare Makros wie + \Macro{relax} übrig, so gilt der Inhalt auch dann als nicht leer, + wenn die Verwendung der Variablen zu keiner Ausgabe führen würde. + + Auch diese Anweisung kann nicht innerhalb von \Macro{MakeUppercase} + oder ähnlichen Anweisungen verwendet werden. Sie ist jedoch robust + genug, um beispielsweise als Argument von \Macro{markboth} oder + \Macro{footnote} zu funktionieren. +\end{Explain} +% +\EndIndex{Cmd}{ifkomavarempty}% +% +\EndIndex{}{Variablen} + + + +\subsection{Die Pseudolängen} +\label{sec:scrlttr2.pseudoLength} +\BeginIndex{}{Pseudolängen} + +\begin{Explain} + \TeX{} arbeitet mit einem festen Satz an Registern. Es gibt Register + für Tokens, für Boxen, für Zähler, für Abstände (englisch: + \emph{skip}) und für Größen (englisch: \emph{dimension}). Von all + diesen Registern gibt es jeweils 256 Stück. Für \LaTeX{}-Längen, die + mit \Macro{newlength} angefordert werden, werden Abstandsregister + belegt. Sind alle diese Register verbraucht, kann man keine weiteren + Längen definieren. Die Briefklasse \Class{scrlttr2} würde + normalerweise allein für die erste Seite mehr als 20 solche Register + verbrauchen. \LaTeX{} selbst belegt bereits 40 dieser Register. Das + \Package{typearea}-Paket benötigt ebenfalls einige, so dass ein + Viertel der kostbaren Register verbraucht wäre. Aus diesem Grund + werden briefspezifische Längen in \Class{scrlttr2} eben nicht in + Längen, sondern in Makros abgelegt, den Pseudolängen. Der Nachteil + dieses Vorgehens besteht darin, dass man mit diesen Makros nicht so + einfach rechnen kann wie mit echten Längen. + + Wer nun einwenden will, dass \LaTeX{} in der empfohlenen Installation mit + \eTeX{} inzwischen das oben genannte Beschränkungsproblem nicht mehr + besitzt, hat Recht. Allerdings kam diese Entscheidung für \Class{scrlttr2} + ein wenig zu spät. +\end{Explain} + +Eine Liste aller in \Class{scrlttr2} definierten Pseudolängen findet sich in +\autoref{tab:scrlttr2.pseudoLength} ab +\autopageref{tab:scrlttr2.pseudoLength}. Eine grafische Darstellung der +Bedeutungen ist \autoref{fig:scrlttr2.pseudoLength} zu entnehmen. Die +verwendeten Maße sind dabei an die Voreinstellungen von \Class{scrlttr2} +angelehnt. Nähere Beschreibungen zu den einzelnen Pseudolängen finden sich in +den einzelnen Abschnitten dieses Kapitels. + +\begin{figure} + \centering + \includegraphics{plenDIN} + \caption{Schematische Darstellung der Pseudolängen für den Briefbogen} + \label{fig:scrlttr2.pseudoLength} +\end{figure} + +\begin{desctable} + \caption{Von der Klasse \Class{scrlttr2} verwendete Pseudolängen% + \label{tab:scrlttr2.pseudoLength}}\\ + \Endfirsthead % + \caption[]{Von der Klasse \Class{scrlttr2} verwendete Pseudolängen + (\emph{Fortsetzung})}\\% + \Endhead% + \standardfoot% + \pentry{foldmarkhpos}{% + Abstand der Faltmarken von der linken Kante des Papiers + (\autoref{sec:scrlttr2.other}, + \autopageref{desc:scrlttr2.plength.foldmarkhpos})}% + \pentry{tfoldmarkvpos}{% + Abstand der oberen Faltmarke von der oberen Kande des Papiers + (\autoref{sec:scrlttr2.other}, + \autopageref{desc:scrlttr2.plength.tfoldmarkvpos})}% + \pentry{bfoldmarkvpos}{% + Abstand der unteren Faltmarke von der oberen Kante des Papiers + (\autoref{sec:scrlttr2.other}, + \autopageref{desc:scrlttr2.plength.bfoldmarkvpos})}% + \pentry{firstheadvpos}{% + Abstand des Briefkopfes von der oberen Kante des Papiers + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.plength.firstheadvpos})}% + \pentry{firstheadwidth}{% + Breite des Briefkopfes, wobei dieser relativ zur Papierbreite zentriert + wird (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.plength.firstheadwidth})}% + \pentry{fromrulewidth}{% + Länge einer optionalen horizontalen Linie im Briefkopf + (\autoref{sec:scrlttr2.firstHead}, + \autopageref{desc:scrlttr2.plength.fromrulewidth})}% + \pentry{toaddrvpos}{% + Abstand des Anschriftfeldes von der oberen Kante des Papiers + (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.plength.toaddrvpos})}% + \pentry{toaddrhpos}{% + Abstand des Anschriftfeldes von der linken Papierkante, falls der Wert + positiv ist, oder negativer Abstand des Anschriftfeldes von der rechten + Papierkante, falls der Wert negativ ist (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.plength.toaddrhpos})}% + \pentry{toaddrindent}{% + linker Einzug der Anschrift innerhalb des Anschriftfeldes + (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.plength.toaddrindent})}% + \pentry{toaddrwidth}{% + Breite des Anschriftfeldes (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.plength.toaddrwidth})}% + \pentry{toaddrheight}{% + Höhe des Anschriftfeldes (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.plength.toaddrheight})}% + \pentry{backaddrheight}{% + Höhe der Rücksendeadresse am oberen Rand des Anschriftfeldes + (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.plength.backaddrheight})}% + \pentry{specialmailindent}{% + linker Einzug der Versandart innerhalb des Anschriftfeldes + (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.plength.specialmailindent})}% + \pentry{specialmailrightindent}{% + rechter Einzug der Versandart innerhalb des Anschriftfeldes + (\autoref{sec:scrlttr2.addressee}, + \autopageref{desc:scrlttr2.plength.specialmailrightindent})}% + \pentry{locwidth}{% + Breite des Feldes für die Absenderergänzung, wobei bei einem Wert von 0 + die Breite automatisch aufgrund der in \autoref{sec:scrlttr2.headoptions} + beschriebenen Option \Option{locfield} berechnet wird + (\autoref{sec:scrlttr2.locationField}, + \autopageref{desc:scrlttr2.plength.locwidth})}% + \pentry{refvpos}{% + Abstand der Geschäftszeile von der oberen Kante des Papiers + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.plength.refvpos})}% + \pentry{refwidth}{% + Breite der Geschäftszeile + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.plength.refwidth})}% + \pentry{refhpos}{% + Abstand der Geschäftszeile von der linken Papierkante, wobei bei einem + Wert von 0 automatisch relativ zur Papierbreite zentriert wird + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.plength.refhpos})}% + \pentry{refaftervskip}{% + vertikaler Abstand nach der Geschäftszeile + (\autoref{sec:scrlttr2.refLine}, + \autopageref{desc:scrlttr2.plength.refaftervskip})}% + \pentry{sigbeforevskip}{% + vertikaler Abstand zwischen Gruß und Signatur + (\autoref{sec:scrlttr2.closing}, + \autopageref{desc:scrlttr2.plength.sigbeforevskip})}% + \pentry{sigindent}{% + Einzug der Signatur gegenüber dem Textkörper + (\autoref{sec:scrlttr2.closing}, + \autopageref{desc:scrlttr2.plength.sigindent})}% + \pentry{firstfootvpos}{% + Abstand des Brief"|fußes von der oberen Kante des Papiers + (\autoref{sec:scrlttr2.firstFoot}, + \autopageref{desc:scrlttr2.plength.firstfootvpos})}% + \pentry{firstfootwidth}{% + Breite des Brief"|fußes, der automatisch innerhalb der Papierbreite + zentriert wird + (\autoref{sec:scrlttr2.firstFoot}, + \autopageref{desc:scrlttr2.plength.firstfootwidth})}% +\end{desctable} + +\begin{Declaration} + \Macro{@newplength}\Parameter{Name} +\end{Declaration} +\BeginIndex{Cmd}{@newplength}% +Mit Hilfe dieser Anweisung wird eine neue Pseudolänge definiert. Die +neue Pseudolänge ist dann über ihren \PName{Namen} eindeutig +identifiziert. +% +\iffalse +% Umbruchoptimierungstext +Es wird sichergestellt, dass jeder \PName{Name} nur +einmal vergeben wird.% +\else +Wird versucht, eine bereits vorhandene Pseudolänge erneut +zu definieren, so wird dies mit einer Fehlermeldung quitiert.% +% +\fi + +Da der Anwender selbst normalerweise keine eigenen Pseudolängen +definieren muss, handelt es sich bei diesem Befehl um keine +Benutzeranweisung. Sie kann innerhalb des Dokuments nicht, wohl aber +beispielsweise innerhalb einer \File{lco}-Datei verwendet werden. +% +\EndIndex{Cmd}{@newplength}% + +\begin{Declaration} + \Macro{@setplength}% + \OParameter{Faktor}\Parameter{Pseudolänge}\Parameter{Wert}\\ + \Macro{@addtoplength}% + \OParameter{Faktor}\Parameter{Pseudolänge}\Parameter{Wert} +\end{Declaration} +\BeginIndex{Cmd}{@setplength}% +\BeginIndex{Cmd}{@addtoplength}% +Mit Hilfe der Anweisung \Macro{@setplength} kann einer +\PName{Pseudolänge} das Vielfache eines \PName{Wertes} zugewiesen +werden. Der \PName{Faktor} wird dabei als optionales Argument +übergeben (siehe auch \Macro{setlengthtoplength}). Mit der Anweisung +\Macro{@addtoplength} kann man zu einer \PName{Pseudolänge} einen +\PName{Wert} addieren. Um einer \PName{Pseudolänge} das Vielfache +einer anderen Pseudolänge zuzuweisen oder hinzuzuaddieren, verwendet +man innerhalb von \PName{Wert} die Anweisung \Macro{useplength}. Um +von einer \PName{Pseudolänge} den Wert einer anderen +\PName{Pseudolänge} zu subtrahieren, verwendet man gleichzeitig als +\PName{Faktor} ein Minuszeichen oder \PValue{-1}. + +Da der Anwender selbst normalerweise keine Pseudolängen ändern muss, +handelt es sich bei diesen Befehlen um keine Benutzeranweisungen. Sie +können innerhalb des Dokuments nicht, wohl aber beispielsweise +innerhalb einer \File{lco}-Datei verwendet werden. +% +\EndIndex{Cmd}{@setplength}% +\EndIndex{Cmd}{@addtoplength}% + +\begin{Declaration} + \Macro{useplength}\Parameter{Name} +\end{Declaration} +\BeginIndex{Cmd}{useplength}% +Mit Hilfe dieser Anweisung wird auf den Wert der Pseudolänge mit dem +angegebenen \PName{Namen} zugegriffen. Dies ist eine der wenigen +Benutzeranweisung rund um Pseudolängen. Natürlich kann diese Anweisung +dennoch auch innerhalb einer \File{lco}-Datei verwendet werden. +% +\EndIndex{Cmd}{useplength}% + +\begin{Explain}% +\begin{Declaration} + \Macro{setlengthtoplength}% + \OParameter{Faktor}\Parameter{Länge}\Parameter{Pseudolänge}\\ + \Macro{addtolengthplength}% + \OParameter{Faktor}\Parameter{Länge}\Parameter{Pseudolänge} +\end{Declaration} +\BeginIndex{Cmd}{setlengthtoplength}% +\BeginIndex{Cmd}{addtolengthplength}% + Während man einer Länge einfach einen Faktor voranstellen kann, ist + dies bei Pseudolängen nicht möglich. Angenommen, eine Länge + \Macro{Test} hat den Wert 2\Unit{pt}, dann ergibt + \texttt{3\Macro{Test}} den Wert 6\Unit{pt}. Verwendet man + stattdessen eine Pseudolänge, so würde aus + \texttt{3\Macro{useplength}\PParameter{Test}} der Wert 32\Unit{pt}. + Dies ist insbesondere dann lästig, wenn man einer echten + \PName{Länge} den Wert einer \PName{Pseudolänge} zuweisen will. +\end{Explain} +Mit der Anweisung \Macro{setlengthtoplength} kann man einer echten +\PName{Länge} das Vielfache einer \PName{Pseudolänge} zuweisen. +Allerdings wird hier der \PName{Faktor} nicht direkt der +\PName{Pseudolänge} vorangestellt, sondern als optionales Argument +übergeben. Man sollte diese Anweisung auch verwenden, wenn man einer +\PName{Länge} den negativen Wert einer \PName{Pseudolänge} zuweisen +will. Als \PName{Faktor} kann dann wahlweise ein Minuszeichen oder +\PValue{-1} verwendet werden. Die Anweisung +\Macro{addtolengthplength} arbeitet ganz ähnlich. Allerdings wird +hier zur \PName{Länge} das Vielfache der \PName{Pseudolänge} +addiert. +% +\EndIndex{Cmd}{setlengthtoplength}% +\EndIndex{Cmd}{addtolengthplength}% +% +\EndIndex{}{Pseudolängen}% + +\subsection{Der generelle Aufbau eines Briefdokuments} +\label{sec:scrlttr2.document} + +Der generelle Aufbau\Index{Aufbau} eines Briefdokuments weicht etwas vom +Aufbau eines normalen Dokuments ab. Während ein Buchdokument normalerweise nur +ein Buch enthält, kann ein einzelnes Briefdokument mehrere Briefe enthalten. +Wie in \autoref{fig:scrlttr2.document} veranschaulicht wird, besteht ein +Briefdokument aus einem Vorspann, den einzelnen Briefen und dem Abschluss. + +\begin{figure} + \centering\small\setlength{\fboxsep}{1.5ex} + \fbox{\parbox{.667\linewidth}{\raggedright% + \Macro{documentclass}\OParameter{\dots}\PParameter{scrlttr2}\\ + \dots\\ + {\centering\emph{Einstellungen für alle Briefe}\\} + \dots\\ + \Macro{begin}\PParameter{document}\\ + \dots\\ + {\centering\emph{Einstellungen für alle Briefe}\\} + \dots\\ + }}\\ + \fbox{\parbox{.667\linewidth}{\raggedright% + \Macro{begin}\PParameter{letter}\Parameter{Empfänger}\\ + \dots\\ + {\centering\emph{Inhalt eines einzelnen Briefs}\\} + \dots\\ + \Macro{end}\PParameter{letter}\\ + }}\\[2pt] + \parbox{.667\linewidth}{\raggedright\vspace{-.5ex}\vdots\vspace{1ex}}\\ + \fbox{\parbox{.667\linewidth}{\raggedright% + \Macro{end}\PParameter{document}\\ + }}\\[\dp\strutbox] + \caption[Genereller Aufbau eines Briefdokuments mit beliebig vielen + einzelnen Briefen]{Genereller Aufbau eines Briefdokuments mit + beliebig vielen einzelnen Briefen (den Aufbau eines einzelnen + Briefes zeigt \autoref{fig:scrlttr2.letter})} + \label{fig:scrlttr2.document} +\end{figure} + +Der Vorspann beinhaltet dabei alle Einstellungen, die generell alle Briefe +betreffen. Diese können in den Einstellungen der einzelnen Briefe jedoch +zumindest teilweise überschrieben werden. Die einzige Einstellung, die derzeit +nicht innerhalb eines einzelnen Briefes überschrieben werden kann, ist die +Größe der Grundschrift (siehe Option \Option{fontsize} in +\autoref{sec:scrlttr2.fontOptions}, +\autopageref{desc:scrlttr2.option.fontsize}). Ich empfehle, vor +\Macro{begin}\PParameter{document} nur allgemeine Einstellungen wie das Laden +von Paketen und das Setzen von Optionen vorzunehmen. Alle Einstellungen, die +das Setzen einer Variablen oder sonstige Textangaben beinhalten, sollten nach +\Macro{begin}\PParameter{document} vorgenommen werden. Dies empfiehlt sich +umso mehr, wenn das Babel-Paket\IndexPackage{babel} (siehe +\cite{package:babel}) verwendet wird oder sprachabhängige Variablen von +\Class{scrlttr2} verändert werden sollen. + +Der Abschluss besteht in der Regel nur aus +\Macro{end}\PParameter{document}. Natürlich können Sie dort aber auch +zusätzliche Kommentare einfügen. + +\begin{figure} + \centering + \fbox{\parbox{.667\linewidth}{\raggedright% + \Macro{begin}\PParameter{letter}% + \OParameter{Optionen}\Parameter{Empfänger}\\ + \dots\\[\dp\strutbox] + {\centering\emph{Einstellungen für diesen Brief}\\} + \dots\\ + \Macro{opening}\Parameter{Anrede}\\ + }}\\[1pt] + \fbox{\parbox{.667\linewidth}{\raggedright% + \dots\\[\dp\strutbox] + {\centering\emph{Brief"|text}\\} + \dots\\ + }}\\[1pt] + \fbox{\parbox{.667\linewidth}{\raggedright% + \Macro{closing}\Parameter{Grußformel}\\ + \Macro{ps}\\ + \dots\\[\dp\strutbox] + {\centering\emph{Postscriptum}\\} + \dots\\ + \Macro{encl}\Parameter{Anlagen}\\ + \Macro{cc}\Parameter{Verteiler}\\ + \Macro{end}\PParameter{letter}\\ + }}\\[\dp\strutbox] + \caption[Genereller Aufbau eines einzelnen Briefes innerhalb eines + Briefdokuments]{Genereller Aufbau eines einzelnen Briefes + innerhalb eines Briefdokuments (siehe + \autoref{fig:scrlttr2.document})} + \label{fig:scrlttr2.letter} +\end{figure} + +Wie in \autoref{fig:scrlttr2.letter} verdeutlicht wird, bestehen die einzelnen +Briefe wiederum aus einer Einleitung, dem eigentlichen Brief"|text und einem +Schlussteil. In der Einleitung werden alle Einstellungen vorgenommen, die nur +für diesen einen Brief gelten sollen. Entscheidend ist hierbei, dass diese +Einleitung immer mit \Macro{opening}\IndexCmd{opening} endet. Ebenso beginnt +der Schlussteil immer mit \Macro{closing}\IndexCmd{closing}. Gegebenenfalls +können die Argumente \PName{Anrede} und \PName{Grußformel} der beiden +Anweisungen leer bleiben, die Anweisungen müssen jedoch gesetzt werden und +haben immer ein Argument. + +\begin{Explain} +Es soll an dieser Stelle nicht verschwiegen werden, dass zwischen den +einzelnen Briefen weitere Einstellungen getroffen werden können. Diese +gelten dann für alle nachfolgenden Briefe. Um Briefdokumente +übersichtlich und wartbar zu halten, sollte man sich jedoch gut +überlegen, ob man zwischen die Briefe tatsächlich weitere generelle +Einstellungen mit beschränkter Gültigkeit setzen will. Ich kann dies +nicht empfehlen% +\iftrue +% Umbruchergänzungstext +, da die Suche nach Einstellungen dadurch erschwert wird% +\fi +% +. +%\end{Explain} + +Wie bereits erwähnt, können mit Ausnahme der Schriftgröße alle +generellen Einstellungen aus dem Dokumentvorspann auch im Vorspann +einzelner Briefe gesetzt werden. Daher finden sich in diesem Abschnitt +keine weiteren Erklärungen zu den möglichen Einstellungen. Bitte +entnehmen Sie diese dem \autoref{sec:scrlttr2.startLetter}. +\end{Explain} + + +\section{Die Briefeinleitung} +\label{sec:scrlttr2.startLetter} + +In der Briefeinleitung\Index{Einleitung} finden sich alle +Einstellungen für einen Brief sowie alle Angaben zum Aufbau der ersten +Briefseite. Die erste Briefseite übernimmt innerhalb eines Briefes +nicht nur die Rolle der Titelei, sondern besteht aus vielen +unterschiedlichen Teilen. + + +\subsection{Briefkopf} +\label{sec:scrlttr2.firstHead} +\BeginIndex{}{Briefkopf}% + +Unter dem Briefkopf verstehen wir alle Angaben, die den Absender +betreffen und die über der Anschrift stehen. Normalerweise würde man +erwarten, dass diese über den Seitenstil gesetzt werden. Bei der alten +Briefklasse \Class{scrlettr} war dies auch so. Bei \Class{scrlttr2} +wird der Briefkopf jedoch unabhängig vom Seitenstil von der Anweisung +\Macro{opening}\IndexCmd{opening} ausgegeben. +% Fuellmaterial +\iftrue% +Dabei wird der Briefkopf absolut positioniert, ist also vom +Satzspiegel unabhängig. Die erste Seite eines Briefes, also die Seite +mit dem Briefkopf, wird tatsächlich mit dem Seitenstil \PValue{empty} +gesetzt.% +\fi +% Ende des Fuellmaterials + +\begin{Declaration} + \PLength{firstheadvpos} +\end{Declaration} +\BeginIndex{PLength}{firstheadvpos}% +Die Pseudolänge \PLength{firstheadvpos} gibt den Abstand des +Briefkopfes von der oberen Papierkante an. Der Wert wird in den +vordefinierten \File{lco}-Dateien unterschiedlich gesetzt. Ein +typischer Wert ist 8\Unit{mm}. +% +\EndIndex{PLength}{firstheadvpos} + +\begin{Declaration} + \PLength{firstheadwidth} +\end{Declaration} +\BeginIndex{PLength}{firstheadwidth}% +Die Pseudolänge \PLength{firstheadwidth} gibt die Breite des +Briefkopfes an. Der Wert wird in den vordefinierten \File{lco}-Dateien +unterschiedlich gesetzt. Während er normalerweise von der +Papierbreite und dem horizontalen Abstand der Empfängeradresse vom +linken Papierrand abhängt, entspricht er bei \Option{KOMAold} der +Breite des Satzspiegels. +% +\EndIndex{PLength}{firstheadwidth}% + + +\begin{Declaration} + \Variable{fromname}\\ + \Variable{fromaddress}\\ + \Variable{fromphone}\\ + \Variable{fromfax}\\ + \Variable{fromemail}\\ + \Variable{fromurl}\\ + \Variable{fromlogo} +\end{Declaration} +\BeginIndex{Variable}{fromname}% +\BeginIndex{Variable}{fromaddress}% +\BeginIndex{Variable}{fromphone}% +\BeginIndex{Variable}{fromfax}% +\BeginIndex{Variable}{fromemail}% +\BeginIndex{Variable}{fromurl}% +\BeginIndex{Variable}{fromlogo}% +Diese Variablen stellen die Absenderangaben\Index{Absender} für den Briefkopf, +also den Kopf der ersten Seite eines Briefes dar. Welche dieser Variablen +tatsächlich für den Briefkopf verwendet werden, kann bei Verwendung der +Briefkopferweiterungen (siehe Option \Option{fromalign} in +\autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.fromalign}) über die entsprechenden Optionen +eingestellt werden. Die Variablen \Variable{fromname} und +\Variable{fromaddress} werden im Briefkopf ebenso wie +\Variable{fromlogo}\Index{Logo} ohne Bezeichnung, die Variablen +\Variable{fromphone}\Index{Telefon}, \Variable{fromfax}\Index{Fax}, +\Variable{fromemail}\Index{E-Mail} und +\Variable{fromurl}\Index{URL}\Index{WWW}\Index{Homepage} hingegen mit ihrer +Bezeichnung gesetzt. Die Bezeichnungen sind \autoref{tab:scrlttr2.fromTerm}, +\autopageref{tab:scrlttr2.fromTerm} zu entnehmen. +% +\begin{table} + \centering + \caption[{Vordefinierte Bezeichnungen der Variablen für die\newline + Absenderangaben im Briefkopf}]{Vordefinierte Bezeichnungen der Variablen + für die Absenderangaben im Briefkopf} + \begin{desctabular}[1.8em] + \ventry{fromemail}{\Macro{usekomavar*}\PParameter{emailseparator}% + \Macro{usekomavar}\PParameter{emailseparator}}% + \ventry{fromfax}{\Macro{usekomavar*}\PParameter{faxseparator}% + \Macro{usekomavar}\PParameter{faxseparator}}% + \ventry{fromname}{\Macro{headfromname}}% + \ventry{fromphone}{\Macro{usekomavar*}\PParameter{phoneseparator}% + \Macro{usekomavar}\PParameter{phoneseparator}}% + \ventry{fromurl}{\Macro{usekomavar*}\PParameter{urlseparator}% + \Macro{usekomavar}\PParameter{urlseparator}}% + \end{desctabular} + \label{tab:scrlttr2.fromTerm} +\end{table} + +Ein wichtiger Hinweis betrifft noch die Absenderadresse: Innerhalb der +Absenderadresse werden einzelne Teilangaben durch doppelten Backslash +voneinander getrennt. Solche Teilangaben sind beispielsweise Straße und +Hausnummer, Postleitzahl und Ort oder eine Länderangabe. Dieser doppelte +Backslash wird je nach Verwendung der Absenderadresse unterschiedlich +interpretiert und ist nicht zwangsläufig als Zeilenumbruch zu verstehen. +Absätze, vertikale Abstände und Ähnliches sind innerhalb der Absenderangaben +normalerweise nicht gestattet. Man muss \Class{scrlttr2} schon sehr genau +kennen, um sie gegebenenfalls sinnvoll einsetzen zu können. Außerdem sollte +man unbedingt die Variablen für Rücksendeadresse (siehe +\autoref{sec:scrlttr2.addressee}, +\autopageref{desc:scrlttr2.variable.backaddress}) und Signatur (siehe +\autoref{sec:scrlttr2.closing}, +\autopageref{desc:scrlttr2.variable.signature}) selbst setzen. + +Für das Logo kann übrigens auch eine externe Abbildung geladen werden. +Dazu setzt man als Inhalt der Variablen \Variable{fromlogo} +beispielsweise eine \Macro{includegraphics}-Anweisung. +Selbstverständlich muss dann im Vorspann des Briefdokuments (siehe +\autoref{sec:scrlttr2.document}) auch das \Package{graphics}- oder +\Package{graphicx}-Paket geladen werden (siehe +\cite{package:graphics}). +% +\EndIndex{Variable}{fromname}% +\EndIndex{Variable}{fromaddress}% +\EndIndex{Variable}{fromphone}% +\EndIndex{Variable}{fromfax}% +\EndIndex{Variable}{fromemail}% +\EndIndex{Variable}{fromurl}% +\EndIndex{Variable}{fromlogo}% + +\begin{Declaration} + \PLength{fromrulewidth} +\end{Declaration} +\BeginIndex{PLength}{fromrulewidth}% +Wie bereits bei Option \Option{fromrule}\IndexOption{fromrule} in +\autoref{sec:scrlttr2.headoptions}, \autopageref{desc:scrlttr2.option.fromrule} +erwähnt wurde, kann in den vordefinierten Briefköpfen eine Linie im oder unter +dem Absender gesetzt werden. Hat die Pseudolänge \PLength{fromrulewidth} die +Länge 0, so wird dabei die Länge dieser Linie automatisch bestimmt. Dies ist +die Voreinstellung bei den vordefinierten \File{lco}-Dateien. Der Wert kann +mit \Macro{\@setplength} (siehe \autoref{sec:scrlttr2.pseudoLength}, +\autopageref{desc:scrlttr2.macro.@setplength}) in eigenen \File{lco}-Dateien +aber auch abweichend gesetzt werden. +% +\EndIndex{PLength}{fromrulewidth} + +\begin{Declaration} + \Variable{phoneseparator}\\ + \Variable{faxseparator}\\ + \Variable{emailseparator}\\ + \Variable{urlseparator} +\end{Declaration} +\BeginIndex{Variable}{phoneseparator}% +\BeginIndex{Variable}{faxseparator}% +\BeginIndex{Variable}{emailseparator}% +\BeginIndex{Variable}{urlseparator}% +\Index{Telefon}\Index{Fax}\Index{E-Mail}% +\Index{URL}\Index{WWW}\Index{Homepage}% +In diesen Variablen sind Trennzeichen\Index{Trennzeichen} definiert. +Sie werden gegebenenfalls in den Absenderangaben des Briefkopfes +verwendet (siehe \autoref{tab:scrlttr2.fromTerm}). Als Besonderheit +haben sie außerdem eine Bezeichnung. Die Bezeichnungen werden +ebenfalls in den Absenderangaben des Briefkopfes verwendet. Der +vordefinierte Inhalt und die Bezeichnung der Trennzeichen sind +\autoref{tab:scrlttr2.fromSeperator} zu entnehmen. +\begin{table} + \centering + \caption{Vordefinierte Bezeichnungen und Inhalte der Trennzeichen + für die Absenderangaben im Briefkopf} + \begin{tabular}{lll} + \toprule + Name & Bezeichnung & Inhalt \\ + \midrule + \Variable{emailseparator} & \Macro{emailname} & \texttt{:\~} \\ + \Variable{faxseparator} & \Macro{faxname} & \texttt{:\~} \\ + \Variable{phoneseparator} & \Macro{phonename} & \texttt{:\~} \\ + \Variable{urlseparator} & \Macro{wwwname} & \texttt{:\~} \\ + \bottomrule + \end{tabular} + \label{tab:scrlttr2.fromSeperator} +\end{table} +% +\EndIndex{Variable}{phoneseparator}% +\EndIndex{Variable}{faxseparator}% +\EndIndex{Variable}{emailseparator}% +\EndIndex{Variable}{urlseparator}% + + +\begin{Declaration} + \Macro{firsthead}\Parameter{Aufbau} +\end{Declaration} +\BeginIndex{Cmd}{firsthead}% +In vielen Fällen reichen die Möglichkeiten aus, die \Class{scrlttr2} über +Optionen und obige Variablen für die Gestaltung des Briefkopfes bietet. In +einigen Fällen will man jedoch den Briefkopf freier gestalten können. In +diesen Fällen muss man auf die Möglichkeiten der vordefinierten Briefköpfe, +die per Option ausgewählt werden können, verzichten. Stattdessen gestaltet man +sich seinen Briefkopf frei. Dazu definiert man den gewünschten \PName{Aufbau} +mit der Anweisung \Macro{firsthead}. Innerhalb von \Macro{firsthead} können +beispielsweise mit Hilfe der \Macro{parbox}-Anweisung (siehe +\cite{latex:usrguide}) mehrere Boxen neben- und untereinander gesetzt werden. +Einem versierten Anwender sollte es so möglich sein, seinen eigenen Briefkopf +zu gestalten. Natürlich kann \PName{Aufbau} auch Zugriffe auf Variablen mit +Hilfe von \Macro{usekomavar} nehmen. +% +\EndIndex{Cmd}{firsthead}% +% +\EndIndex{}{Briefkopf}% + + +\subsection{Briefbogenfuß} +\label{sec:scrlttr2.firstFoot}% +\BeginIndex{}{Briefbogenfuss=Briefbogenfuß}% + +Die erste Seite eines Briefes, der Briefbogen, enthält nicht nur einen eigenen +Kopf, den Briefkopf. Diese Seite enthält auch einen eigenen +Fuß\Index{Fuss=Fuß}. Auch dieser wird nicht über den Seitenstil, +sondern direkt von \Macro{opening}\IndexCmd{opening} ausgegeben. + + +\begin{Declaration} + \PLength{firstfootvpos} +\end{Declaration} +\BeginIndex{PLength}{firstfootvpos}% +Diese Pseudolänge gibt den Abstand des Fußes der ersten Briefseite von der +Oberkante des Papiers an. Es wird außerdem dafür gesorgt, +dass der Textbereich nicht in den Fuß hineinragt. Hierzu wird auf der ersten +Seite gegebenenfalls die Höhe des Textbereiches mit Hilfe von +\Macro{enlargethispage} verkleinert. Mit Hilfe der Option +\Option{enlargefirstpage} kann dafür gesorgt werden, dass die Höhe des +Textbereiches umgekehrt gegebenenfalls auch vergrößert wird. Damit kann dann +der Abstand zwischen Textbereich und Fuß der ersten Seite auf den Wert der +Länge \Length{footskip} verringert werden. Siehe hierzu auch +\autoref{sec:scrlttr2.typeareaOptions}, +\autopageref{desc:scrlttr2.option.enlargefirstpage}. + +Bei einer Kompatibilitätseinstellung\ChangedAt{2.9t}{\Class{scrlttr2}} bis +Version 2.9t (siehe \Option{version} in +\autoref{sec:scrlttr2.compatibilityOptions}, +\autopageref{desc:scrlttr2.option.version}) wird außer bei \Option{KOMAold} in +allen vordefinierten \File{lco}-Dateien (siehe +\autoref{sec:scrlttr2.lcoFile}) der Fuß abhängig vom Satzspiegel gesetzt. +Damit hat dann auch \Option{enlargefirstpage} keine Wirkung. Ab Version 2.9u +bekommt der Fuß eine Position am unteren Ende des Papiers. Damit ist dann die +Höhe des Satzspiegels des Briefbogens eventuell auch von der Option +\Option{enlargefirstpage} abhängig. +% +\EndIndex{PLength}{firstfootvpos}% + + +\begin{Declaration} + \PLength{firstfootwidth} +\end{Declaration} +\BeginIndex{PLength}{firstfootwidth}% +Diese Pseudolänge gibt die Breite des Fußes der ersten Briefseite +an. Der Wert stimmt in den vordefinierten \File{lco}-Dateien mit +\PLength{firstheadwidth} überein.% +% +\EndIndex{PLength}{firstfootwidth}% + + +\begin{Declaration} + \Macro{firstfoot}\Parameter{Aufbau} +\end{Declaration} +\BeginIndex{Cmd}{firstfoot}% +Der Fuß der ersten Seite ist in der Voreinstellung leer. Es besteht +jedoch die Möglichkeit einen \PName{Aufbau} mit Hilfe der Anweisung +\Macro{firstfoot} zu definieren. Dies geschieht genau wie die +Definition des Kopfes mit Hilfe von \Macro{firsthead}. +\begin{Example} + Sie wollen den Inhalt der Variablen \Variable{frombank}, also die + Bankverbindung im Fuß der ersten Seite ausgeben. Der doppelte + Backslash soll dabei durch ein Komma ersetzt werden: +\begin{lstlisting} + \firstfoot{% + \parbox[b]{\linewidth}{% + \centering\def\\{, }\usekomavar{frombank}% + }% + } +\end{lstlisting} + Natürlich können Sie für das Trennzeichen auch eine eigene Variable + definieren. Ich überlasse dem Leser dies als Übung. + + Heutzutage hat man recht häufig, dass eine Art Brief"|fuß als + Gegengewicht zum Briefkopf verwendet wird. So etwas kann + beispielsweise wie folgt definiert werden: +\begin{lstlisting} + \firstfoot{% + \parbox[t]{\textwidth}{\footnotesize + \begin{tabular}[t]{l@{}}% + \multicolumn{1}{@{}l@{}}{Gesellschafter:}\\ + Hugo Mayer\\ + Bernd Müller + \end{tabular}% + \hfill + \begin{tabular}[t]{l@{}}% + \multicolumn{1}{@{}l@{}}{Geschäftsführerin:}\\ + Liselotte Mayer\\[1ex] + \multicolumn{1}{@{}l@{}}{Gerichtsstand:}\\ + Hinterdupfeldingen + \end{tabular}% + \ifkomavarempty{frombank}{}{% + \hfill + \begin{tabular}[t]{l@{}}% + \multicolumn{1}{@{}l@{}}{% + \usekomavar*{frombank}:}\\ + \usekomavar{frombank} + \end{tabular}% + }% + }% + } +\end{lstlisting} + Das Beispiel stammt übrigens ursprünglich von Torsten Krüger. Mit +\begin{lstlisting} + \setkomavar{frombank}{Konto 12\,345\,678\\ + bei der HansWurstBank\\ + BLZ 876\,543\,21} +\end{lstlisting} +kann die Bankverbindung passend dazu gesetzt werden. Abhängig von den +Voreinstellungen ist ein solch hoher Fuß nicht vorgesehen und wird deshalb +möglicherweise zu tief platziert. In einem solchen Fall kann die vertikale +Position über die Pseudolänge +\PLength{firstfootvpos}\IndexPLength{firstfootvpos}, die weiter oben in diesem +Abschnitt beschrieben ist, angepasst werden. +% Möglicherweise +% muss für einen solch hohen Fuß noch die Position des Fußes nach +% oben verschoben werden. Dies können Sie gegebenenfalls über die +% Pseudolänge \PLength{firstfootvpos}\IndexPLength{firstfootvpos} +% erreichen, die weiter oben in diesem Abschnitt beschrieben ist. +\end{Example} + +Im letzten Beispiel wurde ein mehrzeiliger Fuß gesetzt. Bei einer +Kompatibilitätseinstellung aber Version 2.9u (siehe \Option{version} in +\autoref{sec:scrlttr2.compatibilityOptions}, +\autopageref{desc:scrlttr2.option.version}) reicht der Platz dafür in der +Regel nicht aus. Sie sollten dann \PLength{firstfootvpos} (siehe +\autopageref{desc:scrlttr2.plength.firstfootvpos}) entsprechend verringern.% +% +\EndIndex{Cmd}{firstfoot}% +% +\EndIndex{}{Briefbogenfuss=Briefbogenfuß}% + + +\subsection{Anschrift} +\label{sec:scrlttr2.addressee}% +\BeginIndex{}{Anschrift}% + +Unter der Anschrift versteht man normalerweise nur den Namen und die +Adresse des Empfängers. Als erste Erweiterung zur Anschrift kann die +Versandart betrachtet werden, die etwa bei Einschreiben oder +Infobriefen zur Anwendung kommt. Bei Fensterbriefumschlägen wird auch +die sogenannte Rücksendeadresse zur Anschrift gezählt, da sie im +Anschriftfenster zu sehen sein wird. Die Anschrift folgt unmittelbar +auf den Briefkopf. + + +\begin{Declaration} + \PLength{toaddrvpos}\\ + \PLength{toaddrhpos} +\end{Declaration} +\BeginIndex{PLength}{toaddrvpos}% +\BeginIndex{PLength}{toaddrhpos}% +Diese Pseudolängen geben den Abstand des Anschriftfensters eines +Fensterbriefumschlags vom oberen und vom linken Rand des Papiers an. Sie +werden in den vordefinierten \File{lco}-Dateien unterschiedlich eingestellt. +Für \PLength{toaddrhpos} gilt außerdem eine Besonderheit. Ist der Wert +negativ, so ist sein Betrag der Abstand des Anschriftfeldes vom rechten Rand +des Papiers. Sie finden dies beispielsweise bei \Option{SN}. Am kleinsten ist +der Wert \PLength{toaddrvpos} bei \Option{DINmtext}. Hier kann es schnell +passieren, dass der Briefkopf in das Anschriftfenster ragt. Ob das +Anschriftfenster überhaupt gesetzt wird, hängt von der Option +\Option{addrfield} ab (siehe \autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.addrfield}). +% +\EndIndex{PLength}{toaddrhpos}% +\EndIndex{PLength}{toaddrvpos}% + +\begin{Declaration} + \PLength{toaddrheight} +\end{Declaration} +\BeginIndex{PLength}{toaddrheight}% +Diese Pseudolänge gibt die Höhe des Anschriftenfeldes einschließlich der +Versandart an. Ist keine Versandart angegeben, so wird die Anschrift vertikal +innerhalb dieses Feldes zentriert. Ist eine Versandart angegeben, so wird die +Anschrift unterhalb der Versandart vertikal im Rest des Anschriftenfeldes +zentriert.% +\EndIndex{PLength}{toaddrheight} + +\begin{Declaration} + \PLength{toaddrwidth} +\end{Declaration} +\BeginIndex{PLength}{toaddrwidth}% +Diese Pseudolänge gibt die Breite des Anschriftfensters an. Diese wird +in den vordefinierten \File{lco}-Dateien entsprechend der +unterschiedlichen Normen unterschiedlich eingestellt. Typische Werte +liegen zwischen 70\Unit{mm} und 100\Unit{mm}. +\begin{Example} + Angenommen, Sie haben das Problem, dass Ihr Drucker einen sehr + breiten unbedruckbaren rechten oder linken Rand von 15\Unit{mm} + besitzt. Dadurch kann bei Option \Option{SN} der Briefkopf, die + Absenderergänzung und die Anschrift nicht komplett gedruckt + werden. Sie erstellen daher eine neue \File{lco}-Datei mit folgendem + Inhalt: +\begin{lstlisting} + \ProvidesFile{SNmmarg.lco} + [2002/06/04 v0.1 my own lco] + \LoadLetterOption{SN} + \@addtoplength{toaddrwidth}{% + -\useplength{toaddrhpos}} + \@setplength{toaddrhpos}{-15mm} + \@addtoplength{toaddrwidth}{% + \useplength{toaddrhpos}} + \endinput +\end{lstlisting} + Bis Sie sich einen Drucker mit kleineren Rändern zugelegt haben, + verwenden Sie dann \Option{SNmmarg} an Stelle von \Option{SN}. +\end{Example} +% +\EndIndex{PLength}{toaddrwidth}% + + +\begin{Declaration} + \PLength{toaddrindent} +\end{Declaration} +\BeginIndex{PLength}{toaddrindent}% +Manchmal will man, dass die Anschrift nicht am linken Rand des +Anschriftfensters beginnt, sondern ein wenig eingezogen wird. Der Wert +dieses Einzugs kann über die Pseudolänge \PLength{toaddrindent} +festgelegt werden. Typischerweise ist dieser Wert jedoch 0\Unit{pt}. +% +\EndIndex{PLength}{toaddrindent}% + + +\begin{Declaration} + \Variable{backaddress}\\ + \Variable{backaddressseparator}\\ + \PLength{backaddrheight} +\end{Declaration} +\BeginIndex{Variable}{backaddress}% +\BeginIndex{Variable}{backaddressseparator}% +\BeginIndex{PLength}{backaddrheight}% +Bei Fensterbriefumschlägen wird der Absender häufig in einer kleinen Schrift +einzeilig über der Empfängeradresse ausgegeben. Diese Absenderangabe nennt man +Rücksendeadresse. Die Rücksendeadresse wird mit einer horizontalen Linie +abgetrennt. Der Inhalt der Rücksendeadresse\Index{Rücksendeadresse} wird +normalerweise automatisch aus den Variablen \Variable{fromname} und +\Variable{fromaddress} gebildet. Innerhalb der Rücksendeadresse wird der +doppelte Backslash durch den Inhalt der Variablen +\Variable{backaddressseparator} ersetzt. Vordefiniert ist hierbei ein Komma, +gefolgt von einem nicht umbrechbaren Leerzeichen. + +Die Höhe, die innerhalb des +Anschriftfensters für die Rücksendeadresse zur Verfügung steht, ist in der +Pseudolänge \PLength{backaddrheight} abgelegt. Der Wert wird in den +vordefinierten \File{lco}-Dateien typischerweise auf 5\Unit{mm} eingestellt. +Ob die Rücksendeadresse überhaupt gesetzt wird, bestimmt der Anwender mit den +Optionen \Option{addrfield} (siehe \autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.addrfield} und \Option{backaddress} (siehe +\autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.backaddress}). +% +\EndIndex{PLength}{backaddrheight}% +\EndIndex{Variable}{backaddress}% +\EndIndex{Variable}{backaddressseparator}% + + +\begin{Declaration} + \Variable{specialmail}\\ + \PLength{specialmailindent}\\ + \PLength{specialmailrightindent} +\end{Declaration} +\BeginIndex{Variable}{specialmail}% +\BeginIndex{PLength}{specialmailindent}% +\BeginIndex{PLength}{specialmailrightindent}% +Zwischen Rücksendeadresse und Empfängeradresse kann noch eine +optionale Versandart\Index{Versandart} gesetzt werden. Diese wird +genau dann gesetzt, wenn die Variable \Variable{specialmail} einen +Inhalt hat. Die Ausrichtung wird mit Hilfe der Pseudolängen +\PLength{specialmailindent} und \PLength{specialmailrightindent} +festgelegt. Diese geben den linken und rechten Einzug der Zeile an. In +den vordefinierten \File{lco}-Dateien ist \PLength{specialmailindent} +auf den dehnbaren Wert \Macro{fill} gesetzt, während +\PLength{specialmailrightindent} auf 1\Unit{em} eingestellt ist. Damit +wird die Versandart 1\Unit{em} vom rechten Rand des Anschriftfensters +gesetzt. +% +\EndIndex{PLength}{specialmailindent}% +\EndIndex{PLength}{specialmailrightindent}% +\EndIndex{Variable}{specialmail}% + + +\begin{Declaration} + \Variable{toname}\\ + \Variable{toaddress} +\end{Declaration} +\BeginIndex{Variable}{toname}% +\BeginIndex{Variable}{toaddress}% +Diese beiden Variablen, die den Namen und die Adresse des Empfängers +beinhalten, werden normalerweise nicht direkt vom Anwender gesetzt. Vielmehr +gewinnt sie \Class{scrlttr2} direkt aus dem \PName{Empfänger}-Argument der +\Environment{letter}-Umgebung\IndexEnv{letter}. Beachten Sie auch hier den +wichtigen Hinweis zur Absenderadresse aus \autoref{sec:scrlttr2.firstHead}, +\autopageref{desc:scrlttr2.variable.fromname}. +% +\EndIndex{Variable}{toname}% +\EndIndex{Variable}{toaddress}% + + +\begin{Declaration} + \Environment{letter}\OParameter{Optionen}\Parameter{Anschrift} +\end{Declaration} +\BeginIndex{Env}{letter}% +Die Briefumgebung, \Environment{letter}, ist nur einer der zentralen Dreh- und +Angelpunkte der Briefklasse. Als Besonderheit kann man bei \Class{scrlttr2} +der Briefumgebung zusätzliche \PName{Optionen} mit auf den Weg geben. Diese +werden dann intern per \Macro{KOMAoptions}-Anweisung ausgeführt. + +Die \PName{Anschrift} wird als obligatorischer Parameter an die Umgebung +übergeben. Dabei dient der doppelte Backslash als Trennzeichen zwischen +einzelnen Teilen der \PName{Anschrift}. Diese einzelnen Teile werden im +Anschriftfeld als einzelne Zeilen ausgegeben. Dennoch sollte der doppelte +Backslash hier nicht als fester Zeilenumbruch verstanden werden. Absätze, +vertikaler Leerraum und Ähnliches sind in der Anschrift nicht erlaubt. Sie +können zu unerwarteten Effekten und Fehlermeldungen führen. Dies ist übrigens +bei der Standardbriefklasse genauso. + +Die \Environment{letter}-Umgebung beginnt den Brief selbst noch nicht. Dies +geschieht erst mit der \Macro{opening}-Anweisung\IndexCmd{opening}.% +\EndIndex{Env}{letter}% + + +\begin{Declaration} + \Macro{AtBeginLetter}\Parameter{Anweisungen} +\end{Declaration} +\BeginIndex{Cmd}{AtBeginLetter}% +Wie in \cite{latex:clsguide} erwähnt, gibt es bei \LaTeX{} die Möglichkeit, an +bestimmten Stellen während des \LaTeX-Laufs eines Dokuments zusätzliche +\PName{Anweisungen} ausführen zu lassen. Diesem Zweck dienen beispielsweise +die Anweisungen \Macro{AtBeginDocument} und \Macro{AtEndOfClass}. Man nennt +solche Eingriffspunkte auch \emph{hooks}\Index{hook=\emph{hook}}, also +Haken\Index{Haken}. Die Klasse \Class{scrlttr2} fügt einen weiteren Haken +hinzu, der mit \Macro{AtBeginLetter} mit Fleisch versehen werden kann. Wie man +schon daran erkennt, dass Anweisungen für die Haken nicht in +\cite{latex:usrguide} sondern in \cite{latex:clsguide} dokumentiert sind, sind +diese Anweisungen eigentlich eher für Paket- und Klassenautoren gedacht. Bei +der Briefklasse kann es jedoch eine sinnvolle Anwendung für +\Macro{AtBeginLetter} auch auf Benutzerebene geben. Das folgende Beispiel +zeigt dies. +% +\begin{Example} + Angenommen, Sie haben mehrere Briefe in einem Dokument. Sie verwenden + außerdem eine eigene Anweisung, um in den Briefen einen Fragebogen + zu setzen. Dabei werden die Fragen automatisch mit Hilfe eines + Zählers nummeriert. Da \Class{scrlttr2} dieser Zähler nicht bekannt + ist, würde er auch im Gegensatz etwa zur Seitenzahl am Anfang eines + neuen Briefes nicht zurückgesetzt. Wenn jeder Brief zehn Fragen + beinhaltet, hätte damit die erste Frage im fünften Brief die Nummer + 41 statt der Nummer 1. Sie lösen das, indem Sie \Class{scrlttr2} + mitteilen, dass am Anfang jeden Briefes der Zähler zurückgesetzt + werden soll: +\begin{lstlisting} + \newcounter{Frage} + \newcommand{\Frage}[1]{% + \refstepcounter{Frage}\par + \@hangfrom{\makebox[2em][r]{\theFrage:~}}{#1}} + \AtBeginLetter{\setcounter{Frage}{0}} +\end{lstlisting} + Damit hat dann auch die erste Frage im 1001. Brief wieder die Nummer 1. + Selbstverständlich gehören die entsprechenden Definitionen und Anweisungen + entweder mit \Macro{makeatletter} und \Macro{makeatother} geklammert (siehe + \cite{DANTE:FAQ}) in den Vorspann des Briefdokuments (siehe + \autoref{sec:scrlttr2.document} sowie \autoref{fig:scrlttr2.document}, + \autopageref{fig:scrlttr2.document}) oder in ein eigenes Paket oder eine + \File{lco}-Datei (siehe \autoref{sec:scrlttr2.lcoFile}). +\end{Example} +% +\EndIndex{Cmd}{AtBeginLetter}% +% +\EndIndex{}{Anschrift}% + +\subsection{Absenderergänzungen} +\label{sec:scrlttr2.locationField} + +Insbesondere bei Geschäftsbriefen reicht der Platz im Briefkopf und im +Seitenfuß oftmals nicht aus, um alle Angaben des Absenders +unterzubringen. Für die zusätzlichen Informationen wird oft der Platz +neben der Anschrift genutzt. In dieser Anleitung wird dieses Feld +\emph{Absenderergänzung} genannt. + + +\begin{Declaration} + \PLength{locwidth} +\end{Declaration} +\BeginIndex{PLength}{locwidth}% +Diese Pseudolänge \PLength{locwidth} gibt die Breite der Absenderergänzung an. +Ihr Wert wird in den vordefinierten \File{lco}-Dateien typischerweise auf +0\Unit{pt} gesetzt. Dieser Wert nimmt eine Sonderstellung ein. Er bedeutet +nicht, dass die Absenderergänzung die Breite Null besitzen soll. Vielmehr wird +bei diesem Wert die tatsächliche Breite erst bei +\Macro{opening}\IndexCmd{opening} an Hand der Breite des Papiers, der Breite +des Anschriftfensters und dem Abstand des Anschriftfensters vom linken Rand +gesetzt. Dabei findet auch die Option \Option{locfield} (siehe +\autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.locfield}) Berücksichtigung. +% +\EndIndex{PLength}{locwidth} + + +\begin{Declaration} + \Variable{location} +\end{Declaration} +\BeginIndex{Variable}{location}% +Der Inhalt der Absenderergänzung wird mit der Variablen \Variable{location} +festgelegt. Für den Inhalt dieser Variablen dürfen auch Formatieranweisungen +wie \Macro{raggedright} verwendet werden. Es ist zu beachten, dass je nach +Einstellung der Optionen \Option{fromalign} und \Option{fromlogo} ein Teil der +Absenderergänzung bereits durch das Logo belegt wird (siehe +\autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.fromalign} und +\autopageref{desc:scrlttr2.option.fromlogo}). +% +\begin{Example} + Angenommen, Sie wollen in der Absenderergänzung die Gesellschafter, + den Geschäftsführer und den Gerichtsstand Ihrer Firma angeben. Dies + kann beispielsweise wie folgt geschehen: +\begin{lstlisting} + \KOMAoptions{locfield=wide} + \setkomavar{location}{\raggedright + \textbf{Gesellschafter:}\\ + \quad Hugo Mayer\\ + \quad Bernd Müller\\[1ex] + \textbf{Geschäftsführerin:}\\ + \quad Liselotte Mayer\\[1ex] + \textbf{Gerichtsstand:}\\ + \quad Hinterdupfeldingen + } +\end{lstlisting} + Die Option \Option{locfield=wide} setzen Sie, damit die ganzen + Angaben horizontal auch wirklich passen. Solche Angaben können Sie + übrigens auch zusammen mit den allgemeinen Absenderangaben in Ihre + eigene \File{lco}-Datei packen. +\end{Example} +% +\EndIndex{Variable}{location}% + + +\subsection{Geschäftszeile} +\label{sec:scrlttr2.refLine}% +\BeginIndex{}{Geschäftszeile}% + +Insbesondere bei Geschäftsbriefen findet sich häufig eine Zeile mit Angaben +wie Namenskürzeln\Index{Kürzel}, Durchwahl\Index{Durchwahl}, +Kunden-\Index{Kundennummer} und Rechnungsnummer\Index{Rechnungsnummer} oder +zur Bezugnahme auf ein früheres Schreiben. Diese Zeile wird in dieser +Anleitung \emph{Geschäftszeile} genannt. Die Geschäftszeile kann auch länger +als eine Zeile sein und wird nur gesetzt, wenn mindestens eine der Variablen +für die Geschäftszeile nicht leer ist. Es werden nur die Felder gesetzt, +die nicht leer sind. Um ein scheinbar leeres Feld zu setzen, muss man der +entsprechenden Variablen einen scheinbar leeren Inhalt, beispielsweise ein +festes Leerzeichen oder \Macro{null}, geben. Wird auf die Geschäftszeile +verzichtet, so werden an ihrer Stelle Bezeichnung und Inhalt der Variablen +\Variable{date} ausgegeben. Informationen, wie Variablen zur Geschäftszeile +hinzugefügt oder entfernt werden, sind in \autoref{sec:scrlttr2.variables}, +\autopageref{desc:scrlttr2.macro.removereffields} zu finden. + + +\begin{Declaration} + \PLength{refvpos} +\end{Declaration} +\BeginIndex{PLength}{refvpos}% +Diese Pseudolänge gibt den Abstand der Geschäftszeile von der Oberkante +des Papiers an. Ihr Wert wird in den vordefinierten \File{lco}-Dateien +unterschiedlich eingestellt. Typische Werte liegen zwischen +80{,}5\Unit{mm} und 98{,}5\Unit{mm}. +% +\EndIndex{PLength}{refvpos}% + + +\begin{Declaration} + \PLength{refwidth}\\ + \PLength{refhpos} +\end{Declaration} +\BeginIndex{PLength}{refwidth}% +\BeginIndex{PLength}{refhpos}% +Die Pseudolänge \PLength{refwidth} gibt die Breite an, die für die +Geschäftszeile zur Verfügung steht. Ihr Wert wird in den vordefinierten +\File{lco}-Dateien typischerweise auf 0\Unit{pt} gesetzt. Dieser Wert hat eine +besondere Bedeutung. Es wird damit keineswegs festgelegt, dass für die +Geschäftszeile keine Breite zur Verfügung steht. Vielmehr bedeutet der Wert, +dass die verfügbare Breite erst innerhalb von +\Macro{opening}\IndexCmd{opening} ermittelt wird. Die dort ermittelte Breite +richtet sich dann nach der Einstellung der Option \Option{refline} (siehe +\autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.refline}). Gleichzeitig wird dann auch +\PLength{refhpos} entsprechend der Option gesetzt. Bei +\Option{refline=}\PValue{wide} wird die Geschäftszeile zentriert, wohingegen +sie bei \Option{refline=}\PValue{narrow} am Satzspiegel links ausgerichtet +wird. + +Ist \PLength{refwidth} von Null verschieden, wird die Breite der +Geschäftszeile also nicht von der Option \Option{refline} bestimmt, so gibt +\PLength{refhpos} den Abstand der Geschäftszeile von der linken Papierkante +an. Ist dieser Abstand Null, so wird die Geschäftszeile so ausgerichtet, dass +das Verhältnis zwischen ihrem Abstand von der linken Papierkante zu ihrem +Abstand von der rechten Papierkante dem Verhältnis zwischen dem Abstand des +Satzspiegels von der linken Papierkante zu seinem Abstand von der rechten +Papierkante entspricht. Bei auf dem Papier horizontal zentriertem Satzspiegel +wird also auch die Geschäftszeile zentriert. + +In der Regel werden diese Sonderfälle für den normalen Anwender von geringem +Interesse sein. Die einfachste Regel lautet hier: Entweder wird +\PLength{refwidth} auf Null belassen und die Breite und Ausrichtung der +Geschäftszeile über die Option \Option{refline} überlassen, oder sowohl +\PLength{refwidth} als auch \PLength{refhpos} werden vom Anwender vorgegeben. +% +\EndIndex{PLength}{refwidth}% +\EndIndex{PLength}{refhpos}% + + +\begin{Declaration} + \PLength{refaftervskip} +\end{Declaration} +\BeginIndex{PLength}{refaftervskip}% +Diese Pseudolänge gibt den vertikalen Abstand an, der nach der +Geschäftszeile eingefügt werden soll. Der Wert wird in den +vordefinierten \File{lco}-Dateien eingestellt. Er wirkt sich +unmittelbar auf die Höhe des Textbereiches der ersten Seite aus. Der +typische Wert liegt zwischen einer und zwei Zeilen. +% +\EndIndex{PLength}{refaftervskip}% + + +\begin{Declaration} + \Variable{yourref}\\ + \Variable{yourmail}\\ + \Variable{myref}\\ + \Variable{customer}\\ + \Variable{invoice} \\ + \Variable{date} +\end{Declaration} +\BeginIndex{Variable}{yourref}% +\BeginIndex{Variable}{yourmail}% +\BeginIndex{Variable}{myref}% +\BeginIndex{Variable}{customer}% +\BeginIndex{Variable}{invoice}% +\BeginIndex{Variable}{date}% +\looseness=-1 Bei diesen Variablen handelt es sich um typische Felder der +Geschäftszeile. Ihre Bedeutung entnehmen Sie bitte +\autoref{tab:scrlttr2.variables} auf +\autopageref{tab:scrlttr2.variables}. Jede dieser Variablen hat +außerdem eine vordefinierte Bezeichnung, die in +\autoref{tab:scrlttr2.reflineTerm} zu finden ist. Die Breite des +Feldes, das zu jeder Variablen in der Geschäftszeile gehört, passt +sich automatisch der Bezeichnung und dem Inhalt an.% + + +\EndIndex{Variable}{yourref}% +\EndIndex{Variable}{yourmail}% +\EndIndex{Variable}{myref}% +\EndIndex{Variable}{customer}% +\EndIndex{Variable}{invoice}% +\EndIndex{Variable}{date}% +% +\begin{Declaration} + \Variable{place}\\ + \Variable{placeseparator} +\end{Declaration} +\BeginIndex{Variable}{place}% +\BeginIndex{Variable}{placeseparator}% +Wie bereits in der Einleitung dieses Abschnitts erwähnt wurde, kann die +Geschäftszeile auch entfallen. Dies geschieht, wenn alle Variablen der +Geschäftszeile bis auf das Datum leer sind. In diesem Fall wird statt des +Datums\Index{Datum} der Inhalt der Variablen für den Ort\Index{Ort}, +\Variable{place}, und der Inhalt der Variablen für das +Trennzeichens\Index{Trennzeichen}, \Variable{placeseparator}, gefolgt vom +Inhalt der Variablen für das Datum, \Variable{date}, gesetzt. Der +vordefinierte Inhalt des Trennzeichens ist dabei ein Komma gefolgt von einem +nicht umbrechbaren Leerzeichen. Ist der Ort leer, so wird auch das +Trennzeichen nicht gesetzt. Der vordefinierte Inhalt der Variablen +\Variable{date} ist \Macro{today}\IndexCmd{today} und hängt von der +Einstellung der Option \Option{numericaldate} ab (siehe +\autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.numericaldate}). +% +\EndIndex{Variable}{place}% +\EndIndex{Variable}{placeseparator}% +% +\EndIndex{}{Geschäftszeile}% + +\begin{table} + \centering + \caption[{Vordefinierte Bezeichnungen der Variablen der + Geschäftszeile}]{Vordefinierte Bezeichnungen der typischen Variablen der + Geschäftszeile unter Verwendung sprachabhängiger Anweisungen} + \begin{tabular}{lll} + \toprule + Name & Bezeichnung & bei deutscher Sprache \\ + \midrule + \Variable{yourref} & \Macro{yourrefname} & Ihr Zeichen \\ + \Variable{yourmail} & \Macro{yourmailname} & Ihr Schreiben vom \\ + \Variable{myref} & \Macro{myrefname} & Unser Zeichen \\ + \Variable{customer} & \Macro{customername} & Kundennummer \\ + \Variable{invoice} & \Macro{invoicename} & Rechnungsnummer \\ + \Variable{date} & \Macro{datename} & Datum \\ + \bottomrule + \end{tabular} + \label{tab:scrlttr2.reflineTerm} +\end{table} + + +\subsection{Titel und Betreff} +\label{sec:scrlttr2.titleSubject} +\begin{samepage} +Geschäftsbriefe werden häufig mit einem Betreff versehen. Dieser +Betreff beschreibt kurz den Vorgang oder den Aspekt, um den es sich +handelt. In der Regel sollte ein Betreff möglichst kurz und prägnant +sein und nicht über mehrere Zeilen gehen. Neben dem Betreff kann ein +Brief auch noch mit einem Titel versehen werden. Von einem Titel wird +normalerweise nur bei Mahnungen, Rechnungen und Ähnlichem Gebrauch +gemacht. +\end{samepage} + + +\begin{Declaration} + \Variable{title} +\end{Declaration} +\BeginIndex{Variable}{title}% +Bei \Class{scrlttr2} kann ein Brief zusätzlich mit einem +Titel\Index{Titel} versehen werden. Der Titel wird zentriert in +der Schriftgröße \Macro{LARGE} nach der Geschäftszeile ausgegeben. Die +für das Element \PValue{title} als +\Macro{normalcolor}\Macro{sffamily}\Macro{bfseries} voreingestellte +Schriftart kann mit Hilfe der Schnittstelle, die in +\autoref{sec:maincls.font} beschrieben ist, geändert werden. Dabei +sind auch Größenangaben erlaubt. +\begin{Example} + Angenommen, Sie schreiben eine Mahnung. Sie setzen einen + entsprechenden Titel: +\begin{lstlisting} + \setkomavar{title}{Mahnung} +\end{lstlisting} + Damit sollte der Empfänger die Mahnung auch als solche erkennen. +\end{Example} +% +\EndIndex{Variable}{title} + + +\begin{Declaration} + \Variable{subject}\\ + \Variable{subjectseparator} +\end{Declaration} +\BeginIndex{Variable}{subject}% +\BeginIndex{Variable}{subjectseparator}% +Soll ein Betreff\Index{Betreff} gesetzt werden, so geschieht dies, indem man +den Inhalt der Variablen \Variable{subject} entsprechend festlegt. Je nach +Einstellung der Option \Option{subject} kann dem Betreff eine Bezeichnung +vorangestellt werden und die vertikale Position des Betreffs verändert werden +(siehe \autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.subject}). Die vordefinierte Bezeichnung +ist \autoref{tab:scrlttr2.subjectTerm} zu entnehmen. Der vordefinierte Inhalt +des Trennzeichens\Index{Trennzeichen} \Variable{subjectseparator} besteht aus +einem Doppelpunkt, gefolgt von einem Leerzeichen. +% +\begin{table} + \centering + \caption{Vordefinierte Bezeichnungen der Variablen für den Betreff} + \begin{tabular}{lll} + \toprule + Name & Bezeichnung \\ + \midrule + \Variable{subject} & \Macro{usekomavar*}\PParameter{subjectseparator}% + \texttt{\%} \\ + & \texttt{\quad}% + \Macro{usekomavar}\PParameter{subjectseparator} \\ + \Variable{subjectseparator} & \Macro{subjectname} \\ + \bottomrule + \end{tabular} + \label{tab:scrlttr2.subjectTerm} +\end{table} + +Der Betreff wird in einer eigenen Schriftart\Index{Schriftart} +gesetzt. Um diese zu ändern, verwenden Sie die Benutzerschnittstelle, +die in \autoref{sec:maincls.font} beschrieben ist. Für das Element +\PValue{subject} ist +\Macro{normalfont}\Macro{normalcolor}\Macro{bfseries} die in der +Klasse \Class{scrlttr2} voreingestellte Schrift. +\begin{Example} + Angenommen, Sie schreiben als Vereinsvorstand einen Brief an ein + anderes Mitglied des Vorstands, in dem es um vereinsinterne + Angelegenheiten geht. Sie wollen dabei im Betreff deutlich machen, + dass es sich um einen Betreff handelt, ohne dass Sie eine + Bezeichnung mit Trennzeichen voranstellen. Sie könnten das wie folgt + lösen: +\begin{lstlisting} + \setkomavar{subject}[Betrifft ]{% + vereinsinterne Angelegenheiten} +\end{lstlisting} + Sie können es sich aber auch einfach machen: +\begin{lstlisting} + \setkomavar{subject}[]{% + Betrifft vereinsinterne Angelegenheiten} +\end{lstlisting} + Außerdem wollen Sie, dass der Betreff nicht nur fett sondern + auch in einer serifenlosen Schriftart erscheint: +\begin{lstlisting} + \addtokomafont{subject}{\sffamily} +\end{lstlisting} + Wie Sie sehen, ist das alles ganz einfach zu lösen. +\end{Example} +% +\EndIndex{Variable}{subject}% +\EndIndex{Variable}{subjectseparator}% + + +\subsection{Andere Angaben} +\label{sec:scrlttr2.other} +Sie finden hier Variablen und Einstellungen, die keinem anderen +Bereich der Briefeinleitung zugeordnet werden konnten, die jedoch in +diesen Abschnitt gehören. + +\begin{Declaration} + \PLength{tfoldmarkvpos}\\ + \PLength{bfoldmarkvpos} +\end{Declaration} +\BeginIndex{PLength}{tfoldmarkvpos}% +\BeginIndex{PLength}{bfoldmarkvpos}% +Die Briefklasse \Class{scrlttr2} kennt insgesamt drei +Faltmarken\Index{Faltmarken}\Index{Falzmarken}. Die mittlere Faltmarke +dient der Halbierung der Seite und wird deshalb immer in der Mitte der +Seitenhöhe ausgegeben. Die Position der oberen Faltmarke vom oberen +Papierrand wird von der Pseudolänge \PLength{tfoldmarkvpos} bestimmt, +die der unteren Faltmarke von der Pseudolänge \PLength{bfoldmarkvpos}. +Diese beiden Faltmarken dienen nicht der exakten Drittelung des +Papiers beim Falten. Stattdessen soll das Papier mit ihrer Hilfe so +geknickt werden können, dass das Feld für die Anschrift in einem +Fensterbriefumschlag zu sehen ist. Die Einstellungen sind daher in den +vordefinierten \File{lco}-Dateien unterschiedlich gewählt. Eine +Besonderheit stellt \Option{DINmtext} dar. Hier wird zwingend von +einem Briefumschlag im Format C6/5 (auch "`C6 lang"' genannt) +ausgegangen. Briefe, die mit dieser Option erstellt wurden, sind weder +für Umschläge im Format C5 noch für Umschläge im Format C4 geeignet. +% +\EndIndex{PLength}{tfoldmarkvpos}% +\EndIndex{PLength}{bfoldmarkvpos}% + + +\begin{Declaration} + \PLength{foldmarkhpos} +\end{Declaration} +\BeginIndex{PLength}{foldmarkhpos}% +Diese Pseudolänge gibt den Abstand aller drei +Faltmarken\Index{Faltmarken}\Index{Falzmarken} vom linken Papier\-rand an. +Normalerweise sind das 3{,}5\Unit{mm}. Sie können den Wert aber auch in Ihrer +eigenen \File{lco}-Datei ändern, falls Sie einen Drucker verwenden, der einen +breiteren unbedruckbaren linken Rand hat. Die obere und die untere Faltmarke +sind übrigens 2\Unit{mm} lang, während die mittlere Faltmarke 4\Unit{mm} lang +ist. Die Dicke aller drei Faltmarken ist mit 2\Unit{pt} gleich groß. Derzeit +ist es nicht vorgesehen, die Länge oder Dicke der Faltmarken zu ändern. Ob die +Faltmarken überhaupt gesetzt werden, hängt außerdem von der Option +\Option{foldmarks} ab (siehe \autoref{sec:scrlttr2.headoptions}, +\autopageref{desc:scrlttr2.option.foldmarks}). +% +\EndIndex{PLength}{foldmarkhpos}% + + +\begin{Declaration} + \Variable{frombank} +\end{Declaration} +\BeginIndex{Variable}{frombank}% +Diese Variable nimmt derzeit eine Sonderstellung ein. Sie wird intern +bisher nicht verwendet. Sie kann jedoch beispielsweise vom Anwender +verwendet werden, um die Bankverbindung\Index{Bankverbindung} in das +Absenderergänzungsfeld oder den Fuß zu setzen. +% +\EndIndex{Variable}{frombank}% + + +\begin{Declaration} + \Macro{nexthead}\Parameter{Aufbau}\\ + \Macro{nextfoot}\Parameter{Aufbau} +\end{Declaration} +\BeginIndex{Cmd}{nexthead}% +\BeginIndex{Cmd}{nextfoot}% +In den meisten Fällen werden die Möglichkeiten, die \Class{scrlttr2} +über Optionen und Variablen für die Gestaltung des +Seitenkopfes\Index{Kopf} und -fußes\Index{Fuß} auf +Folgeseiten\Index{Folgeseite} zur Verfügung stellt, vollkommen +ausreichen. Dies umso mehr, als man zusätzlich mit \Macro{markboth} +und \Macro{markright} die Möglichkeit hat, die Angaben zu ändern, die +\Class{scrlttr2} in den Kopf setzt. Folgeseiten im Sprachgebrauch +dieser Anleitung sind alle Briefseiten abgesehen von der ersten. Die +Anweisungen \Macro{markboth}\IndexCmd{markboth} und +\Macro{markright}\IndexCmd{markright} können insbesondere mit dem +Seitenstil\Index{Seitenstil} +\PValue{myheadings}\IndexPagestyle{myheadings} verwendet werden. Bei +Verwendung des Paketes \Package{scrpage2}\IndexPackage{scrpage2} gilt +dies natürlich auch für den Seitenstil +\PValue{scrheadings}\IndexPagestyle{scrheadings}. Dort steht außerdem +die Anweisung \Macro{markleft}\IndexCmd{markleft} zur Verfügung. + +In einigen wenigen Fällen will man jedoch den Kopf oder Fuß der Folgeseiten +ähnlich dem Briefbogen freier gestalten. In diesen Fällen muss auf +die vordefinierten Möglichkeiten, die per Option +\Option{pagenumber}\IndexOption{pagenumber} (siehe +\autoref{sec:scrlttr2.layout}, \autopageref{desc:scrlttr2.option.pagenumber}) +auswählbar sind, verzichtet werden. Stattdessen gestaltet man sich den Kopf +und Fuß der Folgeseiten frei. Dazu definiert man den gewünschten +\PName{Aufbau} mit der Anweisung \Macro{nexthead} beziehungsweise +\Macro{nextfoot}. Innerhalb von \Macro{nexthead} und \Macro{nextfoot} können +beispielsweise mit Hilfe der \Macro{parbox}-Anweisung (siehe +\cite{latex:usrguide}) mehrere Boxen neben- und untereinander gesetzt werden. +Einem versierten Anwender sollte es so möglich sein, eigene Seitenköpfe und +-füße zu gestalten. Natürlich kann im Argument \PName{Aufbau} mit Hilfe von +\Macro{usekomavar} auch auf Variablen zugegriffen werden. +% +\EndIndex{Cmd}{nexthead}% +\EndIndex{Cmd}{nextfoot}% + + +\section{Der Text} +\label{sec:scrlttr2.text} + +Im Gegensatz zu einem Artikel, einem Bericht oder einem Buch besitzt +ein Brief normalerweise keine Kapitel- oder Abschnittseinteilung, +keine Gleitumgebungen mit Tabellen und Abbildungen, +weder Inhaltsverzeichnis noch Verzeichnisse für Gleitumgebung, +Literatur, Index, Glossary oder Ähnliches. Der Brief"|text besteht im +wesentlichen aus einer Anrede und dem eigentlichen Text. Er wird +gefolgt von einem Schlussgruß und eventuell einem Nachsatz und +verschiedenen Auf"|listungen nach dem Gruß. + + +\subsection{Anrede} +\label{sec:scrlttr2.opening} + +\begin{Explain} + Bei maschinell erstellten Briefen wurde früher häufig auf eine Anrede + verzichtet. Das lag daran, dass die Möglichkeiten für individualisierte + Serienbriefe noch kaum vorhanden waren. Heute sind persönliche Anreden auch + bei massenhaft erzeugten Werbebriefen üblich. +\end{Explain} + +\begin{Declaration} + \Macro{opening}\Parameter{Anrede} +\end{Declaration} +\BeginIndex{Cmd}{opening}% +Dies ist eine der wichtigsten Anweisungen in \Class{scrlttr2}. +Vordergründig wird damit die \PName{Anrede}\Index{Anrede} des Briefes, +beispielsweise "`Sehr geehrte Frau \dots"', gesetzt. Tatsächlich +setzt diese Anweisung aber auch die +Faltmarken\Index{Faltmarken}\Index{Falzmarken}, den +Briefkopf\Index{Briefkopf}, die Anschrift\Index{Anschrift}, die +Absenderergänzung, die Geschäftszeile\Index{Geschäftszeile}, den +Titel\Index{Titel}, den Betreff\Index{Betreff} und den +Seitenfuß\Index{Kopf}\Index{Fuß}, also die Mehrzahl der Felder, die +mit Optionen und Variablen eingestellt werden. Kurz gesagt: ohne +Anrede kein Brief. +% +\EndIndex{Cmd}{opening}% + + +\subsection{Fußnoten} +\label{sec:scrlttr2.footnotes} + +Fußnoten\Index{Fussnoten=Fußnoten} sollte man in Briefen noch sehr +viel sparsamer verwenden als in anderen Dokumenten. Dennoch verfügt +\Class{scrlttr2} bezüglich der Fußnoten über alle Mechanismen, die in +\autoref{sec:maincls.footnotes} auch für die Hauptklassen beschrieben +sind. Diese werden daher hier nicht erneut aufgeführt. + + +\subsection{Listen} +\label{sec:scrlttr2.lists} + +Listen\Index{Listen} haben in Briefen die gleiche Berechtigung wie in +anderen Dokumenten auch. Deshalb verfügt \Class{scrlttr2} +diesbezüglich über dieselben Möglichkeiten, die in +\autoref{sec:maincls.lists} auch für die Hauptklassen beschrieben +sind. Diese werden daher hier nicht erneut aufgeführt. + + +\subsection{Randnotizen} +\label{sec:scrlttr2.marginNotes} + +Randnotizen\Index{Randnotizen} sind in Briefen eher unüblich. Daher +wird in \Class{scrlttr2} die Option \Option{mpinclude} auch nicht +aktiv unterstützt. Dennoch verfügt die Klasse bezüglich der +Randnotizen über alle Mechanismen, die in +\autoref{sec:maincls.marginNotes} auch für die Hauptklassen +beschrieben sind. Diese werden daher hier nicht erneut aufgeführt. + + +\subsection{Textauszeichnung} +\label{sec:scrlttr2.emphasis} + +Textauszeichnungen\Index{Schriftart} haben in Briefen denselben Stellenwert +wie in anderen Dokumenten. Obwohl leider immer wieder das Gegenteil zu +beobachten ist, empfehle ich daher auch in Briefen insbesondere mit aktiven +Auszeichnungen eher sparsam umzugehen. Auch Briefe sollen gelesen werden. Ein +Brief in dem jedes Wort in einer anderen Schrift erscheint, kann nicht gelesen +werden. + +Die Briefklasse \Class{scrlttr2} verfügt über dieselben Möglichkeiten +der Textauszeichnung, die in \autoref{sec:maincls.emphasis} für +die Hauptklassen beschrieben sind. Diese werden daher hier nicht +erneut aufgeführt. + + +\section{Der Schlussteil} +\label{sec:scrlttr2.backend} + +Der Schlussteil eines Briefes besteht immer aus einer +Grußfloskel\Index{Gruß}\Index{Schlussgruß}. Selbst bei maschinell erstellten +Briefen ohne Unterschrift\Index{Unterschrift} findet sich diese in der Regel. +Manchmal besteht sie dann aus einem Satz wie "`Dieser Brief wurde maschinell +erstellt und ist ohne Unterschrift gültig"'. Manchmal wird ein solcher Satz +als Signatur\Index{Signatur} verwendet. Auf die Grußformel können noch ein +Nachsatz und verschiedene Auf"|listungen folgen. + + +\subsection{Schlussgruß} +\label{sec:scrlttr2.closing} + +Der Schlussgruß\Index{Gruß}\Index{Schlussgruß} eines Briefes besteht aus +mehreren Teilen. Neben der Grußformel selbst gibt es noch die Unterschrift +und die Signatur, eine Art Erläuterung zur Unterschrift. + +\begin{Declaration} + \Variable{signature} +\end{Declaration} +\BeginIndex{Variable}{signature}% +Die Variable \Variable{signature}\Index{Signatur} nimmt eine Art +Erläuterung zur Unterschrift\Index{Unterschrift} auf. Ihr Inhalt ist +mit \Macro{usekomavar}\PParameter{fromname} vordefiniert. Eine solche +Erläuterung kann auch mehrzeilig sein. Die einzelnen Zeilen sollten +dann mit doppeltem Backslash voneinander getrennt werden. Absätze +innerhalb der Erläuterung sind jedoch nicht gestattet. +% +\EndIndex{Variable}{signature}% + +\begin{Declaration} + \Macro{closing}\Parameter{Grußfloskel} +\end{Declaration} +\BeginIndex{Cmd}{closing}% +Mit der Anweisung \Macro{closing} wird nicht nur die +\PName{Grußfloskel}\Index{Gruß}\Index{Schlussgruß}, sondern auch der Inhalt +der Variablen \Variable{signature} unter den Brief gesetzt. Die +\PName{Grußfloskel} kann auch mehrzeilig sein. Die einzelnen Zeilen sollten +dann mit doppeltem Backslash voneinander getrennt werden. Absätze innerhalb +der \PName{Grußfloskel} sind jedoch nicht gestattet. +% +\EndIndex{Cmd}{closing}% + + +\begin{Declaration} + \PLength{sigindent}\\ + \PLength{sigbeforevskip}\\ + \Macro{raggedsignature} +\end{Declaration} +\BeginIndex{PLength}{sigindent}% +\BeginIndex{PLength}{sigbeforevskip}% +\BeginIndex{Cmd}{raggedsignature}% +Grußfloskel\Index{Gruß}\Index{Signatur}\Index{Schlussgruß} und Erläuterung der +Unterschrift\Index{Unterschrift} werden innerhalb einer Box gesetzt. Die +Breite dieser Box wird durch die längste Zeile innerhalb von Grußfloskel und +Erläuterung bestimmt. + +Die Box wird mit dem durch die Pseudolänge \PLength{sigindent} bestimmen +Einzug gesetzt. In den vordefinierten \File{lco}-Dateien ist der Einzug auf +0\Unit{mm} gesetzt. + +Durch den Befehl \Macro{raggedsignature} wird die Ausrichtung innerhalb der +Box bestimmt. In den vordefinierten \File{lco}-Dateien ist die Anweisung +entweder auf \Macro{centering} (alle außer \Option{KOMAold}) oder auf +\Macro{raggedright} (\Option{KOMAold}) gesetzt. Um innerhalb der Box +beispielsweise eine linksbündige oder rechtsbündige Ausrichtung zu erhalten, +kann der Befehl in gleicher Weise umdefiniert werden wie \Macro{raggedsection} +(siehe das entprechende Beispiel in \autoref{sec:maincls.structure}, +\autopageref{desc:maincls.macro.raggedsection}). + +Zwischen Grußfloskel und Erläuterung wird ein vertikaler Abstand +eingefügt, der mit der Pseudolänge \PLength{sigbeforevskip} festgelegt +ist. In den vordefinierten \File{lco}-Dateien ist der Wert auf zwei +Zeilen eingestellt. In diese Lücke setzen Sie dann Ihre Unterschrift. +\begin{Example} + Sie schreiben als Vorstand des Vereins "`Rotkehlchen e.\,V."' einen + Brief an die Mitglieder. Dabei wollen Sie einerseits nochmals + verdeutlichen, dass Sie im Namen des Vorstands schreiben, zum + anderen wollen sie ihre Position im Vorstand mit angeben. Dies ist + beispielsweise wie folgt möglich: +\begin{lstlisting} + \setkomavar{signature}{Karl-Heinz zu Krähenfeld\\ + {\small (2. Vorsitzender "`Rotkehlchen e.\,V."')}} + \closing{Mit freundlichen Grüßen\\ + (für den Vorstand)} +\end{lstlisting} + Natürlich können Sie das Setzen der Variablen \Variable{signature} + auch in eine Ihrer privaten \File{lco}-Dateien aufnehmen. Ansonsten + empfiehlt es sich, auch diese Variable in der Briefeinleitung (siehe + \autoref{sec:scrlttr2.startLetter}) zu setzen. +\end{Example} +% +\EndIndex{PLength}{sigindent}% +\EndIndex{PLength}{sigbeforevskip}% +\EndIndex{Cmd}{raggedsignature}% + + + +\subsection{Nachsatz, Verteiler und Anlagen} +\label{sec:scrlttr2.afterClosing} + +Nach dem Gruß können bei Briefen noch eine ganze Reihe von Angaben +folgen. Neben dem Postskriptum gehören dazu vor allem Verteiler und +ein Hinweis auf Anlagen. + +\begin{Explain}% +\begin{Declaration} + \Macro{ps} +\end{Declaration}% +\BeginIndex{Cmd}{ps}% + Als Briefe noch von Hand geschrieben wurden, war das Postskriptum + sehr beliebt. Es handelte sich bei diesen Nachsätzen ursprünglich um + Angaben, die im eigentlichen Brief vergessen wurden. Bei Briefen, + die mit \LaTeX{} geschrieben werden, ist es natürlich einfach, + Vergessenes nachträglich in den Brief einzuarbeiten. Trotzdem ist + das Postskriptum noch immer sehr beliebt, kann man damit doch sehr + schön noch einmal auf ganz andere äußerst wichtige oder eigentlich + ganz unwichtige Dinge hinweisen. +\end{Explain} +Diese Anweisung schaltet lediglich auf das +Postskriptum\Index{Postskriptum} um. Dazu wird ein neuer Absatz +begonnen und ein vertikaler Abstand -- in der Regel zur Signatur -- +eingefügt. Auf die Anweisung \Macro{ps} kann beliebiger Text folgen. +Dabei muss der Anwender auch selbst entscheiden, ob er den Nachsatz +etwa mit der Abkürzung "`PS:"', die übrigens ohne Punkt gesetzt wird, +beginnen will. Die Klasse \Class{scrlttr2} setzt diese Abkürzung weder +automatisch noch optional. +% +\EndIndex{Cmd}{ps} + + +\begin{Declaration} + \Macro{cc}\Parameter{Verteiler}\\ + \Variable{ccseparator} +\end{Declaration} +\BeginIndex{Cmd}{cc}% +\BeginIndex{Variable}{ccseparator}% +Ein \PName{Verteiler}\Index{Verteiler} kann mit der Anweisung +\Macro{cc} gesetzt werden. Der \PName{Verteiler} wird der Anweisung +dabei als Argument übergeben. Wenn der Inhalt der Variablen +\Variable{ccseparator}\Index{Trennzeichen} nicht leer ist, wird dem +\PName{Verteiler} die Bezeichnung und der Inhalt dieser Variablen +vorangestellt. Der \PName{Verteiler} selbst wird dann um die +entsprechende Breite eingerückt ausgegeben. Es empfiehlt sich, den +\PName{Verteiler} \Macro{raggedright} zu setzen und die einzelnen +Angaben durch doppelten Backslash voneinander zu trennen. +\begin{Example} + Sie wollen angeben, dass Ihr Brief an alle Vereinsmitglieder und den + Vorstand geht: +\begin{lstlisting} + \cc{% + der Vorstand\\ + alle Vereinsmitglieder} +\end{lstlisting} + Diese Anweisung schreiben Sie unter die \Macro{closing}-Anweisung + aus dem vorherigen Beispiel oder unter ein eventuelles Postskriptum. +\end{Example} +Vor dem Verteiler wird automatisch ein Abstand eingefügt. +% +\EndIndex{Cmd}{cc}% +\EndIndex{Variable}{ccseparator}% + + +\begin{Declaration} + \Macro{encl}\Parameter{Anlagen}\\ + \Variable{enclseparator} +\end{Declaration} +\BeginIndex{Cmd}{encl}% +\BeginIndex{Variable}{enclseparator}% +Die \PName{Anlagen}\Index{Anlagen} sind genauso aufgebaut wie der +Verteiler. Der einzige Unterschied besteht darin, dass die Einleitung +hier von der Bezeichnung und dem Inhalt der Variablen +\Variable{enclseparator}\Index{Trennzeichen} bestimmt wird. +% +\EndIndex{Cmd}{encl}% +\EndIndex{Variable}{enclseparator}% + + + +\section{Unterstützung verschiedener Sprachen} +\label{sec:scrlttr2.languages}% +\BeginIndex{}{Sprachen}% + +Die Klasse \Class{scrlttr2} unterstützt viele Sprachen. Dazu zählen +Deutsch (\PValue{german} für alte deutsche Rechtschreibung, +\PValue{ngerman} für neue deutsche Rechtschreibung und +\PValue{austrian} für Österreichisch), Englisch (\PValue{english} ohne +Angabe ob amerikanisches oder britisches Englisch, \PValue{american} und +\PValue{USenglish} für Amerikanisch, \PValue{british} und +\PValue{UKenglish} für Britisch), Französisch, Italienisch, Spanisch, +Holländisch, Kroatisch und Finnisch. + +\subsection{Sprachauswahl und -umschaltung} +\label{sec:scrlttr2.switchLanguage} +\Index[indexmain]{Sprachumschaltung}\Index[indexmain]{Sprachauswahl} + +Zwischen den Sprachen wird bei Verwendung des +\Package{babel}-Paketes\IndexPackage{babel} (siehe \cite{package:babel}) mit +der Anweisung \Macro{selectlanguage}\Parameter{Sprache} gewechselt. Andere +Pakete wie \Package{german}\IndexPackage{german} (siehe \cite{package:german}) +und \Package{ngerman}\IndexPackage{ngerman} (siehe \cite{package:ngerman}) +besitzen diese Anweisung ebenfalls. In der Regel erfolgt eine +Sprachumschaltung jedoch bereits aufgrund des Ladens eines solchen Paketes. +\iftrue +Näheres entnehmen Sie bitte der jeweiligen Anleitung. +\fi + +\begin{Explain} + Erlauben Sie mir noch einen Hinweis zu den Sprachumschaltpaketen. Das Paket + \Package{french}\IndexPackage{french} (siehe \cite{package:french}) nimmt + neben der Umdefinierung der Begriffe aus + \autoref{sec:scrlttr2.languageTerms} weitere Änderungen vor. So definiert es + etwa die Anweisung \Macro{opening} um. Dabei geht es einfach davon aus, dass + \Macro{opening} immer wie in der Standardbriefklasse \Class{letter} + definiert ist. Dies ist bei \Class{scrlttr2} jedoch nicht der Fall. Das + Paket \Package{french} zerstört deshalb die Definition aus \Class{scrlttr2} + und arbeitet nicht korrekt mir \KOMAScript{} zusammen. Ich betrachte dies + als Fehler des Paketes \Package{french}. + + \looseness=1 + Wird das Paket \Package{babel}\IndexPackage{babel} für die Umschaltung auf + die Sprache \PValue{french} verwendet und ist gleichzeitig das Paket + \Package{french} installiert, so ergeben sich eventuell genau dieselben + Probleme, weil in diesem Fall Teile des Paketes \Package{french} verwendet + werden. + % + \iftrue + % Umbruchergänzungstext + Ist das Paket \Package{french} nicht installiert, ergibt sich das + Problem mit \Package{babel} nicht. Ebenfalls existiert das Problem + normalerweise nicht, wenn man bei \Package{babel} an Stelle der Sprache + \PValue{french} eine der Sprachen \PValue{acadian}, \PValue{canadien}, + \PValue{francais} oder \PValue{frenchb} verwendet. + \fi + + Mit Babel ab Version 3.7j tritt dieses Problem jedoch nur noch auf, wenn per + Option explizit angegeben wird, dass \Package{babel} das + \Package{french}-Paket verwenden soll. + % + \iftrue + % Umbruchoptimierungstext + Kann nicht sicher gestellt werden, dass nicht eine alte Version von + \Package{babel} verwendet wird, so empfehle ich% + \iftrue + % Umbruchoptimierungstext + , mit + \begin{lstlisting} + \usepackage[...,frenchb,...]{babel} + \end{lstlisting} + französische Sprache auszuwählen. Gegebenenfalls ist dann aber trotzdem mit + \Macro{selectlanguage}\PParameter{french} auf Französisch umzuschalten.% + \else + \space bei \Package{babel} die Option \Option{frenchb}.% + \fi + \fi + + \iftrue + \looseness=1 + Es ist nicht auszuschließen, dass mit anderen Sprachen und Paketen ähnliche + Probleme auf"|treten. Für Deutsch sind solche Probleme jedoch nicht bekannt + und treten weder mit den Paketen \Package{german}\IndexPackage{german} oder + \Package{ngerman}\IndexPackage{ngerman} noch mit \Package{babel} auf. + \fi +\end{Explain} + +\begin{Declaration} + \Macro{captionsenglish}\\ + \Macro{captionsUSenglish}\\ + \Macro{captionsamerican}\\ + \Macro{captionsbritish}\\ + \Macro{captionsUKenglish}\\ + \Macro{captionsgerman}\\ + \Macro{captionsngerman}\\ + \Macro{captionsaustrian}\\ + \Macro{captionsfrench}\\ + \Macro{captionsitalian}\\ + \Macro{captionsspanish}\\ + \Macro{captionsdutch}\\ + \Macro{captionscroatian}\\ + \Macro{captionsfinnish} +\end{Declaration} +\BeginIndex{Cmd}{captionsenglish}\BeginIndex{Cmd}{captionsUSenglish}% +\BeginIndex{Cmd}{captionsamerican}\BeginIndex{Cmd}{captionsbritish}% +\BeginIndex{Cmd}{captionsUKenglish}\BeginIndex{Cmd}{captionsgerman}% +\BeginIndex{Cmd}{captionsngerman}% +\BeginIndex{Cmd}{captionsaustrian}\BeginIndex{Cmd}{captionsfrench}% +\BeginIndex{Cmd}{captionsitalian}\BeginIndex{Cmd}{captionsspanish}% +\BeginIndex{Cmd}{captionsdutch}\BeginIndex{Cmd}{captionscroatian}% +\BeginIndex{Cmd}{captionsfinnish}% +Wird die Sprache eines Briefes gewechselt, so werden über diese Anweisungen +die Begriffe aus \autoref{sec:scrlttr2.languageTerms} umdefiniert. Sollte das +verwendete Sprachumschaltpaket dies nicht unterstützen, so können obige +Anweisungen notfalls auch direkt verwendet werden.% +% +\EndIndex{Cmd}{captionsenglish}\EndIndex{Cmd}{captionsUSenglish} +\EndIndex{Cmd}{captionsamerican}\EndIndex{Cmd}{captionsbritish} +\EndIndex{Cmd}{captionsUKenglish}\EndIndex{Cmd}{captionsgerman} +\EndIndex{Cmd}{captionsngerman} +\EndIndex{Cmd}{captionsaustrian}\EndIndex{Cmd}{captionsfrench} +\EndIndex{Cmd}{captionsitalian}\EndIndex{Cmd}{captionsspanish} +\EndIndex{Cmd}{captionsdutch}\EndIndex{Cmd}{captionscroatian} +\EndIndex{Cmd}{captionsfinnish}% + +\begin{Declaration} + \Macro{dateenglish}\\ + \Macro{dateUSenglish}\\ + \Macro{dateamerican}\\ + \Macro{datebritish}\\ + \Macro{dateUKenglish}\\ + \Macro{dategerman}\\ + \Macro{datengerman}\\ + \Macro{dateaustrian}\\ + \Macro{datefrench}\\ + \Macro{dateitalian}\\ + \Macro{datespanish}\\ + \Macro{datedutch}\\ + \Macro{datecroatian}\\ + \Macro{datefinnish} +\end{Declaration} +\BeginIndex{Cmd}{dateenglish}\BeginIndex{Cmd}{dateUSenglish} +\BeginIndex{Cmd}{dateamerican}\BeginIndex{Cmd}{datebritish} +\BeginIndex{Cmd}{dateUKenglish}\BeginIndex{Cmd}{dategerman} +\BeginIndex{Cmd}{datengerman} +\BeginIndex{Cmd}{dateaustrian}\BeginIndex{Cmd}{datefrench} +\BeginIndex{Cmd}{dateitalian}\BeginIndex{Cmd}{datespanish} +\BeginIndex{Cmd}{datedutch}\BeginIndex{Cmd}{datecroatian}% +\BeginIndex{Cmd}{datefinnish}% +Je nach verwendeter Sprache werden auch die Datumsangaben\Index{Datum} +des nummerischen Datums (siehe Option \Option{numericaldate} in +\autoref{sec:scrlttr2.headoptions}) in unterschiedlicher Form +umgesetzt. Die genauen Angaben können der \autoref{tab:date} +entnommen werden. +% +\begin{table} + \centering + \caption{Sprachabhängige Ausgabeformate für das Datum} + \begin{tabular}{ll} + \toprule + \Macro{dateenglish} & 1/12/1993\\ + \Macro{dateUSenglish} & 12/1/1993\\ + \Macro{dateamerican} & 12/1/1993\\ + \Macro{datebritish} & 1/12/1993\\ + \Macro{dateUKenglish} & 1/12/1993\\ + \Macro{dategerman} & 1.\,12.\,1993\\ + \Macro{datengerman} & 1.\,12.\,1993\\ + \Macro{dateaustrian} & 1.\,12.\,1993\\ + \Macro{datefrench} & 1.\,12.\,1993\\ + \Macro{dateitalian} & 1.\,12.\,1993\\ + \Macro{datespanish} & 1.\,12.\,1993\\ + \Macro{datedutch} & 1.\,12.\,1993\\ + \Macro{datecroatian} & 1.\,12.\,1993.\\ + \Macro{datefinnish } & 1.\,12.\,1993.\\ + \bottomrule + \end{tabular} + \label{tab:date} +\end{table} +% +\EndIndex{Cmd}{dateenglish}\EndIndex{Cmd}{dateUSenglish} +\EndIndex{Cmd}{dateamerican}\EndIndex{Cmd}{datebritish} +\EndIndex{Cmd}{dateUKenglish}\EndIndex{Cmd}{dategerman} +\EndIndex{Cmd}{datengerman} +\EndIndex{Cmd}{dateaustrian}\EndIndex{Cmd}{datefrench} +\EndIndex{Cmd}{dateitalian}\EndIndex{Cmd}{datespanish} +\EndIndex{Cmd}{datedutch}\EndIndex{Cmd}{datecroatian}% +\EndIndex{Cmd}{datefinnish}% + + +\subsection{Sprachabhängige Begriffe} +\label{sec:scrlttr2.languageTerms} +\Index[indexmain]{sprachabhaengige Begriffe=sprachabhängige Begriffe} +Bei \Class{scrlttr2} sind, wie bei \LaTeX{} üblich, sprachabhängige +Begriffe in Anweisungen abgelegt, die bei der Sprachumschaltung +umdefiniert werden. + +\begin{Declaration} + \Macro{yourrefname}\\ + \Macro{yourmailname}\\ + \Macro{myrefname}\\ + \Macro{customername}\\ + \Macro{invoicename}\\ + \Macro{subjectname}\\ + \Macro{ccname}\\ + \Macro{enclname}\\ + \Macro{headtoname}\\ + \Macro{headfromname}\\ + \Macro{datename}\\ + \Macro{pagename}\\ + \Macro{phonename}\\ + \Macro{faxname}\\ + \Macro{emailname}\\ + \Macro{wwwname}\\ + \Macro{bankname} +\end{Declaration} +\BeginIndex{Cmd}{yourrefname}\BeginIndex{Cmd}{yourmailname} +\BeginIndex{Cmd}{myrefname} +\BeginIndex{Cmd}{customername}\BeginIndex{Cmd}{invoicename} +\BeginIndex{Cmd}{subjectname} +\BeginIndex{Cmd}{ccname}\BeginIndex{Cmd}{enclname} +\BeginIndex{Cmd}{headtoname}\BeginIndex{Cmd}{headfromname} +\BeginIndex{Cmd}{datename}\BeginIndex{Cmd}{pagename} +\BeginIndex{Cmd}{phonename}\BeginIndex{Cmd}{faxname} +\BeginIndex{Cmd}{emailname}\BeginIndex{Cmd}{wwwname} +\BeginIndex{Cmd}{bankname}% +Die aufgeführten Anweisungen enthalten die jeweiligen sprachtypischen +Begriffe. Diese können für die Realisierung einer weiteren Sprache +oder aber auch zur eigenen freien Gestaltung angepasst werden. Wie +dies geht, wird in \mbox{\autoref{sec:scrlttr2.defLanguageTerms}} +erklärt. Von \Class{scrlttr2} werden die Begriffe erst nach der +Präambel, also bei \Macro{begin}\PParameter{document} gesetzt. Sie +sind daher vorher nicht verfügbar und können vorher auch nicht +geändert werden. In \autoref{tab:scrlttr2.languageTerms} sind die +Voreinstellungen für \Option{english} und \Option{ngerman} zu finden. +% +\begin{table} + \begin{minipage}{\textwidth} + \centering + \caption[Voreinstellungen für die sprachabhängigen + Begriffe]{Voreinstellungen für die sprachabhängigen Begriffe bei + Verwendung der Sprachen \Option{english} und \Option{ngerman} + soweit nicht durch die Pakete zur Sprachumschaltung bereits + definiert} + \label{tab:scrlttr2.languageTerms} + \begin{tabular}{lll} + \toprule + Anweisung & \Option{english} & \Option{ngerman} \\ + \midrule + \Macro{bankname} & Bank account & Bankverbindung \\ + \Macro{ccname}\footnotemark[1] & cc & Kopien an \\ + \Macro{customername} & Customer no. & Kundennummer \\ + \Macro{datename} & Date & Datum \\ + \Macro{emailname} & Email & E-Mail \\ + \Macro{enclname}\footnotemark[1] & encl & Anlagen \\ + \Macro{faxname} & Fax & Fax \\ + \Macro{headfromname} & From & Von \\ + \Macro{headtoname}\footnotemark[1] & To & An \\ + \Macro{invoicename} & Invoice no. & Rechnungsnummer \\ + \Macro{myrefname} & Our ref. & Unser Zeichen \\ + \Macro{pagename}\footnotemark[1] & Page & Seite \\ + \Macro{phonename} & Phone & Telefon \\ + \Macro{subjectname} & Subject & Betrifft \\ + \Macro{wwwname} & Url & URL \\ + \Macro{yourmailname} & Your letter of & Ihr Schreiben vom\\ + \Macro{yourrefname} & Your ref. & Ihr Zeichen \\ + \bottomrule + \end{tabular} + \deffootnote{1em}{1em}{\textsuperscript{1}}% brutal aber effektiv + \footnotetext[1000]{Diese Begriffe werden normalerweise bereits von + Sprachpaketen wie \Package{babel} definiert und dann von \Class{scrlttr2} + nicht überschrieben. Abweichungen im Wortlaut sind daher möglich und der + Anleitung des verwendeten Sprachpakets zu entnehmen.} + \end{minipage} +\end{table} +% +\EndIndex{Cmd}{yourrefname}\EndIndex{Cmd}{yourmailname} +\EndIndex{Cmd}{myrefname} +\EndIndex{Cmd}{customername}\EndIndex{Cmd}{invoicename} +\EndIndex{Cmd}{subjectname} +\EndIndex{Cmd}{ccname}\EndIndex{Cmd}{enclname} +\EndIndex{Cmd}{headtoname}\EndIndex{Cmd}{headfromname} +\EndIndex{Cmd}{datename}\EndIndex{Cmd}{pagename} +\EndIndex{Cmd}{phonename}\EndIndex{Cmd}{faxname} +\EndIndex{Cmd}{emailname}\EndIndex{Cmd}{wwwname} +\EndIndex{Cmd}{bankname} + + +\subsection{Definieren und Ändern sprachabhängiger Begriffe} +\label{sec:scrlttr2.defLanguageTerms} +\Index[indexmain]{Sprachdefinition} +\begin{Explain} + Normalerweise muss man zur Definition oder zur Änderung + sprachabhängier Begriffe die Anweisungen aus + \autoref{sec:scrlttr2.switchLanguage} so umdefinieren, dass + zusätzlich zu den bisherigen Begriffen auch die neuen oder + geänderten definiert werden. Erschwert wird dieses Vorhaben dadurch, + dass beim Laden eines Paketes wie + \Package{german}\IndexPackage{german} oder + \Package{ngerman}\IndexPackage{ngerman} diese Anweisungen von den + Paketen erneut definiert werden. Bei den genannten Paketen geschieht + dies leider in einer Form, die alle zuvor gemachten Änderungen + zunichte macht. Dies ist auch der Grund, warum \Class{scrlttr2} + seine eigenen Änderungen mit Hilfe von \Macro{AtBeginDocument} bis + \Macro{begin}\PParameter{document}, also bis nach dem Laden aller + Pakete, verzögert. Auch der Anwender muss entweder von + \Macro{AtBeginDocument} Gebrauch machen oder aber seine Änderungen + nicht in die Dokumentpräambel, sondern hinter + \Macro{begin}\PParameter{document} einfügen. Die Klasse + \Class{scrlttr2} bietet ihm für die Definition selbst einige + zusätzliche Anweisungen. +\end{Explain} + +\begin{Declaration} + \Macro{providecaptionname}% + \Parameter{Sprache}\Parameter{Begriff}\Parameter{Inhalt}\\ + \Macro{newcaptionname}% + \Parameter{Sprache}\Parameter{Begriff}\Parameter{Inhalt}\\ + \Macro{renewcaptionname}% + \Parameter{Sprache}\Parameter{Begriff}\Parameter{Inhalt} +\end{Declaration} +\BeginIndex{Cmd}{providecaptionname}% +\BeginIndex{Cmd}{newcaptionname}% +\BeginIndex{Cmd}{renewcaptionname}% +Mit Hilfe dieser drei Anweisungen ist es möglich, einem +\PName{Begriff} in Abhängigkeit der \PName{Sprache} einen +\PName{Inhalt} zuzuweisen. Der \PName{Begriff} ist dabei immer ein +Makro. Die Arbeitsweise der drei Anweisungen unterscheidet sich je +nachdem, ob eine \PName{Sprache} und ein \PName{Begriff} innerhalb der +\PName{Sprache} zum Zeitpunkt des Aufrufs bereits definiert ist. + +Ist eine \PName{Sprache} nicht definiert, so tut +\Macro{providecaptionname} nichts weiter, als dies in der +\File{log}-Datei zu vermerken. Dabei wird für jede Sprache nur einmal +eine entsprechende Information in die \File{log}-Datei +geschrieben. Ist die Sprache definiert, enthält aber bisher keinen +entsprechenden \PName{Begriff}, so wird er mit dem angegebenen +\PName{Inhalt} definiert. Ist der \PName{Begriff} hingegen in der +\PName{Sprache} bereits definiert, so wird er nicht umdefiniert, +sondern ein entsprechender Hinweis in die \File{log}-Datei +geschrieben. + +Die Anweisung \Macro{newcaptionname} verhält sich etwas anders. Ist bei ihr +die \PName{Sprache} nicht definiert, dann wird diese neu definiert, indem +eine entsprechende Anweisung (siehe +\autoref{sec:scrlttr2.switchLanguage}) definiert wird. Außerdem +wird darüber auch in der \File{log}-Datei informiert. Ist die +\PName{Sprache} definiert, der \PName{Begriff} in dieser +\PName{Sprache} aber noch nicht vorhanden, so wird er mit dem +gewünschten \PName{Inhalt} definiert. Ist der \PName{Begriff} in der +\PName{Sprache} bereits vorhanden, so wird eine Fehlermeldung +ausgegeben. + +Noch einmal anders verhält sich die Anweisung +\Macro{renewcaptionname}. Ist die \PName{Sprache} nicht definiert, so +wird eine Fehlermeldung ausgegeben. Ist die \PName{Sprache} definiert, +der \PName{Begriff} in dieser \PName{Sprache} jedoch nicht, so wird +ebenfalls eine Fehlermeldung ausgegeben. Ist der \PName{Begriff} in +der \PName{Sprache} definiert, so wird er auf den gewünschten +\PName{Inhalt} umdefiniert. + +Die Klasse \Class{scrlttr2} selbst verwendet +\Macro{providecaptionname} um die Begriffe aus +\autoref{sec:scrlttr2.languageTerms} zu definieren. + +\begin{Example} + Möchten Sie statt des Eintrags "`Ihr Schreiben vom"' lieber "`Ihre + Nachricht vom"' in der Geschäftszeile stehen haben, müssen Sie den + Begriff \Macro{yourmailname} wie folgt umdefinieren. +\begin{lstlisting} + \renewcaptionname{ngerman}{\yourmailname}{% + Ihre Nachricht vom} +\end{lstlisting} + Da mit \Macro{renewcaptionname} nur bereits vorhandene Begriffe in + vorhandenen Sprachen umdefiniert werden können, müssen Sie diese + Anweisung nach \Macro{begin}\PParameter{document} setzen oder mit + Hilfe von \Macro{AtBeginDocument} verzögern. Außerdem werden Sie + eine Fehlermeldung erhalten, wenn Sie kein Paket zur + Sprachumschaltung auf \PValue{ngerman} verwenden. +\end{Example} +% +\EndIndex{Cmd}{providecaptionname}% +\EndIndex{Cmd}{newcaptionname}% +\EndIndex{Cmd}{renewcaptionname}% +% +\EndIndex{}{Sprachen}% + + +\section{Adressdateien und Serienbriefe} +\label{sec:scrlttr2.addressFile}% +\BeginIndex{}{Adressdatei}\BeginIndex{}{Serienbriefe}% + +Als besonders lästig wird bei Briefen immer das Eintippen der +Adressen und das Erstellen von Serienbriefen betrachtet. Die Klasse +\Class{scrlttr2} bietet hierfür wie schon die obsolete Klasse +\Class{scrlettr} eine gewisse Unterstützung. Eine stark verbesserte +Serienbrief"|funktion ist derzeit in Planung. + +\begin{Declaration} + \Macro{adrentry}\Parameter{Name}\Parameter{Vorname}\Parameter{Adresse}% + \Parameter{Tel.}\Parameter{F1}\Parameter{F2}% + \Parameter{Kommentar}\Parameter{Kürzel} +\end{Declaration} +\BeginIndex{Cmd}{adrentry}% +Mit der \Class{scrlttr2}-Klasse können +Adressdateien\Index[indexmain]{Adressdatei} ausgewertet werden. Dies ist +beispielsweise für Serienbriefe sehr nützlich. Eine Adressdatei muss +die Endung \File{.adr} haben und besteht aus einer Reihe von +\Macro{adrentry}-Einträgen. Ein solcher Eintrag besteht aus acht +Elementen und kann beispielsweise wie folgt aussehen: +\begin{lstlisting} + \adrentry{Maier} + {Herbert} + {Wiesenweg 37\\ 09091 Blumental} + {0\,23\,34 / 91\,12\,74} + {Bauunternehmer} + {} + {kauft alles} + {MAIER} +\end{lstlisting} +Die Elemente fünf und sechs, \PValue{F1} und \PValue{F2}, können frei +bestimmt werden. Denkbar wären neben Hinweisen auf das Geschlecht oder +akademische Grade auch der Geburtstag oder das Eintrittsdatum in einen +Verein. Um das Überschreiben von \TeX- oder \LaTeX-Anweisungen zu +vermeiden, ist es empfehlenswert, für \PName{Kürzel} ausschließlich +Großbuchstaben zu verwenden. + +\begin{Example} + Herr Maier gehört zu Ihren engeren Geschäftspartnern. Da Sie eine + rege Korrespondenz mit ihm pflegen, ist es Ihnen auf Dauer zu + mühsam, jedesmal alle Empfängerdaten aufs Neue einzugeben. + \Class{scrlttr2} nimmt Ihnen diese Arbeit ab. Angenommen, Sie haben + Ihre Kundenkontakte in der Datei \File{partner.adr} gespeichert und + Sie möchten Herrn Maier einen Brief schreiben, dann sparen Sie sich + viel Tipparbeit, wenn Sie folgendes eingeben: +\begin{lstlisting} + \input{partner.adr} + \begin{letter}{\MAIER} + Der Brief ... + \end{letter} +\end{lstlisting} + Achten Sie bitte darauf, dass Ihr \TeX-System auch auf die + \File{.adr}-Dateien zugreifen kann, da sonst eine Fehlermeldung + von \Macro{input} verursacht wird. Entweder Sie legen die Brief- + und Adressdateien im selben Verzeichnis an, oder Sie binden ein + Adressverzeichnis fest in Ihr \TeX-System ein. +\end{Example} +% +\EndIndex{Cmd}{adrentry} + + +\begin{Declaration} + \Macro{addrentry}\Parameter{Name}\Parameter{Vorname}\Parameter{Adresse}% + \Parameter{Telefon}\Parameter{F1}\Parameter{F2}\Parameter{F3}% + \Parameter{F4}\Parameter{Kürzel} +\end{Declaration} +\BeginIndex{Cmd}{addrentry}% +Da über die Jahre hinweg immer wieder Klagen aufkamen, dass insgesamt +nur zwei freie Felder zu wenig seien, verfügt \Class{scrlttr2} nun +alternativ über die Anweisung \Macro{addrentry}. Mit dem zusätzlichen +"`\texttt{d}"' im Namen sind hier auch zwei weitere freie Felder +hinzugekommen, dafür ist jedoch der Kommentar entfallen. Ansonsten +kann die Anweisung genau wie \Macro{adrentry} verwendet werden. + +In einer \File{adr}-Datei können \Macro{adrentry}"~ und +\Macro{addrentry}-Anweisungen nebeneinander verwendet werden. Ich weise jedoch +darauf hin, dass Zusatzpakete wie das \Package{adrconv}-Paket von Axel +Kielhorn eventuell nicht auf die Verwendung von \Macro{addrentry} ausgelegt +sind. Hier muss der Anwender gegebenenfalls selbst entsprechende +Erweiterungen vornehmen.% +% +\EndIndex{Cmd}{addrentry} + + +Neben dem vereinfachten Zugriff auf Kundendaten können die +\File{.adr}-Dateien auch für Serienbriefe\Index[indexmain]{Serienbriefe} +genutzt werden. So ist es ohne die komplizierte Anbindung an +Datenbanksysteme möglich, solche Massenpostsendungen zu erstellen. +% +\begin{Example} + Sie wollen einen Serienbrief an alle Mitglieder Ihres + Anglervereins schicken, um zur nächsten Mitgliederversammlung + einzuladen. +\begin{lstlisting} + \documentclass{scrlttr2} + \usepackage{ngerman} + \usepackage[utf8]{inputenc} + + \begin{document} + \renewcommand*{\adrentry}[8]{% + \begin{letter}{#2 #1\\#3} + \opening{Liebe Vereinsmitglieder,} + unsere nächste Mitgliederversammlung findet am + Montag, dem 12.~August 2002, statt. + + Folgende Punkte müssen besprochen werden... + \closing{Petri Heil,} + \end{letter} + } + + \input{mitglieder.adr} + \end{document} +\end{lstlisting} + Sind in Ihrer \File{adr}-Datei auch \Macro{addrentry}-Anweisungen + enthalten, müssen Sie dafür eine entsprechende Definition vor dem + Einladen der Adressdatei ergänzen: +\begin{lstlisting} + \renewcommand*{\addrentry}[9]{% + \adrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#9}% + } +\end{lstlisting} + Bei diesem Beispiel wird kein Gebrauch von dem zusätzlichen freien + Feld gemacht und deshalb \Macro{addrentry} mit Hilfe von \Macro{adrentry} + definiert. +\end{Example} + +Natürlich kann der Brief"|inhalt auch von den Adressatenmerkmalen +abhängig gemacht werden. Als Bedingungsfelder können die frei +bestimmbaren Elemente fünf oder sechs eines \Macro{adrentry}-Eintrages +genutzt werden. +\begin{Example} + Angenommen, Sie verwenden das Element fünf, um das Geschlecht eines + Vereinsmitgliedes zu hinterlegen (\PValue{m/w}) und das sechste + Element weist auf einen Rückstand der Mitgliedsbeiträge hin. Wollen + Sie nun alle säumigen Mitglieder anschreiben und persönlich anreden, + so hilft Ihnen folgendes Beispiel weiter: +\begin{lstlisting} + \renewcommand*{\adrentry}[8]{ + \ifdim #6pt>0pt\relax + % #6 ist ein Betrag (Gleitkommazahl) größer 0. + % Es werden also die Säumigen erfasst. + \begin{letter}{#2 #1\\#3} + \if #5m \opening{Lieber #2,} \fi + \if #5w \opening{Liebe #2,} \fi + + Leider mussten wir feststellen, dass du mit + der Zahlung deiner Mitgliedsbeiträge im + Rückstand bist. + + Wir möchten Dich bitten, den offenen Betrag + von #6~EUR auf das Vereinskonto einzuzahlen. + \closing{Petri Heil,} + \end{letter} + \fi + } +\end{lstlisting} +\end{Example} +Es ist also möglich, den Brieftext auf bestimmte Empfängermerkmale +gezielt abzustimmen und so den Eindruck eines persönlichen +Schreibens zu erwecken. Die Anwendungsbreite ist lediglich durch +die maximale Anzahl von zwei freien \Macro{adrentry}-Elementen +beziehungsweise vier freien \Macro{addrentry}-Elementen begrenzt. + + +\begin{Declaration} + \Macro{adrchar}\Parameter{Anfangsbuchstaben}\\ + \Macro{addrchar}\Parameter{Anfangsbuchstaben} +\end{Declaration} +\BeginIndex{Cmd}{adrchar}% +\BeginIndex{Cmd}{addrchar}% +\Index[indexmain]{Adressverzeichnis}\Index[indexmain]{Telefonliste}% +Es ist auch möglich, die Informationen einer \File{.adr}-Datei in +Adressverzeichnisse oder Telefonlisten umzuwandeln. Sie benötigen dazu +zusätzlich das \Package{adrconv}-Paket von Axel Kielhorn (siehe +\cite{package:adrconv}). In diesem Paket sind interaktive +\LaTeX-Dokumente enthalten, mit deren Hilfe sehr einfach entsprechende +Listen erstellt werden können. + +Damit die Listen alphabetisch sortiert ausgegeben werden, muss bereits +die Adressdatei sortiert gewesen sein. Es empfiehlt sich dabei, vor +jedem neuen Anfangsbuchstaben eine Anweisung \Macro{adrchar} mit +diesem Buchstaben als Argument einzufügen. \Class{scrlttr2} selbst +ignoriert diese Anweisung. +% +\begin{Example} + Sie haben folgende, winzige Adressdatei: +% In der folgenden lstlisting-Umgebung je nach Umbruchbedarf einzelne +% Elemente löschen oder hinzufügen. MICHAEL und GABRIEL sollten jedoch +% erhalten bleiben. +\begin{lstlisting} + \adrchar{E} + \adrentry{Engel}{Gabriel} + {Wolke 3\\12345 Himmelreich} + {000\,01\,02\,03}{}{}{Erzengel} + {GABRIEL} + \adrentry{Engel}{Michael} + {Wolke 3a\\12345 Himmelreich} + {000\,01\,02\,04}{}{}{Erzengel} + {MICHAEL} + \adrentry{Engel}{Raphael} + {Wolke 3b\\12345 Himmelreich} + {000\,01\,02\,05}{}{}{Erzengel} + {RAPHAEL} + \adrchar{K} + \adrentry{Kohm}{Markus} + {Fichtenstra\ss e 63\\ + 68535 Edingen-Neckarhausen} + {+49~62\,03~1\,??\,??}{}{} + {\"Uberhaupt kein Engel} + {KOMA} + \adrchar{T} + \adrentry{Teufel}{Luzifer} + {Hinter der Flamme 1\\ + 66666 H\"ollenschlund} + {}{}{}{Gefallener Engel ohne Telefon} + {LUZIFER} +\end{lstlisting} + Diese bearbeiten Sie nun unter Verwendung von \File{adrdir.tex} aus + \cite{package:adrconv}. Seite~3 des Ergebnisses sieht dann etwa so + aus: + \begin{center} + \setlength{\unitlength}{1mm} + \begin{picture}(80,58) + \put(0,58){\line(1,0){80}} + \put(0,3){\line(0,1){55}} + \put(80,3){\line(0,1){55}} + \thicklines + \put(10,43){\line(1,0){60}} + \put(70,46){\makebox(0,0)[r]{\textsf{\textbf{E}}}} + \put(10,23){\makebox(0,20)[l]{\parbox{5cm}{\raggedright + \textbf{Engel}, Gabriel\\\quad\small Wolke 3\\ + \quad 12345 Himmelreich\\ + \quad (Erzengel)}}} + \put(70,23){\makebox(0,20)[r]{\parbox{2cm}{\raggedright~\\ + \small~\\{\footnotesize GABRIEL}\\000\,01\,02\,03}}} + \put(10,4){\makebox(0,20)[l]{\parbox{5cm}{\raggedright + \textbf{Engel}, Michael\\\quad\small Wolke 3a\\ + \quad 12345 Himmelreich\\ + \quad (Erzengel)}}} + \put(70,4){\makebox(0,20)[r]{\parbox{2cm}{\raggedright~\\ + \small~\\{\footnotesize MICHAEL}\\000\,01\,02\,04}}} + \qbezier(0,3)(10,6)(40,3)\qbezier(40,3)(60,0)(80,3) + \end{picture} + \end{center} + Dabei wird der Buchstabe in der Kopfzeile von \Macro{adrchar} + erzeugt. Siehe dazu die Definition in \File{adrdir.tex}. +\end{Example} +Näheres zum \Package{adrconv}-Paket ist der zugehörigen Anleitung zu +entnehmen. Dort finden Sie auch Angaben darüber, ob die aktuelle +Version von \Package{adrconv} bereits mit \Macro{addrentry} und +\Macro{addrchar} umgehen kann. Frühere Versionen kannten nur +\Macro{adrentry} und \Macro{adrchar}. +% +\EndIndex{Cmd}{adrchar}\EndIndex{Cmd}{addrchar}% +% +\EndIndex{}{Adressdatei}\EndIndex{}{Serienbriefe}% + + +\section{Von \Class{scrlettr} nach \Class{scrlttr2}} +\label{sec:scrlttr2.fromscrlettr} + +Bei der Umwandlung eines alten Briefes, der ursprünglich mit +\Class{scrlettr}\IndexClass{scrlettr} gesetzt wurde, besteht der erste +Schritt darin, die \File{lco}-Datei \Option{KOMAold} als Option bei +\Macro{documentclass} anzugeben. Damit sollte die Mehrzahl der +Anweisungen der alten Klasse bereits funktionieren. An einigen Stellen +wird sich die Ausgabe mit der neuen Klasse trotzdem unterscheiden, +weil nun einmal der Satzspiegel der alten Klasse nicht vollständig +nachgebildet wird. Dies hat seine Ursache nicht zuletzt darin, dass in +der Satzspiegelerstellung von \Class{scrlettr} noch diverse Fehler +enthalten waren. So war die Position der Faltmarken beispielsweise von +der Höhe der Kopfzeile abhängig, die wiederum von der Größe der +Grundschrift abhängig war. Eindeutig ein Designfehler der Klasse +\Class{scrlettr}. + +Keine Kompatibilität wird bezüglich der von \Class{scrlettr} +verwendeten Längen erreicht. Wer also in seinem Dokument den +Satzspiegel von \Class{scrlettr} verändert hatte, der sollte diese +Änderungen entfernen oder auskommentieren. In einigen Fällen führt die +Änderung einer Länge oder einer internen Anweisung von +\Class{scrlettr} auch zu einer Fehlermeldung, da die entsprechenden +Längen oder Anweisungen in \Class{scrlttr2} nicht mehr definiert +sind. Versuchen Sie in dem Fall ebenfalls diese Änderungen zu +entfernen oder auszukommentieren. + +Nach dem Wechsel von \Class{scrlettr} zu \Class{scrlttr2} wird der +alte Beispielbrief allein schon durch Setzen der Option +\Option{KOMAold} verarbeitbar: +\begin{lstlisting} + \documentclass[10pt,KOMAold]{scrlttr2} + \usepackage{ngerman} + + \name{\KOMAScript{}-Gruppe} + \address{Klassengasse 1\\ + 12345 \LaTeX{}hausen} + \signature{Euer \KOMAScript{}-Team} + + \begin{document} + \begin{letter}{Die \KOMAScript{}-Nutzer\\ + Irgendwo\\ + weltweit} + \opening{Liebe \KOMAScript{}-Nutzer,} + das \KOMAScript{}-Team m"ochte Euch mit ein paar + Informationen ... + \closing{Viel Spa"s} + \end{letter} + \end{document} +\end{lstlisting} + +Der nächste Schritt kann dann darin bestehen, dass man trotz Verwendung der +alten Anweisungen nicht mehr das Layout der alten Klasse nachbilden will. Soll +beispielsweise das Layout der Letter-Class-Option \Option{DIN} verwendet +werden, so gibt man einfach diese Option zusätzlich und \emph{nach} der Option +\Option{KOMAold} an: +\begin{lstlisting} + \documentclass[10pt,KOMAold,DIN]{scrlttr2} + \usepackage{ngerman} + + \name{\KOMAScript{}-Gruppe} + \address{Klassengasse 1\\ + 12345 \LaTeX{}hausen} + \signature{Euer \KOMAScript{}-Team} + + \begin{document} + \begin{letter}{Die \KOMAScript{}-Nutzer\\ + Irgendwo\\ + weltweit} + \opening{Liebe \KOMAScript{}-Nutzer,} + das \KOMAScript{}-Team m"ochte Euch mit ein paar + Informationen ... + \closing{Viel Spa"s} + \end{letter} + \end{document} +\end{lstlisting} +Durch weitere Optionen kann das Aussehen auch weiter beeinflusst werden. Ich +empfehle, gleich noch einen Schritt weiter zu gehen. + +Der letzte Schritt besteht dann darin, alle alten Anweisungen durch +die neuen Entsprechungen zu ersetzen und die Option \Option{KOMAold} +zu entfernen. Bei der Ersetzung kann es nützlich sein, einen Blick in +die Datei \File{KOMAold.lco} zu werfen. In dieser sind die alten +Befehle mit Hilfe der neuen Variablen und Anweisungen nachgebildet. +\begin{lstlisting} + \documentclass{scrlttr2} + \usepackage{ngerman} + + \setkomavar{fromname}{\KOMAScript{}-Gruppe} + \setkomavar{fromaddress}{Klassengasse 1\\ + 12345 \LaTeX hausen} + \setkomavar{signature}{Euer \KOMAScript{}-Team} + \let\raggedsignature=\raggedright + + \begin{document} + \begin{letter}{Die \KOMAScript-Nutzer\\ + Irgendwo\\ + weltweit} + \opening{Liebe \KOMAScript-Nutzer,} + das \KOMAScript-Team m"ochte Euch mit ein paar + Informationen ... + \closing{Viel Spa"s} + \end{letter} + \end{document} +\end{lstlisting} +In diesem Beispiel wurde außerdem von der Möglichkeit Gebrauch +gemacht, die Anordnung des Schlussgrußes und der Signatur durch +Änderung der Anweisung \Macro{raggedsignature} zu beeinflussen. Dies ist +immer dann empfehlenswert, wenn die Signatur erheblich breiter als die +Grußfloskel ist.% +% +\EndIndex{Class}{scrlttr2}\EndIndex{}{Briefe} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "../guide.tex" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/scrpage2.tex b/Master/texmf-dist/source/latex/koma-script/doc/german/scrpage2.tex new file mode 100644 index 00000000000..64a7abb1b81 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/scrpage2.tex @@ -0,0 +1,1415 @@ +% ====================================================================== +% scrpage2.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ---------------------------------------------------------------------- +% scrpage2.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ====================================================================== +% +% Chapter about scrpage2 of the KOMA-Script guide +% Maintained by Jens-Uwe Morawski (and sometimes Markus Kohm) +% +% ---------------------------------------------------------------------- +% +% Kapitel über scrpage2 in der KOMA-Script-Anleitung +% Verwaltet von Jens-Uwe Morawski (unterstützt von Markus Kohm) +% +% ============================================================================ + +\ProvidesFile{scrpage2.tex}[2005/08/10 KOMA-Script guide (chapter:scrpage2)] + +\chapter{Kopf- und Fußzeilen mit \Package{scrpage2}} +\labelbase{scrpage} +% +\BeginIndex{Package}{scrpage2}% +\iffree{}{\looseness=-1}% +Wie bereits in den beiden vorherigen Kapiteln erwähnt wurde, enthält +\KOMAScript{} auch ein Paket, das weitreichende Kontrolle über Format und +Inhalt der Kopf- und Fußzeilen gibt. Bereits seit 2001 wird hierfür nicht mehr +das \Package{scrpage}\IndexPackage{scrpage}, sondern das stark erweiterte +\Package{scrpage2} verwendet. Diese Anleitung beschreibt daher auch nur noch +\Package{scrpage2}. Das Paket \Package{scrpage} ist obsolet. + +\begin{Explain} + An Stelle von \Package{scrpage2} kann natürlich auch \Package{fancyhdr} + (siehe \cite{package:fancyhdr}) verwendet werden. \Package{scrpage2} + harmoniert jedoch mit den \KOMAScript-Klassen deutlich besser. Genau deshalb + und weil der Vorläufer von \Package{fancyhdr} damals viele Möglichkeiten + vermissen lies, ist \Package{scrpage2} entstanden. Natürlich ist + \Package{scrpage2} nicht an eine \KOMAScript-Klasse gebunden, sondern kann + auch sehr gut mit anderen Klassen verwendet werden. +\end{Explain} + +Zu den grundlegenden Funktionen von \Package{scrpage2} gehören auch +vordefinierte, konfigurierbare Seitenstile. + +\section{Grundlegende Funktionen}\label{sec:scrpage.basics} + +\begin{Explain} + Um die nachfolgende Beschreibung zu verstehen, muss noch einiges zu \LaTeX{} + gesagt werden. Im \LaTeX-Kern sind die Standardseitenstile \PValue{empty}, + welcher eine völlig undekorierte Seite erzeugt, und \PValue{plain}, welcher + meist nur die Seitenzahl enthält, definiert. In vielen Klassen ist der Stil + \PValue{headings} zu finden, welcher eine komplexe Seitendekoration mit + automatischen Kolumnentitel\Index{Kolumnentitel>automatisch} erzeugt. Die + Variante \PValue{myheadings} gleicht \PValue{headings}. Die Kolumnentitel + müssen dabei aber manuell\Index{Kolumnentitel>manuell} gesetzt werden. + Ausführlicher wird das in \autoref{sec:maincls.pageStyle} beschrieben. Dort + wird auch erläutert, dass auf einigen Seiten der Seitenstil automatisch -- in + der Regel zu \PValue{plain} -- wechselt. +\end{Explain} + +Das Paket \Package{scrpage2} unterscheidet nicht mehr zwischen Seitenstilen +mit automatischem und mit manuellem Kolumnentitel. Die Wahl des Seitenstils +erfolgt unabhängig davon, ob mit automatischem oder manuellem Kolumnentitel +gearbeitet wird. Näheres dazu finden Sie in \autoref{sec:scrpage.basics.mark}. + + +\subsection{Vordefinierte Seitenstile}\label{sec:scrpage.basics.buildIn} +% \lehead ... +% scrheadings +% \headmark \pagemark + +\begin{Declaration} + \Pagestyle{scrheadings}\\ + \Pagestyle{scrplain} +\end{Declaration}% +\BeginIndex{Pagestyle}{scrheadings}\BeginIndex{Pagestyle}{scrplain}% +\Index{Seitenstil}% +Das Paket \Package{scrpage2} liefert einen eigenen Seitenstil namens +\PValue{scrheadings}. Dieser Seitenstil kann mittels +\Macro{pagestyle}\PParameter{scrheadings} aktiviert werden. Wird dieser +Seitenstil benutzt, dann wird gleichzeitig der \PValue{plain}-Stil durch den +dazu passenden Stil \PValue{scrplain} ersetzt. Passend bedeutet, dass auch der +\PValue{plain}-Stil auf in \autoref{sec:scrpage.basics.format} vorgestellte +Befehle, die beispielsweise die Kopfbreite ändern, reagiert und im Grundlayout +übereinstimmt. Die Aktivierung des Seitenstils \PValue{scrheadings} oder des +zugehörigen \PValue{plain}-Stils, \PValue{scrplain}, hat keine Auswirkung +darauf, ob mit manuellen oder automatischen +Kolumnentiteln\Index{Kolumnentitel>automatisch}\Index{Kolumnentitel>manuell} +gearbeitet wird (siehe \autoref{sec:scrpage.basics.mark}). Der Seitenstil +\PValue{scrplain} kann auch direkt per \Macro{pagestyle} aktiviert werden. + +\begin{Declaration} + \Macro{lehead}% + \OParameter{scrplain-links-gerade}\Parameter{scrheadings-links-gerade}\\ + \Macro{cehead}% + \OParameter{scrplain-mittig-gerade}\Parameter{scrheadings-mittig-gerade}\\ + \Macro{rehead}% + \OParameter{scrplain-rechts-gerade}\Parameter{scrheadings-rechts-gerade}\\ + \Macro{lefoot}% + \OParameter{scrplain-links-gerade}\Parameter{scrheadings-links-gerade}\\ + \Macro{cefoot}% + \OParameter{scrplain-mittig-gerade}\Parameter{scrheadings-mittig-gerade}\\ + \Macro{refoot}% + \OParameter{scrplain-rechts-gerade}\Parameter{scrheadings-rechts-gerade}\\ + \Macro{lohead}% + \OParameter{scrplain-links-ungerade}\Parameter{scrheadings-links-ungerade}\\ + \Macro{cohead}% + \OParameter{scrplain-mittig-ungerade}\Parameter{scrheadings-mittig-ungerade}\\ + \Macro{rohead}% + \OParameter{scrplain-rechts-ungerade}\Parameter{scrheadings-rechts-ungerade}\\ + \Macro{lofoot}% + \OParameter{scrplain-links-ungerade}\Parameter{scrheadings-links-ungerade}\\ + \Macro{cofoot}% + \OParameter{scrplain-mittig-ungerade}\Parameter{scrheadings-mittig-ungerade}\\ + \Macro{rofoot}% + \OParameter{scrplain-rechts-ungerade}\Parameter{scrheadings-rechts-ungerade}\\ + \Macro{ihead}% + \OParameter{scrplain-innen}\Parameter{scrheadings-innen}\\ + \Macro{chead}% + \OParameter{scrplain-zentriert}\Parameter{scrheadings-zentriert}\\ + \Macro{ohead}% + \OParameter{scrplain-außen}\Parameter{scrheadings-außen}\\ + \Macro{ifoot}% + \OParameter{scrplain-innen}\Parameter{scrheadings-innen}\\ + \Macro{cfoot}% + \OParameter{scrplain-zentriert}\Parameter{scrheadings-zentriert}\\ + \Macro{ofoot}% + \OParameter{scrplain-außen}\Parameter{scrheadings-außen} +\end{Declaration}% +\BeginIndex{Cmd}{lehead}\BeginIndex{Cmd}{cehead}\BeginIndex{Cmd}{rehead}% +\BeginIndex{Cmd}{ihead}\BeginIndex{Cmd}{chead}\BeginIndex{Cmd}{ohead}% +\BeginIndex{Cmd}{lohead}\BeginIndex{Cmd}{cohead}\BeginIndex{Cmd}{rohead}% +\BeginIndex{Cmd}{lefoot}\BeginIndex{Cmd}{cefoot}\BeginIndex{Cmd}{refoot}% +\BeginIndex{Cmd}{ifoot}\BeginIndex{Cmd}{cfoot}\BeginIndex{Cmd}{rfoot}% +\BeginIndex{Cmd}{lofoot}\BeginIndex{Cmd}{cofoot}\BeginIndex{Cmd}{rofoot}% +Diese Seitenstile sind so definiert, dass sowohl im Kopf als auch im +Fuß drei Felder vorhanden sind, deren Inhalt modifiziert werden kann. +Die Befehle zur Modifikation sind in \autoref{fig:scrpage.leheadetall} +verdeutlicht. Die in der Mitte dargestellten Befehle modifizieren sowohl +die Felder der linken als auch der rechten Seite. + +\begin{figure} + \centering + \setlength{\unitlength}{1mm}\begin{picture}(100,65)(0,8)\small + \put(0,12){\dashbox{2}(40,56){linke Seite}} + \put(60,12){\dashbox{2}(40,56){rechte Seite}} + % Felder: oben links + \put(1,63){\framebox(8,4){~}} + \put(16,63){\framebox(8,4){~}} + \put(31,63){\framebox(8,4){~}} + % Felder: oben rechts + \put(61,63){\framebox(8,4){~}} + \put(76,63){\framebox(8,4){~}} + \put(91,63){\framebox(8,4){~}} + % Felder: unten links + \put(1,13){\framebox(8,4){~}} + \put(16,13){\framebox(8,4){~}} + \put(31,13){\framebox(8,4){~}} + % Felder: unten rechts + \put(61,13){\framebox(8,4){~}} + \put(76,13){\framebox(8,4){~}} + \put(91,13){\framebox(8,4){~}} + % die Befehle und Pfeile + % für beidseitig + % + \put(50,65){\makebox(0,0){\Macro{ihead}}} + \put(44,65){\vector(-1,0){4}}\put(56,65){\vector(1,0){4}} + \put(50,58){\makebox(0,0){\Macro{chead}}} + \put(44,58){\line(-1,0){24}}\put(56,58){\line(1,0){24}} + \put(20,58){\vector(0,1){4}}\put(80,58){\vector(0,1){4}} + \put(50,51){\makebox(0,0){\Macro{ohead}}} + \put(44,51){\line(-1,0){40}}\put(56,51){\line(1,0){40}} + \put(4,51){\vector(0,1){11}}\put(96,51){\vector(0,1){11}} + % + \put(50,15){\makebox(0,0){\Macro{ifoot}}} + \put(56,15){\vector(1,0){4}}\put(44,15){\vector(-1,0){4}} + \put(50,22){\makebox(0,0){\Macro{cfoot}}} + \put(44,22){\line(-1,0){24}}\put(56,22){\line(1,0){24}} + \put(20,22){\vector(0,-1){4}}\put(80,22){\vector(0,-1){4}} + \put(50,29){\makebox(0,0){\Macro{ofoot}}} + \put(44,29){\line(-1,0){40}}\put(56,29){\line(1,0){40}} + \put(4,29){\vector(0,-1){11}}\put(96,29){\vector(0,-1){11}} + % Befehle für einseitig + \put(5,69){\makebox(0,0)[b]{\Macro{lehead}}} + \put(20,69){\makebox(0,0)[b]{\Macro{cehead}}} + \put(35,69){\makebox(0,0)[b]{\Macro{rehead}}} + % + \put(65,69){\makebox(0,0)[b]{\Macro{lohead}}} + \put(80,69){\makebox(0,0)[b]{\Macro{cohead}}} + \put(95,69){\makebox(0,0)[b]{\Macro{rohead}}} + % + \put(5,11){\makebox(0,0)[t]{\Macro{lefoot}}} + \put(20,11){\makebox(0,0)[t]{\Macro{cefoot}}} + \put(35,11){\makebox(0,0)[t]{\Macro{refoot}}} + % + \put(65,11){\makebox(0,0)[t]{\Macro{lofoot}}} + \put(80,11){\makebox(0,0)[t]{\Macro{cofoot}}} + \put(95,11){\makebox(0,0)[t]{\Macro{rofoot}}} + \end{picture} + \caption[Befehle zur Manipulation der \Package{scrpage2}-Seitenstile]% + {Zuordung der Befehle zur Manipulation der Seitenstile \PValue{scrheadings} + und \PValue{scrplain} zu den manipulierten Seitenelementen} + \label{fig:scrpage.leheadetall} +\end{figure} + +\begin{Example} +Angenommen, man möchte zentriert im Seitenfuß die Seitenzahl +dargestellt haben, dann benutzt man einfach: +\begin{lstlisting} + \cfoot{\pagemark} +\end{lstlisting} +Sollen die Seitenzahlen\Index{Paginierung} im Kopf außen und die +Kolumnentitel\Index{Kolumnentitel} innen stehen, dann erfolgt dies mit: +\begin{lstlisting} + \ohead{\pagemark} + \ihead{\headmark} + \cfoot{} +\end{lstlisting} +Das \Macro{cfoot}\PParameter{} ist nur dann notwendig, wenn eine +möglicherweise im Fuß vorhandene Seitenzahl entfernt werden muss. +\end{Example} + +Die anderen Befehle, die direkt nur einem Feld zugeordnet sind, +können für anspruchsvollere Vorhaben genutzt werden. + +\begin{Example} +Angenommen, man hat den Auf"|trag, einen Jahresbericht einer Firma +zu erstellen, dann könnte das so angegangen werden: +\begin{lstlisting} + \ohead{\pagemark} + \rehead{Jahresbericht 2001} + \lohead{\headmark} + \cefoot{Firma WasWeißIch} + \cofoot{Abteilung Entwicklung} +\end{lstlisting} +Natürlich muss man hier dafür sorgen, dass mittels \Macro{cofoot} +der Fuß der rechten Seite aktualisiert wird, wenn eine neue + Abteilung im Bericht besprochen wird. +\end{Example} + +Wie oben dargestellt, gibt es einen zu \PValue{scrheadings} +korrespondierenden \PValue{plain}-Seitenstil. +Da es auch möglich sein soll, diesen Stil anzupassen, +unterstüt"-zen die Befehle ein optionales Argument. +Damit kann der Inhalt des entsprechenden Feldes +im \PValue{plain}-Seitenstil modifiziert werden. + +\begin{Example} +Um für die Nutzung von \PValue{scrheadings} die Position der +Seitenzahlen festzulegen, kann man folgendes benutzen: +\begin{lstlisting} + \cfoot[\pagemark]{} + \ohead[]{\pagemark} +\end{lstlisting} +Wird nun der Stil \PValue{plain} genutzt, beispielsweise weil +\Macro{chapter} eine neue Seite beginnt und darauf umschaltet, +dann steht die Seitenzahl zentriert im Seitenfuß. +\end{Example} +% +\EndIndex{Pagestyle}{scrheadings}\EndIndex{Pagestyle}{scrplain}% + +% Die folgende Deklaration und Erklaerung wurde eingefuegt von +% mjk 2001-08-18 +\begin{Declaration} + \Macro{clearscrheadings}\\ + \Macro{clearscrplain}\\ + \Macro{clearscrheadfoot} +\end{Declaration}% +\BeginIndex{Cmd}{clearscrheadings}% +\BeginIndex{Cmd}{clearscrplain}% +\BeginIndex{Cmd}{clearscrheadfoot}% +Will man sowohl den Seitenstil \PValue{scrheadings} als auch den dazu +gehörenden \PValue{plain}-Seitenstil von Grund auf neu definieren, +muss man häufig zusätzlich einige der bereits belegten Seitenelemente +löschen. Da man selten alle Elemente mit neuem Inhalt füllt, sind +dazu in den meisten Fällen mehrere Befehle mit leeren Parametern +notwendig. +Mit Hilfe dieser drei Befehle ist das Löschen schnell und +gründlich möglich. Während \Macro{clearscrheadings} lediglich alle +Felder des Seitenstils \PValue{scrheadings} und \Macro{clearscrplain} +alle Felder des zugehörigen \PValue{plain}-Seitenstils löscht, werden +von \Macro{clearscrheadfoot} alle Felder beider Seitenstile auf leere +Inhalte gesetzt. +\begin{Example} + Sie wollen unabhängig davon, wie die Seitenstile derzeit aussehen, + die Standardform der \KOMAScript-Klassen bei zweiseitigem Satz + erreichen. Dies ist mit nur drei Befehlen möglich: +\begin{lstlisting} + \clearscrheadfoot + \ohead{\headmark} + \ofoot[\pagemark]{\pagemark} +\end{lstlisting} + Ohne die Befehle \Macro{clearscrheadfoot}, \Macro{clearscrheadings} + und \Macro{clearscrplain} wären doppelt so viele Anweisungen und + neun weitere leere Argumente notwendig: +\begin{lstlisting} + \ihead[]{} + \chead[]{} + \ohead[]{\headmark} + \ifoot[]{} + \cfoot[]{} + \ofoot[\pagemark]{\pagemark} +\end{lstlisting} + Einige davon könnten natürlich entfallen, wenn man von einer + konkreten Vorbelegung ausginge. +\end{Example} +% +\EndIndex{Cmd}{clearscrheadings}% +\EndIndex{Cmd}{clearscrplain}% +\EndIndex{Cmd}{clearscrheadfoot}% +% +\EndIndex{Cmd}{lehead}\EndIndex{Cmd}{cehead}\EndIndex{Cmd}{rehead}% +\EndIndex{Cmd}{ihead}\EndIndex{Cmd}{chead}\EndIndex{Cmd}{ohead}% +\EndIndex{Cmd}{lohead}\EndIndex{Cmd}{cohead}\EndIndex{Cmd}{rohead}% +\EndIndex{Cmd}{lefoot}\EndIndex{Cmd}{cefoot}\EndIndex{Cmd}{refoot}% +\EndIndex{Cmd}{ifoot}\EndIndex{Cmd}{cfoot}\EndIndex{Cmd}{rfoot}% +\EndIndex{Cmd}{lofoot}\EndIndex{Cmd}{cofoot}\EndIndex{Cmd}{rofoot}% + +% Satz leicht geaendert: mjk 2001-08-18 +In den vorausgehenden Beispielen wurden schon zwei +Befehle benutzt, die noch gar nicht besprochen wurden. +Das soll jetzt nachgeholt werden. + +% Die folgende Deklaration und Erklaerung wurde eingefuegt von +% mjk 2001-08-17 +\begin{Declaration} + \Macro{leftmark}\\ + \Macro{rightmark} +\end{Declaration}% +\vspace{1pt}% Umbruchverbesserungstrick! +\BeginIndex{Cmd}{leftmark}\BeginIndex{Cmd}{rightmark}% +Diese beiden Befehle erlauben es auf die Kolumnentitel zuzugreifen, die +normalerweise für die linke bzw. die rechte Seite gedacht sind. Diese beiden +Befehle werden nicht von \Package{scrpage2}, sondern direkt vom \LaTeX-Kern +zur Verfügung gestellt. Wenn in diesem Kapitel vom Kolumnentitel der linken +Seite oder vom Kolumnentitel der rechten Seite die Rede ist, dann ist damit +eigentlich der Inhalt von \Macro{leftmark} und \Macro{rightmark} gemeint. +% +\EndIndex{Cmd}{leftmark}\EndIndex{Cmd}{rightmark}% + + +\BeginIndex{Cmd}{headmark} +\begin{Declaration} +\Macro{headmark} +\end{Declaration}% +Dieser Befehl ermöglicht es, auf die Inhalte der Kolumnentitel +zuzugreifen. +Im Gegensatz zu den originalen \LaTeX{}-Befehlen +\Macro{leftmark} und \Macro{rightmark} braucht man +nicht auf die richtige Zuordnung zur linken oder rechten +Seite zu achten. +\EndIndex{Cmd}{headmark} + +\BeginIndex{Cmd}{pagemark} +\begin{Declaration} +\Macro{pagemark} +\end{Declaration}% +Dieser Befehl ermöglicht den Zugriff auf die Seitenzahl. Im +\autoref{sec:scrpage.basics.format}, \autopageref{desc:scrpage.macro.pnumfont} +wird der Befehl \Macro{pnumfont} zur Formatierung der Seitenzahl vorgestellt, +den \Macro{pagemark} automatisch berücksichtigt. +% +\EndIndex{Cmd}{pagemark} + +\BeginIndex{Cmd}{pagestyle}\BeginIndex{Pagestyle}{useheadings} +\begin{Declaration} +\Option{useheadings} +\end{Declaration}% +\phantomsection\label{desc:scrpage.pagestyle.useheadings}% +Das Paket \Package{scrpage2} ist in erster Linie dafür gedacht, dass +die bereitgestellten Stile benutzt oder eigene Stile definiert +werden. Jedoch kann es notwendig sein, auch auf einen von der +Dokumentenklasse zur Verfügung gestellten Stil zurückzuschalten. +Dieses mit \Macro{pagestyle}\PParameter{headings} vorzunehmen wäre +naheliegend, hat aber den Nachteil, dass die nachfolgend besprochenen +Befehle \Macro{automark} und \Macro{manualmark} nicht wie erwartet +funktionieren. Aus diesem Grund sollte auf die originalen Stile mit +\Macro{pagestyle}\PParameter{useheadings} umgeschalten werden. Eine +solche Umschaltung hat dann keine Auswirkung darauf, ob mit manuellen +oder automatischen Kolumnentiteln gearbeitet wird. +\EndIndex{Cmd}{pagestyle}\EndIndex{Pagestyle}{useheadings} + +\subsection{Manuelle und automatische Kolumnentitel} +\label{sec:scrpage.basics.mark} +% \automark \manualmark +% +\BeginIndex{}{Kolumnentitel>automatisch}% +\BeginIndex{}{Kolumnentitel>manuell}% +Gewöhnlich gibt es zu einem \PValue{headings}-Stil eine +\emph{my}-Variante. Ist ein solcher Stil aktiv, dann werden die +Kolumnentitel nicht mehr automatisch aktualisiert. Bei +\Package{scrpage2} wird ein anderer Weg beschritten. Ob die +Kolumnentitel lebend sind oder nicht, bestimmen die Befehle +\Macro{automark} und \Macro{manualmark}. Die Voreinstellung kann auch +bereits beim Laden des Paketes über die Optionen \Option{automark} und +\Option{manualmark} beeinflusst werden (siehe +\autoref{sec:scrpage.basics.options}, +\autopageref{desc:scrpage.option.automark}). + +\BeginIndex{Cmd}{manualmark} +\begin{Declaration} +\Macro{manualmark} +\end{Declaration}% +Wie der Name bereits verdeutlicht, schaltet \Macro{manualmark} die +Aktualisierung der Kolumnentitel aus. Es bleibt somit dem Nutzer +überlassen, für eine Aktualisierung bzw. für den Inhalt der +Kolumnentitel zu sorgen. Dazu stehen die Befehle +\Macro{markboth}\IndexCmd{markboth} und +\Macro{markright}\IndexCmd{markright} bereit. +\EndIndex{Cmd}{manualmark} + +% Ergaenzt mjk 2001-07-17 +\BeginIndex{Cmd}{automark} +\begin{Declaration} + \Macro{automark}\OParameter{rechte Seite}\Parameter{linke Seite} +\end{Declaration}% +Das Makro \Macro{automark} hingegen aktiviert die automatische Aktualisierung. +Für die beiden Parameter sind die Bezeichnungen der +Gliederungsebenen\Index{Gliederungsebenen} einzusetzen, deren Titel an +entsprechender Stelle erscheinen soll. Gültige Werte für die Parameter sind: +\PValue{part}\ChangedAt{2.2}{\Package{scrpage2}}, \PValue{chapter}, +\PValue{section}, \PValue{subsection}, \PValue{subsubsection}, +\PValue{paragraph} und \PValue{subparagraph}. Der Wert \PValue{part} führt bei +Verwendung der meisten Klassen nicht zu dem gewünschten Ergebnis. Bisher ist +nur von den \KOMAScript-Klassen ab Version~2.9s bekannt, dass dieser Wert +unterstützt wird. Das optionale Argument \PName{rechte Seite} ist +ver\-ständlicherweise nur für zweiseitigen Satz gedacht. Im einseitigen Satz +sollten Sie normalerweise darauf verzichten. Mit Hilfe der Option +\Option{autooneside}\IndexOption{autooneside} können Sie auch einstellen, dass +das optionale Argument im einseitigen\Index{einseitig} Satz automatisch +ignoriert wird (siehe \autoref{sec:scrpage.basics.options}, +\autopageref{desc:scrpage.option.autooneside}). +\begin{Example} +Wird beispielsweise mit einer \emph{book}-Klasse gearbeitet, +deren höch\-ste Gliederungsebene \emph{chapter} ist, dann +stellt nach einem vorhergehenden \Macro{manualmark} der Befehl +\begin{lstlisting} + \automark[section]{chapter} +\end{lstlisting} +den Originalzustand wieder her. Bevorzugt man stattdessen, +die tieferen Gliederungsebenen angezeigt zu bekommen, dann +erfolgt dies mit: +\begin{lstlisting} + \automark[subsection]{section} +\end{lstlisting} +\end{Example} + +\begin{Explain} + Die Markierung der jeweils höheren Gliederungsebene wird mit Hilfe von + \Macro{markboth}\IndexCmd{markboth} gesetzt. Die Markierung der tieferen + Gliederungsebene wird mit \Macro{markright}\IndexCmd{markright} bzw. + \Macro{markleft}\IndexCmd{markleft} gesetzt. Der entsprechende Aufruf + erfolgt indirekt über die Gliederungsbefehle. Die Anweisung \Macro{markleft} + wird von \Package{scrpage2} bereitgestellt und ist vergleichbar zu + \Macro{markright} aus dem \LaTeX-Kern definiert. Obwohl sie nicht als + internes Makro definiert ist, wird von einem direkten Gebrauch abgeraten. +\end{Explain} +\EndIndex{Cmd}{automark} +\EndIndex{}{Kolumnentitel>automatisch}% +\EndIndex{}{Kolumnentitel>manuell}% + + +\subsection{Formatierung der Kopf- und Fußzeilen} +\label{sec:scrpage.basics.format} +% \headfont \pnumfont +% \setheadwidth \setfootwidth +% \set(head|foot)(top|sep|bot)line +Im vorherigen Abschnitt ging es hauptsächlich um inhaltliche +Dinge. +Das genügt natürlich nicht, um die gestalterischen Ambitionen +zu befriedigen. Deshalb soll es sich in diesem Abschnitt +ausschließlich darum drehen. +\BeginIndex{Cmd}{headfont}\BeginIndex{Cmd}{pnumfont} +\begin{Declaration} + \Macro{headfont}\\ + \Macro{pnumfont} +\end{Declaration}% +Die Schriftformatierung übernimmt +der Befehl \Macro{headfont} für den Seitenkopf und -fuß +und \Macro{pnumfont} für die Seitenzahl. +\begin{Example} +Um beispielsweise den Kopf und Fuß in fetter serifenloser Schrift zu setzen, +und die Seitenzahl geneigt serif erscheinen zu lassen, +nutzt man folgende Definitionen. +\begin{lstlisting} + \renewcommand{\headfont}{% + \normalfont\sffamily\bfseries + } + \renewcommand{\pnumfont}{% + \normalfont\rmfamily\slshape + } +\end{lstlisting} +\end{Example} +\EndIndex{Cmd}{headfont}\EndIndex{Cmd}{pnumfont} +% +Ab Version 2.8p der \KOMAScript{}-Klassen wurde die Schnittstelle +für Schriftattribute vereinheitlicht. +Wird \Package{srcpage2} in Verbindung mit einer dieser Klassen +verwendet, dann sollte die Zuweisung in der Art erfolgen, wie +sie im \autoref{sec:maincls.font} beschrieben wird. +\begin{Example} +Statt dem \Macro{renewcommand} wird dann der Befehl +\Macro{setkomafont} verwendet. +Die vorhergehenden Definitionen lauten dann: +\begin{lstlisting} + \setkomafont{pagehead}{% + \normalfont\sffamily\bfseries + } + \setkomafont{pagenumber}{% + \normalfont\rmfamily\slshape + } +\end{lstlisting} +\end{Example} + +\BeginIndex{Cmd}{setheadwidth}\BeginIndex{Cmd}{setfootwidth} +\begin{Declaration} +\Macro{setheadwidth}\OParameter{Verschiebung}\Parameter{Breite}\\ +\Macro{setfootwidth}\OParameter{Verschiebung}\Parameter{Breite} +\end{Declaration}% +Normalerweise entsprechen die Breiten von Kopf- und Fußzeile der Breite +des Textbereichs.\Index{Kopf>Breite}\Index{Fuß>Breite} +Die Befehle \Macro{setheadwidth} und \Macro{setfootwidth} +ermöglichen dem Anwender, auf einfache Weise die Breiten seinen +Bedürfnissen anzupassen. +Das obligatorische Argument \PName{Breite} nimmt den Wert der Breite +des Kopfes bzw. des Fußes auf, \PName{Verschiebung} ist ein +Längenmaß für die Verschiebung des entsprechenden Elements in Richtung +des äußeren Seitenrandes. + +Für die möglichen Standardfälle akzeptiert das obligatorische Argument +\PName{Breite} auch folgende symbolische Werte: +\begin{labeling}[\ --]{\PValue{textwithmarginpar}} +\item[\PValue{paper}] die Breite des Papiers +\item[\PValue{page}] die Breite der Seite +\item[\PValue{text}] die Breite des Textbereichs +\item[\PValue{textwithmarginpar}] die Breite des Textbereichs inklusive dem +Seitenrand +\item[\PValue{head}] die aktuelle Breite des Seitenkopfes +\item[\PValue{foot}] die aktuelle Breite des Seitenfußes +\end{labeling} +Der Unterschied zwischen \PValue{paper} und \PValue{page} besteht +darin, dass \PValue{page} die Breite des Papiers abzüglich der +Bindekorrektur ist, falls das +\Package{typearea}-Paket\IndexPackage{typearea} verwendet wird (siehe +\autoref{cha:typearea}). Ohne Verwendung von \Package{typearea} +sind \PValue{paper} und \PValue{page} +identisch.%mjk-2001-08-17 + +\begin{Example} + Angenommen, man möchte ein Seitenlayout wie im + \emph{\LaTeX-Begleiter}, bei dem die Kopfzeile in den Rand ragt, + dann geschieht das ganz einfach mit: +\begin{lstlisting} + \setheadwidth[0pt]{textwithmarginpar} +\end{lstlisting} +% +und sieht dann auf einer rechten Seite folgendermaßen aus: +% +\begin{XmpTopPage} + \XmpHeading{10,29}{85} + \thinlines\XmpRule{10,27}{85} + \XmpSetText[\XmpTopText]{10,24} + \XmpMarginNote{83,14} +\end{XmpTopPage} +% +Soll der Seitenfuß die gleiche Breite und Ausrichtung haben, dann hat +man jetzt zwei Wege. +Der erste ist, man wiederholt das Gleiche für den Seitenfuß mit: +\begin{lstlisting} + \setfootwidth[0pt]{textwithmarginpar} +\end{lstlisting} +% +oder man greift auf den anderen symbolischen Wert \PValue{head} zurück, +da der Kopf bereits die gewünschte Breite hat. +\begin{lstlisting} + \setfootwidth[0pt]{head} +\end{lstlisting} +\end{Example} + +Wird keine Verschiebung angegeben, das heißt auf das optionale Argument +verzichtet, dann erscheint der Kopf bzw. der Fuß symmetrisch auf +der Seite angeordnet. Es wird somit ein Wert für die Verschiebung +automatisch ermittelt, der der aktuellen Seitengestalt entspricht. + +\begin{Example} +Entsprechend dem vorherigen Beispiel wird hier auf das optionale +Argument verzichtet: +\begin{lstlisting} + \setheadwidth{textwithmarginpar} +\end{lstlisting} +% +und sieht dann auf einer rechten Seite folgendermaßen aus: +% +\begin{XmpTopPage} + \XmpHeading{5,29}{85} + \thinlines\XmpRule{5,27}{85} + \XmpSetText[\XmpTopText]{10,24} + \XmpMarginNote{83,14} +\end{XmpTopPage} +\end{Example} + +Wie zu sehen, ist der Kopf jetzt nach innen verschoben, wobei +die Kopfbreite sich nicht geändert hat. Die Verschiebung ist +so berechnet, dass die Seitenproportionen auch hier sichtbar werden. +\EndIndex{Cmd}{setheadwidth}\EndIndex{Cmd}{setfootwidth} + +\BeginIndex{Cmd}{setheadtopline}\BeginIndex{Cmd}{setheadsepline} +\BeginIndex{Cmd}{setfootsepline}\BeginIndex{Cmd}{setfootbotline} +\begin{Declaration} + \Macro{setheadtopline}\OParameter{Länge}\Parameter{Dicke}% + \OParameter{Anweisungen}\\ + \Macro{setheadsepline}\OParameter{Länge}\Parameter{Dicke}% + \OParameter{Anweisungen}\\ + \Macro{setfootsepline}\OParameter{Länge}\Parameter{Dicke}% + \OParameter{Anweisungen}\\ + \Macro{setfootbotline}\OParameter{Länge}\Parameter{Dicke}% + \OParameter{Anweisungen} +\end{Declaration}% +Entsprechend den Größenparametern für die Kopf- und Fußzeile +gibt es auch Befehle, die die Dimensionen der Linien im Kopf und +Fuß modifizieren können. + +\begin{labeling}[\ --]{\Macro{setfootsepline}} +\item[\Macro{setheadtopline}] modifiziert die Parameter für die Linie +über dem Seitenkopf +\item[\Macro{setheadsepline}] modifiziert die Parameter für die Linie +zwischen Kopf und Textkörper +\item[\Macro{setfootsepline}] modifiziert die Parameter für die Linie +zwischen Text und Fuß +\item[\Macro{setfootbotline}] modifiziert die Parameter für die Linie +unter dem Seitenfuß +\end{labeling} + +Das obligatorische Argument \PName{Dicke} bestimmt, wie stark +die Linie gezeichnet wird. +Das optionale Argument \PName{Länge} akzeptiert die +gleichen symbolischen Werte wie \PName{Breite} bei +\Macro{setheadwidth}, als auch einen normalen Längenausdruck. +Solange im Dokument dem optionalen Argument \PName{Länge} kein Wert +zugewiesen wurde, passt sich die entsprechende Linienlänge automatisch der +Breite des Kopfes bzw. des Fußes an. + +Möchte man diesen Automatismus für die Länge einer Linie wieder restaurieren, +dann nutzt man im Längenargument den Wert \PValue{auto}. + +Mit\ChangedAt{2.2}{\Package{scrpage2}} +dem optionalen Argument \PName{Anweisungen} können zusätzliche Anweisungen +definiert werden, die vor dem Zeichnen der jeweiligen Linie auszuführen sind. +Das können beispielsweise Anweisungen sein, um die +Farbe\Index{Kopf>Farbe}\Index{Fuss=Fuß>Farbe}\Index{Farbe>im + Kopf}\Index{Farbe>im Fuss=im Fuß} der Linie zu ändern. +Bei Verwendung einer \KOMAScript-Klasse können diese Anweisungen auch über +\Macro{setkomafont}\IndexCmd{setkomafont} für eines der Elemente +\FontElement{headtopline}\IndexFontElement{headtopline}, +\FontElement{headsepline}\IndexFontElement{headsepline}, +\FontElement{footsepline}\IndexFontElement{footsepline}, +\FontElement{footbottomline}\IndexFontElement{footbottomline} oder auch +\FontElement{footbotline}\IndexFontElement{footbotline} gesetzt und mit +\Macro{addtokomafont}\IndexCmd{addtokomafont} erweitert werden. Die +Anweisungen \Macro{setkomafont} und \Macro{addkomafont} sind in +\autoref{sec:maincls.font} näher beschrieben. + +\begin{Declaration} +\XMacro{setheadtopline}\OParameter{\upshape\PValue{auto}}\Parameter{\upshape\PValue{current}}\\ +\XMacro{setheadtopline}\OParameter{\upshape\PValue{auto}}\Parameter{}\\ +\XMacro{setheadtopline}\OParameter{\upshape\PValue{auto}}\Parameter{}\OParameter{} +\end{Declaration}% +Die hier am Befehl \Macro{setheadtopline} illustrierten Argumente +sind natürlich auch für die anderen drei Längenbefehle gültig. + +Enthält das obligatorische Argument den Wert \PValue{current} oder wird +leer gelassen, dann wird die Dicke der Linie nicht verändert. Das kann +genutzt werden, wenn die Länge der Linie aber nicht die Dicke modifiziert +werden soll. + +Wird das optionale Argument \PName{Anweisungen} weggelassen, so bleiben +eventuell zuvor gesetzte Anweisungen erhalten. Wird hingegen ein leeres +Argumen \PName{Anweisungen} gesetzt, so werden eventuell zuvor gesetzte +Anweisungen wieder gelöscht. + +\begin{Example} +Soll beispielsweise der Kopf mit einer kräftigen Linie von 2\,pt +darüber und einer normalen von 0,4\,pt zwischen Kopf und Text +abgesetzt werden, dann erfolgt das mit: +\begin{lstlisting} + \setheadtopline{2pt} + \setheadsepline{.4pt} +\end{lstlisting} +% +\begin{XmpTopPage} + \XmpHeading{10,29}{70} + \thinlines\XmpRule{10,27}{70} + \thicklines\XmpRule{10,32}{70} + \XmpSetText[\XmpTopText]{10,24} + \XmpMarginNote{83,14} +\end{XmpTopPage} + +Soll diese Linie zusätzlich in roter Farbe gesetzt werden, dann sind die +Anweisungen beispielsweise wie folgt zu ändern: +\begin{lstlisting} + \setheadtopline{2pt}[\color{red}] + \setheadsepline{.4pt}[\color{red}] +\end{lstlisting} +In diesem und auch dem folgenden Beispiel wurde für die Aktivierung der Farbe +die Syntax des \Package{color}\IndexPackage{color}-Pakets verwendet, das dann +natürlich auch geladen werden muss. \Package{scrpage2} selbst bietet keine +direkte Farbunterstützung. Damit ist jedes beliebige Farbunterstützungspaket +verwendbar. + +Mit einer \KOMAScript-Klasse kann alternativ +\begin{lstlisting} + \setheadtopline{2pt} + \setheadsepline{.4pt} + \setkomafont{headtopline}{\color{red}} + \setkomafont{headsepline}{\color{red}} +\end{lstlisting} +verwendet werden. + +Die automatische Anpassung an die Kopf- und Fußbreiten illustriert +folgendes Beispiel: +\begin{lstlisting} + \setfootbotline{2pt} + \setfootsepline[text]{.4pt} + \setfootwidth[0pt]{textwithmarginpar} +\end{lstlisting} + +%\phantomsection für hyperref-\pageref-Link jum-2001/11/24 +\phantomsection\label{page:scrpage.autoLineLength}% +\begin{XmpBotPage} + \XmpHeading{10,18}{85} + \thinlines\XmpRule{17,21}{70} + \thicklines\XmpRule{10,16}{85} + \XmpSetText[\XmpBotText]{10,36} + \XmpMarginNote{83,26} +\end{XmpBotPage} +\end{Example} +% +Nun mag nicht jedem die Ausrichtung der Linie über der Fußzeile gefallen, +sondern es wird in einem solchen Fall erwartet, dass sie wie der Kolumnentitel +linksbündig zum Text ist. Diese Einstellung kann nur global in Form einer +Paketoption erfolgen und wird im folgenden +\autoref{sec:scrpage.basics.options} mit anderen Optionen beschrieben. +% +\EndIndex{Cmd}{setheadtopline}\EndIndex{Cmd}{setheadsepline}% +\EndIndex{Cmd}{setfootsepline}\EndIndex{Cmd}{setfootbotline}% + +\subsection{Optionen beim Laden des Paketes} +\label{sec:scrpage.basics.options} +% head(in|ex)clude foot(in|ex)clude --> typearea +% headtopline headsepline footbotline footsepline (plain...) +% komastyle standardstyle +% markuppercase markusecase +% automark manualmark +\vspace{-1ex} +\BeginIndex{Option}{headinclude}\BeginIndex{Option}{footinclude} +\BeginIndex{Option}{headexclude}\BeginIndex{Option}{footexclude} +\begin{Declaration} +\Option{headinclude}\\ +\Option{headexclude}\\ +\Option{footinclude}\\ +\Option{footexclude} +\end{Declaration}% +Diese Optionen bestimmen, ob der Seitenkopf bzw.\,der Seitenfuß +für die Satzspiegel zum Text\-kör\-per gezählt werden. +Die durch die Verwendung der Parameter notwendigen Einstellungen +werden vom Paket \Package{typearea} +(siehe \autoref{sec:typearea.options}) +vorgenommen, wenn dieses Paket nach \Package{scrpage2} geladen wird. +Wichtig ist hier, dass bei Verwendung einer \KOMAScript{}-Klasse +diese Optionen bei der Dokumentenklasse und nicht bei \Package{scrpage2} +angegeben werden müssen, um eine Wirkung zu erzielen. +\EndIndex{Option}{headinclude}\EndIndex{Option}{footinclude} +\EndIndex{Option}{headexclude}\EndIndex{Option}{footexclude} + +\BeginIndex{Option}{headtopline}\BeginIndex{Option}{plainheadtopline} +\BeginIndex{Option}{headsepline}\BeginIndex{Option}{plainheadsepline} +\BeginIndex{Option}{footsepline}\BeginIndex{Option}{plainfootsepline} +\BeginIndex{Option}{footbotline}\BeginIndex{Option}{plainfootbotline} +\begin{Declaration} +\Option{headtopline} und \Option{plainheadtopline}\\ +\Option{headsepline} und \Option{plainheadsepline}\\ +\Option{footsepline} und \Option{plainfootsepline}\\ +\Option{footbotline} und \Option{plainfootbotline} +\end{Declaration}% +Eine Grundeinstellung für die Linien unter und über den Kopf- und +Fußzeilen kann mit diesen Optionen vorgenommen werden. +Diese Einstellungen gelten dann als Standard für alle mit \Package{scrpage2} +definierten Seitenstile. +Wird eine von diesen Optionen verwendet, dann wird eine Linienstärke +von 0,4\,pt eingesetzt. +Da es zum Seitenstil \PValue{scrheadings} einen entsprechenden +\PValue{plain}-Stil gibt, kann mit den \Option{plain\dots}-Optionen +auch die entsprechende Linie des \PValue{plain}-Stils konfiguriert +werden. Diese \Option{plain}-Optionen wirken aber nur, wenn auch +die korrespondierende Option ohne \Option{plain} aktiviert wurde. +Somit zeigt die Option \Option{plainheadtopline} +ohne \Option{headtopline} keine Wirkung. + +Bei diesen Optionen ist zu beachten, dass der entsprechende +Seitenteil in den Textbereich des Satzspiegels mit übernommen wird, +wenn eine Linie aktiviert wurde. +Wird also mittels \Option{headsepline} die Trennlinie zwischen +Kopf und Text aktiviert, dann wird automatisch mittels +\Package{typearea} der Satzspiegel so berechnet, dass der Seitenkopf +Teil des Textblocks ist. + +Die Bedingungen für die Optionen des vorhergehenden Abschnitts +gelten auch für diesen Automatismus. +Das bedeutet, dass das Paket \Package{typearea} nach \Package{scrpage2} +geladen werden muss, beziehungsweise, dass bei Verwendung einer +\KOMAScript{}-Klasse, die Optionen +\Option{headinclude} und \Option{footinclude} explizit bei +\Macro{documentclass} gesetzt werden müssen, um Kopf- bzw. Fußzeile +in den Texblock zu übernehmen. + +\EndIndex{Option}{headtopline}\EndIndex{Option}{plainheadtopline} +\EndIndex{Option}{headsepline}\EndIndex{Option}{plainheadsepline} +\EndIndex{Option}{footsepline}\EndIndex{Option}{plainfootsepline} +\EndIndex{Option}{footbotline}\EndIndex{Option}{plainfootbotline} + +\BeginIndex{Option}{ilines}% +\BeginIndex{Option}{clines}% +\BeginIndex{Option}{olines}% +\Index{Linienausrichtung}% +\begin{Declaration} +\Option{ilines}\\ +\Option{clines}\\ +\Option{olines} +\end{Declaration}% +Bei der Festlegung der Linienlängen +kann es vorkommen, dass die Linie zwar die gewünschte Länge, aber nicht +die erwünschte Ausrichtung hat, da sie im Kopf- bzw. Fußbereich +zentriert wird. Mit den hier vorgestellten Paketoptionen kann +global für alle mit \Package{scrpage2} definierten Seitenstile diese +Vorgabe modifiziert werden. +Dabei setzt \Option{ilines} die Ausrichtung so, dass die Linien an +den inneren Rand verschoben werden. Die Option \Option{clines} +verhält sich wie die Standardeinstellung und \Option{olines} +richtet am äußeren Rand aus. + +\begin{Example} + Hier gilt es, das Beispiel zu \Macro{setfootsepline} auf + \autopageref{page:scrpage.autoLineLength} mit dem folgenden zu + vergleichen, um die Wirkung der Option \Option{ilines} zu sehen. +\begin{lstlisting} + \usepackage[ilines]{scrpage2} + \setfootbotline{2pt} + \setfootsepline[text]{.4pt} + \setfootwidth[0pt]{textwithmarginpar} +\end{lstlisting} +% Der folgende Text wurde erg"anzt um den Seitenumbruch zu verbessern, +% mjk-2001-10-05: +% \enlargethispage*{2\baselineskip} + Allein die Verwendung der Option \Option{ilines} führt dabei zu der + geänderten Ausgabe, die nachfolgend veranschaulicht wird: +% +\begin{XmpBotPage} + \XmpHeading{10,18}{85} + \thinlines\XmpRule{10,21}{70} + \thicklines\XmpRule{10,16}{85} + \XmpSetText[\XmpBotText]{10,36} + \XmpMarginNote{83,26} +\end{XmpBotPage} + Die Trennlinie zwischen Text und Fuß wird bündig innen im Fußteil + gesetzt und nicht wie bei der Standardeinstellung zentriert. +\end{Example} +\EndIndex{Option}{ilines}\EndIndex{Option}{clines}\EndIndex{Option}{olines} + +% \phantomsection für hyperref-\pageref-Link jum-2001/11/24 +\BeginIndex{Option}{automark}\BeginIndex{Option}{manualmark}% +\BeginIndex{}{Kolumnentitel>automatisch}% +\BeginIndex{}{Kolumnentitel>manuell}% +\begin{Declaration} +\Option{automark}\\ +\Option{manualmark} +\end{Declaration}% +Diese Optionen setzen gleich zu Beginn des Dokuments die Einstellung, ob eine +automatische Aktualisierung der Kolumnentitel erfolgt. Die Option +\Option{automark} schaltet die automatische Aktualisierung ein, +\Option{manualmark} deaktiviert sie. +% Das Folgende wurde ergaenzt, weil dazu die haeufigsten Fragen +% bzw. falschen Bug-Reports im Support kamen. +% mjk-2001-09-21: +Ohne Verwendung einer der beiden Optionen bleibt die Einstellung +erhalten, die beim Laden des Paketes gültig war. +\begin{Example} + Sie laden das Paket \Package{scrpage2} unmittelbar nach der Klasse + \Class{scrreprt} und ohne weitere Optionen. Dazu schreiben Sie: + \begin{lstlisting} + \documentclass{scrreprt} + \usepackage{scrpage2} +\end{lstlisting} + Da bei \Class{scrreprt} der Seitenstil \PValue{plain} voreingestellt + ist, ist dies auch jetzt noch der Fall. Außerdem entspricht die + Voreinstellung \PValue{plain} manuellen Kolumnentiteln. Wenn Sie + also anschließend mit + \begin{lstlisting} + \pagestyle{scrheadings} +\end{lstlisting} + auf den Seitenstil \PValue{scrheadings} umschalten, sind noch immer + manuelle Kolumnentitel eingestellt. + + Verwenden Sie stattdessen die Dokumentklasse \Class{scrbook}, so + ist nach + \begin{lstlisting} + \documentclass{scrbook} + \usepackage{scrpage2} +\end{lstlisting} + der Seitenstil \PValue{headings} mit automatischen Kolumnentiteln + aktiviert. Bei Umschaltung auf den Seitenstil \PValue{scrheadings} + bleiben automatische Kolumnentitel eingeschaltet. Dabei werden dann + weiterhin die Markierungsmakros von \Class{scrbook} verwendet. + + Verwenden Sie hingegen + \begin{lstlisting} + \usepackage[automark]{scrpage2} +\end{lstlisting} + so wird unabhängig von der verwendeten Klasse auf automatische + Kolumnentitel umgeschaltet, wobei die Markierungsmakros von + \Package{scrpage2} genutzt werden. + Natürlich wirkt sich dies auf den Seitenstil + \PValue{plain} von \Class{scrreprt} nicht aus. Die Kolumnentitel + werden erst sichtbar, wenn auf den Seitenstil + \PValue{scrheadings}\IndexPagestyle{scrheadings} oder + \PValue{useheadings} oder einen selbstdefinierten Seitenstil mit + Kolumnentiteln umgeschaltet wird. +\end{Example} +\EndIndex{Option}{automark}\EndIndex{Option}{manualmark} +\EndIndex{}{Kolumnentitel>automatisch}% +\EndIndex{}{Kolumnentitel>manuell}% + + +% Folgende Deklaration und Erklaerung wurde eingefügt von +% mjk 2001-08-17: +\BeginIndex{Option}{autooneside} +\begin{Declaration} + \Option{autooneside} +\end{Declaration}% +Diese Option sorgt dafür, dass das optionale Argument von +\Macro{automark}\IndexCmd{automark}\Index{Kolumnentitel>automatisch} im +einseitigen Satz automatisch ignoriert wird. Siehe hierzu auch die Erläuterung +zum Befehl \Macro{automark} in \autoref{sec:scrpage.basics.mark}, +\autopageref{desc:scrpage.macro.automark}.% +\EndIndex{Option}{autooneside} + + +\begin{Declaration} +\Option{komastyle}\\ +\Option{standardstyle} +\end{Declaration}% +\BeginIndex{Option}{komastyle}\BeginIndex{Option}{standardstyle}% +Diese Optionen bestimmen, wie der vordefinierte Seitenstil +\PValue{scrheadings} gestaltet ist. +Bei \Option{komastyle} wird eine Definition vorgenommen, wie +sie den \KOMAScript{}-Klassen entspricht. +Bei den \KOMAScript{}-Klas\-sen ist dies die Voreinstellung und +kann somit auch für andere Klassen gesetzt werden. + +Die Option \Option{standardstyle} definiert \PValue{scrheadings} +wie es von den Standardklassen erwartet wird. +Außerdem wird hier automatisch \Option{markuppercase} aktiviert, +es sei denn, \Option{markusedcase} wird ebenfalls als Option übergeben. +\EndIndex{Option}{komastyle}\EndIndex{Option}{standardstyle} + +\begin{Declaration} +\Option{markuppercase}\\ +\Option{markusedcase} +\end{Declaration}% +\BeginIndex{Option}{markuppercase}\BeginIndex{Option}{markusedcase}% +Für die Funktionalität von \Macro{automark} modifiziert +\Package{scrpage2} interne Befehle, die die Gliederungsbefehle +benutzen, um die lebenden Kolumnentitel zu setzen. +Da einige Klassen, im Gegensatz +zu den \KOMAScript{}-Klassen, die Kolumnentitel in Großbuchstaben +schreiben, muss \Package{scrpage2} wissen, wie die genutzte +Dokumentenklasse die lebenden Kolumnentitel darstellt. + +Die Option \Option{markuppercase} zeigt \Package{scrpage2}, +dass die benutzte Klasse die Großschreibweise benutzt. +Die Option \Option{markusedcase} sollte angegeben werden, +wenn die benutzte Dokumentenklasse keine Großschreibweise +verwendet. +Die Optionen sind nicht geeignet, eine entsprechende +Darstellung zu erzwingen. Es kann somit zu unerwünschten +Effekten kommen, wenn die Angabe nicht dem Verhalten +der Dokumentenklasse entspricht. +\EndIndex{Option}{markuppercase}\EndIndex{Option}{markusedcase} + +% Die folgende Deklaration und Erklaerung wurde eingefuegt von +% mjk 2001-08-18 +\begin{Declaration} + \Option{nouppercase} +\end{Declaration}% +\BeginIndex{Option}{nouppercase}% +Wie in der Erklärung zu den Optionen \Option{markuppercase} und +\Option{markusedcase} bereits ausgeführt wurde, gibt es Klassen und auch +Pakete, die beim Setzen der lebenden +Kolumnentitel\Index{Kolumnentitel>automatisch} mit Hilfe einer der Anweisungen +\Macro{uppercase}\IndexCmd{uppercase} oder +\Macro{MakeUppercase}\IndexCmd{MakeUppercase} den gesamten Eintrag in +Großbuchstaben wandeln. Mit der Option \Option{nouppercase} können diese +beiden Anweisungen im Kopf und im Fuß außer Kraft gesetzt werden. Das gilt +aber nur für Seitenstile, die mit Hilfe von \Package{scrpage2} definiert +werden. Dazu zählen auch \PValue{scrheadings} und der zugehörige +\PValue{plain}-Seitenstil. + +Die verwendete Methode ist äußerst brutal und kann dazu führen, dass +auch erwünschte Änderungen von Klein- in +Großbuchstaben\Index{Grossbuchstaben=Großbuchstaben} unterbleiben. Da +diese Fälle nicht sehr häufig sind, stellt \Option{nouppercase} aber +meist eine brauchbare Lösung dar. +\begin{Example} + Sie verwenden die Standardklasse \Class{book}\IndexClass{book}, + wollen aber, dass die lebenden Kolumnentitel nicht in + Großbuchstaben, sondern in normaler gemischter Schreibweise gesetzt + werden. Die Präambel Ihres Dokuments könnte dann wie folgt beginnen: + \begin{lstlisting} + \documentclass{book} + \usepackage[nouppercase]{scrpage2} + \pagestyle{scrheadings} +\end{lstlisting} + Die Umschaltung auf den Seitenstil \PValue{scrheadings} ist + notwendig, weil sonst der Seitenstil \PValue{headings} verwendet + wird, der von der Option \Option{nouppercase} nicht behandelt wird. +\end{Example} + +In einigen Fällen setzen nicht nur Klassen, sondern auch Pakete +lebende Kolumnentitel in Großbuchstaben. Auch in diesen Fällen hilft +\Option{nouppercase} meist, um zu gemischter Schreibweise +zurückzuschalten. +% +\EndIndex{Option}{nouppercase} + + +\section{Seitenstile selbst gestalten}\label{sec:scrpage.UI} +% +% +\subsection{Die Anwenderschnittstelle}\label{sec:scrpage.UI.user} +% \deftripstyle +\BeginIndex{Cmd}{deftripstyle}\Index{Seitenstil} +Nun möchte man ja nicht immer an die vorgegebenen Seitenstile gebunden sein, +sondern auch seiner Kreativität freien Lauf lassen. +Manchmal ist man auch dazu gezwungen, weil ein bestimmtes +\emph{Corporate Identity} einer Firma es verlangt. +Der einfachste Weg damit umzugehen ist +\begin{Declaration} +\Macro{deftripstyle}\Parameter{Name}% +\OParameter{LA}\OParameter{LI}% +\Parameter{KI}\Parameter{KM}\Parameter{KA}% +\Parameter{FI}\Parameter{FM}\Parameter{FA} +\end{Declaration}% +Die einzelnen Felder haben folgende Bedeutung: +\begin{labeling}[\,--]{\PName{Name}} +\item[\PName{Name}] die Bezeichnung des Seitenstils, um ihn mit + \Macro{pagestyle}\Parameter{Name} zu aktivieren +\item[\PName{LA}] die Dicke der äußeren Linien, d.\,h. der Linien über +der Kopfzeile und unter der Fußzeile (optional) +\item[\PName{LI}] die Dicke der inneren Linie, d.\,h. der Linien die Kopf und +Fuß vom Textkörper trennen (optional) +\item[\PName{KI}] Inhalt des Feldes im Kopf innenseitig oder bei einseitigem +Layout links +\item[\PName{KM}] Inhalt des Feldes im Kopf zentriert +\item[\PName{KA}] Inhalt des Feldes im Kopf außenseitig oder bei einseitigem +Layout rechts +\item[\PName{FI}] Inhalt des Feldes im Fuß innenseitig oder bei einseitigem +Layout links +\item[\PName{FM}] Inhalt des Feldes im Fuß zentriert +\item[\PName{FA}] Inhalt des Feldes im Fuß außenseitig oder bei einseitigem +Layout rechts +\end{labeling} + +Der Befehl \Macro{deftripstyle} stellt sicherlich die einfachste +Möglichkeit dar, Seitenstile zu definieren. +Leider sind damit auch Einschränkungen verbunden, +da in einem Seitenbereich mit einem durch \Macro{deftripstyle} deklarierten +Seitenstil keine Änderung der Kopf- und Fußlinien erfolgen kann. + +\begin{Example} +Vorgegeben sei ein doppelseitiges Layout, bei dem die Kolumnentitel +innen erscheinen sollen. +Weiterhin soll der Dokumententitel, in diesem Fall kurz \glqq Bericht\grqq, +an den Außenrand in den Kopf, die Seitenzahl soll zentriert in den Fuß. +\begin{lstlisting} + \deftripstyle{DerBericht}% + {\headmark}{}{Bericht}% + {}{\pagemark}{} +\end{lstlisting} + +Sollen weiterhin die Linien über dem Kopf und unter dem Fuß +mit 2\,pt erscheinen und der ganze Textkörper mit dünnen Linien +von 0,4\,pt von Kopf und Fuß abgesetzt werden, dann erweitert +man vorherige Definition. +\begin{lstlisting} + \deftripstyle{DerBericht}[2pt][.4pt]% + {\headmark}{}{Bericht}% + {}{\pagemark}{} +\end{lstlisting} +% +\typeout{^^J--- Ignore underfull and overfull \string\hbox:} +\begin{center}\setlength{\unitlength}{1mm}\begin{picture}(100,50)\scriptsize +\thinlines +\put(5,0){\line(0,1){50}} +\put(55,0){\line(0,1){50}} +\put(5,50){\line(1,0){40}} +\put(55,50){\line(1,0){40}} +% +\thicklines +\put(45,0){\line(0,1){50}} +\put(95,0){\line(0,1){50}} +\put(5,0,){\line(1,0){40}} +\put(55,0){\line(1,0){40}} +% +\XmpHeading[Bericht\hfill 2 Das Auge]{11,46}{30} +\XmpHeading[2.1 Netzhaut\hfill Bericht]{59,46}{30} +\XmpHeading[\hfill 14\hfill]{11,6.5}{30} +\XmpHeading[\hfill 15\hfill]{59,6.5}{30} +\put(11,43){\makebox(0,0)[tl]{\parbox{30mm}{\tiny% + \textbf{2.1 Netzhaut}\\ + \XmpText[49]}}} +\put(59,43){\makebox(0,0)[tl]{\parbox{30mm}{\tiny% + \XmpText[51]}}} +% +\thinlines +\XmpRule{11,44.5}{30}\XmpRule{59,44.5}{30} +\XmpRule{11,8}{30}\XmpRule{59,8}{30} +\linethickness{1pt} +\XmpRule{11,48}{30}\XmpRule{59,48}{30} +\XmpRule{11,5}{30}\XmpRule{59,5}{30} +\end{picture}\end{center} +\typeout{^^J--- Don't ignore underfull and overfull \string\hbox:^^J} +\end{Example} +\EndIndex{Cmd}{deftripstyle} + +\subsection{Die Expertenschnittstelle}\label{sec:scrpage.UI.expert} +% \defpagestyle \newpagestyle \providepagestyle \renewpagestyle +\BeginIndex{Cmd}{defpagestyle}\BeginIndex{Cmd}{newpagestyle} +\BeginIndex{Cmd}{renewpagestyle}\BeginIndex{Cmd}{providepagestyle} +\Index{Seitenstil} +Einfache Seitenstile, wie sie mit \Macro{deftripstyle} deklariert +werden können, sind erfahrungsgemäß selten. +Entweder verlangt ein Professor, dass die Diplomarbeit so aussieht +wie seine eigene -- und wer will ihm da \emph{ernsthaft} widersprechen -- +oder eine Firma möchte, dass die halbe Finanzbuchhaltung im +Seitenfuß auf"|taucht. Alles kein Problem, denn es gibt noch: +\begin{Declaration} +\Macro{defpagestyle}\Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}\\ +\Macro{newpagestyle}\Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}\\ +\Macro{renewpagestyle}\Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}\\ +\Macro{providepagestyle}\Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition} +\end{Declaration}% +Dies sind die Befehle, die die volle Kontrolle über die Gestaltung +eines Seitenstils ermöglichen. Der Aufbau ist bei allen vier +Definitionen gleich, sie unterscheiden sich nur in Hinsicht +der Wirkungsweise. +\begin{labeling}[\ --]{\Macro{providepagestyle}} +\item[\Macro{defpagestyle}] definiert einen neuen Seitenstil. +Existiert bereits einer mit diesem Namen, wird dieser +überschrieben. +\item[\Macro{newpagestyle}] definiert einen neuen Seitenstil. Wenn schon +einer mit diesem Namen existiert, wird ein Fehler ausgegeben. +\item[\Macro{renewpagestyle}] definiert einen bestehenden Seitenstil um. Wenn noch +keiner mit diesem Namen existiert, wird ein Fehler ausgegeben. +\item[\Macro{providepagestyle}] definiert einen neuen Seitenstil nur dann, +wenn dieser vorher noch nicht existiert. +\end{labeling} + +Am Beispiel von \Macro{defpagestyle} soll die Syntax der Definitionen +im Folgenden erläutert werden. +\begin{labeling}[\,--]{\PName{Kopfdefinition}} +\item[\PName{Name}] die Bezeichnung des Seitenstils für \Macro{pagestyle}\Parameter{Name} +\item[\PName{Kopfdefinition}] die Deklaration des Seitenkopfes bestehend aus +fünf Teilen, wobei die in runden Klammern stehenden Angaben optional sind: +\AParameter{OLL,OLD}\Parameter{GS}\Parameter{US}\Parameter{ES}\AParameter{ULL,ULD} +\item[\PName{Fußdefinition}] die Deklaration des Seitenfußes bestehend aus +fünf Teilen, wobei die in runden Klammern stehenden Angaben optional sind: +\AParameter{OLL,OLD}\Parameter{GS}\Parameter{US}\Parameter{ES}\AParameter{ULL,ULD} +\end{labeling} + +Wie zu sehen ist, haben Kopf- und Fußdefinition identischen Aufbau. Die +einzelnen Parameter haben folgende Bedeutung: +\begin{labeling}[\ --]{\PName{OLD}} +\item[\PName{OLL}] obere Linienlänge: Kopf = außen, Fuß = Trennlinie +\item[\PName{OLD}] obere Liniendicke +\item[\PName{GS}] Definition für die \emph{gerade} Seite +\item[\PName{US}] Definition für die \emph{ungerade} Seite +\item[\PName{ES}] Definition für \emph{einseitiges} Layout +\item[\PName{ULL}] untere Linienlänge Kopf = Trennlinie, Fuß = außen +\item[\PName{ULD}] untere Liniendicke +\end{labeling} + +Werden die optionalen Linienargumente nicht gesetzt, dann bleibt das Verhalten +weiterhin durch die in \autoref{sec:scrpage.basics.format}, +\autopageref{desc:scrpage.macro.setheadtopline} vorgestellten Linienbefehle +konfigurierbar. + +Die drei Felder \PName{GS}, \PName{US} und \PName{ES} entsprechen Boxen, die +die Breite des Kopf- bzw. Fußteils haben. +Die entsprechenden Definitionen erscheinen in diesen Boxen linksbündig. +Um somit etwas links- \emph{und} rechtsseitig in den Boxen zu platzieren, +kann der Zwischenraum mit \Macro{hfill} gestreckt werden: +% +\begin{lstlisting} + {\headmark\hfill\pagemark} +\end{lstlisting} + +Um zusätzlich etwas zentriert erscheinen zu lassen, ist eine erweiterte +Definition notwendig. +Die Befehle \Macro{rlap} und \Macro{llap} setzen die übergebenen Argumente. +Für \LaTeX{} erscheint es aber so, dass diese Texte eine Breite von Null +haben. Nur so erscheint der mittlere Text auch wirklich zentriert. +% +\begin{lstlisting} + {\rlap{\headmark}\hfill zentriert\hfill\llap{\pagemark}} +\end{lstlisting} + +Dies und die Verwendung der Expertenschnittstelle in Zusammenhang mit +anderen Befehlen von \Package{scrpage2} nun als abschließendes Beispiel. + +\begin{Example} +Im Beispiel wird die Dokumentenklasse \Class{scrbook} genutzt. +Das bedeutet, es liegt im Dokument standardmäßig zweiseitiges +Layout vor. +Für das Paket \Package{scrpage2} wird festgelegt, dass mit +automatisch aktualisierten Kolumnentiteln gearbeitet wird und +dass im Seitenstil \PValue{scrheadings} eine Trennlinie zwischen +Kopf und Text gezogen wird. + +\begin{lstlisting} + \documentclass{scrbook} + \usepackage[automark,headsepline]{scrpage2} +\end{lstlisting} + +Mit Hilfe der Expertenschnittstelle werden zwei Seitenstile +definiert. Der erste legt keine Linienargumente fest, im +zweiten wird die Linie über dem Kopf mit einer Dicke +von 1\,pt und die Linie unter dem Kopf mit 0\,pt festgelegt. + +\begin{lstlisting} + \defpagestyle{ohneLinien}{% + {Beispiel\hfill\headmark} + {\headmark\hfill ohne Linien} + {\rlap{Beispiel}\hfill\headmark\hfill% + \llap{ohne Linien}} + }{% + {\pagemark\hfill} + {\hfill\pagemark} + {\hfill\pagemark\hfill} + } +\end{lstlisting} + +\begin{lstlisting} + \defpagestyle{mitLinien}{% + (\textwidth,1pt) + {mit Linien\hfill\headmark} + {\headmark\hfill mit Linien} + {\rlap{\KOMAScript}\hfill \headmark\hfill% + \llap{mit Linien}} + (0pt,0pt) + }{% + (\textwidth,.4pt) + {\pagemark\hfill} + {\hfill\pagemark} + {\hfill\pagemark\hfill} + (\textwidth,1pt) + } +\end{lstlisting} + +Gleich zu Beginn wird der Seitenstil \PValue{scrheadings} aktiviert. Mit +\Macro{chapter} wird ein neues Kapitel begonnen. Weiterhin wird automatisch +durch \Macro{chapter} der Seitenstil für diese Seite auf \PValue{plain} +gesetzt. Auch wenn das folgende \Macro{chead} recht unüblich und vielleicht +nicht besonders gelungen ist, zeigt es doch, dass durch Modifikation des +\PValue{plain}-Stils ein Kolumnentitel erzeugt werden kann. Grundsätzlich +sollte jedoch davon Abstand genommen werden, da sonst der Markierungscharakter +der \PValue{plain}-Seite verloren geht. Es ist wichtiger anzuzeigen, dass hier +ein neues Kapitel beginnt, als dass ein Abschnitt dieser Seite einen +bestimmten Titel trägt. + +\begin{lstlisting} + \begin{document} + \pagestyle{scrheadings} + + \chapter{Thermodynamik} + \chead[\leftmark]{} + \section{Hauptsätze} + Jedes System besitzt eine extensive Zustandsgröße + Energie. Sie ist in einem abgeschlossenen System + konstant. +\end{lstlisting} + +\begin{XmpTopPage} + \XmpHeading[\hfill\textsl{1 Thermodynamik}\hfill]{10,27}{70} + \put(10,17){\normalsize\textbf{\sffamily 1 Thermodynamik}} + \put(10,12){\textbf{\sffamily 1.1 Hauptsätze}} + \XmpSetText[% + Jedes System besitzt eine extensive Zustands\char\defaulthyphenchar + \linebreak]{10,9} +\end{XmpTopPage} + +Nach dem Seitenwechsel ist dann der Seitenstil \PValue{scrheadings} +aktiv, und somit auch die Trennlinie aus den Paketoptionen +sichtbar. +\begin{lstlisting} + Es existiert eine Zustandsgröße, genannt die + Entropie, eines Systems, deren zeitliche Änderung + sich aus Entropieströmung und Entropieerzeugung + zusammensetzt. +\end{lstlisting} +\begin{XmpTopPage} + \XmpHeading[\textsl{1 Thermodynamik}\hfill]{20,27}{70} + \thinlines\XmpRule{20,25}{70} + \XmpSetText[% + Es existiert eine Zustandsgröße, genannt die En"-tropie, + eines Systems, deren zeitliche Änderung sich aus + Entropieströmung und Entropie\char\defaulthyphenchar\kern-1pt + \linebreak]{20,21} +\end{XmpTopPage} + +Wiederum nach einem Seitenwechsel wird auf manuelle Kolumnentitel +gewechselt und der Seitenstil \PValue{ohneLinien} aktiviert. +Da keine Linienargumente bei der Definition dieses Stils +genutzt wurden, wird die Standard-Linienkonfiguration +verwendet, die hier eine Linie zwischen Kopf und Text zeichnet, +da \Option{headsepline} als Argument für \Package{scrpage2} +angegeben wurde. +\begin{lstlisting} + \manualmark + \pagestyle{ohneLinien} + \section{Exergie und Anergie} + \markright{Energieumwandlung} + Man bezeichnet die bei der Einstellung des + Gleichgewichts mit der Umgebung maximal + gewinnbare Arbeit als Exergie. +\end{lstlisting} +\begin{XmpTopPage} + \XmpHeading[\slshape Energieumwandlung\hfill ohne Linien]{10,27}{70} + \thinlines\XmpRule{10,25}{70} + \XmpSetText[{% + \textbf{\sffamily 1.2 Exergie und Anergie}\\[2pt] + Man bezeichnet die bei der Einstellung des + Gleichgewichts mit der Umgebung maximal\linebreak}]{10,21} +\end{XmpTopPage} + +Nach dem Wechsel auf die folgende linke Seite wird der +Seitenstil \PValue{mitLinien} aktiviert. +Die Linieneinstellungen werden hier nun angewendet und entsprechend +der Definition dargestellt. +\begin{lstlisting} + \pagestyle{mitLinien} + \renewcommand{\headfont}{\itshape\bfseries} + Den nicht in Exergie umwandelbaren Anteil einer + Energie nennt man Anergie \Var{B}. + \[ B = U + T (S_1 - S_u) - p (V_1 - V_u)\] + \end{document} +\end{lstlisting} +\begin{XmpTopPage} + \XmpHeading[\itshape\bfseries mit Linien\hfill 1 Thermodynamik]{20,27}{70} + \thicklines\XmpRule{20,29}{70} + \XmpSetText[% + Den nicht in Exergie umwandelbaren Anteil einer + Energie nennt man Anergie $B$. + \vspace{-.5ex}\[ B = U + T (S_1 - S_u) - p (V_1 - V_u)\] ]{20,21} +\end{XmpTopPage} +\end{Example} +\EndIndex{Cmd}{defpagestyle}\EndIndex{Cmd}{newpagestyle} +\EndIndex{Cmd}{renewpagestyle}\EndIndex{Cmd}{providepagestyle} + +\subsection{Seitenstile verwalten}\label{sec:scrpage.UI.cfgFile} +% scrpage.cfg +\BeginIndex{File}{scrpage.cfg} +Bei längerer Arbeit mit verschiedenen Seitenstilen wird sich, je nach +Geschmack und Aufgabenstellung, ein fester Satz an benutzten Stilen +etablieren. +Um nicht bei jedem neuen Projekt eine große Kopieraktion von den Daten +eines Projekts zum neuen Projekt starten zu müssen, liest \Package{scrpage2} +am Ende seiner Initialisierungsphase die Datei \File{scrpage.cfg} ein. +In dieser Datei können dann Seitenstile definiert sein, die viele +Projekte gemeinsam nutzen können. +\EndIndex{File}{scrpage.cfg} +\EndIndex{Package}{scrpage2} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/german/typearea.tex b/Master/texmf-dist/source/latex/koma-script/doc/german/typearea.tex new file mode 100644 index 00000000000..85c696d026b --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/german/typearea.tex @@ -0,0 +1,1389 @@ +% ====================================================================== +% typearea.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ---------------------------------------------------------------------- +% typearea.tex +% Copyright (c) Markus Kohm, 2001-2006 +% +% 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. +% ====================================================================== +% +% Chapter about typearea of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel über typearea in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ====================================================================== + +\ProvidesFile{typearea.tex}[2005/03/17 KOMA-Script guide (chapter: typearea)] +\chapter{Satzspiegelberechnung mit \Package{typearea.sty}} +\labelbase{typearea} + +\section{Grundlagen der Satzspiegelkonstruktion} + +\begin{Explain} + Betrachtet man eine einzelne Seite eines Buches oder eines anderen + Druckwerkes, so besteht diese auf den ersten Blick aus den + Rändern\footnote{Der Autor und der Lektor haben an dieser Stelle überlegt, + ob eine Seite nicht nur einen umlaufenden Rand hat und daher von »dem + Rand« die Rede sein müsste. Da jedoch \LaTeX{} diesen einen Rand logisch + in mehrere Ränder unterteilt, die getrennt bestimmt werden, ist hier auch + von »den Rändern« die Rede.}, einem Kopfbereich, einem Textkörper und + einem Fußbereich. Genauer betrachtet kommt noch ein Abstand zwischen + Kopfbereich und Textkörper sowie zwischen Textkörper und Fußbereich hinzu. + Der Textkörper heißt in der Fachsprache der Typografen und Setzer + \emph{Satzspiegel}. Die Auf"|teilung dieser Bereiche, sowie ihre Anordnung + zueinander und auf dem Papier nennen wir \emph{Satzspiegeldefinition} oder + \emph{Satzspiegelkonstruktion}.\Index[indexmain]{Satzspiegel} + + In der Literatur werden verschiedene Algorithmen und heuristische Verfahren + zur Konstruktion eines guten Satzspiegels vorgeschlagen und diskutiert + \ifx\BUCH\undefined\cite{DANTE:TK0402:MJK}\else(siehe + \autoref{cha:typeareaconstruction})\fi. Häufig findet man dabei ein + Verfahren, das mit verschiedenen Diagonalen und Schnittpunkten arbeitet. Das + gewünschte Ergebnis dabei ist, dass das Seitenverhältnis des Satzspiegels + dem Seitenverhältnis \emph{der Seite} entspricht. Bei einem + einseitigen\Index{einseitig} Dokument sollen außerdem der linke und rechte + Rand gleich breit sein, während der obere zum unteren Rand im Verhältnis 1:2 + stehen sollte. Bei einem doppelseitigen\Index{doppelseitig} Dokument, + beispielsweise einem Buch, ist hingegen zu beachten, dass der gesamte innere + Rand genauso groß sein sollte wie jeder der beiden äußeren Ränder. Eine + einzelne Seite steuert dabei jeweils nur die Hälfte des inneren Randes bei. + + Im vorherigen Abschnitt wurde \emph{die Seite} erwähnt und + hervorgehoben. Irrtümlich wird oftmals angenommen, das Format der + Seite wäre mit dem Format des Papiers + gleichzusetzen.\Index[indexmain]{Seitenformat} + \Index[indexmain]{Papierformat} Betrachtet man jedoch ein gebundenes + Druckerzeugnis, so ist zu erkennen, dass ein Teil des Papiers in der + Bindung\Index[indexmain]{Bindung} verschwindet und nicht mehr als + Seite zu sehen ist. Für den Satzspiegel ist jedoch nicht + entscheidend, welches Format das Papier hat, sondern, was der Leser + für einen Eindruck vom Format der Seite bekommt. Damit ist klar, + dass bei der Berechnung des Satzspiegels der Teil, der durch die + Bindung versteckt wird, aus dem Papierformat herausgerechnet und + dann zum inneren Rand hinzugefügt werden muss. Wir nennen diesen + Teil \emph{Bindekorrektur}.\Index[indexmain]{Bindekorrektur} Die + Bindekorrektur ist also rechnerischer Bestandteil des + \emph{Bundstegs}\Index[indexmain]{Bundsteg} nicht jedoch des sichtbaren + inneren Randes. + + Die Bindekorrektur ist vom jeweiligen Produktionsvorgang abhängig + und kann nicht allgemein festgelegt werden. Es handelt sich dabei + also um einen Parameter, der für jeden Produktionsvorgang neu + festzulegen ist. Im professionellen Bereich spielt dieser Wert nur + eine geringe Rolle, da ohnehin auf größere Papierbögen gedruckt und + entsprechend geschnitten wird. Beim Schneiden wird dann wiederum + sichergestellt, dass obige Verhältnisse für die sichtbare + Doppelseite eingehalten sind. + + Wir wissen nun also, wie die einzelnen Teile zueinander stehen. + Wir wissen aber noch nicht, wie breit und hoch der Satzspiegel ist. + Kennen wir eines dieser beiden Maße, so ergeben sich zusammen mit + dem Papierformat und dem Seitenformat oder der Bindekorrektur alle + anderen Maße durch Lösung mehrerer mathematischer Gleichungen. + \begin{align*} + \Var{Satzspiegelhöhe}\index{Satzspiegel} : \Var{Satzspiegelbreite} &= + \Var{Seitenhöhe}\index{Seite} : \Var{Seitenbreite} \\ + \Var{oberer~Rand}\index{Rand} : \Var{unterer~Rand} &= \text{1} : \text{2} \\ +% + \Var{linker~Rand} : \Var{rechter~Rand} &= \text{1} : \text{1} \\ +% + \Var{innerer~Randanteil} : \Var{äußerer~Rand} &= \text{1} : \text{2} \\ +% + \Var{Seitenbreite} &= \Var{Papierbreite}\index{Papier} - \Var{Bindekorrektur}\index{Bindekorrektur}\index{Bindeanteil}\index{Bindung}\\ +% + \Var{oberer~Rand} + \Var{unterer~Rand} &= + \Var{Seitenhöhe} - \Var{Satzspiegelhöhe} \\ +% + \Var{linker~Rand} + \Var{rechter Rand} &= + \Var{Seitenbreite} - \Var{Satzspiegelbreite} \\ +% + \Var{innerer Randanteil} + \Var{äußerer Rand} &= + \Var{Seitenbreite} - \Var{Satzspiegelbreite} \\ +% + \Var{innerer~Randanteil} + \Var{Bindekorrektur} &= + \Var{Bundsteg}\index{Bundsteg} + \end{align*} + \Index[indexmain]{Rand}% + Dabei gibt es \Var{linker~Rand} und \Var{rechter~Rand} nur im einseitigen + Druck. Entsprechend gibt es \Var{innerer~Randanteil} und + \Var{äußerer~Rand} nur im doppelseitigen Druck. In den Gleichungen + wird mit \Var{innerer~Randanteil} gearbeitet, weil der ganze innere Rand zur + Doppelseite gehört. Zu einer Seite gehört also nur die Hälfte des inneren + Randes, der \Var{innerer~Randanteil}. + + Die Frage nach der Breite des Satzspiegels wird in der Literatur + ebenfalls diskutiert. Die optimale Satzspiegelbreite ist von + verschiedenen Faktoren abhängig: + \begin{itemize} + \item Größe, Laufweite und Art der verwendeten Schrift + \item Verwendeter Durchschuss + \item Länge der Worte + \item Verfügbarer Platz + \end{itemize} + Der Einfluss der Schrift wird deutlich, wenn man sich bewusst macht, + wozu Serifen dienen. Serifen\Index[indexmain]{Serifen} sind kleine + Striche an den Linienenden der Buchstaben. Buchstaben, die mit + vertikalen Linien auf die Grundlinie der Textzeile treffen, + lösen diese eher auf, als dass sie das Auge auf der Linie halten. + Genau bei diesen Buchstaben liegen die Serifen horizontal auf + der Grundlinie und verstärken damit die Zeilenwirkung der Schrift. + Das Auge kann der Textzeile nicht nur beim Lesen der Worte, sondern + insbesondere auch beim schnellen Zurückspringen an den Anfang der + nächsten Zeile besser folgen. Damit darf die Zeile bei einer Schrift + mit Serifen genau genommen länger sein als bei einer Schrift ohne Serifen. + + Unter dem Durchschuss\Index[indexmain]{Durchschuss} versteht man den + Abstand zwischen Textzeilen. Bei \LaTeX{} ist ein Durchschuss von + etwa 20\,\% der Schriftgröße voreingestellt. Mit Befehlen wie + \Macro{linespread}\IndexCmd{linespread} oder besser mit Hilfe von + Paketen wie \Package{setspace}\IndexPackage{setspace} (siehe + \cite{package:setspace}) kann der Durchschuss verändert werden. Ein + großer Durchschuss erleichtert dem Auge die Verfolgung einer Zeile. + Bei sehr großem Durchschuss wird das Lesen aber dadurch gestört, + dass das Auge zwischen den Zeilen weite Wege zurücklegen muss. + Daneben wird sich der Leser des entstehenden Streifeneffekts sehr + deutlich und unangenehm bewusst. Der Graueindruck der Seite ist in + diesem Fall gestört. Dennoch dürfen bei großem Durchschuss die + Zeilen länger sein. + + Auf der Suche nach konkreten Werten für gute + Zeilenlängen\Index[indexmain]{Zeilenlaenge=Zeilenlänge} findet man in + der Literatur je nach Autor unterschiedliche Angaben. Teilweise ist + dies auch in der Muttersprache des Autors begründet. Das Auge + springt nämlich üblicherweise von Wort zu Wort, wobei kurze Worte + diese Aufgabe erleichtern. Über alle Sprachen und Schriftarten + hinweg kann man sagen, dass eine Zeilenlänge von 60 bis 70 Zeichen, + einschließlich Leer- und Satzzeichen, einen brauchbaren Kompromiss + darstellen. Ein gut gewählter Durchschuss\Index{Durchschuss} wird + dabei vorausgesetzt. Bei den Voreinstellungen von \LaTeX{} braucht + man sich über letzteres normalerweise keine Sorgen zu machen. Größere + Zeilenlängen darf man nur Gewohnheitslesern zumuten, die täglich viele + Stunden lesend zubringen. Aber auch dann sind Zeilenlängen jenseits von 80 + Zeichen unzumutbar. In jedem Fall ist dann der Durchschuss anzupassen. 5\,\% + bis 10\,\% zusätzlich sind als Faustregel dann anzuraten. Bei Schriften wie + Palatino, die bereits bei einer normalen Zeilenlänge nach 5\,\% mehr + Durchschuss verlangt, können es auch mehr sein. + + Bevor wir uns an die konkrete Konstruktion machen, fehlen jetzt nur noch + Kleinigkeiten, die man wissen sollte. \LaTeX{} beginnt die erste Zeile des + Textbereichs einer Seite nicht am oberen Rand des Textbereichs, sondern + setzt die Zeile mit einem definierten Abstand zum oberen Rand des + Textbereichs. Desweiteren verfügt \LaTeX{} über die beiden Befehle + \Macro{raggedbottom}\IndexCmd{raggedbottom} und + \Macro{flushbottom}\IndexCmd{flushbottom}. Der erste dieser Befehle legt + fest, dass die letzte Zeile einer jeden Seite dort liegen soll, wo sie eben + zu liegen kommt. Das kann dazu führen, dass sich die Position der letzten + Zeile von Seite zu Seite vertikal um nahezu eine Zeile verändern kann -- bei + Zusammentreffen des Seitenendes mit Überschriften, Abbildungen, Tabellen oder + ähnlichem auch mehr. Im doppelseitigen Druck ist das in der Regel + unerwünscht. Mit dem zweiten Befehl, \Macro{flushbottom}, wird hingegen + festgelegt, dass die letzte Zeile immer am unteren Rand des Textbereichs zu + liegen kommt. Um diesen vertikalen Ausgleich zu erreichen, muss \LaTeX{} + gegebenenfalls dehnbare vertikale Abstände über das erlaubte Maß hinaus + strecken. Ein solcher Abstand ist beispielsweise der Absatzabstand. Dies + gilt in der Regel auch, wenn man gar keinen Absatzabstand verwendet. Um + nicht bereits auf normalen Seiten, auf denen der Absatzabstand das einzige + dehnbare vertikale Maß darstellt, eine Dehnung zu erzwingen, sollte die Höhe + des Textbereichs ein Vielfaches der Textzeilenhöhe zuzüglich des Abstands + der ersten Zeile vom oberen Rand des Textbereichs sein. + + Damit sind nun alle Grundlagen der Satzspiegelberechnung, die bei + {\KOMAScript} eine Rolle spielen, zusammengetragen. Wir können also + mit der konkreten Konstruktion beginnen. In den folgenden beiden Abschnitten + werden die zwei von {\KOMAScript} angebotenen Konstruktionen vorgestellt. +\end{Explain} + + +\section{Satzspiegelkonstruktion durch Teilung} +\label{sec:typearea.divConstruction} + +\begin{Explain} + Der einfachste Weg, um zu erreichen, dass der Textbereich dasselbe + Verhältnis aufweist wie die Seite, ist folgender. Zunächst zieht man + an der Innenseite des Papiers den Teil \Var{BCOR}, der für die + Bindekorrektur\Index{Bindekorrektur} benötigt wird, ab und teilt die + restliche Seite vertikal in eine Anzahl \Var{DIV} gleich hoher + Streifen. Dann teilt man die Seite horizontal in die gleiche Anzahl + \Var{DIV} gleich breiter Streifen. Nun verwendet man den obersten + horizontalen Streifen als oberen und die beiden untersten + horizontalen Streifen als unteren Rand. Im doppelseitigen Druck + verwendet man außerdem den innersten vertikalen Streifen als inneren + und die beiden äußersten vertikalen Streifen als äußeren Rand. Zum + inneren Rand gibt man dann noch \Var{BCOR} hinzu. Was nun innerhalb + der Seite noch übrig bleibt, ist der Textbereich.\Index{Textbereich} + Die Breite bzw. Höhe der Ränder und des Textbereichs resultiert + damit automatisch aus der Anzahl \Var{DIV} der Streifen. Da für die + Ränder insgesamt jeweils drei Streifen benötigt werden, muss + \Var{DIV} zwingend größer als drei sein. Damit der Satzspiegel mindestens + doppelt so viel Platz wie die Ränder einnimmt, sollte \Var{DIV} sogar + mindestens 9 betragen. Mit diesem Wert ist die Konstruktion auch als + \emph{klassische Neunteilung} bekannt. + + Bei {\KOMAScript} ist diese Art der Konstruktion im Paket + \Package{typearea} realisiert. Dabei sind für A4-Papier je nach + Schriftgröße unterschiedliche Werte voreingestellt, die + \autoref{tab:typearea.div} zu entnehmen sind. Bei Verzicht auf + Bindekorrektur, wenn also \Var{BCOR} = 0\Unit{pt} gilt, ergeben + sich in etwa die Satzspiegelmaße aus \autoref{tab:typearea.typearea}. + + Neben den voreingestellten Werten kann man \Var{BCOR} und \Var{DIV} + direkt beim Laden des Pakets als Option angeben (siehe + \autoref{sec:typearea.options}). Zusätzlich existiert ein + Befehl, mit dem man einen Satzspiegel explizit berechnen kann und + dem man die beiden Werte als Parameter übergibt (siehe ebenfalls + \autoref{sec:typearea.options}). + + Das \Package{typearea}-Paket bietet außerdem die Möglichkeit, den optimalen + \Var{DIV}-Wert automatisch zu bestimmen. Dieser ist von der Schrift und dem + Durchschuss abhängig, der zum Zeitpunkt der Satzspiegelberechnung + eingestellt ist. Siehe hierzu ebenfalls \autoref{sec:typearea.options}. +\end{Explain} + + +\section{Satzspiegelkonstruktion durch Kreisschlagen} +\label{sec:typearea.circleConstruction} + +\begin{Explain} + Neben der zuvor beschriebenen Satzspiegelkonstruktion\Index{Satzspiegel} + gibt es in der Literatur noch eine eher klassische oder sogar + mittelalterliche Methode. Bei diesem Verfahren will man die gleichen Werte + nicht nur in Form des Seitenverhältnisses wiederfinden; man geht außerdem + davon aus, dass das Optimum dann erreicht wird, wenn die Höhe des + Textbereichs der Breite der Seite entspricht. Das genaue Verfahren ist + beispielsweise in \cite{JTsch87} nachzulesen. + + Als Nachteil dieses spätmittelalterlichen Buchseitenkanons ergibt + sich, dass die Breite des Textbereichs nicht mehr von der Schriftart + abhängt. Es wird also nicht mehr der zur Schrift passende + Textbereich gewählt, stattdessen muss der Autor oder Setzer die zum + Textbereich passende Schrift wählen. Dies ist als zwingend zu + betrachten. + + Im \Package{typearea}-Paket wird diese Konstruktion dahingehend + abgewandelt, dass durch Auswahl eines ausgezeichneten -- normalerweise + unsinnigen -- \Var{DIV}-Wertes oder eine spezielle Paket-Option + derjenige \Var{DIV}-Wert ermittelt wird, bei dem der resultierende + Satzspiegel dem spätmittelalterlichen Buchseitenkanon am nächsten + kommt. +\iffalse +% Umbruchkorrekturtext + Bei Wahl einer guten Schrift stimmt dieses Ergebnis nicht selten mit der + Suche nach dem optimalen \Var{DIV}-Wert überein. Siehe hierzu ebenfalls + \autoref{sec:typearea.options}. +% +\fi +\end{Explain} + + +\section{Optionen und Makros zur Beeinflussung des Satzspiegels} +\label{sec:typearea.options} +% DIV, DIVcalc, DIVclassic, BCOR +% headinclude, headexclude, footinclude, footexclude, mpinclude, mpexclude +% \typearea, \areaset + +Das Paket \Package{typearea} bietet zwei unterschiedliche +Benutzerschnittstellen, um auf die Satzspiegelkonstruktion Einfluss zu +nehmen. Die erste Möglichkeit ist, beim Laden des Pakets entsprechende +Optionen anzugeben. Wie man Pakete lädt und Paketoptionen übergibt, +entnehmen Sie bitte der Literatur zu \LaTeX{}, beispielsweise +\cite{l2kurz} und \cite{latex:usrguide}, oder den auf den folgenden +Seiten aufgeführten +Beispielen. Da bei der Verwendung der \KOMAScript-Hauptklassen das +Paket \Package{typearea} automatisch geladen wird, müssen die +entsprechenden Paket-Optionen bei diesen Klassen auch direkt als +Klassen-Optionen übergeben werden (siehe +\autoref{sec:maincls.options}). + +\begin{Declaration} + \Option{BCOR}\PName{Korrektur} +\end{Declaration}% +\BeginIndex{Option}{BCOR}% +Mit Hilfe der Option \Option{BCOR}\PName{Korrektur} geben Sie den +absoluten Wert der Bindekorrektur\Index{Bindekorrektur} an, also +die Breite des Bereichs der durch die Bindung von der Papierbreite +verloren geht. Dieser Wert wird in der Satzspiegelkonstruktion +automatisch berücksichtigt und bei der Ausgabe wieder dem inneren +beziehungsweise linken Rand zugeschlagen. Als \PName{Korrektur} +können Sie jede von \TeX{} verstandene Maßeinheit angeben. + +\begin{Example} + Angenommen, Sie erstellen einen Finanzbericht. Das Ganze soll + einseitig in A4 gedruckt und anschließend in eine Klemmmappe + geheftet werden. Die Klemme der Mappe verdeckt 7,5\Unit{mm}. + Der Papierstapel ist sehr dünn, deshalb gehen beim Knicken und + Blättern durchschnittlich höchstens weitere 0,75\Unit{mm} + verloren. Sie schreiben dann also: +\begin{lstlisting} + \documentclass[a4paper]{report} + \usepackage[BCOR8.25mm]{typearea} +\end{lstlisting} + oder bei Verwendung einer \KOMAScript-Klasse: +\begin{lstlisting} + \documentclass[a4paper,BCOR8.25mm]{scrreprt} +\end{lstlisting} +\end{Example} + +Bitte beachten Sie unbedingt, dass diese Option bei Verwendung einer +der \KOMAScript-Klassen als Klassenoption übergeben werden muss. +Demgegenüber funktioniert dies bei Verwendung einer anderen Klasse +nur, wenn diese Klasse \Package{typearea} explizit unterstützt. Bei +den Standardklassen ist die Option also direkt beim Laden von +\Package{typearea} zu übergeben. Die Verwendung von +\Macro{PassOptionsToPackage} (siehe \cite{latex:clsguide}) vor dem +Laden von \Package{typearea} funktioniert hingegen immer. +% +\EndIndex{Option}{BCOR} + +\begin{Declaration} + \Option{DIV}\PName{Faktor} +\end{Declaration}% +\BeginIndex{Option}{DIV}% +Mit Hilfe der Option \Option{DIV}\PName{Faktor} wird festgelegt, in +wieviele Streifen die Seite horizontal und vertikal bei der +Satzspiegelkonstruktion eingeteilt wird. Die genaue Konstruktion ist +\autoref{sec:typearea.divConstruction} zu entnehmen. Wichtig zu +wissen ist, dass gilt: Je größer der \PName{Faktor} desto größer wird +der Textbereich und desto kleiner die Ränder. Als \PName{Faktor} kann +jeder ganzzahlige Wert ab 4 verwendet werden. Bitte beachten Sie +jedoch, dass sehr große Werte dazu führen können, dass Randbedingungen +der Satzspiegelkonstruktion, je nach Wahl der weiteren Optionen, +verletzt werden. So kann die Kopfzeile im Extremfall auch außerhalb +der Seite liegen. Bei Verwendung der Option \Option{DIV}\PName{Faktor} +sind Sie für die Einhaltung der Randbedingungen sowie eine nach +typografischen Gesichtspunkten günstige Zeilenlänge selbst +verantwortlich. + +In \autoref{tab:typearea.typearea} finden Sie für das Seitenformat A4 +ohne Bindekorrektur die aus einigen DIV-Faktoren +resultierenden Satzspiegelgrößen. Dabei werden die weiteren von der +Schriftgröße abhängigen Nebenbedingungen nicht berücksichtigt. + +\begin{table} + \centering + \caption{Satzspiegelma"se in Abh"angigkeit von \Var{DIV} bei A4} + \begin{tabular}{ccccc} + \toprule + & + \multicolumn{2}{c}{Satzspiegel} & \multicolumn{2}{c}{R"ander}\\ + %\raisebox{1.5ex}[0pt]{ + \Var{DIV} + %} + & + Breite [mm] & H"ohe [mm] & oben [mm] & innen [mm] \\ + \midrule + 6 & 105,00 & 148,50 & 49,50 & 35,00 \\ + 7 & 120,00 & 169,71 & 42,43 & 30,00 \\ + 8 & 131,25 & 185,63 & 37,13 & 26,25 \\ + 9 & 140,00 & 198,00 & 33,00 & 23,33 \\ + 10 & 147,00 & 207,90 & 29,70 & 21,00 \\ + 11 & 152,73 & 216,00 & 27,00 & 19,09 \\ + 12 & 157,50 & 222,75 & 24,75 & 17,50 \\ + 13 & 161,54 & 228,46 & 22,85 & 16,15 \\ + 14 & 165,00 & 233,36 & 21,21 & 15,00 \\ + 15 & 168,00 & 237,60 & 19,80 & 14,00 \\ + \bottomrule + \end{tabular} + \label{tab:typearea.typearea} +\end{table} + +\begin{Example} + Angenommen, Sie schreiben ein Sitzungsprotokoll. Sie verwenden dafür + die Klasse \Class{protokol}\footnote{Die Klasse \Class{protokol} ist + eine hypothetische Klasse. Diese Anleitung geht von dem Idealfall + aus, dass für jede Aufgabe eine dafür passende Klasse vorhanden + ist.}. Das Ganze soll doppelseitig werden. In Ihrer Firma wird die + Schriftart Bookman in 12\Unit{pt} verwendet. Diese Schriftart, die + zu den Standard-PostScript-Schriften gehört, wird in {\LaTeX} mit + der Anweisung \verb|\usepackage{bookman}| aktiviert. Die Schriftart + Bookman läuft sehr weit, das heißt, die einzelnen Zeichen sind im + Verhältnis zur Höhe relativ breit. Deshalb ist Ihnen die + Voreinstellung für den \Var{DIV}-Wert in \Package{typearea} zu + gering. Statt einem Wert von 12 sind Sie nach gründlichem Studium + dieses Kapitels einschließlich der weiterführenden Abschnitte + überzeugt, dass ein Wert 15 angebracht ist. Das Protokoll wird nicht + gebunden, sondern gelocht und in einen Ordner abgeheftet. Eine + Bindekorrektur ist deshalb nicht notwendig. Sie schreiben also: +\begin{lstlisting} + \documentclass[a4paper,twoside]{protokol} + \usepackage{bookman} + \usepackage[DIV15]{typearea} +\end{lstlisting} + Als Sie fertig sind, macht man Sie darauf aufmerksam, dass die + Protokolle neuerdings gesammelt und am Quartalsende alle zusammen + als Buch gebunden werden. Die Bindung erfolgt als + einfache Leimbindung, weil den Band ohnehin nie wieder jemand + anschaut und nur wegen ISO\,9000 angefertigt wird. Für die Bindung + einschließlich Biegefalz werden durchschnittlich 12\Unit{mm} + benötigt. Sie ändern die Optionen von \Package{typearea} also + entsprechend ab und verwenden die Klasse für Protokolle nach + ISO\,9000: +\begin{lstlisting} + \documentclass[a4paper,twoside]{iso9000p} + \usepackage{bookman} + \usepackage[DIV15,BCOR12mm]{typearea} +\end{lstlisting} + Natürlich können Sie auch hier wieder eine \KOMAScript-Klasse + verwenden: +\begin{lstlisting} + \documentclass[twoside,DIV15,BCOR12mm]{scrartcl} + \usepackage{bookman} +\end{lstlisting} + Die Option \Option{a4paper} konnte bei der Klasse \Class{scrartl} entfallen, + da diese der Voreinstellung bei allen \KOMAScript-Klassen entspricht. +\end{Example} + +Bitte beachten Sie unbedingt, dass diese Option bei Verwendung einer der +\KOMAScript-Klassen als Klassenoption übergeben werden muss. Demgegenüber +funktioniert die Angabe als Klassenoption bei Verwendung einer anderen Klasse +nur, wenn diese Klasse \Package{typearea} explizit unterstützt. Bei den +Standardklassen ist die Option also direkt beim Laden von \Package{typearea} +zu übergeben. +\iftrue +% Umbruchoptimierungstext +Die Verwendung von \Macro{PassOptionsToPackage} (siehe \cite{latex:clsguide}) +vor dem Laden von \Package{typearea} und gegebenenfalls auch vor dem Laden der +Klasse funktioniert hingegen immer. +% +\fi +% +\EndIndex{Option}{DIV} + +\begin{Declaration} + \Option{DIVcalc}\\ + \Option{DIVclassic} +\end{Declaration}% +\BeginIndex{Option}{DIVcalc}% +\BeginIndex{Option}{DIVclassic}% +Wie bereits in \autoref{sec:typearea.divConstruction} erwähnt, gibt +es nur für das Papierformat A4 feste Voreinstellungen für den +\Var{DIV}-Wert. Diese sind \autoref{tab:typearea.div} zu entnehmen. Wird +ein anderes Papierformat gewählt, so berechnet \Package{typearea} +selbst einen guten \Var{DIV}-Wert. Natürlich können Sie diese +Berechnung auch für A4 wählen. Hierzu verwenden Sie einfach die Option +\Option{DIVcalc} an Stelle von \Option{DIV}\PName{Faktor}. +Selbstverständlich können Sie diese Option auch explizit bei allen +anderen Papierformaten angeben. Wenn Sie die automatische Berechnung +wünschen, ist diese Angabe sogar sinnvoll, da die Möglichkeit besteht, +in einer Konfigurationsdatei andere Voreinstellungen zu setzen (siehe +\autoref{sec:typearea.cfg}). Eine explizit angegebene Option \Option{DIVcalc} +überschreibt diese Vorkonfiguration aber. + +\begin{table} + \centering + \caption{\label{tab:typearea.div}\PName{DIV}-Voreinstellungen f"ur A4} + \begin{tabular}{lccc} + \toprule + Grundschriftgr"o"se: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\ + \Var{DIV}: & 8 & 10 & 12 \\ + \bottomrule + \end{tabular} +\end{table} + +Die in \autoref{sec:typearea.circleConstruction} erwähnte klassische +Konstruktion, der mittelalterliche Buchseitenkanon, ist ebenfalls auswählbar. +Verwenden Sie in diesem Fall an Stelle von \Option{DIV}\PName{Faktor} oder +\Option{DIVcalc} einfach die Option \Option{DIVclassic}. Es wird dann ein +\Var{DIV}-Wert ermittelt, der dem mitterlalterlichen Buchseitenkanon möglichst +nahe kommt. + +\begin{Example} + In dem bei der Option \Option{DIV}\PName{Faktor} aufgeführten + Beispiel mit der Schriftart Bookman gab es ja genau das Problem, + dass man einen zur Schriftart besser passenden \Var{DIV}-Wert haben + wollte. Man könnte also in Abwandlung des ersten Beispiels auch + einfach die Ermittlung dieses Wertes \Package{typearea} überlassen: +\begin{lstlisting} + \documentclass[a4paper,twoside]{protokol} + \usepackage{bookman} + \usepackage[DIVcalc]{typearea} +\end{lstlisting} +\end{Example} + +\begin{Declaration} + \Macro{typearea}\OParameter{BCOR}\Parameter{DIV} +\end{Declaration}% +\BeginIndex{Cmd}{typearea}% +Wenn Sie bis hier die Beispiele aufmerksam verfolgt haben, werden Sie +sich fragen, wie man die Berechnung eines \Var{DIV}-Wertes in +Abhängigkeit von der gewählten Schrift erreicht, wenn eine +\KOMAScript-Klasse verwendet wird, also die Optionen für +\Package{typearea} vor dem Laden beispielsweise des +\Package{bookman}-Pakets erfolgen müsste. In diesem Fall könnte +\Package{typearea} nur einen Satzspiegel für die Standardschrift, nicht +jedoch für die dann tatsächlich verwendete Schrift Bookman berechnen. +Nach der Auswertung der Optionen berechnet das +\Package{typearea}-Paket den Satzspiegel mit Hilfe des Befehls +\Macro{typearea}\OParameter{BCOR}\Parameter{DIV}. Dabei werden der +gewählte \Var{BCOR}-Wert als optionaler Parameter und der +\Var{DIV}-Wert als Parameter übergeben. Bei der Option +\Option{DIVcalc} werden +dabei als \PName{DIV} der eigentlich ungültige Wert~1 und bei der +Option \Option{DIVclassic} der eigentlich ungültige +Wert~3 übergeben. Den Befehl \Macro{typearea} kann man auch +explizit in der Präambel aufrufen. + +\begin{Example} + Gehen wir wieder davon aus, dass für die Schriftart Bookman ein + Satzspiegel mit guter Zeilenlänge berechnet werden soll. + Gleichzeitig wird eine \KOMAScript-Klasse verwendet. Dies ist unter + Verwendung des \Macro{typearea}-Befehls mit dem + \Option{DIVcalc}-Wert 1 als \PName{DIV}-Parameter möglich: +\begin{lstlisting} + \documentclass[BCOR12mm,DIVcalc,twoside]{scrartcl} + \usepackage{bookman} + \typearea[12mm]{1}% entspricht obigen Optionen +\end{lstlisting} + Wiederum wurde darauf verzichtet, mit der Option \Option{a4paper} die + Voreinstellung der \KOMAScript-Klasse \Class{scrartcl} explizit zu + wiederholen. +\end{Example} + +Nun ist es möglicherweise etwas unpraktisch, wenn man bei der +\Option{DIV}-Option die Möglichkeit hat, \Option{DIVcalc} und +\Option{DIVclassic} anzuwenden, beim \Macro{typearea}-Befehl aber mit +irgendwelchen Pseudowerten jonglieren soll. Deshalb versteht \Macro{typearea} +für den Parameter \PName{DIV} auch die symbolischen Angaben aus +\autoref{tab:symbolicDIV}. + +\begin{table} + \caption[{Symbolische \PName{DIV}-Argumente für + \Macro{typearea}}]{Mögliche symbolische \PName{DIV}-Argumente für + \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}} + \label{tab:symbolicDIV} + \begin{desctabular} + \pventry{calc}{Satzspiegelberechnung einschließlich Ermittlung eines guten + \Var{DIV}-Wertes erneut durchführen.} + \pventry{classic}{Satzspiegelberechnung nach dem mittelalterlichen + Buchseitenkanon (Kreisberechnung) erneut durchführen.} + \pventry{current}{Satzspiegelberechnung mit dem aktuell gültigen + \Var{DIV}-Wert erneut durchführen.} + \pventry{default}{Satzspiegelberechnung mit dem Standardwert für das + aktuelle Seitenformat und die aktuelle Schriftgröße erneut durchführen. + Falls kein Standardwert existiert \PValue{calc} anwenden.} + \pventry{last}{Satzspiegelberechnung mit demselben \PName{DIV}-Argument, + das beim letzten Aufruf angegeben wurde, erneut durchführen} + \end{desctabular} +\end{table} + +Jetzt wäre es natürlich äußerst unpraktisch, wenn man zwar eine +Satzspiegelberechnung mit dem aktuellen \Var{DIV}-Wert erneut +durchführen könnte, jedoch dabei den \Var{BCOR}-Wert neu angeben +müsste. Deshalb versteht \Macro{typearea} für den Parameter \PName{BCOR} auch +die symbolische Angabe aus \autoref{tab:symbolicBCOR} + +\begin{table} + \caption[{Symbolische \PName{BCOR}-Argumente für + \Macro{typearea}}]{Mögliche symbolische \PName{BCOR}-Argumente für + \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}} + \label{tab:symbolicBCOR} + \begin{desctabular} + \pventry{current}{Satzspiegelberechnung mit dem aktuell gültigen + \Var{BCOR}-Wert erneut durchführen.} + \end{desctabular} +\end{table} + +\begin{Example} + Gehen wir wieder davon aus, dass für die Schriftart Bookman + ein Satzspiegel mit guter Zeilenlänge berechnet werden + soll. Gleichzeitig wird eine \KOMAScript-Klasse verwendet. Unter + Verwendung der symbolischen Parameterwerte für \PName{BCOR} und + \PName{DIV} ist dies mit dem \Macro{typearea}-Befehl einfach + möglich: +\begin{lstlisting} + \documentclass[BCOR12mm,DIVcalc,twoside]{scrartcl} + \usepackage{bookman} + \typearea[current]{calc} +\end{lstlisting} + Soll hingegen die neuerliche Berechnung mit einem festen + \Var{DIV}-Wert durchgeführt werden, so gibt es neben der + Möglichkeit: +\begin{lstlisting} + \documentclass[BCOR12mm,DIV11,twoside]{scrartcl} + \usepackage{bookman} + \typearea[current]{last} +\end{lstlisting} + natürlich auch noch die naheliegende Methode: +\begin{lstlisting} + \documentclass[twoside]{scrartcl} + \usepackage{bookman} + \typearea[12mm]{11} +\end{lstlisting} + Letztlich ist es eine Frage des Geschmacks, welche Lösung man lieber + verwendet. +\end{Example} + +Häufig wird die Satzspiegelneuberechnung im Zusammenhang mit der +Ver"-änderung des Zeilenabstandes +(\emph{Durchschuss})\Index{Durchschuss} benötigt. Da der +Satzspiegel unbedingt so berechnet werden sollte, dass eine ganze +Anzahl an Zeilen in den Textbereich passt, muss bei Verwendung +eines anderen Durchschusses als dem normalen der Satzspiegel für +diesen Zeilenabstand neu berechnet werden. + +\begin{Example} + Angenommen, für eine Diplomarbeit wird die Schriftgröße + 10\Unit{pt} bei eineinhalbzeiligem Satz zwingend gefordert. {\LaTeX} + setzt normalwerweise bei 10\Unit{pt} mit 2\Unit{pt} Durchschuss, + also 1,2-zeilig. Deshalb muss als zusätzlicher Dehnfaktor der Wert + 1,25 verwendet werden. Gehen wir außerdem davon aus, dass eine + Bindekorrektur von 12\Unit{mm} benötigt wird. Dann könnte die Lösung + dies Problems wie folgt aussehen: +\begin{lstlisting} + \documentclass[10pt,twoside,% + BCOR12mm,DIVcalc]{scrreprt} + \linespread{1.25} + \typearea[current]{last} +\end{lstlisting}\IndexCmd{linespread} + Da \Macro{typearea} selbst immer die Anweisung \Macro{normalsize} ausführt, + ist es nicht notwendig nach \Macro{linespread} den gewählten Durchschuss mit + \Macro{selectfont} zu aktiveren, damit dieser auch tatsächlich für die + Neuberechnung verwendet wird. + + Das gleiche Beispiel sähe unter Verwendung des + \Package{setspace}-Pakets (siehe \cite{package:setspace}) wie folgt + aus: +\begin{lstlisting} + \documentclass[10pt,twoside,% + BCOR12mm,DIVcalc]{scrreprt} + \usepackage{setspace} + \onehalfspacing + \typearea[current]{last} +\end{lstlisting} + Wie man sieht, spart man sich mit dem \Package{setspace}-Paket + das Wissen um den korrekten Dehnungswert. + + An dieser Stelle erscheint es mir angebracht, darauf hinzuweisen, + dass der Zeilenabstand für die Titelseite wieder auf den normalen + Wert zurückgesetzt werden sollte. Ein vollständiges Beispiel wäre + also: +\begin{lstlisting} + \documentclass[10pt,twoside,% + BCOR12mm,DIVcalc]{scrreprt} + \usepackage{setspace} + \onehalfspacing + \typearea[current]{last} + \begin{document} + \title{Title} + \author{Markus Kohm} + \begin{spacing}{1} + \maketitle + \tableofcontents + \end{spacing} + \chapter{Ok} + \end{document} +\end{lstlisting} + Siehe hierzu auch die Anmerkungen in \autoref{sec:typearea.tips}. +\end{Example} + +\begin{Explain} + Der Befehl \Macro{typearea} ist derzeit so definiert, dass es + theoretisch auch möglich wäre, mitten in einem Dokument den + Satzspiegel zu wechseln. Dabei werden allerdings Annahmen über den + Aufbau des \LaTeX-Kerns gemacht und interne Definitionen und Größen + des \LaTeX-Kerns verändert. Es gibt zwar eine gewisse + Wahrscheinlichkeit, aber keine Garantie, dass dies in zukünftigen + Versionen von \LaTeXe{} noch funktionieren wird. Es ist anzunehmen, + dass es bei \LaTeX3 nicht mehr zu einem korrekten Ergebnis führt. + Aber als Autor von {\KOMAScript} gehe ich derzeit davon aus, dass + der Umstieg zu \LaTeX3 mit sehr viel mehr Inkompatiblilitäten + einhergehen wird.\par +\end{Explain} +% +\EndIndex{Cmd}{typearea} +\EndIndex{Option}{DIVclassic}% +\EndIndex{Option}{DIVcalc} + +\begin{Explain}% +\begin{Declaration} + \Option{headinclude}\\ + \Option{headexclude}\\ + \Option{footinclude}\\ + \Option{footexclude} +\end{Declaration}% +\BeginIndex{Option}{headinclude}% +\BeginIndex{Option}{headexclude}% +\BeginIndex{Option}{footinclude}% +\BeginIndex{Option}{footexclude}% + Bisher wurde zwar erklärt, wie die + Satzspiegelkonstruktion\Index{Satzspiegel} + funktioniert und in welchem Verhältnis die Ränder\Index{Rand} zueinander und der + Textkörper zur Seite steht, aber eine entscheidende Frage blieb + ausgeklammert. Es handelt sich dabei um die Frage, was denn + eigentlich unter dem Rand zu verstehen ist. Auf den ersten Blick + wirkt diese Frage trivial: Der Rand ist der Teil der Seite, der + oben, unten, links und rechts frei bleibt. Doch das ist nur die + halbe Wahrheit. Der äußere Rand ist keineswegs immer leer. Teilweise + findet man darin noch gesetzte Randnotizen (siehe den Befehl + \Macro{marginpar} beispielsweise in \cite{l2kurz} bzw. + \autoref{sec:maincls.marginNotes}). + + Beim oberen und unteren Rand stellt sich die Frage, wie Kopf- und + Fußzeile\Index{Seitenkopf} \Index{Seitenfuß} zu behandeln sind. + Gehören diese beiden zum Textkörper oder + zum jeweiligen Rand? Die Frage ist nicht einfach zu beantworten. + Eindeutig ist, dass ein leerer Fuß und ein leerer Kopf zum Rand zu + rechnen sind. Schließlich können sie nicht vom restlichen Rand + unterschieden werden. Ein Fuß, der nur die + Paginierung\Index[indexmain]{Paginierung}\footnote{Unter der + Paginierung versteht man die Angabe + der Seitenzahl.} enthält, wirkt optisch ebenfalls eher wie Rand und + sollte deshalb zu diesem gerechnet werden. Für die optische Wirkung + ist dabei unwesentlich, ob der Fuß beim Lesen oder Überfliegen + leicht als Fuß erkannt werden kann oder nicht. Entscheidend ist, wie + eine wohlgefüllte Seite bei \emph{unscharfer Betrachtung} + wirkt. Dazu bedient man sich beispielsweise seiner + altersweitsichtigen Großeltern, denen man die Brille stibitzt und + dann die Seite etwa einen halben Meter von der Nasenspitze entfernt + hält. In Ermangelung erreichbarer Großeltern kann man sich auch + damit behelfen, dass man die eigenen Augen auf Fernsicht stellt, die + Seite aber nur mit ausgestreckten Armen hält. Brillenträger sind + hier deutlich im Vorteil. Hat man eine Fußzeile, die neben der + Paginierung weitere, weitschweifige Angaben enthält, beispielsweise + einen Copyright-Hinweis, so wirkt die Fußzeile eher wie ein etwas + abgesetzter Teil des Textkörpers. Bei der Berechnung des + Satzspiegels sollte das berücksichtigt werden. + + Bei der Kopfzeile sieht es noch schwieriger aus. In der Kopfzeile + wird häufig der + Kolumnentitel\Index[indexmain]{Kolumnentitel}\footnote{Unter dem + Kolumnentitel versteht man in der Regel die Wiederholung einer + Überschrift mit Titelcharakter. Er steht häufig im Seitenkopf, + seltener im Seitenfuß.} gesetzt. Arbeitet man mit einem + lebenden Kolumnentitel, also der Wiederholung der ersten bzw. + zweiten Gliederungsebene in der Kopfzeile, und hat gleichzeitig sehr + lange Überschriften, so erhält man automatisch sehr lange + Kopfzeilen. In diesem Fall wirkt der Kopf wiederum wie ein + abgesetzter Teil des Textkörpers und weniger wie leerer Rand. + Verstärkt wird dieser Effekt noch, wenn neben dem Kolumnentitel auch + die Paginierung im Kopf erfolgt. Dadurch erhält man einen links und + rechts abgeschlossenen Bereich, der kaum noch als leerer Rand wirkt. + Schwieriger ist es bei Paginierung im Fuß und Überschriften, deren + Länge sehr stark schwankt. Hier kann der Kopf der einen Seite wie + Textkörper wirken, der Kopf der anderen Seite jedoch eher wie Rand. + Keinesfalls sollte man die Seiten jedoch unterschiedlich behandeln. + Das würde zu vertikal springenden Köpfen führen und ist nicht einmal + für ein Daumenkino geeignet. Ich rate in diesem Fall dazu, den Kopf + zum Textkörper zu rechnen. + + Ganz einfach fällt die Entscheidung, wenn der Kopf oder Fuß durch + eine Linie vom eigentlichen Textkörper abgetrennt ist. Dadurch + erhält man eine geschlossene Wirkung und der Kopf bzw. Fuß sollte + unbedingt zum Textkörper gerechnet werden. Wie gesagt, die durch die + Trennlinie verbesserte Erkennung des Kopfes oder Fußes ist hier + unerheblich. Entscheidend ist die unscharfe Betrachtung.\par +\end{Explain} + +Das \Package{typearea}-Paket trifft die Entscheidung, ob ein Kopf oder +Fuß zum Textkörper gehört oder davon getrennt zum Rand gerechnet +werden muss, nicht selbst. Stattdessen kann mit der Option +\Option{headinclude} der Kopf und mit der Option \Option{footinclude} der Fuß +explizit zum Textkörper gezählt werden, während mit den Optionen +\Option{headexclude} und \Option{footexclude} der Kopf bzw. Fuß zum +Rand gerechnet wird. Wenn Sie unsicher sind, was die richtige +Einstellung ist, lesen Sie bitte obige Erläuterungen. Voreingestellt +sind normalerweise \Option{headexclude} und \Option{footexclude}. Dies +kann sich jedoch bei den \KOMAScript-Klassen je nach Klassenoption +oder bei Verwendung anderer \KOMAScript-Pakete generell ändern (siehe +\autoref{sec:maincls.options} und \autoref{cha:scrpage}). +% +\EndIndex{Option}{headinclude}% +\EndIndex{Option}{headexclude}% +\EndIndex{Option}{footinclude}% +\EndIndex{Option}{footexclude}% + + +\begin{Declaration} + \Option{mpinclude}\\ + \Option{mpexclude} +\end{Declaration} +\BeginIndex{Option}{mpinclude}% +\BeginIndex{Option}{mpexclude}% +Neben\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} Dokumenten, bei denen der Kopf und der Fuß der +Seite eher zum Textbereich als zum Rand gehört, gibt es auch +Dokumente, bei denen dies für Randnotizen zutrifft. Mit der Option +\Option{mpinclude} kann genau dies erreicht werden. Der Effekt dabei +ist, dass eine Breiteneinheit vom Textbereich weggenommen und als +Bereich für die Randnotizen verwendet wird. Mit der Option +\Option{mpexclude}, die der Voreinstellung entspricht, wird +hingegen ein Teil des Randes für Randnotizen verwendet. Dies ist, je +nachdem, ob einseitig oder doppelseitig gearbeitet wird, ebenfalls +eine Breiteneinheit oder auch eineinhalb Breiteneinheiten. In der +Regel ist die Verwendung von \Option{mpinclude} nicht anzuraten +beziehungsweise sollte Experten vorbehalten bleiben. + +\begin{Explain} +In den meisten Fällen, in denen die Option \Option{mpinclude} sinnvoll +ist, werden außerdem breitere Randnotizen benötigt. In sehr vielen +Fällen sollte dabei aber nicht die gesamte Breite, sondern nur ein +Teil davon, dem Textbereich zugeordnet werden. Dies ist beispielsweise +der Fall, wenn der Rand für Zitate verwendet wird. Solche Zitate +werden üblicherweise im Flattersatz gesetzt, wobei die bündige Kante +an den Textbereich anschließt. Da sich kein geschlossener optischer +Eindruck ergibt, dürfen die flatternden Enden also durchaus teilweise +in den Rand ragen. Man kann das einfach erreichen, indem man zum einen +die Option \Option{mpinclude} verwendet. Zum anderen vergrößert man +die Länge \Length{marginparwidth} nach der Berechnung des Satzspiegels +noch mit Hilfe der \Macro{addtolength}-Anweisung. Um welchen Wert man +vergrößern sollte, hängt vom Einzelfall ab und erfordert einiges +Fingerspitzengefühl. Auch deshalb ist die Option \Option{mpinclude} +eher etwas für Experten. Natürlich kann man auch festlegen, dass die +Randnotizen beispielsweise zu einem Drittel in den Rand hineinragen +sollen. Im Beispiel würde man das mit +\begin{lstlisting} + \setlength{\marginparwidth}{1.5\marginparwidth} +\end{lstlisting} +erreichen. + +Da es derzeit keine Option gibt, um mehr Platz für die Randnotizen +innerhalb des Textbereichs vorzusehen, gibt es nur eine +Möglichkeit dies zu erreichen. Man verzichtet auf die Option +\Option{mpinclude}, verringert nach der Satzspiegelberechnung die +Breite des Textbereichs \Macro{textwidth} und setzt die Breite des +Bereichs der Randnotizen auf den Wert, um den man die Breite des +Textbereichs verringert hat. Leider lässt sich dieses Vorgehen nicht +mit der automatischen Berechnung des \PName{DIV}-Wertes verbinden. +Demgegenüber wird \Option{mpinclude} bei +\Option{DIVcalc}\IndexOption{DIVcalc} berücksichtigt. +\end{Explain} +% +\EndIndex{Option}{mpinclude}% +\EndIndex{Option}{mpexclude}% + + +\begin{Declaration} + \PName{Wert}\Option{headlines} +\end{Declaration}% +\BeginIndex{Option}{headlines}% +Es ist nun also bekannt, wie man Satzspiegel mit dem +\Package{typearea}-Paket berechnet und wie man dabei angibt, ob der +Kopf oder Fuß zum Textkörper oder zum Rand gehört. Insbesondere für +den Kopf fehlt aber noch die Angabe, wie hoch er denn eigentlich sein +soll. Hierzu dient die Option \Option{headlines}, der man die Anzahl +der Kopfzeilen voranstellt. Normalerweise arbeitet das +\Package{typearea}-Paket mit 1,25 Kopfzeilen. Dieser Wert stellt einen +Kompromiss dar. Zum einen ist er groß genug, um auch für eine +unterstrichene Kopfzeile (siehe \autoref{sec:maincls.options}) +Platz zu bieten, zum anderen ist er klein genug, um das Randgewicht +nicht zu stark zu verändern, wenn mit einer einfachen, nicht +unterstrichenen Kopfzeile gearbeitet wird. Damit ist der +voreingestellte Wert in den meisten Standardfällen ein guter Wert. +In einigen Fällen will oder muss man aber die Kopfhöhe genauer den +tatsächlichen Erfordernissen anpassen. + +\begin{Example} + Angenommen, es soll ein Text mit einem zweizeiligen Kopf erstellt + werden. Normalerweise würde dies dazu führen, dass auf jeder Seite + eine Warnung »\texttt{overfull} \Macro{vbox}« von {\LaTeX} + ausgegeben würde. Um dies zu verhindern, wird das + \Package{typearea}-Paket angewiesen, einen entsprechenden Satzspiegel + zu berechnen: +\begin{lstlisting} + \documentclass[a4paper]{article} + \usepackage[2.1headlines]{typearea} +\end{lstlisting} + Bei Verwendung einer \KOMAScript-Klasse muss die Option auch wieder + direkt an die Klasse übergeben werden: +\begin{lstlisting} + \documentclass[a4paper,2.1headlines]{scrartcl} +\end{lstlisting} + Befehle, mit denen dann der Inhalt der zweizeiligen Kopfzeile + definiert werden kann, sind in \autoref{cha:scrpage} zu finden. +\end{Example} + +Bitte beachten Sie unbedingt, dass diese Option bei Verwendung einer +der \KOMAScript-Klassen als Klassenoption übergeben werden muss. +Demgegenüber funktioniert dies bei Verwendung einer anderen Klasse +nur, wenn diese Klasse \Package{typearea} explizit unterstützt. Bei +den Standardklassen ist die Option also direkt beim Laden von +\Package{typearea} zu übergeben. Die Verwendung von +\Macro{PassOptionsToPackage} (siehe \cite{latex:clsguide}) vor dem +Laden von \Package{typearea} funktioniert hingegen immer. +% +\EndIndex{Option}{headlines} + + +\begin{Declaration} + \Macro{areaset}\OParameter{BCOR}\Parameter{Breite}\Parameter{Höhe} +\end{Declaration}% +\BeginIndex{Cmd}{areaset}% +Bis hier wurde nun eine Menge darüber erzählt, wie man einen guten +oder sogar sehr guten Satzspiegel\Index{Satzspiegel} für +Standardanwendungen erstellt bzw. wie das +\Package{typearea}-Paket dem Anwender diese Arbeit weitgehend +abnimmt, ihm aber gleichzeitig Möglichkeiten der Einflussnahme +bietet. Es gibt jedoch auch Fälle, in denen der Textkörper eine +bestimmte Größe exakt einhalten soll, ohne dass dabei auf gute +Satzspiegelkonstruktion oder auf weitere Nebenbedingungen zu +achten ist. Trotzdem sollen die Ränder so gut wie möglich +verteilt und dabei gegebenenfalls auch eine Bindekorrektur +berücksichtigt werden. Das \Package{typearea}-Paket bietet +hierfür den Befehl \Macro{areaset}, dem man neben der optionalen +Bindekorrektur als Parameter die Breite und Höhe des Textbereichs +übergibt. Die Ränder und deren Verteilung werden dann automatisch +berechnet, wobei gegebenenfalls auch die Paketoptionen +\Option{headinclude}, \Option{headexclude}, sowie +\Option{footinclude} und \Option{footexclude} berücksichtigt +werden. + +\begin{Example} + Angenommen, ein Text auf A4-Papier soll genau die Breite von 60 + Zeichen in der Typewriter-Schrift haben und exakt 30 Zeilen je Seite + besitzen. Dann könnte mit folgender Präambel gearbeitet werden: +\begin{lstlisting} + \documentclass[a4paper,11pt]{article} + \usepackage{typearea} + \newlength{\CharsLX}% Breite von 60 Zeichen + \newlength{\LinesXXX}% Hoehe von 30 Zeilen + \settowidth{\CharsLX}{\texttt{1234567890}} + \setlength{\CharsLX}{6\CharsLX} + \setlength{\LinesXXX}{\topskip} + \addtolength{\LinesXXX}{30\baselineskip} + \areaset{\CharsLX}{\LinesXXX} +\end{lstlisting} + +\item Soll stattdessen ein Gedichtband gesetzt werden, bei dem es nur + darauf ankommt, dass der Textbereich genau quadratisch mit einer + Seitenlänge von 15\Unit{cm} ist, wobei ein Binderand von + 1\Unit{cm} zu berücksichtigen ist, so kann dies wie folgt + erreicht werden: +\begin{lstlisting} + \documentclass{gedichte} + \usepackage{typearea} + \areaset[1cm]{15cm}{15cm} +\end{lstlisting} +\end{Example} +\EndIndex{Cmd}{areaset} + +Wenn Sie konkrete Vorgaben bezüglich der Ränder zu erfüllen haben, ist +\Package{typearea} nicht geeignet. In diesem Fall ist die Verwendung des +Paketes \Package{geometry} (siehe \cite{package:geometry}) empfehlenswert. + + +\section{Optionen und Makros zur Auswahl des Papierformats} +\label{sec:typearea.paperTypes} + +\Index{Papierformat}% +Die \LaTeX-Standardklassen unterstützen mit +den Klassenoptionen \Option{a4paper}, \Option{a5paper}, \Option{b5paper}, +\Option{letterpaper}, \Option{legalpaper} und +\Option{executivepaper} die Papierformate A4 und A5 aus der +ISO-A-Reihe, B5 aus der ISO-B-Reihe, sowie die amerikanischen Formate +letter, legal und executive. +\begin{Declaration} + \Option{letterpaper} \\ + \Option{legalpaper} \\ + \Option{executivepaper} \\ + \Option{a\Var{X}paper} \\ + \Option{b\Var{X}paper} \\ + \Option{c\Var{X}paper} \\ + \Option{d\Var{X}paper} \\ + \Option{landscape} \\ + \Macro{isopaper}\OParameter{Reihe}\Parameter{Formatnummer} +\end{Declaration}% +\BeginIndex{Option}{letterpaper} +\BeginIndex{Option}{legalpaper} +\BeginIndex{Option}{executivepaper} +\BeginIndex{Option}{a0paper} +\BeginIndex{Option}{b0paper} +\BeginIndex{Option}{c0paper} +\BeginIndex{Option}{d0paper} +\BeginIndex{Option}{landscape} +\BeginIndex{Cmd}{isopaper}% +Die drei amerikanischen Formate werden vom \Package{typearea}-Paket in +gleicher Weise unterstützt. Darüber hinaus werden jedoch alle Formate +der ISO-A-, ISO-B-, ISO-C- und ISO-D-Reihe durch Ableitung aus den +jeweiligen Grundgrößen A0, B0, C0 und D0 unterstützt. Diese können +ebenfalls direkt durch entsprechende Optionen \Option{a0paper}, +\Option{a1paper} usw. ausgewählt werden. Genau wie bei den +Standardklassen ist es mit dem \Package{typearea}-Paket möglich, durch +zusätzliche Verwendung der Paketoption \Option{landscape} das +jeweilige Querformat zu wählen. + +Alternativ kann beim \Package{typearea}-Paket die Papiergröße mit +Hilfe des Befehls \Macro{isopaper} eingestellt werden. Danach muss +allerdings der Satzspiegel mit Hilfe des Befehls \Macro{typearea} oder +\Macro{areaset} neu berechnet werden. Ich rate deshalb von der +Verwendung des Befehls \Macro{isopaper} ab. + +\begin{Example} + Angenommen, es soll eine Karteikarte im Format ISO-A8 quer bedruckt + werden. Dabei sollen die Ränder sehr klein gewählt werden. Außerdem + wird auf eine Kopf- und eine Fußzeile verzichtet. +\begin{lstlisting} + \documentclass{article} + \usepackage[headexclude,footexclude,% + a8paper,landscape]{typearea} + \areaset{7cm}{5cm} + \pagestyle{empty} + \begin{document} + \section*{Papieroptionen} + letterpaper, legalpaper, executivepaper, a0paper, + a1paper \dots\ b0paper, b1paper \dots\ c0paper, + c1paper \dots\ d0paper, d1paper \dots + \end{document} +\end{lstlisting} +\end{Example} + +Bitte beachten Sie unbedingt, dass alle \Option{a\Var{X}paper}-, +\Option{b\Var{X}paper}-, \Option{c\Var{X}paper}- und +\Option{d\Var{X}paper}-Optionen mit Ausnahme von \Option{a4paper} und +\Option{a5paper} bei Verwendung einer der \KOMAScript-Klassen als +Klassenoption übergeben werden müssen. Demgegenüber funktioniert dies +bei Verwendung einer anderen Klasse nur, wenn diese Klasse +\Package{typearea} explizit unterstützt. Bei den Standardklassen sind +die Optionen also direkt beim Laden von \Package{typearea} zu +übergeben. Die Verwendung von \Macro{PassOptionsToPackage} (siehe +\cite{latex:clsguide}) vor dem Laden von \Package{typearea} +funktioniert hingegen immer. +% +\EndIndex{Option}{letterpaper} +\EndIndex{Option}{legalpaper} +\EndIndex{Option}{executivepaper} +\EndIndex{Option}{a0paper} +\EndIndex{Option}{b0paper} +\EndIndex{Option}{c0paper} +\EndIndex{Option}{d0paper} +\EndIndex{Option}{landscape} +\EndIndex{Cmd}{isopaper} + +\begin{Declaration} + \Macro{paperwidth}\\ + \Macro{paperheight} +\end{Declaration}% +\BeginIndex{Cmd}{paperwidth}% +\BeginIndex{Cmd}{paperheight}% +Für besonders exotische Papierformate, die weder durch die oben +angegebenen amerikanischen Formate noch durch eines der Formate der vier +ISO-Reihen abgedeckt sind, können direkt die Längen \Macro{paperwidth} +und \Macro{paperheight} gesetzt werden. Danach muss allerdings der +Satzspiegel für dieses Format mit einem der Befehle \Macro{typearea} +oder \Macro{areaset} neu berechnet werden. +\begin{Example} + Angenommen, es soll auf Endlospapier mit den Maßen + \(8\frac{1}{4}\Unit{inch} \times 12\Unit{inch}\) gedruckt werden. + Dieses Papierformat wird von \Package{typearea} nicht direkt + unterstützt. Das Papierformat muss daher vor der Berechnung des + Satzspiegels definiert werden: +\begin{lstlisting} + \documentclass{article} + \usepackage{typearea} + \setlength{\paperwidth}{8.25in} + \setlength{\paperheight}{12in} + \typearea{1} +\end{lstlisting} +\end{Example} +\EndIndex{Cmd}{paperheight} +\EndIndex{Cmd}{paperwidth} + +\begin{Declaration} + \Option{dvips}\\ + \Option{pdftex}\\ + \Option{pagesize} +\end{Declaration}% +\BeginIndex{Option}{dvips}% +\BeginIndex{Option}{pdftex}% +\BeginIndex{Option}{pagesize}% +\begin{Explain}% + Die oben genannten Mechanismen zur Auswahl des Papierformats haben + genau genommen nur insofern einen Einfluss auf die Ausgabe, dass + gewisse interne {\LaTeX}-Maße so gesetzt werden, dass bestimmte + Bereiche der Seite, wie Kopf, Textkörper und Fuß so angeordnet und + von \Package{typearea} so berechnet werden, dass sie auf + entsprechendes Papier ausgedruckt werden können. Die Spezifikation + des DVI-Formats\Index{DVI} sieht aber an keiner Stelle + Angaben zum Papierformat + vor. Wird direkt aus dem DVI-Format in eine Low-Level-Druckersprache + wie PCL\footnote{PCL ist die Druckersprache, die HP für seine + Tinten- und Laserdrucker verwendet.} oder ESC/P2\footnote{ESC/P2 + ist die Druckersprache, die EPSON für seine Nadel-, Tinten- und + Laserdrucker benutzt.} ausgegeben, spielt dies + normalerweiser keine Rolle, da auch bei diesen Ausgaben der + 0-Bezugspunkt wie bei DVI links oben liegt. Wird aber in Sprachen + wie PostScript\Index{PostScript} oder PDF\Index{PDF} übersetzt, + bei denen der 0-Bezugspunkt an + anderer Stelle liegt und außerdem das Papierformat in der + Ausgabedatei angegeben werden kann, so fehlt diese Information in + der DVI-Datei. Als Lösung des Problems verwendet der entsprechende + Treiber eine voreingestellte Papiergröße, die der Anwender entweder + per Option oder durch entsprechende Angabe in der {\TeX}-Quelldatei + verändern kann. Bei Verwendung des DVI-Treibers \File{dvips} kann + diese Angabe in Form einer \Macro{special}-Anweisung erfolgen. Bei + {pdf\TeX} werden stattdessen zwei Längen entsprechend gesetzt.\par +\end{Explain} +Mit der Option \Option{dvips} wird erreicht, dass die Papiergröße als +\Macro{special} in die DVI-Datei geschrieben wird. Dieses +\Macro{special} wird beispielsweise von \File{dvips} +ausgewertet. Demgegenüber schreibt die Option \Option{pdftex} die +Papiergröße am Anfang des Dokuments in die {pdf\TeX}-Seitenregister, +so dass später beim Betrachten der erzeugten PDF-Datei das korrekte +Format angegeben wird. Die Option \Option{pagesize} verhält sich +flexibler und verwendet je nachdem, ob eine PDF- oder eine DVI-Datei +ausgegeben wird, den Mechanismus der Option \Option{dvips} oder der +Option \Option{pdftex}. +\begin{Example} + Angenommen, es soll ein Dokument sowohl als DVI-Datei verwendet + werden, als auch eine Online-Version im PDF-Format erstellt + werden. Dann könnte die Präambel beispielsweise so beginnen: +\begin{lstlisting} + \documentclass{article} + \usepackage[a4paper,pagesize]{typearea} +\end{lstlisting} + Wird nun für die Bearbeitung {pdf\TeX} verwendet \emph{und} die + PDF-Ausgabe aktiviert, so werden die beiden Größen + \Macro{pdfpagewidth} und \Macro{pdfpageheight} entsprechend gesetzt. + Wird jedoch eine DVI-Datei erzeugt -- egal ob mit {\LaTeX} oder + {pdf\LaTeX} --, so wird ein \Macro{special} an den Anfang dieser + Datei geschrieben. +\end{Example}\IndexCmd{pdfpagewidth}\IndexCmd{pdfpageheight} +\EndIndex{Option}{dvips}% +\EndIndex{Option}{pdftex}% +\EndIndex{Option}{pagesize}% + + +\section{Kleinigkeiten ohne direkten Bezug zum Satzspiegel} +\label{sec:typearea.else} + +Manchmal ist es wünschenswert, in einem Dokument abhängig vom +Ausgabeformat bestimmte Dinge anders zu machen. Normalerweise +verwendet {\TeX} das Ausgabeformat DVI. Mit {pdf\TeX} ist aber die +Wahlmöglichkeit hinzugekommen, statt einer DVI-Datei eine PDF-Datei +direkt zu erzeugen. + +\begin{Declaration} + \Macro{ifpdfoutput}\Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration}% +\BeginIndex{Cmd}{ifpdfoutput}% +Der Befehl \Macro{ifpdfoutput} stellt eine Verzweigung dar. Wurde die +PDF-Ausgabe aktiviert, so wird der \PName{Dann-Teil} ausgeführt. Wurde die +PDF-Ausgabe nicht aktiviert oder wird überhaupt kein {pdf\TeX} verwendet, so +wird der \PName{Sonst-Teil} ausgeführt. +\begin{Example} + Bekanntlich gibt {pdf\LaTeX} ebenfalls eine DVI-Datei an Stelle + einer PDF-Datei aus, wenn der Zähler \Macro{pdfoutput} auf 0 gesetzt + ist. Nur bei einem von 0 verschiedenen Wert wird eine PDF-Datei + ausgegeben. Da andererseits \Macro{pdfoutput} unbekannt ist, wenn + {\LaTeX} statt {pdf\LaTeX} verwendet wird, kann man + \Macro{pdfoutput} auch nicht einfach generell auf 0 setzen, um + DVI-Ausgabe zu erhalten. Eine einfache Lösung ist folgende Zeile: +\begin{lstlisting} + \ifpdfoutput{\pdfoutput=0}{} +\end{lstlisting} + Übrigens setzten manche Pakete \Macro{pdfoutput} einfach auf 1, + sobald der Zähler existiert. In einigen Fällen ist das aber gar + nicht erwünscht. Auch dann kann obige Zeile nach dem Laden des + entsprechenden Pakets hilfreich sein. Selbstverständlich muss dafür + das \Package{typearea}-Paket geladen sein. Eine Kombination mit der + Anweisung \Macro{AfterPackage}\IndexCmd{AfterPackage} des + \Package{scrlfile}-Paketes ist ebenfalls möglich (siehe dazu + \autoref{cha:scrlfile}). +\end{Example}\IndexCmd{pdfoutput} +\EndIndex{Cmd}{ifpdfoutput} + +\section{Lokale Einstellungen durch die Datei \File{typearea.cfg}} +\label{sec:typearea.cfg} +\BeginIndex{File}{typearea.cfg}% +Noch vor der Abarbeitung der Paketoptionen prüft \Package{typearea}, +ob eine Datei \File{typearea.cfg} existiert und lädt diese +gegebenenfalls. Es ist daher möglich, in dieser Konfigurationsdatei +beispielsweise zusätzliche Optionen für weitere Papierformate zu +definieren. + +\begin{Explain}% +\begin{Declaration} + \Macro{SetDIVList}\Parameter{Liste} +\end{Declaration}% +\BeginIndex{Cmd}{SetDIVList}% +Ebenfalls zur Verwendung in dieser Konfigurationsdatei war +ursprünglich der Befehl \Macro{SetDIVList} vorgesehen. Bevor die +Option \Option{DIVcalc} existierte, war dies die einzige Möglichkeit, +für unterschiedliche Schriftgrößen und Papierformate unterschiedliche +Voreinstellungen für den \Var{DIV}-Wert zu definieren. Die Liste +besteht dabei aus einer Reihe von Werten in geschweiften Klammern. Der +Wert ganz links ist für die Schriftgröße 10\Unit{pt}, der nächste +für 11\Unit{pt}, der dritte für 12\Unit{pt} usw. vorgesehen. +Wird keine Liste mit \Macro{SetDIVList} gesetzt, so entspricht dies +\Macro{SetDIVList}% +\PParameter{\PParameter{8}\PParameter{10}\PParameter{12}}. +Ist für eine Schriftgröße kein Standardwert gesetzt, so wird +stattdessen 10 verwendet.\par +\end{Explain} + +Dieser Befehl sollte nicht mehr verwendet werden. Stattdessen wird +empfohlen, einen günstigen Satzspiegel automatisch berechnen zu lassen +(siehe \autoref{sec:typearea.options}). +% +\EndIndex{Cmd}{SetDIVList} + +% +\EndIndex{File}{typearea.cfg} + + +\section{Tipps} +\label{sec:typearea.tips} +\begin{Explain} + Insbesondere für die Erstellung von schriftlichen Arbeiten während + des Studiums findet man häufig Vorschriften, die einer + typografischen Begutachtung nicht nur in keinster Weise standhalten, + sondern massiv gegen alle Regeln der Typografie verstoßen. Ursache + für solche Regeln ist oft typografische Inkompetenz + derjenigen, die sie herausgeben. Manchmal ist die Ursache auch im + Ausgangspunkt begründet, nämlich der Schreibmaschine. Mit einer + Schreibmaschine oder einer Textverarbeitung von 1980 ist es ohne + erheblichen Aufwand kaum möglich, typografisch perfekte Ergebnisse + zu erzielen. Also wurden einst Vorschriften erlassen, die leicht + erfüllbar schienen und dem Korrektor trotzdem entgegen kommen. Dazu + zählen dann Randeinstellungen, die für einseitigen Druck mit einer + Schreibmaschine zu brauchbaren Zeilenlängen führen. Um nicht extrem + kurze Zeilen zu erhalten, die durch Flattersatz zudem verschlimmert + werden, werden die Ränder schmal gehalten und für Korrekturen + stattdessen ein großer Durchschuss in Form von eineinhalbzeiligem + Satz vorgeschrieben. Bevor moderne Textverarbeitungssysteme + verfügbar wurden, wäre -- außer mit {\TeX} -- einzeiliger Satz die + einzige Alternative gewesen. Dabei wäre dann selbst das Anbringen + von Korrekturzeichen schwierig geworden. Als die Verwendung von + Computern für die Erstellung schriftlicher Arbeiten üblicher wurde, + hat sich manches Mal auch der Spieltrieb des einen oder anderen + Studenten gezeigt, der durch Verwendung einer Schmuckschrift seine + Arbeit aufpeppen und so eine bessere Note mit weniger Einsatz + herausschinden wollte. Nicht bedacht hat er dabei, dass solche + Schriften schlechter zu lesen und deshalb für den Zweck ungeeignet + sind. Damit hielten zwei Brotschriften Einzug in die Vorschriften, + die weder zusammenpassen noch im Falle von Times wirklich gut + geeignet sind. Times ist eine relativ enge Schrift, die Anfang des + 20.~Jahrhunderts speziell für schmale Spalten im englischen + Zeitungssatz entworfen wurde. In modernen Schnitten ist dies etwas + entschärft. Dennoch passt die häufig vorgeschriebene Times meist + nicht zu den gleichzeitig gegebenen Randvorgaben. + + {\LaTeX} setzt bereits von sich aus mit ausreichendem Durchschuss. + Gleichzeitig sind die Ränder bei sinnvollen Zeilenlängen groß + genug, um Platz für Korrekturen zu bieten. Dabei wirkt die Seite + trotz einer Fülle von Text großzügig angelegt. +% Bedarfsteil um den Seitenumbruch zu verbessern: +% Bei Verwendung von +% \Package{typearea} wird dies eher noch verstärkt. Dies gilt +% insbesondere dann, wenn die Berechnung der Zeilenlänge ebenfalls +% \Package{typearea} überlassen oder nur geringfügig davon abgewichen +% wird. Für Schriftarten, die empfindlich auf lange Zeilen reagieren, +% kann der Textkörper außerdem sehr leicht schmaler gewählt werden. + + Oft sind die typografisch mehr als fragwürdigen + Satzvorschriften mit {\LaTeX} auch außerodentlich schwierig + umzusetzen. So kann eine feste Anzahl von »Anschlägen« nur dann + eingehalten werden, wenn keine proportionale Schrift verwendet wird. + Es gibt nur wenige gute nichtproportionale Schriften. Kaum ein Text, + der mit einer derartigen Schrift gesetzt ist, wirkt wirklich gut. So + wird häufig versucht, durch ausladende Serifen beispielsweise beim + kleinen »i« oder »l« die unterschiedliche Breite der Zeichen + auszugleichen. Dies kann nicht funktionieren. Im Ergebnis wirkt der + Text unruhig und zerrissen. Außerdem verträgt sich eine solche + Schrift kaum mit dem im deutschen Sprachraum üblichen und allgemein + vorzuziehenden Blocksatz. Gewisse Vorgaben können daher bei + Verwendung von {\LaTeX} nur ignoriert oder großzügig ausgelegt + werden, etwa indem man »60~Anschläge pro Zeile« nicht als feste, + sondern als durchschnittliche oder maximale Angabe interpretiert. + \par +\end{Explain} + +Wie ausgeführt, sind Satzvorschriften meist dazu gedacht, ein +brauchbares Ergebnis zu erhalten, auch wenn der Ausführende selbst +nicht weiß, was dabei zu beachten ist. Brauchbar bedeutet häufig: +lesbar und korrigierbar. Nach meiner Auf"|fassung wird ein mit +{\LaTeX} und dem \Package{typearea}-Paket gesetzter Text bezüglich +des Satzspiegels diesen Anforderungen von vornherein gerecht. Wenn Sie +also mit Vorschriften konfrontiert sind, die offensichtlich erheblich +davon abweichen, so empfehle ich, dem Betreuer einen Textauszug +vorzulegen und nachzufragen, ob es gestattet ist, die Arbeit trotz der +Abweichungen in dieser Form zu liefern. Gegebenenfalls kann durch +Veränderung der Option \Option{DIV} der Satzspiegel moderat angepasst +werden. Von der Verwendung von \Macro{areaset} zu diesem Zweck rate +ich jedoch ab. Schlimmstenfalls verwenden Sie das nicht zu +{\KOMAScript} gehörende \Package{geometry}-Paket (siehe +\cite{package:geometry}) oder verändern Sie die Satzspiegelparameter +von {\LaTeX} selbst. Die von \Package{typearea} ermittelten Werte +finden Sie in der \File{log}-Datei Ihres Dokuments. Damit sollten +moderate Anpassungen möglich sein. Achten Sie jedoch unbedingt darauf, +dass die Proportionen des Textbereichs mit denen der Seite unter +Berücksichtigung der Bindekorrektur annähernd übereinstimmen. + +Sollte es unbedingt erforderlich sein, den Text eineinhalbzeilig +zu setzen, so definieren Sie keinesfalls \Macro{baselinestretch} +um. Dieses Vorgehen wird zwar allzu häufig empfohlen, ist aber +seit der Einführung von {\LaTeXe} im Jahre 1994 obsolet. +Verwenden Sie schlimmstenfalls den Befehl \Macro{linespread}. Ich +empfehle das Paket \Package{setspace},\IndexPackage{setspace} das +nicht zu {\KOMAScript} gehört (siehe \cite{package:setspace}). +Auch sollten Sie \Package{typearea} nach der Umstellung des +Zeilenabstandes den Satzspiegel für diesen Abstand berechnen +lassen, jedoch für den Titel, besser auch für die Verzeichnisse -- +sowie das Literaturverzeichnis und den Index -- wieder auf +normalen Satz umschalten. Das \Package{setspace}-Paket bietet +dafür eine spezielle Umgebung und eigene Befehle. + +Das \Package{typearea}-Paket berechnet auch bei der Option +\Option{DIVcalc} einen sehr großzügigen Textbereich. Viele +konservative Typografen werden feststellen, dass die resultierende +Zeilenlänge noch zu groß ist. Der berechnete \Var{DIV}-Wert ist +ebenfalls in der \File{log}-Datei zum jeweiligen Dokument zu +finden. Sie können also leicht nach dem ersten \LaTeX-Lauf einen +kleineren Wert wählen. + +Nicht selten wird mir die Frage gestellt, warum ich eigentlich +kapitelweise auf einer Satzspiegelberechnung herumreite, während es +sehr viel einfacher wäre, nur ein Paket zur Verfügung zu stellen, mit +dem man die Ränder wie bei einer Textverarbeitung einstellen kann. +Oft wird auch behauptet, ein solches Paket wäre ohnehin die bessere +Lösung, da jeder selbst wisse, wie gute Ränder zu wählen seien, und +die Ränder von {\KOMAScript} wären ohnehin nicht gut. Ich erlaube mir +zum Abschluss dieses Kapitels ein passendes Zitat aus +\cite{TYPO:ErsteHilfe}: +\begin{quote} + \phantomsection\label{sec:typearea.tips.cite}% + \textit{Das Selbermachen ist längst üblich, die Ergebnisse oft + fragwürdig, weil Laien-Typografen nicht sehen, was nicht stimmt + und nicht wissen können, worauf es ankommt. So gewöhnt man sich an + falsche und schlechte Typografie.} [\dots] \textit{Jetzt könnte der + Einwand kommen, Typografie sei doch Geschmackssache. Wenn es um + Dekoration ginge, könnte man das Argument vielleicht gelten + lassen, da es aber bei Typografie in erster Linie um Information + geht, können Fehler nicht nur stören, sondern sogar Schaden + anrichten.} +\end{quote} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "../guide" +%%% End: |