summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx3618
1 files changed, 1619 insertions, 1999 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx b/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
index 72171d8a70..36336f3b24 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-notepaper.dtx
-% Copyright (c) Markus Kohm, 2006-2021
+% Copyright (c) Markus Kohm, 2006-2022
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -17,54 +17,17 @@
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
-% ----------------------------------------------------------------------
-% scrkernel-notepaper.dtx
-% Copyright (c) Markus Kohm, 2006-2021
-%
-% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
-% Version 1.3c, verteilt und/oder veraendert werden.
-% Die neuste Version dieser Lizenz ist
-% http://www.latex-project.org/lppl.txt
-% und Version 1.3c ist Teil aller Verteilungen von LaTeX
-% Version 2005/12/01 oder spaeter und dieses Werks.
-%
-% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
-% (allein durch den Autor verwaltet).
-%
-% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
-%
-% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
-% \fi
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-% \iffalse
-%%% From File: $Id: scrkernel-notepaper.dtx 3577 2021-03-05 10:17:58Z kohm $
+%%% From File: $Id: scrkernel-notepaper.dtx 3742 2022-03-04 16:21:17Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
-% \fi
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2021-03-05 11:17:58 +0100 (Fri, 05 Mar 2021) $
+ \filedate$Date: 2022-03-04 17:21:17 +0100 (Fr, 04. Mär 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 1767 $
+ \filerevision$Revision: 3742 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-notepaper.dtx}
@@ -73,70 +36,66 @@
(note-paper)]
}%
\reserved@a
-% \iffalse
-\documentclass{scrdoc}
-\usepackage[english,ngerman]{babel}
-\CodelineIndex
-\RecordChanges
-\GetFileInfo{scrkernel-notepaper.dtx}
-\title{\KOMAScript{} \partname\ \texttt{\filename}%
- \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}}
-\date{\filedate}
-\author{Markus Kohm}
-
+\documentclass[USenglish]{koma-script-source-doc}
+\usepackage{babel}
+\setcounter{StandardModuleDepth}{3}
\begin{document}
- \maketitle
- \tableofcontents
- \DocInput{\filename}
+\DocInput{scrkernel-notepaper.dtx}
\end{document}
%</dtx>
% \fi
%
-% \selectlanguage{ngerman}
+% \changes{v2.95}{2006/03/16}{first version after splitting \file{scrclass.dtx}}
+% \changes{v3.36}{2022/02/26}{\cs{@newplength} replaced by \cs{newplength}}
+% \changes{v3.36}{2022/02/26}{\cs{@setplength} replaced by \cs{setplength}}
+% \changes{v3.36}{2022/02/26}{\cs{@addtoplength} replaced by \cs{addtoplength}}
+% \changes{v3.36}{2022/03/02}{switch over from \cls*{scrdoc} to
+% \cls*{koma-script-source-doc}}
+% \changes{v3.36}{2022/03/02}{whole implementation documentation in English}
%
-% \changes{v2.95}{2006/03/16}{%
-% erste Version aus der Aufteilung von \textsf{scrclass.dtx}}
+% \GetFileInfo{scrkernel-notepaper.dtx}
+% \title{Specific Code for Letters and Especially the Notepaper with
+% \href{https://komascript.de}{\KOMAScript}}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Revision \fileversion{} of \filedate}
+% \maketitle
+% \begin{abstract}
+% The notepaper is something with high interest for letters. \KOMAScript{}
+% provides a wide range of configurations for it. \file{scrkernel-notepaper}
+% implements these features with options, variables and pseudo lengths
+% \end{abstract}
+% \tableofcontents
%
-% \section{Briefbogen und Briefpapier}
+% \section{User Manual}
%
-% 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
-% ist genau genommen auch der Briefbogen Briefpapier, aber eben ein besonderes.
+% You can find the user documentation the commands implemented here in the
+% \KOMAScript{} manual, either the German \file{scrguide} or the English
+% \file{scrguien}.
%
-% \StopEventually{\PrintIndex\PrintChanges}
+% \MaybeStop{\PrintIndex}
%
-% \iffalse
-%<*option>
-% \fi
%
-% \iffalse
-%<*letter>
-% \fi
+% \section{Implementation of the Notepaper of Letters}
%
-% \subsection{Option für den Briefbogen}
+% This code is only valid for letters with \cls*{scrlttr2} or
+% \pkg*{scrletter}.
%
-% Gerade der Briefbogen ist durch eine ganze Anzahl von Optionen
-% konfigurierbar. Daher wird hier weiter thematisch untergliedert.
+% \begin{macrocode}
+%<*letter>
+% \end{macrocode}
%
%
-% \subsubsection{Optionen für den Briefkopf}
+% \subsection{Options of the letter head}
%
-% Die Gestaltung des Briefkopfes war bei der alten \texttt{scrlettr}
-% 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.
+% There are several options for the letter head.
%
% \begin{option}{firsthead}
-% \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
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist die Verwendung des Briefkopfes.
+% \changes{v2.97e}{2007/11/22}{added}
+% \begin{macro}{\@firstheadfalse,\@firstheadtrue,\if@firsthead}
+% \changes{v2.8q}{2002/01/25}{added}
+% Optionally the whole letter head can be switched off (default is on).
% \begin{macrocode}
+%<*option>
\KOMA@ifkey{firsthead}{@firsthead}
\KOMAExecuteOptions{firsthead=true}
% \end{macrocode}
@@ -144,30 +103,27 @@
% \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}{added}
+% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
+% \changes{v3.17}{2015/03/16}{using internal value storage}
% \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
-% Die Einstellung wird in einem nummerisch auszuwertenden Makro
-% gespeichert. Dabei gelten folgende Werte:
+% \changes{v2.8q}{2002/01/25}{added}
+% \changes{v2.97e}{2007/11/13}{new values added}
+% The option provides several values for placing the sender of the letter. The
+% decision is saved as numerical value of the macro.
% \begin{center}
-% \begin{tabular}{rl}
-% Wert & Ausrichtung \\\hline
-% 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 \\
-% 10000 & nicht antasten \\
+% \begin{tabular}{lrl}
+% \opt{fromalign} & \cs{@alignfrom} & placement\\\hline
+% \opt{=left} & 0 & left in the head\\
+% \opt{=center} & 1 & centered in the head\\
+% \opt{=right} & 2 & right in the head\\
+% \opt{=locationleft} & 3 & left in the location field\\
+% \opt{=locationright} & 4 & right in the location field\\
+% \opt{=false} & 10000 & \emph{don't touch} \\
% \end{tabular}
% \end{center}
-% Voreingestellt ist "`nicht antasten"'.
+% Initial setting is \emph{don't touch}, which means not to change the content
+% of variable \var{firsthead} of \var{location}.
% \begin{macrocode}
\newcommand*{\@alignfrom}{0}
\KOMA@key{fromalign}{%
@@ -196,23 +152,21 @@
% \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
-% gesamten Absender eine Linie gesetzt werden soll.
+% \changes{v2.8q}{2002/01/25}{added}
+% \changes{v3.17}{2015/03/16}{using internal value storage}
% \begin{macro}{\@rulefrom}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% Die Einstellung wird in einem nummerisch auszuwertenden Makro
-% gespeichert. Dabei gelten folgende Werte:
+% \changes{v2.8q}{2002/01/25}{added}
+% Should there be a horizontal rule inside the sender of the automatic
+% generated letter head of option \opt{fromalign}?
% \begin{center}
-% \begin{tabular}{rl}
-% Wert & Absenderlinie \\\hline
-% 0 & keine \\
-% 1 & unter dem Name \\
-% 2 & unter der Adresse \\
+% \begin{tabular}{lrl}
+% \opt{fromrule} & \cs{@rulefrom} & rule placement \\\hline
+% \opt{=false} & 0 & nowhere \\
+% \opt{=aftername} & 1 & below the senders name \\
+% \opt{=below} & 2 & below the senders address \\
% \end{tabular}
% \end{center}
-% Voreingestellt ist keine Linie.
+% Initial setting is nowhere.
% \begin{macrocode}
\KOMA@ncmdkey{fromrule}[below]{@rulefrom}{%
{false}{0},{no}{0},{off}{0},{aftername}{1},%
@@ -227,177 +181,107 @@
% \end{option}
%
% \begin{option}{fromphone}
-% \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
-% \begin{macro}{\@phonetrue}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% \begin{macro}{\@phonefalse}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist keine Telefonnummer im Absender.
+% \changes{v2.8q}{2002/01/25}{added}
+% \begin{macro}{\@phonefalse,\@phonetrue,\if@phone}
+% \changes{v2.8q}{2002/01/25}{added}
+% Show the sender's telephone number in the letter head automatically
+% generated by option \opt{fromalign}?
% \begin{macrocode}
\KOMA@ifkey{fromphone}{@phone}
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
% \end{option}
%
% \begin{option}{frommobilephone}
-% \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
-% \begin{macro}{\@mobilephonetrue}
-% \changes{v3.12}{2013/05/29}{Neu}%^^A
-% \begin{macro}{\@mobilephonefalse}
-% \changes{v3.12}{2013/05/29}{Neu}%^^A
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist keine Handynummer im Absender.
+% \changes{v3.12}{2013/05/29}{added}
+% \begin{macro}{\@mobilephonefalse,\@mobilephonetrue,\if@mobilephone}
+% \changes{v3.12}{2013/05/29}{added}
+% Show the sender's mobile telephone number in the letter head automatically
+% generated by option \opt{fromalign}?
% \begin{macrocode}
\KOMA@ifkey{frommobilephone}{@mobilephone}
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
% \end{option}
%
% \begin{option}{fromfax}
-% \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
-% \begin{macro}{\@faxtrue}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% \begin{macro}{\@faxfalse}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist keine Faxnummer im Absender.
+% \changes{v2.8q}{2002/01/25}{added}
+% \begin{macro}{\@faxfalse,\@faxtrue,\if@fax}
+% \changes{v2.8q}{2002/01/25}{added}
+% Show the sender's telefax number in the letter head automatically generated
+% by option \opt{fromalign}?
% \begin{macrocode}
\KOMA@ifkey{fromfax}{@fax}
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
% \end{option}
%
% \begin{option}{fromemail}
-% \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
-% \begin{macro}{\@emailtrue}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% \begin{macro}{\@emailfalse}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist keine E-Mail-Adresse im Absender.
+% \changes{v2.8q}{2002/01/25}{added}
+% \begin{macro}{\@emailfalse,\@emailtrue,\if@email}
+% \changes{v2.8q}{2002/01/25}{added}
+% Show the sender's email address in the letter head automatically generated
+% by option \opt{fromalign}?
% \begin{macrocode}
\KOMA@ifkey{fromemail}{@email}
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
% \end{option}
%
% \begin{option}{fromurl}
-% \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
-% \begin{macro}{\@wwwtrue}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% \begin{macro}{\@wwwfalse}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist keine URL im Absender.
+% \changes{v2.8q}{2002/01/25}{added}
+% \begin{macro}{\@wwwfalse,\@wwwtrue,\if@www}
+% \changes{v2.8q}{2002/01/25}{added}
+% Show a sender's url (e.g. of the homepage) in the letter head automatically
+% generated by option \opt{fromalign}?
% \begin{macrocode}
\KOMA@ifkey{fromurl}{@www}
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
% \end{option}
%
% \begin{option}{fromlogo}
-% \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
-% \begin{macro}{\@logotrue}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% \begin{macro}{\@logofalse}
-% \changes{v2.8q}{2002/01/25}{Neu}%^^A
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist kein Logo im Briefkopf.
+% \changes{v2.8q}{2002/01/25}{added}
+% \begin{macro}{\@logofalse,\@logotrue,\if@logo}
+% \changes{v2.8q}{2002/01/25}{added}
+% Show a sender's logo in the letter head automatically generated by option
+% \opt{fromalign} (placement also depends on \opt{fromalign})?
% \begin{macrocode}
\KOMA@ifkey{fromlogo}{@logo}
+%</option>
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
% \end{option}
%
%
-% \subsubsection{Optionen für Anschrift und Absenderergänzung}
+% \subsection{Options for the addressee and the location field}
%
% \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
-% werden.
-% \begin{macro}{\if@afield}
-% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}}
-% \begin{macro}{\@afieldtrue}
-% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}}
-% \begin{macro}{\@afieldfalse}
-% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}}
+% \changes{v2.8q}{2001/10/09}{added}
+% \changes{v3.03}{2009/03/04}{new values added}
+% \changes{v3.17}{2015/03/16}{using internal value storage}
% \begin{macro}{\@afieldmode}
-% \changes{v3.03}{2009/03/04}{neu (intern)}%^^A
-% Die Speicherung erfolgt wiederum in einem Makro.
+% \changes{v3.03}{2009/03/04}{added}
+% There are several settings for the address field---not only to switch it on
+% and off:
+% \begin{center}
+% \begin{tabular}{lrl}
+% \opt{addrfield} & \cs{@afieldmode} & meaning \\\hline
+% false & 0 & don't show the address
+% field\\
+% true & 1 & show address field
+% centered\\
+% PP & 2 & address field with
+% pospaid\\
+% backgroundimage & 3 & address field with
+% background image\\
+% image & 4 & address field by image\\
+% topaligned & 5 & show address field top
+% aligned\\
+% \end{tabular}
+% \end{center}
% \begin{macrocode}
-%<*class>
-\newcommand*{\if@afield}{%
- \ClassWarning{\KOMAClassName}{%
- Usage of \string\if@afield\space deprecated.\MessageBreak
- Internal macro \string\if@afield\space was removed at\MessageBreak
- KOMA-Script version 3.03. I'll replace the usage of\MessageBreak
- \string\if@afield\space by \string\ifnum
- \string\@afieldmode=\string\@ne.\MessageBreak
- This may result in errors. A better solution would be\MessageBreak
- to change the code}%
- \ifnum \@afieldmode=\@ne}
-\newcommand*{\@afieldtrue}{%
- \ClassWarning{\KOMAClassName}{%
- Usage of \string\if@afield\space deprecated.\MessageBreak
- Internal macro \string\if@afield\space was removed at\MessageBreak
- KOMA-Script version 3.03. I'll replace the usage of\MessageBreak
- \string\@afieldtrue\space by
- \string\KOMAoptions{addrfield=true}.\MessageBreak
- This may result in errors. A better solution would be\MessageBreak
- to change the code}%
- \KOMAoptions{addrfield=true}}
-\newcommand*{\@afieldfalse}{%
- \ClassWarning{\KOMAClassName}{%
- Usage of \string\if@afield\space deprecated.\MessageBreak
- Internal macro \string\if@afield\space was removed at\MessageBreak
- KOMA-Script version 3.03. I'll replace the usage of\MessageBreak
- \string\@afieldfalse\space by
- \string\KOMAoptions{addrfield=false}.\MessageBreak
- This may result in errors. A better solution would be\MessageBreak
- to change the code}%
- \KOMAoptions{addrfield=false}}
-%</class>
+%<*option>
\newcommand*{\@afieldmode}{\@ne}
\KOMA@ncmdkey{addrfield}[true]{@afieldmode}{%
{false}{0},{off}{0},{no}{0},%
@@ -418,23 +302,35 @@
%<package> scrletter.\scr@pkgextension
}{addrfield}{true}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \begin{macro}{\@afieldfalse,\@afieldtrue,\if@afield}
+% \changes{v3.03}{2009/03/04}{replaced by \cs{@afieldmode}}
+% \changes{v3.36}{2022/03/02}{removed}
% \end{macro}
% \end{macro}
% \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}{added}
+% \changes{v3.17}{2015/03/16}{using internal value storage}
+% \changes{v3.36}{2022/03/02}{value \opt{\quotechar=manual} fixed}
% \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}{added}
+% The international postage convention allows two priorities for
+% letters. Together with no (or manually given) priority we have three of
+% them:
+% \begin{center}
+% \begin{tabular}{lrl}
+% \opt{priority} & \cs{ltr@priority} & meaning \\\hline
+% false & 0 & use variable \var{specialmail}\\
+% B & 1 & set \var{specialmail} to
+% B-Economy\\
+% A & 2 & set \var{specialmail} to
+% A-Priority\\
+% \end{tabular}
+% \end{center}
% \begin{macrocode}
\KOMA@ncmdkey{priority}[A]{ltr@priority}{%
- {no}{0},{off}{0},{false}{0},{manual}{1},%
+ {no}{0},{off}{0},{false}{0},{manual}{0},%
{B}{1},{b}{1},%
{economy}{1},{Economy}{1},{ECONOMY}{1},%
{B-ECONOMY}{1},{B-Economy}{1},{b-economy}{1},%
@@ -451,28 +347,36 @@
% \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
-% durch eine Option.
-% \begin{macro}{\if@baddr}
-% \begin{macro}{\@baddrtrue}
-% \begin{macro}{\@baddrfalse}
+% \changes{v2.8q}{2002/01/22}{added}
+% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
+% \changes{v3.17}{3015/03/16}{using internal value storage}
+% \begin{macro}{\@baddrfalse,\@baddrtrue,\if@baddr}
% \begin{macro}{\backaddr@format}
-% \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
-% vor Version~2.96 festen Voreinstellung.
+% \changes{v2.96}{2006/07/31}{added}
+% The address field of the addressee can also contain a small sender's address
+% also known as return address.
+% \begin{center}
+% \begin{tabular}{llll}
+% \opt{backaddress} & \cs{if@baddr} & \cs{backaddr@format} & meaning \\\hline
+% \opt{=false} & \cs{iffalse} & unchanged & don't show a
+% return
+% address\\
+% \opt{=true} & \cs{iftrue} & unchanged & show the
+% return address\\
+% \opt{=underlined} & \cs{iftrue} & \cs{underline} & show
+% underlined
+% return
+% address\\
+% \opt{=plain} & \cs{iftrue} & \cs{@firstofone} & show the
+% return
+% address
+% unchanged\\
+% \end{tabular}
+% \end{center}
+% Initial setting is to show a underlined return address.
% \begin{macrocode}
\newcommand{\backaddr@format}[1]{}
\let\backaddr@format\underline
-% \end{macrocode}
-% \end{macro}
-% Die Einstellung true/false der Option wird in einem Schalter gespeichert.
-% \begin{macrocode}
\newif\if@baddr\@baddrtrue
\KOMA@key{backaddress}[true]{%
\begingroup
@@ -532,30 +436,30 @@
\fi
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
+% \end{macro}^^A \backaddr@format
+% \end{macro}^^A \if@baddr
+% \end{option}^^A backaddress
%
% \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
-% Mit Hilfe der Optione \texttt{locfield} kann der Platz neben dem Adressfeld
-% groß oder klein gewählt werden.
-% \begin{macro}{\if@bigloc}
-% \begin{macro}{\@bigloctrue}
-% \begin{macro}{\@biglocfalse}
-% Die Einstellung wird in einem Schalter gespeichert.
+% \changes{v2.8q}{2001/10/09}{added}
+% \changes{v2.97c}{2007/03/30}{inverted meaning fixed}
+% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
+% \changes{v3.17}{2015/03/16}{using internal value storage}
+% \begin{macro}{\@biglocfalse,\@bigloctrue,\if@bigloc}
+% We allow two different automatic settings for the location field right
+% beside the addressee's address field:
+% \begin{center}
+% \begin{tabular}{lll}
+% \opt{locfield} & \cs{if@bigloc} & meaning \\\hline
+% \opt{=wide} & \cs{iftrue} & set \plen{locwidth} to 2/3 of
+% available space\\
+% \opt{=narrow} & \cs{iffalse} & set \plen{locwidth} to 1/2 of
+% available space\\
+% \end{tabular}
+% \end{center}
+% Initial setting is \opt{locfield=narrow}.
% \begin{macrocode}
\newif\if@bigloc
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
\KOMA@key{locfield}[wide]{%
\begingroup
\KOMA@set@ncmdkey{locfield}{@tempa}{{wide}{0},{narrow}{1}}{#1}%
@@ -585,42 +489,91 @@
%<package> scrletter.\scr@pkgextension
}{locfield}{narrow}
% \end{macrocode}
-% \begin{option}{wlocfield}
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
-% \begin{option}{slocfield}
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
+% \begin{option}{wlocfield,slocfield}
+% \changes{v3.01a}{2008/11/20}{deprecated}
% \begin{macrocode}
\KOMA@DeclareDeprecatedOption{wlocfield}{locfield=wide}
\KOMA@DeclareDeprecatedOption{slocfield}{locfield=narrow}
+%</option>
% \end{macrocode}
-% \end{option}
-% \end{option}
-% \end{option}
+% \end{option}^^A wlocfield,slocfield
+% \end{macro}^^A \if@bigloc
+% \end{option}^^A locfield
%
%
-% \subsubsection{Optionen für Faltmarken}
+% \subsection{Options of the fold marks}
%
+% \KOMAScript{} provides a large number of horizontal and vertical fold marks.
+
% \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
-% werden.
-% \begin{macro}{\if@fold}
-% \begin{macro}{\@foldtrue}
-% \begin{macro}{\@foldfalse}
-% Ob Faltmarken gesetzt werden sollen oder nicht, wird in einem
-% Schalter gespeichert.
-% \begin{macrocode}
-\newif\if@fold\@foldtrue
-% \end{macrocode}
+% \changes{v2.8q}{2001/09/10}{added}
+% \changes{v3.00}{2008/06/06}{locally re-definition of \cs{FamilyUnkownKeyVal}
+% instead of \cs{KOMA@unkown@keyval}}
+% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
+% \changes{v3.17}{2015/03/16}{using internal value storage}
+% \begin{macro}{\@foldfalse,\@foldtrue,\if@fold}
% \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}{added}
+% Fold marks can be generally switched on and off and it can be selected,
+% which fold marks should be shown, if fold marks has been activated:
+% \begin{center}
+% \begin{tabular}{llll}
+% \opt{foldmarks} & \cs{if@fold} & \cs{@usefolds} & meaning\\\hline
+% \opt{=true} & \cs{iftrue} & \emph{no change} & switch on fold
+% marks\\
+% \opt{=false} & \cs{iffalse} & \emph{no change} & switch off fold
+% marks\\
+% \opt{=\dots T\dots} & \emph{no change} & \texttt{T} \emph{added} & top
+% fold mark
+% enabled\\
+% \opt{=\dots M\dots} & \emph{no change} & \texttt{M} \emph{added} & middle
+% fold mark
+% enabled\\
+% \opt{=\dots B\dots} & \emph{no change} & \texttt{B} \emph{added} & bottom
+% fold mark
+% enabled\\
+% \opt{=\dots P\dots} & \emph{no change} & \texttt{P} \emph{added} & hole
+% punch fold mark
+% enabled\\
+% \opt{=\dots H\dots} & \emph{no change} & \texttt{TMBP} \emph{added} & all
+% horizontal fold
+% marks enabled\\
+% \opt{=\dots L\dots} & \emph{no change} & \texttt{L} \emph{added} & left
+% fold mark
+% enabled\\
+% \opt{=\dots V\dots} & \emph{no change} & \texttt{L} \emph{added} & all
+% vertical fold
+% marks enabled\\
+% \opt{=\dots t\dots} & \emph{no change} & \texttt{T} \emph{removed} & top
+% fold mark
+% disabled\\
+% \opt{=\dots m\dots} & \emph{no change} & \texttt{M} \emph{removed} & middle
+% fold mark
+% disabled\\
+% \opt{=\dots b\dots} & \emph{no change} & \texttt{B} \emph{removed} & bottom
+% fold mark
+% disabled\\
+% \opt{=\dots p\dots} & \emph{no change} & \texttt{P} \emph{removed} & hole
+% punch fold mark
+% disabled\\
+% \opt{=\dots h\dots} & \emph{no change} & \texttt{TMBP} \emph{removed} & all
+% horizontal fold
+% marks disabled\\
+% \opt{=\dots l\dots} & \emph{no change} & \texttt{L} \emph{removed} & left
+% fold mark
+% disabled\\
+% \opt{=\dots v\dots} & \emph{no change} & \texttt{L} \emph{removed} & all
+% vertical fold
+% marks disabled\\
+% \end{tabular}
+% \end{center}
+% Enabling or disabling a fold mark does not enable printing of fold
+% marks. the enabled fold marks are only printed, if fold marks are switched
+% on. The initial state is to switch on the top, middle, bottom, punch hole
+% and left fold mark (in other words: all fold marks).
% \begin{macrocode}
+%<*option>
+\newif\if@fold\@foldtrue
\newcommand*{\@usefolds}{TMBPL}
\KOMA@key{foldmarks}[true]{%
\begingroup
@@ -694,7 +647,8 @@
}{foldmarks}{true}%
% \end{macrocode}
% \begin{macro}{\scr@removechar}
-% \changes{v2.97e}{2007/11/08}{Neu (intern)}%^^A
+% \changes{v2.97e}{2007/11/08}{added}
+% Used to remove one char from a character list macro like \cs{@usefolds}.
% \begin{macrocode}
\newcommand*{\scr@removechar}[2]{%
\def\in@@##1#2##2##3\in@@{%
@@ -704,49 +658,52 @@
\fi}%
\expandafter\in@@#1#2\in@\in@@
}
+%</option>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
+% \end{macro}^^A \scr@removechar
+% \end{macro}^^A \@usefolds
+% \end{macro}^^A \if@fold
+% \end{option}^^A foldmarks
%
%
-% \subsubsection{Optionen für die Geschäftszeile}
+% \subsection{Options of the reference line}
%
% \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
-% 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},
-% \texttt{dateright}, \texttt{nodate}}
-% \begin{macro}{\@refwidetrue}
-% \begin{macro}{\@refwidefalse}
-% Gespeichert wird die Information in einem Schalter.
+% \changes{v2.8n}{2001/09/08}{added}
+% \changes{v2.96a}{2006/12/07}{alternated meaning fixed}
+% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
+% \changes{v3.17}{2015/03/16}{using internal value storage}
+% \changes{v3.09}{2011/03/07}{values \opt{\quotechar=dateleft},
+% \opt{\quotechar=dateright}, \opt{\quotechar=nodate} added}
+% \changes{v3.27}{2019/05/03}{new value \opt{\quotechar=false} added}
+% \begin{macro}{\@refwidefalse,\@refwidetrue,\if@refwide}
+% \changes{v2.8n}{2001/09/08}{added}
% \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.
-% \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}%
+% \changes{v3.09}{2011/03/07}{added}
+% \begin{macro}{\@reflinefalse,\@reflinetrue,\if@refline}
+% \changes{v3.27}{2019/05/03}{added}
+% The reference line support two predefined widths, switching off and
+% three different positions for the date:
+% \begin{center}
+% \begin{tabular}{lllrl}
+% \opt{refline} & \cs{if@refwide} & \cs{if@refline} & \cs{@datepos} &
+% meaning\\\hline
+% \opt{false} & \emph{unchanged}& \cs{iffalse} & \emph{unchanged} &
+% deactivate reference line\\
+% \opt{=wide} & \cs{iftrue} & \cs{iftrue} & \emph{unchanged} &
+% print wide reference line\\
+% \opt{=narrow} & \cs{iffalse} & \cs{iftrue} & \emph{unchanged} &
+% print narrow reference line\\
+% \opt{=nodate}& \emph{unchanged} & \emph{unchanged} & 1 & don't print
+% date in reference line\\
+% \opt{=dateright}& \emph{unchanged} & \emph{unchanged} & 1 & add date
+% rightmost to reference line\\
+% \opt{=dateleft} & \emph{unchanged} & \emph{unchanged} & 2 & add date
+% leftmost to reference line\\
+% \end{tabular}
+% \end{center}
% \begin{macrocode}
+%<*option>
\newif\if@refwide
%<package>\newif\if@refline\@reflinetrue
\newcommand*{\@datepos}{1}
@@ -877,50 +834,54 @@
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{narrow}%
+%</option>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
+% \end{macro}^^A \@reflinefalse,\@reflinetrue,\if@refline
+% \end{macro}^^A \@datepos
+% \end{macro}^^A \@refwidefalse,\@refwidetrue,\if@refwide
+% \end{option}^^A refline
%
%
-% \subsubsection{Optionen für den Betreff}
+% \subsection{Options of the subject}
%
% \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
-% 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
-% verkneifen.}.
-% Deshalb kann alternativ zum Einschalten des Betreff-Titels hier auch
-% dies aktiviert werden.
+% \changes{v2.8q}{2001/10/09}{added}
+% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
+% \changes{v3.17}{2015/03/16}{using internal value storage}
+% \begin{macro}{\@subjtrue,\@subjfalse,\if@subj}
+% \begin{macro}{\@subjaftertrue,\@subjafterfalse,\if@subjafter}
% \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}{added}
+% \begin{command}{\raggedsubject}
+% \changes{v2.97c}{2007/07/06}{added}
+% The subject can be printed with or without title before or after the
+% opening. Different alignments and formats are also supported:
+% \begin{center}
+% \begin{tabular}{lllll}
+% \opt{subject} & \cs{if@subj} & \cs{if@subjafter} & \cs{subject@format} &
+% \cs{raggedsubject}\\\hline
+% \opt{=titled} & \cs{iftrue} & \emph{unchanged} & \emph{unchanged} &
+% \emph{unchanged}\\
+% \opt{=untitled} & \cs{iffalse} & \emph{unchanged} & \emph{unchanged} &
+% \emph{unchanged}\\
+% \opt{=afteropening} & \emph{unchanged} & \cs{iftrue} & \emph{unchanged} &
+% \emph{unchanged}\\
+% \opt{=beforeopening} & \emph{unchanged} & \cs{iffalse} & \emph{unchanged} &
+% \emph{unchanged}\\
+% \opt{=underlined} & \emph{unchanged} & \emph{unchanged} & \cs{underline}
+% & \emph{unchanged}\\
+% \opt{=left} & \emph{unchanged} & \emph{unchanged} & \emph{unchanged} &
+% \cs{raggedright} \\
+% \opt{=right} & \emph{unchanged} & \emph{unchanged} & \emph{unchanged} &
+% \cs{raggedleft} \\
+% \opt{=centered} & \emph{unchanged} & \emph{unchanged} & \emph{unchanged} &
+% \cs{centering} \\
+% \end{tabular}
+% \end{center}
% \begin{macrocode}
+%<*option>
\newcommand{\subject@format}[1]{#1}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\raggedsubject}
-% \changes{v2.97c}{2007/07/06}{neu (intern)}%^^A
-% \begin{macrocode}
\newcommand*{\raggedsubject}{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\if@subj}
-% \begin{macro}{\@subjtrue}
-% \begin{macro}{\@subjfalse}
-% \begin{macro}{\if@subjafter}
-% \begin{macro}{\@subjaftertrue}
-% \begin{macro}{\@subjafterfalse}
-% Die Speicherung erfolgt in zwei Schaltern.
-% \begin{macrocode}
\newif\if@subj
\newif\if@subjafter
\KOMA@key{subject}{%
@@ -1003,84 +964,76 @@
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{subject}{beforeopening}%
+%</option>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
+% \end{command}^^A \raggedsubject
+% \end{macro}^^A \subject@format
+% \end{macro}^^A \@subjaftertrue,\@subjafterfalse,\if@subjafter
+% \end{macro}^^A \@subjtrue,\@subjfalse,\if@subj
+% \end{option}^^A subject
%
%
-% \subsubsection{Optionen für den Satzspiegel}
+% \subsection{Options of the typing area}
%
% \begin{option}{enlargefirstpage}
-% \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
-% Seite zu hoch, dann wird der Satzspiegel vertikal entsprechend
-% verkürzt. Mit der Option \texttt{firstpageenlarge} kann erzwungen
-% werden, dass im umgekehrten Fall, der Satzspiegel vertikal
-% verlängert wird.
-% \begin{macro}{\if@enlargefp}
-% \begin{macro}{\@enlargefptrue}
-% \begin{macro}{\@enlargefpfalse}
-% Gespeichert wird die Information über die Optionen in einem
-% Schalter.
+% \changes{v2.8o}{2001/09/18}{added}
+% \begin{macro}{\@enlargefpfalse,\@enlargefptrue,\if@enlargefp}
+% \changes{v2.8o}{2001/09/18}{added}
+% Usually the text at the notepaper is placed regarding the general typing
+% area. But if the position of the foot of the note paper is to high, the text
+% area is automatically shorten. Option \opt{firstpageenlarge} also provides
+% the opposite: enlarge the text area of the first page, if the foot of the
+% note paper is placed very low.
% \begin{macrocode}
+%<*option>
\KOMA@ifkey{enlargefirstpage}{@enlargefp}
+%</option>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
+% \end{macro}^^A \if@enlargefp
+% \end{option}^^A enlargefirstpage
%
%
-% \subsubsection{Optionen für den Briefbogenfuß}
+% \subsection{Options of the letter footer}
%
% \begin{option}{firstfoot}
-% \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
-% Gespeichert wird die Information in einem einfachen Schalter.
-% Voreingestellt ist die Verwendung des Fußes.
+% \changes{v2.97e}{2007/11/22}{added}
+% \begin{macro}{\@firstfootfalse,\@firstfoottrue,\if@firstfoot}
+% \changes{v2.8q}{2002/01/25}{added}
+% Allow to switch of the footer of the note paper.
% \begin{macrocode}
+%<*option>
\KOMA@ifkey{firstfoot}{@firstfoot}\@firstfoottrue
+%</option>
% \end{macrocode}
% \end{macro}
% \end{option}
%
%
-% \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.
+% \subsection{Options of the head of succeeding pages}
%
% \begin{option}{pagenumber}
-% \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.
+% \changes{v2.8q}{2002/01/31}{added}
+% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
% \begin{macro}{\@pageat}
-% \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
-% -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 \\
-% \end{tabular}\end{center}
+% \changes{v2.8q}{2002/01/31}{added}
+% This is irrelevant for the notepaper but selects the position of the page
+% number on succeeding pages using page style \pstyle{headings},
+% \pstyle{myheadings} or \pstyle{plain} resp. \pstyle{letter} or
+% \pstyle{plain.letter}.
+% \begin{center}
+% \begin{tabular}{lrl}
+% \opt{pagenumber} & \cs{@pageat} & meaning\\\hline
+% \opt{=false} & -1 & no page number\\
+% \opt{=topleft} & 0 & in the left of the page head\\
+% \opt{=topmiddle} & 1 & centered in the page head\\
+% \opt{=topright} & 2 & in the right of the page head\\
+% \opt{=botleft} & 3 & in the left of the page foot\\
+% \opt{=botmiddle} & 4 & centered in the page foot\\
+% \opt{=botright} & 5 & in the right of the page foot\\
+% \end{tabular}
+% \end{center}
% \begin{macrocode}
+%<*option>
\newcommand*{\@pageat}{4}
\KOMA@key{pagenumber}{%
\begingroup
@@ -1152,65 +1105,31 @@
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{pagenumber}{botmiddle}
+%</option>
% \end{macrocode}
% \end{macro}
% \end{option}
%
%
-% \iffalse
-%</letter>
-%</option>
-%<*body>
-%<*letter>
-% \fi
-%
-% \subsection{Anweisungen für den Briefbogen}
-%
-% 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
-% \begin{macro}{\@firsthead}
-% \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
-% \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
-% \changes{v3.27}{2019/04/02}{\emph{hook} entfernt}%^^A
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^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.
-%
-% 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.
+% \subsection{Commands and macros of the letter head}
+%
+% \begin{variable}{firsthead}
+% \changes{v2.8q}{2002/01/28}{\cs{@alignfrom} set to 10000}
+% \changes{v3.08}{2010/10/28}{added}
+% \changes{v3.13b}{2014/10/04}{\emph{hook} for \file{DINmtext.lco} added}
+% \changes{v3.27}{2019/04/02}{\emph{hook} removed}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by
+% \cs{Ifkomavarempty}}
+% The head of the notepaper is not set by the page style but variable
+% \var{firsthead} inside \cs{opening}.
+% \begin{description}
+% \item[ToDo:] Change this at least for \pkg*{scrletter} to make the letter
+% head independent from \cs{opening}. With this \opt{fromalign} could
+% immediately re-define \var{firsthead} and also \cs{@gen@fisthead}
+% could become superfluously.
+% \end{description}
% \begin{macrocode}
-%<*class>
-\newcommand*{\@firsthead}{%
- \ClassWarning{scrlttr2}{%
- Deprecated usage of \string\@firsthead.\MessageBreak
- \string\usekomavar{firsthead} should be used\MessageBreak
- instead of \string\@firsthead
- }%
- \usekomavar{firsthead}%
-}
-%</class>
+%<*body>
\newkomavar{firsthead}
\setkomavar{firsthead}{%
\parbox[b]{\useplength{firstheadwidth}}%
@@ -1227,14 +1146,12 @@
}%
}
% \end{macrocode}
-% \end{KOMAvar}
+% \end{variable}
% \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
-% auf manuell umgeschaltet. Das darf deshalb auch erst nach dem erstmaligen
-% Setzen definiert werden!
+% \changes{v3.08}{2010/10/28}{added}
+% \changes{v3.17}{2015/03/16}{internal setting of {fromalign\quotechar=false}}
+% After setting the variable \opt{fromalign} has to be set to manual
+% alignment. But this must not be done for the initialization.
% \begin{macrocode}
\newcommand*{\scr@firsthead@postsetvar}{%
\KOMAExecuteOptions[.%
@@ -1243,38 +1160,36 @@
]{fromalign=no}%
}
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \scr@firsthead@postsetvar
+% \begin{macro}{\@gen@firsthead}
+% \changes{v2.8q}{2002/01/28}{added}
+% \changes{v2.97c}{2007/05/08}{configurable thickness of the line}
+% \changes{v2.97c}{2007/05/08}{configurable font/color of the line}
+% \changes{v3.06a}{2010/07/29}{using font element \fnt{fromrule}}
+% \changes{v3.08}{2010/10/28}{the notepaper head is a variable}
+% \changes{v3.12}{2013/05/29}{using variable \var{frommobilephone}}
% \begin{macrocode}
\newcommand*{\@gen@firsthead}{%
% \end{macrocode}
-% Damit wird ggf. die Kopfzeile der ersten Seite umdefiniert, nämlich dann,
-% wenn dies per Option aktiviert wurde.
+% Re-defines the page head of the notepaper, if this has been activated by
+% option \opt{fromalign}.
% \begin{macrocode}
\ifcase\@alignfrom
% \end{macrocode}
-% 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:
+% This is \cs{@alignfrom}=0 context, which means a left aligned sender's
+% address. This is done using a \cs{parbox} over the while text width.
% \begin{macrocode}
\setkomavar{firsthead}{%
\parbox[b]{\textwidth}{\raggedright
% \end{macrocode}
-% Zuerst wird der Name gesetzt. Dabei soll eine eigene Schriftart für
-% den Namen verwendet werden.
+% The name with the font element \fnt{fromname}.
% \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} 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
-% Absender steht:
+% If \cs{@rulefrom}=1, a horizontal rule has to follow. The length is either
+% \plen{fromrulewidth} or, if \plen{fromrulewidth} is 0, it is
+% automatically calculated. Here we avoid a rule into the logo.
% \begin{macrocode}
{%
\ifnum\@rulefrom=1\\[-.5\baselineskip]%
@@ -1294,13 +1209,9 @@
\\
}%
% \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}%
+% Next the senders' address with all optional fields, depending on the
+% corresponding switches. Once again we need a group because of the font
+% element \fnt{fromaddress} to be used.
% \begin{macrocode}
{\usekomafont{fromaddress}\strut\ignorespaces
\usekomavar{fromaddress}%
@@ -1312,10 +1223,8 @@
\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. Wir gehen davon aus, dass die Linie automatisch
-% nicht in das Logo ragt, da es in diesem Fall über der Linie zu
-% stehen hat. Die entsprechende Berechnung kann also entfallen.
+% If \cs{@rulefrom}=2, the horizontal rule has to be placed here. Once again
+% the length can be calculated automatically for \plen{fromrulewidth}=0.
% \begin{macrocode}
\ifnum\@rulefrom=2\\[-.5\baselineskip]%
\usekomafont{fromrule}{%
@@ -1330,25 +1239,19 @@
}%
}%
% \end{macrocode}
-% Die parbox ist damit ebenfalls beendet. Es muss nun ggf. noch das
-% Logo gesetz werden. Es wird in diesem Fall von der aktuellen
-% Position am rechten Rand nach links ausgegeben.
+% This was the \cs{parbox}, but maybe we have to place the logo.
% \begin{macrocode}
\if@logo
\llap{\usekomavar{fromlogo}}%
\fi
}%
\renewcommand*{\@alignfrom}{0}%
+ \or
% \end{macrocode}
-% 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
-% das location-Feld, daher wird dieser Fall auch dort behandelt.%
-% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
-% berücksichtigt}%
+% This is \cs{@alignfrom}=1 context, which means centered sender's
+% address. Here the logo needs special treatment: It is placed in the location
+% field.
% \begin{macrocode}
- \or
\setkomavar{firsthead}{%
\parbox[b]{\textwidth}{\centering
{\usekomafont{fromname}\strut\ignorespaces
@@ -1389,14 +1292,11 @@
}%
}%
\renewcommand*{\@alignfrom}{1}%
+ \or
% \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}%
+% This is \cs{@alignfrom}=2 context, which means right aligned sender's
+% address. This is almost the same as left aligned.
% \begin{macrocode}
- \or
\setkomavar{firsthead}{%
\if@logo
\rlap{\usekomavar{fromlogo}}%
@@ -1445,18 +1345,27 @@
}%
\renewcommand*{\@alignfrom}{2}%
% \end{macrocode}
-% Damit ist die Umdefinierung beendet. In allen anderen Fällen wird
-% der Kopf nicht verändert.
+% All other values of \cs{@alignfrom} do not change anything.
% \begin{macrocode}
\fi
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A \@gen@firsthead
%
-% Der Benutzer kann die Voreinstellung mit einer einfachen Anweisung ändern:
+% \begin{command}{\firsthead}
+% \changes{v3.08}{2010/10/28}{deprecated}
+% \begin{macro}{\@firsthead}
+% \changes{v3.08}{2010/10/28}{deprecated}
% \begin{macrocode}
%<*class>
+\newcommand*{\@firsthead}{%
+ \ClassWarning{scrlttr2}{%
+ Deprecated usage of \string\@firsthead.\MessageBreak
+ \string\usekomavar{firsthead} should be used\MessageBreak
+ instead of \string\@firsthead
+ }%
+ \usekomavar{firsthead}%
+}
\newcommand{\firsthead}{%
\ClassWarning{scrlttr2}{%
Deprecated usage of \string\firsthead.\MessageBreak
@@ -1466,145 +1375,146 @@
\setkomavar{firsthead}%
}
%</class>
+%</body>
% \end{macrocode}
% \end{macro}
+% \end{command}
%
-% \subsubsection{Schrifteinstellungen für den Briefbogen}
+% \subsection{Fonts of the notepaper}
%
-% \begin{KOMAfont}{foldmark}
-% \changes{v2.97c}{2007/05/08}{Neu}%^^A
-% Die Schrift (hier ist die Farbe der entscheidende Faktor) der Faltmarken.
+% \begin{fontelement}{foldmark}
+% \changes{v2.97c}{2007/05/08}{added}
+% The font or indeed the color of the fold marks.
% \begin{macrocode}
+%<*body>
\newkomafont{foldmark}{}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \begin{KOMAfont}{fromname}
-% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}
-% Der Absendername im Briefkopf.
+% \begin{fontelement}{fromname}
+% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}}
+% The font of the sender's name in the letter head.
% \begin{macrocode}
\newkomafont{fromname}{}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \begin{KOMAfont}{fromaddress}
-% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}
-% Die Absenderadresse im Briefkopf.
+% \begin{fontelement}{fromaddress}
+% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}}
+% The font of the sender's address in the letter head.
% \begin{macrocode}
\newkomafont{fromaddress}{}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \begin{KOMAfont}{fromrule}
-% \changes{v2.97c}{2007/05/08}{Neu}%^^A
-% Die Schrift (hier ist die Farbe der entscheidende Faktor) der Linie im
-% Absender.
+% \begin{fontelement}{fromrule}
+% \changes{v2.97c}{2007/05/08}{added}
+% The font or indeed the color of the horizontal rule above or below the
+% sender's address.
% \begin{macrocode}
\newkomafont{fromrule}{}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \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.
+% \begin{fontelement}{backaddress}
+% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}}
+% \changes{v3.21}{2016/05/19}{provides option
+% \opt{egregdoesnotlikesansseriftitles}}
+% The font of the return address.
% \begin{macrocode}
\newkomafont{backaddress}{\@gr@gsffamily}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \begin{KOMAfont}{specialmail}
-% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A
-% Die Versandart.
+% \begin{fontelement}{specialmail}
+% \changes{v2.97c}{2007/07/06}{added}
+% The font of the special sending note.
% \begin{macrocode}
\newkomafont{specialmail}{}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \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
-% ohne Durchschuss gearbeitet. An dieser Stelle ist Serifenlos quasi
-% vorgeschrieben, so dass wir hier Option
+% \begin{fontelement}{priority}
+% \changes{v3.03}{2009/03/04}{added}
+% The font of the priority note of priority A or B. Here we don't use any lead
+% and sans-serif is a must, so \opt{egregdoesnotlikesansseriftitles} is ignored.
% \texttt{egregdoesnotlikesansseriftitles} ignorieren.
% \begin{macrocode}
\newkomafont{priority}{\fontsize{10pt}{10pt}\sffamily\bfseries}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \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
-% ist. Wird nach \texttt{priority} angewandt. Eigentlich sollten hier 9\,mm
-% 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{fontelement}{prioritykey}
+% \changes{v3.03}{2009/03/04}{added}
+% The font of the letter of priority A or B. It is used after
+% \fnt{priority}. Generally this should be 9\,mm, but this would need a free
+% scalable font. With 24.88\,pt we are only 0.25\,mm to low. This should not
+% be a problem and does also work with Computer Modern. Once again we do not
+% use any lead.
% \begin{macrocode}
\newkomafont{prioritykey}{\fontsize{24.88pt}{24.88pt}\selectfont}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \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}
-% gesetzt wird. An dieser Stelle ist serifenlos quasi vorgeschrieben, so dass
-% wir hier Option \texttt{egregdoesnotlikesansseriftitles} ignorieren.
+% \begin{fontelement}{PPlogo}
+% \changes{v3.03}{2009/03/04}{added}
+% The font of the ``\texttt{P.P.}'' logo, with \opt{addrfield=PP}. Once again
+% sans-serif is a must, so \opt{egregdoesnotlikesansseriftitles} is ignored.
% \begin{macrocode}
\newkomafont{PPlogo}{\sffamily\bfseries}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \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.
-% gesetzt wird. And dieser Stelle ist serifenlos quasi vorgeschrieben, so dass
-% wir hier Option \texttt{egregdoesnotlikesansseriftitles} ignorieren.
+% \begin{fontelement}{PPdata}
+% \changes{v3.03}{2009/03/04}{added}
+% The font to be used inside the PP head. Once again sans-serif is a must, so
+% \opt{egregdoesnotlikesansseriftitles} is ignored.
% \begin{macrocode}
\newkomafont{PPdata}{\sffamily}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \begin{KOMAfont}{addressee}
-% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A
-% Die komplette Anschrift.
+% \begin{fontelement}{addressee}
+% \changes{v2.97c}{2007/07/06}{added}
+% The font to be used for the whole addressee.
% \begin{macrocode}
\newkomafont{addressee}{}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \begin{KOMAfont}{toname}
-% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A
-% Der Name des Empfängers in der Anschrift.
+% \begin{fontelement}{toname}
+% \changes{v2.97c}{2007/07/06}{added}
+% The font used only for the name of the addressee in difference to
+% \fnt{addressee}.
% \begin{macrocode}
\newkomafont{toname}{}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \begin{KOMAfont}{toaddress}
-% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A
-% Die Adresse des Empfängers in der Anschrift.
+% \begin{fontelement}{toaddress}
+% \changes{v2.97c}{2007/07/06}{added}
+% The font used only for the address of the addressee in difference to
+% \fnt{addressee}.
% \begin{macrocode}
\newkomafont{toaddress}{}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \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.
+% \begin{fontelement}{refname}
+% \changes{v2.97c}{2007/05/14}{added}
+% \changes{v3.21}{2016/05/19}{support of \opt{egregdoesnotlikesansseriftitles}}
+% The font for the field names of the reference line.
% \begin{macrocode}
\newkomafont{refname}{\@gr@gsffamily\scriptsize}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \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
-% \texttt{egregdoesnotlikesansseriftitles} zu beachten, da diese in
-% Version~2.97 noch nicht existierte.
+% \begin{fontelement}{refvalue}
+% \changes{v2.97c}{2007/05/14}{added}
+% \changes{v2.97d}{2007/10/09}{initial value changed}
+% The font of the field values of the reference line.
+% Support for \opt{egregdoesnotlikesansseriftitles} is not needed on
+% compatibility mode, because the option did not exist in version 2.97.
% \begin{macrocode}
%<*class>
\ifnum\scr@compatibility=\@nameuse{scr@v@2.97}\relax
@@ -1614,369 +1524,383 @@
\newkomafont{refvalue}{}
%<class>\fi
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \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
-% dieses Element Anwendung.
+% \begin{fontelement}{placeanddate}
+% \changes{v3.12}{2013/07/31}{added}
+% The font is used for place and date, if not real reference line but only
+% place and date are used.
% \begin{macrocode}
\newkomafont{placeanddate}{}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
%
-% \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
-% Der Brieftitel.
+% \begin{fontelement}{lettertitle}
+% \changes{v3.17}{2015/02/21}{replacement of \fnt{letter}}
+% \changes{v3.21}{2016/05/19}{support for \opt{egregdoesnotlikesansseriftitles}}
+% The font of the title of the letter.
% \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
+% \begin{fontelement}{title}
+% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}}
+% \changes{v3.17}{2015/02/21}{only an alias}
+% \changes{v3.17a}{2015/04/26}{alias fixed}
% \begin{macrocode}
%<package>\scr@ifundefinedorrelax{scr@fnt@title}{%
\aliaskomafont{title}{lettertitle}%
%<package>}{}
% \end{macrocode}
-% \end{KOMAfont}
-% \end{KOMAfont}
+% \end{fontelement}
+% \end{fontelement}
%
-% \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
-% Der Betreff im Brief.
+% \begin{fontelement}{lettersubject}
+% \changes{v3.17}{2015/02/21}{replacement of \texttt{subject}}
+% \changes{v3.17a}{2015/04/26}{alias fixed}
+% The font of the subject of the letter.
% \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
+% \begin{fontelement}{subject}
+% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}}
+% \changes{v3.17}{2015/02/21}{only an alias}
% \begin{macrocode}
%<package>\scr@ifundefinedorrelax{scr@fnt@subject}{%
\aliaskomafont{subject}{lettersubject}%
%<package>}{}
+%</body>
% \end{macrocode}
-% \end{KOMAfont}
-% \end{KOMAfont}
+% \end{fontelement}
+% \end{fontelement}
%
-% \subsubsection{Längen für den Briefbogen}
+% \subsection{Pseudo lengths of the notepaper}
%
-% \begin{macro}{\ltr@len@foldmarkhpos}
-% \changes{v2.8q}{2001/10/06}{Neu}%^^A
-% Abstand der horizontalen Faltmarken von der linken Papierkante.
+% \begin{pseudolength}{foldmarkhpos}
+% \changes{v2.8q}{2001/10/06}{added}
+% Distance of the horizontal fold marks to the left edge of the paper.
% \begin{macrocode}
-\@newplength{foldmarkhpos}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@foldmarkvpos}
-% \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
-% \begin{macro}{\ltr@len@mfoldmarkvpos}
-% \changes{v2.97e}{2007/11/08}{Neu}%^^A
-% \begin{macro}{\ltr@len@bfoldmarkvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}%^^A
-% Abstand der oberen, mittleren und unteren Faltmarken von der oberen
-% Papierkante.
-% \begin{macrocode}
-\@newplength{tfoldmarkvpos}
-\@newplength{mfoldmarkvpos}
-\@newplength{bfoldmarkvpos}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\ltr@len@lfoldmarkhpos}
-% \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
-% \begin{macro}{\ltr@len@hfoldmarklength}
-% \changes{v2.97e}{2007/11/10}{Neu}%^^A
-% \begin{macro}{\ltr@len@mfoldmarklength}
-% \changes{v2.97e}{2007/11/10}{Neu}%^^A
-% \begin{macro}{\ltr@len@bfoldmarklength}
-% \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
-% der (linken) vertikalen Faltmarke.
-% \begin{macrocode}
-\@newplength{pfoldmarklength}
-\@newplength{tfoldmarklength}
-\@newplength{mfoldmarklength}
-\@newplength{bfoldmarklength}
-\@newplength{lfoldmarklength}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\ltr@len@foldmarkthickness}
-% \changes{v2.97c}{2007/05/08}{Neu}%^^A
-% Dicke der Faltmarken.
-% \begin{macrocode}
-\@newplength{foldmarkthickness}
-\@setplength{foldmarkthickness}{.2pt}
+%<*body>
+\newplength{foldmarkhpos}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@toaddrvpos}
-% \changes{v2.8q}{2001/10/06}{Neu}%^^A
-% Abstand des Adressfensters von der oberen Papierkante.
+% \end{pseudolength}
+% \begin{pseudolength}{foldmarkvpos}
+% \changes{v2.97e}{2007/11/10}{added}
+% Distance of the vertical fold marks to the top edge of the paper.
+% \begin{macrocode}
+\newplength{foldmarkvpos}
+% \end{macrocode}
+% \end{pseudolength}
+% \begin{pseudolength}{tfoldmarkvpos}
+% \changes{v2.8q}{2001/10/06}{added}
+% Distance of the top of the horizontal fold marks to the top edge of the
+% paper.
+% \begin{macrocode}
+\newplength{tfoldmarkvpos}
+% \end{macrocode}
+% \end{pseudolength}
+% \begin{pseudolength}{mfoldmarkvpos}
+% \changes{v2.97e}{2007/11/08}{added}
+% Distance of the middle horizontal fold mark (which is not the bunch
+% hole fold mark) to the top edge of the paper.
+% \begin{macrocode}
+\newplength{mfoldmarkvpos}
+% \end{macrocode}
+% \end{pseudolength}
+% \begin{pseudolength}{bfoldmarkvpos}
+% \changes{v2.8q}{2001/10/06}{added}
+% Distance of the lower horizontal fold mark to the top edge of the paper.
+% \begin{macrocode}
+\newplength{bfoldmarkvpos}
+% \end{macrocode}
+% \end{pseudolength}
+% \begin{pseudolength}{lfoldmarkhpos}
+% \changes{v2.97e}{2007/11/10}{added}
+% Distance of the left (and only) vertical fold mark to the left edge of the
+% paper.
+% \begin{macrocode}
+\newplength{lfoldmarkhpos}
+% \end{macrocode}
+% \end{pseudolength}
+% \begin{pseudolength}{pfoldmarklength,hfoldmarklength,mfoldmarklength,
+% bfoldmarklength,lfoldmarklength}
+% \changes{v2.97e}{2001/11/10}{added}
+% The lengths of all fold marks.
+% \begin{macrocode}
+\newplength{pfoldmarklength}
+\newplength{tfoldmarklength}
+\newplength{mfoldmarklength}
+\newplength{bfoldmarklength}
+\newplength{lfoldmarklength}
+% \end{macrocode}
+% \end{pseudolength}
+% \begin{pseudolength}{foldmarkthickness}
+% \changes{v2.97c}{2007/05/08}{added}
+% One length for the thickness/weight of all fold marks.
+% \begin{macrocode}
+\newplength{foldmarkthickness}
+\setplength{foldmarkthickness}{.2pt}
+% \end{macrocode}
+% \end{pseudolength}
+% \begin{pseudolength}{toaddrvpos}
+% \changes{v2.8q}{2001/10/06}{added}
+% Distance of the address field of the addressee from the top edge of the
+% paper.
% \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.
+\newplength{toaddrvpos}
+% \end{macrocode}
+% \end{pseudolength}
+% \begin{pseudolength}{backaddrheight}
+% \changes{v2.8q}{2001/10/06}{added}
+% Height reserved for the return address inside the address field of the
+% addressee.
% \begin{macrocode}
-\@newplength{backaddrheight}
+\newplength{backaddrheight}
+% \end{macrocode}
+% \end{pseudolength}
+% \begin{pseudolength}{toaddrhpos}
+% \changes{v2.8q}{2001/10/06}{added}
+% If positive the distance of the left of the address field of the addressee
+% to the left edge of the paper. Otherwise the (negative) distance of the
+% addressee from the right of the address field of the addressee to the right
+% edge of the paper.
+% \begin{macrocode}
+\newplength{toaddrhpos}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@toaddrhpos}
-% \changes{v2.8q}{2001/10/06}{Neu}%^^A
-% Abstand des Adressfeldes von der linken Papierkante bzw. wenn negativ von
-% der rechten Papierkante.
-% \begin{macrocode}
-\@newplength{toaddrhpos}
+% \end{pseudolength}
+% \begin{pseudolength}{specialmailindent}
+% \changes{v2.8q}{2002/03/25}{added}
+% Distance of the special sending note from the left edge of the address field
+% of the addressee.
+% \begin{macrocode}
+\newplength{specialmailindent}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@specialmailindent}
-% \changes{v2.8q}{2002/03/25}{Neu}%^^A
-% Abstand der Versandtart vom linken Rand des Adressfensters.
+% \end{pseudolength}
+% \begin{pseudolength}{specialmailrightindent}
+% \changes{v2.8q}{2002/03/25}{added}
+% Distance of the special sending not from the right edge of the address field
+% of the addressee.
% \begin{macrocode}
-\@newplength{specialmailindent}
+\newplength{specialmailrightindent}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@specialmailrightindent}
-% \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
-% 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
-% Rand des Adressfensters verwendet.
-% \begin{macrocode}
-\@newplength{toaddrindent}
+% \end{pseudolength}
+% \begin{pseudolength}{toaddrindent}
+% \changes{v2.8q}{2001/10/06}{added}
+% Distance of the name and address of the addressee from the left edge of the
+% address field of the addressee. With \opt{addrfield=PP} 0 is interpreted as
+% 8\,mm, because of the international norm. Additionally the value is also
+% used for the distance on the right side. In all other modes 0 is really 0.
+% \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},
-% \texttt{backgroundimage} und \texttt{image}. 0 bedeutet hier 20,74\,pt.
+% \end{pseudolength}
+% \begin{pseudolength}{PPheadheight}
+% \changes{v3.03}{2009/03/04}{added}
+% The height of the PP head with \opt{addrfield=PP},
+% \opt{addrfield=backgroundimage} or \opt{addrfield=image}. 0 means 20.74\,pt
+% here.
% \begin{macrocode}
-\@newplength{PPheadheight}
+\newplength{PPheadheight}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@PPheadwidth}
-% \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{pseudolength}
+% \begin{pseudolength}{PPheadwidth}
+% \changes{v3.03}{2009/03/04}{added}
+% The width of the PP head with \opt{addrfield=PP}. 0 means 42\,mm here.
+% \begin{macrocode}
+\newplength{PPheadwidth}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@PPdatamatrixvskip}
-% \changes{v3.03}{2009/03/04}{Neu}%
-% Abstand zwischen PP-Kopf und DataMatrix im Anschriftmodus \texttt{PP}. 0
-% bedeutet hier 9\,mm.
-% \begin{macrocode}
-\@newplength{PPdatamatrixvskip}
+% \end{pseudolength}
+% \begin{pseudolength}{PPdatamatrixvskip}
+% \changes{v3.03}{2009/03/04}{added}
+% Distance between the PP head and the data matrix with \opt{addrfield=PP}. 0
+% means 9\,mm.
+% \begin{macrocode}
+\newplength{PPdatamatrixvskip}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@toaddrwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}%^^A
-% Breite des Adressfensters
-% \begin{macrocode}
-\@newplength{toaddrwidth}
+% \end{pseudolength}
+% \begin{pseudolength}{toaddrwidth}
+% \changes{v2.8q}{2001/10/06}{added}
+% Width of the address field of the addressee.
+% \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
+% \end{pseudolength}
+% \begin{pseudolength}{toaddrheight}
+% \changes{v2.8q}{2001/10/06}{added}
+% \changes{v3.03b}{2009/06/25}{implemented like documented}
+% Height of the address field inclusive return address.
% \begin{macrocode}
-\@newplength{toaddrheight}
+\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.
+% \end{pseudolength}
+% \begin{pseudolength}{locvpos}
+% \changes{v2.97e}{2007/11/07}{added}
+% Distance of the location field from the top edge of the paper.
% \begin{macrocode}
-\@newplength{locvpos}
+\newplength{locvpos}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@locwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}%^^A
-% Breite des Feldes neben dem Adressfenster
+% \end{pseudolength}
+% \begin{pseudolength}{locwidth}
+% \changes{v2.8q}{2001/10/06}{added}
+% Width of the location field.
% \begin{macrocode}
-\@newplength{locwidth}
+\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
-% von der rechten Papierkante.
+% \end{pseudolength}
+% \begin{pseudolength}{lochpos}
+% \changes{v2.97e}{2007/11/07}{added}
+% For positive values, the distance of the left of the location field to the
+% left edge of the paper. For negative values the (negative) distance of the
+% right of the location field to the right edge of the paper.
% \begin{macrocode}
-\@newplength{lochpos}
+\newplength{lochpos}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@locheight}
-% \changes{v2.97e}{2007/11/07}{Neu}%^^A
-% Höhe der Absenderergänzung.
+% \end{pseudolength}
+% \begin{pseudolength}{locheight}
+% \changes{v2.97e}{2007/11/07}{added}
+% The height of the location field.
% \begin{macrocode}
-\@newplength{locheight}
+\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.
+% \end{pseudolength}
+% \begin{pseudolength}{refvpos}
+% \changes{v2.8q}{2001/10/06}{added}
+% The distance of the reference line from the top edge of the paper.
% \begin{macrocode}
-\@newplength{refvpos}
+\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).
+% \end{pseudolength}
+% \begin{pseudolength}{refheight}
+% \changes{v3.27}{2019/05/03}{new}
+% The height of the reference line, if it is used.
% \begin{macrocode}
%<*package&willbe>
-\@newplength{refheight}
+\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.
+% \end{pseudolength}
+% \begin{pseudolength}{refwidth}
+% \changes{v2.8q}{2001/10/06}{added}
+% The width of the reference line.
% \begin{macrocode}
-\@newplength{refwidth}
+\newplength{refwidth}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@refhpos}
-% \changes{v2.9l}{2003/01/28}{Neu}%^^A
-% Horizontale Position der Geschäftszeile.
+% \end{pseudolength}
+% \begin{pseudolength}{refhpos}
+% \changes{v2.9l}{2003/01/28}{added}
+% The horizontal position of the reference line.
% \begin{macrocode}
-\@newplength{refhpos}
+\newplength{refhpos}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@refaftervskip}
-% \changes{v2.8q}{2001/10/09}{Neu}%^^A
-% Abstand nach der Geschäftszeile.
+% \end{pseudolength}
+% \begin{pseudolength}{refaftervskip}
+% \changes{v2.8q}{2001/10/09}{added}
+% The vertical distance below the reference line.
% \begin{macrocode}
-\@newplength{refaftervskip}
+\newplength{refaftervskip}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@sigbeforevskip}
-% \changes{v2.8q}{2001/10/09}{Neu}%^^A
-% Raum für die Unterschrift.
+% \end{pseudolength}
+% \begin{pseudolength}{sigbeforevskip}
+% \changes{v2.8q}{2001/10/09}{added}
+% The vertical distance between the closing text and the signature text, to be
+% used for the hand-written signature.
% \begin{macrocode}
-\@newplength{sigbeforevskip}
+\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.
+% \end{pseudolength}
+% \begin{pseudolength}{sigindent}
+% \changes{v2.8q}{2001/10/06}{added}
+% Horizontal indent of the closing text and the signature.
% \begin{macrocode}
-\@newplength{sigindent}
+\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.
+% \end{pseudolength}
+% \begin{pseudolength}{firstfootvpos}
+% \changes{v2.8q}{2001/10/06}{added}
+% Distance of the letter footer (on the notepaper only) to the top edge of the
+% paper.
% \begin{macrocode}
-\@newplength{firstfootvpos}
+\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.
+% \end{pseudolength}
+% \begin{pseudolength}{firstfootwidth}
+% \changes{v2.8q}{2001/10/06}{added}
+% Width of the letter footer (on the notepaper only).
% \begin{macrocode}
-\@newplength{firstfootwidth}
+\newplength{firstfootwidth}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@firstfoothpos}
-% \changes{v3.05}{2009/11/09}{Neu}%^^A
-% Abstand des Kopfes vom linken Rand der Seite.
+% \end{pseudolength}
+% \begin{pseudolength}{firstfoothpos}
+% \changes{v3.05}{2009/11/09}{added}
+% Distance of the letter footer (on the notepaper only) to the left edge of
+% the paper. Note: See the \cs{opening} code for information about special
+% value \cs{maxdimen}.
% \begin{macrocode}
-\@newplength{firstfoothpos}
-\@setplength{firstfoothpos}{\maxdimen}
+\newplength{firstfoothpos}
+\setplength{firstfoothpos}{\maxdimen}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@firstheadvspos}
-% \changes{v2.8q}{2001/10/06}{Neu}%^^A
-% Abstand des Kopfes der ersten Seite von der Papieroberkante.
+% \end{pseudolength}
+% \begin{pseudolength}{firstheadvspos}
+% \changes{v2.8q}{2001/10/06}{added}
+% Distance of the letter head (on the notepaper only) to the top edge of the
+% paper.
% \begin{macrocode}
-\@newplength{firstheadvpos}
+\newplength{firstheadvpos}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@firstheadwidth}
-% \changes{v2.8q}{2001/10/06}{Neu}%^^A
-% Breite des Kopfes der ersten Seite.
+% \end{pseudolength}
+% \begin{pseudolength}{firstheadwidth}
+% \changes{v2.8q}{2001/10/06}{added}
+% Width of the letter head (on the notepaper only).
% \begin{macrocode}
-\@newplength{firstheadwidth}
+\newplength{firstheadwidth}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ltr@len@firstheadhpos}
-% \changes{v3.05}{2009/11/09}{Neu}%^^A
-% Abstand des Kopfes vom linken Rand der Seite.
+% \end{pseudolength}
+% \begin{pseudolength}{firstheadhpos}
+% \changes{v3.05}{2009/11/09}{added}
+% Distance of the letter head (on the notepaper only) to the left edge of
+% the paper. Note: See the \cs{opening} code for information about special
+% value \cs{maxdimen}.
% \begin{macrocode}
-\@newplength{firstheadhpos}
-\@setplength{firstheadhpos}{\maxdimen}
+\newplength{firstheadhpos}
+\setplength{firstheadhpos}{\maxdimen}
% \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.
+% \end{pseudolength}
+% \begin{pseudolength}{fromrulewidth}
+% \changes{v2.8q}{2002/01/28}{added}
+% The length of the optional horizontal rule above or below the address of the
+% sender. Value 0 means automatically calculated length.
% \begin{macrocode}
-\@newplength{fromrulewidth}
-\@setplength{fromrulewidth}{0pt}
+\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}}
-% Die Dicke einer eventuell gesetzte Linie im Absender.
+% \end{pseudolength}
+% \begin{pseudolength}{fromrulethickness}
+% \changes{v2.97c}{2007/05/08}{added}
+% The thickness/weight of the optional horizontal rule above or below the
+% address of the sender.
% \begin{macrocode}
-\@newplength{fromrulethickness}
-\@setplength{fromrulethickness}{.4pt}
+\newplength{fromrulethickness}
+\setplength{fromrulethickness}{.4pt}
+%</body>
% \end{macrocode}
-% \end{macro}
+% \end{pseudolength}
%
%
-% \subsubsection{Fuß des Briefbogens}
+% \subsection{The footer of the notepaper}
%
-% \begin{macro}{\firstfoot}
-% \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
-% \begin{KOMAvar}{firstfoot}
-% \changes{v3.08}{2010/10/28}{Neu}%^^A
+% \begin{variable}{firstfoot}
+% \changes{v3.08}{2010/10/28}{added}
+% Initially the value of the letter footer of the notepaper is empty. The user
+% manual shows, how to use it.
% \begin{macrocode}
-% Der Fuß des Briefbogens ist in der Voreinstellung leer.
+%<*body>
\newkomavar{firstfoot}
-%<*class>
+% \end{macrocode}
+% \begin{command}{\firstfoot}
+% \changes{v3.08}{2010/10/28}{deprecated}
+% \begin{macro}{\@firstfoot}
+% \changes{v3.08}{2010/10/28}{deprecated}
+% \begin{macrocode}
+%<*class>
\newcommand*{\@firstfoot}{%
\ClassWarning{scrlttr2}{%
Deprecated usage of \string\@firstfoot.\MessageBreak
@@ -1985,9 +1909,6 @@
}%
\usekomavar{firstfoot}%
}
-% \end{macrocode}
-% Dies kann jedoch über eine einfache Benutzeranweisung geändert werden:
-% \begin{macrocode}
\newcommand{\firstfoot}{%
\ClassWarning{scrlttr2}{%
Deprecated usage of \string\firstfoot.\MessageBreak
@@ -1997,28 +1918,32 @@
\setkomavar{firstfoot}%
}
%</class>
+%</body>
% \end{macrocode}
-% \end{KOMAvar}
-% \end{macro}
-% \end{macro}
-%
+% \end{macro}^^A \@firstfoot
+% \end{command}^^A \firstfoot
+% \end{variable}^^A firstfoot
%
-% \subsubsection{Ausgabe des Briefbogens}
%
-% 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}).
+% \subsection{Output of the notepaper}
%
-% \selectlanguage{english}%
+% \begin{description}
+% \item[Note:] There have been plans to move output of the notepaper to the
+% page style with \pkg*{scrletter}. You can find some experimental code for
+% this already here with tag \texttt{willbe}. But the plans have been
+% dropped, because there was not enough man power to design and implement it
+% all and to keep \KOMAScript{} compatible with \LaTeX{} at the same time.
+% \end{description}
+%
% \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.
+% \changes{v3.27}{2019/04/16}{added}
+% This is used by page style \pstyle{notepaper} (see
+% \file{scrkernel-pagestyle.dtx}) to print all elements.
% \begin{macro}{\scr@notepaper@printelementsoflist}
-% \changes{v3.27}{2019/04/16}{new (internal)}%^^A
+% \changes{v3.27}{2019/04/16}{added}
% 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
+% \changes{v3.27}{2019/04/16}{added}
% Last but not least this prints one given element.
% \begin{macrocode}
%<*package&body&willbe>
@@ -2041,30 +1966,30 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@notepaper@printelement
-% \end{macro}%^^A \scr@notepaper@printelementsoflist
-% \end{macro}%^^A \scr@notepaper@printallelements
+% \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.
+% \changes{v3.27}{2019/04/16}{new (internal)}
+% This is used by the page style \pstyle{notepaper} to print all fold marks.
% \begin{macrocode}
\newcommand*{\scr@foldmarks@printallelements}{%
\if@fold
\ifdim \useplength{pfoldmarklength}=\z@
- \@setplength{pfoldmarklength}{4mm}%
+ \setplength{pfoldmarklength}{4mm}%
\fi
\ifdim \useplength{tfoldmarklength}=\z@
- \@setplength{tfoldmarklength}{2mm}%
+ \setplength{tfoldmarklength}{2mm}%
\fi
\ifdim \useplength{mfoldmarklength}=\z@
- \@setplength{mfoldmarklength}{2mm}%
+ \setplength{mfoldmarklength}{2mm}%
\fi
\ifdim \useplength{bfoldmarklength}=\z@
- \@setplength{bfoldmarklength}{2mm}%
+ \setplength{bfoldmarklength}{2mm}%
\fi
\ifdim \useplength{lfoldmarklength}=\z@
- \@setplength{lfoldmarklength}{4mm}%
+ \setplength{lfoldmarklength}{4mm}%
\fi
\@hfoldmark{P}%
\@hfoldmark{T}%
@@ -2077,10 +2002,10 @@
% \end{macro}
%
% \begin{macro}{\scr@notepaper@elements}
-% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% \changes{v3.27}{2019/03/22}{added}
% 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
+% elements (see \file{scrkernel-pagestyle.dtx}). There are exactly four
% defaults (but you can add more):
% \begin{macrocode}
\newcommand*{\scr@notepaper@elements}{%
@@ -2088,7 +2013,7 @@
}
% \end{macrocode}
% \begin{macro}{\scr@notepaper@element@firsthead}
-% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% \changes{v3.27}{2019/03/22}{added}
% How to print the notepaper element \texttt{firsthead}:
% \begin{macrocode}
\newcommand*{\scr@notepaper@element@firsthead}{%
@@ -2097,17 +2022,17 @@
% 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
+% different page styles. The position depends on \plen{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
+% \item If \plen{firstheadhpos} is positive but less than the paper width,
+% \plen{firstheadhpos} is the distance if the head from the left edge.
+% \item If \plen{firstheadhpos} is negative but the absolute value is less
+% then the paper width, the absolute value of \plen{firstheadhpos} is the
% distance from the right edge.
-% \item If \texttt{firstheadhpos} is greater than the paper width, the head
+% \item If \plen{firstheadhpos} is greater than the paper width, the head
% will be centered.
-% \item If \texttt{firstheadhpos} is less than the negative paper width, the
+% \item If \plen{firstheadhpos} is less than the negative paper width, the
% head will be left aligned to the text area.
% \end{itemize}
% \begin{macrocode}
@@ -2137,9 +2062,9 @@
\fi
}
% \end{macrocode}
-% \end{macro}%^^A \scr@notepaper@element@firsthead
+% \end{macro}^^A \scr@notepaper@element@firsthead
% \begin{macro}{\scr@notepaper@element@firstfoot}
-% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% \changes{v3.27}{2019/03/22}{added}
% 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.
@@ -2171,8 +2096,10 @@
{Element `firstfoot'}{\usekomavar{firstfoot}}\relax
\fi
}
-% \end{macro}%^^A \scr@notepaper@element@firstfoot
+% \end{macrocode}
+% \end{macro}^^A \scr@notepaper@element@firstfoot
% \begin{macro}{\scr@notepaper@element@addressee}
+% \changes{v3.27}{2019/03/22}{added}
% Element \texttt{addressee} is very complex and therefore split into several
% different sub-elements.
% \begin{macrocode}
@@ -2203,11 +2130,9 @@
}
% \end{macrocode}
% \begin{macro}{\scr@notepaper@subelement@addressee@default}
-% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
-% \changes{v3.30}{2020/03/27}{Umdefinierung des Zeilenumbruchs
-% verschoben}%^^A
+% \changes{v3.27}{2019/03/22}{added}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by \cs{Ifkomavarempty}}
+% \changes{v3.30}{2020/03/27}{re-definition of line break moved}
% The field with the recipience address. This should be used only on the first
% page of a letter.
% \begin{macrocode}
@@ -2289,9 +2214,9 @@
\usebox\@tempboxa
}
% \end{macrocode}
-% \end{macro}%^^A \scr@notepaper@subelement@addressee@default
+% \end{macro}^^A \scr@notepaper@subelement@addressee@default
% \begin{macro}{\scr@notepaper@subelement@addressee@PP}
-% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
+% \changes{v3.27}{2019/03/22}{added}
% \begin{macrocode}
\newcommand*{\scr@notepaper@subelement@addressee@PP}{%
\ifdim \useplength{toaddrindent}=\z@
@@ -2312,11 +2237,6 @@
\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%
@@ -2395,10 +2315,13 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@notepaper@subelement@addressee@PP
+% \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!
+% \changes{v3.27}{2019/03/22}{added}
+% The PP image.
+% \begin{description}
+% \item[ToDo:] Needs to be tested!
+% \end{description}
% \begin{macrocode}
\newcommand*{\scr@notepaper@subelement@addressee@PPimage}{%
\ifdim \useplength{toaddrindent}=\z@
@@ -2414,12 +2337,14 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@notepaper@subelement@addressee@PPimage
+% \end{macro}^^A \scr@notepaper@subelement@addressee@PPimage
% \begin{macro}{\scr@notepaper@subelement@addressee@backgroundimage}
-% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
-% TODO: Need to be tested!
+% \changes{v3.27}{2019/03/22}{added}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by
+% \cs{Ifkomavarempty}}
+% \begin{description}
+% \item[ToDo:] Needs to be tested!
+% \end{description}
% \begin{macrocode}
\newcommand*{\scr@notepaper@subelement@addressee@backgroundimage}{%
\vskip 1mm
@@ -2453,59 +2378,36 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@notepaper@subelement@addressee@backgroundimage
-% \end{macro}%^^A \scr@notepaper@element@addressee
+% \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
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
+% \changes{v3.27}{2019/03/22}{added}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by
+% \cs{Ifkomavarempty}}
+% The \texttt{location} element depends on several options.
% \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.
+% Depending on the alignment of the sender's address, the location field must
+% not be empty.
% \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.
+% Calculation of height and vertical position.
% \begin{macrocode}
\ifdim \useplength{locheight}=\z@%
\setplength{locheight}{\useplength{toaddrheight}}%
@@ -2514,7 +2416,7 @@
\setplength{locvpos}{\useplength{toaddrvpos}}%
\fi
% \end{macrocode}
-% Calculation of width and horizontal possition.
+% Calculation of width and horizontal position.
% \begin{macrocode}
\ifdim \useplength{locwidth}=\z@%
\setplength{locwidth}{\paperwidth}%
@@ -2545,57 +2447,25 @@
{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).
+% Depending on the alignment of the sender's address, output of the logo and
+% maybe also the address.
% \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}{%
@@ -2610,14 +2480,6 @@
}%
\\
}%
-% \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%
@@ -2627,10 +2489,6 @@
\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}}%
@@ -2642,14 +2500,6 @@
\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
@@ -2692,25 +2542,23 @@
\\
}%
% \end{macrocode}
-% In allen anderen Fällen wird ebenfalls die Absenderergänzung gesetzt.
+% Last but not least the location information.
% \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
+% \end{macro}^^A \scr@notepaper@element@location
% \begin{macro}{\scr@notepaper@element@refline}
-% \changes{v3.27}{2019/05/03}{new (internal)}%^^A
+% \changes{v3.27}{2019/05/03}{added}
% This notepaper element replaces the \cs{@datefield} of
-% \textsf{scrlttr2}. In opposite to \textsf{scrlttr2} this element has a
+% \cls*{scrlttr2}. In opposite to \cls*{scrlttr2} this element has a
% dedicated height \texttt{reflineheight}.
-% TODO: Still missing!
+% \begin{description}
+% \item[ToDo:] Needs to be tested.
+% \end{description}
% \begin{macrocode}
\newcommand*{\scr@notepaper@element@refline}{%
% \end{macrocode}
@@ -2820,12 +2668,12 @@
\fi
}
% \end{macrocode}
-% \end{macro}%^^A \scr@notepaper@element@refline
-% \end{macro}%^^A \scr@notepaper@elements
+% \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
+% \changes{v3.27}{2019/03/22}{added}
% \begin{macro}{\put@@notepager@@element}
-% \changes{v3.27}{2019/05/03}{new (internal)}%^^A
+% \changes{v3.27}{2019/05/03}{added}
% 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
@@ -2869,15 +2717,17 @@
}
%</package&body&willbe>
% \end{macrocode}
-% \end{macro}%^^A \put@@notepaper@@element
-% \end{macro}%^^A \put@notepaper@element
-% \selectlanguage{ngerman}%^^A
+% \end{macro}^^A \put@@notepaper@@element
+% \end{macro}^^A \put@notepaper@element
%
% \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
-% der relativen Seitenposition zur relativen Papierposition gelangen kann.
+% \changes{v2.8n}{2001/09/07}{added}
+% We will need a helper to place an element relative to the top paper
+% edge. So we have to move from the start of the text area to the start of an
+% absolute position on the paper. This does only work, if the current position
+% is the start of the text area!
% \begin{macrocode}
+%<*body>
\newcommand*{\move@topt}{%
\null\vskip -1in\vskip -\topmargin%
\vskip -\headheight\vskip -\headsep%
@@ -2886,9 +2736,10 @@
}
% \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}{added}
+% And also we need to move back from the absolute paper position to the start
+% of the text area. This does only work, if the absolute paper position is
+% unchanged.
% \begin{macrocode}
\newcommand*{\move@frompt}{%
\vskip 1in\vskip \topmargin%
@@ -2901,23 +2752,15 @@
% \end{macro}
% \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
-% horizontal von der relativen Seitenposition zur relativen Papierposition
-% gelangen kann.
+% \begin{macro}{\move@topl,\move@frompl}
+% \changes{v2.8n}{2001/09/07}{added}
+% We need the same for the horizontal position.
% \begin{macrocode}
\newcommand*{\move@topl}{%
\null\hskip -1in%
\ifodd\value{page}\hskip -\oddsidemargin\else\hskip -\evensidemargin\fi
\ignorespaces%
}
-% \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.
-% \begin{macrocode}
\newcommand*{\move@frompl}{%
\hskip 1in%
\ifodd\value{page}\hskip \oddsidemargin\else\hskip \evensidemargin\fi%
@@ -2925,14 +2768,16 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
%
% \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.8n}{2001/09/07}{added}
+% \changes{v2.95}{2006/03/23}{using \cs{setparsizes}}
% \changes{v2.97e}{2007/11/20}{\cs{long}}
-% Ausserdem wird ein vertikales Äquivalent zu |\rlap| benötigt.
+% This is similar to \cs{smash}.
+% \begin{description}
+% \item[ToDo:] Should we use \cs{smash} inside the definition?
+% \end{description}
% \begin{macrocode}
\newcommand{\vb@t@z}[1]{{%
\setbox\z@\vbox to\z@{\color@begingroup #1\color@endgroup\vss}%
@@ -2946,25 +2791,25 @@
% \end{macro}
%
% \begin{macro}{\@foldmarks}
-% \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.
+% \changes{v2.97e}{2007/11/08}{using \plen{mfoldmarkvpos}}
% \begin{macro}{\@hfoldmark}
-% \changes{v2.97e}{2007/11/08}{Neu (intern)}%^^A
-% Dabei werden nur die horizontalen Faltmarken gesetzt, die tatsächlich
-% existieren.
+% \changes{v2.97e}{2007/11/08}{added}
% \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}%^^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
-% bleibt. Als Parameter werden der vertikale Abstand zur aktuellen Position
-% und die Länder der Marke übergeben.
+% \changes{v2.8n}{2001/09/07}{added}
+% \changes{v2.95}{2006/06/06}{\cs{vskip} moved into \cs{vb@t@z}}
+% \changes{v2.97c}{2007/05/08}{using \plen{foldmarkthickness}}
+% \changes{v2.97c}{2007/05/08}{using \fnt{foldmark}}
+% \changes{v3.27}{2019/03/29}{different versions for package and class}
+% Used to place all activated fold marks, either a horizontal one or a
+% vertical one.
+% \begin{description}
+% \item[ToDo:] The plans explained in the into of this section would have
+% consequences here too.
+% \end{description}
+% For the still used version the parameters oft a horizontal fold mark are the
+% vertical distance from the top edge an the length. The parameters of a
+% vertical fold mark are the horizontal distance from the left edge and the
+% length.
% \begin{macrocode}
%<*class|!willbe>
\newcommand*{\@foldmark}[2]{%
@@ -2978,10 +2823,9 @@
}
%</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.
+% The planned package version uses \cs{put} to set the marks. It has a
+% position, a direction and a length, so it can handle the horizontal and the
+% vertical foldmarks.
% \begin{macrocode}
%<*package&willbe>
\newcommand*{\@foldmark}{}
@@ -3009,12 +2853,11 @@
\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
+% \changes{v3.27}{2019/03/29}{different handling of the package version}
+% The planned 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}{%
@@ -3043,11 +2886,9 @@
}
% \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
-% lediglich zu beachten, dass die Linie hier komplett oberhalb der Grundlinie
-% gesetzt wird, also die vertikale Position um die Länge nach unten zu
-% verschieben ist.
+% \changes{v2.97e}{2007/11/10}{added}
+% The rule is printed completely above the baseline, so the length has to
+% be added to the vertical movement.
% \begin{macrocode}
\newcommand*{\@vfoldmark}[1]{%
\begingroup
@@ -3055,9 +2896,8 @@
\@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}.
+% \changes{v3.27}{2019/03/29}{package version uses \cs{@foldmark}}
+% The currently used version does still work using \cs{rule}.
% \begin{macrocode}
%<*class|willbe>
\vb@t@z{%
@@ -3079,7 +2919,7 @@
\ignorespaces
%</class|willbe>
% \end{macrocode}
-% But the package version uses \cs{@foldmark}.
+% But the planned package version uses \cs{@foldmark}.
% \begin{macrocode}
%<*package&willbe>
\@foldmark(\useplength{lfoldmarkhpos},\useplength{foldmarkvpos})%
@@ -3091,8 +2931,7 @@
\endgroup
}
% \end{macrocode}
-% The main foldmark command is only needed by the class.
-% \selectlanguage{ngerman}%^^A
+% The main foldmark command is only needed by the current version.
% \begin{macrocode}
%<*class|!willbe>
\newcommand*{\@foldmarks}{%
@@ -3100,19 +2939,19 @@
\typeout{Foldmarks: yes}%
\move@topt
\ifdim \useplength{pfoldmarklength}=\z@
- \@setplength{pfoldmarklength}{4mm}%
+ \setplength{pfoldmarklength}{4mm}%
\fi
\ifdim \useplength{tfoldmarklength}=\z@
- \@setplength{tfoldmarklength}{2mm}%
+ \setplength{tfoldmarklength}{2mm}%
\fi
\ifdim \useplength{mfoldmarklength}=\z@
- \@setplength{mfoldmarklength}{2mm}%
+ \setplength{mfoldmarklength}{2mm}%
\fi
\ifdim \useplength{bfoldmarklength}=\z@
- \@setplength{bfoldmarklength}{2mm}%
+ \setplength{bfoldmarklength}{2mm}%
\fi
\ifdim \useplength{lfoldmarklength}=\z@
- \@setplength{lfoldmarklength}{4mm}%
+ \setplength{lfoldmarklength}{4mm}%
\fi
\begingroup
\@expandtwoargs\in@{P}{\@usefolds}%
@@ -3137,22 +2976,24 @@
% \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
-% \begin{macro}{\if@savevbox@warning}
-% \begin{macro}{\@savevbox@warningtrue}
-% \begin{macro}{\@savevbox@warningfalse}
-% \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
-% 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
-% 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
-% kann. Das optionale Argument wird nur bei der Ausgabe mit ausgegeben, findet
-% jedoch bei der Berechnung keine Berücksichtigung.
+% \changes{v2.8n}{2001/09/07}{added}
+% \changes{v2.8q}{2001/10/30}{optional argument added}
+% \begin{macro}{\@savevbox@warningfalse,\@savevbox@warningtrue,\if@savevbox@warning}
+% \changes{v2.8q}{2001/10/30}{added}
+% A vertically overfull box while \cs{opening} is hard to find. So we use
+% \begin{quote}
+% \cs{@savevbox}\oarg{print code}\marg{nominal height}\marg{content}%
+% \marg{element name}\marg{height name}\marg{change code}
+% \end{quote}
+% to measure each of these boxes and report a warning with more information.
+% \begin{description}
+% \item[Note:] The \meta{print code} is not used to measure the box, but to
+% print it.
+% \item[Note:] The \meta{content} is used twice: first to measure the box and
+% second to print it. Currently no special treatment is implemented to avoid
+% problems using commands like \cs{label}, \cs{stepcounter} etc. inside
+% \meta{content}.
+% \end{description}
% \begin{macrocode}
\newif\if@savevbox@warning\@savevbox@warningtrue
\newcommand{\@savevbox}[6][]{%
@@ -3180,30 +3021,22 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \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}%^^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
-% 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
+% \changes{v2.8n}{2001/09/08}{added}
+% \changes{v2.8q}{2001/10/30}{\cs{parfillskip} locally set to 0}
+% \changes{v2.8q}{2001/10/30}{use a box for the foot}
+% \changes{v2.9l}{2003/01/23}{improved positioning}
+% \changes{v2.97e}{2007/11/22}{support for options \opt{firsthead} and
+% \opt{firstfoot}}
+% \changes{v3.05}{2009/11/09}{using pseudo length \plen{firstheadhpos}}
+% \changes{v3.05}{2009/11/09}{using pseudo length \plen{firstfoothpos}}
+% The letter head of the notepaper.
+% \begin{description}
+% \item[ToDo:] \changes{v3.27}{2019/03/22}{planned code enlarges page} The
+% planned code of \pkg*{scrlayer} does not print the page head or foot
+% here. It only enlarges or shrinks the first page.
+% \end{description}
% \begin{macrocode}
\newcommand*{\@firstheadfootfield}{%
%<*class|!willbe>
@@ -3213,14 +3046,18 @@
\vb@t@z{%
\rlap{\move@topl
% \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
-% Seitenbreite ist, dann ist es der Abstand des Kopfes vom rechten Rand.
-% 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.
+% \begin{itemize}
+% \item If \plen{firstheadhpos} is positiv and less than the paper width, it
+% is the distance of the left paper edge to the left edge of the letter
+% head.
+% \item If \plen{firstheadhpos} is negative and the absolute value is less
+% than the paper width, the absolute value is the distance of the right
+% paper edge to the right edge of the letter head.
+% \item If \plen{firstheadhpos} is larger than the paper width, the letter
+% head will be centered.
+% \item If \plen{firstheadhpos} is negative an the absolute value is larger
+% than the paper width, the letter head will be left aligned to the text area.
+% \end{itemize}
% \begin{macrocode}
\ifdim\useplength{firstheadhpos}<\paperwidth
\ifdim \useplength{firstheadhpos}>-\paperwidth
@@ -3245,10 +3082,9 @@
\addtolengthplength[-1]{\@tempskipa}{firstheadvpos}%
\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.
+% Locally set \len{textwidth} to the width of the letter head (similar to
+% using a \env{minipage}. Also reset \len{parfillskip} to avoid overfull
+% \cs{hbox} messages because of filled text width.
% \begin{macrocode}
\setlength{\textwidth}{\useplength{firstheadwidth}}%
\setlength{\parfillskip}{\z@ \@plus 1fil}%
@@ -3268,14 +3104,19 @@
\vb@t@z{%
\rlap{\move@topl
% \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
-% Seitenbreite ist, dann ist es der Abstand des Kopfes vom rechten Rand.
-% 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.
+% \begin{itemize}
+% \item If \plen{firstfoothpos} is positiv and less than the paper width, it
+% is the distance of the left paper edge to the left edge of the letter
+% footer.
+% \item If \plen{firstfoothpos} is negative and the absolute value is less
+% than the paper width, the absolute value is the distance of the right
+% paper edge to the right edge of the letter footer.
+% \item If \plen{firstfoothpos} is larger than the paper width, the letter
+% footer will be centered.
+% \item If \plen{firstfoothpos} is negative an the absolute value is larger
+% than the paper width, the letter footer will be left aligned to the text
+% area.
+% \end{itemize}
% \begin{macrocode}
\ifdim\useplength{firstfoothpos}<\paperwidth
\ifdim \useplength{firstfoothpos}>-\paperwidth
@@ -3297,12 +3138,6 @@
\hskip\@tempskipa
\vbox{\hsize\useplength{firstfootwidth}%
\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.
-% \begin{macrocode}
\setlength{\textwidth}{\useplength{firstfootwidth}}%
\setlength{\parfillskip}{\z@ \@plus 1fil}%
\vbox{\hsize\useplength{firstfootwidth}\noindent
@@ -3334,29 +3169,30 @@
% \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{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
-% \changes{v3.06a}{2010/07/29}{Absatzparameter werden passend
-% eingestellt}%^^A
-% \changes{v3.22}{2016/12/21}{zweimal fehlende Klammern bei \texttt{toname}
-% ergänzt}%^^A
-% \changes{v3.22}{2016/12/21}{zweimal fehlende Klammern und \cs{endgraf} bei
-% \texttt{toaddress} ergänzt}%^^A
-% \changes{v3.27}{2019/03/27}{only at \textsf{scrlttr2}}%^^A
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
-% \changes{v3.30}{2020/03/27}{Umdefinierung des Zeilenumbruchs
-% verschoben}%^^A
-% Dasselbe gilt auch für das Adressfeld für Fensterumschläge. Die
-% Rücksendeadresse und die Briefart werden dabei mit eigenen
-% Formatieranweisungen gesetzt.
+% \changes{v2.8q}{2002/04/01}{\cs{parfillskip} locally changed}
+% \changes{v2.8q}{2002/06/03}{special treatment of addressee right aligend}
+% \changes{v2.9o}{2003/02/20}{\cs{noindent} added to \var{specialmail}}
+% \changes{v2.96}{2006/07/31}{using \cs{backaddr@format}}
+% \changes{v3.03}{2009/03/04}{support for priority}
+% \changes{v3.03}{2009/03/04}{new \opt{addrfield} values \opt{\quotechar=PP},
+% \opt{\quotechar=backgroundimage}, \opt{\quotechar=addresseeimage}}
+% \changes{v3.03b}{2009/06/30}{typo fix of ``addressee''}
+% \changes{v3.06a}{2010/07/29}{setting paragraph parameters}
+% \changes{v3.17}{2015/04/17}{\cs{setbox} replaced by \cs{sbox}}
+% \changes{v3.22}{2016/12/21}{braces fixed}
+% \changes{v3.22}{2016/12/21}{\cs{endgraf} added}
+% \changes{v3.25}{2017/11/15}{using \cs{scr@endstrut} instead of
+% \cs{unskip}\cs{strut}}
+% \changes{v3.27}{2019/03/27}{potentially only for \cls*{scrlttr2}}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by
+% \cs{Ifkomavarempty}}
+% \changes{v3.30}{2020/03/27}{re-definition of line break moved}
+% The address field of the addressee inclusive return address and special mail
+% text.
+% \begin{description}
+% \item[ToDo:] The plans explained in the into of this section would have
+% consequences here too.
+% \end{description}
% \begin{macrocode}
%<*class|!willbe>
\newcommand*{\@addrfield}{%
@@ -3446,8 +3282,9 @@
\else
\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.
+% With \opt{addrfield=PP}, \opt{addrfield=backgroundimage} or
+% \opt{addrfield=image} there are neither a return address nor a special mail
+% text, but a priority.
% \begin{macrocode}
\if@baddr
\let\@tempa\@empty\let\@tempb\@empty
@@ -3479,16 +3316,16 @@
\vb@t@z{{%
\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative
\ifdim \useplength{toaddrindent}=\z@
- \@setplength{toaddrindent}{8mm}%
+ \setplength{toaddrindent}{8mm}%
\fi
\ifdim \useplength{PPheadheight}=\z@
- \@setplength{PPheadheight}{20.74pt}%
+ \setplength{PPheadheight}{20.74pt}%
\fi
\ifdim \useplength{PPheadwidth}=\z@
- \@setplength{PPheadwidth}{42mm}%
+ \setplength{PPheadwidth}{42mm}%
\fi
\ifdim \useplength{PPdatamatrixvskip}=\z@
- \@setplength{PPdatamatrixvskip}{9mm}%
+ \setplength{PPdatamatrixvskip}{9mm}%
\fi
\rlap{\move@topl
\setlengthtoplength{\@tempskipa}{toaddrhpos}%
@@ -3500,7 +3337,7 @@
\@savevbox{\useplength{toaddrheight}}{\hsize\useplength{toaddrwidth}%
\ifnum\@afieldmode=\tw@
% \end{macrocode}
-% Modus \texttt{PP}.
+% \opt{addrfield=PP}:
% \begin{macrocode}
\vskip 2pt\relax
\hskip \useplength{toaddrindent}\relax
@@ -3508,11 +3345,6 @@
\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%
@@ -3572,7 +3404,7 @@
}%
\else
% \end{macrocode}
-% Modus \texttt{backgroundimage} oder \texttt{image}.
+% \opt{addrfield=backgroundimage} or \opt{addrfield=image}:
% \begin{macrocode}
\vskip 1mm
\noindent\expandafter\hskip\useplength{toaddrindent}%
@@ -3611,8 +3443,8 @@
%</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}{added}
+% Formatting the special mail note.
% \begin{macrocode}
\newcommand*{\specialmail@format}[1]{}
\let\specialmail@format\underline
@@ -3620,9 +3452,8 @@
% \end{macro}
%
% \begin{macro}{\@ogobble}
-% \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.
+% \changes{v2.8q}{2002/01/22}{added}
+% Something like \cs{gobble} but to gobble an optional argument.
% \begin{macrocode}
\newcommand*{\@ogobble}[1][]{}
% \end{macrocode}
@@ -3630,80 +3461,68 @@
% \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
-% \changes{v3.27}{2019/03/27}{only at \textsf{scrlttr2}}%^^A
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
-% Das "`locfield"' wird unabhängig von der Adresse gesetzt.
+% \changes{v2.8o}{2001/09/17}{\cs{noindent} added}
+% \changes{v2.8q}{2002/02/07}{\cs{noindent} after the logo}
+% \changes{v2.8q}{2002/07/23}{width calculation moved to this}
+% \changes{v2.8q}{2002/06/03}{special treatment of right aligned addressee}
+% \changes{v3.12}{2013/05/29}{using variable \var{frommobilephone}}
+% \changes{v3.27}{2019/03/27}{potentially only at \cls*{scrlttr2}}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by
+% \cs{Ifkomavarempty}}
+% The location field to be placed independent of having an address field.
+% \begin{description}
+% \item[ToDo:] The plans explained in the into of this section would have
+% consequences here too.
+% \end{description}
% \begin{macrocode}
%<*class|!willbe>
\newcommand*{\@locfield}{%
\ifdim \useplength{locwidth}=\z@%
- \@setplength{locwidth}{\paperwidth}%
+ \setplength{locwidth}{\paperwidth}%
\ifdim \useplength{toaddrhpos}>\z@
- \@addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}%
+ \addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}%
\else
- \@addtoplength[2]{locwidth}{\useplength{toaddrhpos}}%
+ \addtoplength[2]{locwidth}{\useplength{toaddrhpos}}%
\fi
- \@addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}%
+ \addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}%
\if@bigloc%
- \@setplength[.66667]{locwidth}{\useplength{locwidth}}%
+ \setplength[.66667]{locwidth}{\useplength{locwidth}}%
\else%
- \@setplength[.5]{locwidth}{\useplength{locwidth}}%
+ \setplength[.5]{locwidth}{\useplength{locwidth}}%
\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
-% Je nach Absenderanordnung muss hier nun ebenfalls etwas getan werden.
-% Der Fall 0, also linksbündiger Absender im Kopf spielt hier keine Rolle.
+% \changes{v2.97e}{2007/11/13}{support for sender in location}
+% \changes{v2.98b}{2008/01/30}{always print location if used}
+% Depending of \opt{fromalign} we have to take care to print the location by
+% adding a dummy content.
% \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}}{}%
+ \fi
% \end{macrocode}
-% Alle anderen Fälle sind wie hier ebenfalls ohne Bedeutung.
+% Report if the location is empty or calculate the position and width.
% \begin{macrocode}
- \fi
\Ifkomavarempty{location}{%
\typeout{Location field: empty}%
}{%
\typeout{Location field: yes}%
\ifdim \useplength{lochpos}=\z@%
- \@setplength{lochpos}{\useplength{toaddrhpos}}%
+ \setplength{lochpos}{\useplength{toaddrhpos}}%
\fi
\ifdim \useplength{locvpos}=\z@%
- \@setplength{locvpos}{\useplength{toaddrvpos}}%
+ \setplength{locvpos}{\useplength{toaddrvpos}}%
\fi
\ifdim \useplength{locheight}=\z@%
- \@setplength{locheight}{\useplength{toaddrheight}}%
+ \setplength{locheight}{\useplength{toaddrheight}}%
\fi
\move@topt\vskip\useplength{locvpos}%
\vb@t@z{\noindent\makebox[0pt][l]{%
@@ -3719,56 +3538,25 @@
\@savevbox{\useplength{locheight}}{%
\noindent\hsize\useplength{locwidth}%
% \end{macrocode}
-% 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).
+% For some values of \opt{fromalign} we also have to place the sender's
+% address or logo.
% \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).
-% \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}{%
@@ -3783,15 +3571,6 @@
}%
\\
}%
-% \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}%
-% \begin{macrocode}
{\usekomafont{fromaddress}\strut\ignorespaces
\usekomavar{fromaddress}%
\if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi%
@@ -3801,10 +3580,6 @@
\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}}%
@@ -3816,14 +3591,6 @@
\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.%
-% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird
-% berücksichtigt}%
-% \begin{macrocode}
\or
\raggedleft
\if@logo
@@ -3866,14 +3633,10 @@
\\
}%
% \end{macrocode}
-% In allen anderen Fällen wird ebenfalls die Absenderergänzung gesetzt.
+% Last but not least the content of the location.
% \begin{macrocode}
\fi
\usekomavar{location}%
-% \end{macrocode}
-% Zum Schluss wird noch verhindert, dass wegen nicht vollen vertikalen Boxen
-% gemotzt wird.
-% \begin{macrocode}
\vskip \z@ \@plus .00001fil}%
{location field}{locheight}{\setkomavar}%
}}%
@@ -3886,26 +3649,21 @@
% \end{macro}
%
% \begin{macro}{\@datefield}
-% \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.8q}{2002/01/14}{setting \cs{if@tempwa}}
+% \changes{v2.97c}{2007/05/14}{using font elements \fnt{refname} and
+% \fnt{refvalue}}
+% Print either a reference line or place and date only.
% \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
-% \cs{@datefield} unterschiedliche Bedeutungen. An dieser Stelle wird es daher
-% nur reserviert.
+% \changes{v3.09}{2011/03/06}{added}
+% The macro will be defined later depending on testing of usage or
+% printing. So we just allocate/reserve it here.
% \begin{macrocode}
\newcommand*{\do@set@reffield}{}
% \end{macrocode}
% \begin{macro}{\@set@reffield}
-% \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
-% 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.
+% \changes{v3.17}{2015/04/17}{\cs{setbox} replaced by \cs{sbox}}
+% Used to print a single field in the reference line. The argument is the name
+% of field.
% \begin{macrocode}
\newcommand*{\@set@reffield}[1]{%
\Ifkomavarempty{#1}{}{%
@@ -3921,9 +3679,10 @@
% \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
-% ggf. \cs{@tempswa}.
+% \changes{v3.09}{2011/03/06}{added}
+% Used to test, if a field is not empty and sets \cs{if@tempswa} corresponding
+% to the result. All not empty fields are added to a comma+space separated
+% list in \cs{@tempa}.
% \begin{macrocode}
\newcommand*{\@test@reffield}[1]{%
\Ifkomavarempty{#1}{}{%
@@ -3935,39 +3694,37 @@
% \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
-% sind. Das Makro kann mit Hilfe von \cs{addtoreffields} erweitert werden.
+% \changes{v2.8q}{2002/01/14}{added}
+% The internal storage of all \cs{do@set@reffield} calls to be used for the
+% reference line.
% \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
-% von \cs{@set@reffield}}
-% Dieses Makro erwartet als obligatorisches Argument den Namen einer
-% KOMA-Script Variable. Der Befehl arbeitet lokal zur aktuellen Umgebung.
+% \begin{command}{\addtoreffields}
+% \changes{v3.09}{2011/03/06}{using \cs{do@set@reffield}}
+% Adds a new \cs{do@set@reffield} to \cs{@set@reffields} for the field given
+% by the argument.
% \begin{macrocode}
\newcommand*{\addtoreffields}[1]{%
\l@addto@macro{\@set@reffields}{\do@set@reffield{#1}}%
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\removereffields}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% Es gibt auch einen Befehl, um alle Felder aus der Geschäftszeile zu
-% entfernen.
+% \begin{command}{\removereffields}
+% \changes{v2.8q}{2002/01/14}{added}
+% Remove all fields from \cs{@set@reffields}.
% \begin{macrocode}
\newcommand*{\removereffields}{%
\renewcommand*{\@set@reffields}{}%
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\defaultreffields}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% Ebenso ein Befehl, um die üblichen Felder zu setzen.
+% \begin{command}{\defaultreffields}
+% \changes{v2.8q}{2002/01/14}{added}
+% (Re)Set the default of \cs{@set@reffields}.
% \begin{macrocode}
\newcommand*{\defaultreffields}{%
\removereffields
@@ -3978,70 +3735,66 @@
\addtoreffields{invoice}%
}
% \end{macrocode}
-% Genau diesen Befehl rufen wir auch gleich auf:
+% This is used for initial state:
% \begin{macrocode}
\defaultreffields
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \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
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
+% \changes{v2.3e}{1996/05/31}{distance between place and date added}
+% \changes{v2.8o}{2001/09/18}{added an additional verticale distance for
+% \file{KOMAold.lco} only}
+% \changes{v2.8q}{2001/11/13}{\cs{rlap} added}
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
+% \changes{v2.8q}{2002/01/14}{empty test moved to \cs{@set@reffield}}
+% \changes{v2.9l}{2003/01/28}{calculation of \plen{refwidth} fixed}
+% \changes{v2.9l}{2003/01/28}{calculation of \plen{refhpos} added}
+% \changes{v2.95}{2006/03/23}{using \cs{setparsizes}}
+% \changes{v2.97c}{2007/05/14}{using several new font elements}
+% \changes{v3.09}{2011/03/06}{initialization of \cs{do@set@reffield}}
+% \changes{v3.12}{2013/07/31}{using font element \fnt{placeanddate}}
+% \changes{v3.17}{2015/04/17}{\cs{setbox} replaced by \cs{sbox}}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by
+% \cs{Ifkomavarempty}}
% \begin{macrocode}
\newcommand*{\@datefield}{%
{%
\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative
\ifdim\useplength{refwidth}=\z@
\if@refwide
- \@setplength{refwidth}{\paperwidth}%
+ \setplength{refwidth}{\paperwidth}%
\ifdim \useplength{toaddrhpos}>\z@
- \@setplength{refhpos}{\useplength{toaddrhpos}}%
+ \setplength{refhpos}{\useplength{toaddrhpos}}%
\else
- \@setplength[-]{refhpos}{\useplength{toaddrhpos}}%
+ \setplength[-]{refhpos}{\useplength{toaddrhpos}}%
\fi
- \@addtoplength[-2]{refwidth}{\useplength{refhpos}}%
+ \addtoplength[-2]{refwidth}{\useplength{refhpos}}%
\else
- \@setplength{refwidth}{\textwidth}%
- \@setplength{refhpos}{\oddsidemargin}%
- \@addtoplength{refhpos}{1in}%
+ \setplength{refwidth}{\textwidth}%
+ \setplength{refhpos}{\oddsidemargin}%
+ \addtoplength{refhpos}{1in}%
\fi
\else
\ifdim\useplength{refhpos}=\z@
\begingroup
% \end{macrocode}
-% Wir bestimmen zunächst, um wieviel die Geschäftszeile schmaler ist als der
-% Textbereich.
+% How much smaller is the reference line than the text width.
% \begin{macrocode}
\setlength\@tempdima{\textwidth}%
\addtolengthplength[-]{\@tempdima}{refwidth}%
% \end{macrocode}
-% Dann wird bestimmt, wie groß der linke Rand tatsächlich ist.
+% Now we calculate the left margin.
% \begin{macrocode}
\setlength\@tempdimb{\oddsidemargin}%
\addtolength\@tempdimb{1in}%
% \end{macrocode}
-% Ebenso wird bestimmt, wie groß der linke und rechte Rand zusammen sind.
+% And the left and right margin together.
% \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
-% bleibt. Dabei erlauben wir uns eine gewisse Rechenungenauigkeit beim
-% Verhältnis.
+% Now we can calculate the left margin of the reference line without changing
+% the relation of the margins (with some tolerance).
% \begin{macrocode}
\divide\@tempdimb by 32768\relax
\divide\@tempdimc by 32768\relax
@@ -4050,13 +3803,13 @@
\divide\@tempdima by\@tempdimc
\fi
\edef\@tempa{\noexpand\endgroup
- \noexpand\@setplength{refhpos}{\the\@tempdima}}%
+ \noexpand\setplength{refhpos}{\the\@tempdima}}%
\@tempa
\fi\fi
\@tempswafalse
\move@topt\vskip\useplength{refvpos}%
% \end{macrocode}
-% Jetzt kontrollieren wir, ob überhaupt etwas auszugeben ist:
+% Have we to print something?
% \begin{macrocode}
\@tempswafalse
\let\do@set@reffield\@test@reffield
@@ -4067,8 +3820,7 @@
%<trace> \typeout{Reference line(s) with: \@tempa}%
\@tempswafalse
% \end{macrocode}
-% Jetzt erfolgt noch die Absatzeinzugkorrektur. Danach kommt die eigentliche
-% Arbeit.
+% If so, do so.
% \begin{macrocode}
\rlap{\noindent\move@topl\hskip\useplength{refhpos}%
\vbox{\hsize\useplength{refwidth}%
@@ -4085,9 +3837,7 @@
\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}%^^A
+% From version~2.97c also test, of the font of the reference line is too big.
% \begin{macrocode}
\sbox\z@{\usekomafont{refname}\strutbox}%
\ifdim\ht\z@>\ht\strutbox
@@ -4105,10 +3855,7 @@
\fi
\else
% \end{macrocode}
-% 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}%^^A
+% If we do not have to print any field, we are printing the place and date.
% \begin{macrocode}
\ifcase \@datepos\else
\ifnum \@datepos=1 \enskip\hfill\fi
@@ -4128,37 +3875,19 @@
% \end{macro}
% \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
-% \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.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% 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{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
-% Der eigentliche Titel wir mit |\@maketitle| gesetzt. Dies sollte jedoch
-% ebenso wie beim Betreff (|\@subjfield|) \emph{nicht} manuell geschehen.
+% \begin{macro}{\@maketitle,\@makelettertitle}
+% \changes{v2.3b}{1996/01/14}{using \cs{sectfont}}
+% \changes{v2.8p}{2001/09/22}{using \cs{titlefont} instead of \cs{sectfont}}
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
+% \changes{v2.9t}{2004/09/16}{\cs{par} with size and font of the title}
+% \changes{v2.95}{2006/03/22}{using \cs{usekomafont}}
+% \changes{v3.13}{2014/06/26}{\cs{@maketitle} renamed to \cs{@makelettertitle}}
+% \changes{v3.15}{2015/02/21}{\fnt{title} replaced by \fnt{lettertitle}}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by
+% \cs{Ifkomavarempty}}
+% \changes{v3.36}{2022/03/04}{use of font element \fnt{title} removed}
+% \KOMAScript{} provides a letter title. This is different from a document
+% title.
% \begin{macrocode}
\newcommand*{\@makelettertitle}{%
\Ifkomavarempty{title}{%
@@ -4166,10 +3895,24 @@
}{%
\typeout{Title: yes}%
{\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative
- \centering\LARGE\usekomafont{lettertitle}\usekomavar{title}\par}%
+ \centering\LARGE\usekomafont{lettertitle}\par}%
\vskip\baselineskip%
}%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@subjfield}
+% \changes{v2.8q}{2001/10/19}{\cs{centerline} replaced by \cs{centering}}
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
+% \changes{v2.8q}{2002/01/31}{hanging}
+% \changes{v2.95}{2006/03/23}{using cs{setparsizes}}
+% \changes{v3.01}{2008/11/03}{using \plen{subjectbeforevskip} and
+% \plen{subjectaftervskip}}
+% \changes{v3.15}{2015/02/21}{\fnt{subject} replaced by \fnt{lettersubject}}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by
+% \cs{Ifkomavarempty}}
+% The subject of the letter.
+% \begin{macrocode}
\newcommand*{\@subjfield}{{%
\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative
\Ifkomavarempty{subject}{%
@@ -4211,71 +3954,51 @@
}%
}
% \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.
+% \begin{pseudolength}{subjectvpos}
+% \changes{v3.01}{2008/11/03}{added}
+% If \plen{subjectpos} is not 0 it is the absolute vertical position of the
+% subject. With 0 it is placed relative to the title, the reference line or
+% the opening. This is the initial value.
% \begin{macrocode}
-\@newplength{subjectvpos}
-\@setplength{subjectvpos}{0pt}
+\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}
-% voreingestellt.
+% \end{pseudolength}
+% \begin{pseudolength}{subjectaftervskip}
+% \changes{v3.01}{2008/11/03}{added}
+% The vertical distance after the subject is initialized with
+% 2\len{baselineskip}.
% \begin{macrocode}
-\@newplength{subjectaftervskip}
-\@setplength{subjectaftervskip}{2\baselineskip}
+\newplength{subjectaftervskip}
+\setplength{subjectaftervskip}{2\baselineskip}
% \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}
-% voreingestellt. Es sei darauf hingewiesen, dass hier bereits ein Abstand
-% beispielsweise vom Titel existieren kann!
+% \end{pseudolength}
+% \begin{pseudolength}{subjectbeforevskip}
+% \changes{v3.01}{2008/11/03}{added}
+% The vertical distance before the subject, if not an absolute position is
+% used. Initial value is \len{baselineskip}.
% \begin{macrocode}
-\@newplength{subjectbeforevskip}
-\@setplength{subjectbeforevskip}{0pt}
+\newplength{subjectbeforevskip}
+\setplength{subjectbeforevskip}{0pt}
+%</body>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{pseudolength}
+% \end{macro}^^A \@subjfield
%
%
-% \subsection{Anweisungen für das Briefpapier}
+% \subsection{Head of the succeeding pages}
%
-% Für das Briefpapier gibt es etwas weniger Anweisungen. Teilweise werden hier
-% auch die Anweisungen für den Briefbogen mit verwendet.
+% The succeeding pages use another kind of note paper without all these large
+% elements for the sender, addressee etc. And there isn't an element like
+% \cs{opening}. So the page style is used.
%
-% \subsubsection{Kopf des Briefpapiers}
-%
-% 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
-% \begin{macro}{\@nexthead}
-% \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.
+% \begin{variable}{nexthead}
+% \changes{v3.08}{2010/10/28}{added}
+% This is the variable used for the page head of the page style.
+% The initial content depends mostly on \cs{@pageat} but also uses
+% \cs{leftmark} and \cs{rightmark} set by \cs{opening}.
% \begin{macrocode}
-%<*class>
-\newcommand*{\@nexthead}{%
- \ClassWarning{scrlttr2}{%
- Deprecated usage of \string\@nexthead.\MessageBreak
- \string\usekomavar{nexthead} should be used\MessageBreak
- instead of \string\@nexthead
- }%
- \usekomavar{nexthead}%
-}
-%</class>
+%<*body>
\newkomavar{nexthead}
\setkomavar{nexthead}{%
\rlap{\parbox[c]{\textwidth}{\raggedright\strut
@@ -4301,10 +4024,11 @@
\fi\strut}}%
}%
% \end{macrocode}
-% \end{KOMAvar}
-% \end{macro}
-% Die Voreinstellung ist wiederum mit einer einfachen Benutzeranweisung
-% änderbar.
+% \end{variable}
+% \begin{command}{\nexthead}
+% \changes{v3.08}{2010/10/28}{deprecated}
+% \begin{macro}{\@nexthead}
+% \changes{v3.08}{2010/10/28}{deprecated}
% \begin{macrocode}
%<*class>
\newcommand{\nexthead}{%
@@ -4315,34 +4039,29 @@
}
\setkomavar{nexthead}%
}
+\newcommand*{\@nexthead}{%
+ \ClassWarning{scrlttr2}{%
+ Deprecated usage of \string\@nexthead.\MessageBreak
+ \string\usekomavar{nexthead} should be used\MessageBreak
+ instead of \string\@nexthead
+ }%
+ \usekomavar{nexthead}%
+}
%</class>
+%</body>
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \@nexthead
+% \end{command}^^A \nexthead
%
%
-% \subsubsection{Fuß des Briefpapiers}
+% \subsection{Footer of the succeeding pages}
%
-% \begin{macro}{\nextfoot}
-% \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
-% \begin{KOMAvar}{nextfoot}
-% \changes{v3.08}{2010/10/28}{Neu}%^^A
-% Je nach Optioneneinstellung kann sich die Seitenmarke in der Voreinstellung
-% auch im Fuß befinden.
+% \begin{variable}{nextfoot}
+% \changes{v3.08}{2010/10/28}{added}
+% This is the variable used for the page footer of the page style.
+% The initial content depends mostly on \cs{@pageat}
% \begin{macrocode}
-%<*class>
-\newcommand*{\@nextfoot}{%
- \ClassWarning{scrlttr2}{%
- Deprecated usage of \string\@nextfoot.\MessageBreak
- \string\usekomavar{nextfoot} should be used\MessageBreak
- instead of \string\@nextfoot
- }%
- \usekomavar{nextfoot}%
-}
-%</class>
+%<*body>
\newkomavar{nextfoot}
\setkomavar{nextfoot}{%
\ifnum\@pageat>2
@@ -4353,9 +4072,11 @@
\fi
}
% \end{macrocode}
-% \end{KOMAvar}
-% \end{macro}
-% Auch diese Einstellung ist per Benutzeranweisung leicht zu ändern.
+% \end{variable}
+% \begin{command}{\nextfoot}
+% \changes{v3.08}{2010/10/28}{deprecated}
+% \begin{macro}{\@nextfoot}
+% \changes{v3.08}{2010/10/28}{deprecated}
% \begin{macrocode}
%<*class>
\newcommand{\nextfoot}{%
@@ -4366,34 +4087,41 @@
}
\setkomavar{nextfoot}%
}
+\newcommand*{\@nextfoot}{%
+ \ClassWarning{scrlttr2}{%
+ Deprecated usage of \string\@nextfoot.\MessageBreak
+ \string\usekomavar{nextfoot} should be used\MessageBreak
+ instead of \string\@nextfoot
+ }%
+ \usekomavar{nextfoot}%
+}
%</class>
+%</body>
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \@nextfoot
+% \end{command}^^A \nextfoot
%
%
-% \subsection{Die Brief-Umgebung}
+% \subsection{The \env{letter} environment}
%
% \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
-% Diese Umgebung ist etwas anders definiert, als normalerweise von
-% \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.
+% \changes{v2.8q}{2002/01/16}{optional argument added}
+% \changes{v2.8q}{2002/01/16}{reset counter \cnt{footnote}}
+% \changes{v2.9d}{2002/08/12}{fixed reset of counter \cnt{footnote}}
+% \changes{v3.17}{2015/03/20}{replacement for \cs{pagemark}}
+% \changes{v3.19}{2015/07/15}{using \cs{letterpagestyle}}
+% \changes{v3.19}{2015/07/15}{referenceable numbering of letters}
+% \changes{v3.27}{2019/03/05}{no support for two-columned letters}
+% The is the environment used to define one or even several letters in one
+% document. It has an optional argument to set additional \KOMAScript{}
+% options and a mandatory argument with the addressee.
% \begin{macrocode}
+%<*body>
\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.
+% If we are in two column mode, we have to switch back to one column for the
+% letter. \cs{ifletter@restonecol} as indicator, it at the end we have to
+% switch back to two column mode.
% \begin{macrocode}
\if@twocolumn
%<class> \ClassWarning{\KOMAClassName}{%
@@ -4410,13 +4138,11 @@
\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
-% \changes{v3.27}{2019/03/05}{Briefe verwenden \cs{raggedbottom}}%^^A
+% Then we start a new odd page and change the page style. Afterwards all
+% relevant counters (currently \cnt{page} and \cnt{footnote}) are reset and
+% the \cnt{letter} counter is increased referenceable.
+% \changes{v3.19}{2015/07/15}{using \cs{cleardoubleoddemptypage}}
+% \changes{v3.27}{2019/03/05}{using \cs{raggedbottom}}
% \begin{macrocode}
\cleardoubleoddemptypage
\raggedbottom
@@ -4432,26 +4158,23 @@
\setcounter{footnote}{0}%
\interlinepenalty=200\@processto{#2}%
% \end{macrocode}
-% Dann werden ggf. die übergebenen Optionen ausgeführt.
+% Then it's time for the options.
% \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}.
+% \changes{v3.27}{2019/03/31}{first-page head generation moved}
+% There are plans to generate the page head already here instead of waiting
+% till \cs{opening}. But currently this is not used.
% \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
+% \changes{v3.27}{2019/03/22}{plans to set the page style}
+% There are plans to use page style \pstyle{notepaper} for the first page
+% before executing the begin hook.
% \begin{macrocode}
%<package&willbe> \thispagestyle{notepaper}%
% \end{macrocode}
-% Zum Schluss werden die per \cs{AtBeginLetter} angegeben Anweisungen
-% ausgeführt.
+% There are also plans to calculate the height of the reference line here.
% \begin{macrocode}
%<*package&willbe>
\ifdim\useplength{refheight}>\z@
@@ -4466,28 +4189,37 @@
\reserved@a
\fi
%</package&willbe>
+% \end{macrocode}
+% Before executing the hook. The hook can be used, e.g., to reset additional
+% counters.
+% \begin{macrocode}
\@beginletterhook
%<package&willbe>\initial@letter@vskip
}{%
+% \end{macrocode}
+% At the end, stop the letter.
+% \begin{macrocode}
\stopletter
% \end{macrocode}
-% Danach wird noch ein Label gesetzt.
-% \changes{v3.19}{2015/07/15}{ein Label wird gesetzt}%^^A
+% \changes{v3.19}{2015/07/15}{label at the end added}
+% Set a label for the current letter to provide referencing the last
+% page. Then do the final page beak and reset the column mode.
% \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.
+% \changes{v3.27}{2019/03/31}{cleanup running head}
+% Plan: 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
+% \changes{v3.27}{2019/05/03}{added}
+% Go to the start position of the letter. Usually to jump below the reference
% line inside the \texttt{letter} environment.
% \begin{macrocode}
%<*package&willbe>
@@ -4499,45 +4231,50 @@
}
%</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.
+% \end{macro}^^A \inital@letter@vskip
+% \begin{macro}{\letter@restonecolfalse,\letter@restonecoltrue,
+% \ifletter@restonecol}
+% \changes{v3.27}{2019/03/05}{added}
+% Used above to save and restore the column mode.
% \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,
-% um per |\ref{\thisletter.lastpage}| auf die letzte Seite zugreifen zu
-% können.
+% \begin{command}{\thisletter}
+% \changes{v3.19}{2015/07/15}{added}
+% The base value of the current letter label. This can be used to, e.g.,
+% reference the \texttt{\cs{thisletter}.lastpage} label. It is initialized to
+% a unknown value, as long as we are outside any \env{letter} environment.
% \begin{macrocode}
\newcommand*{\thisletter}{outside.letter.undefined}
% \end{macrocode}
-% \end{macro}%^^A \thisletter
-% \begin{macro}{\letterlastpage}
-% \changes{v3.19}{2015/07/15}{neue Anweisung}%^^A
+% \end{command}^^A \thisletter
+% \begin{command}{\letterlastpage}
+% \changes{v3.19}{2015/07/15}{add}
+% Reference to the page of the \texttt{\cs{thisletter}.lastpage} label.
% \begin{macrocode}
\newcommand*{\letterlastpage}{\pageref{\thisletter.lastpage}}
-% \end{macrocode}%^^A \letterlastpage
-% \end{macro}
-% \begin{macro}{\stopletter}
-% Damit man Material am Ende des Briefes einschleusen kann.
+% \end{macrocode}^^A \letterlastpage
+% \end{command}
+% \begin{command}{\stopletter}
+% This is a kind of end of letter hook. But \cs{AtEndLetter} should be used to
+% add code.
% \begin{macrocode}
\newcommand*{\stopletter}{}
% \end{macrocode}
-% \end{macro}%^^A \stopletter
+% \end{command}^^A \stopletter
% \begin{macro}{\@processto}
-% \changes{v2.9r}{2004/06/16}{robust gegen leeren Empfänger}%^^A
-% \changes{v3.27}{2019/03/24}{extended setting of variables}%^^A
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
-% \begin{macro}{\@xproc}
-% Die Adresse, die als Argument der Briefumgebung übergeben wird, muss in Name
-% und Adresse zerlegt werden.
-% \begin{macrocode}
+% \changes{v2.9r}{2004/06/16}{supports empty addressee}
+% \changes{v3.27}{2019/03/24}{extended setting of variables}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by
+% \cs{Ifkomavarempty}}
+% The addressee argument of \env{letter} has to be split into the name and the
+% address.
+% \begin{description}
+% \item[Note:] The specification clearly says, that optional arguments to |\\|
+% are not supported. So we do not adapt that change of \LaTeX{} 2021/10/01.
+% \item[Note:] Here we also have plans to change things.
+% \end{description}
% \begin{macrocode}
\newcommand{\@processto}[1]{%
% \end{macrocode}
@@ -4597,7 +4334,7 @@
\expandafter\@xproc#1\\\@nil
\ifx\reserved@b\@empty\else\expandafter\@xproc#1\@nil\fi
% \end{macrocode}
-% For the package set variable \texttt{addressee}:
+% Plan: Set variable \var{addressee}:
% \begin{macrocode}
%<*package&willbe>
% Fixme: The \cs{protected@edef}s are critical!
@@ -4610,7 +4347,7 @@
}%
}%
% \end{macrocode}
-% If \texttt{toname} is empty, set it:
+% If \var{toname} is empty, set it:
% \begin{macrocode}
\Ifkomavarempty{toname}{%
% Fixme: The \cs{protected@edef}s are critical!
@@ -4618,7 +4355,7 @@
\noexpand\reserved@c{\noexpand\setkomavar{toname}{\reserved@a}}}%
}{\let\reserved@a\reserved@c}%
% \end{macrocode}
-% If \texttt{toaddress} is empty, set it:
+% If \var{toaddress} is empty, set it:
% \begin{macrocode}
\Ifkomavarempty{toaddress}{%
% Fixme: The \cs{protected@edef}s are critical!
@@ -4628,9 +4365,9 @@
}{\reserved@a}%
%</package&willbe>
% \end{macrocode}
-% For the class simply set \texttt{toname} und \texttt{toaddress}:
+% For now simply set \var{toname} and \var{toaddress}:
% \changes{v3.27}{2019/10/28}{don't expand the contents of \cs{reserved@a} and
-% \cs{reserved@b}}%^^A
+% \cs{reserved@b}}
% \begin{macrocode}
%<*class|!willbe>
\edef\reserved@a{%
@@ -4640,90 +4377,95 @@
%</class|!willbe>
}%
}
+% \end{macrocode}
+% \begin{macro}{\@xproc}
+% Macro to split two elements with |\\| separator.
+% \begin{macrocode}
\newcommand*{\@xproc}{}
\long\def\@xproc#1\\#2\@nil{%
% \end{macrocode}
% \changes{v3.27}{2019/03/24}{do not directly set variables but
-% \cs{reserved@a} and \cs{reserved@b}}%^^A
+% \cs{reserved@a} and \cs{reserved@b}}
% \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
-% Das Verhalten muss auf der letzten Briefseite wieder \cs{raggedbottom}
-% ähneln. Das wird über \cs{stopletter} erreicht.
+% \end{macro}^^A \@xproc
+% \end{macro}^^A \@processto
+% \begin{command}{\flushbottom}
+% \changes{v2.97c}{2007/05/17}{added}
+% The \cs{stopletter} hook is used to make the last page similar to using
+% \cs{raggedbottom}.
+% \begin{description}
+% \item[Note:] It is correct to have this change globally, because it can be
+% used outside a letter, but should be valid for letters in this case too.
+% \end{description}
% \begin{macrocode}
\g@addto@macro\flushbottom{%
- \g@addto@macro\stopletter{\vskip \z@\@plus.0001fil\relax}%
+ \AtEndLetter{\vskip \z@\@plus.0001fil\relax}%
}
% \end{macrocode}
-% \end{macro}%^^A \flushbottom
-% \begin{Counter}{letter}
-% \changes{v3.19}{2015/07/15}{neuer Zähler}%^^A
-% Die Briefe werden durchnummeriert.
+% \end{command}^^A \flushbottom
+% \begin{counter}{letter}
+% \changes{v3.19}{2015/07/15}{added}
+% The counter used to number the letters and make them reference-able.
% \begin{macrocode}
\newcounter{letter}
% \end{macrocode}
-% \end{Counter}
-% \end{environment}%^^A letter
+% \end{counter}
+% \end{environment}^^A letter
%
%
-% \begin{macro}{\letterpagestyle}
-% \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 des Pakets mit der Klasse
-% jedoch verbessert!
+% \begin{command}{\letterpagestyle}
+% \changes{v3.19}{2015/07/15}{added}
+% Similar to \cs{tilepagestyle}, \cs{indexpagestyle} etc. we have a
+% \cs{letterpagestyle} for the page style of the letter environment. The
+% initial value of the class and the package are different. For the class we
+% use an empty value, which means not change, because it already uses an
+% adapted page style. But the package does not change the usual page styles of
+% the classes, and therefore has a new default \pstyle{plain.letter} for
+% letters.
% \begin{macrocode}
\newcommand*{\letterpagestyle}{%
%<package> plain.letter%
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
%
-% \begin{macro}{\AtBeginLetter}
-% \changes{v2.8n}{2001/09/08}{Neu}%^^A
+% \begin{command}{\AtBeginLetter}
+% \changes{v2.8n}{2001/09/08}{added}
% \begin{macro}{\@beginletterhook}
-% \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
-% gar nichts.
+% \changes{v2.8n}{2001/09/08}{added}
+% This is the hook at the beginning of a letter. Initially it is empty.
% \begin{macrocode}
\newcommand{\AtBeginLetter}{\g@addto@macro\@beginletterhook}
\newcommand{\@beginletterhook}{}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\AtEndLetter}
-% \changes{v2.95}{2006/03/22}{Neu}%^^A
-% Analog zu |\AtBeginLetter| gibt es auch ein |\AtEndLetter|. Als Haken wird
-% hierbei |\stopletter| verwendet.
+% \begin{command}{\AtEndLetter}
+% \changes{v2.95}{2006/03/22}{added}
+% At the end currently a user command \cs{stopletter} is used to represent the
+% hook. An internal macro would be better but incompatible.
% \begin{macrocode}
\newcommand{\AtEndLetter}{\g@addto@macro\stopletter}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\stopbreaks}
-% \begin{macro}{\startbreaks}
+% \begin{command}{\stopbreaks}
+% \begin{command}{\startbreaks}
% \changes{v3.33}{2021/03/05}{\cs{relax} added}
% \begin{macro}{\@nobreakvspace}
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \changes{v3.33}{2021/03/05}{robust definition}
% \begin{macro}{\@nobreakvspacex}
% \begin{macro}{\@nobreakcr}
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
% \changes{v3.33}{2021/03/05}{simplified}
-% Innerhalb von Briefen wird der Umbruch etwas anders gehandhabt.
-% Dadurch soll der Brieftext besser positioniert werden.
+% Inside letters we have a slightly different page break. This should improve
+% placement of letter texts (but I doubt, that it really does).
% \begin{macrocode}
\newcommand*{\stopbreaks}{\interlinepenalty \@M
\def\par{\@@par\nobreak}\let\\=\@nobreakcr
@@ -4739,22 +4481,23 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{command}
+% \end{command}
%
-% \begin{macro}{\opening}
-% \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{command}{\opening}
+% \changes{v2.8n}{2001/09/08}{re-implemented}
+% \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}{using \cs{setparsizes}}
+% \changes{v3.27}{2019/03/27}{only \cls*{scrlttr2} uses \cs{@addrfield},
+% \cs{@locfield} and \cs{@foldmarks}}
+% \changes{v3.27}{2019/03/27}{only \cls*{scrlttr2} sets pagestyle}
+% \changes{v3.27}{2019/03/31}{only \cls*{scrlttr2} generates the first-page
+% head here}
+% \begin{description}
+% \item[ToDO:] There are plans to not generate the notepaper head, foot and
+% several other elements here but in \env{letter}.
+% \end{description}
% \begin{macrocode}
\newcommand{\opening}[1]{%
\@PapersizeWarning
@@ -4776,71 +4519,54 @@
\@afterindentfalse\@afterheading
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
%
-% \begin{macro}{\closing}
-% \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
+% \begin{command}{\closing}
+% \changes{v2.2b}{1995/02/16}{\cs{fromsig} used directly}
+% \changes{v2.3b}{1996/01/14}{distance between closing text and signature
+% increased}
+% \changes{v2.5d}{2000/06/10}{distance between closing text and signature
+% variable}
% \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
-% wird.
+% \changes{v2.8q}{2002/02/05}{not \cs{long}}
+% \changes{v2.8q}{2002/02/05}{supports \texttt{\cmd{\\}[\dots]}}
+% \changes{v2.9r}{2004/01/28}{length limited to \cs{hsize}}
+% \changes{v2.9r}{2004/01/28}{support for empty closing text}
+% \changes{v2.95}{2003/03/23}{using \cs{setparsizes}}
+% \changes{v3.17}{2015/02/19}{re-implemented to be more mistake tolerant}
+% \changes{v3.17}{2015/02/20}{\cs{}\cs{} replaced by \cs{tabularnewline}}
+% \changes{v3.17}{2015/02/20}{several \cs{strut} added}
+% \changes{v3.20}{2015/10/08}{line break after the closing text only in
+% horizontal mode}
+% \changes{v3.25}{2017/11/15}{\cs{unskip}\cs{strut} replaced by
+% \cs{scr@endstrut}}
+% Sets not only the closing text, that is given as argument, but also the
+% signature.
% \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
-% \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)
-% 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.
+% \changes{v2.5d}{2000/06/10}{added}
+% \changes{v2.8q}{2001/10/09}{replaced by \plen{sigbeforevskip}}
+% \end{macro}
+% \begin{command}{\setpresigskip}
+% \changes{v2.5d}{2000/06/10}{added}
+% \changes{v2.8q}{2001/10/09}{using \plen{asigbeforesvskip}}
+% \changes{v2.8q}{2001/10/09}{only for \file{KOMAold.lco}}
+% \begin{description}
+% \item[ToDo:] This has to be moved to
+% \file{scrkernel-letterclassoptions.dtx}!
+% \end{description}
% \begin{macrocode}
+%</body>
%</letter>
-%<lco&KOMAold>\def\setpresigskip{\@setplength{sigbeforevskip}}
+%<lco&KOMAold&body>\def\setpresigskip{\setplength{sigbeforevskip}}
%<*letter>
+%<*body>
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@xtrimtempa}
-% \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
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\@tempdimaismaxwidthof}
-% \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{v3.17}{2015/02/20}{Weil manche Leute es unbedingt auf die Spitze
-% 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
-% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt
-% \cs{unskip}\cs{strut}}%^^A
+% \end{command}^^A \setpresigskip
+% \begin{macro}{\@@xtrimtempa,\@xtrimtempa,\@tempdimaismaxwidthof}
+% \changes{v2.8q}{2002/02/05}{added}
+% \changes{v3.17}{2014/02/19}{removed}
+% \end{macro}^^A \@@xtrimtempa,\@xtrimtempa,\@tempdimaismaxwidthof
% \begin{macrocode}
\newcommand*{\closing}[1]{{%
\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative\nobreak\par
@@ -4864,32 +4590,32 @@
\nobreak\vskip\baselineskip
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\ps}
-% \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{command}{\ps}
+% \changes{v2.8n}{2001/09/08}{re-implemented}
+% Switch to printing of \emph{postscriptum}.
% \begin{macrocode}
\newcommand\ps{\par%
- \ifdim\parskip=\z@%
- \vskip\baselineskip%
- \fi\startbreaks\noindent\ignorespaces%
+ \ifdim\parskip=\z@
+ \vskip\baselineskip
+ \fi\startbreaks\noindent\ignorespaces
}
% \end{macrocode}
-% \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
+% \end{command}
+%
+% \begin{command}{\cc}
+% \changes{v2.6}{2001/01/03}{\cs{def} replaced by \cs{newcommand*}}
+% \changes{v2.8n}{2001/09/08}{re-implemented}
+% \changes{v2.9o}{2003/04/22}{\len{parfillskip} changed}
+% \changes{v2.9q}{2004/04/26}{\len{parfillskip} changed to \texttt{1em plus
+% 1fil}}
+% \changes{v2.9r}{2004/05/25}{\len{parfillskip} changed to \texttt{\cs{z@} plus
+% 1fil}}
+% \changes{v3.22}{2016/12/15}{missing star at \cs{ifkomavaremptry*} added}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by
+% \cs{Ifkomavarempty}}
+% Switch to the printing of the \emph{copy circulated}.
% \begin{macrocode}
\newcommand*{\cc}[1]{\par%
\ifdim\parskip=\z@%
@@ -4906,20 +4632,20 @@
\endgroup
}
% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\encl}
-% Auch Anlagen werden ordentlich gesetzt.
-% \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}
+% \end{command}
+%
+% \begin{command}{\encl}
+% \changes{v2.4a}{1997/06/06}{don't print a colon for empty enclosure}
+% \changes{v2.6}{2001/01/03}{\cs{def} replaced by \cs{newcommand*}}
+% \changes{v2.8n}{2001/09/08}{re-implemented}
+% \changes{v2.8q}{2002/01/31}{missing \% added}
+% \changes{v2.9o}{2003/04/22}{\cs{parfillskip} changed}
+% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} changed to \texttt{1em plus
+% 1fil}}
+% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} changed to \texttt{\cs{z@} plus
+% 1fil}}
+% The enclosures are given as argument of \cs{encl}. They are printed hanging,
+% if the output name of \var{enclseparator} is not empty.
% \begin{macrocode}
\newcommand*{\encl}[1]{\par%
\ifdim\parskip=\z@%
@@ -4935,48 +4661,48 @@
\setlength{\parfillskip}{\z@ \@plus 1fil}\par
\endgroup
}
+%</body>
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
%
-% \subsection{Briefspezifische Feld-Variablen}
+% \subsection{Letter specific variables}
%
-% \begin{KOMAvar}{signature}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{place}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{location}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{backaddress}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
+% \begin{variable}{place,location,specialmail,title,fromlogo}
+% \changes{v2.8q}{2002/01/28}{added}
+% \begin{variable}{fromzipcode,PPcode,PPdatamatrix}
+% \changes{v3.03}{2009/03/04}{added}
+% \begin{variable}{addresseeimage}
+% \changes{v3.03}{2009/03/04}{added}
+% \changes{v3.03b}{2009/06/30}{typofix}
+% \begin{variable}{signature}
+% \changes{v2.8q}{2002/01/16}{added}
+% \begin{variable}{backaddress}
+% \changes{v2.8q}{2002/01/16}{added}
% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
-% \begin{KOMAvar}{specialmail}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{title}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{fromlogo}
-% \changes{v2.8q}{2002/01/28}{Neu}%^^A
-% \begin{KOMAvar}{fromzipcode}
-% \changes{v3.03}{2009/03/04}{Neu}%^^A
-% \begin{KOMAvar}{PPcode}
-% \changes{v3.03}{2009/03/04}{Neu}%^^A
-% \begin{KOMAvar}{PPdatamatrix}
-% \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
-% 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.
+% ersetzt}
+% There are several variables without output name. For most of them the user
+% has to define a value, if it should be used in the notepaper. Only
+% \var{backaddress} and \var{signature} have a default, that depends on the
+% values of other variables. Unfortunately these defaults are not expandable,
+% because of the not expandable \cs{usekomavar}.
+% \begin{description}
+% \item[ToDo:] We should define a expandable \cs{usekomavar} alternative
+% without optional star and optional argument.
+% \end{description}
% \begin{macrocode}
-\newkomavar{signature}
-\setkomavar{signature}{\usekomavar{fromname}}
+%<*body>
\newkomavar{place}
\newkomavar{location}
+\newkomavar{specialmail}
+\newkomavar{title}
+\newkomavar{fromlogo}
+\newkomavar{fromzipcode}
+\newkomavar{PPcode}
+\newkomavar{PPdatamatrix}
+\newkomavar{addresseeimage}
+\newkomavar{signature}
+\setkomavar{signature}{\usekomavar{fromname}}
\newkomavar{backaddress}
\setkomavar{backaddress}{%
\Ifkomavarempty{fromname}{}{%
@@ -4985,46 +4711,24 @@
\Ifkomavarempty{fromaddress}{}{%
\strut\ignorespaces\usekomavar{fromaddress}}%
}
-\newkomavar{specialmail}
-\newkomavar{title}
-\newkomavar{fromlogo}
-\newkomavar{fromzipcode}
-\newkomavar{PPcode}
-\newkomavar{PPdatamatrix}
-\newkomavar{addresseeimage}
-%</letter>
%</body>
% \end{macrocode}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-%
+% \end{variable}^^A backaddress
+% \end{variable}^^A signature
+% \end{variable}^^A addresseeimage
+% \end{variable}^^A fromzipcode,PPcode,PPdatamatrix
+% \end{variable}^^A place,location,specialmail,title,fromlogo
+%
% \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.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
-% \begin{macro}{\if@scrsymbols}
-% \changes{v3.12}{2013/05/13}{neu (intern)}%^^A
-% \begin{macro}{\@scrsymbolstrue}
-% \changes{v3.12}{2013/05/13}{neu (intern)}%^^A
-% \begin{macro}{\@scrsymbolsfalse}
-% \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}
-%<*option&letter>
+% \changes{v3.12}{2013/05/13}{added}
+% \changes{v3.17}{2015/03/16}{using internal value storage}
+% \changes{v3.27}{2019/03/21}{new values \opt{\quotechar=fontawesome} and
+% \opt{\quotechar=marvosym} added}
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \begin{macro}{\@scrsymbolsfalse,\@scrsymbolstrue,\if@scrsymbols}
+% For some of the variable the print name can be a symbol instead of a name.
+% \begin{macrocode}
+%<*option>
\newif\if@scrsymbols
\KOMA@key{symbolicnames}[true]{%
\KOMA@set@ifkey{symbolicnames}{@scrsymbols}{#1}%
@@ -5090,15 +4794,12 @@
\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 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
-% Datei mit Optionen-Abschnitt befinden.
+% \changes{v3.20}{2016/04/01}{need only extension for kind of loading delay}
+% \changes{v3.20}{2016/04/01}{loading delay only if needed and available}
+% In the document preamble we can load \pkg{macrosym} or \pkg{fontawesome},
+% but not while the options not has been processed. So in this case we have to
+% delay it using \cs{AtEndOfClass} resp. \cs{AtEndOfPackage}. With an unknown
+% extension we use \cs{AtBeginDocument}.
% \begin{macrocode}
\ifx\@fileswith@pti@ns\@badrequireerror
\Ifstr{\@currext}{\@clsextension}{%
@@ -5123,25 +4824,24 @@
%<package> scrletter.\scr@pkgextension
}{symbolicnames}{false}%
% \end{macrocode}
-% \selectlanguage{english}
% \begin{macro}{\scr@symbols@font}
-% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% \changes{v3.27}{2019/03/21}{added}
% 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
+% \changes{v3.27}{2019/03/21}{added}
% The phone symbole.
% \begin{macro}{\scr@symbol@fax}
-% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% \changes{v3.27}{2019/03/21}{added}
% The fax symbole.
% \begin{macro}{\scr@symbol@email}
-% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% \changes{v3.27}{2019/03/21}{added}
% The e-mail symbol.
% \begin{macro}{\scr@symbol@mobilephone}
-% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% \changes{v3.27}{2019/03/21}{added}
% The mobile-phone symbol.
% \begin{macro}{\scr@symbol@www}
-% \changes{v3.27}{2019/03/21}{new (internal)}%^^A
+% \changes{v3.27}{2019/03/21}{added}
% The world-wide-web symbol.
% \begin{macrocode}
\newcommand*{\scr@symbols@font}{}
@@ -5150,57 +4850,31 @@
\newcommand*{\scr@symbol@email}{\undefined}
\newcommand*{\scr@symbol@mobilephone}{\undefined}
\newcommand*{\scr@symbol@www}{\undefined}
-%</option&letter>
+%</option>
% \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
-% \begin{KOMAvar}{subjectseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{ccseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{enclseparator}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{backaddressseparator}
-% \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}%^^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}%^^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}%^^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}%^^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.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A
-% \begin{KOMAvar}{zipcodeseparator}
-% \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
-% vordefiniert.
+% \end{macro}^^A \scr@symbol@www
+% \end{macro}^^A \scr@symbol@mobilephone
+% \end{macro}^^A \scr@symbol@email
+% \end{macro}^^A \scr@symbol@fax
+% \end{macro}^^A \scr@symbol@phone
+% \end{macro}^^A \scr@symbols@font
+% \end{macro}^^A \if@scrsymbols
+% \end{option}^^A symbolicnames
+%
+% \begin{variable}{placeseparator,subjectseparator,ccseparator,enclseparator,
+% backaddressseparator}
+% \changes{v2.8q}{2002/01/22}{added}
+% \begin{variable}{phoneseparator,faxseparator,emailseparator,urlseparator,
+% mobilephoneseparator}
+% \changes{v2.8q}{2002/03/25}{added}
+% \changes{v3.12}{2013/05/29}{support for option \opt{symbolicnames}}
+% \changes{v3.27}{2019/03/21}{indirect saving of symbols}
+% \begin{variable}{zipcodeseparator}
+% \changes{v3.03}{2009/03/04}{added}
+% We also have variables with (predefined) output names and predefined
+% values. These are the separator variables.
% \begin{macrocode}
%<*body>
-%<*letter>
\newkomavar[\usekomavar{place}]{placeseparator}
\setkomavar{placeseparator}{,\nobreakspace}
\newkomavar[\subjectname]{subjectseparator}
@@ -5226,26 +4900,17 @@
\newkomavar{zipcodeseparator}
\setkomavar{zipcodeseparator}{\,--\,}
% \end{macrocode}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-%
-% \selectlanguage{english}%^^A
-% \begin{KOMAvar}{addressee}
-% \changes{v3.27}{2019/03/24}{new variable}%^^A
+% \end{variable}^^A zipcodeseparator
+% \end{variable}^^A phoneseparator … mobilephoneseparator
+% \end{variable}^^A placeseparator … backaddressseparator
+%
+% \begin{variable}{addressee}
+% \changes{v3.27}{2019/03/24}{new variable}
% 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
+% \begin{variable}{togivenname}
+% \changes{v3.27}{2019/03/24}{new variable}
+% \begin{variable}{tofamilyname}
+% \changes{v3.27}{2019/03/24}{new variable}
% The package allows to build \texttt{toname} by \texttt{togivenname} and
% \texttt{tofamilyname}.
% \begin{macrocode}
@@ -5255,62 +4920,30 @@
\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
-% \begin{KOMAvar}{fromaddress}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{fromemail}
-% \changes{v2.8q}{2002/01/28}{Neu}%^^A
-% \begin{KOMAvar}{fromurl}
-% \changes{v2.8q}{2002/01/28}{Neu}%^^A
-% \begin{KOMAvar}{frombank}
-% \changes{v2.8q}{2002/01/28}{Neu}%^^A
-% \begin{KOMAvar}{toname}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{toaddress}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{fromphone}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{frommobilephone}
-% \changes{v3.12}{2013/05/29}{Neu}%^^A
-% \begin{KOMAvar}{fromfax}
-% \changes{v2.8q}{2002/01/28}{Neu}%^^A
-% \begin{KOMAvar}{yourmail}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{yourref}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{myref}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{customer}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{invoice}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{subject}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{KOMAvar}{date}
-% \changes{v2.8q}{2002/01/16}{Neu}%^^A
-% \begin{macro}{\date}
-% \changes{v3.17}{2015/03/05}{das Makro gibt eine Warnung aus}%^^A
+% \end{variable}^^A tofamilyname
+% \end{variable}^^A togivenname
+% \end{variable}^^A addressee
+%
+% \begin{variable}{fromname,fromaddress,fromemail,fromurl,frombank,
+% toname,toaddress,
+% fromphone,fromfax,
+% yourmail,yourref,
+% myref,customer,invoice,subject,date}
+% \changes{v2.8q}{2002/01/16}{added}
+% \begin{variable}{frommobilephone}
+% \changes{v3.12}{2013/05/29}{added}
+% \begin{command}{\date}
+% \changes{v3.17}{2015/03/05}{deprecated}
% \begin{macro}{\scr@saved@date}
-% \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
-% 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
-% von \texttt{subject} den Namen von \texttt{subjectseparator}.
-%
-% Ä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,
-% dass auch weiterhin \cs{date} funktioniert.
+% \changes{v3.17}{2015/03/05}{added}
+% Several variables with output name but without default value. Somehow
+% special is \var{subject}, because the output name also contains the
+% separator. To change the name only but not the separator change the output
+% name of \var{subjectseparator}. \var{toaddress} and \var{fromaddress} are
+% also special. Their output names are the values of \var{toname}
+% resp. \var{fromname}. But this is not used initially. The initial value of
+% \var{date} is \cs{@date}. So \cs{date} can still be used to change it, but
+% this is not recommended.
% \begin{macrocode}
\newkomavar[\headfromname]{fromname}
\newkomavar[\usekomavar{fromname}]{fromaddress}
@@ -5352,41 +4985,28 @@
}%
\scr@saved@date{#1}%
}
+%</body>
% \end{macrocode}
-% \end{macro}%^^A \scr@saved@date
-% \end{macro}%^^A \date
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-% \end{KOMAvar}
-%
-% \iffalse
+% \end{macro}^^A \scr@saved@date
+% \end{command}^^A \date
+% \end{variable}^^A frommobilephone
+% \end{variable}^^A fromname … date
+%
+%
+% \begin{macrocode}
%</letter>
-% \fi
+% \end{macrocode}
%
-% \iffalse
-%</body>
-% \fi
%
% \Finale
-%
+% \PrintChanges
+%
\endinput
-%
-% end of file `scrkernel-notepaper.dtx'
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
+% Local Variables:
+% mode: doctex
+% ispell-local-dictionary: "en_US"
+% eval: (flyspell-mode 1)
+% TeX-master: t
+% TeX-engine: luatex-dev
+% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx"))
+% End: