diff options
author | Karl Berry <karl@freefriends.org> | 2019-10-13 21:40:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-10-13 21:40:52 +0000 |
commit | ed8702df3768e21a3ef87a2eec9ca8341aad9b7a (patch) | |
tree | d2eb8a06d685acdcb364d57efb2334dbd3b2914d /Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx | |
parent | 4b6c2d7660365ff9963bcecf7a802e8060eb1bbc (diff) |
koma-script (13oct19)
git-svn-id: svn://tug.org/texlive/trunk@52369 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx | 2822 |
1 files changed, 2038 insertions, 784 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx index 208e4563a86..1ff07264486 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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} |