diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/german/scrlttr2.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/doc/german/scrlttr2.tex | 4132 |
1 files changed, 4132 insertions, 0 deletions
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: |