diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrguide/brief.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrguide/brief.tex | 4016 |
1 files changed, 4016 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrguide/brief.tex b/Master/texmf-dist/source/latex/koma-script/scrguide/brief.tex new file mode 100644 index 00000000000..fb2923e7315 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrguide/brief.tex @@ -0,0 +1,4016 @@ +\ProvidesFile{brief.tex}[2004/09/17 KOMA-Script Anleitung (Neue Briefklasse)] +% ============================================================================ +% brief.tex +% Copyright (c) 2002 Markus Kohm and the authors. +% +% This file is part of the LaTeX2e KOMA-Script-Bundle +% +% This file can be redistributed and/or modified under the terms of the LaTeX +% Project Public License Version 1.0 distributed together with this file. See +% LEGAL.TXT or LEGALDE.TXT. +% +% This bundle is written specialy for use at german-language. So the main +% documentation is german. There may also be an english documentation. See +% readme.txt, if you search for it. +% ---------------------------------------------------------------------------- +% brief.tex +% Copyright (c) 2002 Markus Kohm und bei den weiteren Autoren. +% +% Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets. +% +% Diese Datei kann nach den Regeln der LaTeX Project Public Licence +% Version 1.0, wie sie zusammen mit dieser Datei verteilt wird, +% weiterverbreitet und/oder modifiziert werden. Siehe dazu auch LEGAL.TXT oder +% LEGALDE.TXT. +% +% Dieses Paket ist fuer den deutschen Sprachraum konzipiert. Daher ist auch +% diese Anleitung komplett in Deutsch. Moeglicherweise existiert auch eine +% englische Version der Anleitung. Falls Sie eine solche benoetigen, schauen +% Sie bitte in liesmich.txt nach, ob eine solche vorhanden ist. +% ============================================================================ +% +% Modul: Die neue Briefklasse +% Autoren: Markus Kohm (MJK) <markus.kohm@gmx.de> +% Korrektur: Torsten Krueger +% Inhalt: Kapitel mit der Anleitung zur neuen Briefklasse +% Sprache: Deutsch +% Zeichensatz der Kommentare: +% US-ASCII +% + +\chapter{Die neue Briefklasse \Class{scrlttr2}} +\label{cha: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{verbatim} + latex scrlettr.dtx + latex scrlettr.dtx + latex scrlettr.dtx +\end{verbatim} +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.options} 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} + 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 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: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}. +% +\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}. Die +Option versteht die Standardwerte für einfache Schalter, die in +\autoref{tab:scrlttr2.simpleSwitchValues} angegeben sind. +Voreingestellt ist \PValue{false}. +% +\EndIndex{Option}{enlargefirstpage}% + +\begin{table} + \centering + \begin{tabular}{ll} + Wert & Bedeutung \\\hline\\[-1.75ex] + \PValue{true} & aktiviert die Option \\ + \PValue{on} & aktiviert die Option \\ + \PValue{false}& deaktiviert die Option \\ + \PValue{off} & deaktiviert die Option \\ + \end{tabular} + \caption{Standardwerte für einfache Schalter in der Klasse + \Class{scrlttr2}} + \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. Genaugenommen sind natürlich alle +Satzspiegeloptionen (siehe \autoref{sec:scrlttr2.typeareaOptions}) +Layoutoptionen. Teilweise gilt dies auch umgekehrt. + + +\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} 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: +\begin{description} +\item[\PValue{empty}] schaltet für die Leerseite auf den + Seitenstil\Index{Seitenstil} \PValue{empty}\IndexPagestyle{empty}. +\item[\PValue{plain}] schaltet für die Leerseite auf den Seitenstil + \PValue{plain}\IndexPagestyle{plain}. +\item[\PValue{standard}] behält für die Leerseite den aktuellen + Seitenstil bei. +\end{description} +Die Seitenstile werden in \autoref{sec:scrlttr2.pageStyle} näher +erläutert. Voreingestellt ist \PValue{standard}. +% +\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} 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}). +% +\EndIndex{Option}{headsepline}% +\EndIndex{Option}{footsepline}% + + +\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{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: +\begin{labeling}[~--]{\PValue{footcentered}} + \item[\PValue{bot}] Seitenzahl im Fuß ohne Änderung der + horizontalen Position + \item[\PValue{botcenter}] Seitenzahl zentriert im Fuß + \item[\PValue{botcentered}] wie \PValue{botcenter} + \item[\PValue{botleft}] Seitenzahl links im Fuß + \item[\PValue{botmiddle}] wie \PValue{botcenter} + \item[\PValue{botright}] Seitenzahl rechts im Fuß + \item[\PValue{center}] Seitenzahl zentriert ohne Änderung der + vertikalen Position + \item[\PValue{centered}] wie \PValue{center} + \item[\PValue{false}] keine Seitenzahl + \item[\PValue{foot}] wie \PValue{bot} + \item[\PValue{footcenter}] wie \PValue{botcenter} + \item[\PValue{footcentered}] wie \PValue{botcenter} + \item[\PValue{footleft}] wie \PValue{botleft} + \item[\PValue{footmiddle}] wie \PValue{botcenter} + \item[\PValue{footright}] wie \PValue{botright} + \item[\PValue{head}] Seitenzahl im Kopf ohne Änderung der + horizontalen Position + \item[\PValue{headcenter}] Seitenzahl zentriert im Kopf + \item[\PValue{headcentered}] wie \PValue{headcenter} + \item[\PValue{headleft}] Seitenzahl links im Kopf + \item[\PValue{headmiddle}] wie \PValue{headcenter} + \item[\PValue{headright}] Seitenzahl rechts im Kopf + \item[\PValue{left}] Seitenzahl links ohne Änderung der + vertikalen Position + \item[\PValue{middle}] wie \PValue{center} + \item[\PValue{no}] wie \PValue{false} + \item[\PValue{off}] wie \PValue{false} + \item[\PValue{right}] Seitenzahl rechts ohne Änderung der + vertikalen Position + \item[\PValue{top}] wie \PValue{head} + \item[\PValue{topcenter}] wie \PValue{headcenter} + \item[\PValue{topcentered}] wie \PValue{headcenter} + \item[\PValue{topleft}] wie \PValue{headleft} + \item[\PValue{topmiddle}] wie \PValue{headcenter} + \item[\PValue{topright}] wie \PValue{headright} +\end{labeling} +Voreingestellt ist \PValue{botcenter}. +% +\EndIndex{Option}{pagenumber}% + + +\begin{Declaration} + \Option{parskip}=\PName{Wert} +\end{Declaration}% +\BeginIndex{Option}{parskip}% +\begin{Explain}% + 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. Unter diesen Umständen sollten also auch Briefe + mit Absatzeinrückung und im Blocksatz erstellt werden. Der Autor von + \Class{scrlttr2} schließt sich dieser Auf"|fassung weitgehend an, will + den Anwender aber nicht über Gebühr einschränken. +\end{Explain} +Da es immer wieder ernst gemeinte Anfragen dazu gibt, bietet +\Class{scrlttr2} nicht nur die Möglichkeit, Absätze durch Einrückung +der ersten Zeile, sondern alternativ durch einen Abstand zwischen den +Absätzen zu kennzeichnen. Dabei kann zwischen einer halben und einer +ganzen Zeile Abstand gewählt werden. Bei Absatzabstand empfiehlt es +sich, dafür zu sorgen, dass die letzte Zeile eines Absatzes nicht +komplett gefüllt wird. Dadurch wird die Erkennung des Absatzes weiter +erleichtert. All diese Möglichkeiten werden über die Werte der Option +\Option{parskip} gesteuert: +\begin{labeling}[~--]{\PValue{half*}} +\item[\PValue{false}] Absatzeinzug statt Absatzabstand; die letzte + Zeile eines Absatzes darf beliebig gefüllt sein +\item[\PValue{full}] eine Zeile Abstand zwischen Absätzen; in der + letzten Zeile eines Absatzes muss mindestens 1\Unit{em} Platz frei + bleiben +\item[\PValue{full*}] eine Zeile Abstand zwischen Absätzen; in der + letzten Zeile eines Absatzes muss mindestens ein Viertel frei + bleiben +\item[\PValue{full+}] eine Zeile Abstand zwischen Absätzen; in der + letzten Zeile eines Absatzes muss mindestens ein Drittel frei + bleiben +\item[\PValue{full-}] eine Zeile Abstand zwischen Absätzen; die letzte + Zeile eines Absatzes darf beliebig gefüllt sein +\item[\PValue{half}] eine halbe Zeile Abstand zwischen Absätzen; in + der letzten Zeile eines Absatzes muss mindestens 1\Unit{em} Platz + frei bleiben +\item[\PValue{half*}] eine halbe Zeile Abstand zwischen Absätzen; in + der letzten Zeile eines Absatzes muss mindestens ein Viertel frei + bleiben +\item[\PValue{half+}] eine halbe Zeile Abstand zwischen Absätzen; in + der letzten Zeile eines Absatzes muss mindestens ein Drittel frei + bleiben +\item[\PValue{half-}] eine halbe Zeile Abstand zwischen Absätzen; die + letzte Zeile eines Absatzes darf beliebig gefüllt sein +\item[\PValue{off}] wie \PValue{false} +\item[\PValue{on}] wie \PValue{full} +\item[\PValue{true}] wie \PValue{full} +\end{labeling} +Voreingestellt ist \PValue{false}. +% +\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. Theoretisch +wären auch Optionen, die sich auf die Schriftart auswirken, Optionen +für die Schriftwahl. Derzeit gibt es in \Class{scrlttr2} aber nur eine +Option, die sich auf die Schriftgröße auswirkt. + + +\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. Diese Fähigkeiten waren jedoch weitgehend +schon in der obsoleten \Class{scrlettr} Klasse zu finden. + +\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: +\begin{labeling}[~--]{\PValue{centered}} +\item[\PValue{center}] Absender wird zentriert; ein Logo wird + gegebenenfalls am Anfang der erweiterten Absenderangabe platziert; + die Erweiterungen der Briefkopfgestaltung werden aktiviert. +\item[\PValue{centered}] wie \PValue{center} +\item[\PValue{false}] die Standardgestalt für den Absender wird + verwendet; die Erweiterungen der Briefkopfgestaltung werden + deaktiviert. +\item[\PValue{left}] Absender steht linksbündig; ein Logo wird + gegebenenfalls rechtsbündig platziert; die Erweiterungen der + Briefkopfgestaltung werden aktiviert. +\item[\PValue{middle}] wie \PValue{center} +\item[\PValue{no}] wie \PValue{false} +\item[\PValue{off}] wie \PValue{false} +\item[\PValue{right}] Absender steht rechtsbündig; ein Logo wird + gegebenenfalls linksbündig platziert; die Erweiterungen der + Briefkopfgestaltung werden aktiviert. +\end{labeling} +Voreingestellt ist der Wert \PValue{left}. +% +\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 folgende Werte: +\begin{labeling}[~--]{\PValue{afteraddress}} +\item[\PValue{afteraddress}] Linie unterhalb des kompletten Absenders +\item[\PValue{aftername}] Linie direkt unter dem Namen des Absenders +\item[\PValue{below}] wie \PValue{afteraddress} +\item[\PValue{false}] keine Linie +\item[\PValue{no}] wie \PValue{false} +\item[\PValue{off}] wie \PValue{false} +\item[\PValue{on}] wie \PValue{afteraddress} +\item[\PValue{true}] wie \PValue{afteraddress} +\item[\PValue{yes}] wie \PValue{afteraddress} +\end{labeling} +Voreingestellt ist der Wert \PValue{false}. Es können nicht +gleichzeitig mehrere Linien aktiviert werden. +% +\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} 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} 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} 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} +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} +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} +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} 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}). +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: +\begin{labeling}[~--]{\PValue{beforeopening}} +\item[\PValue{afteropening}] Betreff nach der Anrede setzen +\item[\PValue{beforeopening}] Betreff vor der Anrede setzen +\item[\PValue{titled}] Betreff mit Titel versehen +\item[\PValue{untitled}] Betreff nicht mit Titel versehen +\end{labeling} +Voreingestellt sind \PValue{beforeopening} und \PValue{untitled}. +% +\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: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}. Mögliche Werte für die Option +sind: +\begin{labeling}[~--]{\PValue{narrow}} +\item[\PValue{narrow}] schmales Feld für Absenderergänzungen +\item[\PValue{wide}] breites Feld für Absenderergänzungen +\end{labeling} +Voreingestellt ist \PValue{narrow}. +% +\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: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} 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} 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 des 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: +\begin{labeling}[~--]{\PValue{narrow}} +\item[\PValue{narrow}] Geschäftszeile hält den Satzspiegel ein +\item[\PValue{wide}] Geschäftszeile richtet sich nach Anschrift und + Absenderergänzung +\end{labeling} +Voreingestellt ist \PValue{narrow}. +% +\EndIndex{Option}{refline}% + +% +\EndIndex{}{Briefkopf}\EndIndex{}{Anschrift} + + +\subsection{Optionen für die Formatierung} +\label{sec:scrlttr2.formatingOptions} + +Optionen für die Formatierung sind solche, welche die Form oder +Formatierung einer Ausgabe beeinflussen und nicht in einen anderen +Abschnitt eingeordnet werden können. Es sind also sozusagen die +\emph{sonstigen Optionen}. + + +\begin{Declaration} + \Option{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} +angegeben sind. Voreingestellt ist wie üblich \PValue{false}. 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. +% +\EndIndex{Option}{draft}% + + +\subsection{Die \emph{Letter-Class-Option}-Dateien} +\label{sec: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} 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}). 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 mir in Verbindung setzen. Aktuelle Adressen zu diesem Zweck + finden Sie in der jeweils neuesten Ausgabe der + \KOMAScript\textsf{-News} oder in + \autoref{sec:introduction.authors}. 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{small} +\begin{verbatim} + \documentclass{scrlttr2} +\end{verbatim} + \end{small} + 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{small} +\begin{verbatim} + \begin{letter}{Markus Kohm\\ + Fichtenstraße 63\\68535 Edingen-Neckarhausen} + \LoadLetterOption{DINmtext} + \opening{Hallo,} +\end{verbatim} + \end{small} + Da der Aufbau der ersten Seite erst mit \Macro{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{small} +\begin{verbatim} + \ProvidesFile{mkohm.lco}[2002/02/25 letter class option] + \setkomavar{fromname}{Markus Kohm} + \setkomavar{fromaddress}{Fichtenstra\ss e 63\\ + 68535 Edingen-Neckarhausen} +\end{verbatim} + \end{small} + Die dabei verwendete Anweisung \Macro{setkomavar} und das Prinzip der + Variablen wird in Abschnitt~\ref{sec:scrlttr2.variables} 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{small} +\begin{verbatim} + \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{verbatim} + \end{small} + 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{small} +\begin{verbatim} + \LoadLetterOption{KOMAold} +\end{verbatim} + \end{small} + + Wie dem auch sei, stellen Sie zukünftig meine Absenderdaten mit + \begin{small} +\begin{verbatim} + \documentclass[mkohm]{scrlttr2} +\end{verbatim} + \end{small} + ein. +\end{Example} + +In \autoref{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}). 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}) dann auf einen kleineren Wert +gesetzt wird. Verringern Sie dann außerdem \PLength{toaddrwidth} +entsprechend. +% +\EndIndex{Cmd}{LoadLetterOption}% + +\begin{table} + \centering + \begin{tabular}{lp{.7\textwidth}} + \File{lco}-Name & Bedeutung und Besonderheiten \\\hline\\[-2ex] + \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)\\ + \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)\\ + \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\\ + \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)\\ + \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)\\ + \end{tabular} + \caption{Vordefinierte \File{lco}-Dateien} + \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} 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{small} +\begin{verbatim} + \ProvidesFile{paper=a5.lco}[2002/05/02 letter class option] + \LetterOptionNeedsPapersize{paper=a5}{a5} + \@setplength{tfoldmarkvpos}{\paperheight} + \@setplength{bfoldmarkvpos}{\paperheight} +\end{verbatim} + \end{small} + Außerdem muss natürlich die Position des Seitenfußes + \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% + \begin{tabular}{lp{.6\linewidth}} + Element & Beschreibung \\\hline\\[-2ex] + \PValue{backaddress}\IndexFontElement[indexmain]{backaddress} + & \raggedright Rücksendeadresse für einen Fensterbriefumschlag + \tabularnewline[.75ex] + \PValue{descriptionlabel}\IndexFontElement[indexmain]{descriptionlabel} + & \raggedright Labels, also das optionale Argument von + \Macro{item}, in einer \Environment{description}-Umgebung + \tabularnewline[.75ex] + \PValue{fromaddress}\IndexFontElement[indexmain]{fromaddress} + & \raggedright Absenderadresse im Briefkopf + \tabularnewline[.75ex] + \PValue{fromname}\IndexFontElement[indexmain]{fromname} + & \raggedright Name des Absenders im Briefkopf abweichend von + \PValue{fromaddress} + \tabularnewline[.75ex] + \PValue{pagefoot}\IndexFontElement[indexmain]{pagefoot} + & \raggedright Eigentlich der Fuß einer Seite, jedoch auch der + Kopf der Seite + \tabularnewline[.75ex] + \PValue{pagehead}\IndexFontElement[indexmain]{pagehead} + & \raggedright Eigentlich der Kopf einer Seite, jedoch auch der + Fuß der Seite + \tabularnewline[.75ex] + \PValue{pagenumber}\IndexFontElement[indexmain]{pagenumber} + & \raggedright Seitenangabe im Kopf oder Fuß, die mit + \Macro{pagemark} gesetzt wird + \tabularnewline[.75ex] + \PValue{subject}\IndexFontElement[indexmain]{subject} + & \raggedright Betreff in der Brieferöffnung + \tabularnewline[.75ex] + \PValue{title}\IndexFontElement[indexmain]{title} + & \raggedright Titel in der Brieferöffnung + \tabularnewline[.75ex] + \end{tabular} + \caption{Elemente, deren Schrift bei der Klasse + \Class{scrlttr2} mit \Macro{setkomafont} und \Macro{addtokomafont} + verändert werden kann} + \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}\\ + \Macro{pagestyle}\PParameter{plain}\\ + \Macro{pagestyle}\PParameter{headings}\\ + \Macro{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}{myheadigs}% +\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} 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}). +\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} und + \autoref{sec;scrlttr2.titleSubject}). Wo genau diese Marken + und die Seitenangabe ausgegeben werden, hängt von der Option + \Option{pagenumber} ab (siehe \autoref{sec:scrlttr2.layout}). + Der Autor kann die Marken aber auch noch nach \Macro{opening} + manuell beeinflussen. +\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}. +\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}). 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}{myheadigs}% +\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} zu finden. Beachten Sie +dazu auch das Beispiel aus \autoref{sec:maincls.pageStyle}. +% +\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 \autoref{sec:maincls.pageStyle}\Index{Seitenstil}, wobei +die Arbeitsweise von \Macro{cleardoublepage} bei \Class{scrlttr2} von +der Option \Option{cleardoublepage} abhängt, die in +\autoref{sec:scrlttr2.layout} 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{table} + \centering + \begin{tabular}{lp{.6\linewidth}} + Variable & Bedeutung \\\hline\\[-2ex] + \Variable{backaddress} + & Rücksendeadresse für Fensterbriefumschläge\\ + \Variable{backaddressseparator} + & Trennzeichen innerhalb der Rücksendeadresse\\ + \Variable{ccseparator} + & Trennzeichen zwischen Verteilertitel und Verteiler\\ + \Variable{customer} + & Geschäftszeilenfeld "`Kundennummer"'\\ + \Variable{date} + & Datum\\ + \Variable{emailseparator} + & Trennzeichen zwischen E-Mail-Bezeichner und E-Mail-Adresse\\ + \Variable{enclseparator} + & Trennzeichen zwischen Anlagetitel und Anlagen\\ + \Variable{faxseparator} + & Trennzeichen zwischen Faxbezeichner und Faxnummer\\ + \Variable{fromaddress} + & Absenderadresse ohne Absendername\\ + \Variable{frombank} + & Bankverbindung des Absenders\\ + \Variable{fromemail} + & E-Mail-Adresse des Absenders\\ + \Variable{fromfax} + & Faxnummer des Absenders\\ + \Variable{fromlogo} + & Anweisungen zum Setzen des Absenderlogos\\ + \Variable{fromname} + & vollständiger Absendername\\ + \Variable{fromphone} + & Telefonnummer des Absenders\\ + \Variable{fromurl} + & eine URL des Absenders\\ + \Variable{invoice} + & Geschäftszeilenfeld "`Rechnungsnummer"'\\ + \Variable{location} + & erweiterte Absenderangabe\\ + \Variable{myref} + & Geschäftszeilenfeld "`Mein Zeichen"'\\ + \Variable{place} + & Ort\\ + \Variable{placeseparator} + & Trennzeichen zwischen Ort und Datum\\ + \Variable{phoneseparator} + & Trennzeichen zwischen Telefonbezeichner und Telefonnummer\\ + \Variable{signature} + & Signatur unter Unterschrift und Grußformel\\ + \Variable{specialmail} + & Versandart\\ + \Variable{subject} + & Betreff\\ + \Variable{subjectseparator} + & Trennzeichen zwischen Betreff"|titel und Betreff\\ + \Variable{title} + & Brief"|titel\\ + \Variable{toname} + & vollständiger Empfängername\\ + \Variable{toaddress} + & Empfängeradresse ohne Empfängername\\ + \Variable{yourmail} + & Geschäftszeilenfeld "`Ihr Schreiben"'\\ + \Variable{yourref} + & Geschäftszeilenfeld "`Ihr Zeichen"'\\ + \end{tabular} + \caption{Von der Klasse \Class{scrlttr2} unterstützte Variablen} + \label{tab:scrlttr2.variables} +\end{table} + + +\begin{Declaration} + \Macro{newkomavar}\OParameter{Bezeichnung}\Parameter{Name}\\ + \Macro{newkomavar*}\OParameter{Bezeichnung}\Parameter{Name}\\ + \Macro{addtoreffields}\Parameter{Name} +\end{Declaration} +\BeginIndex{Cmd}{newkomavar}\BeginIndex{Cmd}{newkomavar*}% +\BeginIndex{Cmd}{addtoreffields}% +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{small} +\begin{verbatim} + \newkomavar[Durchwahl]{myphone} + \addtoreffields{myphone} +\end{verbatim} + \end{small} + oder kürzer mit + \begin{small} +\begin{verbatim} + \newkomavar*[Durchwahl]{myphone} +\end{verbatim} + \end{small} + definieren. +\end{Example} +Im Fall, dass eine Variable für die Geschäftszeile definiert wird, +sollten Sie immer eine Bezeichnung dafür angeben. +% +\EndIndex{Cmd}{newkomavar}\EndIndex{Cmd}{newkomavar*}% +\EndIndex{Cmd}{addtoreffields}% + + +\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{small} +\begin{verbatim} + \setkomavar{myphone}{-\,11} +\end{verbatim} + \end{small} + Sie wollen außerdem, dass statt "`Durchwahl"' der Begriff + "`Apparat"' ausgegeben wird. Also setzen Sie zusätzlich die + Bezeichnung mit: + \begin{small} +\begin{verbatim} + \setkomavar*{myphone}{Apparat} +\end{verbatim} + \end{small} + oder fassen beide Angaben zu einer Anweisung zusammen: + \begin{small} +\begin{verbatim} + \setkomavar{myphone}[Apparat]{-\,11} +\end{verbatim} + \end{small} + 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{small} +\begin{verbatim} + \setkomavar*{myphone}{} +\end{verbatim} + \end{small} + löschen. Sie können aber auch wieder zwei Fliegen mit einer Klappe + schlagen und verwenden: + \begin{small} +\begin{verbatim} + \setkomavar{myphone}[]{-\,11} +\end{verbatim} + \end{small} + 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} + +\iffalse +Eine Liste aller in \Class{scrlttr2} definierten Pseudolängen findet sich in +\autoref{tab:scrlttr2.pseudoLength}. Nähere Beschreibungen zu den einzelnen +Pseudolängen finden sich in den einzelnen Abschnitten dieses Kapitels. Eine +grafische Darstellung der Bedeutungen ist \autoref{fig:scrlttr2.pseudoLength} +zu entnehmen. + +\begin{figure} + \centering + \includegraphics{lengths} + \caption{Schematische Darstellung der Pseudolängen für den Briefbogen} + \label{fig:scrlttr2.pseudoLength} +\end{figure} + +\begin{longtable}{l>{\raggedright}p{.58\linewidth}} + \captionabove{Von der Klasse \Class{scrlttr2} verwendete Pseudolängen}% + \label{tab:scrlttr2.pseudoLength}\tabularnewline + Pseudolänge & Bedeutung \tabularnewline\hline\tabularnewline[-1.5ex] + \endfirsthead + Pseudolänge & Bedeutung \tabularnewline\hline\tabularnewline[-1.5ex] + \endhead + \PLength{foldmarkhpos} + & Abstand der Faltmarken von der linken Papierkante + \tabularnewline[.5\baselineskip] + \PLength{tfoldmarkvpos} + & Abstand der oberen Faltmarke von der oberen Papierkante + \tabularnewline[.5\baselineskip] + \PLength{bfoldmarkvpos} + & Abstand der unteren Faltmarke von der oberen Papierkante + \tabularnewline[.5\baselineskip] + \PLength{firstheadvpos} + & Abstand des Briefkopfes von der oberen Papierkante + \tabularnewline[.5\baselineskip] + \PLength{firstheadwidth} + & Breite des Briefkopfes (es erfolgt eine Zentrierung relativ zur + Papierbreite) + \tabularnewline[.5\baselineskip] + \PLength{fromrulewidth} + & Länge einer optionalen horizontalen Linie im Briefkopf (siehe Option + \Option{fromrule} in \autoref{sec:scrlttr2.layout}) + \tabularnewline[.5\baselineskip] + \PLength{toaddrvpos} + & Abstand des Anschriftfeldes von der oberen Papierkante + \tabularnewline[.5\baselineskip] + \PLength{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) + \tabularnewline[.5\baselineskip] + \PLength{toaddrindent} + & linker Einzug der Anschrift innerhalb des Anschriftfeldes + \tabularnewline[.5\baselineskip] + \PLength{toaddrwidth} + & Breite des Anschriftfeldes + \tabularnewline[.5\baselineskip] + \PLength{toaddrheight} + & Höhe des Anschriftfeldes + \tabularnewline[.5\baselineskip] + \PLength{backaddrheight} + & Höhe der Rücksendeadresse am oberen Rand des Anschriftfeldes + \tabularnewline[.5\baselineskip] + \PLength{specialmailindent} + & linker Einzug der Versandart innerhalb des Anschriftfeldes + \tabularnewline[.5\baselineskip] + \PLength{specialmailrightindent} + & rechter Einzug der Versandart innerhalb des Anschriftfeldes + \tabularnewline[.5\baselineskip] + \PLength{locwidth} + & Breite des Feldes für die Absenderergänzung (bei einem Wert von 0 wird + die Breite automatisch aufgrund der in \autoref{sec:scrlttr2.headoptions} + beschriebenen Option \Option{locfield} berechnet) + \tabularnewline[.5\baselineskip] + \PLength{refvpos} + & Abstand der Geschäftszeile von der oberen Papierkante + \tabularnewline[.5\baselineskip] + \PLength{refwidth} + & Breite der Geschäftszeile + \tabularnewline[.5\baselineskip] + \PLength{refhpos} + & Abstand der Geschäftszeile von der linken Papierkante (bei einem Wert + von 0 wird automatisch relativ zur Papierbreite zentriert) + \tabularnewline[.5\baselineskip] + \PLength{refaftervskip} + & vertikaler Abstand nach der Geschäftszeile + \tabularnewline[.5\baselineskip] + \PLength{sigbeforevskip} + & vertikaler Abstand zwischen Gruß und Signatur + \tabularnewline[.5\baselineskip] + \PLength{sigindent} + & Einzug der Signatur gegenüber dem Textkörper + \tabularnewline[.5\baselineskip] + \PLength{firstfootvpos} + & Abstand des Brief"|fußes von der oberen Papierkante + \tabularnewline[.5\baselineskip] + \PLength{firstfootwidth} + & Breite des Brief"|fußes (es erfolgt eine Zentrierung relativ zur + Papierbreite) + \tabularnewline +\end{longtable} +\fi + +\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. Es wird sichergestellt, dass jeder \PName{Name} nur +einmal vergeben wird. + +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{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{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}% +\begin{Explain}% + 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}% + +\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}% +% +\EndIndex{}{Pseudolängen}% + +\iffalse% noch nicht fertig aer mal hier hingestellt, damit es nicht + % verloren geht. + % Wird mit 99.99999%iger Sicherheit durch MP-Grafiken von + % Stephan Hennig ersetzt werden. +In \autoref{fig:PLengths} findet sich übrigens eine grafische Auflistung aller +in \Class{scrlttr2} definierter Pseudolängen. Die dort getroffenen Annahmen +über die Werte und den Satzspiegel sind von den gewählten Einstellungen +abhängig und deshalb als weitgehend willkürlich zu betrachten. + +\begin{figure}[p] + \centering + \setlength{\unitlength}{0.004\textwidth}% + \makeatletter + \def\MasspfeilD(#1,#2)#3{% + \begingroup + \@tempdima=-#2pt + \advance\@tempdima by #3pt + \put(#1,\strip@pt\@tempdima){\vector(0,-1){#3}} + \endgroup + }% + \def\MasspfeilUD(#1,#2)#3{% + \put(#1,-#2){\vector(0,1){#3}} + \MasspfeilD(#1,#2){#3} + } + \def\MasspfeilDb(#1,#2)#3{% + \put(#1,-#2){\thinlines\line(1,0){4}} + \begingroup + \@tempdimb=#1pt + \advance\@tempdimb by 2pt + \MasspfeilD(\strip@pt\@tempdimb,#2){#3} + \endgroup + }% + \def\MasspfeilUDb(#1,#2)#3{% + \begingroup + \@tempdima=-#2pt + \advance\@tempdima by #3pt + \put(#1,\strip@pt\@tempdima){\line(1,0){4}} + \endgroup + \put(#1,-#2){\thinlines\line(1,0){4}} + \begingroup + \@tempdimb=#1pt + \advance\@tempdimb by 2pt + \MasspfeilUD(\strip@pt\@tempdimb,#2){#3} + \endgroup + }% + \def\MasspfeilR(#1,#2)#3{% + \begingroup + \@tempdima=#1pt + \advance\@tempdima by -#3pt + \put(\strip@pt\@tempdima,-#2){\vector(1,0){#3}} + \endgroup + } + \def\MasspfeilL(#1,#2)#3{% + \begingroup + \@tempdima=#1pt + \advance\@tempdima by #3pt + \put(\strip@pt\@tempdima,-#2){\vector(-1,0){#3}} + \endgroup + } + \def\MasspfeilLR(#1,#2)#3{% + \put(#1,-#2){\vector(1,0){#3}} + \MasspfeilL(#1,#2){#3} + } + \def\MasspfeilLRb(#1,#2)#3{% + \begingroup + \@tempdima=-#2pt + \advance\@tempdima by -2pt + \put(#1,\strip@pt\@tempdima){\thinlines\line(0,1){4}} + \@tempdimb=#1pt + \advance\@tempdimb by #3pt + \put(\strip@pt\@tempdimb,\strip@pt\@tempdima){\thinlines\line(0,1){4}} + \endgroup + \MasspfeilLR(#1,#2){#3} + } + \def\MasspfeilL(#1,#2)#3{% + \begingroup + \@tempdima=#1pt + \advance\@tempdima by #3pt + \put(\strip@pt\@tempdima,-#2){\vector(-1,0){#3}} + \endgroup + } + \makeatother + \begin{picture}(210,297)(0,-297) + \thicklines\sffamily\tiny + \put(0,-297){\framebox(210,297)[l]{}} + \thinlines + % Foldmarks + \MasspfeilDb(7,105){8}% + \put(8,-96){\rotatebox[origin=lB]{90}{tfoldmarkvpos}} + \MasspfeilLRb(0,105){3.5} + \put(1,-102){\rotatebox[origin=lB]{90}{foldmarkhpos}} + \put(3.5,-105){\line(1,0){2}} + \put(3.5,-148.5){\line(1,0){4}} + \put(3.5,-210){\line(1,0){2}} + \MasspfeilDb(7,210){8}% + \put(8,-201){\rotatebox[origin=lB]{90}{bfoldmarkvpos}} + % Kopf + \put(20,-35){\dashbox{1}(170,27)[l]{}} + \MasspfeilDb(15,8){8}% + \put(18,-2){\makebox(0,0)[l]{firstheadvpos}} + % Adressfeld + \put(20,-85){\dashbox{1}(85,40)[l]{}} + \put(20,-50){\dashbox{1}(85,5)[l]{}} % Rücksendeadresse + \put(41,-55){\dashbox{1}(59,4)[l]{}} % Versandart + \put(25,-85){\dashbox{1}(80,30)[l]{}} % Adresse + % Geschäftszeile + \put(31.5,-98.5){\dashbox{1}(147,7)[l]{}} + % Satzspiegel + \put(31.5,-237.6){\dashbox{1}(147,135.1)[l]{}} + \put(51.5,-108.5){\dashbox{1}(107,6)[l]{}}% Titel + \put(31.5,-116.5){\dashbox{1}(147,4)[l]{}}% Betreff + \put(31.5,-128.5){\dashbox{1}(47,4)[l]{}}% Anrede + \put(31.5,-196){\dashbox{1}(147,63,5)[l]{}}% Text + \put(38,-216){\dashbox{1}(50,16)[l]{}}% Gruß und Signatur + \put(38,-204){\dashbox{1}(50,4)[l]{}}% Gruß + \put(42,-216){\dashbox{1}(42,4)[l]{}}% Signatur + % Fuß + \put(20,-278){\dashbox{1}(170,12)[l]{}} + \end{picture} + \caption{Verwendung der Pseudolängen zur Definition des Briefbogens} + \label{fig:PLengths} +\end{figure} +\fi + +\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. + +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}). 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\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}\\ + }}\\ + \parbox{.667\linewidth}{\raggedright\vspace{-.5ex}\vdots\vspace{1ex}}\\ + \fbox{\parbox{.667\linewidth}{\raggedright% + \Macro{end}\PParameter{document}\\ + }}\\ + \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} + \vspace{2\abovecaptionskip} + \fbox{\parbox{.667\linewidth}{\raggedright% + \Macro{begin}\PParameter{letter}% + \OParameter{Optionen}\Parameter{Empfänger}\\ + \dots\\ + {\centering\emph{Einstellungen für diesen Brief}\\} + \dots\\ + \Macro{opening}\Parameter{Anrede}\\ + }}\\ + \fbox{\parbox{.667\linewidth}{\raggedright% + \dots\\ + {\centering\emph{Brief"|text}\\} + \dots\\ + }}\\ + \fbox{\parbox{.667\linewidth}{\raggedright% + \Macro{closing}\Parameter{Grußformel}\\ + \Macro{ps}\\ + \dots\\ + {\centering\emph{Postscriptum}\\} + \dots\\ + \Macro{encl}\Parameter{Anlagen}\\ + \Macro{cc}\Parameter{Verteiler}\\ + \Macro{end}\PParameter{letter}\\ + }}\\ + \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} endet. Ebenso beginnt der Schlussteil immer mit +\Macro{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. +%\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} 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}) ü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} zu entnehmen. +% +\begin{table} + \centering + \begin{tabular}{ll} + Name & Bezeichnung \\\hline\\[-2ex] + \Variable{fromemail} & + \Macro{usekomavar*}\PParameter{emailseparator}% + \texttt{\%} \\ & \texttt{\quad}% + \Macro{usekomavar}\PParameter{emailseparator} + \\ + \Variable{fromfax} & + \Macro{usekomavar*}\PParameter{faxseparator}% + \texttt{\%} \\ & \texttt{\quad}% + \Macro{usekomavar}\PParameter{faxseparator} \\ + \Variable{fromname} & + \Macro{headfromname} \\ + \Variable{fromphone} & + \Macro{usekomavar*}\PParameter{phoneseparator}% + \texttt{\%} \\ & \texttt{\quad}% + \Macro{usekomavar}\PParameter{phoneseparator} + \\ + \Variable{fromurl} & + \Macro{usekomavar*}\PParameter{urlseparator}% + \texttt{\%} \\ & \texttt{\quad}% + \Macro{usekomavar}\PParameter{urlseparator} + \\ + \end{tabular} + \caption{Vordefinierte Bezeichnungen der Absenderangaben im + Briefkopf} + \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. + +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} + \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 + \begin{tabular}{lll} + Name & Bezeichnung & Inhalt \\\hline\\[-2ex] + \Variable{emailseparator} & \Macro{emailname} & \texttt{:\~} \\ + \Variable{faxseparator} & \Macro{faxname} & \texttt{:\~} \\ + \Variable{phoneseparator} & \Macro{phonename} & \texttt{:\~} \\ + \Variable{urlseparator} & \Macro{wwwname} & \texttt{:\~} \\ + \end{tabular} + \caption{Vordefinierte Bezeichnungen und Inhalte der Trennzeichen + für die Absenderangaben im Briefkopf} + \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 den meisten Fällen werden die Möglichkeiten, die \Class{scrlttr2} +über Optionen und obige Variablen für die Gestaltung des Briefkopfes +bietet, vollkommen ausreichen. In einigen wenigen 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{Brief"|fuß} +\label{sec:scrlttr2.firstFoot}% +\BeginIndex{}{Brieffuss=Brief\/fuß}% + +So wie die erste Seite eines Briefes einen eigenen Briefkopf enthält, +so enthält diese Seite auch einen eigenen Fuß\Index{Fuss=Fuß}. Auch dieser +wird nicht über den Seitenstil, sondern direkt von \Macro{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. Der Wert wird in den vordefinierten +\File{lco}-Dateien unterschiedlich gesetzt. 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}. +% +\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 wird in den vordefinierten \File{lco}-Dateien in +Abhängigkeit der Pseudolänge \PLength{firstheadwidth} gesetzt. +% +\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{small} +\begin{verbatim} + \firstfoot{% + \parbox[b]{\linewidth}{% + \centering\def\\{, }\usekomavar{frombank}% + }% + } +\end{verbatim} + \end{small} + 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{small} +\begin{verbatim} + \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{verbatim} + \end{small} + Das Beispiel stammt übrigens ursprünglich von Torsten Krüger. Mit + \begin{small} +\begin{verbatim} + \setkomavar{frombank}{Konto 12\,345\,678\\ + bei der HansWurstBank\\ + BLZ 876\,543\,21} +\end{verbatim} + \end{small} + kann die Bankverbindung passend dazu gesetzt 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} +% +\EndIndex{Cmd}{firstfoot}% +% +\EndIndex{}{Brieffuss=Brief\protect\/fuß}% + + +\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}). +% +\EndIndex{PLength}{toaddrhpos}% +\EndIndex{PLength}{toaddrvpos}% + + +\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{small} +\begin{verbatim} + \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{verbatim} + \end{small} + 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 aus den +Variablen \Variable{fromname} und \Variable{fromaddress} automatisch +gebildet. Innerhalb der Rücksendeadresse werden 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} und +\Option{backaddress} (siehe \autoref{sec:scrlttr2.headoptions}). +% +\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}. +% +\EndIndex{Variable}{toname}% +\EndIndex{Variable}{toaddress}% + + +\begin{Declaration} + \Macro{begin}% + \PParameter{letter}\OParameter{Optionen}\Parameter{Anschrift} +\end{Declaration} +\BeginIndex{Env}{letter}% +Die Briefumgebung 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. +\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}, 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{small} +\begin{verbatim} + \newcounter{Frage} + \newcommand{\Frage}[1]{% + \refstepcounter{Frage}\par + \@hangfrom{\makebox[2em][r]{\theFrage:~}}{#1}} + \AtBeginLetter{\setcounter{Frage}{0}} +\end{verbatim} + \end{small} + 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}) oder in ein eigenes Paket + oder eine \File{lco}-Datei (siehe \autoref{sec: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} 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}) 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}). +% +\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{small} +\begin{verbatim} + \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{verbatim} + \end{small} + 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 auch 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. + + +\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} +\end{Declaration} +\BeginIndex{PLength}{refwidth}% +Diese Pseudolänge 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} ermittelt wird. Die dort ermittelte Breite richtet +sich dann nach der Einstellung der Option \Option{refline} (siehe +\autoref{sec:scrlttr2.headoptions}). +% +\EndIndex{PLength}{refwidth}% + + +\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{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}). +% +\EndIndex{Variable}{place}% +\EndIndex{Variable}{placeseparator}% + + +\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}% +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. +% +\begin{table} + \centering + \begin{tabular}{lll} + Name & Bezeichnung & bei deutscher Sprache \\ + \hline\\[-2ex] + \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 \\\hline + \end{tabular} + \caption{Vordefinierte Bezeichnungen der typischen Variablen der + Geschäftszeile unter Verwendung sprachabhängiger Anweisungen} + \label{tab:scrlttr2.reflineTerm} +\end{table} +% +\EndIndex{Variable}{yourref}% +\EndIndex{Variable}{yourmail}% +\EndIndex{Variable}{myref}% +\EndIndex{Variable}{customer}% +\EndIndex{Variable}{invoice}% +\EndIndex{Variable}{date}% +% +\EndIndex{}{Geschäftszeile}% + + +\subsection{Titel und Betreff} +\label{sec;scrlttr2.titleSubject} +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. + + +\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 und 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{small} +\begin{verbatim} + \setkomavar{title}{Mahnung} +\end{verbatim} + \end{small} + 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}). 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 + \begin{tabular}{lll} + Name & Bezeichnung \\\hline\\[-2ex] + \Variable{subject} & + \Macro{usekomavar*}\PParameter{subjectseparator}% + \texttt{\%} \\ & \texttt{\quad}% + \Macro{usekomavar}\PParameter{subjectseparator} + \\ + \Variable{subjectseparator} & + \Macro{subjectname} \\ + \end{tabular} + \caption{Vordefinierte Bezeichnungen der Variablen für den Betreff} + \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 Vereinsvorstandes 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{small} +\begin{verbatim} + \setkomavar{subject}[Betrifft ]{% + vereinsinterne Angelegenheiten} +\end{verbatim} + \end{small} + Sie können es sich aber auch einfach machen: + \begin{small} +\begin{verbatim} + \setkomavar{subject}[]{% + Betrifft vereinsinterne Angelegenheiten} +\end{verbatim} + \end{small} + Außerdem wollen Sie, dass der Betreff nicht nur fett sondern + auch in einer serifenlosen Schriftart erscheint: + \begin{small} +\begin{verbatim} + \addtokomafont{subject}{\sffamily} +\end{verbatim} + \end{small} + Wie Sie sehen, ist das alles ganz einfach zu lösen. +\end{Example} +% +\EndIndex{Variable}{subject}% +\EndIndex{Variable}{subjectseparator}% + + +\subsection{Andere Angaben} +Sie finden hier Variablen und Einstellungen, die keinem anderen +Bereich der Briefeinleitung zugeordnet werden konnte, 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}). +% +\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 Briefkopf freier gestalten können. In diesen +Fällen muss man auf die Möglichkeiten der vordefinierten Köpfe und +Füße, die per Option ausgewählt werden können, verzichten. 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 \PName{Aufbau} auch Zugriffe auf +Variablen mit Hilfe von \Macro{usekomavar} nehmen. +% +\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. Daher hat er auch +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 erstellen Briefen wurde früher häufig auf eine Anrede +verzichtet. Das lag daran, dass die Möglichkeiten für Serienbriefe in +den Anfängen der maschinell erzeugten Briefe noch sehr gering +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 geehrter Herr Huber,"', 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 eher 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ß}. 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ß} 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ß}, 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} 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 Einzug gesetzt, der durch die Pseudolänge +\PLength{sigindent} bestimmt ist. 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}). + +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{small} +\begin{verbatim} + \setkomavar{signature}{Karl-Heinz zu Bammern Krähenfeld\\ + {\small (2. Vorsitzender "`Rotkehlchen e.\,V."')}} + \closing{Mit freundlichen Grüßen\\ + (für den Vorstand)} +\end{verbatim} + \end{small} + 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{Declaration} + \Macro{ps} +\end{Declaration}% +\BeginIndex{Cmd}{ps}% +\begin{Explain}% + 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 doppelte Backslash voneinander zu trennen. +\begin{Example} + Sie wollen angeben, dass Ihr Brief an alle Vereinsmitglieder und den + Vorstand geht: + \begin{small} +\begin{verbatim} + \cc{% + der Vorstand\\ + alle Vereinsmitglieder} +\end{verbatim} + \end{small} + 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 und Kroatisch. + +\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. +\iffalse +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}. + + 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 genau dieselben Probleme, weil + in diesem Fall Teile des Paketes \Package{french} verwendet werden. +\iffalse + Ist das + Paket \Package{french} nicht installiert, ergibt sich das Problem mit + \Package{babel} nicht. Ebenfalls existiert das Problem 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 + Ich empfehle daher die Verwendung von + \Macro{usepackage}\OParameter{\PValue{frenchb}}\PParameter{babel}, um auf + französische Sprache umzuschalten. + +\iffalse + 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} +\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} 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} + +\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} +\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}% +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 + \begin{tabular}{ll} + \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.\\ + \end{tabular} + \caption{Sprachabhängige Ausgabeformate für das Datum} + \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}% + +\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} + \centering + \begin{tabular}{lll} + Anweisung & \Option{english} & \Option{ngerman} \\\hline\\[-2ex] + \Macro{bankname} & Bank account & Bankverbindung \\ + \Macro{ccname} & cc & Kopien an \\ + \Macro{customername} & Customer no. & Kundennummer \\ + \Macro{datename} & Date & Datum \\ + \Macro{emailname} & Email & E-Mail \\ + \Macro{enclname} & encl & Anlagen \\ + \Macro{faxname} & Fax & Fax \\ + \Macro{headfromname} & From & Von \\ + \Macro{headtoname} & To & An \\ + \Macro{invoicename} & Invoice no. & Rechnungsnummer \\ + \Macro{myrefname} & Our ref. & Unser Zeichen \\ + \Macro{pagename} & 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 \\ + \end{tabular} + \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} +\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 +die \PName{Sprache} nicht definiert, dann wird sie 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{small} +\begin{verbatim} + \renewcaptionname{ngerman}{\yourmailname}{% + Ihre Nachricht vom} +\end{verbatim} + \end{small} + 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{Telefon}\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{small} +\begin{verbatim} + \adrentry{Maier} + {Herbert} + {\Wiesenweg 37\\ 09091 Blumental} + {0\,23\,34 / 91\,12\,74} + {Bauunternehmer} + {} + {kauft alles} + {MAIER} +\end{verbatim} +\end{small} +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{small} +\begin{verbatim} + \input{partner.adr} + \begin{letter}{\MAIER} + Der Brief ... + \end{letter} +\end{verbatim}\end{small} + 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 sowohl \Macro{adrentry}- als auch +\Macro{addrentry}-Anweisungen stehen. Ich weise jedoch darauf hin, +dass Zusatzpakete wie das \Package{adrconv}-Paket von Axel Kielhorn +bisher 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{small} +\begin{verbatim} + \documentclass{scrlttr2} + \usepackage{ngerman} + \usepackage[latin1]{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{verbatim} + \end{small} + 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{small} +\begin{verbatim} + \renewcommand*{\addrentry}[9]{ + \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} + } +\end{verbatim} + \end{small} + Bei diesem Beispiel wird kein Gebrauch von dem zusätzlichen freien + Feld gemacht. +\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{small} +\begin{verbatim} + \renewcommand*{\adrentry}[8]{ + \ifdim #6sp>0sp\relax + % #6 ist ein Betrag (Gleitkommazahl) größer 0. + % Es werden also die säumigen Mitglieder + % herausgefiltert. + \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{verbatim} + \end{small} +\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 verbatim-Umgebung je nach Umbruchbedarf einzelne +% Elemente löschen oder hinzufügen. MICHAEL und GABRIEL sollten jedoch +% erhalten bleiben. + \begin{small} +\begin{verbatim} + \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{verbatim} + \end{small} + 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,57) + \put(0,57){\line(1,0){80}} + \put(0,3){\line(0,1){54}} + \put(80,3){\line(0,1){54}} + \thicklines + \put(10,42){\line(1,0){60}} + \put(70,45){\makebox(0,0)[r]{\textsf{\textbf{E}}}} + \put(10,23){\makebox(0,20)[l]{\parbox{5cm}{\raggedright + \textsc{Engel}, Gabriel\\\quad\small Wolke 3\\ + \quad 12345 Himmelreich\\ + \quad (Erzengel)}}} + \put(70,23){\makebox(0,20)[r]{\parbox{2cm}{\raggedright~\\ + \small~\\\textsc{gabriel}\\000\,01\,02\,03}}} + \put(10,4){\makebox(0,20)[l]{\parbox{5cm}{\raggedright + \textsc{Engel}, Michael\\\quad\small Wolke 3a\\ + \quad 12345 Himmelreich\\ + \quad (Erzengel)}}} + \put(70,4){\makebox(0,20)[r]{\parbox{2cm}{\raggedright~\\ + \small~\\\textsc{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 mal 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{small} +\begin{verbatim} + \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{verbatim} +\end{small} + +Der nächste Schritt kann dann darin bestehen, dass man eben nicht mehr +das Layout der alten Klasse nachbilden, aber trotzdem nicht auf die +alten Anweisungen verzichten will. Will man beispielsweise das Layout +von \Option{DIN}, so gibt man einfach diese Option zusätzlich und +\emph{nach} der Option \Option{KOMAold} an: +\begin{small} +\begin{verbatim} + \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{verbatim} +\end{small} +Durch weitere Optionen kann das Aussehen auch weiter beeinflusst +werden. Ich empfehle stattdessen aber 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{small} +\begin{verbatim} + \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{verbatim} +\end{small} +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. + + +\section{Autoren} +\label{sec:scrlttr2.authors} +Die folgenden Autoren waren an diesem Kapitel beteiligt oder haben die +Vorlage dafür geliefert. +% In folgender Aufzaehlung den Namen des Autors, der fuer das Kapitel +% verantwortlich ist bitte mit \textbf{} hervorheben. +\begin{itemize} +\item \textbf{Markus Kohm} \TextEMail{Markus.Kohm@gmx.de} +\end{itemize} + +% +\EndIndex{Class}{scrlttr2}\EndIndex{}{Briefe} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "scrguide2" +%%% End: |