summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx2822
1 files changed, 2038 insertions, 784 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx b/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
index 208e4563a8..1ff0726448 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{3388}
% \iffalse meta-comment
% ======================================================================
% scrkernel-notepaper.dtx
-% Copyright (c) Markus Kohm, 2006-2018
+% Copyright (c) Markus Kohm, 2006-2019
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-notepaper.dtx
-% Copyright (c) Markus Kohm, 2006-2018
+% Copyright (c) Markus Kohm, 2006-2019
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-notepaper.dtx 3044 2018-11-16 19:00:32Z kohm $
+%%% From File: $Id: scrkernel-notepaper.dtx 3262 2019-10-10 08:25:29Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -63,7 +62,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2018-11-16 20:00:32 +0100 (Fri, 16 Nov 2018) $
+ \filedate$Date: 2019-10-10 10:25:29 +0200 (Thu, 10 Oct 2019) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1767 $
\edef\reserved@a{%
@@ -77,7 +76,6 @@
% \iffalse
\documentclass{scrdoc}
\usepackage[english,ngerman]{babel}
-\usepackage[latin1]{inputenc}
\CodelineIndex
\RecordChanges
\GetFileInfo{scrkernel-notepaper.dtx}
@@ -103,8 +101,8 @@
%
% Bei Briefen kommt dem Briefbogen, also dem ersten Blatt des Briefes eine
% besondere Bedeutung zu. Dieser ist bei \texttt{scrlttr2} durch diverse
-% Optionen, Variablen, Pseudo-Längen und Anweisungen bestimmt. Die weiteren
-% Briefseiten werden hier verinfacht als das Briefpapier bezeichnet. Natürlich
+% Optionen, Variablen, Pseudo-Längen und Anweisungen bestimmt. Die weiteren
+% Briefseiten werden hier verinfacht als das Briefpapier bezeichnet. Natürlich
% ist genau genommen auch der Briefbogen Briefpapier, aber eben ein besonderes.
%
% \StopEventually{\PrintIndex\PrintChanges}
@@ -117,25 +115,25 @@
%<*letter>
% \fi
%
-% \subsection{Option für den Briefbogen}
+% \subsection{Option für den Briefbogen}
%
% Gerade der Briefbogen ist durch eine ganze Anzahl von Optionen
% konfigurierbar. Daher wird hier weiter thematisch untergliedert.
%
%
-% \subsubsection{Optionen für den Briefkopf}
+% \subsubsection{Optionen für den Briefkopf}
%
% Die Gestaltung des Briefkopfes war bei der alten \texttt{scrlettr}
-% Klasse eng begrenzt. Deshalb hatte ich für mich selbst das
+% Klasse eng begrenzt. Deshalb hatte ich für mich selbst das
% \texttt{briefkopf} Paket geschrieben und ohne Support
-% veröffentlicht. Die Funktionalität ist nun direkt verfügbar. Dazu
-% werden verschiedene Optionen benötigt.
+% veröffentlicht. Die Funktionalität ist nun direkt verfügbar. Dazu
+% werden verschiedene Optionen benötigt.
%
% \begin{option}{firsthead}
-% \changes{v2.97e}{2007/11/22}{Neu}^^A
+% \changes{v2.97e}{2007/11/22}{Neu}%^^A
% Der Briefkopf kann auch einfach abgeschaltet werden.
% \begin{macro}{\if@firsthead}
-% \changes{v2.8q}{2002/01/25}{Neuer Schalter (intern)}^^A
+% \changes{v2.8q}{2002/01/25}{Neuer Schalter (intern)}%^^A
% Gespeichert wird die Information in einem einfachen Schalter.
% Voreingestellt ist die Verwendung des Briefkopfes.
% \begin{macrocode}
@@ -146,26 +144,26 @@
% \end{option}
%
% \begin{option}{fromalign}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
-% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
-% \cs{FamilyKeyState}}^^A
-% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}^^A
-% Diese Option legt fest, ob der Absender linksbündig, mittig oder
-% rechtsbündig gesetzt werden soll.
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
+% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
+% \cs{FamilyKeyState}}%^^A
+% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A
+% Diese Option legt fest, ob der Absender linksbündig, mittig oder
+% rechtsbündig gesetzt werden soll.
% \begin{macro}{\@alignfrom}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
-% \changes{v2.97e}{2007/11/13}{neue Werte für Verwendung der
-% Absenderergänzung}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
+% \changes{v2.97e}{2007/11/13}{neue Werte für Verwendung der
+% Absenderergänzung}%^^A
% Die Einstellung wird in einem nummerisch auszuwertenden Makro
% gespeichert. Dabei gelten folgende Werte:
% \begin{center}
% \begin{tabular}{rl}
% Wert & Ausrichtung \\\hline
-% 0 & linksbündig \\
+% 0 & linksbündig \\
% 1 & zentriert \\
-% 2 & rechtsbündig \\
-% 3 & linksbündig in der Absenderergänzung ohne Kopf \\
-% 4 & rechtbündig in der Absenderergänzung ohne Kopf \\
+% 2 & rechtsbündig \\
+% 3 & linksbündig in der Absenderergänzung ohne Kopf \\
+% 4 & rechtbündig in der Absenderergänzung ohne Kopf \\
% 10000 & nicht antasten \\
% \end{tabular}
% \end{center}
@@ -198,12 +196,12 @@
% \end{option}
%
% \begin{option}{fromrule}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
-% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}^^A
-% Es kann gewählt werden, ob im Absender nach dem Namen oder nach dem
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
+% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A
+% Es kann gewählt werden, ob im Absender nach dem Namen oder nach dem
% gesamten Absender eine Linie gesetzt werden soll.
% \begin{macro}{\@rulefrom}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Die Einstellung wird in einem nummerisch auszuwertenden Makro
% gespeichert. Dabei gelten folgende Werte:
% \begin{center}
@@ -229,15 +227,15 @@
% \end{option}
%
% \begin{option}{fromphone}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Ob die Telefonnummer im Absender gesetzt werden soll oder nicht,
% kann hier angegeben werden.
% \begin{macro}{\if@phone}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% \begin{macro}{\@phonetrue}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% \begin{macro}{\@phonefalse}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Gespeichert wird die Information in einem einfachen Schalter.
% Voreingestellt ist keine Telefonnummer im Absender.
% \begin{macrocode}
@@ -249,15 +247,15 @@
% \end{option}
%
% \begin{option}{frommobilephone}
-% \changes{v3.12}{2013/05/29}{Neu}^^A
+% \changes{v3.12}{2013/05/29}{Neu}%^^A
% Ob die Handynummer im Absender gesetzt werden soll oder nicht,
% kann hier angegeben werden.
% \begin{macro}{\if@mobilephone}
-% \changes{v3.12}{2013/05/29}{Neu}^^A
+% \changes{v3.12}{2013/05/29}{Neu}%^^A
% \begin{macro}{\@mobilephonetrue}
-% \changes{v3.12}{2013/05/29}{Neu}^^A
+% \changes{v3.12}{2013/05/29}{Neu}%^^A
% \begin{macro}{\@mobilephonefalse}
-% \changes{v3.12}{2013/05/29}{Neu}^^A
+% \changes{v3.12}{2013/05/29}{Neu}%^^A
% Gespeichert wird die Information in einem einfachen Schalter.
% Voreingestellt ist keine Handynummer im Absender.
% \begin{macrocode}
@@ -269,15 +267,15 @@
% \end{option}
%
% \begin{option}{fromfax}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Ob die Faxnummer im Absender gesetzt werden soll oder nicht,
% kann hier angegeben werden.
% \begin{macro}{\if@fax}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% \begin{macro}{\@faxtrue}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% \begin{macro}{\@faxfalse}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Gespeichert wird die Information in einem einfachen Schalter.
% Voreingestellt ist keine Faxnummer im Absender.
% \begin{macrocode}
@@ -289,15 +287,15 @@
% \end{option}
%
% \begin{option}{fromemail}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Ob die E-Mail-Adresse im Absender gesetzt werden soll oder nicht,
% kann hier angegeben werden.
% \begin{macro}{\if@email}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% \begin{macro}{\@emailtrue}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% \begin{macro}{\@emailfalse}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Gespeichert wird die Information in einem einfachen Schalter.
% Voreingestellt ist keine E-Mail-Adresse im Absender.
% \begin{macrocode}
@@ -309,15 +307,15 @@
% \end{option}
%
% \begin{option}{fromurl}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Ob die URL auf eine Homepage im Absender gesetzt werden soll oder
% nicht, kann hier angegeben werden.
% \begin{macro}{\if@www}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% \begin{macro}{\@wwwtrue}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% \begin{macro}{\@wwwfalse}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Gespeichert wird die Information in einem einfachen Schalter.
% Voreingestellt ist keine URL im Absender.
% \begin{macrocode}
@@ -329,15 +327,15 @@
% \end{option}
%
% \begin{option}{fromlogo}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Ob ein Logo in den Briefkopf gesetzt werden soll oder
% nicht, kann hier angegeben werden.
% \begin{macro}{\if@logo}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% \begin{macro}{\@logotrue}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% \begin{macro}{\@logofalse}
-% \changes{v2.8q}{2002/01/25}{Neu}^^A
+% \changes{v2.8q}{2002/01/25}{Neu}%^^A
% Gespeichert wird die Information in einem einfachen Schalter.
% Voreingestellt ist kein Logo im Briefkopf.
% \begin{macrocode}
@@ -349,23 +347,23 @@
% \end{option}
%
%
-% \subsubsection{Optionen für Anschrift und Absenderergänzung}
+% \subsubsection{Optionen für Anschrift und Absenderergänzung}
%
% \begin{option}{addrfield}
-% \changes{v2.8q}{2001/10/09}{Neu}^^A
-% \changes{v3.03}{2009/03/04}{neue Werte}^^A
-% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}^^A
-% Das Adressfeld für Fensterumschläge kann mit \texttt{addrfield} ein- und
-% ausgeschaltet werden. Darüber hinaus kann die Art des Adressfeldes gewählt
+% \changes{v2.8q}{2001/10/09}{Neu}%^^A
+% \changes{v3.03}{2009/03/04}{neue Werte}%^^A
+% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A
+% Das Adressfeld für Fensterumschläge kann mit \texttt{addrfield} ein- und
+% ausgeschaltet werden. Darüber hinaus kann die Art des Adressfeldes gewählt
% werden.
% \begin{macro}{\if@afield}
-% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}}
+% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}}
% \begin{macro}{\@afieldtrue}
-% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}}
+% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}}
% \begin{macro}{\@afieldfalse}
-% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}}
+% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}}
% \begin{macro}{\@afieldmode}
-% \changes{v3.03}{2009/03/04}{neu (intern)}^^A
+% \changes{v3.03}{2009/03/04}{neu (intern)}%^^A
% Die Speicherung erfolgt wiederum in einem Makro.
% \begin{macrocode}
%<*class>
@@ -427,13 +425,13 @@
% \end{option}
%
% \begin{option}{priority}
-% \changes{v3.03}{2009/03/04}{neu}^^A
-% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}^^A
-% Im internationalen Briefverkehr sind zwei Prioritätseinstellungen
-% bekannt. Dafür gibt es dann so etwas wie eine Versandart nicht mehr.
+% \changes{v3.03}{2009/03/04}{neu}%^^A
+% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A
+% Im internationalen Briefverkehr sind zwei Prioritätseinstellungen
+% bekannt. Dafür gibt es dann so etwas wie eine Versandart nicht mehr.
% \begin{macro}{\ltr@priority}
-% \changes{v3.03}{2009/03/04}{neu (intern)}^^A
-% Abgelegt wird die Art der Priorität in einem Macro.
+% \changes{v3.03}{2009/03/04}{neu (intern)}%^^A
+% Abgelegt wird die Art der Priorität in einem Macro.
% \begin{macrocode}
\KOMA@ncmdkey{priority}[A]{ltr@priority}{%
{no}{0},{off}{0},{false}{0},{manual}{1},%
@@ -453,20 +451,20 @@
% \end{option}
%
% \begin{option}{backaddress}
-% \changes{v2.8q}{2002/01/22}{Neu}^^A
-% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
-% \cs{FamilyKeyState}}^^A
-% \changes{v3.17}{3015/03/16}{interne Speicherung der Werte}^^A
-% Im Adressfeld kann die Rücksendeadresse gesetzt werden. Dies geschieht nun
-% nicht mehr allein durch Definition einer Rücksendeadresse, sondern auch
+% \changes{v2.8q}{2002/01/22}{Neu}%^^A
+% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
+% \cs{FamilyKeyState}}%^^A
+% \changes{v3.17}{3015/03/16}{interne Speicherung der Werte}%^^A
+% Im Adressfeld kann die Rücksendeadresse gesetzt werden. Dies geschieht nun
+% nicht mehr allein durch Definition einer Rücksendeadresse, sondern auch
% durch eine Option.
% \begin{macro}{\if@baddr}
% \begin{macro}{\@baddrtrue}
% \begin{macro}{\@baddrfalse}
% \begin{macro}{\backaddr@format}
-% \changes{v2.96}{2006/07/31}{neu (intern)}^^A
+% \changes{v2.96}{2006/07/31}{neu (intern)}%^^A
% Dieses Makro hat genau ein Argument und bestimmt die Form der
-% Rücksendeadresse. Voreingestellt ist Unterstreichung. Dies entspricht der
+% Rücksendeadresse. Voreingestellt ist Unterstreichung. Dies entspricht der
% vor Version~2.96 festen Voreinstellung.
% \begin{macrocode}
\newcommand{\backaddr@format}[1]{}
@@ -540,13 +538,13 @@
% \end{option}
%
% \begin{option}{locfield}
-% \changes{v2.8q}{2001/10/09}{Neu}^^A
-% \changes{v2.97c}{2007/03/30}{vertauschte Bedeutung korrigiert}^^A
-% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
-% \cs{FamilyKeyState}}^^A
-% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}^^A
+% \changes{v2.8q}{2001/10/09}{Neu}%^^A
+% \changes{v2.97c}{2007/03/30}{vertauschte Bedeutung korrigiert}%^^A
+% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
+% \cs{FamilyKeyState}}%^^A
+% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A
% Mit Hilfe der Optione \texttt{locfield} kann der Platz neben dem Adressfeld
-% groß oder klein gewählt werden.
+% groß oder klein gewählt werden.
% \begin{macro}{\if@bigloc}
% \begin{macro}{\@bigloctrue}
% \begin{macro}{\@biglocfalse}
@@ -588,9 +586,9 @@
}{locfield}{narrow}
% \end{macrocode}
% \begin{option}{wlocfield}
-% \changes{v3.01a}{2008/11/20}{deprecated}^^A
+% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
% \begin{option}{slocfield}
-% \changes{v3.01a}{2008/11/20}{deprecated}^^A
+% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
% \begin{macrocode}
\KOMA@DeclareDeprecatedOption{wlocfield}{locfield=wide}
\KOMA@DeclareDeprecatedOption{slocfield}{locfield=narrow}
@@ -600,16 +598,16 @@
% \end{option}
%
%
-% \subsubsection{Optionen für Faltmarken}
+% \subsubsection{Optionen für Faltmarken}
%
% \begin{option}{foldmarks}
-% \changes{v2.8q}{2001/09/10}{Neu}^^A
-% \changes{v3.00}{2008/06/06}{es muss \cs{FamilyUnkownKeyVal} statt
-% \cs{KOMA@unkown@keyval} lokal umdefiniert werden}^^A
-% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
-% \cs{FamilyKeyState}}^^A
-% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}^^A
-% Die Faltmarken können mit \texttt{foldmarks} aktiviert und deaktiviert
+% \changes{v2.8q}{2001/09/10}{Neu}%^^A
+% \changes{v3.00}{2008/06/06}{es muss \cs{FamilyUnkownKeyVal} statt
+% \cs{KOMA@unkown@keyval} lokal umdefiniert werden}%^^A
+% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
+% \cs{FamilyKeyState}}%^^A
+% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A
+% Die Faltmarken können mit \texttt{foldmarks} aktiviert und deaktiviert
% werden.
% \begin{macro}{\if@fold}
% \begin{macro}{\@foldtrue}
@@ -621,7 +619,7 @@
% \end{macrocode}
% \begin{macro}{\@usefolds}
% Welche Faltmarken gesetzt werden sollen, wird in einem Makro gespeichert.
-% \changes{v2.97e}{2007/11/08}{Neu (intern)}^^A
+% \changes{v2.97e}{2007/11/08}{Neu (intern)}%^^A
% \begin{macrocode}
\newcommand*{\@usefolds}{TMBPL}
\KOMA@key{foldmarks}[true]{%
@@ -696,7 +694,7 @@
}{foldmarks}{true}%
% \end{macrocode}
% \begin{macro}{\scr@removechar}
-% \changes{v2.97e}{2007/11/08}{Neu (intern)}^^A
+% \changes{v2.97e}{2007/11/08}{Neu (intern)}%^^A
% \begin{macrocode}
\newcommand*{\scr@removechar}[2]{%
\def\in@@##1#2##2##3\in@@{%
@@ -715,32 +713,42 @@
% \end{option}
%
%
-% \subsubsection{Optionen für die Geschäftszeile}
+% \subsubsection{Optionen für die Geschäftszeile}
%
% \begin{option}{refline}
-% \changes{v2.8n}{2001/09/08}{Neue Option}^^A
-% \changes{v2.96a}{2006/12/07}{vertauschte Bedeutung korrigiert}^^A
-% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
-% \cs{FamilyKeyState}}^^A
-% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}^^A
-% Kopf und Fuß der ersten Seite sind normalweise so breit, dass sie
-% zur Adresse des Empfängers passen. Für die Geschäftszeile gibt es
+% \changes{v2.8n}{2001/09/08}{Neue Option}%^^A
+% \changes{v2.96a}{2006/12/07}{vertauschte Bedeutung korrigiert}%^^A
+% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
+% \cs{FamilyKeyState}}%^^A
+% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A
+% Kopf und Fuß der ersten Seite sind normalweise so breit, dass sie
+% zur Adresse des Empfängers passen. Für die Geschäftszeile gibt es
% zwei Alternativen, eine breite und eine, deren Breite der Textbreite
% entspricht. Voreingestellt ist die Textbreite.
% \begin{macro}{\if@refwide}
-% \changes{v2.8n}{2001/09/08}{Neuer Schalter}^^A
-% \changes{v3.09}{2011/03/07}{Neue Werte: \texttt{dateleft},
+% \changes{v2.8n}{2001/09/08}{Neuer Schalter}%^^A
+% \changes{v3.09}{2011/03/07}{Neue Werte: \texttt{dateleft},
% \texttt{dateright}, \texttt{nodate}}
% \begin{macro}{\@refwidetrue}
% \begin{macro}{\@refwidefalse}
% Gespeichert wird die Information in einem Schalter.
% \begin{macro}{\@datepos}
-% \changes{v3.09}{2011/03/07}{Neu (intern)}^^A
-% Das Datum kann links oder rechts oder gar nicht gesetzt werden.
-% Wo die Speicherung erfolgt wird in einem nummerischen Makro
-% abglegt. Voreingestellt ist rechts.
+% \changes{v3.09}{2011/03/07}{Neu (intern)}%^^A
+% Das Datum kann links oder rechts oder gar nicht gesetzt werden.
+% Wo die Speicherung erfolgt wird in einem nummerischen Makro
+% abglegt. Voreingestellt ist rechts.
+% \begin{macro}{\if@refline}
+% \selectlanguage{english}%
+% \changes{v3.27}{2019/05/03}{new (internal) boolean}%^^A
+% \changes{v3.27}{2019/05/03}{new option \texttt{refline!=false}}%^^A
+% This boolean is used to switch of the whole reference
+% line. \texttt{refline=false} is a tri-state switch to
+% \texttt{refline=narrow} and \texttt{refline=wide}. But this is available
+% only for the package.%
+% \selectlanguage{ngerman}%
% \begin{macrocode}
\newif\if@refwide
+%<package>\newif\if@refline\@reflinetrue
\newcommand*{\@datepos}{1}
\KOMA@key{refline}[wide]{%
\begingroup
@@ -748,12 +756,17 @@
{dateleft}{2},{leftdate}{2},%
{dateright}{3},{rightdate}{3},%
{nodate}{4}%
+%<package> ,{no}{5},{off}{5},{false}{5}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\aftergroup\FamilyKeyStateProcessed
- \ifcase\@tempa
+ \ifcase\@tempa% wide
\endgroup
\@refwidetrue
+%<*package>
+ \@reflinetrue
+ \KOMA@kav@remove{.scrletter.\scr@pkgextension}{refline}{false}%
+%</package>
\KOMA@kav@remove{.%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
@@ -766,9 +779,13 @@
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{wide}%
- \or
+ \or% narrow
\endgroup
\@refwidefalse
+%<*package>
+ \@reflinetrue
+ \KOMA@kav@remove{.scrletter.\scr@pkgextension}{refline}{false}%
+%</package>
\KOMA@kav@remove{.%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
@@ -781,7 +798,7 @@
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{narrow}%
- \or
+ \or% dateleft
\endgroup
\def\@datepos{2}%
\KOMA@kav@remove{.%
@@ -800,7 +817,7 @@
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateleft}%
- \or
+ \or% dateright
\endgroup
\def\@datepos{1}%
\KOMA@kav@remove{.%
@@ -819,7 +836,7 @@
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateright}%
- \or
+ \or% nodate
\endgroup
\def\@datepos{0}%
\KOMA@kav@remove{.%
@@ -838,6 +855,14 @@
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{nodate}%
+%<*package>
+ \or% false
+ \endgroup
+ \@reflinefalse
+ \KOMA@kav@remove{.scrletter.\scr@pkgextension}{refline}{wide}%
+ \KOMA@kav@remove{.scrletter.\scr@pkgextension}{reline}{narrow}%
+ \KOMA@kav@add{.scrletter.\scr@pkgextension}{refline}{false}%
+%</package>
\fi
\else
\endgroup
@@ -857,32 +882,33 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
% \end{option}
%
%
-% \subsubsection{Optionen für den Betreff}
+% \subsubsection{Optionen für den Betreff}
%
% \begin{option}{subject}
-% \changes{v2.8q}{2001/10/09}{Neu}^^A
-% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
-% \cs{FamilyKeyState}}^^A
-% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}^^A
+% \changes{v2.8q}{2001/10/09}{Neu}%^^A
+% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
+% \cs{FamilyKeyState}}%^^A
+% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A
% Ein Betreff-Titel kann mit \texttt{subject} ein- und abgeschaltet
-% werden. In England und Frankreich scheint es teilweise üblich zu
-% sein, den Betreff erst nach der Anrede und dafür zentriert zu
-% setzen\footnote{Ich kann mir nur mühsahm eine Bemerkung dazu
+% werden. In England und Frankreich scheint es teilweise üblich zu
+% sein, den Betreff erst nach der Anrede und dafür zentriert zu
+% setzen\footnote{Ich kann mir nur mühsahm eine Bemerkung dazu
% verkneifen.}.
% Deshalb kann alternativ zum Einschalten des Betreff-Titels hier auch
% dies aktiviert werden.
% \begin{macro}{\subject@format}
-% \changes{v2.97c}{2007/07/06}{neu (intern)}^^A
-% Das Format des Betreffs kann geändert werden.
+% \changes{v2.97c}{2007/07/06}{neu (intern)}%^^A
+% Das Format des Betreffs kann geändert werden.
% \begin{macrocode}
\newcommand{\subject@format}[1]{#1}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\raggedsubject}
-% \changes{v2.97c}{2007/07/06}{neu (intern)}^^A
+% \changes{v2.97c}{2007/07/06}{neu (intern)}%^^A
% \begin{macrocode}
\newcommand*{\raggedsubject}{}
% \end{macrocode}
@@ -987,20 +1013,20 @@
% \end{option}
%
%
-% \subsubsection{Optionen für den Satzspiegel}
+% \subsubsection{Optionen für den Satzspiegel}
%
% \begin{option}{enlargefirstpage}
-% \changes{v2.8o}{2001/09/18}{Neue Option}^^A
+% \changes{v2.8o}{2001/09/18}{Neue Option}%^^A
% Normalerweise wird der Text des Briefboges entsprechend dem
-% normalen Satzspiegel gesetzt. Ist allerdings der Fuß der ersten
+% normalen Satzspiegel gesetzt. Ist allerdings der Fuß der ersten
% Seite zu hoch, dann wird der Satzspiegel vertikal entsprechend
-% verkürzt. Mit der Option \texttt{firstpageenlarge} kann erzwungen
+% verkürzt. Mit der Option \texttt{firstpageenlarge} kann erzwungen
% werden, dass im umgekehrten Fall, der Satzspiegel vertikal
-% verlängert wird.
+% verlängert wird.
% \begin{macro}{\if@enlargefp}
% \begin{macro}{\@enlargefptrue}
% \begin{macro}{\@enlargefpfalse}
-% Gespeichert wird die Information über die Optionen in einem
+% Gespeichert wird die Information über die Optionen in einem
% Schalter.
% \begin{macrocode}
\KOMA@ifkey{enlargefirstpage}{@enlargefp}
@@ -1011,15 +1037,15 @@
% \end{option}
%
%
-% \subsubsection{Optionen für den Briefbogenfuß}
+% \subsubsection{Optionen für den Briefbogenfuß}
%
% \begin{option}{firstfoot}
-% \changes{v2.97e}{2007/11/22}{Neu}^^A
-% Der Fuß des Briefbogens kann auch einfach abgeschaltet werden.
+% \changes{v2.97e}{2007/11/22}{Neu}%^^A
+% Der Fuß des Briefbogens kann auch einfach abgeschaltet werden.
% \begin{macro}{\if@firstfoot}
-% \changes{v2.8q}{2002/01/25}{Neuer Schalter (intern)}^^A
+% \changes{v2.8q}{2002/01/25}{Neuer Schalter (intern)}%^^A
% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist die Verwendung des Fußes.
+% Voreingestellt ist die Verwendung des Fußes.
% \begin{macrocode}
\KOMA@ifkey{firstfoot}{@firstfoot}\@firstfoottrue
% \end{macrocode}
@@ -1027,32 +1053,32 @@
% \end{option}
%
%
-% \subsection{Optionen für den Kopf des weiteren Briefpapiers}
+% \subsection{Optionen für den Kopf des weiteren Briefpapiers}
%
% Diese Optionen haben zwar nichts mit dem eigentlichen Briefbogen zu tun. Das
-% Briefpapier schließt sich aber an, weshalb die Optionen hier zu finden sind.
+% Briefpapier schließt sich aber an, weshalb die Optionen hier zu finden sind.
%
% \begin{option}{pagenumber}
-% \changes{v2.8q}{2002/01/31}{Neu}^^A
-% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
+% \changes{v2.8q}{2002/01/31}{Neu}%^^A
+% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
% \cs{FamilyKeyState}}
-% Bei Briefen kann gewählt werden, ob auf Folgeseiten die Seitenzahl
-% im Kopf oder im Fuß stehen soll. Dabei kann zwischen Seitenzahl
-% rechts, links oder zentriert gewählt werden. Voreingestellt ist der
-% Fuß und mittig.
+% Bei Briefen kann gewählt werden, ob auf Folgeseiten die Seitenzahl
+% im Kopf oder im Fuß stehen soll. Dabei kann zwischen Seitenzahl
+% rechts, links oder zentriert gewählt werden. Voreingestellt ist der
+% Fuß und mittig.
% \begin{macro}{\@pageat}
-% \changes{v2.8q}{2002/01/31}{Neu}^^A
+% \changes{v2.8q}{2002/01/31}{Neu}%^^A
% In dieser nummerisch auswertbaren Variablen wird gespeichert, wo die
% Seitenzahl stehen soll. Dabei gilt:
% \begin{center}\begin{tabular}{rl}
-% Wert & Bedeutung für die Seitenzahl\\\hline
+% Wert & Bedeutung für die Seitenzahl\\\hline
% -1 & keine \\
% 0 & im Kopf links \\
% 1 & im Kopf mittig \\
% 2 & im Kopf rechts \\
-% 3 & im Fuß links \\
-% 4 & im Fuß mittig \\
-% 5 & im Fuß rechts \\
+% 3 & im Fuß links \\
+% 4 & im Fuß mittig \\
+% 5 & im Fuß rechts \\
% \end{tabular}\end{center}
% \begin{macrocode}
\newcommand*{\@pageat}{4}
@@ -1138,35 +1164,40 @@
%<*letter>
% \fi
%
-% \subsection{Anweisungen für den Briefbogen}
+% \subsection{Anweisungen für den Briefbogen}
%
-% Auch bei den Anweisungen zunächst alles, was mit dem Briefbogen zu tun hat.
+% Auch bei den Anweisungen zunächst alles, was mit dem Briefbogen zu tun hat.
%
% \subsubsection{Der Kopf des Briefbogens}
%
% \begin{macro}{\firsthead}
-% \changes{v2.8q}{2002/01/28}{\cs{@alignfrom} auf 10000 gesetzt}
-% \changes{v3.08}{2010/10/28}{der Kopf des Briefbogens wird über eine
-% Variable realisiert}^^A
+% \changes{v2.8q}{2002/01/28}{\cs{@alignfrom} auf 10000 gesetzt}
+% \changes{v3.08}{2010/10/28}{der Kopf des Briefbogens wird über eine
+% Variable realisiert}%^^A
% \begin{macro}{\@firsthead}
-% \changes{v3.08}{2010/10/28}{der Kopf des Briefbogens wird über eine
-% Variable realisiert}^^A
+% \changes{v3.08}{2010/10/28}{der Kopf des Briefbogens wird über eine
+% Variable realisiert}%^^A
% \begin{macro}{\@gen@firsthead}
-% \changes{v2.8q}{2002/01/28}{Neu}^^A
-% \changes{v2.97c}{2007/05/08}{Dicke der Linie konfigurierbar}^^A
-% \changes{v2.97c}{2007/05/08}{Schrift (Farbe) der Linie konfigurierbar}^^A
-% \changes{v3.06a}{2010/07/29}{Verwendung des Font-Elements
-% \texttt{fromrule} eingefügt}
-% \changes{v3.08}{2010/10/28}{der Kopf des Briefbogens wird über eine
-% Variable realisiert}^^A
+% \changes{v2.8q}{2002/01/28}{Neu}%^^A
+% \changes{v2.97c}{2007/05/08}{Dicke der Linie konfigurierbar}%^^A
+% \changes{v2.97c}{2007/05/08}{Schrift (Farbe) der Linie konfigurierbar}%^^A
+% \changes{v3.06a}{2010/07/29}{Verwendung des Font-Elements
+% \texttt{fromrule} eingefügt}
+% \changes{v3.08}{2010/10/28}{der Kopf des Briefbogens wird über eine
+% Variable realisiert}%^^A
% \begin{KOMAvar}{firsthead}
-% \changes{v3.08}{2010/10/28}{Neu}^^A
-% \changes{v3.13b}{2014/10/04}{neuer \emph{hook} nur für
-% \texttt{DINmtext.lco}}^^A
-% Bei \texttt{scrlttr2} gibt es die üblichen Seitenstile, allerdings
+% \changes{v3.08}{2010/10/28}{Neu}%^^A
+% \changes{v3.13b}{2014/10/04}{neuer \emph{hook} nur für
+% \texttt{DINmtext.lco}}%^^A
+% \changes{v3.27}{2019/04/02}{\emph{hook} entfernt}%^^A
+% Bei \texttt{scrlttr2} gibt es die üblichen Seitenstile, allerdings
% ist deren Verhalten etwas anders als gewohnt. Dies ist in den
-% Besonderheiten für Briefen begründet. Zunächst die Voreinstellung für
-% Briefbögen.
+% Besonderheiten für Briefen begründet. Zunächst die Voreinstellung für
+% Briefbögen.
+%
+% TODO: Diese ganze Prozedur gehört (für \textsf{scrletter}) komplett
+% überabeitet, so dass \cs{@gen@firsthead} überflüssig wird und das Setzen von
+% \texttt{fromalign} auch gleich \texttt{firsthead} umdefiniert.
% \begin{macrocode}
%<*class>
\newcommand*{\@firsthead}{%
@@ -1188,7 +1219,6 @@
{\usekomafont{fromrule}{\rule{\useplength{firstheadwidth}}{.4pt}}}\\
}%
\ifkomavarempty{fromaddress}{}{%
- \csname scr@default@firsthead@fromaddress@hook\endcsname
\ignorespaces\usekomavar{fromaddress}%
}%
}%
@@ -1197,10 +1227,10 @@
% \end{macrocode}
% \end{KOMAvar}
% \begin{macro}{\scr@firsthead@postsetvar}
-% \changes{v3.08}{2010/10/28}{Neu (intern)}^^A
-% \changes{v3.17}{2015/03/16}{internes Setzen von Option
-% \texttt{fromalign!=no}}^^A
-% Über dieses Makro wird jeweils nach dem Setzen der Variable die Ausrichtung
+% \changes{v3.08}{2010/10/28}{Neu (intern)}%^^A
+% \changes{v3.17}{2015/03/16}{internes Setzen von Option
+% \texttt{fromalign!=no}}%^^A
+% Ãœber dieses Makro wird jeweils nach dem Setzen der Variable die Ausrichtung
% auf manuell umgeschaltet. Das darf deshalb auch erst nach dem erstmaligen
% Setzen definiert werden!
% \begin{macrocode}
@@ -1215,33 +1245,33 @@
% \begin{macrocode}
\newcommand*{\@gen@firsthead}{%
% \end{macrocode}
-% Damit wird ggf. die Kopfzeile der ersten Seite umdefiniert, nämlich dann,
+% Damit wird ggf. die Kopfzeile der ersten Seite umdefiniert, nämlich dann,
% wenn dies per Option aktiviert wurde.
% \begin{macrocode}
\ifcase\@alignfrom
% \end{macrocode}
-% Wir befinden uns nun in dem Bereich für \verb|\@alignfrom|=0.
+% Wir befinden uns nun in dem Bereich für \verb|\@alignfrom|=0.
% Entsprechend unserer Festlegung wird daher als Erstes der
-% linksbündige Absender definiert. Wir verwenden dafür eine
-% \emph{parbox}, in der der Text linksbündig angeordnet wird. Diese
-% Box soll über die gesamte Breite gehen dürfen:
+% linksbündige Absender definiert. Wir verwenden dafür eine
+% \emph{parbox}, in der der Text linksbündig angeordnet wird. Diese
+% Box soll über die gesamte Breite gehen dürfen:
% \begin{macrocode}
\setkomavar{firsthead}{%
\parbox[b]{\textwidth}{\raggedright
% \end{macrocode}
-% Zuerst wird der Name gesetzt. Dabei soll eine eigene Schriftart für
+% Zuerst wird der Name gesetzt. Dabei soll eine eigene Schriftart für
% den Namen verwendet werden.
% \begin{macrocode}
{\usekomafont{fromname}\strut\ignorespaces
\usekomavar{fromname}%
% \end{macrocode}
% Hat \verb|\@rulefrom| den nummerischen Wert 1, so soll direkt auf den
-% Absender eine Linie folgen. Die Länge dieser Linie kann vom Anwender
-% bestimmt oder automatisch gewählt werden. Es werden dabei die
-% Pseudo-Längen \texttt{fromrulewidth} und \texttt{fromrulethickness}
+% Absender eine Linie folgen. Die Länge dieser Linie kann vom Anwender
+% bestimmt oder automatisch gewählt werden. Es werden dabei die
+% Pseudo-Längen \texttt{fromrulewidth} und \texttt{fromrulethickness}
% verwendet. Ist \texttt{fromrulewidth} negativ, so wird sie automatisch
-% bestimmt. Bei der automatischen Längenbestimmung wird dafür gesorgt, dass
-% die Linie nicht bis in das Logo ragt, das eventuell rechtsbündig neben dem
+% bestimmt. Bei der automatischen Längenbestimmung wird dafür gesorgt, dass
+% die Linie nicht bis in das Logo ragt, das eventuell rechtsbündig neben dem
% Absender steht:
% \begin{macrocode}
{%
@@ -1262,13 +1292,13 @@
\\
}%
% \end{macrocode}
-% Als Nächstes wird die Absenderadresse einschließlich aller
+% Als Nächstes wird die Absenderadresse einschließlich aller
% optionalen Felder gesetzt. Dabei werden optionale Felder nur
% gesetzt, wenn der entsprechende Schalter \emph{true} ist. Die
% Adresse wird ebenfalls innerhalb einer Gruppe in einer eigenen
% Schriftart gesetzt.%
-% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
-% berücksichtigt}%
+% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
+% berücksichtigt}%
% \begin{macrocode}
{\usekomafont{fromaddress}\strut\ignorespaces
\usekomavar{fromaddress}%
@@ -1280,9 +1310,9 @@
\if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi%
\if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi%
% \end{macrocode}
-% Wie weiter oben erwähnt, kann auch an dieser Stelle eine Linie
+% Wie weiter oben erwähnt, kann auch an dieser Stelle eine Linie
% gesetzt werden. Wir gehen davon aus, dass die Linie automatisch
-% nicht in das Logo ragt, da es in diesem Fall über der Linie zu
+% nicht in das Logo ragt, da es in diesem Fall über der Linie zu
% stehen hat. Die entsprechende Berechnung kann also entfallen.
% \begin{macrocode}
\ifnum\@rulefrom=2\\[-.5\baselineskip]%
@@ -1308,13 +1338,13 @@
}%
\renewcommand*{\@alignfrom}{0}%
% \end{macrocode}
-% Damit ist die Definition des linksbündigen Absenders abgeschlossen.
+% Damit ist die Definition des linksbündigen Absenders abgeschlossen.
% Es geht weiter mit dem zentrierten Absender. Dieser hat als
% Besonderheit, dass das Logo nicht in den Briefkopf, sondern in den
-% Bereich rechts neben dem Empfänger gesetzt wird. Dort ist bereits
+% Bereich rechts neben dem Empfänger gesetzt wird. Dort ist bereits
% das location-Feld, daher wird dieser Fall auch dort behandelt.%
-% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
-% berücksichtigt}%
+% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
+% berücksichtigt}%
% \begin{macrocode}
\or
\setkomavar{firsthead}{%
@@ -1359,10 +1389,10 @@
\renewcommand*{\@alignfrom}{1}%
% \end{macrocode}
% Damit ist die Definition des zentrierten Absenders abgeschlossen. Es
-% geht weiter mit dem rechtsbündigen Absender. Das ganze wird einfach
-% beim linksbündigen Absender abgeschaut.%
-% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
-% berücksichtigt}%
+% geht weiter mit dem rechtsbündigen Absender. Das ganze wird einfach
+% beim linksbündigen Absender abgeschaut.%
+% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
+% berücksichtigt}%
% \begin{macrocode}
\or
\setkomavar{firsthead}{%
@@ -1413,8 +1443,8 @@
}%
\renewcommand*{\@alignfrom}{2}%
% \end{macrocode}
-% Damit ist die Umdefinierung beendet. In allen anderen Fällen wird
-% der Kopf nicht verändert.
+% Damit ist die Umdefinierung beendet. In allen anderen Fällen wird
+% der Kopf nicht verändert.
% \begin{macrocode}
\fi
}
@@ -1422,7 +1452,7 @@
% \end{macro}
% \end{macro}
%
-% Der Benutzer kann die Voreinstellung mit einer einfachen Anweisung ändern:
+% Der Benutzer kann die Voreinstellung mit einer einfachen Anweisung ändern:
% \begin{macrocode}
%<*class>
\newcommand{\firsthead}{%
@@ -1437,10 +1467,10 @@
% \end{macrocode}
% \end{macro}
%
-% \subsubsection{Schrifteinstellungen für den Briefbogen}
+% \subsubsection{Schrifteinstellungen für den Briefbogen}
%
% \begin{KOMAfont}{foldmark}
-% \changes{v2.97c}{2007/05/08}{Neu}^^A
+% \changes{v2.97c}{2007/05/08}{Neu}%^^A
% Die Schrift (hier ist die Farbe der entscheidende Faktor) der Faltmarken.
% \begin{macrocode}
\newkomafont{foldmark}{}
@@ -1448,7 +1478,7 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{fromname}
-% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}
+% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}
% Der Absendername im Briefkopf.
% \begin{macrocode}
\newkomafont{fromname}{}
@@ -1456,7 +1486,7 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{fromaddress}
-% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}
+% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}
% Die Absenderadresse im Briefkopf.
% \begin{macrocode}
\newkomafont{fromaddress}{}
@@ -1464,7 +1494,7 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{fromrule}
-% \changes{v2.97c}{2007/05/08}{Neu}^^A
+% \changes{v2.97c}{2007/05/08}{Neu}%^^A
% Die Schrift (hier ist die Farbe der entscheidende Faktor) der Linie im
% Absender.
% \begin{macrocode}
@@ -1473,17 +1503,17 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{backaddress}
-% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}^^A
-% \changes{v3.21}{2016/05/19}{beachtet Option
-% \texttt{egregdoesnotlikesansseriftitles}}^^A
-% Die Rücksendeadresse.
+% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}%^^A
+% \changes{v3.21}{2016/05/19}{beachtet Option
+% \texttt{egregdoesnotlikesansseriftitles}}%^^A
+% Die Rücksendeadresse.
% \begin{macrocode}
\newkomafont{backaddress}{\@gr@gsffamily}
% \end{macrocode}
% \end{KOMAfont}
%
% \begin{KOMAfont}{specialmail}
-% \changes{v2.97c}{2007/07/06}{Neues Font-Element}^^A
+% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A
% Die Versandart.
% \begin{macrocode}
\newkomafont{specialmail}{}
@@ -1491,8 +1521,8 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{priority}
-% \changes{v3.03}{2009/03/04}{Neues Font-Element}^^A
-% Grundschrift für die Priorität des Briefs, falls diese A oder B ist. Es wird
+% \changes{v3.03}{2009/03/04}{Neues Font-Element}%^^A
+% Grundschrift für die Priorität des Briefs, falls diese A oder B ist. Es wird
% ohne Durchschuss gearbeitet. An dieser Stelle ist Serifenlos quasi
% vorgeschrieben, so dass wir hier Option
% \texttt{egregdoesnotlikesansseriftitles} ignorieren.
@@ -1502,10 +1532,10 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{prioritykey}
-% \changes{v3.03}{2009/03/04}{Neues Font-Element}^^A
-% Schrift für den Buchstaben der Priorität des Briefs, falls diese A oder B
+% \changes{v3.03}{2009/03/04}{Neues Font-Element}%^^A
+% Schrift für den Buchstaben der Priorität des Briefs, falls diese A oder B
% ist. Wird nach \texttt{priority} angewandt. Eigentlich sollten hier 9\,mm
-% verwendet werden. Dafür wird aber eine frei skalierbare Schrift benötig. Mit
+% verwendet werden. Dafür wird aber eine frei skalierbare Schrift benötig. Mit
% 24,88\,pt sind wir nur 0,25\,mm kleiner. Das sollte kein Problem
% darstellen. Es wird auch hier ohne Durchschuss gearbeitet.
% \begin{macrocode}
@@ -1514,8 +1544,8 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{PPlogo}
-% \changes{v3.03}{2009/03/04}{Neues Font-Element}^^A
-% Schrift für das Logo \texttt{P.P.}, das im Anschriftmodus \texttt{PP}
+% \changes{v3.03}{2009/03/04}{Neues Font-Element}%^^A
+% Schrift für das Logo \texttt{P.P.}, das im Anschriftmodus \texttt{PP}
% gesetzt wird. An dieser Stelle ist serifenlos quasi vorgeschrieben, so dass
% wir hier Option \texttt{egregdoesnotlikesansseriftitles} ignorieren.
% \begin{macrocode}
@@ -1524,8 +1554,8 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{PPdata}
-% \changes{v3.03}{2009/03/04}{Neues Font-Element}^^A
-% Schrift, die innerhalb des PP-Kopfes für die Daten verwendet wird.
+% \changes{v3.03}{2009/03/04}{Neues Font-Element}%^^A
+% Schrift, die innerhalb des PP-Kopfes für die Daten verwendet wird.
% gesetzt wird. And dieser Stelle ist serifenlos quasi vorgeschrieben, so dass
% wir hier Option \texttt{egregdoesnotlikesansseriftitles} ignorieren.
% \begin{macrocode}
@@ -1534,7 +1564,7 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{addressee}
-% \changes{v2.97c}{2007/07/06}{Neues Font-Element}^^A
+% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A
% Die komplette Anschrift.
% \begin{macrocode}
\newkomafont{addressee}{}
@@ -1542,35 +1572,35 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{toname}
-% \changes{v2.97c}{2007/07/06}{Neues Font-Element}^^A
-% Der Name des Empfängers in der Anschrift.
+% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A
+% Der Name des Empfängers in der Anschrift.
% \begin{macrocode}
\newkomafont{toname}{}
% \end{macrocode}
% \end{KOMAfont}
%
% \begin{KOMAfont}{toaddress}
-% \changes{v2.97c}{2007/07/06}{Neues Font-Element}^^A
-% Die Adresse des Empfängers in der Anschrift.
+% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A
+% Die Adresse des Empfängers in der Anschrift.
% \begin{macrocode}
\newkomafont{toaddress}{}
% \end{macrocode}
% \end{KOMAfont}
%
% \begin{KOMAfont}{refname}
-% \changes{v2.97c}{2007/05/14}{Neues Font-Element}^^A
-% \changes{v3.21}{2016/05/19}{beachtet Option
-% \texttt{egregdoesnotlikesansseriftitles}}^^A
-% Die Feldnamen in der Geschäftszeile.
+% \changes{v2.97c}{2007/05/14}{Neues Font-Element}%^^A
+% \changes{v3.21}{2016/05/19}{beachtet Option
+% \texttt{egregdoesnotlikesansseriftitles}}%^^A
+% Die Feldnamen in der Geschäftszeile.
% \begin{macrocode}
\newkomafont{refname}{\@gr@gsffamily\scriptsize}
% \end{macrocode}
% \end{KOMAfont}
%
% \begin{KOMAfont}{refvalue}
-% \changes{v2.97c}{2007/05/14}{Neues Font-Element}^^A
-% \changes{v2.97d}{2007/10/09}{Voreinstellung korrigiert}^^A
-% Die Feldwerte in der Geschäftszeile. Hier gibt es keinen Bedarf, Option
+% \changes{v2.97c}{2007/05/14}{Neues Font-Element}%^^A
+% \changes{v2.97d}{2007/10/09}{Voreinstellung korrigiert}%^^A
+% Die Feldwerte in der Geschäftszeile. Hier gibt es keinen Bedarf, Option
% \texttt{egregdoesnotlikesansseriftitles} zu beachten, da diese in
% Version~2.97 noch nicht existierte.
% \begin{macrocode}
@@ -1585,8 +1615,8 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{placeanddate}
-% \changes{v3.12}{2013/07/31}{Neues Font-Element}^^A
-% Wird an Stelle einer Geschäftszeile nur Ort und Datum gesetzt, so findet
+% \changes{v3.12}{2013/07/31}{Neues Font-Element}%^^A
+% Wird an Stelle einer Geschäftszeile nur Ort und Datum gesetzt, so findet
% dieses Element Anwendung.
% \begin{macrocode}
\newkomafont{placeanddate}{}
@@ -1594,17 +1624,17 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{lettertitle}
-% \changes{v3.17}{2015/02/21}{neu als Ersatz für \texttt{letter}}
-% \changes{v3.21}{2016/05/19}{beachtet Option
-% \texttt{egregdoesnotlikesansseriftitles}}^^A
+% \changes{v3.17}{2015/02/21}{neu als Ersatz für \texttt{letter}}
+% \changes{v3.21}{2016/05/19}{beachtet Option
+% \texttt{egregdoesnotlikesansseriftitles}}%^^A
% Der Brieftitel.
% \begin{macrocode}
\newkomafont{lettertitle}{\normalcolor\@gr@gsffamily\bfseries}
% \end{macrocode}
% \begin{KOMAfont}{title}
-% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}^^A
-% \changes{v3.17}{2015/02/21}{nur noch ein Alias}^^A
-% \changes{v3.17a}{2015/04/26}{Alias korrigiert}^^A
+% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}%^^A
+% \changes{v3.17}{2015/02/21}{nur noch ein Alias}%^^A
+% \changes{v3.17a}{2015/04/26}{Alias korrigiert}%^^A
% \begin{macrocode}
%<package>\scr@ifundefinedorrelax{scr@fnt@title}{%
\aliaskomafont{title}{lettertitle}%
@@ -1614,15 +1644,15 @@
% \end{KOMAfont}
%
% \begin{KOMAfont}{lettersubject}
-% \changes{v3.17}{2015/02/21}{neu als Ersatz für \texttt{subject}}
-% \changes{v3.17a}{2015/04/26}{Alias korrigiert}^^A
+% \changes{v3.17}{2015/02/21}{neu als Ersatz für \texttt{subject}}
+% \changes{v3.17a}{2015/04/26}{Alias korrigiert}%^^A
% Der Betreff im Brief.
% \begin{macrocode}
\newkomafont{lettersubject}{\normalfont\bfseries}
% \end{macrocode}
% \begin{KOMAfont}{subject}
-% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}^^A
-% \changes{v3.17}{2015/02/21}{nur noch ein Alias}^^A
+% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}%^^A
+% \changes{v3.17}{2015/02/21}{nur noch ein Alias}%^^A
% \begin{macrocode}
%<package>\scr@ifundefinedorrelax{scr@fnt@subject}{%
\aliaskomafont{subject}{lettersubject}%
@@ -1631,28 +1661,28 @@
% \end{KOMAfont}
% \end{KOMAfont}
%
-% \subsubsection{Längen für den Briefbogen}
+% \subsubsection{Längen für den Briefbogen}
%
% \begin{macro}{\ltr@len@foldmarkhpos}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% Abstand der horizontalen Faltmarken von der linken Papierkante.
% \begin{macrocode}
\@newplength{foldmarkhpos}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@foldmarkvpos}
-% \changes{v2.97e}{2007/11/10}{Neu}^^A
+% \changes{v2.97e}{2007/11/10}{Neu}%^^A
% Abstand der vertikalen Faltmarken von der oberen Papierkante.
% \begin{macrocode}
\@newplength{foldmarkvpos}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@tfoldmarkvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% \begin{macro}{\ltr@len@mfoldmarkvpos}
-% \changes{v2.97e}{2007/11/08}{Neu}^^A
+% \changes{v2.97e}{2007/11/08}{Neu}%^^A
% \begin{macro}{\ltr@len@bfoldmarkvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% Abstand der oberen, mittleren und unteren Faltmarken von der oberen
% Papierkante.
% \begin{macrocode}
@@ -1664,23 +1694,23 @@
% \end{macro}
% \end{macro}
% \begin{macro}{\ltr@len@lfoldmarkhpos}
-% \changes{v2.97e}{2007/11/10}{Neu}^^A
+% \changes{v2.97e}{2007/11/10}{Neu}%^^A
% Abstand linken Faltmarken von der linken Papierkante.
% \begin{macrocode}
\@newplength{lfoldmarkhpos}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@pfoldmarklength}
-% \changes{v2.97e}{2007/11/19}{Neu}^^A
+% \changes{v2.97e}{2007/11/19}{Neu}%^^A
% \begin{macro}{\ltr@len@hfoldmarklength}
-% \changes{v2.97e}{2007/11/10}{Neu}^^A
+% \changes{v2.97e}{2007/11/10}{Neu}%^^A
% \begin{macro}{\ltr@len@mfoldmarklength}
-% \changes{v2.97e}{2007/11/10}{Neu}^^A
+% \changes{v2.97e}{2007/11/10}{Neu}%^^A
% \begin{macro}{\ltr@len@bfoldmarklength}
-% \changes{v2.97e}{2001/11/10}{Neu}^^A
+% \changes{v2.97e}{2001/11/10}{Neu}%^^A
% \begin{macro}{\ltr@len@lfoldmarklength}
-% \changes{v2.97e}{2001/11/10}{Neu}^^A
-% Länge der Lochmarke und der oberen, mittleren und unteren horizontalen und
+% \changes{v2.97e}{2001/11/10}{Neu}%^^A
+% Länge der Lochmarke und der oberen, mittleren und unteren horizontalen und
% der (linken) vertikalen Faltmarke.
% \begin{macrocode}
\@newplength{pfoldmarklength}
@@ -1695,7 +1725,7 @@
% \end{macro}
% \end{macro}
% \begin{macro}{\ltr@len@foldmarkthickness}
-% \changes{v2.97c}{2007/05/08}{Neu}^^A
+% \changes{v2.97c}{2007/05/08}{Neu}%^^A
% Dicke der Faltmarken.
% \begin{macrocode}
\@newplength{foldmarkthickness}
@@ -1703,21 +1733,21 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@toaddrvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% Abstand des Adressfensters von der oberen Papierkante.
% \begin{macrocode}
\@newplength{toaddrvpos}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@backaddrheight}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% Höhe der Rücksendeadresse.
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% Höhe der Rücksendeadresse.
% \begin{macrocode}
\@newplength{backaddrheight}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@toaddrhpos}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% Abstand des Adressfeldes von der linken Papierkante bzw. wenn negativ von
% der rechten Papierkante.
% \begin{macrocode}
@@ -1725,46 +1755,46 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@specialmailindent}
-% \changes{v2.8q}{2002/03/25}{Neu}^^A
+% \changes{v2.8q}{2002/03/25}{Neu}%^^A
% Abstand der Versandtart vom linken Rand des Adressfensters.
% \begin{macrocode}
\@newplength{specialmailindent}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@specialmailrightindent}
-% \changes{v2.8q}{2002/03/25}{Neu}^^A
+% \changes{v2.8q}{2002/03/25}{Neu}%^^A
% Abstand der Versandtart vom rechten Rand des Adressfensters.
% \begin{macrocode}
\@newplength{specialmailrightindent}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@toaddrindent}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% Abstand der Adresse vom linken Rand des Adressfensters. 0 bedeutet im
-% Anschriftmodus \texttt{PP} 8\,mm, ansonsten wirklich 0\,mm. Außerdem wird im
-% Anschriftmodus \texttt{PP} die Pseudolänge auch für den Abstand vom rechten
+% Anschriftmodus \texttt{PP} 8\,mm, ansonsten wirklich 0\,mm. Außerdem wird im
+% Anschriftmodus \texttt{PP} die Pseudolänge auch für den Abstand vom rechten
% Rand des Adressfensters verwendet.
% \begin{macrocode}
\@newplength{toaddrindent}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@PPheadheight}
-% \changes{v3.03}{2009/03/04}{Neu}%
-% Höhe des PP-Kopfes in den Anschriftmodi \texttt{PP},
+% \changes{v3.03}{2009/03/04}{Neu}%
+% Höhe des PP-Kopfes in den Anschriftmodi \texttt{PP},
% \texttt{backgroundimage} und \texttt{image}. 0 bedeutet hier 20,74\,pt.
% \begin{macrocode}
\@newplength{PPheadheight}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@PPheadwidth}
-% \changes{v3.03}{2009/03/04}{Neu}%
+% \changes{v3.03}{2009/03/04}{Neu}%
% Breite des PP-Kopfes im Anschriftmodus \texttt{PP}. 0 bedeutet hier 42\,mm.
% \begin{macrocode}
\@newplength{PPheadwidth}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@PPdatamatrixvskip}
-% \changes{v3.03}{2009/03/04}{Neu}%
+% \changes{v3.03}{2009/03/04}{Neu}%
% Abstand zwischen PP-Kopf und DataMatrix im Anschriftmodus \texttt{PP}. 0
% bedeutet hier 9\,mm.
% \begin{macrocode}
@@ -1772,107 +1802,118 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@toaddrwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% Breite des Adressfensters
% \begin{macrocode}
\@newplength{toaddrwidth}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@toaddrheight}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% \changes{v3.03b}{2009/06/25}{Implementierung an Doku angepasst}^^A
-% Höhe des Adressfensters mit Rücksendeadresse
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% \changes{v3.03b}{2009/06/25}{Implementierung an Doku angepasst}%^^A
+% Höhe des Adressfensters mit Rücksendeadresse
% \begin{macrocode}
\@newplength{toaddrheight}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@locvpos}
-% \changes{v2.97e}{2007/11/07}{Neu}^^A
-% Abstand der Absenderergänzung von der oberen Papierkante.
+% \changes{v2.97e}{2007/11/07}{Neu}%^^A
+% Abstand der Absenderergänzung von der oberen Papierkante.
% \begin{macrocode}
\@newplength{locvpos}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@locwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% Breite des Feldes neben dem Adressfenster
% \begin{macrocode}
\@newplength{locwidth}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@lochpos}
-% \changes{v2.97e}{2007/11/07}{Neu}^^A
-% Abstand der Absenderergänzung von der linken Papierkante bzw. wenn negativ
+% \changes{v2.97e}{2007/11/07}{Neu}%^^A
+% Abstand der Absenderergänzung von der linken Papierkante bzw. wenn negativ
% von der rechten Papierkante.
% \begin{macrocode}
\@newplength{lochpos}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@locheight}
-% \changes{v2.97e}{2007/11/07}{Neu}^^A
-% Höhe der Absenderergänzung.
+% \changes{v2.97e}{2007/11/07}{Neu}%^^A
+% Höhe der Absenderergänzung.
% \begin{macrocode}
\@newplength{locheight}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@refvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% Abstand der Geschäftszeile von der Papieroberkante.
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% Abstand der Geschäftszeile von der Papieroberkante.
% \begin{macrocode}
\@newplength{refvpos}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\ltr@len@refheight}
+% \selectlanguage{english}%^^A
+% \changes{v3.27}{2019/05/03}{new}%^^A
+% Height of the reference line (if used).
+% \begin{macrocode}
+%<*package&willbe>
+\@newplength{refheight}
+%</package&willbe>
+% \end{macrocode}
+% \selectlanguage{ngerman}%^^A
+% \end{macro}
% \begin{macro}{\ltr@len@refwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% Breite der Geschäftszeile.
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% Breite der Geschäftszeile.
% \begin{macrocode}
\@newplength{refwidth}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@refhpos}
-% \changes{v2.9l}{2003/01/28}{Neu}^^A
-% Horizontale Position der Geschäftszeile.
+% \changes{v2.9l}{2003/01/28}{Neu}%^^A
+% Horizontale Position der Geschäftszeile.
% \begin{macrocode}
\@newplength{refhpos}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@refaftervskip}
-% \changes{v2.8q}{2001/10/09}{Neu}^^A
-% Abstand nach der Geschäftszeile.
+% \changes{v2.8q}{2001/10/09}{Neu}%^^A
+% Abstand nach der Geschäftszeile.
% \begin{macrocode}
\@newplength{refaftervskip}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@sigbeforevskip}
-% \changes{v2.8q}{2001/10/09}{Neu}^^A
-% Raum für die Unterschrift.
+% \changes{v2.8q}{2001/10/09}{Neu}%^^A
+% Raum für die Unterschrift.
% \begin{macrocode}
\@newplength{sigbeforevskip}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@sigindent}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% Horizontaler Einzug des Schlussgrußes und der Signatur.
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% Horizontaler Einzug des Schlussgrußes und der Signatur.
% \begin{macrocode}
\@newplength{sigindent}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@@firstfootvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% Abstand des Fußes der ersten Seite von der Papieroberkante.
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% Abstand des Fußes der ersten Seite von der Papieroberkante.
% \begin{macrocode}
\@newplength{firstfootvpos}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@firstfootwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% Breite des Fußes der ersten Seite.
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% Breite des Fußes der ersten Seite.
% \begin{macrocode}
\@newplength{firstfootwidth}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@firstfoothpos}
-% \changes{v3.05}{2009/11/09}{Neu}^^A
+% \changes{v3.05}{2009/11/09}{Neu}%^^A
% Abstand des Kopfes vom linken Rand der Seite.
% \begin{macrocode}
\@newplength{firstfoothpos}
@@ -1880,21 +1921,21 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@firstheadvspos}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% Abstand des Kopfes der ersten Seite von der Papieroberkante.
% \begin{macrocode}
\@newplength{firstheadvpos}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@firstheadwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% Breite des Kopfes der ersten Seite.
% \begin{macrocode}
\@newplength{firstheadwidth}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@firstheadhpos}
-% \changes{v3.05}{2009/11/09}{Neu}^^A
+% \changes{v3.05}{2009/11/09}{Neu}%^^A
% Abstand des Kopfes vom linken Rand der Seite.
% \begin{macrocode}
\@newplength{firstheadhpos}
@@ -1902,16 +1943,16 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@fromrulewidth}
-% \changes{v2.8q}{2002/01/28}{Neu}^^A
-% Die Länge einer eventuell gesetzten Linie im Absender. Negative
-% Werte bedeuten, dass die Länge automtaisch bestimmt wird.
+% \changes{v2.8q}{2002/01/28}{Neu}%^^A
+% Die Länge einer eventuell gesetzten Linie im Absender. Negative
+% Werte bedeuten, dass die Länge automtaisch bestimmt wird.
% \begin{macrocode}
\@newplength{fromrulewidth}
\@setplength{fromrulewidth}{0pt}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@fromrulethickness}
-% \changes{v2.97c}{2007/05/08}{Neue Pseudolänge \texttt{fromrulewidth}}
+% \changes{v2.97c}{2007/05/08}{Neue Pseudolänge \texttt{fromrulewidth}}
% Die Dicke einer eventuell gesetzte Linie im Absender.
% \begin{macrocode}
\@newplength{fromrulethickness}
@@ -1920,18 +1961,18 @@
% \end{macro}
%
%
-% \subsubsection{Fuß des Briefbogens}
+% \subsubsection{Fuß des Briefbogens}
%
% \begin{macro}{\firstfoot}
-% \changes{v3.08}{2010/10/28}{der Fuß des Briefbogens wird über eine
-% Variable realisiert}^^A
+% \changes{v3.08}{2010/10/28}{der Fuß des Briefbogens wird über eine
+% Variable realisiert}%^^A
% \begin{macro}{\@firstfoot}
-% \changes{v3.08}{2010/10/28}{der Fuß des Briefbogens wird über eine
-% Variable realisiert}^^A
+% \changes{v3.08}{2010/10/28}{der Fuß des Briefbogens wird über eine
+% Variable realisiert}%^^A
% \begin{KOMAvar}{firstfoot}
-% \changes{v3.08}{2010/10/28}{Neu}^^A
+% \changes{v3.08}{2010/10/28}{Neu}%^^A
% \begin{macrocode}
-% Der Fuß des Briefbogens ist in der Voreinstellung leer.
+% Der Fuß des Briefbogens ist in der Voreinstellung leer.
\newkomavar{firstfoot}
%<*class>
\newcommand*{\@firstfoot}{%
@@ -1943,7 +1984,7 @@
\usekomavar{firstfoot}%
}
% \end{macrocode}
-% Dies kann jedoch über eine einfache Benutzeranweisung geändert werden:
+% Dies kann jedoch über eine einfache Benutzeranweisung geändert werden:
% \begin{macrocode}
\newcommand{\firstfoot}{%
\ClassWarning{scrlttr2}{%
@@ -1962,12 +2003,865 @@
%
% \subsubsection{Ausgabe des Briefbogens}
%
-% Die Ausgabe selbst erfolgt derzeit über die |\opening|-Anweisung, die in
-% einem späteren Abschnitt implementiert ist.
+% Die Ausgabe selbst erfolgt bei \textsf{scrlttr2} über die
+% |\opening|-Anweisung, die in einem späteren Abschnitt implementiert ist. Bei
+% \textsf{scrletter} erfolgt sie dagegen ab Version 3.27 über den Seitenstil
+% \texttt{notepaper} (siehe \texttt{scrkernel-pagestyle.dtx}).
+%
+% \selectlanguage{english}%
+% \begin{macro}{\scr@notepaper@printallelements}
+% \changes{v3.27}{2019/04/16}{new (internal)}%^^A
+% This is used by page style \texttt{notepaper} to print all elements.
+% \begin{macro}{\scr@notepaper@printelementsoflist}
+% \changes{v3.27}{2019/04/16}{new (internal)}%^^A
+% And this is used to print a given list of elements.
+% \begin{macro}{\scr@notepaper@printelement}
+% \changes{v3.27}{2019/04/16}{new (internal)}%^^A
+% Last but not least this prints one given element.
+% \begin{macrocode}
+%<*package&body&willbe>
+\newcommand*{\scr@notepaper@printallelements}{%
+ \scr@notepaper@printelementsoflist\scr@notepaper@elements
+}
+\newcommand*{\scr@notepaper@printelementsoflist}[1]{%
+ \expandafter\scr@ForEachTrimmedListElement\expandafter{#1}{%
+ \scr@notepaper@printelement
+ }%
+}
+\newcommand*{\scr@notepaper@printelement}[1]{%
+ \@ifundefined{scr@notepaper@element@#1}{%
+ \PackageWarning{scrletter}{%
+ Unknown note paper element `#1'\MessageBreak
+ will be ignored%
+ }%
+ }{%
+ \@nameuse{scr@notepaper@element@#1}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}%^^A \scr@notepaper@printelement
+% \end{macro}%^^A \scr@notepaper@printelementsoflist
+% \end{macro}%^^A \scr@notepaper@printallelements
+%
+% \begin{macro}{\scr@foldmarks@printallelements}
+% \changes{v3.27}{2019/04/16}{new (internal)}%^^A
+% This is used by the page style \texttt{notepaper} to print all foldmarks.
+% \begin{macrocode}
+\newcommand*{\scr@foldmarks@printallelements}{%
+ \if@fold
+ \ifdim \useplength{pfoldmarklength}=\z@
+ \@setplength{pfoldmarklength}{4mm}%
+ \fi
+ \ifdim \useplength{tfoldmarklength}=\z@
+ \@setplength{tfoldmarklength}{2mm}%
+ \fi
+ \ifdim \useplength{mfoldmarklength}=\z@
+ \@setplength{mfoldmarklength}{2mm}%
+ \fi
+ \ifdim \useplength{bfoldmarklength}=\z@
+ \@setplength{bfoldmarklength}{2mm}%
+ \fi
+ \ifdim \useplength{lfoldmarklength}=\z@
+ \@setplength{lfoldmarklength}{4mm}%
+ \fi
+ \@hfoldmark{P}%
+ \@hfoldmark{T}%
+ \@hfoldmark{M}%
+ \@hfoldmark{B}%
+ \@vfoldmark{L}%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\scr@notepaper@elements}
+% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% This is a comma-separated list of elements (aka blocks) to be printed on the
+% notepaper. It is used by the page style layer \texttt{notepaper} to set all
+% elements (see \texttt{scrkernel-pagestyle.dtx}). There are exactly four
+% defaults (but you can add more):
+% \begin{macrocode}
+\newcommand*{\scr@notepaper@elements}{%
+ firsthead,addressee,location,firstfoot,refline%
+}
+% \end{macrocode}
+% \begin{macro}{\scr@notepaper@element@firsthead}
+% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% How to print the notepaper element \texttt{firsthead}:
+% \begin{macrocode}
+\newcommand*{\scr@notepaper@element@firsthead}{%
+ \if@firsthead
+% \end{macrocode}
+% The calculation of the real horizontal position could be done as part of the
+% layer contents or while selection of the layer or while initialization of
+% the layer. The in-contents code is used, so the layer can be used with
+% different page styles. The position depends on \texttt{firstheadhpos} this
+% way:
+% \begin{itemize}
+% \item If \texttt{firstheadhpos} is positive but less than the paper width,
+% \texttt{firstheadhpos} is the distance if the head from the left edge.
+% \item If \texttt{firstheadhpos} is negative but the absolute value is less
+% then the paper width, the absolute value of \texttt{firstheadhpos} is the
+% distance from the right edge.
+% \item If \texttt{firstheadhpos} is greater than the paper width, the head
+% will be centered.
+% \item If \texttt{firstheadhpos} is less than the negative paper width, the
+% head will be left aligned to the text area.
+% \end{itemize}
+% \begin{macrocode}
+ \ifdim\useplength{firstheadhpos}<\paperwidth
+ \ifdim \useplength{firstheadhpos}>-\paperwidth
+ \ifdim \useplength{firstheadhpos}<\z@
+ \setlength{\@tempdima}{\dimexpr
+ \paperwidth + \useplength{firstheadhpos}
+ - \useplength{firstheadwidth}
+ \relax}%
+ \else
+ \setlength{\@tempdima}{\useplength{firstheadhpos}}%
+ \fi
+ \else
+ \setlength{\@tempdima}{\dimexpr\oddsidemargin + 1in\relax}%
+ \fi
+ \else
+ \setlength{\@tempdima}{\dimexpr
+ (\paperwidth-\useplength{firstheadwidth})/2
+ \relax}%
+ \fi
+ \put@notepaper@element
+ (\@tempdima,\useplength{firstheadvpos})%
+ (\useplength{firstheadwidth},%
+ \useplength{toaddrvpos}-\useplength{firstheadvpos})%
+ {Element `firsthead'}{\usekomavar{firsthead}}\relax
+ \fi
+}
+% \end{macrocode}
+% \end{macro}%^^A \scr@notepaper@element@firsthead
+% \begin{macro}{\scr@notepaper@element@firstfoot}
+% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% Element \texttt{firstfoot} is very similar to \texttt{firsthead}. The
+% differences are using of pseudo lengths for the foot instead the head and
+% the calculation of the available height.
+% \begin{macrocode}
+\newcommand*{\scr@notepaper@element@firstfoot}{%
+ \if@firstfoot
+ \ifdim\useplength{firstfoothpos}<\paperwidth
+ \ifdim \useplength{firstfoothpos}>-\paperwidth
+ \ifdim \useplength{firstfoothpos}<\z@
+ \setlength{\@tempdima}{\dimexpr
+ \paperwidth + \useplength{firstfoothpos}
+ - \useplength{firstfootwidth}%
+ \relax}%
+ \else
+ \setlength{\@tempdima}{\useplength{firstfoothpos}}%
+ \fi
+ \else
+ \setlength{\@tempdima}{\dimexpr\oddsidemargin + 1in\relax}%
+ \fi
+ \else
+ \setlength{\@tempdima}{\dimexpr
+ (\paperwidth-\useplength{firstfootwidth})/2
+ \relax}%
+ \fi
+ \put@notepaper@element
+ (\@tempdima,\useplength{firstfootvpos})%
+ (\useplength{firstfootwidth},
+ \paperheight-\useplength{firstfootvpos})%
+ {Element `firstfoot'}{\usekomavar{firstfoot}}\relax
+ \fi
+}
+% \end{macro}%^^A \scr@notepaper@element@firstfoot
+% \begin{macro}{\scr@notepaper@element@addressee}
+% Element \texttt{addressee} is very complex and therefore split into several
+% different sub-elements.
+% \begin{macrocode}
+\newcommand*{\scr@notepaper@element@addressee}{%
+ \setlengthtoplength{\@tempdima}{toaddrhpos}%
+ \ifdim \@tempdima<\z@
+ \addtolength{\@tempdima}{%
+ \dimexpr \paperwidth-\useplength{toaddrwidth}\relax
+ }%
+ \fi
+ \put@notepaper@element(\@tempdima,\useplength{toaddrvpos})%
+ (\useplength{toaddrwidth},\useplength{toaddrheight})%
+ {address field}{%
+ \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative
+ \ifcase \@afieldmode\relax
+ \or
+ \scr@notepaper@subelement@addressee@default
+ \or
+ \scr@notepaper@subelement@addressee@PP
+ \or
+ \scr@notepaper@subelement@addressee@PPbackgroundimage
+ \or
+ \scr@notepaper@subelement@addressee@image
+ \else
+ \scr@notepaper@subelement@addressee@default
+ \fi
+ }\relax
+}
+% \end{macrocode}
+% \begin{macro}{\scr@notepaper@subelement@addressee@default}
+% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% The field with the recipience address. This should be used only on the first
+% page of a letter.
+% \begin{macrocode}
+\newcommand*{\scr@notepaper@subelement@addressee@default}{%
+ \setbox\@tempboxa\vbox {%
+ \hsize=\useplength{toaddrwidth}\linewidth=\hsize
+ \color@begingroup
+ \if@baddr
+ \ifkomavarempty{backaddress}{}{%
+ \def\\{\usekomavar{backaddressseparator}\@ogobble}%
+ \backaddr@format{\scriptsize\usekomafont{backaddress}%
+ \usekomavar{backaddress}}%
+ }%
+ \fi
+ \color@endgroup
+ }%
+ \ifdim \dimexpr\ht\@tempboxa+\dp\@tempboxa>\useplength{backaddrheight}\relax
+ \PackageWarning{scrletter}{Element `backaddress' to high.\MessageBreak
+ The content of `backaddress' could exceed\MessageBreak
+ the address field%
+ }%
+ \fi
+ \vbox to \useplength{backaddrheight}{\vss\usebox\@tempboxa}%
+ \ifcase \ltr@priority
+ \or
+ \setkomavar{specialmail}{%
+ {\usekomafont{priority}{%
+ {\usekomafont{prioritykey}{B}}%
+ -ECONOMY}}%
+ }%
+ \or
+ \setkomavar{specialmail}{%
+ {\usekomafont{priority}{%
+ {\usekomafont{prioritykey}{A}}%
+ -PRIORITY}}%
+ }%
+ \fi
+ \ifkomavarempty{specialmail}{%
+ \@tempdima=\z@
+ }{%
+ \setbox\@tempboxa\vbox{\hsize\useplength{toaddrwidth}%
+ \color@begingroup
+ \noindent\hspace*{\useplength{specialmailindent}}%
+ \specialmail@format{%
+ \usekomafont{specialmail}\usekomavar{specialmail}}%
+ \hspace*{\useplength{specialmailrightindent}}%
+ \color@endgroup
+ }%
+ \copy\@tempboxa
+ \@tempdima=\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax
+ }%
+ \setbox\@tempboxa\vbox{%
+ \hsize\dimexpr \useplength{toaddrwidth}-2\useplength{toaddrindent}\relax
+ \color@begingroup
+ \raggedright
+ \usekomafont{addressee}{%
+%<*package>
+ \usekomavar{addressee}\par%
+%</package>
+%<class> {\usekomafont{toname}{\usekomavar{toname}\\}}%
+%<class> {\usekomafont{toaddress}{\usekomavar{toaddress}\par}}%
+ }%
+ \color@endgroup
+ }%
+ \ifnum\@afieldmode=\@ne
+% \end{macrocode}
+% In opposite to the class, the package rounds the distance to lines.
+% \begin{macrocode}
+ \vskip \dimexpr ((\useplength{toaddrheight}-\useplength{backaddrheight}
+ -\@tempdima -\ht\@tempboxa -\dp\@tempboxa
+ -\ht\strutbox)/(2*\baselineskip))
+ *\baselineskip\relax
+ \fi
+ \hskip\useplength{toaddrindent}%
+ \usebox\@tempboxa
+}
+% \end{macrocode}
+% \end{macro}%^^A \scr@notepaper@subelement@addressee@default
+% \begin{macro}{\scr@notepaper@subelement@addressee@PP}
+% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% \begin{macrocode}
+\newcommand*{\scr@notepaper@subelement@addressee@PP}{%
+ \ifdim \useplength{toaddrindent}=\z@
+ \setplength{toaddrindent}{8mm}%
+ \fi
+ \ifdim \useplength{PPheadheight}=\z@
+ \setplength{PPheadheight}{20.74pt}%
+ \fi
+ \ifdim \useplength{PPheadwidth}=\z@
+ \setplength{PPheadwidth}{42mm}%
+ \fi
+ \ifdim \useplength{PPdatamatrixvskip}=\z@
+ \setplength{PPdatamatrixvskip}{3mm}%
+ \fi
+ \vskip 2pt\relax
+ \hskip \useplength{toaddrindent}\relax
+ \fbox{%
+ \vbox to \dimexpr \useplength{PPheadheight}-2\fboxsep\relax{%
+ \setlength{\parindent}{0pt}%
+ \hsize \dimexpr \useplength{PPheadwidth}-2\fboxsep\relax
+% \end{macrocode}
+% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt}%^^A
+% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt
+% \cs{unskip}\cs{strut}}%^^A
+% \begin{macrocode}
+ \sbox\@tempboxa{%
+ {\fontsize{20.74pt}{20.74pt}\selectfont
+ \usekomafont{PPlogo}{P.P.}}\hskip 2mm%
+ }%
+ \dp\@tempboxa\z@
+ \setlength{\@tempdima}{\hsize}%
+ \addtolength{\@tempdima}{-\wd\@tempboxa}%
+ \hbox{\box\@tempboxa
+ \vbox to \dimexpr
+ \useplength{PPheadheight}-2\fboxsep\relax{%
+ \vss\hsize\@tempdima
+ \raggedright
+ \fontsize{8pt}{9pt}\selectfont\usekomafont{PPdata}%
+ \usekomavar*{fromzipcode}\usekomavar{zipcodeseparator}%
+ \usekomavar{fromzipcode}\scr@endstrut\\
+ \usekomavar{place}\scr@endstrut
+ \hfill
+ }%
+ }%
+ \vss
+ }%
+ }%
+ \hskip 1mm
+ \mbox{%
+ \vbox to \useplength{PPheadheight}{%
+ \addtolengthplength[-]{\hsize}{PPheadwidth}%
+ \addtolength{\hsize}{-1mm}%
+ \addtolengthplength[-2]{\hsize}{toaddrindent}%
+ \setlength{\parindent}{0pt}%
+ \fontsize{8pt}{9pt}\selectfont\usekomafont{PPdata}%
+ \hfill\usekomavar{PPcode}
+ \vss
+ \ifcase \ltr@priority
+ \or
+ \usekomafont{priority}{%
+ {\usekomafont{prioritykey}{B}}%
+ -ECONOMY\hss\vskip-\dp\strutbox
+ }%
+ \or
+ \usekomafont{priority}{%
+ {\usekomafont{prioritykey}{A}}%
+ -PRIORITY\hss\vskip-\dp\strutbox
+ }%
+ \fi
+ \vss
+ }%
+ }%
+ \vskip 1mm
+ \vskip-\ht\strutbox
+ \noindent\hskip\useplength{toaddrindent}%
+ \hrulefill%
+ \hskip\useplength{toaddrindent}%
+ \vbox to\z@{\hsize\z@
+ \vskip \useplength{PPdatamatrixvskip}\relax
+ \llap{\usekomavar{PPdatamatrix}\hskip\useplength{toaddrindent}}%
+ \vss
+ }%
+ \vskip 3mm
+ \noindent\hskip\useplength{toaddrindent}%
+ \setlength{\@tempdima}{\useplength{toaddrwidth}}%
+ \addtolengthplength[-2]{\@tempdima}{toaddrindent}%
+ \vbox{\hsize\@tempdima
+ \ifkomavarempty{PPdatamatrix}{}{%
+ \addtolength{\hsize}{-2mm}%
+ \settowidth\@tempdima{\usekomavar{PPdatamatrix}}%
+ \addtolength{\hsize}{-\@tempdima}%
+ }%
+ \raggedright
+ \usekomafont{addressee}{%
+%<*package>
+ \usekomavar{addressee}\par%
+%</package>
+%<class> {\usekomafont{toname}{\usekomavar{toname}\\}}%
+%<class> {\usekomafont{toaddress}{\usekomavar{toaddress}\par}}%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}%^^A \scr@notepaper@subelement@addressee@PP
+% \begin{macro}{\scr@notepaper@subelement@addressee@PPimage}
+% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% TODO: Need to be tested!
+% \begin{macrocode}
+\newcommand*{\scr@notepaper@subelement@addressee@PPimage}{%
+ \ifdim \useplength{toaddrindent}=\z@
+ \setplength{toaddrindent}{8mm}%
+ \fi
+ \vskip 1mm
+ \noindent\expandafter\hskip\useplength{toaddrindent}%
+ \vbox to \useplength{PPheadheight}{%
+ \addtolengthplength[-2]{\hsize}{toaddrindent}%
+ \setlength{\parindent}{0pt}%
+ \usekomavar{addresseeimage}%
+ \vss
+ }%
+}
+% \end{macrocode}
+% \end{macro}%^^A \scr@notepaper@subelement@addressee@PPimage
+% \begin{macro}{\scr@notepaper@subelement@addressee@backgroundimage}
+% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% TODO: Need to be tested!
+% \begin{macrocode}
+\newcommand*{\scr@notepaper@subelement@addressee@backgroundimage}{%
+ \vskip 1mm
+ \noindent\expandafter\hskip\useplength{toaddrindent}%
+ \vbox to \useplength{PPheadheight}{%
+ \addtolengthplength[-2]{\hsize}{toaddrindent}%
+ \setlength{\parindent}{0pt}%
+ \usekomavar{addresseeimage}%
+ \vss
+ }%
+ \vskip 1mm
+ \vskip\dp\strutbox
+ \vfil%
+ \noindent\hskip\useplength{toaddrindent}%
+ \setlength{\@tempdima}{\useplength{toaddrwidth}}%
+ \addtolengthplength[-2]{\@tempdima}{toaddrindent}%
+ \vbox{\hsize\@tempdima
+ \ifkomavarempty{PPdatamatrix}{}{%
+ \addtolength{\hsize}{-2mm}%
+ \settowidth\@tempdima{\usekomavar{PPdatamatrix}}%
+ \addtolength{\hsize}{-\@tempdima}%
+ }%
+ \raggedright
+ \usekomafont{addressee}{%
+%<*package>
+ \usekomavar{addressee}\par%
+%</package>
+%<class> {\usekomafont{toname}{\usekomavar{toname}\\}}%
+%<class> {\usekomafont{toaddress}{\usekomavar{toaddress}\par}}%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}%^^A \scr@notepaper@subelement@addressee@backgroundimage
+% \end{macro}%^^A \scr@notepaper@element@addressee
+% \begin{macro}{\scr@notepaper@element@location}
+% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% \begin{macrocode}
+\newcommand*{\scr@notepaper@element@location}{%
+% \end{macrocode}
+% \selectlanguage{ngerman}%^^A
+% \changes{v2.97e}{2007/11/13}{Der Absender kann nun ebenfalls in der
+% Absenderergänzung stehen}%^^A
+% \changes{v2.98b}{2008/01/30}{Absenderergänzung immer setzen, wenn
+% verwendet}%^^A
+% Je nach Absenderanordnung muss hier nun ebenfalls etwas getan werden.
+% Der Fall 0, also linksbündiger Absender im Kopf spielt hier keine Rolle.
+% \begin{macrocode}
+ \ifcase\@alignfrom
+% \end{macrocode}
+% Im Fall 1, also zentrierter Absender im Kopf wird jedoch das Logo hier
+% platziert, also darf die Absenderergänzung nicht leer sein.
+% \begin{macrocode}
+ \or
+ \if@logo
+ \ifkomavarempty{location}{\setkomavar{location}{\null}}{}%
+ \fi
+% \end{macrocode}
+% Im Fall 2, also rechtsbündiger Absender im Kopf, ist auch nichts zu tun.
+% \begin{macrocode}
+ \or
+% \end{macrocode}
+% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier
+% eine Menge ausgegeben, also darf die Absenderergänzung nicht leer sein.
+% \begin{macrocode}
+ \or
+ \ifkomavarempty{location}{\setkomavar{location}{\null}}{}%
+% \end{macrocode}
+% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier
+% eine Menge ausgegeben, also darf die Absenderergänzung nicht leer sein.
+% \begin{macrocode}
+ \or
+ \ifkomavarempty{location}{\setkomavar{location}{\null}}{}%
+% \end{macrocode}
+% Alle anderen Fälle sind wie hier ebenfalls ohne Bedeutung.
+% \begin{macrocode}
+ \fi
+% \end{macrocode}
+% \selectlanguage{english}%^^A
+% Everything else only, if the field is not empty.
+% \begin{macrocode}
+ \ifkomavarempty{location}{}{%
+% \end{macrocode}
+% Calculation of height and vertical possition.
+% \begin{macrocode}
+ \ifdim \useplength{locheight}=\z@%
+ \setplength{locheight}{\useplength{toaddrheight}}%
+ \fi
+ \ifdim \useplength{locvpos}=\z@%
+ \setplength{locvpos}{\useplength{toaddrvpos}}%
+ \fi
+% \end{macrocode}
+% Calculation of width and horizontal possition.
+% \begin{macrocode}
+ \ifdim \useplength{locwidth}=\z@%
+ \setplength{locwidth}{\paperwidth}%
+ \ifdim \useplength{toaddrhpos}>\z@
+ \addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}%
+ \else
+ \addtoplength[2]{locwidth}{\useplength{toaddrhpos}}%
+ \fi
+ \addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}%
+ \if@bigloc
+ \setplength[.66667]{locwidth}{\useplength{locwidth}}%
+ \else
+ \setplength[.5]{locwidth}{\useplength{locwidth}}%
+ \fi
+ \fi
+ \ifdim \useplength{lochpos}=\z@%
+ \setplength{lochpos}{\useplength{toaddrhpos}}%
+ \fi
+ \ifdim \useplength{lochpos}<\z@
+ \setlength{\@tempdima}{-\useplength{lochpos}}%
+ \else
+ \setlength{\@tempdima}{\dimexpr
+ \paperwidth-\useplength{lochpos}-\useplength{locwidth}
+ \relax}%
+ \fi
+ \put@notepaper@element(\@tempdima,\useplength{locvpos})%
+ (\useplength{locwidth},\useplength{locheight})%
+ {Element `location'}%
+ {%
+% \end{macrocode}
+% \selectlanguage{ngerman}%^^A
+% In einigen Fällen der Absenderanordnung muss hier nun eine ganze Menge getan
+% werden. In anderen ist hingegen nur wenig zu tun. Im Fall 0, also
+% linksbündiger Absender im Kopf wird nur die Absenderergänzung ausgegeben
+% (das erfolgt nach der Fallunterscheidung).
+% \begin{macrocode}
+ \ifcase\@alignfrom
+% \end{macrocode}
+% Im Fall 1, also zentrierter Absender im Kopf wird jedoch das Logo hier
+% platziert, die Absenderergänzung wird ggf. danach ausgegeben (das erfolgt
+% nach der Fallunterscheidung).%^^A
+% \changes{v2.98a}{2008/01/10}{bei zentriertem Absender wird die
+% Absenderergänzung ggf. unter dem Logo ausgegeben}%^^A
+% \begin{macrocode}
+ \or
+ \if@logo
+ \ifkomavarempty{fromlogo}{\null}{%
+ {\raggedleft\noindent\usekomavar{fromlogo}\\
+ \vskip\parskip}\noindent}%
+ \fi
+% \end{macrocode}
+% Im Fall 2, also rechtsbündiger Absender im Kopf, wird auch nur die
+% Absenderergänzung ausgegeben (das erfolgt nach der Fallunterscheidung).
+% \begin{macrocode}
+ \or
+% \end{macrocode}
+% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier
+% sozusagen der linksbündige Kopf nachgebaut. Das Logo steht dabei
+% ggf. rechtsbündig oben.
+% \begin{macrocode}
+ \or
+ \if@logo
+ \ifkomavarempty{fromlogo}{}{%
+ \raggedleft\usekomavar{fromlogo}\par}%
+ \fi
+ \raggedright
+% \end{macrocode}
+% Zuerst wird der Name gesetzt. Dabei soll eine eigene Schriftart für den
+% Namen verwendet werden.
+% \begin{macrocode}
+ {\usekomafont{fromname}\strut\ignorespaces
+ \usekomavar{fromname}%
+% \end{macrocode}
+% Hat \verb|\@rulefrom| den nummerischen Wert 1, so soll direkt auf den
+% Absender eine Linie folgen. Die Länge dieser Linie kann vom Anwender
+% bestimmt oder automatisch gewählt werden. Es werden dabei die Pseudo-Längen
+% \texttt{fromrulewidth} und \texttt{fromrulethickness} verwendet. Ist
+% \texttt{fromrulewidth} 0, so wird sie automatisch bestimmt. Bei der
+% automatischen Längenbestimmung wird einfach eine Linie über die Gesamtbreite
+% der Absenderergänzung gesetzt.
+% \begin{macrocode}
+ {%
+ \ifnum\@rulefrom=1\\[-.5\baselineskip]%
+ \usekomafont{fromrule}{%
+ \setlength{\@tempdima}{\useplength{fromrulewidth}}%
+ \ifdim\@tempdima=\z@
+ \setlength{\@tempdima}{\useplength{locwidth}}%
+ \fi
+ \expandafter\rule\expandafter{\the\@tempdima}{%
+ \useplength{fromrulethickness}}%
+ }%
+ \fi
+ }%
+ \\
+ }%
+% \end{macrocode}
+% Als Nächstes wird die Absenderadresse einschließlich aller optionalen Felder
+% gesetzt. Dabei werden optionale Felder nur gesetzt, wenn der entsprechende
+% Schalter \emph{true} ist. Die Adresse wird ebenfalls innerhalb einer Gruppe
+% in einer eigenen Schriftart gesetzt.%
+% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
+% berücksichtigt}%^^A
+% \begin{macrocode}
+ {\usekomafont{fromaddress}\strut\ignorespaces
+ \usekomavar{fromaddress}%
+ \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi%
+ \if@mobilephone
+ \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}%
+ \fi%
+ \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi%
+ \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi%
+ \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi%
+% \end{macrocode}
+% Wie weiter oben erwähnt, kann auch an dieser Stelle eine Linie gesetzt
+% werden.
+% \begin{macrocode}
+ \ifnum\@rulefrom=2\\[-.5\baselineskip]%
+ \usekomafont{fromrule}{%
+ \setlength{\@tempdima}{\useplength{fromrulewidth}}%
+ \ifdim\@tempdima=\z@
+ \setlength{\@tempdima}{\useplength{locwidth}}%
+ \fi
+ \expandafter\rule\expandafter{\the\@tempdima}{%
+ \useplength{fromrulethickness}}}%
+ \fi
+ \\
+ }%
+% \end{macrocode}
+% Damit ist die Definition des linksbündigen Absenders in der
+% Absenderergänzung abgeschlossen. Im Fall 4, also rechtsbündiger Absender in
+% der Absenderergänzung wird hier exakt wie für Fall 3 verfahren. Nur ist
+% jetzt alles rechtsbündig.^^A%
+% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
+% berücksichtigt}%^^A%
+% \begin{macrocode}
+ \or
+ \raggedleft
+ \if@logo
+ \ifkomavarempty{fromlogo}{}{\usekomavar{fromlogo}\par}%
+ \fi
+ {\usekomafont{fromname}\strut\ignorespaces
+ \usekomavar{fromname}%
+ {%
+ \ifnum\@rulefrom=1\\[-.5\baselineskip]%
+ \usekomafont{fromrule}{%
+ \setlength{\@tempdima}{\useplength{fromrulewidth}}%
+ \ifdim\@tempdima=\z@
+ \setlength{\@tempdima}{\useplength{locwidth}}%
+ \fi
+ \expandafter\rule\expandafter{\the\@tempdima}{%
+ \useplength{fromrulethickness}}%
+ }%
+ \fi
+ }%
+ \\
+ }%
+ {\usekomafont{fromaddress}\strut\ignorespaces
+ \usekomavar{fromaddress}%
+ \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi%
+ \if@mobilephone%
+ \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}%
+ \fi%
+ \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi%
+ \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi%
+ \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi%
+ \ifnum\@rulefrom=2\\[-.5\baselineskip]%
+ \usekomafont{fromrule}{%
+ \setlength{\@tempdima}{\useplength{fromrulewidth}}%
+ \ifdim\@tempdima=\z@
+ \setlength{\@tempdima}{\useplength{locwidth}}%
+ \fi
+ \expandafter\rule\expandafter{\the\@tempdima}{%
+ \useplength{fromrulethickness}}}%
+ \fi
+ \\
+ }%
+% \end{macrocode}
+% In allen anderen Fällen wird ebenfalls die Absenderergänzung gesetzt.
+% \begin{macrocode}
+ \fi
+ \usekomavar{location}%
+% \end{macrocode}
+% \selectlanguage{english}%^^A
+% That's it.
+% \begin{macrocode}
+ }\relax
+ }%
+}
+% \end{macrocode}
+% \end{macro}%^^A \scr@notepaper@element@location
+% \begin{macro}{\scr@notepaper@element@refline}
+% \changes{v3.27}{2019/05/03}{new (internal)}%^^A
+% This notepaper element replaces the \cs{@datefield} of
+% \textsf{scrlttr2}. In opposite to \textsf{scrlttr2} this element has a
+% dedicated height \texttt{reflineheight}.
+% TODO: Still missing!
+% \begin{macrocode}
+\newcommand*{\scr@notepaper@element@refline}{%
+% \end{macrocode}
+% First of all test, whether or not their has to be set anything.
+% \begin{macrocode}
+ \@tempswafalse
+ \if@refline
+ \let\do@set@reffield\@test@reffield
+%<trace> \let\@tempa\@empty
+ \@set@reffields
+% \end{macrocode}
+% Maybe we have to add the date:
+% \begin{macrocode}
+ \ifcase \@datepos
+ \or
+ \if@tempswa\addtoreffields{date}\fi
+ \expandafter\let\csname if@refline\expandafter\endcsname
+ \csname if@tempswa\endcsname
+ \@test@reffield{date}%
+ \or
+ \if@tempswa
+ \edef\expandafter\@set@reffields{%
+ \unexpanded{\do@set@reffield{date}}%
+ \unexpanded\expandafter{\@set@reffields}%
+ }%
+ \fi
+ \expandafter\let\csname if@refline\expandafter\endcsname
+ \csname if@tempswa\endcsname
+ \@test@reffield{date}%
+ \fi
+ \fi
+ \if@tempswa
+% \end{macrocode}
+% We have to print something, so let's calculate the position and height.
+% \begin{macrocode}
+ \ifdim\useplength{refwidth}=\z@
+%<trace> \typeout{TRACE: refwidth by option}%
+ \if@refwide
+%<trace> \typeout{TRACE: refline=wide}%
+ \ifdim \useplength{toaddrhpos}>\z@
+ \setplength{refhpos}{\useplength{toaddrhpos}}%
+ \else
+ \setplength[-]{refhpos}{\useplength{toaddrhpos}}%
+ \fi
+ \setplength{refwidth}{\paperwidth -2\useplength{refhpos}}%
+ \else
+%<trace> \typeout{TRACE: refline=narrow}%
+ \setplength{refwidth}{\textwidth}%
+ \setplength{refhpos}{\oddsidemargin+1in}%
+ \fi
+ \else
+%<trace> \typeout{TRACE: refwidth by pseudo-length}%
+ \ifdim\useplength{refhpos}=\z@
+ \setlength{\@tempdima}{\dimexpr
+ \textwidth-\useplength{refwidth}
+ \relax}%
+ \setlength{\@tempdimb}{\dimexpr \oddsidemarin+1in\relax}%
+ \setlength{\@tempdimc}{\dimexpr \paperwidth-\textwidth\relax}%
+ \divide\@tempdimb by 32768\relax
+ \divide\@tempdimc by 32768\relax
+ \ifdim\@tempdimc=\z@\else
+ \multiply\@tempdima by\@tempdimb
+ \divide\@tempdima by\@tempdimc
+ \fi
+ \setplength{refhpos}{\@tempdima}%
+ \fi
+ \fi
+%<*trace>
+ \typeout{TRACE: Reference line with \@tempa^^J
+ \space\space\space\space\space\space
+ at refhpos=\the\useplength{refhpos},^^J
+ \space\space\space\space\space\space\space\space\space
+ refvpos=\the\useplength{refvpos},^^J
+ \space\space\space\space\space\space\space\space\space
+ refwidth=\the\useplength{refwidth},^^J
+ \space\space\space\space\space\space\space\space\space
+ refheight=\the\useplength{refheight}}%
+%</trace>
+ \put@notepaper@element
+ (\useplength{refhpos},\useplength{refvpos})%
+ (\useplength{refwidth},\useplength{refheight})%
+ {Element `refline'}%
+ {%
+% \end{macrocode}
+% Last but not least print it.
+% \begin{macrocode}
+ \if@refline
+% \end{macrocode}
+% Print a reference line.
+% \begin{macrocode}
+ \let\do@set@reffield\@set@reffield\@tempswafalse\@set@reffields
+ \else
+% \end{macrocode}
+% Print only place and date.
+% \begin{macrocode}
+ \ifnum \@datepos=1 \hspace*{\fill}\fi
+ {%
+ \usekomafont{placeanddate}{%
+ \ifkomavarempty{place}{}{%
+ \usekomavar{place}\usekomavar{placeseparator}%
+ }%
+ \usekomavar{date}%
+ }%
+ }%
+ \fi
+ }%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}%^^A \scr@notepaper@element@refline
+% \end{macro}%^^A \scr@notepaper@elements
+% \begin{macro}{\put@notepager@element}
+% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% \begin{macro}{\put@@notepager@@element}
+% \changes{v3.27}{2019/05/03}{new (internal)}%^^A
+% A helper macro to output one element at a specific
+% position. \texttt{(\#1,\#2)} is the position, \texttt{(\#3,\#4)} the allowed
+% width and height, \texttt{\#5} is the name of the element (used for warning
+% messages only), \texttt{\#6} is the element content. The content is first
+% put into a temporary box of type \texttt{vtop}. Optional code can be
+% executed immediately before testing the total height of this box
+% \cs{@tempboxa} and before using it.
+% \begin{macrocode}
+\newcommand{\put@notepaper@element}{}
+\long\def\put@notepaper@element(#1,#2)(#3,#4)#5#6{%
+ \kernel@ifnextchar [%]
+ {\put@@notepaper@@element({#1},{#2})({#3},{#4}){#5}{#6}}%
+ {\put@@notepaper@@element({#1},{#2})({#3},{#4}){#5}{#6}[]}%
+}
+\newcommand{\put@@notepaper@@element}{}
+\long\def\put@@notepaper@@element(#1,#2)(#3,#4)#5#6[#7]{%
+ \put(\LenToUnit{\dimexpr #1\relax},\LenToUnit{-\dimexpr #2\relax}){%
+ \setbox\@tempboxa \vtop{%
+ \color@begingroup
+ \vskip \z@
+ \hsize=\dimexpr #3\relax
+ \linewidth=\hsize
+ \columnwidth=\linewidth
+ \textwidth=\columnwidth
+ \parfillskip=\z@ \@plus 1fil\relax
+ #6
+ \color@endgroup
+ }%
+ #7%
+ \ifdim \dimexpr\ht\@tempboxa+\dp\@tempboxa\relax > \dimexpr #4\relax
+ \PackageWarning{scrletter}{#5
+ \the\dimexpr \ht\@tempboxa+\dp\@tempboxa-(#4)\relax\space
+ to high.\MessageBreak
+ The content could collide with other page contents\MessageBreak
+ or break the page edges. You should reduce the\MessageBreak
+ size before usage%
+ }%
+ \fi
+ \usebox\@tempboxa
+ }%
+}
+%</package&body&willbe>
+% \end{macrocode}
+% \end{macro}%^^A \put@@notepaper@@element
+% \end{macro}%^^A \put@notepaper@element
+% \selectlanguage{ngerman}%^^A
%
% \begin{macro}{\move@topt}
-% \changes{v2.8n}{2001/09/07}{Neu}^^A
-% Für die folgenden Aktionen wird ein Makro benötigt, mit dem man vertikal von
+% \changes{v2.8n}{2001/09/07}{Neu}%^^A
+% Für die folgenden Aktionen wird ein Makro benötigt, mit dem man vertikal von
% der relativen Seitenposition zur relativen Papierposition gelangen kann.
% \begin{macrocode}
\newcommand*{\move@topt}{%
@@ -1978,9 +2872,9 @@
}
% \end{macrocode}
% \begin{macro}{\move@frompt}
-% \changes{v2.8n}{2001/09/07}{Neu}^^A
-% Natürlich wird auch ein Makro benötigt, um vertikal von einer relativen
-% Papierposition wieder auf die relative Seitenposition zurück zu gelangen.
+% \changes{v2.8n}{2001/09/07}{Neu}%^^A
+% Natürlich wird auch ein Makro benötigt, um vertikal von einer relativen
+% Papierposition wieder auf die relative Seitenposition zurück zu gelangen.
% \begin{macrocode}
\newcommand*{\move@frompt}{%
\vskip 1in\vskip \topmargin%
@@ -1994,8 +2888,8 @@
% \end{macro}
%
% \begin{macro}{\move@topl}
-% \changes{v2.8n}{2001/09/07}{Neu}^^A
-% Für die folgenden Aktionen wird außerdem ein Makro benötigt, mit dem man
+% \changes{v2.8n}{2001/09/07}{Neu}%^^A
+% Für die folgenden Aktionen wird außerdem ein Makro benötigt, mit dem man
% horizontal von der relativen Seitenposition zur relativen Papierposition
% gelangen kann.
% \begin{macrocode}
@@ -2006,9 +2900,9 @@
}
% \end{macrocode}
% \begin{macro}{\move@frompl}
-% \changes{v2.8n}{2001/09/07}{Neu}^^A
-% Natürlich wird auch ein Makro benötigt, um horizontal von einer relativen
-% Papierposition wieder auf die relative Seitenposition zurück zu gelangen.
+% \changes{v2.8n}{2001/09/07}{Neu}%^^A
+% Natürlich wird auch ein Makro benötigt, um horizontal von einer relativen
+% Papierposition wieder auf die relative Seitenposition zurück zu gelangen.
% \begin{macrocode}
\newcommand*{\move@frompl}{%
\hskip 1in%
@@ -2021,13 +2915,13 @@
%
%
% \begin{macro}{\vb@t@z}
-% \changes{v2.8n}{2001/09/07}{Neu}^^A
-% \changes{v2.95}{2006/03/23}{Absatzformatierung mit \cs{setparsizes}}
-% \changes{v2.97e}{2007/11/20}{\cs{long}}
-% Ausserdem wird ein vertikales Äquivalent zu |\rlap| benötigt.
+% \changes{v2.8n}{2001/09/07}{Neu}%^^A
+% \changes{v2.95}{2006/03/23}{Absatzformatierung mit \cs{setparsizes}}
+% \changes{v2.97e}{2007/11/20}{\cs{long}}
+% Ausserdem wird ein vertikales Äquivalent zu |\rlap| benötigt.
% \begin{macrocode}
\newcommand{\vb@t@z}[1]{{%
- \setbox\z@\vbox to\z@{#1\vss}%
+ \setbox\z@\vbox to\z@{\color@begingroup #1\color@endgroup\vss}%
\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative
\setlength{\baselineskip}{\z@}%
\setlength{\@tempdima}{\ht0}\addtolength{\@tempdima}{\dp0}%
@@ -2038,25 +2932,27 @@
% \end{macro}
%
% \begin{macro}{\@foldmarks}
-% \changes{v2.97e}{2007/11/08}{\texttt{mfoldmarkvpos} wird verwendet}
-% Für die Faltmarken müssen nicht nur Abstände definiert werden, es wird auch
-% ein Befehl benötigt, um die Faltmarken zu setzen.
+% \changes{v2.97e}{2007/11/08}{\texttt{mfoldmarkvpos} wird verwendet}%^^A
+% Für die Faltmarken müssen nicht nur Abstände definiert werden, es wird auch
+% ein Befehl benötigt, um die Faltmarken zu setzen.
% \begin{macro}{\@hfoldmark}
-% \changes{v2.97e}{2007/11/08}{Neu (intern)}^^A
-% Dabei werden nur die horizontalen Faltmarken gesetzt, die tatsächlich
+% \changes{v2.97e}{2007/11/08}{Neu (intern)}%^^A
+% Dabei werden nur die horizontalen Faltmarken gesetzt, die tatsächlich
% existieren.
% \begin{macro}{\@foldmark}
-% \changes{v2.8n}{2001/09/07}{Neu}^^A
-% \changes{v2.95}{2006/06/06}{\cs{vskip} in \cs{vb@t@z} verschoben, damit es
-% vom Satzspiegel unabhängig wird}
-% \changes{v2.97c}{2007/05/08}{Dicke konfigurierbar}^^A
-% \changes{v2.97c}{2007/05/08}{Schrift (Farbe) konfigurierbar}^^A
+% \changes{v2.8n}{2001/09/07}{Neu}%^^A
+% \changes{v2.95}{2006/06/06}{\cs{vskip} in \cs{vb@t@z} verschoben, damit es
+% vom Satzspiegel unabhängig wird}%^^A
+% \changes{v2.97c}{2007/05/08}{Dicke konfigurierbar}%^^A
+% \changes{v2.97c}{2007/05/08}{Schrift (Farbe) konfigurierbar}%^^A
+% \changes{v3.27}{2019/03/29}{different versions for package and class}%^^A
% Das geht am einfachsten, wenn wir auch einen Befehl haben, mit dem man eine
% einzelne Faltmarke relativ zur aktuellen Position setzen kann. Dies
-% geschieht mit Hilfe von |\rlap|, damit die horizontale Position unverändert
+% geschieht mit Hilfe von |\rlap|, damit die horizontale Position unverändert
% bleibt. Als Parameter werden der vertikale Abstand zur aktuellen Position
-% und die Länder der Marke übergeben.
+% und die Länder der Marke übergeben.
% \begin{macrocode}
+%<*class|!willbe>
\newcommand*{\@foldmark}[2]{%
\vb@t@z{\setlength{\@tempdima}{#1}%
\addtolengthplength[-.5]{\@tempdima}{foldmarkthickness}%
@@ -2066,12 +2962,29 @@
\rule{#2}{\useplength{foldmarkthickness}}}}}%
\ignorespaces
}
+%</class|!willbe>
+% \end{macrocode}
+% \selectlanguage{english}%^^A
+% The package version uses \cs{put} to set the marks. It has a possition, a
+% direction and a length, so it can handle the horizontal and the vertical
+% foldmarks.
+% \begin{macrocode}
+%<*package&willbe>
+\newcommand*{\@foldmark}{}
+\def\@foldmark(#1,#2)(#3,#4)#5{%
+ \put(\LenToUnit{#1},-\LenToUnit{#2}){%
+ \linethickness{\useplength{foldmarkthickness}}%
+ \line(#3,-#4){\LenToUnit{#5}}%
+ }%
+}
+%</package&willbe>
\newcommand*{\@hfoldmark}[1]{%
\begingroup
\@expandtwoargs\in@{#1}{\@usefolds}%
\ifin@
\lowercase{%
\edef\@tempa{%
+%<*class|!willbe>
\noexpand\ifdim \noexpand\useplength{#1foldmarkvpos}=\noexpand\z@
\noexpand\else
\noexpand\@foldmark{%
@@ -2080,6 +2993,34 @@
\noexpand\useplength{#1foldmarklength}%
}%
\noexpand\fi
+%</class|!willbe>
+% \end{macrocode}
+% \changes{v3.27}{2019/03/29}{different handling of the package version}%^^A
+% The package version of \cs{@foldmark} has a new direction argument, because
+% it handles horizontal and vertical foldmarks. And if there is not a
+% pseudo-length for the vertical possition of the horizontal fold-mark the
+% possition is half of the paper height. This is for the ``P''-mark.
+% \selectlanguage{ngerman}%^^A
+% \begin{macrocode}
+%<*package&willbe>
+ \Ifplength{#1foldmarkvpos}{%
+ \ifdim \useplength{#1foldmarkvpos}=\z@\else
+ \noexpand\@foldmark(\noexpand\useplength{foldmarkhpos},%
+ \noexpand\useplength{#1foldmarkvpos})%
+ (1,0)%
+ {%
+ \noexpand\useplength{#1foldmarklength}%
+ }%
+ \fi
+ }{%
+ \noexpand\@foldmark(\noexpand\useplength{foldmarkhpos},%
+ .5\noexpand\paperheight)%
+ (1,0)%
+ {%
+ \noexpand\useplength{#1foldmarklength}%
+ }%
+ }%
+%</package&willbe>
}%
}%
\@tempa
@@ -2088,17 +3029,23 @@
}
% \end{macrocode}
% \begin{macro}{\@vfoldmark}
-% \changes{v2.97e}{2007/11/10}{Neu (intern)}^^A
-% Für die vertikale(n) Faltmarke(n) gilt prinzipiell das gleiche. Dabei ist
+% \changes{v2.97e}{2007/11/10}{Neu (intern)}%^^A
+% Für die vertikale(n) Faltmarke(n) gilt prinzipiell das gleiche. Dabei ist
% lediglich zu beachten, dass die Linie hier komplett oberhalb der Grundlinie
-% gesetzt wird, also die vertikale Position um die Länge nach unten zu
+% gesetzt wird, also die vertikale Position um die Länge nach unten zu
% verschieben ist.
% \begin{macrocode}
\newcommand*{\@vfoldmark}[1]{%
\begingroup
- \@expandtwoargs\in@{#1}{\@usefolds}%
- \ifin@
- \ifdim \useplength{lfoldmarkhpos}=\z@\else
+ \ifdim \useplength{lfoldmarkhpos}=\z@\else
+ \@expandtwoargs\in@{#1}{\@usefolds}%
+ \ifin@
+% \end{macrocode}
+% \selectlanguage{english}%^^A
+% \changes{v3.27}{2019/03/29}{package version uses \cs{@foldmark}}%^^A
+% The class version does still work using \cs{rule}.
+% \begin{macrocode}
+%<*class|willbe>
\vb@t@z{%
\ifdim \useplength{foldmarkvpos}<\z@
\nobreak\vskip \paperheight\nobreak
@@ -2116,10 +3063,24 @@
}%
}%
\ignorespaces
+%</class|willbe>
+% \end{macrocode}
+% But the package version uses \cs{@foldmark}.
+% \begin{macrocode}
+%<*package&willbe>
+ \@foldmark(\useplength{lfoldmarkhpos},\useplength{foldmarkvpos})%
+ (0,1)%
+ {\useplength{lfoldmarklength}}%
+%</package&willbe>
\fi
\fi
\endgroup
}
+% \end{macrocode}
+% The main foldmark command is only needed by the class.
+% \selectlanguage{ngerman}%^^A
+% \begin{macrocode}
+%<*class|!willbe>
\newcommand*{\@foldmarks}{%
\if@fold%
\typeout{Foldmarks: yes}%
@@ -2154,6 +3115,7 @@
\typeout{Foldmarks: no}%
\fi%
}
+%</class|!willbe>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2161,29 +3123,29 @@
% \end{macro}
%
% \begin{macro}{\@savevbox}
-% \changes{v2.8n}{2001/09/07}{Neu}^^A
-% \changes{v2.8q}{2001/10/30}{zusätzlich ein optionales Argument}^^A
+% \changes{v2.8n}{2001/09/07}{Neu}%^^A
+% \changes{v2.8q}{2001/10/30}{zusätzlich ein optionales Argument}%^^A
% \begin{macro}{\if@savevbox@warning}
% \begin{macro}{\@savevbox@warningtrue}
% \begin{macro}{\@savevbox@warningfalse}
-% \changes{v2.8q}{2001/10/30}{Neu}^^A
+% \changes{v2.8q}{2001/10/30}{Neu}%^^A
% Wenn eine der vertikalen Boxen in \cs{opening} zu einer \texttt{overbox
-% \string\vbox\space} Meldung führt, weiss letztlich niemand, welche Box dafür
+% \string\vbox\space} Meldung führt, weiss letztlich niemand, welche Box dafür
% verantwortlich war. Deshalb definieren wir hier ein Makro, das ggf. eine
-% Meldung ausgibt, die erklärt, welches Element die Ursache war und was man
-% tun kann. Das erste Argument ist dabei die Sollhöhe der Box, das zweite
+% Meldung ausgibt, die erklärt, welches Element die Ursache war und was man
+% tun kann. Das erste Argument ist dabei die Sollhöhe der Box, das zweite
% Argument ist der Boxinhalt, das dritte Argument is der Name des Elements,
-% das zu hoch ist, das vierte der Name der Elementhöhe und das fünfte
-% schließlich der Befehl, mit dem das Element vom Anwender definiert werden
+% das zu hoch ist, das vierte der Name der Elementhöhe und das fünfte
+% schließlich der Befehl, mit dem das Element vom Anwender definiert werden
% kann. Das optionale Argument wird nur bei der Ausgabe mit ausgegeben, findet
-% jedoch bei der Berechnung keine Berücksichtigung.
+% jedoch bei der Berechnung keine Berücksichtigung.
% \begin{macrocode}
\newif\if@savevbox@warning\@savevbox@warningtrue
\newcommand{\@savevbox}[6][]{%
\begingroup%
\vbox to #2{#1#3}%
\if@savevbox@warning\@savevbox@warningfalse%
- \setbox\z@\vbox{#3}%
+ \setbox\z@\vbox{\color@begingroup #3\color@endgroup}%
\setlength{\@tempdima}{#2}%
\setlength{\@tempdimb}{\ht0}\addtolength{\@tempdimb}{\dp0}%
\ifdim \@tempdimb>\@tempdima%
@@ -2208,23 +3170,29 @@
% \end{macro}
%
% \begin{macro}{\@firstheadfootfield}
-% \changes{v2.8n}{2001/09/08}{Neu}^^A
-% \changes{v2.8q}{2001/10/30}{\cs{parfillskip} lokal auf 0 gesetzt}
-% \changes{v2.8q}{2001/10/30}{Fuß explizit in eine Box gesetzt}^^A
-% \changes{v2.9l}{2003/01/23}{Positionierung verbessert}^^A
-% \changes{v2.97e}{2007/11/22}{Optionen \texttt{firsthead} und
-% \texttt{firstfoot} beachten}
-% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstheadhpos}^^A
-% beachtet}
-% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstfoothpos}^^A
-% beachtet}
-% Ab Version 2.8n werden Kopf und Fuß der ersten Seite nicht mehr per
+% \changes{v2.8n}{2001/09/08}{Neu}%^^A
+% \changes{v2.8q}{2001/10/30}{\cs{parfillskip} lokal auf 0 gesetzt}
+% \changes{v2.8q}{2001/10/30}{Fuß explizit in eine Box gesetzt}%^^A
+% \changes{v2.9l}{2003/01/23}{Positionierung verbessert}%^^A
+% \changes{v2.97e}{2007/11/22}{Optionen \texttt{firsthead} und
+% \texttt{firstfoot} beachten}%^^A
+% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstheadhpos}
+% beachtet}%^^A
+% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstfoothpos}
+% beachtet}%^^A
+% Ab Version 2.8n werden Kopf und Fuß der ersten Seite nicht mehr per
% Seitenstil \texttt{firstpage} gesetzt, sondern mit einem speziellen
% Feld. Dabei wird auch beachtet, dass dieses Feld im Kopf eine bestimmte aber
-% beschränkte Höhe hat. Diese Höhe ist unabhängig von der normalen Kopfhöhe
+% beschränkte Höhe hat. Diese Höhe ist unabhängig von der normalen Kopfhöhe
% und richtet sich stattdessen nach der Position des Adressfeldes.
+% \selectlanguage{english}%^^A
+% \changes{v3.27}{2019/03/22}{package only enlarges page}%^^A
+% From \KOMAScript~3.27 the \textsf{scrlayer} package does not print the page
+% head or foot here. It only enlarges or shrinks the first page.
+% \selectlanguage{ngerman}%^^A
% \begin{macrocode}
\newcommand*{\@firstheadfootfield}{%
+%<*class|!willbe>
\if@firsthead
\typeout{Head of first page}%
\move@topt\vskip\useplength{firstheadvpos}%
@@ -2233,9 +3201,9 @@
% \end{macrocode}
% Wenn \texttt{firstheadhpos} positiv und kleiner als die Seitenbreite ist,
% dann ist es der Abstand des Kopfes vom linken Rand.
-% Wenn \texttt{firstheadhpos} negativ und betragsmäßig kleiner als die
+% Wenn \texttt{firstheadhpos} negativ und betragsmäßig kleiner als die
% Seitenbreite ist, dann ist es der Abstand des Kopfes vom rechten Rand.
-% Wenn \texttt{firstheadhpos} größer als die Seitenbreite ist, dann wird der
+% Wenn \texttt{firstheadhpos} größer als die Seitenbreite ist, dann wird der
% Kopf zentriert.
% Wenn \texttt{firstheadhpos} kleiner als die negative Seitenbreite ist, dann
% wird der Kopf am linken Rand des Satzspiegels ausgerichtet.
@@ -2264,9 +3232,9 @@
\addtolength{\@tempskipa}{-\baselineskip}%
% \end{macrocode}
% Da sich einige -- beispielsweise |briefkopf.sty| -- darauf verlassen, dass
-% |\textwidth| die Breite des Briefkopfes ist, wird diese Länge lokal
-% entsprechend gesetzt. Außerdem wird dafür gesorgt, dass |\parfillskip| hier
-% nicht berücksichtigt wird.
+% |\textwidth| die Breite des Briefkopfes ist, wird diese Länge lokal
+% entsprechend gesetzt. Außerdem wird dafür gesorgt, dass |\parfillskip| hier
+% nicht berücksichtigt wird.
% \begin{macrocode}
\setlength{\textwidth}{\useplength{firstheadwidth}}%
\setlength{\parfillskip}{\z@ \@plus 1fil}%
@@ -2288,9 +3256,9 @@
% \end{macrocode}
% Wenn \texttt{firstfoothpos} positiv und kleiner als die Seitenbreite ist,
% dann ist es der Abstand des Kopfes vom linken Rand.
-% Wenn \texttt{firstfoothpos} negativ und betragsmäßig kleiner als die
+% Wenn \texttt{firstfoothpos} negativ und betragsmäßig kleiner als die
% Seitenbreite ist, dann ist es der Abstand des Kopfes vom rechten Rand.
-% Wenn \texttt{firstfoothpos} größer als die Seitenbreite ist, dann wird der
+% Wenn \texttt{firstfoothpos} größer als die Seitenbreite ist, dann wird der
% Kopf zentriert.
% Wenn \texttt{firstfoothpos} kleiner als die negative Seitenbreite ist, dann
% wird der Kopf am linken Rand des Satzspiegels ausgerichtet.
@@ -2317,9 +3285,9 @@
\vskip\useplength{firstfootvpos}%
% \end{macrocode}
% Da sich einige -- beispielsweise |briefkopf.sty| -- darauf verlassen, dass
-% |\textwidth| die Breite des Brieffußes ist, wird diese Länge lokal
-% entsprechend gesetzt. Außerdem wird dafür gesorgt, dass |\parfillskip| hier
-% nicht berücksichtigt wird.
+% |\textwidth| die Breite des Brieffußes ist, wird diese Länge lokal
+% entsprechend gesetzt. Außerdem wird dafür gesorgt, dass |\parfillskip| hier
+% nicht berücksichtigt wird.
% \begin{macrocode}
\setlength{\textwidth}{\useplength{firstfootwidth}}%
\setlength{\parfillskip}{\z@ \@plus 1fil}%
@@ -2332,6 +3300,7 @@
\typeout{No foot at first page}%
\fi
\move@frompt%
+%</class|!willbe>
{%
\setlength{\@tempdima}{1in}\addtolength{\@tempdima}{\topmargin}%
\addtolength{\@tempdima}{\headheight}%
@@ -2351,25 +3320,27 @@
% \end{macro}
%
% \begin{macro}{\@addrfield}
-% \changes{v2.8q}{2002/04/01}{\cs{parfillskip} lokal geändert}^^A
-% \changes{v2.8q}{2002/06/03}{Sonderbehandlung für Adressfeld rechts}^^A
-% \changes{v2.9o}{2003/02/20}{\cs{noindent} eingefügt bei
-% \texttt{specialmail}}^^A
-% \changes{v2.96}{2006/07/31}{Benutzung von \cs{backaddr@format}}^^A
-% \changes{v3.03}{2009/03/04}{Priorität kann Versandart ersetzen}^^A
+% \changes{v2.8q}{2002/04/01}{\cs{parfillskip} lokal geändert}%^^A
+% \changes{v2.8q}{2002/06/03}{Sonderbehandlung für Adressfeld rechts}%^^A
+% \changes{v2.9o}{2003/02/20}{\cs{noindent} eingefügt bei
+% \texttt{specialmail}}%^^A
+% \changes{v2.96}{2006/07/31}{Benutzung von \cs{backaddr@format}}%^^A
+% \changes{v3.03}{2009/03/04}{Priorität kann Versandart ersetzen}%^^A
% \changes{v3.03}{2009/03/04}{Neue Anschriftmodi \texttt{PP},
-% \texttt{backgroundimage}, \texttt{addresseeimage}}^^A
-% \changes{v3.03b}{2009/06/30}{Schreibfehler bei »addressee« korrigiert}^^A
+% \texttt{backgroundimage}, \texttt{addresseeimage}}%^^A
+% \changes{v3.03b}{2009/06/30}{Schreibfehler bei »addressee« korrigiert}%^^A
% \changes{v3.06a}{2010/07/29}{Absatzparameter werden passend
-% eingestellt}^^A
+% eingestellt}%^^A
% \changes{v3.22}{2016/12/21}{zweimal fehlende Klammern bei \texttt{toname}
-% ergänzt}^^A
+% ergänzt}%^^A
% \changes{v3.22}{2016/12/21}{zweimal fehlende Klammern und \cs{endgraf} bei
-% \texttt{toaddress} ergänzt}^^A
-% Dasselbe gilt auch für das Adressfeld für Fensterumschläge. Die
-% Rücksendeadresse und die Briefart werden dabei mit eigenen
+% \texttt{toaddress} ergänzt}%^^A
+% \changes{v3.27}{2019/03/27}{only at \textsf{scrlttr2}}%^^A
+% Dasselbe gilt auch für das Adressfeld für Fensterumschläge. Die
+% Rücksendeadresse und die Briefart werden dabei mit eigenen
% Formatieranweisungen gesetzt.
% \begin{macrocode}
+%<*class|!willbe>
\newcommand*{\@addrfield}{%
\ifcase \ifnum\@afieldmode=5 \@ne\else\@afieldmode\fi\relax
\typeout{Address: No}%
@@ -2455,7 +3426,7 @@
\begingroup%
% \end{macrocode}
% In den Modi \texttt{PP}, \texttt{backgroundimage} oder \texttt{addresseeimage}
-% gibt es weder Rücksendeadresse noch Versandart aber ebenfalls eine Priorität.
+% gibt es weder Rücksendeadresse noch Versandart aber ebenfalls eine Priorität.
% \begin{macrocode}
\if@baddr
\let\@tempa\@empty\let\@tempb\@empty
@@ -2517,9 +3488,9 @@
\setlength{\parindent}{0pt}%
\hsize \dimexpr \useplength{PPheadwidth}-2\fboxsep\relax
% \end{macrocode}
-% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt}^^A
+% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt}%^^A
% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt
-% \cs{unskip}\cs{strut}}^^A
+% \cs{unskip}\cs{strut}}%^^A
% \begin{macrocode}
\sbox\@tempboxa{%
{\fontsize{20.74pt}{20.74pt}\selectfont
@@ -2616,10 +3587,11 @@
\vskip-\useplength{toaddrvpos}\move@frompt
\fi
}
+%</class|!willbe>
% \end{macrocode}
% \begin{macro}{\specialmail@format}
-% \changes{v2.97c}{2007/07/06}{neu (intern)}^^A
-% Die Anweisung, die für das Aussehen der Versandart zuständig ist.
+% \changes{v2.97c}{2007/07/06}{neu (intern)}%^^A
+% Die Anweisung, die für das Aussehen der Versandart zuständig ist.
% \begin{macrocode}
\newcommand*{\specialmail@format}[1]{}
\let\specialmail@format\underline
@@ -2627,7 +3599,7 @@
% \end{macro}
%
% \begin{macro}{\@ogobble}
-% \changes{v2.8q}{2002/01/22}{Neu}^^A
+% \changes{v2.8q}{2002/01/22}{Neu}%^^A
% In obiger Definition wird das Makro \cs{@ogobble} verwendet, um
% einen optionalen Parameter zu vernichten, falls dieser existiert.
% \begin{macrocode}
@@ -2637,12 +3609,14 @@
% \end{macro}
%
% \begin{macro}{\@locfield}
-% \changes{v2.8o}{2001/09/17}{\cs{noindent} eingefügt}
-% \changes{v2.8q}{2002/02/07}{\cs{noindent} nach dem Logo}
-% \changes{v2.8q}{2002/07/23}{Berechnung der Breite hierher verschoben}^^A
-% \changes{v2.8q}{2002/06/03}{Sonderbehandlung für Adressfeld rechts}^^A
-% Das "`locfield"' wird unabhängig von der Adresse gesetzt.
-% \begin{macrocode}
+% \changes{v2.8o}{2001/09/17}{\cs{noindent} eingefügt}
+% \changes{v2.8q}{2002/02/07}{\cs{noindent} nach dem Logo}
+% \changes{v2.8q}{2002/07/23}{Berechnung der Breite hierher verschoben}%^^A
+% \changes{v2.8q}{2002/06/03}{Sonderbehandlung für Adressfeld rechts}%^^A
+% \changes{v3.27}{2019/03/27}{only at \textsf{scrlttr2}}%^^A
+% Das "`locfield"' wird unabhängig von der Adresse gesetzt.
+% \begin{macrocode}
+%<*class|!willbe>
\newcommand*{\@locfield}{%
\ifdim \useplength{locwidth}=\z@%
\@setplength{locwidth}{\paperwidth}%
@@ -2659,45 +3633,45 @@
\fi%
\fi%
% \end{macrocode}
-% \changes{v2.97e}{2007/11/13}{Der Absender kann nun ebenfalls in der
-% Absenderergänzung stehen}^^A
-% \changes{v2.98b}{2008/01/30}{Absenderergänzung immer setzen, wenn
-% verwendet}^^A
+% \changes{v2.97e}{2007/11/13}{Der Absender kann nun ebenfalls in der
+% Absenderergänzung stehen}%^^A
+% \changes{v2.98b}{2008/01/30}{Absenderergänzung immer setzen, wenn
+% verwendet}%^^A
% Je nach Absenderanordnung muss hier nun ebenfalls etwas getan werden.
-% Der Fall 0, also linksbündiger Absender im Kopf spielt hier keine Rolle.
+% Der Fall 0, also linksbündiger Absender im Kopf spielt hier keine Rolle.
% \begin{macrocode}
\ifcase\@alignfrom
% \end{macrocode}
% Im Fall 1, also zentrierter Absender im Kopf wird jedoch das Logo hier
-% platziert, also darf die Absenderergänzung nicht leer sein.
+% platziert, also darf die Absenderergänzung nicht leer sein.
% \begin{macrocode}
\or
\if@logo
\ifkomavarempty{location}{\setkomavar{location}{\null}}{}%
\fi
% \end{macrocode}
-% Im Fall 2, also rechtsbündiger Absender im Kopf, ist auch nichts zu tun.
+% Im Fall 2, also rechtsbündiger Absender im Kopf, ist auch nichts zu tun.
% \begin{macrocode}
\or
% \end{macrocode}
-% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier
-% eine Menge ausgegeben, also darf die Absenderergänzung nicht leer sein.
+% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier
+% eine Menge ausgegeben, also darf die Absenderergänzung nicht leer sein.
% \begin{macrocode}
\or
\ifkomavarempty{location}{\setkomavar{location}{\null}}{}%
% \end{macrocode}
-% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier
-% eine Menge ausgegeben, also darf die Absenderergänzung nicht leer sein.
+% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier
+% eine Menge ausgegeben, also darf die Absenderergänzung nicht leer sein.
% \begin{macrocode}
\or
\ifkomavarempty{location}{\setkomavar{location}{\null}}{}%
% \end{macrocode}
-% Alle anderen Fälle sind wie hier ebenfalls ohne Bedeutung.
+% Alle anderen Fälle sind wie hier ebenfalls ohne Bedeutung.
% \begin{macrocode}
\fi
\ifkomavarempty{location}{%
\typeout{Location field: empty}%
- }{%
+ }{%
\typeout{Location field: yes}%
\ifdim \useplength{lochpos}=\z@%
\@setplength{lochpos}{\useplength{toaddrhpos}}%
@@ -2722,18 +3696,18 @@
\@savevbox{\useplength{locheight}}{%
\noindent\hsize\useplength{locwidth}%
% \end{macrocode}
-% In einigen Fällen der Absenderanordnung muss hier nun eine ganze Menge getan
+% In einigen Fällen der Absenderanordnung muss hier nun eine ganze Menge getan
% werden. In anderen ist hingegen nur wenig zu tun.
-% Im Fall 0, also linksbündiger Absender im Kopf wird nur die
-% Absenderergänzung ausgegeben (das erfolgt nach der Fallunterscheidung).
+% Im Fall 0, also linksbündiger Absender im Kopf wird nur die
+% Absenderergänzung ausgegeben (das erfolgt nach der Fallunterscheidung).
% \begin{macrocode}
\ifcase\@alignfrom
% \end{macrocode}
% Im Fall 1, also zentrierter Absender im Kopf wird jedoch das Logo hier
-% platziert, die Absenderergänzung wird ggf. danach ausgegeben (das erfolgt
+% platziert, die Absenderergänzung wird ggf. danach ausgegeben (das erfolgt
% nach der Fallunterscheidung).
% \changes{v2.98a}{2008/01/10}{bei zentriertem Absender wird die
-% Absenderergänzung ggf. unter dem Logo ausgegeben}^^A
+% Absenderergänzung ggf. unter dem Logo ausgegeben}%^^A
% \begin{macrocode}
\or
\if@logo
@@ -2742,14 +3716,14 @@
\vskip\parskip}\noindent}%
\fi
% \end{macrocode}
-% Im Fall 2, also rechtsbündiger Absender im Kopf, wird auch nur die
-% Absenderergänzung ausgegeben (das erfolgt nach der Fallunterscheidung).
+% Im Fall 2, also rechtsbündiger Absender im Kopf, wird auch nur die
+% Absenderergänzung ausgegeben (das erfolgt nach der Fallunterscheidung).
% \begin{macrocode}
\or
% \end{macrocode}
-% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier
-% sozusagen der linksbündige Kopf nachgebaut. Das Logo steht dabei
-% ggf. rechtsbündig oben.
+% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier
+% sozusagen der linksbündige Kopf nachgebaut. Das Logo steht dabei
+% ggf. rechtsbündig oben.
% \begin{macrocode}
\or
\if@logo
@@ -2758,19 +3732,19 @@
\fi
\raggedright
% \end{macrocode}
-% Zuerst wird der Name gesetzt. Dabei soll eine eigene Schriftart für
+% Zuerst wird der Name gesetzt. Dabei soll eine eigene Schriftart für
% den Namen verwendet werden.
% \begin{macrocode}
{\usekomafont{fromname}\strut\ignorespaces
\usekomavar{fromname}%
% \end{macrocode}
% Hat \verb|\@rulefrom| den nummerischen Wert 1, so soll direkt auf den
-% Absender eine Linie folgen. Die Länge dieser Linie kann vom Anwender
-% bestimmt oder automatisch gewählt werden. Es werden dabei die
-% Pseudo-Längen \texttt{fromrulewidth} und \texttt{fromrulethickness}
+% Absender eine Linie folgen. Die Länge dieser Linie kann vom Anwender
+% bestimmt oder automatisch gewählt werden. Es werden dabei die
+% Pseudo-Längen \texttt{fromrulewidth} und \texttt{fromrulethickness}
% verwendet. Ist \texttt{fromrulewidth} 0, so wird sie automatisch
-% bestimmt. Bei der automatischen Längenbestimmung wird einfach eine Linie
-% über die Gesamtbreite der Absenderergänzung gesetzt.
+% bestimmt. Bei der automatischen Längenbestimmung wird einfach eine Linie
+% über die Gesamtbreite der Absenderergänzung gesetzt.
% \begin{macrocode}
{%
\ifnum\@rulefrom=1\\[-.5\baselineskip]%
@@ -2787,13 +3761,13 @@
\\
}%
% \end{macrocode}
-% Als Nächstes wird die Absenderadresse einschließlich aller
+% Als Nächstes wird die Absenderadresse einschließlich aller
% optionalen Felder gesetzt. Dabei werden optionale Felder nur
% gesetzt, wenn der entsprechende Schalter \emph{true} ist. Die
% Adresse wird ebenfalls innerhalb einer Gruppe in einer eigenen
% Schriftart gesetzt.%
-% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
-% berücksichtigt}%
+% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
+% berücksichtigt}%
% \begin{macrocode}
{\usekomafont{fromaddress}\strut\ignorespaces
\usekomavar{fromaddress}%
@@ -2805,7 +3779,7 @@
\if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi%
\if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi%
% \end{macrocode}
-% Wie weiter oben erwähnt, kann auch an dieser Stelle eine Linie
+% Wie weiter oben erwähnt, kann auch an dieser Stelle eine Linie
% gesetzt werden.
% \begin{macrocode}
\ifnum\@rulefrom=2\\[-.5\baselineskip]%
@@ -2820,12 +3794,12 @@
\\
}%
% \end{macrocode}
-% Damit ist die Definition des linksbündigen Absenders in der
-% Absenderergänzung abgeschlossen.
-% Im Fall 4, also rechtsbündiger Absender in der Absenderergänzung wird hier
-% exakt wie für Fall 3 verfahren. Nur ist jetzt alles rechtsbündig.%
-% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
-% berücksichtigt}%
+% Damit ist die Definition des linksbündigen Absenders in der
+% Absenderergänzung abgeschlossen.
+% Im Fall 4, also rechtsbündiger Absender in der Absenderergänzung wird hier
+% exakt wie für Fall 3 verfahren. Nur ist jetzt alles rechtsbündig.%
+% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
+% berücksichtigt}%
% \begin{macrocode}
\or
\raggedleft
@@ -2869,7 +3843,7 @@
\\
}%
% \end{macrocode}
-% In allen anderen Fällen wird ebenfalls die Absenderergänzung gesetzt.
+% In allen anderen Fällen wird ebenfalls die Absenderergänzung gesetzt.
% \begin{macrocode}
\fi
\usekomavar{location}%
@@ -2884,27 +3858,28 @@
\vskip-\useplength{locvpos}\move@frompt
}%
}
+%</class|!willbe>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@datefield}
-% \changes{v2.8q}{2002/01/14}{Schalter \cs{if@tempwa} wird bereits hier auf
+% \changes{v2.8q}{2002/01/14}{Schalter \cs{if@tempwa} wird bereits hier auf
% \texttt{true} gesetzt}
-% \changes{v2.97c}{2007/05/14}{Neue Fontelemente}^^A
-% Je nachdem, welche Felder definiert sind, muss eine geschäftsmäßiger
-% Standardbrief oder ein eher persönliches Aussehen gewählt werden.
+% \changes{v2.97c}{2007/05/14}{Neue Fontelemente}%^^A
+% Je nachdem, welche Felder definiert sind, muss eine geschäftsmäßiger
+% Standardbrief oder ein eher persönliches Aussehen gewählt werden.
% \begin{macro}{\do@set@reffield}
-% \changes{v3.09}{2011/03/06}{Neu (intern)}^^A
-% Das ist ein \cs{do} für die Felder und bekommt innerhalb von
+% \changes{v3.09}{2011/03/06}{Neu (intern)}%^^A
+% Das ist ein \cs{do} für die Felder und bekommt innerhalb von
% \cs{@datefield} unterschiedliche Bedeutungen. An dieser Stelle wird es daher
% nur reserviert.
% \begin{macrocode}
\newcommand*{\do@set@reffield}{}
% \end{macrocode}
% \begin{macro}{\@set@reffield}
-% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt}
+% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt}
% Einzelne Felder werden mit Hilfe dieses Makros gesetzt. Als Parameter wird
-% der Name des Feldes übergeben. Es wird dann davon ausgegangen, dass der
+% der Name des Feldes übergeben. Es wird dann davon ausgegangen, dass der
% Name des Feldes in der jeweiligen Sprache im Makro
% \verb|\|\texttt{\emph{\#1}}\verb|name| und der Wert des Feldes in
% \verb|\var|\texttt{\emph{\#1}} zu finden ist.
@@ -2923,8 +3898,8 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@test@reffield}
-% \changes{v3.09}{2011/03/06}{Neu (intern)}^^A
-% Dieses Makro testet, ob ein Feld tatsächlich zu setzen ist und setzt
+% \changes{v3.09}{2011/03/06}{Neu (intern)}%^^A
+% Dieses Makro testet, ob ein Feld tatsächlich zu setzen ist und setzt
% ggf. \cs{@tempswa}.
% \begin{macrocode}
\newcommand*{\@test@reffield}[1]{%
@@ -2937,15 +3912,15 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@set@reffields}
-% \changes{v2.8q}{2002/01/14}{Neu}^^A
-% Dieses Makro enthält alle Aufrufe von \cs{@set@reffield}, die durchzuführen
+% \changes{v2.8q}{2002/01/14}{Neu}%^^A
+% Dieses Makro enthält alle Aufrufe von \cs{@set@reffield}, die durchzuführen
% sind. Das Makro kann mit Hilfe von \cs{addtoreffields} erweitert werden.
% \begin{macrocode}
\newcommand*{\@set@reffields}{}%
% \end{macrocode}
% \end{macro}
% \begin{macro}{\addtoreffields}
-% \changes{v3.09}{2011/03/06}{Verwendung von \cs{do@set@reffield} an Stelle
+% \changes{v3.09}{2011/03/06}{Verwendung von \cs{do@set@reffield} an Stelle
% von \cs{@set@reffield}}
% Dieses Makro erwartet als obligatorisches Argument den Namen einer
% KOMA-Script Variable. Der Befehl arbeitet lokal zur aktuellen Umgebung.
@@ -2957,8 +3932,8 @@
% \end{macro}
%
% \begin{macro}{\removereffields}
-% \changes{v2.8q}{2002/01/14}{Neu}^^A
-% Es gibt auch einen Befehl, um alle Felder aus der Geschäftszeile zu
+% \changes{v2.8q}{2002/01/14}{Neu}%^^A
+% Es gibt auch einen Befehl, um alle Felder aus der Geschäftszeile zu
% entfernen.
% \begin{macrocode}
\newcommand*{\removereffields}{%
@@ -2968,8 +3943,8 @@
% \end{macro}
%
% \begin{macro}{\defaultreffields}
-% \changes{v2.8q}{2002/01/14}{Neu}^^A
-% Ebenso ein Befehl, um die üblichen Felder zu setzen.
+% \changes{v2.8q}{2002/01/14}{Neu}%^^A
+% Ebenso ein Befehl, um die üblichen Felder zu setzen.
% \begin{macrocode}
\newcommand*{\defaultreffields}{%
\removereffields
@@ -2986,22 +3961,23 @@
% \end{macrocode}
% \end{macro}
%
-% \changes{v2.3e}{1996/05/31}{Abstand zwischen Ort und Datum eingefügt}^^A
-% \changes{v2.8o}{2001/09/18}{für den Brieftyp \texttt{KOMAold} anschließend
-% einen zusätzlichen vertikalen Abstand eingefügt}
-% \changes{v2.8q}{2001/11/13}{\cs{rlap} eingefügt}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.8q}{2002/01/14}{Leertests entfernt, da in \cs{@set@reffield}^^A
-% bereits enthalten}
-% \changes{v2.9l}{2003/01/28}{Berechnung von \texttt{refwidth} an die
-% Dokumentation angepasst}
-% \changes{v2.9l}{2003/01/28}{Berechnung von \texttt{refhpos} hinzugefügt}
-% \changes{v2.95}{2006/03/23}{Absatzeinzug mit \cs{setparsizes} abschalten}
-% \changes{v2.97c}{2007/05/14}{Neue Font-Elemente}^^A
-% \changes{v3.09}{2011/03/06}{\cs{do@set@reffield} muss initialisiert
-% werden}
+% \changes{v2.3e}{1996/05/31}{Abstand zwischen Ort und Datum eingefügt}%^^A
+% \changes{v2.8o}{2001/09/18}{für den Brieftyp \texttt{KOMAold} anschließend
+% einen zusätzlichen vertikalen Abstand eingefügt}%^^A
+% \changes{v2.8q}{2001/11/13}{\cs{rlap} eingefügt}%^^A
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A
+% \changes{v2.8q}{2002/01/14}{Leertests entfernt, da in \cs{@set@reffield}
+% bereits enthalten}%^^A
+% \changes{v2.9l}{2003/01/28}{Berechnung von \texttt{refwidth} an die
+% Dokumentation angepasst}%^^A
+% \changes{v2.9l}{2003/01/28}{Berechnung von \texttt{refhpos} hinzugefügt}%^^A
+% \changes{v2.95}{2006/03/23}{Absatzeinzug mit \cs{setparsizes} abschalten}%^^A
+% \changes{v2.97c}{2007/05/14}{Neue Font-Elemente}%^^A
+% \changes{v3.09}{2011/03/06}{\cs{do@set@reffield} muss initialisiert
+% werden}%^^A
% \begin{macrocode}
-\newcommand*{\@datefield}{{%
+\newcommand*{\@datefield}{%
+ {%
\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative
\ifdim\useplength{refwidth}=\z@
\if@refwide
@@ -3021,26 +3997,26 @@
\ifdim\useplength{refhpos}=\z@
\begingroup
% \end{macrocode}
-% Wir bestimmen zunächst, um wieviel die Geschäftszeile schmaler ist als der
+% Wir bestimmen zunächst, um wieviel die Geschäftszeile schmaler ist als der
% Textbereich.
% \begin{macrocode}
\setlength\@tempdima{\textwidth}%
\addtolengthplength[-]{\@tempdima}{refwidth}%
% \end{macrocode}
-% Dann wird bestimmt, wie groß der linke Rand tatsächlich ist.
+% Dann wird bestimmt, wie groß der linke Rand tatsächlich ist.
% \begin{macrocode}
\setlength\@tempdimb{\oddsidemargin}%
\addtolength\@tempdimb{1in}%
% \end{macrocode}
-% Ebenso wird bestimmt, wie groß der linke und rechte Rand zusammen sind.
+% Ebenso wird bestimmt, wie groß der linke und rechte Rand zusammen sind.
% \begin{macrocode}
\setlength{\@tempdimc}{\paperwidth}%
\addtolength{\@tempdimc}{-\textwidth}%
% \end{macrocode}
-% Jetzt wird aus dem Gesamtrand der Geschäftszeile der linke Rand der
-% Geschäftszeile so bestimmt, dass das Randverhältnis dabei unverändert
+% Jetzt wird aus dem Gesamtrand der Geschäftszeile der linke Rand der
+% Geschäftszeile so bestimmt, dass das Randverhältnis dabei unverändert
% bleibt. Dabei erlauben wir uns eine gewisse Rechenungenauigkeit beim
-% Verhältnis.
+% Verhältnis.
% \begin{macrocode}
\divide\@tempdimb by 32768\relax
\divide\@tempdimc by 32768\relax
@@ -3055,7 +4031,7 @@
\@tempswafalse
\move@topt\vskip\useplength{refvpos}%
% \end{macrocode}
-% Jetzt kontrollieren wir, ob überhaupt etwas auszugeben ist:
+% Jetzt kontrollieren wir, ob überhaupt etwas auszugeben ist:
% \begin{macrocode}
\@tempswafalse
\let\do@set@reffield\@test@reffield
@@ -3084,9 +4060,9 @@
\if@tempswa
\ifnum \@datepos=1 \@set@reffield{date}\fi%
% \end{macrocode}
-% Seit Version~2.97c wird hier auch noch getestet, ob die Geschäftszeile
-% möglicherweise mit zu großer Schrift gesetzt wird.
-% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt}
+% Seit Version~2.97c wird hier auch noch getestet, ob die Geschäftszeile
+% möglicherweise mit zu großer Schrift gesetzt wird.
+% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt}%^^A
% \begin{macrocode}
\sbox\z@{\usekomafont{refname}\strutbox}%
\ifdim\ht\z@>\ht\strutbox
@@ -3104,10 +4080,10 @@
\fi
\else
% \end{macrocode}
-% Hier landen wir schließlich, wenn gar keine Felder ausgegeben wurden, also
+% Hier landen wir schließlich, wenn gar keine Felder ausgegeben wurden, also
% nur Ort und Datum zu setzen sind.
-% \changes{v3.12}{2013/07/31}{neues Element \texttt{placeanddate} wird
-% verwendet}
+% \changes{v3.12}{2013/07/31}{neues Element \texttt{placeanddate} wird
+% verwendet}%^^A
% \begin{macrocode}
\ifcase \@datepos\else
\ifnum \@datepos=1 \enskip\hfill\fi
@@ -3128,30 +4104,30 @@
% \end{macro}
%
% \begin{macro}{\@maketitle}
-% \changes{v2.3b}{1996/01/14}{Verwendung von \cs{sectfont} für den
-% \cs{title}}^^A
-% \changes{v2.8p}{2001/09/22}{\cs{titlefont} an Stelle von \cs{sectfont}}^^A
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}^^A
-% \changes{v2.9t}{2004/09/16}{\cs{par} in Größe und Schrift des Titels}^^A
-% \changes{v2.95}{2006/03/22}{\cs{usekomafont} and Stelle von
-% \cs{titlefont}}^^A
-% \changes{v3.13}{2014/06/26}{umbenannt in \cs{@makelettertitle}}^^A
+% \changes{v2.3b}{1996/01/14}{Verwendung von \cs{sectfont} für den
+% \cs{title}}%^^A
+% \changes{v2.8p}{2001/09/22}{\cs{titlefont} an Stelle von \cs{sectfont}}%^^A
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A
+% \changes{v2.9t}{2004/09/16}{\cs{par} in Größe und Schrift des Titels}%^^A
+% \changes{v2.95}{2006/03/22}{\cs{usekomafont} and Stelle von
+% \cs{titlefont}}%^^A
+% \changes{v3.13}{2014/06/26}{umbenannt in \cs{@makelettertitle}}%^^A
% \end{macro}
% \begin{macro}{\@makelettertitle}
-% \changes{v3.13}{2014/06/26}{neu (ehemals \cs{@maketitle}}^^A
-% \changes{v3.15}{2015/02/21}{\texttt{title} durch \texttt{lettertitle}
-% ersetzt}^^A
+% \changes{v3.13}{2014/06/26}{neu (ehemals \cs{@maketitle}}%^^A
+% \changes{v3.15}{2015/02/21}{\texttt{title} durch \texttt{lettertitle}
+% ersetzt}%^^A
% \begin{macro}{\@subjfield}
-% \changes{v2.8q}{2001/10/19}{\cs{centerline} durch \cs{centering}
-% ersetzt}^^A
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}^^A
-% \changes{v2.8q}{2002/01/31}{wird mit hängendem Einzug gesetzt}^^A
-% \changes{v2.95}{2006/03/23}{Absatzeinzug mit cs{setparsizes}^^A
-% einstellen}^^A
-% \changes{v3.01}{2008/11/03}{Verwendung der neuen Pseudolängen
-% \texttt{subjectbeforevskip} und \texttt{subjectaftervskip}}^^A
-% \changes{v3.15}{2015/02/21}{\texttt{subject} durch \texttt{lettersubject}
-% ersetzt}^^A
+% \changes{v2.8q}{2001/10/19}{\cs{centerline} durch \cs{centering}
+% ersetzt}%^^A
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A
+% \changes{v2.8q}{2002/01/31}{wird mit hängendem Einzug gesetzt}%^^A
+% \changes{v2.95}{2006/03/23}{Absatzeinzug mit cs{setparsizes}%^^A
+% einstellen}%^^A
+% \changes{v3.01}{2008/11/03}{Verwendung der neuen Pseudolängen
+% \texttt{subjectbeforevskip} und \texttt{subjectaftervskip}}%^^A
+% \changes{v3.15}{2015/02/21}{\texttt{subject} durch \texttt{lettersubject}
+% ersetzt}%^^A
% Der eigentliche Titel wir mit |\@maketitle| gesetzt. Dies sollte jedoch
% ebenso wie beim Betreff (|\@subjfield|) \emph{nicht} manuell geschehen.
% \begin{macrocode}
@@ -3207,18 +4183,18 @@
}
% \end{macrocode}
% \begin{macro}{\ltr@len@subjectvpos}
-% \changes{v3.01}{2008/11/03}{Neue Pseudolänge \texttt{subjectvpos}}
-% Manchmal ist es günstiger, wenn man den Betreff absolut positionieren
-% kann. Das geschieht über diese Pseudolänge, wenn sie \emph{nicht} 0 ist.
+% \changes{v3.01}{2008/11/03}{Neue Pseudolänge \texttt{subjectvpos}}
+% Manchmal ist es günstiger, wenn man den Betreff absolut positionieren
+% kann. Das geschieht über diese Pseudolänge, wenn sie \emph{nicht} 0 ist.
% \begin{macrocode}
\@newplength{subjectvpos}
\@setplength{subjectvpos}{0pt}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@subjectaftervskip}
-% \changes{v3.01}{2008/11/03}{Neue Pseudolänge \texttt{subjectaftervskip}}
-% Abstand nach dem Betreff. Dieser Abstand wird aus Gründen der
-% Kompatibilität zu früheren Versionen mit 2\cs{baselineskip}
+% \changes{v3.01}{2008/11/03}{Neue Pseudolänge \texttt{subjectaftervskip}}
+% Abstand nach dem Betreff. Dieser Abstand wird aus Gründen der
+% Kompatibilität zu früheren Versionen mit 2\cs{baselineskip}
% voreingestellt.
% \begin{macrocode}
\@newplength{subjectaftervskip}
@@ -3226,9 +4202,9 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ltr@len@subjectbeforevskip}
-% \changes{v3.01}{2008/11/03}{Neue Pseudolänge \texttt{subjectbeforevskip}}
-% Abstand zusätzlich vor dem Betreff. Dieser Abstand wird aus Gründen der
-% Kompatibilität zu früheren Versionen mit \cs{baselineskip}
+% \changes{v3.01}{2008/11/03}{Neue Pseudolänge \texttt{subjectbeforevskip}}
+% Abstand zusätzlich vor dem Betreff. Dieser Abstand wird aus Gründen der
+% Kompatibilität zu früheren Versionen mit \cs{baselineskip}
% voreingestellt. Es sei darauf hingewiesen, dass hier bereits ein Abstand
% beispielsweise vom Titel existieren kann!
% \begin{macrocode}
@@ -3240,26 +4216,26 @@
% \end{macro}
%
%
-% \subsection{Anweisungen für das Briefpapier}
+% \subsection{Anweisungen für das Briefpapier}
%
-% Für das Briefpapier gibt es etwas weniger Anweisungen. Teilweise werden hier
-% auch die Anweisungen für den Briefbogen mit verwendet.
+% Für das Briefpapier gibt es etwas weniger Anweisungen. Teilweise werden hier
+% auch die Anweisungen für den Briefbogen mit verwendet.
%
% \subsubsection{Kopf des Briefpapiers}
%
-% Der Kopf des Briefpapiers wird wieder ganz normal über den Seitenstil
+% Der Kopf des Briefpapiers wird wieder ganz normal über den Seitenstil
% festgelegt. Allerdings kann er entsprechende dem Briefbogen manuell
% definiert werden.
%
% \begin{macro}{\nexthead}
-% \changes{v3.08}{2010/10/28}{der Kopf der Folgeseiten wird über eine
-% Variable realisiert}^^A
+% \changes{v3.08}{2010/10/28}{der Kopf der Folgeseiten wird über eine
+% Variable realisiert}%^^A
% \begin{macro}{\@nexthead}
-% \changes{v3.08}{2010/10/28}{der Kopf der Folgeseiten wird über eine
-% Variable realisiert}^^A
+% \changes{v3.08}{2010/10/28}{der Kopf der Folgeseiten wird über eine
+% Variable realisiert}%^^A
% \begin{KOMAvar}{nexthead}
-% \changes{v3.08}{2010/10/28}{Neu}^^A
-% Die Voreinstellung ist ebenfalls von Optionen abhängig.
+% \changes{v3.08}{2010/10/28}{Neu}%^^A
+% Die Voreinstellung ist ebenfalls von Optionen abhängig.
% \begin{macrocode}
%<*class>
\newcommand*{\@nexthead}{%
@@ -3299,7 +4275,7 @@
% \end{KOMAvar}
% \end{macro}
% Die Voreinstellung ist wiederum mit einer einfachen Benutzeranweisung
-% änderbar.
+% änderbar.
% \begin{macrocode}
%<*class>
\newcommand{\nexthead}{%
@@ -3315,18 +4291,18 @@
% \end{macro}
%
%
-% \subsubsection{Fuß des Briefpapiers}
+% \subsubsection{Fuß des Briefpapiers}
%
% \begin{macro}{\nextfoot}
-% \changes{v3.08}{2010/10/28}{der Fuß der Folgeseiten wird über eine
-% Variable realisiert}^^A
+% \changes{v3.08}{2010/10/28}{der Fuß der Folgeseiten wird über eine
+% Variable realisiert}%^^A
% \begin{macro}{\@nextfoot}
-% \changes{v3.08}{2010/10/28}{der Fuß der Folgeseiten wird über eine
-% Variable realisiert}^^A
+% \changes{v3.08}{2010/10/28}{der Fuß der Folgeseiten wird über eine
+% Variable realisiert}%^^A
% \begin{KOMAvar}{nextfoot}
-% \changes{v3.08}{2010/10/28}{Neu}^^A
+% \changes{v3.08}{2010/10/28}{Neu}%^^A
% Je nach Optioneneinstellung kann sich die Seitenmarke in der Voreinstellung
-% auch im Fuß befinden.
+% auch im Fuß befinden.
% \begin{macrocode}
%<*class>
\newcommand*{\@nextfoot}{%
@@ -3350,7 +4326,7 @@
% \end{macrocode}
% \end{KOMAvar}
% \end{macro}
-% Auch diese Einstellung ist per Benutzeranweisung leicht zu ändern.
+% Auch diese Einstellung ist per Benutzeranweisung leicht zu ändern.
% \begin{macrocode}
%<*class>
\newcommand{\nextfoot}{%
@@ -3369,119 +4345,296 @@
% \subsection{Die Brief-Umgebung}
%
% \begin{environment}{letter}
-% \changes{v2.8q}{2002/01/16}{optionales Argument hinzugefügt}^^A
-% \changes{v2.8q}{2002/01/16}{Fußnotenzähler wird zurückgesetzt}^^A
-% \changes{v2.9d}{2002/08/12}{Fußnotenzähler wird korrekt zurückgesetzt}^^A
-% \changes{v3.17}{2015/03/20}{Ersatz von \cs{pagemark}}^^A
-% \changes{v3.19}{2015/07/15}{\cs{letterpagestyle} wird verwendet}^^A
-% \changes{v3.19}{2015/07/15}{Briefe werden referenzierbar nummeriert}^^A
+% \changes{v2.8q}{2002/01/16}{optionales Argument hinzugefügt}%^^A
+% \changes{v2.8q}{2002/01/16}{Fußnotenzähler wird zurückgesetzt}%^^A
+% \changes{v2.9d}{2002/08/12}{Fußnotenzähler wird korrekt zurückgesetzt}%^^A
+% \changes{v3.17}{2015/03/20}{Ersatz von \cs{pagemark}}%^^A
+% \changes{v3.19}{2015/07/15}{\cs{letterpagestyle} wird verwendet}%^^A
+% \changes{v3.19}{2015/07/15}{Briefe werden referenzierbar nummeriert}%^^A
% Diese Umgebung ist etwas anders definiert, als normalerweise von
-% \LaTeX gewohnt. Mit ihr können innerhalb eines Dokuments beliebig
+% \LaTeX gewohnt. Mit ihr können innerhalb eines Dokuments beliebig
% viele Briefe erzeugt werden. Eine der Abweichungen von der
% Standardklasse besteht darin, dass als optionales Argument Optionen
-% gesetzt werden können.
+% gesetzt werden können.
% \begin{macrocode}
\newenvironment{letter}[2][]{%
% \end{macrocode}
+% \changes{v3.27}{2019/03/05}{zweipaltige Briefe werden nicht unterstützt}%^^A
+% Falls wir uns im zweispaltigen Modus befinden, ist es jetzt höchste Zeit,
+% eine Warnung auszugeben und auf einspaltig umzuschalten. Zwar wäre es
+% theoretisch noch möglich, alles innerhalb von \cs{opening} in das optionale
+% Argument von \cs{twocolumn} zu packen, aber spätestens beim Schlussgruß
+% scheitert das dann. Also besser gleich gar nicht unterstützen.
+% \begin{macrocode}
+ \if@twocolumn
+%<class> \ClassWarning{\KOMAClassName}{%
+%<package> \PackageWarning{scrletter}{%
+ twocolumn mode not supported.\MessageBreak
+ If you really want a twocolumned letter, you should\MessageBreak
+ use package `multicol' and add a `multicols'\MessageBreak
+ environment inside your letter.\MessageBreak
+ Switching back to oneside%
+ }%
+ \letter@restonecoltrue
+ \expandafter\onecolumn
+ \else
+ \letter@restonecolfalse
+ \fi
+% \end{macrocode}
% Als erstes wird eine neue Seite begonnen. Dies kann ggf. auch eine neue
% rechte Seite sein. Dabei wird auch auf den korrekten Seitenstil
-% geachtet. Danach werden alle relevanten Zähler und Strafpunkte
-% zurückgesetzt und der obligatorische Parameter ausgewertet.
-% \changes{v3.19}{2015/07/15}{wegen des Pakets
-% \cs{cleardoubleoddemptypage}}^^A
+% geachtet. Danach werden alle relevanten Zähler und Strafpunkte
+% zurückgesetzt und der obligatorische Parameter ausgewertet.
+% \changes{v3.19}{2015/07/15}{wegen des Pakets
+% \cs{cleardoubleoddemptypage}}%^^A
+% \changes{v3.27}{2019/03/05}{Briefe verwenden \cs{raggedbottom}}%^^A
% \begin{macrocode}
\cleardoubleoddemptypage
+ \raggedbottom
\scr@ifundefinedorrelax{letterpagestyle}{}{%
\ifx\letterpagestyle\@empty\else
\pagestyle{\letterpagestyle}%
\fi
}%
-%<package>\let\pagemark\letterpagemark
+%<package> \let\pagemark\letterpagemark
\refstepcounter{letter}%
\let\thisletter\@currentlabel
\setcounter{page}{\@ne}%
\setcounter{footnote}{0}%
\interlinepenalty=200\@processto{#2}%
% \end{macrocode}
-% Dann werden ggf. die übergebenen Optionen ausgeführt.
+% Dann werden ggf. die übergebenen Optionen ausgeführt.
% \begin{macrocode}
\KOMAoptions{#1}%
% \end{macrocode}
+% \selectlanguage{english}%^^A
+% \changes{v3.27}{2019/03/31}{first-page head generation moved}%^^A
+% From \KOMAScript~3.27 \textsf{scrletter} generates the first-page head in
+% the \texttt{letter}-environment instead of the command \cs{opening}.
+% \begin{macrocode}
+%<package&willbe> \@gen@firsthead
+% \end{macrocode}
+% \changes{v3.27}{2019/03/22}{\textsf{scrletter} sets the page style}%^^A
+% From \KOMAScript~3.27 \textsf{scrletter} sets page style
+% \texttt{notepaper} for the first page before executing the begin hook.
+% \selectlanguage{ngerman}%^^A
+% \begin{macrocode}
+%<package&willbe> \thispagestyle{notepaper}%
+% \end{macrocode}
% Zum Schluss werden die per \cs{AtBeginLetter} angegeben Anweisungen
-% ausgeführt und noch danach ein Label gesetzt.
-% \changes{v3.19}{2015/07/15}{ein Label wird gesetzt}^^A
+% ausgeführt.
% \begin{macrocode}
+%<*package&willbe>
+ \ifdim\useplength{refheight}>\z@
+ \else
+ \begingroup
+ \newkomavar[\strut]{@internal@testvar@}%
+ \setkomavar{@internal@testvar@}{\strut}%
+ \setplengthtototalheight{refheight}{\@set@reffield{@internal@testvar@}}%
+ \edef\reserved@a{\noexpand\endgroup
+ \noexpand\setplength{refheight}{\useplength{refheight}}%
+ }%
+ \reserved@a
+ \fi
+%</package&willbe>
\@beginletterhook
+%<package&willbe>\initial@letter@vskip
}{%
\stopletter
+% \end{macrocode}
+% Danach wird noch ein Label gesetzt.
+% \changes{v3.19}{2015/07/15}{ein Label wird gesetzt}%^^A
+% \begin{macrocode}
\let\@currentlabel\thisletter
\label{\thisletter.lastpage}%
\@@par\pagebreak\@@par%
+ \ifletter@restonecol\twocolumn\fi
+% \end{macrocode}
+% \changes{v3.27}{2019/03/31}{cleanup running head}%^^A
+% The package also cleans up the running head after the end of the letter.
+% \begin{macrocode}
+%<package&willbe> \@mkdouble\@empty
}
% \end{macrocode}
+% \begin{macro}{\initial@letter@vskip}
+% \changes{v3.27}{2019/05/03}{new (internal)}%^^A
+% Go to the start posistion of the letter. Usually to jump below the reference
+% line inside the \texttt{letter} environment.
+% \begin{macrocode}
+%<*package&willbe>
+\newcommand*{\initial@letter@vskip}{%
+ \move@topt
+ \vskip \dimexpr \useplength{refvpos}
+ \if@refline +\useplength{refheight}\fi
+ +\useplength{refaftervskip}\relax
+}
+%</package&willbe>
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ifletter@restonecol}
+% \changes{v3.27}{2019/03/05}{neu intern}
+% Dieser Schalter bestimmt, ob am Ende der \texttt{letter}-Umgebung auf
+% zweispaltig zurückgeschaltet werden muss.
+% \begin{macrocode}
+\newif\ifletter@restonecol
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\thisletter}
-% \changes{v3.19}{2015/07/15}{neue Anweisung}^^A
-% Gibt den Wert des aktuellen Labels wieder. Man benötigt dies beispielsweise,
+% \changes{v3.19}{2015/07/15}{neue Anweisung}%^^A
+% Gibt den Wert des aktuellen Labels wieder. Man benötigt dies beispielsweise,
% um per |\ref{\thisletter.lastpage}| auf die letzte Seite zugreifen zu
-% können.
+% können.
% \begin{macrocode}
\newcommand*{\thisletter}{outside.letter.undefined}
% \end{macrocode}
-% \end{macro}^^A \thisletter
+% \end{macro}%^^A \thisletter
% \begin{macro}{\letterlastpage}
-% \changes{v3.19}{2015/07/15}{neue Anweisung}^^A
+% \changes{v3.19}{2015/07/15}{neue Anweisung}%^^A
% \begin{macrocode}
\newcommand*{\letterlastpage}{\pageref{\thisletter.lastpage}}
-% \end{macrocode}^^A \letterlastpage
+% \end{macrocode}%^^A \letterlastpage
% \end{macro}
% \begin{macro}{\stopletter}
% Damit man Material am Ende des Briefes einschleusen kann.
+% \begin{macrocode}
+\newcommand*{\stopletter}{}
+% \end{macrocode}
+% \end{macro}%^^A \stopletter
% \begin{macro}{\@processto}
-% \changes{v2.9r}{2004/06/16}{robust gegen leeren Empfänger}^^A
+% \changes{v2.9r}{2004/06/16}{robust gegen leeren Empfänger}%^^A
+% \changes{v3.27}{2019/03/24}{extended setting of variables}%^^A
% \begin{macro}{\@xproc}
-% Die Adresse, die als Argument der Briefumgebung übergeben wird, muss in Name
+% Die Adresse, die als Argument der Briefumgebung übergeben wird, muss in Name
% und Adresse zerlegt werden.
% \begin{macrocode}
-\newcommand*{\stopletter}{}
+% \begin{macrocode}
\newcommand{\@processto}[1]{%
- \ifx\relax#1\relax\else
- \expandafter\@xproc#1\\\@nil\ifkomavarempty{toaddress}{}{%
- \expandafter\@xproc#1\@nil}%
- \fi
+% \end{macrocode}
+% If \cs{@processto} argument (\texttt{letter} mandatory argument) is empty:
+% \begin{macrocode}
+ \IfArgIsEmpty{#1}{%
+% \end{macrocode}
+% try to build it from \texttt{toname} and \texttt{toaddress}.
+% \begin{macrocode}
+%<*package&willbe>
+ \ifkomavarempty{toname}{%
+ \ifkomavarempty{tofamilyname}{}{%
+ \ifkomavarempty{togivenname}{%
+ \usekomavar[\setkomavar{toname}]{tofamilyname}%
+ }{%
+ \usekomavar[\protected@edef\reserved@a]{togivenname}%
+ \usekomavar[\protected@edef\reserved@b]{tofamilyname}%
+ \protected@edef\reserved@a{%
+ \noexpand\setkomavar{toname}{\reserved@a\ \reserved@b}%
+ }\reserved@a
+ }%
+ }%
+ }{}%
+ \ifkomavarempty{toaddress}{%
+ \usekomavar[\protected@edef\reserved@a]{toname}%
+ \protected@edef\reserved@a{%
+ \noexpand\usekomafont{toname}{\reserved@a}%
+ }\reserved@a
+ }{%
+ \ifkomavarempty{toname}{%
+ \usekomavar[\protected@edef\reserved@a]{toaddress}%
+ \protected@edef\reserved@a{%
+ \noexpand\usekomafont{toaddress}{\reserved@a}%
+ }\reserved@a
+ }{%
+ \usekomavar[\protected@edef\scr@local@toname]{toname}%
+ \usekomavar[\protected@edef\reserved@b]{toaddress}%
+ \protected@edef\reserved@a{%
+ \noexpand\setkomavar{addressee}{%
+ {\noexpand\usekomafont{toname}{\scr@local@toname}}\\
+ \noexpand\usekomafont{toaddress}{\reserved@b}%
+ }%
+ }\reserved@a
+ }%
+ }%
+%</package&willbe>
+ }{%
+% \end{macrocode}
+% Split into part before first \cmd\\ and it:
+% \begin{macrocode}
+ \expandafter\@xproc#1\\\@nil
+ \ifx\reserved@b\@empty\else\expandafter\@xproc#1\@nil\fi
+% \end{macrocode}
+% For the package set variable \texttt{addressee}:
+% \begin{macrocode}
+%<*package&willbe>
+ \protected@edef\reserved@c{%
+ \noexpand\setkomavar{addressee}{%
+ {\noexpand\usekomafont{toname}{\reserved@a}}%
+ \ifx\reserved@b\@empty\else
+ \\\noexpand\usekomafont{toaddress}{\reserved@b}%
+ \fi
+ }%
+ }%
+% \end{macrocode}
+% If \texttt{toname} is empty, set it:
+% \begin{macrocode}
+ \ifkomavarempty{toname}{%
+ \protected@edef\reserved@a{%
+ \noexpand\reserved@c{\noexpand\setkomavar{toname}{\reserved@a}}}%
+ }{\let\reserved@a\reserved@c}%
+% \end{macrocode}
+% If \texttt{toaddress} is empty, set it:
+% \begin{macrocode}
+ \ifkomavarempty{toaddress}{%
+ \protected@edef\reserved@b{\noexpand\reserved@a
+ \noexpand\setkomavar{toaddress}{\reserved@b}}%
+ \reserved@b
+ }{\reserved@a}%
+%</package&willbe>
+% \end{macrocode}
+% For the class simply set \texttt{toname} und \texttt{toaddress}:
+% \begin{macrocode}
+%<*class|!willbe>
+ \protected@edef\reserved@a{%
+ \noexpand\setkomavar{toname}{\reserved@a}%
+ \noexpand\setkomavar{toaddress}{\reserved@b}%
+ }\reserved@a
+%</class|!willbe>
+ }%
}
\newcommand*{\@xproc}{}
\long\def\@xproc#1\\#2\@nil{%
- \setkomavar{toname}{#1}\setkomavar{toaddress}{#2}}
% \end{macrocode}
-% \end{macro}^^A \@xproc
-% \end{macro}^^A \@processto
-% \end{macro}^^A \stopletter
+% \changes{v3.27}{2019/03/24}{do not directly set variables but
+% \cs{reserved@a} and \cs{reserved@b}}%^^A
+% \begin{macrocode}
+ \def\reserved@a{#1}\def\reserved@b{#2}%
+}
+% \end{macrocode}
+% \end{macro}%^^A \@xproc
+% \end{macro}%^^A \@processto
% \begin{macro}{\flushbottom}
-% \changes{v2.97c}{2007/05/17}{neue Erweiterung}^^A
+% \changes{v2.97c}{2007/05/17}{neue Erweiterung}%^^A
% Das Verhalten muss auf der letzten Briefseite wieder \cs{raggedbottom}
-% ähneln. Das wird über \cs{stopletter} erreicht.
+% ähneln. Das wird über \cs{stopletter} erreicht.
% \begin{macrocode}
\g@addto@macro\flushbottom{%
\g@addto@macro\stopletter{\vskip \z@\@plus.0001fil\relax}%
}
% \end{macrocode}
-% \end{macro}^^A \flushbottom
+% \end{macro}%^^A \flushbottom
% \begin{Counter}{letter}
-% \changes{v3.19}{2015/07/15}{neuer Zähler}^^A
+% \changes{v3.19}{2015/07/15}{neuer Zähler}%^^A
% Die Briefe werden durchnummeriert.
% \begin{macrocode}
\newcounter{letter}
% \end{macrocode}
% \end{Counter}
-% \end{environment}^^A letter
+% \end{environment}%^^A letter
%
%
% \begin{macro}{\letterpagestyle}
-% \changes{v3.19}{2015/07/15}{neue Anweisung}^^A
+% \changes{v3.19}{2015/07/15}{neue Anweisung}%^^A
% Analog zu \cs{titlepagestyle}, \cs{indexpagestyle} etc. gibt es jetzt auch
% ein \cs{letterpagestyle}. In der Voreinstellung ist dieser bei der Klasse
% leer. Dagegen wird beim Paket \texttt{plain.letter} verwendet. Durch den
-% Unterschied wird faktisch die Kompatibilität mit des Pakets mit der Klasse
+% Unterschied wird faktisch die Kompatibilität des Pakets mit der Klasse
% jedoch verbessert!
% \begin{macrocode}
\newcommand*{\letterpagestyle}{%
@@ -3492,12 +4645,12 @@
%
%
% \begin{macro}{\AtBeginLetter}
-% \changes{v2.8n}{2001/09/08}{Neu}^^A
+% \changes{v2.8n}{2001/09/08}{Neu}%^^A
% \begin{macro}{\@beginletterhook}
-% \changes{v2.8n}{2001/09/08}{Neu}^^A
+% \changes{v2.8n}{2001/09/08}{Neu}%^^A
% Wie oben zu sehen, wurde in den Anfang der Briefumgebung ein Haken
-% eingefügt. Dieser wird auch tatsächlich intern genutzt. Er funktioniert
-% prinzipiell wie der |\AtBeginDocument|-Haken. Zunächst macht der Haken rein
+% eingefügt. Dieser wird auch tatsächlich intern genutzt. Er funktioniert
+% prinzipiell wie der |\AtBeginDocument|-Haken. Zunächst macht der Haken rein
% gar nichts.
% \begin{macrocode}
\newcommand{\AtBeginLetter}{\g@addto@macro\@beginletterhook}
@@ -3507,7 +4660,7 @@
% \end{macro}
%
% \begin{macro}{\AtEndLetter}
-% \changes{v2.95}{2006/03/22}{Neu}^^A
+% \changes{v2.95}{2006/03/22}{Neu}%^^A
% Analog zu |\AtBeginLetter| gibt es auch ein |\AtEndLetter|. Als Haken wird
% hierbei |\stopletter| verwendet.
% \begin{macrocode}
@@ -3518,12 +4671,12 @@
% \begin{macro}{\stopbreaks}
% \begin{macro}{\startbreaks}
% \begin{macro}{\@nobreakvspace}
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}^^A
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
+% ersetzt}%^^A
% \begin{macro}{\@nobreakvspacex}
% \begin{macro}{\@nobreakcr}
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}^^A
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
+% ersetzt}%^^A
% Innerhalb von Briefen wird der Umbruch etwas anders gehandhabt.
% Dadurch soll der Brieftext besser positioniert werden.
% \begin{macrocode}
@@ -3546,22 +4699,29 @@
% \end{macro}
%
% \begin{macro}{\opening}
-% \changes{v2.8n}{2001/09/08}{Komplett überarbeitet}^^A
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.8q}{2002/03/25}{\cs{@PapersizeWarning}}
-% \changes{v2.95}{2003/03/23}{Absatzformatierung mit \cs{setparsizes}^^A
-% einstellen}
-% Denn beim Eröffnungsgruß mit |\opening| wird neben sämtlichen Feldern auch
+% \changes{v2.8n}{2001/09/08}{Komplett überarbeitet}%^^A
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A
+% \changes{v2.8q}{2002/03/25}{\cs{@PapersizeWarning}}%^^A
+% \changes{v2.95}{2003/03/23}{Absatzformatierung mit \cs{setparsizes}
+% einstellen}%^^A
+% \changes{v3.27}{2019/03/27}{Only \textsf{scrlttr2} uses \cs{@addrfield},
+% \cs{@locfield} and \cs{@foldmarks}}%^^A
+% \changes{v3.27}{2019/03/27}{Only \textsf{scrlttr2} sets pagestyle}%^^A
+% \changes{v3.27}{2019/03/31}{Only \textsf{scrlttr2} generates the first-page
+% head here}%^^A
+% Denn beim Eröffnungsgruß mit |\opening| wird neben sämtlichen Feldern auch
% der Titel und der Betreff gesetzt.
% \begin{macrocode}
\newcommand{\opening}[1]{%
\@PapersizeWarning
- \@gen@firsthead
+%<class|!willbe> \@gen@firsthead
\@mkboth{\scr@fromname@var}{\scr@subject@var}%
- \thispagestyle{empty}\noindent
- \@foldmarks\@firstheadfootfield\@addrfield\@locfield
+%<class|!willbe> \thispagestyle{empty}%
+ \noindent
+%<class|!willbe> \@foldmarks\@firstheadfootfield
+%<class|!willbe> \@addrfield\@locfield
\ifdim\useplength{subjectvpos}=\z@\else\@subjfield\fi
- \@datefield
+%<class|!willbe> \@datefield
\@makelettertitle
\ifdim\useplength{subjectvpos}=\z@\if@subjafter\else\@subjfield\fi\fi
{\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative#1\par}%
@@ -3576,35 +4736,35 @@
%
%
% \begin{macro}{\closing}
-% \changes{v2.2b}{1995/02/16}{{\cmd\fromsig} wird nicht mehr auf \cs{empty}
+% \changes{v2.2b}{1995/02/16}{{\cmd\fromsig} wird nicht mehr auf \cs{empty}
% getestet sondern direkt eingesetzt}
-% \changes{v2.3b}{1996/01/14}{Abstand zwischen Schlussgruß und Signatur
-% erhöht}^^A
-% \changes{v2.5d}{2000/06/10}{Abstand zwischen Schlussgruß und Signatur
-% variabel}^^A
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
-% \changes{v2.8q}{2002/02/05}{nicht mehr \cs{long}}
-% \changes{v2.8q}{2002/02/05}{darf \texttt{\cmd{\\}[\dots]} enthalten}
-% \changes{v2.95}{2003/03/23}{Absatzformatierung mit \cs{setparsizes}^^A
+% \changes{v2.3b}{1996/01/14}{Abstand zwischen Schlussgruß und Signatur
+% erhöht}%^^A
+% \changes{v2.5d}{2000/06/10}{Abstand zwischen Schlussgruß und Signatur
+% variabel}%^^A
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
+% \changes{v2.8q}{2002/02/05}{nicht mehr \cs{long}}
+% \changes{v2.8q}{2002/02/05}{darf \texttt{\cmd{\\}[\dots]} enthalten}
+% \changes{v2.95}{2003/03/23}{Absatzformatierung mit \cs{setparsizes}%^^A
% einstellen}
-% Außer dem Eröffnungsgruß mit |\opening| gibt es natürlich auch einen
-% Schlussgruß mit |\closing|, bei dem außerdem die Unterschrift u.\,ä. gesetzt
+% Außer dem Eröffnungsgruß mit |\opening| gibt es natürlich auch einen
+% Schlussgruß mit |\closing|, bei dem außerdem die Unterschrift u.\,ä. gesetzt
% wird.
% \begin{macro}{\presig@skip}
-% \changes{v2.5d}{2000/06/10}{Neues Makro, das den Abstand zwischen
-% Schlussgruß und Signatur beinhaltet}^^A
-% \changes{v2.8q}{2001/10/09}{Ersetzt durch Pseudo-Länge sigbeforevskip}^^A
+% \changes{v2.5d}{2000/06/10}{Neues Makro, das den Abstand zwischen
+% Schlussgruß und Signatur beinhaltet}%^^A
+% \changes{v2.8q}{2001/10/09}{Ersetzt durch Pseudo-Länge sigbeforevskip}%^^A
% \end{macro}
% \begin{macro}{\setpresigskip}
-% \changes{v2.5d}{2000/06/10}{Neues Makro, das den Abstand zwischen
-% Schlussgruß und Signatur setzt}^^A
-% \changes{v2.8q}{2001/10/09}{Mit Hilfe der neuen Pseudo-Längen definiert}^^A
-% Das Makro |\presig@skip| beinhaltet dabei den Abstand zwischen Schlussgruß
-% und Signatur. Da der Wert über ein Benutzerinterface per |\setpresigskip|
-% gesetzt wird, muss hier kein kostbares Längenregister (skip oder dim)
+% \changes{v2.5d}{2000/06/10}{Neues Makro, das den Abstand zwischen
+% Schlussgruß und Signatur setzt}%^^A
+% \changes{v2.8q}{2001/10/09}{Mit Hilfe der neuen Pseudo-Längen definiert}%^^A
+% Das Makro |\presig@skip| beinhaltet dabei den Abstand zwischen Schlussgruß
+% und Signatur. Da der Wert über ein Benutzerinterface per |\setpresigskip|
+% gesetzt wird, muss hier kein kostbares Längenregister (skip oder dim)
% verschwendet werden, sondern ein Makro reicht aus. In |\setpresigskip| wird
% allerdings noch sichergestellt, dass die Fehlermeldung bei falschem
-% Parameter möglichst nicht erst bei Verwendung auftritt.
+% Parameter möglichst nicht erst bei Verwendung auftritt.
% \begin{macrocode}
%</letter>
%<lco&KOMAold>\def\setpresigskip{\@setplength{sigbeforevskip}}
@@ -3612,31 +4772,31 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@xtrimtempa}
-% \changes{v2.8q}{2002/02/05}{Neu (intern)}^^A
-% \changes{v3.17}{2014/02/19}{entfernt}^^A
+% \changes{v2.8q}{2002/02/05}{Neu (intern)}%^^A
+% \changes{v3.17}{2014/02/19}{entfernt}%^^A
% \begin{macro}{\@@xtrimtempa}
-% \changes{v2.8q}{2002/02/05}{Neu (intern)}^^A
-% \changes{v3.17}{2014/02/19}{entfernt}^^A
+% \changes{v2.8q}{2002/02/05}{Neu (intern)}%^^A
+% \changes{v3.17}{2014/02/19}{entfernt}%^^A
% \end{macro}
% \end{macro}
% \begin{macro}{\@tempdimaismaxwidthof}
-% \changes{v2.8q}{2002/02/05}{Neu (intern)}^^A
-% \changes{v3.17}{2014/02/19}{entfernt}^^A
+% \changes{v2.8q}{2002/02/05}{Neu (intern)}%^^A
+% \changes{v3.17}{2014/02/19}{entfernt}%^^A
% \end{macro}
% Jetzt endlich zum eigentlichen Befehl.
-% \changes{v2.9r}{2004/01/28}{Längenbegrenzung auf \cs{hsize}}^^A
-% \changes{v2.9r}{2004/01/28}{das Argument darf leer sein}^^A
-% \changes{v3.17}{2015/02/19}{aus Rücksicht auf Leute, die ohne Rücksicht
-% auf die Anleitung einfach machen, was ihnen gerade einfällt, neu
-% implementiert}^^A
+% \changes{v2.9r}{2004/01/28}{Längenbegrenzung auf \cs{hsize}}%^^A
+% \changes{v2.9r}{2004/01/28}{das Argument darf leer sein}%^^A
+% \changes{v3.17}{2015/02/19}{aus Rücksicht auf Leute, die ohne Rücksicht
+% auf die Anleitung einfach machen, was ihnen gerade einfällt, neu
+% implementiert}%^^A
% \changes{v3.17}{2015/02/20}{Weil manche Leute es unbedingt auf die Spitze
-% treiben wollen, \cs{}\cs{} durch \cs{tabularnewline} ersetzt.}^^A
+% treiben wollen, \cs{}\cs{} durch \cs{tabularnewline} ersetzt.}%^^A
% \changes{v3.17}{2015/02/20}{Weil manche Leute es unbedingt auf die Spitze
-% treiben wollen, mehr \cs{strut} eingefügt.}^^A
-% \changes{v3.20}{2015/10/08}{Umbruch nach dem Gruß nur, wenn wir uns im
-% horizontalen Modus befinden}^^A
+% treiben wollen, mehr \cs{strut} eingefügt.}%^^A
+% \changes{v3.20}{2015/10/08}{Umbruch nach dem Gruß nur, wenn wir uns im
+% horizontalen Modus befinden}%^^A
% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt
-% \cs{unskip}\cs{strut}}^^A
+% \cs{unskip}\cs{strut}}%^^A
% \begin{macrocode}
\newcommand*{\closing}[1]{{%
\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative\nobreak\par
@@ -3663,8 +4823,8 @@
% \end{macro}
%
% \begin{macro}{\ps}
-% \changes{v2.8n}{2001/09/08}{Komplett überarbeitet}^^A
-% Ebenfalls möglich ist ein Postscriptum. Dieser Befehl erwartet das
+% \changes{v2.8n}{2001/09/08}{Komplett überarbeitet}%^^A
+% Ebenfalls möglich ist ein Postscriptum. Dieser Befehl erwartet das
% Postscriptum nicht als Argument, sondern schaltet zum Nachtext um.
% \begin{macrocode}
\newcommand\ps{\par%
@@ -3676,16 +4836,16 @@
% \end{macro}
%
% \begin{macro}{\cc}
-% Darüber hinaus gibt es noch einen Verteiler. Dieser wird sauber formatiert.
-% \changes{v2.6}{2001/01/03}{\cs{def} durch \cs{newcommand*} ersetzt}
-% \changes{v2.8n}{2001/09/08}{Komplett "uberarbeitet}^^A
-% \changes{v2.9o}{2003/04/22}{\cs{parfillskip} angepasst}^^A
-% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} auf \texttt{1em plus 1fil}
-% geändert}^^A
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf \texttt{\cs{z@} plus
-% 1fil} geändert}^^A
-% \changes{v3.22}{2016/12/15}{fehlender Stern bei \cs{ifkomavaremptry}
-% ergänzt}^^A
+% Darüber hinaus gibt es noch einen Verteiler. Dieser wird sauber formatiert.
+% \changes{v2.6}{2001/01/03}{\cs{def} durch \cs{newcommand*} ersetzt}
+% \changes{v2.8n}{2001/09/08}{Komplett "uberarbeitet}%^^A
+% \changes{v2.9o}{2003/04/22}{\cs{parfillskip} angepasst}%^^A
+% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} auf \texttt{1em plus 1fil}
+% geändert}%^^A
+% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf \texttt{\cs{z@} plus
+% 1fil} geändert}%^^A
+% \changes{v3.22}{2016/12/15}{fehlender Stern bei \cs{ifkomavaremptry}
+% ergänzt}%^^A
% \begin{macrocode}
\newcommand*{\cc}[1]{\par%
\ifdim\parskip=\z@%
@@ -3706,16 +4866,16 @@
%
% \begin{macro}{\encl}
% Auch Anlagen werden ordentlich gesetzt.
-% \changes{v2.4a}{1997/06/06}{der Doppelpunkt bei den Anlagen wird nur noch
+% \changes{v2.4a}{1997/06/06}{der Doppelpunkt bei den Anlagen wird nur noch
% gesetzt, wenn \cs{enclname} nicht leer ist}
-% \changes{v2.6}{2001/01/03}{\cs{def} durch \cs{newcommand*} ersetzt}
-% \changes{v2.8n}{2001/09/08}{Komplett überarbeiten}^^A
-% \changes{v2.8q}{2002/01/31}{Fehlendes \% ergänzt}^^A
-% \changes{v2.9o}{2003/04/22}{\cs{parfillskip} angepasst}
-% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} auf \texttt{1em plus 1fil}
-% geändert}
-% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf \texttt{\cs{z@} plus
-% 1fil} geändert}
+% \changes{v2.6}{2001/01/03}{\cs{def} durch \cs{newcommand*} ersetzt}
+% \changes{v2.8n}{2001/09/08}{Komplett überarbeiten}%^^A
+% \changes{v2.8q}{2002/01/31}{Fehlendes \% ergänzt}%^^A
+% \changes{v2.9o}{2003/04/22}{\cs{parfillskip} angepasst}
+% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} auf \texttt{1em plus 1fil}
+% geändert}
+% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf \texttt{\cs{z@} plus
+% 1fil} geändert}
% \begin{macrocode}
\newcommand*{\encl}[1]{\par%
\ifdim\parskip=\z@%
@@ -3738,34 +4898,34 @@
% \subsection{Briefspezifische Feld-Variablen}
%
% \begin{KOMAvar}{signature}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{place}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{location}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{backaddress}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{specialmail}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{title}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{fromlogo}
-% \changes{v2.8q}{2002/01/28}{Neu}^^A
+% \changes{v2.8q}{2002/01/28}{Neu}%^^A
% \begin{KOMAvar}{fromzipcode}
-% \changes{v3.03}{2009/03/04}{Neu}^^A
+% \changes{v3.03}{2009/03/04}{Neu}%^^A
% \begin{KOMAvar}{PPcode}
-% \changes{v3.03}{2009/03/04}{Neu}^^A
+% \changes{v3.03}{2009/03/04}{Neu}%^^A
% \begin{KOMAvar}{PPdatamatrix}
-% \changes{v3.03}{2009/03/04}{Neu}^^A
+% \changes{v3.03}{2009/03/04}{Neu}%^^A
% \begin{KOMAvar}{addresseeimage}
-% \changes{v3.03}{2009/03/04}{Neu}^^A
-% \changes{v3.03b}{2009/06/30}{Schreibfehler korrigiert}^^A
-% Zunächst besitzt die Briefklasse einige Variablen, die von Haus aus nicht
-% über einen Ausgabenamen verfügen, weil sie üblicherweise ohne Ausgabe einer
+% \changes{v3.03}{2009/03/04}{Neu}%^^A
+% \changes{v3.03b}{2009/06/30}{Schreibfehler korrigiert}%^^A
+% Zunächst besitzt die Briefklasse einige Variablen, die von Haus aus nicht
+% über einen Ausgabenamen verfügen, weil sie üblicherweise ohne Ausgabe einer
% Bezeichung verwendet werden. Diese Variablen haben teilweise auch keinen
% vordefinierten Inhalt. Der Inhalt muss erst vom Anwender gesetzt
% werden. Teilweise gibt es aber auch einen vordefinierten Inhalt, der von
-% anderen Variablen abhängt.
+% anderen Variablen abhängt.
% \begin{macrocode}
\newkomavar{signature}
\setkomavar{signature}{\usekomavar{fromname}}
@@ -3786,6 +4946,8 @@
\newkomavar{PPcode}
\newkomavar{PPdatamatrix}
\newkomavar{addresseeimage}
+%</letter>
+%</body>
% \end{macrocode}
% \end{KOMAvar}
% \end{KOMAvar}
@@ -3800,82 +4962,112 @@
% \end{KOMAvar}
%
% \begin{option}{symbolicnames}
-% \changes{v3.12}{2013/05/13}{neue Option}^^A
-% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}^^A
+% \changes{v3.12}{2013/05/13}{neue Option}%^^A
+% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A
% \begin{macro}{\if@scrsymbols}
-% \changes{v3.12}{2013/05/13}{neu (intern)}^^A
+% \changes{v3.12}{2013/05/13}{neu (intern)}%^^A
% \begin{macro}{\@scrsymbolstrue}
-% \changes{v3.12}{2013/05/13}{neu (intern)}^^A
+% \changes{v3.12}{2013/05/13}{neu (intern)}%^^A
% \begin{macro}{\@scrsymbolsfalse}
-% \changes{v3.12}{2013/05/13}{neu (intern)}^^A
-% Über diese Option kann eingestellt werden, dass an Stelle von
-% sprachabhängigen Bezeichnern für einige Variablen Symbole verwendet
-% werden. Dazu wird das Paket \textsf{macrosym} benötigt.
+% \changes{v3.12}{2013/05/13}{neu (intern)}%^^A
+% \changes{v3.27}{2019/03/21}{neue Werte}%^^A
+% Ãœber diese Option kann eingestellt werden, dass an Stelle von
+% sprachabhängigen Bezeichnern für einige Variablen Symbole verwendet
+% werden. Statt nur boolsche Werte, sind ab \KOMAScript~3.27 auch die Werte
+% \texttt{marvosym} oder \texttt{fontawesome} möglich. \texttt{marvosym}
+% entspricht dabei dem bisherigen \texttt{true}.
% \begin{macrocode}
-%</letter>
-%</body>
%<*option&letter>
\newif\if@scrsymbols
\KOMA@key{symbolicnames}[true]{%
\KOMA@set@ifkey{symbolicnames}{@scrsymbols}{#1}%
- \KOMA@kav@replacebool{.%
-%<class> \KOMAClassFileName
-%<package> scrletter.\scr@pkgextension
- }{symbolicnames}{@scrsymbols}%
- \if@scrsymbols
- \if@atdocument
- \begingroup
- \@tempswafalse
- \scr@ifundefinedorrelax{Telefon}{\@tempswatrue}{%
- \scr@ifundefinedorrelax{FAX}{\@tempswatrue}{%
- \scr@ifundefinedorrelax{Email}{\@tempswatrue}{%
- \scr@ifundefinedorrelax{Mobilefone}{\@tempswatrue}{%
- }%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \def\scr@symbols@font{marvosym}%
+ \else
+ \KOMA@set@ncmdkey{symbolicnames}{reserved@a}{%
+ {marvosym}{0},%
+ {fontawesome}{1},{awesome}{1},%
+ }{#1}%
+ \ifx \FamilyKeyState\FamilyKeyStateProcessed
+ \@scrsymbolstrue
+ \ifcase \number\reserved@a
+ \def\scr@symbols@font{marvosym}%
+ \else
+ \def\scr@symbols@font{fontawesome}%
+ \fi
+ \fi
+ \fi
+ \ifx \FamilyKeyState\FamilyKeyStateProcessed
+ \KOMA@kav@xreplacevalue{.%
+%<class> \KOMAClassFileName
+%<package> scrletter.\scr@pkgextension
+ }{symbolicnames}{#1}%
+ \if@scrsymbols
+ \ifstr{\scr@symbols@font}{marvosym}{%
+ \def\scr@symbol@phone{\Telefon}%
+ \def\scr@symbol@fax{\FAX}%
+ \def\scr@symbol@email{\Email}%
+ \def\scr@symbol@mobilephone{\Mobilefone}%
+ \def\scr@symbol@www{\@empty}%
+ }{%
+ \def\scr@symbol@phone{\faPhone}%
+ \def\scr@symbol@fax{\faFax}%
+ \def\scr@symbol@email{\faEnvelopeO}%
+ \def\scr@symbol@mobilephone{\faMobilePhone}%
+ \def\scr@symbol@www{\faGlobe}%
+ }%
+ \if@atdocument
+ \begingroup
+ \@tempswafalse
+ \expandafter\ifdefined\scr@symbol@phone\else\@tempswatrue\fi
+ \expandafter\ifdefined\scr@symbol@fax\else\@tempswatrue\fi
+ \expandafter\ifdefined\scr@symbol@email\else\@tempswatrue\fi
+ \expandafter\ifdefined\scr@symbol@mobilephone\else\@tempswatrue\fi
+ \expandafter\ifdefined\scr@symbol@www\else\@tempswatrue\fi
+ \if@tempswa
+ \aftergroup\@scrsymbolsfalse
+%<class> \ClassWarning{\KOMAClassName}{%
+%<package> \PackageWarning{scrletter}{%
+ Option `symbolicnames=#1'
+ ignorred.\MessageBreak
+ You've tried to set option `symbolicnames'\MessageBreak
+ after \string\begin{document}, but without\MessageBreak
+ loading package `\scr@symbols@font' before.\MessageBreak
+ You should either switch on option\MessageBreak
+ `symbolicnames' before \string\begin{document}\MessageBreak
+ or load package `\scr@letter@symbols@font' in the
+ document\MessageBreak
+ preamble to avoid this warning%
}%
- }%
- }%
- \if@tempswa
- \aftergroup\@scrsymbolsfalse
-%<class> \ClassWarning{scrlttr2}{%
-%<package> \PackageWarning{scrletter}{%
- Option `symbolicnames'
- ignorred.\MessageBreak
- You've tried to set option `symbolicnames'\MessageBreak
- after \string\begin{document}, but without\MessageBreak
- loading package `marvosym' before.\MessageBreak
- You should either switch on option\MessageBreak
- `symbolicnames' before \string\begin{document}\MessageBreak
- or load package `marvosym' in the document\MessageBreak
- preamble to avoid this warning%
- }%
- \fi
- \endgroup
- \else
+ \fi
+ \endgroup
+ \else
% \end{macrocode}
-% \changes{v3.20}{2016/04/01}{Name der Klasse oder des Pakets ist für die
-% Ladeverzögerung von \textsf{marvosym} egal}^^A
-% \changes{v3.20}{2016/04/01}{Ladeverzögerung für das Paket
-% \textsf{marvosym} nur, wenn erforderlich und möglich}^^A
-% In der Dokumentpräambel kann das Paket \textsf{marvosym} selbst geladen
+% \changes{v3.20}{2016/04/01}{Name der Klasse oder des Pakets ist für die
+% Ladeverzögerung von \textsf{marvosym} egal}%^^A
+% \changes{v3.20}{2016/04/01}{Ladeverzögerung für das Font-Paket
+% nur, wenn erforderlich und möglich}%^^A
+% In der Dokumentpräambel kann das Paket \textsf{marvosym} selbst geladen
% werden. Allerdings funktioniert das nicht, solange wir im Optionen-Abschnitt
-% sind. Also muss es ggf. verzögert werden. Wie lange es zu verzögern ist,
-% hängt davon ab, ob wir uns in einer Klasse, einem Paket oder sonst einer
+% sind. Also muss es ggf. verzögert werden. Wie lange es zu verzögern ist,
+% hängt davon ab, ob wir uns in einer Klasse, einem Paket oder sonst einer
% Datei mit Optionen-Abschnitt befinden.
% \begin{macrocode}
- \ifx\@fileswith@pti@ns\@badrequireerror
- \ifstr{\@currext}{\@clsextension}{%
- \expandafter\AtEndOfClass
- }{%
- \ifstr{\@currext}{\@pksextension}{%
- \expandafter\AtEndOfPackage
+ \ifx\@fileswith@pti@ns\@badrequireerror
+ \ifstr{\@currext}{\@clsextension}{%
+ \expandafter\AtEndOfClass
}{%
- \expandafter\AtBeginDocument
+ \ifstr{\@currext}{\@pkgextension}{%
+ \expandafter\AtEndOfPackage
+ }{%
+ \expandafter\AtBeginDocument
+ }%
}%
- }%
- \else
- \expandafter\@firstofone
+ \else
+ \expandafter\@firstofone
+ \fi
+ {\RequirePackage{\scr@symbols@font}}%
\fi
- {\RequirePackage{marvosym}}%
\fi
\fi
}
@@ -3883,45 +5075,85 @@
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{symbolicnames}{false}%
+% \end{macrocode}
+% \selectlanguage{english}
+% \begin{macro}{\scr@symbols@font}
+% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% The name of the font packages used for the symbols if symbols instead of
+% names are activated.
+% \begin{macro}{\scr@symbol@phone}
+% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% The phone symbole.
+% \begin{macro}{\scr@symbol@fax}
+% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% The fax symbole.
+% \begin{macro}{\scr@symbol@email}
+% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% The e-mail symbol.
+% \begin{macro}{\scr@symbol@mobilephone}
+% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% The mobile-phone symbol.
+% \begin{macro}{\scr@symbol@www}
+% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% The world-wide-web symbol.
+% \begin{macrocode}
+\newcommand*{\scr@symbols@font}{}
+\newcommand*{\scr@symbol@phone}{\undefined}
+\newcommand*{\scr@symbol@fax}{\undefined}
+\newcommand*{\scr@symbol@email}{\undefined}
+\newcommand*{\scr@symbol@mobilephone}{\undefined}
+\newcommand*{\scr@symbol@www}{\undefined}
%</option&letter>
-%<*body>
-%<*letter>
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \selectlanguage{ngerman}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \end{option}
%
% \begin{KOMAvar}{placeseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{subjectseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{ccseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{enclseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{backaddressseparator}
-% \changes{v2.8q}{2002/01/22}{Neu}^^A
+% \changes{v2.8q}{2002/01/22}{Neu}%^^A
% \begin{KOMAvar}{phoneseparator}
-% \changes{v2.8q}{2002/03/25}{Neu}^^A
-% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}
+% \changes{v2.8q}{2002/03/25}{Neu}%^^A
+% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}%^^A
+% \changes{v3.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A
% \begin{KOMAvar}{faxseparator}
-% \changes{v2.8q}{2002/03/25}{Neu}^^A
-% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}
+% \changes{v2.8q}{2002/03/25}{Neu}%^^A
+% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}%^^A
+% \changes{v3.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A
% \begin{KOMAvar}{emailseparator}
-% \changes{v2.8q}{2002/03/25}{Neu}^^A
-% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}
+% \changes{v2.8q}{2002/03/25}{Neu}%^^A
+% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}%^^A
+% \changes{v3.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A
% \begin{KOMAvar}{urlseparator}
-% \changes{v2.8q}{2002/03/25}{Neu}^^A
-% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}
+% \changes{v2.8q}{2002/03/25}{Neu}%^^A
+% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}%^^A
+% \changes{v3.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A
% \begin{KOMAvar}{mobilephoneseparator}
-% \changes{v3.12}{2013/05/29}{Neu}^^A
+% \changes{v3.12}{2013/05/29}{Neu}%^^A
+% \changes{v3.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A
% \begin{KOMAvar}{zipcodeseparator}
-% \changes{v3.03}{2009/03/04}{Neu}^^A
+% \changes{v3.03}{2009/03/04}{Neu}%^^A
% Daneben gibt es einige Trennzeichen. Diese haben ggf. als Ausgabenamen das
-% Feld, für das sie als Trennzeichen dienen. Die Trennzeichen sind
+% Feld, für das sie als Trennzeichen dienen. Die Trennzeichen sind
% vordefiniert.
% \begin{macrocode}
+%<*body>
+%<*letter>
\newkomavar[\usekomavar{place}]{placeseparator}
\setkomavar{placeseparator}{,\nobreakspace}
\newkomavar[\subjectname]{subjectseparator}
@@ -3932,17 +5164,17 @@
\setkomavar{enclseparator}{: }
\newkomavar{backaddressseparator}
\setkomavar{backaddressseparator}{,\nobreakspace}
-\newkomavar[\if@scrsymbols\Telefon\else\phonename\fi]{phoneseparator}
+\newkomavar[\if@scrsymbols\scr@symbol@phone\else\phonename\fi]{phoneseparator}
\setkomavar{phoneseparator}{\if@scrsymbols\else:\fi\nobreakspace}
\newkomavar[%
- \if@scrsymbols\Mobilefone\else\mobilephonename\fi
+ \if@scrsymbols\scr@symbol@mobilephone\else\mobilephonename\fi
]{mobilephoneseparator}
\setkomavar{mobilephoneseparator}{\usekomavar{phoneseparator}}
-\newkomavar[\if@scrsymbols\FAX\else\faxname\fi]{faxseparator}
+\newkomavar[\if@scrsymbols\scr@symbol@fax\else\faxname\fi]{faxseparator}
\setkomavar{faxseparator}{\if@scrsymbols\else:\fi\nobreakspace}
-\newkomavar[\if@scrsymbols\Email\else\emailname\fi]{emailseparator}
+\newkomavar[\if@scrsymbols\scr@symbol@email\else\emailname\fi]{emailseparator}
\setkomavar{emailseparator}{\if@scrsymbols\else:\fi\nobreakspace}
-\newkomavar[\if@scrsymbols\else\wwwname\fi]{urlseparator}
+\newkomavar[\if@scrsymbols\scr@symbol@www\else\wwwname\fi]{urlseparator}
\setkomavar{urlseparator}{\if@scrsymbols\else:\nobreakspace\fi}
\newkomavar{zipcodeseparator}
\setkomavar{zipcodeseparator}{\,--\,}
@@ -3959,53 +5191,75 @@
% \end{KOMAvar}
% \end{KOMAvar}
%
+% \selectlanguage{english}%^^A
+% \begin{KOMAvar}{addressee}
+% \changes{v3.27}{2019/03/24}{new variable}%^^A
+% The package needs a variable for the addressee (used for the address field).
+% \begin{KOMAvar}{togivenname}
+% \changes{v3.27}{2019/03/24}{new variable}%^^A
+% \begin{KOMAvar}{tofamilyname}
+% \changes{v3.27}{2019/03/24}{new variable}%^^A
+% The package allows to build \texttt{toname} by \texttt{togivenname} and
+% \texttt{tofamilyname}.
+% \begin{macrocode}
+%<*package&willbe>
+\newkomavar{addressee}
+\newkomavar{togivenname}
+\newkomavar{tofamilyname}
+%</package&willbe>
+% \end{macrocode}
+% \end{KOMAvar}%^^A tofamilyname
+% \end{KOMAvar}%^^A togivenname
+% \end{KOMAvar}%^^A addressee
+% \selectlanguage{ngerman}%^^A
+%
% \begin{KOMAvar}{fromname}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{fromaddress}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{fromemail}
-% \changes{v2.8q}{2002/01/28}{Neu}^^A
+% \changes{v2.8q}{2002/01/28}{Neu}%^^A
% \begin{KOMAvar}{fromurl}
-% \changes{v2.8q}{2002/01/28}{Neu}^^A
+% \changes{v2.8q}{2002/01/28}{Neu}%^^A
% \begin{KOMAvar}{frombank}
-% \changes{v2.8q}{2002/01/28}{Neu}^^A
+% \changes{v2.8q}{2002/01/28}{Neu}%^^A
% \begin{KOMAvar}{toname}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{toaddress}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{fromphone}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{frommobilephone}
-% \changes{v3.12}{2013/05/29}{Neu}^^A
+% \changes{v3.12}{2013/05/29}{Neu}%^^A
% \begin{KOMAvar}{fromfax}
-% \changes{v2.8q}{2002/01/28}{Neu}^^A
+% \changes{v2.8q}{2002/01/28}{Neu}%^^A
% \begin{KOMAvar}{yourmail}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{yourref}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{myref}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{customer}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{invoice}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{subject}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{KOMAvar}{date}
-% \changes{v2.8q}{2002/01/16}{Neu}^^A
+% \changes{v2.8q}{2002/01/16}{Neu}%^^A
% \begin{macro}{\date}
-% \changes{v3.17}{2015/03/05}{das Makro gibt eine Warnung aus}^^A
+% \changes{v3.17}{2015/03/05}{das Makro gibt eine Warnung aus}%^^A
% \begin{macro}{\scr@saved@date}
-% \changes{v3.17}{2015/03/05}{Neu (intern)}^^A
+% \changes{v3.17}{2015/03/05}{Neu (intern)}%^^A
% Desweiteren gibt es einige Variable, die auch einen Ausgabenamen haben, weil
-% dieser üblicherweise vorangestellt wird. Eine Besonderheit stellt dabei
-% \texttt{subject} dar. Der Ausgabename beinhaltet dabei nämlich auch die
-% Trennzeichen, die hinter dem Namen üblicherweise stehen. Diese sind wiederum
+% dieser üblicherweise vorangestellt wird. Eine Besonderheit stellt dabei
+% \texttt{subject} dar. Der Ausgabename beinhaltet dabei nämlich auch die
+% Trennzeichen, die hinter dem Namen üblicherweise stehen. Diese sind wiederum
% ein Variable, deren Name der Ausgabename des Feldes ist. Will man also nur
-% den Namen aber nicht die Trennzeichen ändern, so ändert man statt dem Namen
+% den Namen aber nicht die Trennzeichen ändern, so ändert man statt dem Namen
% von \texttt{subject} den Namen von \texttt{subjectseparator}.
%
-% Ähnlich ist es mit \texttt{toaddress} und \texttt{fromaddress}. Dort ist der
+% Ähnlich ist es mit \texttt{toaddress} und \texttt{fromaddress}. Dort ist der
% Wert von \texttt{toname} bzw. \texttt{fromname} der Ausgabename. Bei
% \texttt{toaddress} und \texttt{fromaddress} wird davon jedoch intern kein
% Gebrauch gemacht. Die Variable \texttt{date} wird bereits so vordefiniert,
@@ -4052,8 +5306,8 @@
\scr@saved@date{#1}%
}
% \end{macrocode}
-% \end{macro}^^A \scr@saved@date
-% \end{macro}^^A \date
+% \end{macro}%^^A \scr@saved@date
+% \end{macro}%^^A \date
% \end{KOMAvar}
% \end{KOMAvar}
% \end{KOMAvar}