diff options
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx')
-rw-r--r-- | macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx | 3618 |
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: |