%% %% This is file `scrlttr2.cls', %% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% %% scrkernel-version.dtx (with options: `class,letter') %% scrkernel-basics.dtx (with options: `class,load') %% scrkernel-compatibility.dtx (with options: `class,letter,init') %% scrkernel-typearea.dtx (with options: `class,scrlttr2,init') %% scrkernel-compatibility.dtx (with options: `class,letter,option') %% scrkernel-miscellaneous.dtx (with options: `class,letter,option') %% scrkernel-letterclassoptions.dtx (with options: `class,letter,option') %% scrkernel-language.dtx (with options: `class,letter,option') %% scrkernel-fonts.dtx (with options: `class,letter,option') %% scrkernel-variables.dtx (with options: `class,letter,option') %% scrkernel-pseudolengths.dtx (with options: `class,letter,option') %% scrkernel-typearea.dtx (with options: `class,letter,options') %% scrkernel-paragraphs.dtx (with options: `class,letter,option') %% scrkernel-pagestyles.dtx (with options: `class,letter,option') %% scrkernel-floats.dtx (with options: `class,letter,option') %% scrkernel-footnotes.dtx (with options: `class,letter,option') %% scrkernel-listsandtabulars.dtx (with options: `class,letter,option') %% scrkernel-notepaper.dtx (with options: `class,letter,option') %% scrkernel-addressfiles.dtx (with options: `class,letter,option') %% scrkernel-miscellaneous.dtx (with options: `class,letter,execoption') %% scrkernel-compatibility.dtx (with options: `class,letter,body') %% scrkernel-fonts.dtx (with options: `class,letter,body') %% scrkernel-miscellaneous.dtx (with options: `class,letter,body') %% scrkernel-letterclassoptions.dtx (with options: `class,letter,body') %% scrkernel-language.dtx (with options: `class,letter,body') %% scrkernel-variables.dtx (with options: `class,letter,body') %% scrkernel-pseudolengths.dtx (with options: `class,letter,body') %% scrkernel-typearea.dtx (with options: `class,letter,body') %% scrkernel-paragraphs.dtx (with options: `class,letter,body') %% scrkernel-pagestyles.dtx (with options: `class,letter,body') %% scrkernel-floats.dtx (with options: `class,letter,body') %% scrkernel-footnotes.dtx (with options: `class,letter,body') %% scrkernel-listsandtabulars.dtx (with options: `class,letter,body') %% scrkernel-notepaper.dtx (with options: `class,letter,body') %% scrkernel-addressfiles.dtx (with options: `class,letter,body') %% scrlogo.dtx (with options: `logo') %% %% Copyright (c) 1994-2022 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- %% %% It may be distributed under the conditions of the %% LaTeX Project Public License in the version distributed together %% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. %% %% This file may only be distributed together with a copy of the %% KOMA-Script bundle. You may however distribute the %% KOMA-Script bundle without all such generated files. See also %% `lppl.txt' or `lppl-de.txt' for additional information. %% %% The list of files belonging to KOMA-Script distribution is given in %% the file `MANIFEST.md'. See also `lppl.txt' or `lppl-de.txt' for %% additional information. %% %% If this file is a beta version, you may not be allowed to distribute %% it. Look at the comments below to see if this is the case. %% %% English and German manuals are part of KOMA-Script bundle. %% ---------------------------------------------------------- %% %% See `README'. %% %% The KOMA-Script bundle (but maybe not this file) was based upon the %% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e %% standard classes created by The LaTeX3 Project 1994-1996. You can %% find a complete unmodified copy of LaTeX2e at %% . %% %%% From File: $Id: scrkernel-version.dtx 4038 2023-04-24 07:06:57Z kohm $ \begingroup \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% }% \else \newcommand*{\@CheckKOMAScriptVersion}[1]{% \def\@tempa{#1}% \ifx\KOMAScriptVersion\@tempa\else \@latex@warning@no@line{% \noexpand\KOMAScriptVersion\space is `\KOMAScriptVersion',\MessageBreak but `#1' was expected!\MessageBreak You should not use classes, packages or files from\MessageBreak different KOMA-Script versions% }% \fi } \fi \@CheckKOMAScriptVersion{2023/04/24 v3.40 KOMA-Script}% \endgroup \providecommand*{\scr@clsextension}{\@clsextension} \AtBeginDocument{% \let\scr@clsextension\@clsextension } \newcommand*{\KOMAClassName}{scrlttr2} \newcommand*{\KOMAClassFileName}{\KOMAClassName.\@clsextension} \edef\KOMAClassFileName{\KOMAClassFileName} \newcommand*{\ClassName}{% letter% } \ProvidesClass{\KOMAClassName}[% 2023/04/24 v3.40 KOMA-Script document class (\ClassName)% ] %%% From File: $Id: scrkernel-basics.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: load) \RequirePackage{scrkbase}[\KOMAScriptVersion] %%% From File: $Id: scrkernel-compatibility.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: init) \newcommand* {\scr@compatibility}{\scr@v@last} \@namedef{scr@v@first}{0} \@namedef{scr@v@2.9}{0} \@namedef{scr@v@2.9t}{0} \@namedef{scr@v@2.9u}{1} \@namedef{scr@v@2.95}{2} \@namedef{scr@v@2.95a}{2} \@namedef{scr@v@2.95b}{2} \@namedef{scr@v@2.96}{2} \@namedef{scr@v@2.96a}{3} \@namedef{scr@v@2.97}{3} \@namedef{scr@v@2.97a}{3} \@namedef{scr@v@2.97b}{3} \@namedef{scr@v@2.97c}{4} \@namedef{scr@v@2.97d}{5} \@namedef{scr@v@2.97e}{6} \@namedef{scr@v@2.98}{6} \@namedef{scr@v@2.98a}{6} \@namedef{scr@v@2.98b}{6} \@namedef{scr@v@2.98c}{7} \@namedef{scr@v@3.00}{8} \@namedef{scr@v@3.01}{8} \@namedef{scr@v@3.01a}{8} \@namedef{scr@v@3.01b}{9} \@namedef{scr@v@3.01c}{9} \@namedef{scr@v@3.02}{9} \@namedef{scr@v@3.02b}{9} \@namedef{scr@v@3.02c}{10} \@namedef{scr@v@3.03}{10} \@namedef{scr@v@3.03a}{10} \@namedef{scr@v@3.03b}{10} \@namedef{scr@v@3.04}{10} \@namedef{scr@v@3.04a}{10} \@namedef{scr@v@3.05}{10} \@namedef{scr@v@3.05a}{10} \@namedef{scr@v@3.06}{10} \@namedef{scr@v@3.07}{10} \@namedef{scr@v@3.08}{10} \@namedef{scr@v@3.08a}{10} \@namedef{scr@v@3.08b}{10} \@namedef{scr@v@3.09}{10} \@namedef{scr@v@3.09a}{10} \@namedef{scr@v@3.10}{10} \@namedef{scr@v@3.10a}{10} \@namedef{scr@v@3.10b}{10} \@namedef{scr@v@3.11}{10} \@namedef{scr@v@3.11a}{10} \@namedef{scr@v@3.11b}{10} \@namedef{scr@v@3.12}{11} \@namedef{scr@v@3.13}{12} \@namedef{scr@v@3.13a}{13} \@namedef{scr@v@3.14}{13} \@namedef{scr@v@3.15}{14} \@namedef{scr@v@3.16}{14} \@namedef{scr@v@3.17}{15} \@namedef{scr@v@3.17a}{15} \@namedef{scr@v@3.17c}{15} \@namedef{scr@v@3.18}{15} \@namedef{scr@v@3.18a}{15} \@namedef{scr@v@3.19}{15} \@namedef{scr@v@3.19a}{15} \@namedef{scr@v@3.20}{15} \@namedef{scr@v@3.21}{15} \@namedef{scr@v@3.22}{16} \@namedef{scr@v@3.23}{16} \@namedef{scr@v@3.24}{16} \@namedef{scr@v@3.25}{17} \@namedef{scr@v@3.26}{17} \@namedef{scr@v@3.26a}{17} \@namedef{scr@v@3.26b}{17} \@namedef{scr@v@3.27}{17} \@namedef{scr@v@3.27a}{17} \@namedef{scr@v@3.28}{17} \@namedef{scr@v@3.29}{17} \@namedef{scr@v@3.30}{17} \@namedef{scr@v@3.31}{18} \@namedef{scr@v@3.32}{18} \@namedef{scr@v@3.33}{18} \@namedef{scr@v@3.34}{18} \@namedef{scr@v@3.35}{19} \@namedef{scr@v@3.36}{20} \@namedef{scr@v@3.37}{20} \@namedef{scr@v@3.38}{20} \@namedef{scr@v@3.39}{20} \@namedef{scr@v@3.40}{20} \@namedef{scr@v@last}{20} %%% From File: $Id: scrkernel-typearea.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: init) %%% From File: $Id: scrkernel-compatibility.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \KOMA@key{version}[last]{% \scr@ifundefinedorrelax{scr@v@#1}{% \def\scr@compatibility{0}% \ClassWarningNoLine{\KOMAClassName}{% You have set option `version' to value `#1', but\MessageBreak this value of version is not supported.\MessageBreak Because of this, version was set to `first'% }% \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% \KOMAClassFileName }{version}{first}% }{% \ClassInfoNoLine{\KOMAClassName}{% Switching compatibility level to `#1'% }% \edef\scr@compatibility{\@nameuse{scr@v@#1}}% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{version}{#1}% \ifnum\scr@compatibility<\scr@v@last \ClassWarningNoLine{\KOMAClassName}{% Switching back to an old KOMA-Script release does\MessageBreak not mean, that KOMA-Script is fully compatible with\MessageBreak the old release. If you need full compatibility\MessageBreak to an old KOMA-Script release, you should use that\MessageBreak old KOMA-Script release. However, in that case you\MessageBreak could also need old releases of other packages and\MessageBreak even of the LaTeX kernel.\MessageBreak You should also note, that the KOMA-Script developers\MessageBreak refuse support for documents using `version=#1'.\MessageBreak We recommend to eliminate all deprecated options\MessageBreak and commands. We also recommend to not use option\MessageBreak `version', i.e., with other values than `last'% }% \fi }% } \KOMA@kav@add{\KOMAClassFileName}{version}{last} \AtEndOfClass{% \KOMA@key{version}[]{% \ClassError{\KOMAClassName}{% Option `version' too late% }{% Option `version' may be set only while loading the class.\MessageBreak But you've tried to set it up later.% }% \FamilyKeyStateProcessed }% } \newcommand*{\scr@v@is@lt}[1]{% \scr@compatibility<\@nameuse{scr@v@#1} } \newcommand*{\scr@v@is@gt}[1]{% \scr@compatibility>\@nameuse{scr@v@#1} } \newcommand*{\scr@v@is@le}[1]{% \numexpr\scr@compatibility-\@ne\relax<\@nameuse{scr@v@#1} } \newcommand*{\scr@v@is@ge}[1]{% \numexpr\scr@compatibility+\@ne\relax>\@nameuse{scr@v@#1} } \newcommand*{\scr@v@is@eq}[1]{% \scr@compatibility=\@nameuse{scr@v@#1} } %%% From File: $Id: scrkernel-miscellaneous.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \if@tempswa \KOMA@kav@replacebool{% \KOMAClassFileName }{draft}{@tempswa}% \KOMA@kav@replacebool{% \KOMAClassFileName }{overfullrule}{@tempswa}% \setlength{\overfullrule}{5pt}% \else \KOMA@kav@replacebool{% \KOMAClassFileName }{draft}{@tempswa}% \KOMA@kav@replacebool{% \KOMAClassFileName }{overfullrule}{@tempswa}% \setlength{\overfullrule}{\z@}% \fi \fi } \KOMA@kav@add{\KOMAClassFileName}{draft}{false} \KOMA@DeclareStandardOption {final}{draft=false} \KOMA@key{overfullrule}[true]{% \KOMA@set@ifkey{overfullrule}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \if@tempswa \KOMA@kav@replacebool{% \KOMAClassFileName }{draft}{@tempswa}% \KOMA@kav@replacebool{% \KOMAClassFileName }{overfullrule}{@tempswa}% \setlength{\overfullrule}{5pt}% \else \KOMA@kav@replacebool{% \KOMAClassFileName }{draft}{@tempswa}% \KOMA@kav@replacebool{% \KOMAClassFileName }{overfullrule}{@tempswa}% \setlength{\overfullrule}{\z@}% \fi \fi } \KOMA@kav@add{\KOMAClassFileName}{overfullrule}{false} %%% From File: $Id: scrkernel-letterclassoptions.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \newcommand*{\lco@test}{% \IfFileExists{\CurrentOption.lco}{% \ClassWarningNoLine{\KOMAClassName}{% loading of LCO via class option `\CurrentOption'.\MessageBreak Note: Loading a LCO via class option is deprecated.\MessageBreak \space\space\space\space\space\space You should use `\string\LoadLetterOption\string{\CurrentOption\string}'\MessageBreak instead% }% \expandafter\AtEndOfClass\expandafter{% \expandafter\LoadLetterOption\expandafter{\CurrentOption}% }% \expandafter\def\expandafter\scr@pti@nerr@r\expandafter{% \expandafter\def\expandafter\scr@pti@nerr@r\expandafter{% \scr@pti@nerr@r }% }% }{}% } \AtEndOfClass {\LoadLetterOption{DIN}} %%% From File: $Id: scrkernel-language.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \newif\if@orgdate\@orgdatetrue \KOMA@key{numericaldate}[true]{% \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi \KOMA@set@ifkey{numericaldate}{@orgdate}{#1}% \KOMA@kav@replacebool{% \KOMAClassFileName }{numericaldate}{@orgdate}% \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi } \KOMA@kav@add{% \KOMAClassFileName }{numericaldate}{true} \KOMA@DeclareDeprecatedOption{scrdate}{numericaldate=true} \KOMA@DeclareDeprecatedOption{orgdate}{numericaldate=false} %%% From File: $Id: scrkernel-fonts.dtx 4034 2023-04-20 08:03:46Z kohm $ %%% (run: option) \providecommand*\@ptsize{% 12% } \newcommand*{\@pt@scan}{% \expandafter\@pt@@scan\CurrentOption pt\@pt@@scan% } \newcommand*{\@pt@@scan}{} \def\@pt@@scan #1pt#2\@pt@@scan{% \Ifstr{#2}{pt}{% \Ifnumber{#1}{% \Ifstr{#1}{10}{% \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% {#1#2}{fontsize=#1#2}% }{% \Ifstr{#1}{11}{% \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% {#1#2}{fontsize=#1#2}% }{% \Ifstr{#1}{12}{% \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% {#1#2}{fontsize=#1#2}% }{% \KOMA@UseDeprecatedOption{\PackageWarningNoLine{\KOMAClassName}}% {#1#2}{fontsize=#1#2}% }% }% } }{\@headlines}% }{\@headlines}% } \providecommand*{\@fontsizefilebase}{scrsize} \KOMA@key{fontsize}{% \scr@ifundefinedorrelax{changefontsizes}{% \@defaultunits\@tempdima#1pt\relax\@nnil \edef\@ptsize{#1}% }{% \ifvmode\else \par \ClassError{\KOMAClassName}{% Option `fontsize' inside paragraph not allowed% }{% Option `fontsize' has been designed to change the base font size of a\MessageBreak document. It has not been made to change the current font size. Moreover\MessageBreak using it inside a paragraph mostly will not have the intended result, because\MessageBreak TeX always uses the setting of `\string\baselineskip' and other parameters from the\MessageBreak end of a paragraph for the whole paragraph. Therefore using option `fontsize'\MessageBreak in TeX's horizontal mode does not make sense and is not permitted.\MessageBreak You should use font size commands like `\string\Huge'…`\string\tiny' or `\string\fontsize' here.\MessageBreak See a LaTeX introduction for more information.\MessageBreak But maybe you've just forgotten to make a paragraph. So if you'd continue,\MessageBreak I'll add `\expandafter\string\csname par\endcsname'.% }% \fi \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil \edef\@tempa{#1}% \setlength{\@tempdimb}{\@tempdima}% \edef\@tempb{\strip@pt\@tempdimb}% \addtolength{\@tempdimb}{-10\p@}% \edef\@ptsize{\strip@pt\@tempdimb}% \edef\@tempa{% \noexpand\makeatletter \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% \noexpand\ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% }{% \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% \noexpand\ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempb pt.clo' used instead of% \noexpand\MessageBreak file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% }{% \noexpand\changefontsizes{#1}% }% }% \noexpand\catcode`\noexpand\@=\the\catcode`\@ }% \@tempa }% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{fontsize}{#1}% } \DeclareOption{enabledeprecatedfontcommands}{% \ClassWarningNoLine{\KOMAClassName}{% deprecated option `enabledeprecatedfontcommands'.\MessageBreak Note, that this option was already depreacted when\MessageBreak it has been defined. Support for old font commands\MessageBreak has been removed from KOMA-Script more than one\MessageBreak decade ago. It is not recommended to use them any\MessageBreak longer. Therefore usage of this class option also\MessageBreak is not recommended% }% \let\scr@defineobsoletefonts\@ne } \scr@ifundefinedorrelax{scr@defineobsoletefonts}{% \let\scr@defineobsoletefonts\z@ }{} \BeforePackage{tex4ht}{% \let\scr@defineobsoletefonts\thr@@ } \newif\if@sfdefaults\@sfdefaultstrue \KOMA@ifkey{sfdefaults}{@sfdefaults} \newcommand*{\maybesffamily}{\if@sfdefaults \sffamily \fi} \newcommand*{\textmaybesf}{% \if@sfdefaults \expandafter\textsf \else \expandafter\@firstofone \fi } %% \begin{option}{egegdoesnotlikesansseriftitles} \KOMA@key{egregdoesnotlikesansseriftitles}[true]{% \ClassWarningNoLine{\KOMAClassName}% {% You've used deprecated option `egregdoesnotlikesansseriftitles'.\MessageBreak In 2016 this option has been implemented as a joke\MessageBreak answer to egreg's comment:\MessageBreak \space\space ``In my opinion there should be a document class\MessageBreak \space\space option for it, instead of the \string\setkomafont\MessageBreak \space\space statement. And yes, I find imposing sans serif for\MessageBreak \space\space titles is not the best choice (one of the reasons\MessageBreak \space\space why I don't use Koma-script classes).''\MessageBreak to question https://tex.stackexchange.com/q/289853\MessageBreak at TeX.SX.\MessageBreak The option has never been documented in the official\MessageBreak user manuals and therefore should never have been\MessageBreak used in real live documents. It was intended to be\MessageBreak removed after some month.\MessageBreak However, it has been used and also almost forgotten\MessageBreak by the author.\MessageBreak For this the author apologizes both to users but\MessageBreak especially to egreg.\MessageBreak Rightly, egreg has criticized the permanent retention\MessageBreak of the option as unfunny to inappropriate and has\MessageBreak asked that it be removed or replaced.\MessageBreak It will be removed soon!\MessageBreak You should use `sfdefaults=false` instead% }% \KOMA@set@ifkey{egregdoesnotlikesansseriftitles}% {@sfdefaults}% {#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \if@sfdefault \@sfdefaultsfalse \else \@sfdefaulttrue \fi \KOMA@kav@xreplacevalue{\KOMAClassFileName}% {sfdefaults}{\if@sfdefaults true\else false\fi}% \fi } %%% From File: $Id: scrkernel-variables.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) %%% From File: $Id: scrkernel-pseudolengths.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) %%% From File: $Id: scrkernel-typearea.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: options) \KOMA@key{twoside}[true]{% \if@atdocument\else\PassOptionsToPackage{twoside=#1}{typearea}\fi% \Ifstr{#1}{semi}{% \@twosidetrue \FamilyKeyStateProcessed }{% \def\FamilyElseValue{, `semi'}% \KOMA@set@ifkey{twoside}{% @twoside% }{#1}% }% \ifx\FamilyKeyState\FamilyKeyStateProcessed \expandafter\ifnum\scr@v@is@ge{3.17}% \if@twoside\flushbottom \else \if@twocolumn\sloppy\flushbottom\else\raggedbottom\fi \fi \fi \KOMA@kav@xreplacevalue {\KOMAClassFileName}% {twoside}{#1}% \fi } \KOMAExecuteOptions{twoside=false} \KOMA@DeclareStandardOption% {oneside}{twoside=false} \KOMA@key{twocolumn}[true]{% \if@atdocument\else\PassOptionsToPackage{twocolumn=#1}{typearea}\fi% \KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \KOMA@kav@replacebool {\KOMAClassFileName}% {twocolumn}{@twocolumn}% \if@atdocument\expandafter\@firstofone \else\@ifpackageloaded{typearea}{\expandafter\@firstofone} {\expandafter\AtEndOfClass}\fi {% \expandafter\ifnum\scr@v@is@ge{3.17}% \if@twocolumn\twocolumn\sloppy\flushbottom \else \onecolumn \if@twoside\flushbottom\else \raggedbottom \fi \fi \fi }% \fi } \AtEndOfClass{% \expandafter\ifnum\scr@v@is@lt{3.17}% \raggedbottom \fi } \KOMAExecuteOptions{twocolumn=false} \KOMA@DeclareStandardOption% {onecolumn}{twocolumn=false} \newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} \newcommand*{\@@BCOR}{} \def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{% \Ifstr{#1}{}{% \Ifstr{#3}{BCOR}{% \Ifstrstart{#2}{=}{% \edef\reserved@a{\noexpand\Ifdimen{\@gobble#2}}% \reserved@a{\PassOptionsToPackage{BCOR#2}{typearea}}{\OptionNotUsed}% }{% \Ifdimen{#2}{\PassOptionsToPackage{BCOR#2}{typearea}}{\OptionNotUsed}% }% }{\scr@pti@nerr@r}% }{\scr@pti@nerr@r}% } \newcommand*{\@DIV}{\expandafter\@@DIV\CurrentOption DIVDIV\@@DIV} \newcommand*{\@@DIV}{} \def\@@DIV #1DIV#2DIV#3\@@DIV{% \edef\@tempa{#1}\ifx\@tempa\@empty \edef\@tempa{#3}\def\@tempb{DIV}\ifx\@tempa\@tempb \Ifstrstart{#2}{=}{% \edef\reserved@a{\noexpand\Ifnumber{\@gobble#2}}% \reserved@a{\PassOptionsToPackage{DIV#2}{typearea}}{\OptionNotUsed}% }{% \Ifnumber{#2}{\PassOptionsToPackage{DIV#2}{typearea}}{\OptionNotUsed}% }% \else\scr@pti@nerr@r\fi \else\@BCOR\fi } \newcommand{\@headlines}{% \expandafter\@@headlines\CurrentOption headlines\@@headlines% } \newcommand*{\@@headlines}{} \def\@@headlines #1headlines#2\@@headlines{ \edef\@tempa{#2}\edef\@tempb{headlines}\ifx\@tempa\@tempb \PassOptionsToPackage{#1headlines}{typearea} \else\@DIV\fi } \newcommand*{\x@paper}{% \expandafter\x@@paper\CurrentOption paper\x@@paper% } \newcommand*{\x@@paper}{} \def\x@@paper #1#2paper#3\x@@paper{% \Ifstr{#3}{paper}{% \Ifnumber{#2}{% \Ifstr{#1}{a}{% \PassOptionsToPackage{#3=#1#2}{typearea}% }{% \Ifstr{#1}{b}{% \PassOptionsToPackage{#3=#1#2}{typearea}% }{% \Ifstr{#1}{c}{% \PassOptionsToPackage{#3=#1#2}{typearea}% }{% \Ifstr{#1}{d}{% \PassOptionsToPackage{#3=#1#2}{typearea}% }{\scr@pti@nerr@r}% }% }% }% }{\scr@pti@nerr@r}% }{% \@pt@scan }% } \newcommand*{\scr@pti@nerr@r}{ \OptionNotUsed } \DeclareOption*{% \lco@test \x@paper} %%% From File: $Id: scrkernel-paragraphs.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \newcommand*{\setparsizes}[3]{% \edef\f@parindent{\the\parindent}% \edef\f@parskip{\the\parskip}% \edef\f@parfillskip{\the\parfillskip}% \def\scr@parindent{#1}% \def\scr@parskip{#2}% \def\scr@parfillskip{#3}% \def\par@update{% \if@atdocument\let\par@update\default@par@update\fi \par@updaterelative }% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{false}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{never}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full-}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full+}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full*}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half-}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half+}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half*}% } \newcommand*{\f@parindent}{\the\parindent} \newcommand*{\f@parskip}{\the\parskip} \newcommand*{\f@parfillskip}{\the\parfillskip} \newcommand*{\scr@parindent}{1em} \newcommand*{\scr@parskip}{\z@} \newcommand*{\scr@parfillskip}{\z@ \@plus 1fil} \AtEndOfClass{% \edef\f@parindent{\the\parindent}% \edef\f@parskip{\the\parskip}% \edef\f@parfillskip{\the\parfillskip}% } \newcommand*{\par@update}{} \let\par@update\relax \newcommand*{\default@par@update}{} \let\default@par@update\relax \AtBeginDocument{\par@update} \KOMA@key{parskip}[true]{% \begingroup \KOMA@set@ncmdkey{parskip}{@tempa}{% {never}{0},% {false}{1},{off}{1},{no}{1},% {full-}{2},% {half-}{3},% {full}{4},{true}{4},{on}{4},{yes}{4},% {half}{5},% {full+}{6},% {half+}{7},% {full*}{8},% {half*}{9},% {relative}{10},% {absolute}{11}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \aftergroup\FamilyKeyStateProcessed \ifcase\number\@tempa% 0 \endgroup \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{never}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 1 \endgroup \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{false}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 2 \endgroup \setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{% \z@ \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{full-}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 3 \endgroup \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% \z@ \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{half-}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 4 \endgroup \setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{% 1em \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{full}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 5 \endgroup \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% 1em \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{half}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 6 \endgroup \setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{% .3333\linewidth\@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{full+}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 7 \endgroup \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% .3333\linewidth \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{half+}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 8 \endgroup \setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{% .25\linewidth \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{full*}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 9 \endgroup \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% .25\linewidth \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{half*}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 10 \endgroup \KOMA@kav@remove{\KOMAClassFileName}{parskip}{absolute}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{relative}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{relative}% \ifx\par@updaterelative\undefined \expandafter\AtEndOfClass \else \expandafter\@firstofone \fi {% \ifx\par@update\default@par@update \let\par@update\par@updaterelative \fi \let\default@par@update=\par@updaterelative }% \or%11 \endgroup \KOMA@kav@remove{\KOMAClassFileName}{parskip}{absolute}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{relative}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{absolute}% \ifx\par@updaterelative\undefined \expandafter\AtEndOfClass \else \expandafter\@firstofone \fi {% \ifx\par@update\default@par@update \let\par@update\relax \fi \let\default@par@update=\relax }% \else% should never be \endgroup \fi \else \endgroup \FamilyKeyStateUnknownValue \fi } \KOMA@DeclareDeprecatedOption{parskip-}{parskip=full-} \KOMA@DeclareDeprecatedOption{parskip+}{parskip=full+} \KOMA@DeclareDeprecatedOption{parskip*}{parskip=full*} \KOMA@DeclareDeprecatedOption{halfparskip}{parskip=half} \KOMA@DeclareDeprecatedOption{halfparskip-}{parskip=half-} \KOMA@DeclareDeprecatedOption{halfparskip+}{parskip=half+} \KOMA@DeclareDeprecatedOption{halfparskip*}{parskip=half*} \KOMA@DeclareDeprecatedOption{parindent}{parskip=false} \KOMA@kav@add{\KOMAClassFileName}{parskip}{false} \KOMA@kav@add{\KOMAClassFileName}{parskip}{absolute} %%% From File: $Id: scrkernel-pagestyles.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \KOMA@ifkey{headsepline}{@hsl}% \KOMA@kav@add{\KOMAClassFileName}{headsepline}{false} \KOMA@DeclareDeprecatedOption{headnosepline}{headsepline=false} \KOMA@ifkey{footsepline}{@fsl}% \KOMA@kav@add{\KOMAClassFileName}{footsepline}{false} \KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false} \KOMA@key{cleardoublepage}{% \begingroup \def\@tempc{% \endgroup \KOMA@unknown@keyval{cleardoublepage}{#1}{% 'current' or any defined pagestyle e.g. 'empty','plain', 'headings'}% }% \Ifstr{#1}{current}{% \def\@tempc{\endgroup \def\cleardoublepage{\cleardoublestandardpage}% \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% \KOMAClassFileName }{cleardoublepage}{current}% }% }{% \Ifnotundefined{ps@#1}{% \def\@tempc{\endgroup \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{cleardoublepage}{#1}% }% }{% \ifx\@currname\KOMAClassName \ifx\@currext\@clsextension \Ifstr{#1}{headings}{% \def\@tempc{\endgroup \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{\KOMAClassFileName}% {cleardoublepage}{#1}% }% }{}% \fi \fi }% }% \@tempc } \newcommand*{\cleardoubleoddstandardpage}{} \let\cleardoubleoddstandardpage=\cleardoublepage \newcommand*{\cleardoubleoddpageusingstyle}[1]{\clearpage {\pagestyle{#1}\cleardoubleoddstandardpage}} \newcommand*{\cleardoubleoddemptypage}{\cleardoubleoddpageusingstyle{empty}} \newcommand*{\cleardoubleoddplainpage}{\cleardoubleoddpageusingstyle{plain}} \newcommand*{\cleardoubleevenstandardpage}{% \clearpage \if@twoside\ifodd\c@page \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi \fi\fi } \newcommand*{\cleardoubleevenpageusingstyle}[1]{\clearpage {\pagestyle{#1}\cleardoubleevenstandardpage}} \newcommand*{\cleardoubleevenemptypage}{\cleardoubleevenpageusingstyle{empty}} \newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}} \newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage} \renewcommand*{\cleardoublepage}{% \expandafter\ifnum \scr@v@is@gt{2.98c}% \cleardoubleemptypage \else \cleardoublestandardpage \fi } \KOMA@kav@add{% \KOMAClassFileName }{cleardoublepage}{% \expandafter\ifnum \scr@v@is@gt{2.98c} empty% \else current\fi } \AtEndOfClass{% \KOMAoptionOf[\expandafter\edef\expandafter\@tempa\@firstofone]% {% \KOMAClassFileName }{cleardoublepage}% \KOMA@kav@removekey{% \KOMAClassFileName }{cleardoublepage}% \KOMA@kav@xadd{% \KOMAClassFileName }{cleardoublepage}{\@tempa}% } \newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage} \newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage} \newcommand*{\cleardoublepageusingstyle}[1]{\clearpage {\pagestyle{#1}\cleardoublestandardpage}} \newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} \newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} \KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty} \KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain} \KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current} %%% From File: $Id: scrkernel-floats.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) %%% From File: $Id: scrkernel-footnotes.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \KOMA@key{footnotes}{% \ifx\@footnotemark\scr@saved@footnotemark \else \ifx\@footnotemark\scr@footnotemark \else \ClassWarning{\KOMAClassName}{% Change of `\string\@footnotemark' detected!\MessageBreak Use of `footnotes=#1' may break\MessageBreak another package!\MessageBreak Maybe you should remove the usage of\MessageBreak option `footnotes=#1'}% \fi \fi \Ifstr{#1}{multiple}{% \let\@footnotemark\scr@footnotemark \def\FN@mf@prepare{\scr@mf@prepare}% \def\scr@footmisc@options{multiple}% \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% \KOMAClassFileName }{footnotes}{multiple}% }{% \Ifstr{#1}{nomultiple}{% \let\@footnotemark\scr@saved@footnotemark \let\FN@mf@prepare\relax \let\scr@footmisc@options\@empty \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% \KOMAClassFileName }{footnotes}{nomultiple}% }{% \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% }% } \AtBeginDocument{% \ifx\@footnotemark\scr@saved@footnotemark \KOMA@kav@removekey{% \KOMAClassFileName }{footnotes}% \KOMA@kav@add{% \KOMAClassFileName }{footnotes}{nomultiple}% \else\ifx\@footnotemark\scr@footnotemark \KOMA@kav@removekey{% \KOMAClassFileName }{footnotes}% \KOMA@kav@add{% \KOMAClassFileName }{footnotes}{multiple}% \fi\fi } \newcommand*{\scr@footmisc@options}{} \PassOptionsToPackage{\noexpand\scr@footmisc@options}{footmisc} \newcommand*{\scr@saved@footnotemark}{% \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi \@makefnmark \ifhmode\spacefactor\@x@sf\fi \relax} \expandafter\CheckCommand\expandafter*\expandafter\@footnotemark \expandafter{\scr@saved@footnotemark} \newcommand*{\scr@footnotemark}{% \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\FN@mf@check\nobreak\fi \@makefnmark \csname FN@mf@prepare\endcsname \ifhmode\spacefactor\@x@sf\fi \relax} %%% From File: $Id: scrkernel-listsandtabulars.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) %%% From File: $Id: scrkernel-notepaper.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \KOMA@ifkey{firsthead}{@firsthead} \KOMAExecuteOptions{firsthead=true} \newcommand*{\@alignfrom}{0} \KOMA@key{fromalign}{% \KOMA@set@ncmdkey{fromalign}{@alignfrom}{% {left}{0},% {center}{1},{centered}{1},{middle}{1},% {right}{2},% {locationleft}{3},{leftlocation}{3},% {locationright}{4},{rightlocation}{4},{location}{4},% {no}{10000},{false}{10000},{off}{10000}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{fromalign}{#1}% \ifcase\@alignfrom\or\or\or\@firstheadfalse\or\@firstheadfalse\fi \fi } \KOMA@kav@add{% \KOMAClassFileName }{fromalign}{left} \KOMA@ncmdkey{fromrule}[below]{@rulefrom}{% {false}{0},{no}{0},{off}{0},{aftername}{1},% {below}{2},{afteraddress}{2},{true}{2},{yes}{2},{on}{2}% } \KOMA@kav@add{% \KOMAClassFileName }{fromrule}{false} \KOMA@ifkey{fromphone}{@phone} \KOMA@ifkey{frommobilephone}{@mobilephone} \KOMA@ifkey{fromfax}{@fax} \KOMA@ifkey{fromemail}{@email} \KOMA@ifkey{fromurl}{@www} \KOMA@ifkey{fromlogo}{@logo} \newcommand*{\@afieldmode}{\@ne} \KOMA@ncmdkey{addrfield}[true]{@afieldmode}{% {false}{0},{off}{0},{no}{0},% {true}{1},{on}{1},{yes}{1},% {PP}{2},{pp}{2},% {PPexplicite}{2},{PPExplicite}{2},% {ppexplicite}{2},{ppExplicite}{2},% {backgroundimage}{3},% {PPbackgroundimage}{3},{PPBackgroundImage}{3},{PPBackGroundImage}{3},% {ppbackgroundimage}{3},{ppBackgroundImage}{3},{ppBackGroundImage}{3},% {image}{4},{Image}{4},% {PPimage}{4},{PPImage}{4},% {ppimage}{4},{ppImage}{4},% {topaligned}{5},{alignedtop}{5}% } \KOMA@kav@add{% \KOMAClassFileName }{addrfield}{true} \KOMA@ncmdkey{priority}[A]{ltr@priority}{% {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},% {A}{2},{a}{2},% {priority}{2},{Priority}{2},{PRIORITY}{2},% {A-PRIORITY}{2},{A-Priority}{2},{a-priority}{2}% }% \KOMA@kav@add{% \KOMAClassFileName }{priority}{false} \newcommand{\backaddr@format}[1]{} \let\backaddr@format\underline \newif\if@baddr\@baddrtrue \KOMA@key{backaddress}[true]{% \begingroup \KOMA@set@ncmdkey{backaddress}{@tempa}{% {false}{0},{off}{0},{no}{0},% {true}{1},{on}{1},{yes}{1},% {underlined}{2},% {plain}{3}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \aftergroup\FamilyKeyStateProcessed \ifcase\@tempa \endgroup \@baddrfalse \or \endgroup \@baddrtrue \or \endgroup \@baddrtrue \let\backaddr@format\underline \or \endgroup \@baddrtrue \let\backaddr@format\@firstofone \else \endgroup \fi \if@baddr \ifx\backaddr@format\underline \KOMA@kav@replacevalue{% \KOMAClassFileName }{backaddress}{underlined}% \else \ifx\backaddr@format\@firstofone \KOMA@kav@replacevalue{% \KOMAClassFileName }{backaddress}{plain}% \else \KOMA@kav@replacevalue{% \KOMAClassFileName }{backaddress}{true}% \fi \fi \else \KOMA@kav@replacevalue{% \KOMAClassFileName }{backaddress}{false}% \fi \else \endgroup \FamilyKeyStateUnknownValue \fi } \newif\if@bigloc \KOMA@key{locfield}[wide]{% \begingroup \KOMA@set@ncmdkey{locfield}{@tempa}{{wide}{0},{narrow}{1}}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \ifcase\@tempa \endgroup \@bigloctrue \KOMA@kav@replacevalue{% \KOMAClassFileName }{locfield}{wide}% \else \endgroup \@biglocfalse \KOMA@kav@replacevalue{% \KOMAClassFileName }{locfield}{narrow}% \fi \else \endgroup \FamilyKeyStateUnknownValue \fi } \KOMA@kav@add{% \KOMAClassFileName }{locfield}{narrow} \KOMA@DeclareDeprecatedOption{wlocfield}{locfield=wide} \KOMA@DeclareDeprecatedOption{slocfield}{locfield=narrow} \newif\if@fold\@foldtrue \newcommand*{\@usefolds}{TMBPL} \KOMA@key{foldmarks}[true]{% \begingroup \KOMA@set@ifkey\@empty{@fold}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \if@fold\aftergroup\@foldtrue\else\aftergroup\@foldfalse\fi \aftergroup\FamilyKeyStateProcessed \else \aftergroup\FamilyKeyStateProcessed \def\sc@nf@ldch@rs##1{% \ifx ##1\@nil\else \if ##1T\g@addto@macro\@usefolds{##1}\else \if ##1M\g@addto@macro\@usefolds{##1}\else \if ##1B\g@addto@macro\@usefolds{##1}\else \if ##1P\g@addto@macro\@usefolds{##1}\else \if ##1L\g@addto@macro\@usefolds{##1}\else \if ##1V\g@addto@macro\@usefolds{L}\else \if ##1H\g@addto@macro\@usefolds{TMBP}\else \if ##1t\scr@removechar\@usefolds{T}\else \if ##1m\scr@removechar\@usefolds{M}\else \if ##1b\scr@removechar\@usefolds{B}\else \if ##1p\scr@removechar\@usefolds{P}\else \if ##1l\scr@removechar\@usefolds{L}\else \if ##1v% \scr@removechar\@usefolds{L}% \else \if ##1h% \scr@removechar\@usefolds{T}% \scr@removechar\@usefolds{M}% \scr@removechar\@usefolds{B}% \else \aftergroup\FamilyKeyStateUnknownValue \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \expandafter\sc@nf@ldch@rs \fi }% \expandafter\sc@nf@ldch@rs#1\@nil \fi \endgroup \ifx\FamilyKeyState\FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{foldmarks}{\@usefolds}% \KOMA@kav@xadd{% \KOMAClassFileName }{foldmarks}{\if@fold true\else false\fi}% \fi } \KOMA@kav@xadd{% \KOMAClassFileName }{foldmarks}{\@usefolds}% \KOMA@kav@add{% \KOMAClassFileName }{foldmarks}{true}% \newcommand*{\scr@removechar}[2]{% \def\in@@##1#2##2##3\in@@{% \ifx\in@##2\else \def\in@@####1#2\in@{\gdef#1{##1####1}}% \in@@##2##3% \fi}% \expandafter\in@@#1#2\in@\in@@ } \newif\if@refwide \newcommand*{\@datepos}{1} \KOMA@key{refline}[wide]{% \begingroup \KOMA@set@ncmdkey{refline}{@tempa}{{wide}{0},{narrow}{1},% {dateleft}{2},{leftdate}{2},% {dateright}{3},{rightdate}{3},% {nodate}{4}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \aftergroup\FamilyKeyStateProcessed \ifcase\@tempa% wide \endgroup \@refwidetrue \KOMA@kav@remove{% \KOMAClassFileName }{refline}{wide}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{narrow}% \KOMA@kav@add{% \KOMAClassFileName }{refline}{wide}% \or% narrow \endgroup \@refwidefalse \KOMA@kav@remove{% \KOMAClassFileName }{refline}{wide}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{narrow}% \KOMA@kav@add{% \KOMAClassFileName }{refline}{narrow}% \or% dateleft \endgroup \def\@datepos{2}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{dateleft}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{dateright}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{nodate}% \KOMA@kav@add{% \KOMAClassFileName }{refline}{dateleft}% \or% dateright \endgroup \def\@datepos{1}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{dateleft}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{dateright}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{nodate}% \KOMA@kav@add{% \KOMAClassFileName }{refline}{dateright}% \or% nodate \endgroup \def\@datepos{0}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{dateleft}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{dateright}% \KOMA@kav@remove{% \KOMAClassFileName }{refline}{nodate}% \KOMA@kav@add{% \KOMAClassFileName }{refline}{nodate}% \fi \else \endgroup \FamilyKeyStateUnknownValue \fi } \KOMA@kav@add{% \KOMAClassFileName }{refline}{dateright}% \KOMA@kav@add{% \KOMAClassFileName }{refline}{narrow}% \newcommand{\subject@format}[1]{#1} \newcommand*{\raggedsubject}{} \newif\if@subj \newif\if@subjafter \KOMA@key{subject}{% \begingroup \KOMA@set@ncmdkey{subject}{@tempa}{% {titled}{0},% {untitled}{1},% {afteropening}{2},% {beforeopening}{3},% {underlined}{4},% {left}{5},% {right}{6},% {centered}{7}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \aftergroup\FamilyKeyStateProcessed \ifcase\@tempa \aftergroup\@subjtrue \or \aftergroup\@subjfalse \or \aftergroup\@subjaftertrue \or \aftergroup\@subjafterfalse \or \aftergroup\let\aftergroup\subject@format\aftergroup\underline \or \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedright \or \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedleft \or \aftergroup\let\aftergroup\raggedsubject\aftergroup\centering \fi \else \aftergroup\FamilyKeyStateUnknownValue \fi \endgroup \ifx\FamilyKeyState\FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{subject}{\if@subj titled\else untitled\fi}% \KOMA@kav@xadd{% \KOMAClassFileName }{subject}{\if@subjafter after\else before\fi opening}% \ifx\subject@format\underline \KOMA@kav@add{% \KOMAClassFileName }{subject}{underlined}% \fi \ifx\raggedsubject\raggedright \KOMA@kav@add{% \KOMAClassFileName }{subject}{left}% \else \ifx\raggedsubject\raggedleft \KOMA@kav@add{% \KOMAClassFileName }{subject}{right}% \else \ifx\raggedsubject\centering \KOMA@kav@add{% \KOMAClassFileName }{subject}{centered}% \fi \fi \fi \fi } \KOMA@kav@add{% \KOMAClassFileName }{subject}{untitled}% \KOMA@kav@add{% \KOMAClassFileName }{subject}{beforeopening}% \KOMA@ifkey{enlargefirstpage}{@enlargefp} \KOMA@ifkey{firstfoot}{@firstfoot}\@firstfoottrue \newcommand*{\@pageat}{4} \KOMA@key{pagenumber}{% \begingroup \KOMA@set@ncmdkey{pagenumber}{@tempa}{% {no}{-1},{off}{-1},{false}{-1},% {topleft}{0},{headleft}{0},% {topmiddle}{1},{topcenter}{1},{topcentered}{1},% {headmiddle}{1},{headcenter}{1},{headcentered}{1},% {topright}{2},{headright}{2},% {botleft}{3},{footleft}{3},% {botmiddle}{4},{botcenter}{4},{botcentered}{4},% {footmiddle}{4},{footcenter}{4},{footcentered}{4},% {botright}{5},{footright}{5},% {top}{10},{head}{10},{bot}{11},{foot}{11},% {left}{20},{middle}{21},{center}{21},{centered}{21},{right}{22}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \aftergroup\FamilyKeyStateProcessed \ifnum\@tempa<10 \edef\@tempa{\endgroup\edef\noexpand\@pageat{\@tempa}}% \else \ifnum\@tempa<20 \@tempcnta\@pageat\relax \ifnum\@tempcnta>2 \advance\@tempcnta by -3 \fi \ifnum\@tempa=11 \advance\@tempcnta by 3 \fi \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% \else \ifnum\@pageat>2 \edef\@pageat{3}% \else \edef\@pageat{0}% \fi \@tempcnta\@tempa \advance\@tempcnta by -20 \advance\@tempcnta by\@pageat \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% \fi \fi \else \def\@tempa{\endgroup\FamilyKeyStateUnknownValue}% \fi \@tempa \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{pagenumber}{% \ifcase \@pageat topleft% \or topmiddle% \or topright% \or botleft% \or botmiddle% \or botright% \else false% \fi }% } \KOMA@kav@add{% \KOMAClassFileName }{pagenumber}{botmiddle} \newif\if@scrsymbols \KOMA@key{symbolicnames}[true]{% \KOMA@set@ifkey{symbolicnames}{@scrsymbols}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \def\scr@symbols@font{marvosym}% \else \KOMA@set@ncmdkey{symbolicnames}{reserved@a}{% {marvosym}{0},% {fontawesome}{1},{awesome}{1},% }{#1}% \ifx \FamilyKeyState\FamilyKeyStateProcessed \@scrsymbolstrue \ifcase \number\reserved@a \def\scr@symbols@font{marvosym}% \else \def\scr@symbols@font{fontawesome}% \fi \fi \fi \ifx \FamilyKeyState\FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{symbolicnames}{#1}% \if@scrsymbols \Ifstr{\scr@symbols@font}{marvosym}{% \def\scr@symbol@phone{\Telefon}% \def\scr@symbol@fax{\FAX}% \def\scr@symbol@email{\Email}% \def\scr@symbol@mobilephone{\Mobilefone}% \def\scr@symbol@www{\@empty}% }{% \def\scr@symbol@phone{\faPhone}% \def\scr@symbol@fax{\faFax}% \def\scr@symbol@email{\faEnvelopeO}% \def\scr@symbol@mobilephone{\faMobilePhone}% \def\scr@symbol@www{\faGlobe}% }% \if@atdocument \begingroup \@tempswafalse \expandafter\ifdefined\scr@symbol@phone\else\@tempswatrue\fi \expandafter\ifdefined\scr@symbol@fax\else\@tempswatrue\fi \expandafter\ifdefined\scr@symbol@email\else\@tempswatrue\fi \expandafter\ifdefined\scr@symbol@mobilephone\else\@tempswatrue\fi \expandafter\ifdefined\scr@symbol@www\else\@tempswatrue\fi \if@tempswa \aftergroup\@scrsymbolsfalse \ClassWarning{\KOMAClassName}{% Option `symbolicnames=#1' ignorred.\MessageBreak You've tried to set option `symbolicnames'\MessageBreak after \string\begin{document}, but without\MessageBreak loading package `\scr@symbols@font' before.\MessageBreak You should either switch on option\MessageBreak `symbolicnames' before \string\begin{document}\MessageBreak or load package `\scr@letter@symbols@font' in the document\MessageBreak preamble to avoid this warning% }% \fi \endgroup \else \ifx\@fileswith@pti@ns\@badrequireerror \Ifstr{\@currext}{\@clsextension}{% \expandafter\AtEndOfClass }{% \Ifstr{\@currext}{\@pkgextension}{% \expandafter\AtEndOfPackage }{% \expandafter\AtBeginDocument }% }% \else \expandafter\@firstofone \fi {\RequirePackage{\scr@symbols@font}}% \fi \fi \fi } \KOMA@kav@add{% \KOMAClassFileName }{symbolicnames}{false}% \newcommand*{\scr@symbols@font}{} \newcommand*{\scr@symbol@phone}{\undefined} \newcommand*{\scr@symbol@fax}{\undefined} \newcommand*{\scr@symbol@email}{\undefined} \newcommand*{\scr@symbol@mobilephone}{\undefined} \newcommand*{\scr@symbol@www}{\undefined} %%% From File: $Id: scrkernel-addressfiles.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) %%% From File: $Id: scrkernel-miscellaneous.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: execoption) \KOMAExecuteOptions{% parskip=false,% } \KOMAProcessOptions\relax %%% From File: $Id: scrkernel-compatibility.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \AtBeginDocument{% \begingroup \def\reserved@a#1/#2/#3 #4\@nil{\@tempcnta=#1\relax\@tempcntb=#2\relax}% \expandafter\reserved@a\KOMAScriptVersion\@nil \edef\reserved@a{\the\numexpr\@tempcnta+2\relax/% \ifnum\@tempcntb<10 0\fi\the\@tempcntb/01}% \expandafter\IfLTXAtLeastTF\expandafter{\reserved@a}{% \ClassWarningNoLine{\KOMAClassName}{% Your are using a KOMA-Script version, that has not\MessageBreak been tested with your more than one year newer\MessageBreak LaTeX release `\fmtversion'.\MessageBreak Because of the high speed of LaTeX kernel development,\MessageBreak this could result in a lot of issues.\MessageBreak Please have a look at\MessageBreak and if this\MessageBreak shows a newer KOMA-Script version than\MessageBreak `\KOMAScriptVersion', we suggest to do\MessageBreak an update of KOMA-Script or maybe even the whole\MessageBreak TeX distribution% }% }{% \edef\reserved@a{\the\numexpr\@tempcnta-4\relax/% \ifnum\@tempcntb<10 0\fi\the\@tempcntb/01}% \expandafter\IfLTXAtLeastTF\expandafter{\reserved@a}{}{% \ClassWarningNoLine{\KOMAClassName}{% You are using a KOMA-Script version, that has not been\MessageBreak tested with your more than four years older LaTeX\MessageBreak release `\fmtversion'.\MessageBreak Because of the high speed of LaTeX kernel development,\MessageBreak KOMA-Script releases cannot be tested with all past\MessageBreak LaTeX releases.\MessageBreak \ifnum\scr@compatibility<\scr@v@last So even if you are using option `version' implicitly\MessageBreak or explicitly, this \else So this \fi could result in a lot of issues.\MessageBreak We recommend, to update the whole TeX distribution.\MessageBreak If this could not be done, we suggest to use at\MessageBreak least an older KOMA-Script release, e.g., from\MessageBreak % }% }% }% \endgroup } \expandafter\ifnum \@nameuse{scr@v@2.95}>\scr@compatibility\relax \newcommand*{\@setif}[2][]{% \begingroup \edef\@tempa{#1}\ifx\@tempa\@empty \def\@tempa{\KOMA@set@ifkey{#2}{@#2}}% \else \def\@tempa{\KOMA@set@ifkey{#2}{#1}}% \fi \expandafter\endgroup\@tempa }% \fi %%% From File: $Id: scrkernel-fonts.dtx 4034 2023-04-20 08:03:46Z kohm $ %%% (run: body) \newcommand*\scr@setlength[4]{% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{#1}{#2 \@plus#3 \@minus#4}% \else \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi \setlength{#1}{\p@ \@plus\p@ \@minus\p@}% \else \setlength{#1}{\p@ \@plus\p@ \@minus#4}% \fi \else \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi \setlength{#1}{\p@ \@plus#3 \@minus\p@}% \else \setlength{#1}{\p@ \@plus#3 \@minus#4}% \fi \fi \else \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi \setlength{#1}{#2 \@plus\p@ \@minus\p@}% \else \setlength{#1}{#2 \@plus\p@ \@minus#4}% \fi \else \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi \setlength{#1}{#2 \@plus#3 \@minus\p@}% \else \setlength{#1}{#2 \@plus#3 \@minus#4}% \fi \fi \fi \fi } \providecommand*{\simple@changefontsizes}[2][1.2\@tempdima]{% \KOMA@kav@removekey{% \KOMAClassFileName }{fontsize}% \@defaultunits\@tempdima#2pt\relax\@nnil \setlength{\@tempdimc}{\@tempdima}% \addtolength{\@tempdimc}{-10\p@}% \edef\@ptsize{\strip@pt\@tempdimc}% \@defaultunits\@tempdimb#1pt\relax\@nnil \setlength{\@tempdimc}{\dimexpr (100\@tempdimb / \@tempdima * \p@)}% \edef\@tempb{\the\@tempdimc}% \setlength{\@tempdimc}{\@tempdima}% \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}% \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\abovedisplayskip}{% \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% \setlength{\belowdisplayshortskip}{% .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \else \scr@setlength{\abovedisplayskip}% {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% \scr@setlength{\belowdisplayshortskip}% {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\normalsize {\the\@tempdima}{\the\@tempdimb}% \abovedisplayskip \the\abovedisplayskip \abovedisplayshortskip \the\abovedisplayshortskip \belowdisplayskip \the\belowdisplayskip \belowdisplayshortskip \the\belowdisplayshortskip \let\noexpand\@listi\noexpand\@listI }% \let\normalsize\@undefined \expandafter\DeclareRobustCommand\expandafter\normalsize\expandafter{\reserved@a}% \setlength{\@tempdima}{0.9125\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\abovedisplayskip}{% \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% \setlength{\belowdisplayshortskip}{% .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \else \scr@setlength{\abovedisplayskip}% {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% \scr@setlength{\belowdisplayshortskip}% {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\small {\the\@tempdima}{\the\@tempdimb}% \abovedisplayskip \the\abovedisplayskip \abovedisplayshortskip \the\abovedisplayshortskip \belowdisplayskip \the\belowdisplayskip \belowdisplayshortskip \the\belowdisplayshortskip \let\noexpand\@listi\noexpand\@listi@small }% \let\small\@undefined \expandafter\DeclareRobustCommand\expandafter\small\expandafter{\reserved@a}% \setlength{\@tempdima}{.83334\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\abovedisplayskip}{% \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% \setlength{\belowdisplayshortskip}{% .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \else \scr@setlength{\abovedisplayskip}% {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% \scr@setlength{\belowdisplayshortskip}% {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\footnotesize {\the\@tempdima}{\the\@tempdimb}% \abovedisplayskip \the\abovedisplayskip \abovedisplayshortskip \the\abovedisplayshortskip \belowdisplayskip \the\belowdisplayskip \belowdisplayshortskip \the\belowdisplayshortskip \let\noexpand\@listi\noexpand\@listi@footnotesize }% \let\footnotesize\@undefined \expandafter\DeclareRobustCommand\expandafter\footnotesize\expandafter{\reserved@a}% \setlength{\@tempdima}{.66667\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\scriptsize {\the\@tempdima}{\the\@tempdimb}% }% \let\scriptsize\@undefined \expandafter\DeclareRobustCommand\expandafter\scriptsize\expandafter{\reserved@a}% \setlength{\@tempdima}{.5\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\tiny {\the\@tempdima}{\the\@tempdimb}% }% \let\tiny\@undefined \expandafter\DeclareRobustCommand\expandafter\tiny\expandafter{\reserved@a}% \setlength{\@tempdima}{1.2\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\large {\the\@tempdima}{\the\@tempdimb}% }% \let\large\@undefined \expandafter\DeclareRobustCommand\expandafter\large\expandafter{\reserved@a}% \setlength{\@tempdima}{1.44\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\Large {\the\@tempdima}{\the\@tempdimb}% }% \let\Large\@undefined \expandafter\DeclareRobustCommand\expandafter\Large\expandafter{\reserved@a}% \setlength{\@tempdima}{1.728\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\LARGE {\the\@tempdima}{\the\@tempdimb}% }% \let\LARGE\@undefined \expandafter\DeclareRobustCommand\expandafter\LARGE\expandafter{\reserved@a}% \setlength{\@tempdima}{2.074\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\huge {\the\@tempdima}{\the\@tempdimb}% }% \let\huge\@undefined \expandafter\DeclareRobustCommand\expandafter\huge\expandafter{\reserved@a}% \setlength{\@tempdima}{2.488\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\Huge {\the\@tempdima}{\the\@tempdimb}% }% \let\Huge\@undefined \expandafter\DeclareRobustCommand\expandafter\Huge\expandafter{\reserved@a}% \normalsize \expandafter\ifnum\scr@v@is@ge{3.17} \@nameuse{par@updaterelative}% \fi \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\footnotesep}{.7\@tempdimc}% \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus .6\@tempdimc}% \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus .3333\@tempdimc}% \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus .3333\@tempdimc}% \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus .3333\@tempdimc}% \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus .3333\@tempdimc}% \setlength{\dbltextfloatsep}{\textfloatsep}% \setlength{\@fptop}{0\p@ \@plus 1fil}% \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% \setlength{\@fpbot}{\@fptop}% \setlength{\@dblfptop}{0\p@ \@plus 1fil}% \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% \setlength{\@dblfpbot}{\@fptop}% \fi \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus .5\@tempdimc}% \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% \else \setlength{\@tempdimb}{\f@baselineskip}% \scr@setlength{\parsep}% {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% \scr@setlength{\topsep}% {.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listi\endcsname \endgroup \edef\@listi{\leftmargin\leftmargini \topsep \the\topsep \parsep \the\parsep \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% \let\@listI\@listi \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus .41667\@tempdimc}% \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% \else \scr@setlength{\parsep}% {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% \scr@setlength{\topsep}% {.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listi\endcsname \endgroup \edef\@listi@small{\leftmargin\leftmargini \topsep \the\topsep \parsep \the\parsep \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus .16667\@tempdimc}% \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% \else \scr@setlength{\parsep}% {.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}% \scr@setlength{\topsep}% {.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}% \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listi\endcsname \endgroup \edef\@listi@footnotesize{\leftmargin\leftmargini \topsep \the\topsep \parsep \the\parsep \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% \else \scr@setlength{\parsep}% {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% \scr@setlength{\topsep}% {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listii\endcsname \endgroup \edef\@listii{\leftmargin\leftmarginii \labelwidth=\dimexpr \leftmargin-\labelsep \topsep \the\topsep \parsep \the\parsep \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% \else \scr@setlength{\topsep}% {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% \fi \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listiii\endcsname \endgroup \edef\@listiii{\leftmargin\leftmarginiii \labelwidth=\dimexpr \leftmargin-\labelsep \topsep \the\topsep \parsep \z@ \partopsep \the\partopsep \itemsep \topsep \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listiv\endcsname \endgroup \edef\@listiv{\leftmargin\leftmarginiv \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listv\endcsname \endgroup \edef\@listv{\leftmargin\leftmarginv \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listvi\endcsname \endgroup \edef\@listvi{\leftmargin\leftmarginvi \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@listi \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\@tempdimb}{\@tempb\@tempdima}% \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% \setlength\dblfloatsep\intextsep \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% \else \setlength{\@tempdimb}{\f@baselineskip}% \setlength{\footnotesep}{.555\@tempdimb}% \scr@setlength{\skip\footins}% {.75\@tempdimb}{.3333\@tempdimb}{.1667\@tempdimb}% \scr@setlength{\floatsep}% {\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% \scr@setlength{\textfloatsep}% {1.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% \setlength{\intextsep}{\floatsep}% \setlength{\dblfloatsep}{\floatsep}% \setlength{\dbltextfloatsep}{\textfloatsep}% \setlength{\@fptop}{\z@ \@plus 1fil}% \setlength{\@fpsep}{.6667\@tempdimb \@plus 2fil}% \setlength{\@fpbot}{\@fptop}% \setlength{\@dblfptop}{\@fptop}% \setlength{\@dblfpsep}{\@fpsep}% \setlength{\@dblfpbot}{\@fptop}% \scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}% \fi } \scr@ifundefinedorrelax{changefontsizes}{% \let\changefontsizes\simple@changefontsizes }{% \ClassWarning{\KOMAClassName}{% \string\changefontsizes\space already defined.\MessageBreak I hope, the definition is compatible,\MessageBreak because I do not change it% }% } \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil \edef\@tempa{\@ptsize}% \setlength{\@tempdimb}{\@tempdima}% \edef\@tempb{\strip@pt\@tempdimb}% \addtolength{\@tempdimb}{-10\p@}% \edef\@ptsize{\strip@pt\@tempdimb}% \InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% \ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% \KOMA@kav@removekey{\KOMAClassFileName}{fontsize}% \KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempa}% }{% \InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% \ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempb pt.clo' used instead of\MessageBreak file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% \KOMA@kav@removekey{\KOMAClassFileName}{fontsize}% \KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempb pt}% }{% \InputIfFileExists{size\@tempb.clo}{% \ClassInfo{\KOMAClassName}{% File `size\@tempb.clo' used to setup font sizes}% \KOMA@kav@removekey{\KOMAClassFileName}{fontsize}% \KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempb}% }{% \edef\@tempa{% \noexpand\changefontsizes{\@tempa}% \noexpand\KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempa}% }\@tempa }% }% } \newcommand*{\scr@DeclareOldFontCommand}[3]{% \ifnum\scr@defineobsoletefonts<\z@\else \ifnum\scr@defineobsoletefonts>\tw@ \DeclareOldFontCommand{#1}{#2}{#3}% \else \AtBeginDocument{% \ifdefined#1\else \DeclareOldFontCommand{#1}{% \scr@ErrorWarningInfo{#1}{#2}#2% }{% \scr@ErrorWarningInfo{#1}{#3}#3% }% \fi }% \fi \fi } \DeclareRobustCommand*{\scr@ErrorWarningInfo}[2]{% \ifnum \scr@defineobsoletefonts=\z@ \ClassError{\KOMAClassName}{undefined old font command `\string#1'}{% You should note that since 1994 LaTeX2e provides a new font selection scheme\MessageBreak called NFSS2 with several new, combinable font commands. KOMA-Script\MessageBreak classes had defined the old font commands like `\string#1' only for compatibility\MessageBreak with old LaTeX 2.09 document styles of Script 2.0. Nevertheless, these\MessageBreak commands are deprecated and undocumented at least since 2003. Since 2013\MessageBreak KOMA-Script classes warned about soon removement of these deprecated commands.\MessageBreak Now, after two decades of LaTeX2e and NFSS2, these commands will not work any\MessageBreak more. If loading a package results in this error message, you should contact\MessageBreak the author of that package and ask him to replace the deprecated font command\MessageBreak `\string#1', e.g., by `\detokenize{#2}`. Otherwise you should reconfigure\MessageBreak or replace the package. If you have used the old font command `\string#1' yourself,\MessageBreak you should replace it, e.g., by `\detokenize{#2}'.\MessageBreak To make it work for now, you can use the already also deprecated class option\MessageBreak `enabledeprecatedfontcommands'.% }% \else \ifcase \scr@defineobsoletefonts \or \expandafter\ClassWarning \or \expandafter\ClassInfo \else \expandafter\@gobbletwo \fi {\KOMAClassName}{deprecated old font command `\string#1' used.\MessageBreak You should note, that since 1994 LaTeX2e provides a\MessageBreak new font selection scheme called NFSS2 with several\MessageBreak new, combinable font commands. New KOMA-Script classes\MessageBreak defined the old font commands like `\string#1' only for\MessageBreak compatibility with LaTeX 2.09 document styles of\MessageBreak Script 2.0. These commands are deprecated and\MessageBreak undocumented at least since 2003. Since 2013,\MessageBreak KOMA-Script classes warned about soon removement of\MessageBreak these deprecated commands. Now, after two decades of\MessageBreak LaTeX2e, NFSS2, and KOMA-Script these commands will\MessageBreak not work any longer. If loading a package results in\MessageBreak this message you should contact the author of that\MessageBreak package and ask him to replace the depracted font\MessageBreak command `\string#1', e.g., by `\detokenize{#2}'.\MessageBreak Otherwise you should reconfigure or replace the\MessageBreak package. If you have used the old font command\MessageBreak `\string #1' yourself you should replace it, e.g., by\MessageBreak `\detokenize{#2}'% }% \fi } \scr@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \scr@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \scr@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \scr@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \scr@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \scr@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \scr@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \scr@DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% \@nomath\sfb} \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} %%% From File: $Id: scrkernel-miscellaneous.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \setlength{\skip\@mpfootins}{\skip\footins} \setlength\fboxsep{3\p@} \setlength\fboxrule{.4\p@} \newcommand*{\new@tpo@label}{\@newl@bel{tpo}} \AtBeginDocument{% \if@filesw \immediate\write\@auxout{% \string\providecommand*\string\new@tpo@label[2]{}% }% \fi } \newcommand*{\scr@tpo}{0} \newcommand*{\is@thispageodd}[1][\is@thispageodd@setlabel]{% \@bsphack \begingroup \@tempcnta=\scr@tpo \advance\@tempcnta by\@ne \xdef\scr@tpo{\the\@tempcnta}% \expandafter\ifx\csname tpo@\scr@tpo\endcsname\relax \protect\G@refundefinedtrue \ClassWarning{\KOMAClassName}{% odd/even page label number \scr@tpo\space undefined}% \edef\@tempa{\the\value{page}}% \else \edef\@tempa{\csname tpo@\scr@tpo\endcsname}% \fi \ifodd\number\@tempa \aftergroup\thispagewasoddtrue \else \aftergroup\thispagewasoddfalse \fi \endgroup \edef\is@thispageodd@setlabel{% \if@filesw \unexpanded{\protected@write\@auxout{\let\arabic\relax}}{% \noexpand\string \noexpand\new@tpo@label{\scr@tpo}{\noexpand\arabic{page}}}% \fi \noexpand\def\noexpand\is@thispageodd@setlabel {\unexpanded\expandafter{\is@thispageodd@setlabel}}% }% #1% \@esphack } \newcommand*{\is@thispageodd@setlabel}{} \newif\ifthispagewasodd \providecommand*{\ifthispageodd}{% \ClassWarning{\KOMAClassName}{% Usage of deprecated command `\string\ifthispageodd'.\MessageBreak The command has been renamed because of a\MessageBreak recommendation of The LaTeX Project Team.\MessageBreak Please replace `\string\ifthispageodd' by `\string\Ifthispageodd'% }% \Ifthispageodd } \newcommand{\Ifthispageodd}{% \is@thispageodd \ifthispagewasodd \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi } \newcommand\marginline[1]{% \marginpar[{\raggedleft #1}]{\raggedright #1}% } \scr@ifundefinedorrelax{textsubscript}{% \DeclareRobustCommand*\textsubscript[1]{% \@textsubscript{\selectfont#1}% }% }{% \scr@ifundefinedorrelax{textsubscript }{% \DeclareRobustCommand*\textsubscript[1]{% \@textsubscript{\selectfont#1}% }% }{}% } \providecommand*{\@textsubscript}[1]{% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% } \providecommand*{\scr@endstrut}{\unskip\ifhmode\nobreak\strut\fi} \newcommand*{\scr@package@not@recommended}[2]{% \scr@ifundefinedorrelax{class@shoulddisablepackagewarning@list}{% \@firstofone }{% \edef\reserved@a{% \noexpand\in@{#1}{\class@shoulddisablepackagewarning@list}}% \reserved@a \ifin@\expandafter\@gobble\else\expandafter\@firstofone\fi }{% \BeforePackage{#1}{% \ClassWarning{\KOMAClassName}{% Usage of package `#1' together\MessageBreak with a KOMA-Script class is not recommended.\MessageBreak \if\relax\detokenize{#2}\relax\else I'd suggest to use #2.\MessageBreak \fi Nevertheless, using requested\MessageBreak package `#1'% }% }% }% }% \scr@package@not@recommended{emptypage}{% option\MessageBreak `cleardoublepage' with one of it's\MessageBreak several values} \scr@package@not@recommended{fancyhdr}{% \MessageBreak package `scrlayer' or `scrlayer-scrpage', because\MessageBreak they support KOMA-Script classes.\MessageBreak With `fancyhdr' several features of class `\KOMAClassName'\MessageBreak like options `headsepline', `footsepline' or command\MessageBreak `\string\MakeMarkcase' and the commands `\string\setkomafont' and\MessageBreak `\string\addtokomafont' for the page style elements need\MessageBreak explicite user intervention to work} \scr@package@not@recommended{parskip}{% option\MessageBreak `parskip' with one of it's several values} \scr@package@not@recommended{titleps}{% package `scrlayer-scrpage'} %%% From File: $Id: scrkernel-letterclassoptions.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newcommand*{\LoadLetterOption}[1]{% \@ifundefined{@restore@catcode@level}% {\let\@restore@catcode@level=\z@}{}% \ifnum\@restore@catcode@level =\z@ \ifnum\catcode`\@=11 \let\@restore@catcode\relax \else \@tempcnta=\catcode`\@ \edef\@restore@catcode{% \noexpand\catcode`\noexpand\@=\the\@tempcnta}% \makeatletter \fi \fi \@tempcnta=\@restore@catcode@level\relax \advance\@tempcnta by \@ne\relax \edef\@restore@catcode@level{\the\@tempcnta}% \scr@sp@def\reserved@a{#1}% \edef\reserved@a{% \noexpand\edef\noexpand\scr@currentlco{\reserved@a}% \noexpand\InputIfFileExists{\reserved@a.lco}{% \noexpand\ClassInfo{scrlttr2}% {Letter-Class-Option `#1' loaded}% }{% \noexpand\ClassError{scrlttr2}% {% Letter-Class-Option file `#1.lco' not found% }{% You've told me to load the Letter-Class-Option `#1'. So I have to load\noexpand\MessageBreak the file `#1.lco'. But the file isn't available.}% }% \scr@ifundefinedorrelax{scr@currentlco}{% \unexpanded{\let\scr@currentlco\relax}% }{% \noexpand\def\noexpand\scr@currentlco{\scr@currentlco}% }% }% \if@atdocument \edef\reserved@a{% \unexpanded\expandafter{\reserved@a}% \ifx\RequirePackage\@notprerr \unexpanded{\let\RequirePackage\@notprerr}% \else \noexpand\def\noexpand\RequirePackage{% \unexpanded\expandafter{\RequirePackage}% }% \fi \ifx\usepackage\@notprerr \unexpanded{\let\usepackage\@notprerr}% \else \noexpand\def\noexpand\usepackage{% \unexpanded\expandafter{\usepackage}% }% \fi }% \let\RequirePackage\lco@RequirePackage \let\usepackage\lco@RequirePackage \expandafter\reserved@a \else \expandafter\reserved@a \fi \@tempcnta=\@restore@catcode@level\relax \advance\@tempcnta by \m@ne\relax \edef\@restore@catcode@level{\the\@tempcnta}% \ifnum\@tempcnta =\z@ \@restore@catcode \fi } \newcommand*{\lco@RequirePackage}[2][]{% \begingroup \@for\reserved@a:=#2\do{% \scr@trim@spaces\reserved@a \scr@ifundefinedorrelax{ver@\reserved@a.\scr@pkgextension}{% \ClassError{\KOMAClassName}{% lco-file `\scr@currentlco' can be used only in preamble% }{% The lco-file `\scr@currentlco' uses \string\RequirePackage\space or \string\usepackage\space to load\MessageBreak package `\reserved@a'. This means you have to either load `\reserved@a'\MessageBreak or lco-file `\scr@currentlco' in the document preamble. }% }{}% }% \endgroup \scr@gobbleopt } \newcommand*{\LoadLetterOptions}[1]{% \begingroup \def\reserved@a{\endgroup}% \@for\reserved@b:=#1\do{% \scr@trim@spaces\reserved@b \ifx\reserved@b\@empty\else \edef\reserved@a{\expandafter\unexpanded\expandafter{\reserved@a \LoadLetterOption}{\reserved@b}\relax}% \fi }% \reserved@a } \newcommand*{\LOPNP@option}{} \newcommand*{\LOPNP@size}{} \newcommand*{\@PapersizeWarning}{% \begingroup% \edef\@tempc{\noexpand\@tempswafalse \noexpand\ifdim\paperwidth<\the\dimexpr\paperwidth-.1mm\relax \relax \noexpand\else \noexpand\ifdim\paperwidth>\the\dimexpr\paperwidth+.1mm\relax \relax \noexpand\else \noexpand\ifdim\paperheight<\the\dimexpr\paperheight-.1mm\relax \relax \noexpand\else \noexpand\ifdim\paperheight>\the\dimexpr\paperheight+.1mm\relax \relax \noexpand\else \noexpand\@tempswatrue \noexpand\fi \noexpand\fi \noexpand\fi \noexpand\fi \noexpand\@@PapersizeWarning }% \def\@tempb{letter}\ifx\LOPNP@size\@tempb% \setlength{\paperheight}{11in}\setlength{\paperwidth}{8.5in}% \else\def\@tempb{legal}\ifx\LOPNP@size\@tempb% \setlength{\paperheight}{14in}\setlength{\paperwidth}{8.5in}% \else\def\@tempb{executive}\ifx\LOPNP@size\@tempb% \setlength{\paperheight}{10.5in}\setlength{\paperwidth}{7.25in}% \else% \PaperNameToSize[letter]{\LOPNP@size}% \fi \fi \fi \@tempc \endgroup% } \AfterPackage*{typearea}{% \ProvideUnknownPaperSizeError{letter}{% \ClassError{scrlttr2}{% papersize `\LOPNP@size' undefined}{% You've told me to check for paper size `\LOPNP@size'\MessageBreak at letter option file `\LOPNP@option.lco',\MessageBreak but this paper size is not supported.\MessageBreak See the KOMA-Script manual for informations about known paper sizes.}% } } \newcommand*{\@@PapersizeWarning}{% \if@tempswa\else% \ClassWarningNoLine{scrlttr2}% {% Letter option file `\LOPNP@option.lco'\MessageBreak needs paper size `\LOPNP@size'.\MessageBreak Current paper size is not `\LOPNP@size'!\MessageBreak \scr@ifundefinedorrelax{KOMAClassName}{% You should load package `typearea' either\MessageBreak with option `paper=\LOPNP@size,paper=portrait' or additionally\MessageBreak }{% You should add `paper=\LOPNP@size,paper=portrait' at the\MessageBreak option list of `\string\documentclass' or\MessageBreak }% add `\string\KOMAoptions{paper=\LOPNP@size,paper=portrait}'\MessageBreak before starting this letter!\MessageBreak Maybe you know what you are doing,\MessageBreak so I do not change this myself% }% \fi } \newcommand*{\LetterOptionNeedsPapersize}[2]{% \edef\LOPNP@size{#2}\edef\LOPNP@option{#1}% } %%% From File: $Id: scrkernel-language.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newcommand*{\g@addnumerical@date}[2]{% \@ifundefined{date#1}{% \ClassInfo{scrlttr2} {% no date found for language `#1'\MessageBreak --> skipped% }% }{% \expandafter\g@addto@macro\csname date#1\endcsname{% \let\sym@date=\today% \def\num@date{#2}% \def\today{\if@orgdate\sym@date\else\num@date\fi}% }% }% } \AtBeginDocument{% \@ifundefined{captionsenglish}{\let\captionsenglish\@empty}{}% \@ifundefined{dateenglish}{\def\dateenglish{% \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year}% }% }{}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\yourrefname{Your ref.}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\yourmailname{Your letter of}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\myrefname{Our ref.}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\customername{Customer no.}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\invoicename{Invoice no.}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\subjectname{Subject}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\ccname{cc}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\enclname{encl}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\headtoname{To}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\headfromname{From}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\datename{Date}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\pagename{Page}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\phonename{Phone}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\mobilephonename{Mobile phone}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\faxname{Fax}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\emailname{Email}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\wwwname{Url}% \providecaptionname{american,australian,british,canadian,% english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\bankname{Bank account}% \g@addnumerical@date{american}{\number\month/\number\day/\number\year}% \g@addnumerical@date{australian}{\number\day/\number\month/\number\year}% \g@addnumerical@date{british}{\number\day/\number\month/\number\year}% \g@addnumerical@date{canadian}{\number\year/\number\month/\number\day}% \g@addnumerical@date{english}{\number\day/\number\month/\number\year}% \g@addnumerical@date{newzealand}{\number\day/\number\month/\number\year}% \g@addnumerical@date{UKenglish}{\number\day/\number\month/\number\year}% \g@addnumerical@date{ukenglish}{\number\day/\number\month/\number\year}% \g@addnumerical@date{USenglish}{\number\month/\number\day/\number\year}% \g@addnumerical@date{usenglish}{\number\month/\number\day/\number\year}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\yourrefname{Ihr Zeichen}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\yourmailname{Ihr Schreiben vom}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\myrefname{Unser Zeichen}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\customername{Kundennummer}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\invoicename{Rechnungsnummer}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\subjectname{Betrifft}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\ccname{Kopien an}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\enclname{Anlage}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\headtoname{An}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\headfromname{Von}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\datename{Datum}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\pagename{Seite}% \providecaptionname{german}\phonename{Telephon}% \providecaptionname{ngerman,austrian,naustrian,% swissgerman,nswissgerman}\phonename{Telefon}% \providecaptionname{german}\mobilephonename{Mobiltelephon}% \providecaptionname{ngerman,austrian,naustrian,% swissgerman,nswissgerman}\mobilephonename{Mobiltelefon}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\faxname{Fax}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\emailname{E-Mail}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\wwwname{URL}% \providecaptionname{german,ngerman,austrian,naustrian,% swissgerman,nswissgerman}\bankname{Bankverbindung}% \g@addnumerical@date{german}{\number\day.\,\number\month.\,\number\year}% \g@addnumerical@date{ngerman}{\number\day.\,\number\month.\,\number\year}% \g@addnumerical@date{austrian}{\number\day.\,\number\month.\,\number\year}% \g@addnumerical@date{naustrian}{\number\day.\,\number\month.\,\number\year}% \g@addnumerical@date{swissgerman}{\number\day.\,\number\month.\,\number\year}% \g@addnumerical@date{nswissgerman}{% \number\day.\,\number\month.\,\number\year}% \providecaptionname{% acadian,canadien,francais,french}\yourrefname{Vos r\'ef\'erences}% \providecaptionname{% acadian,canadien,francais,french}\yourmailname{Votre lettre du}% \providecaptionname{% acadian,canadien,francais,french}\myrefname{Nos r\'ef\'erences}% \providecaptionname{% acadian,canadien,francais,french}\customername{Num\'ero de client}% \providecaptionname{% acadian,canadien,francais,french}\invoicename{Num\'ero de facture}% \providecaptionname{% acadian,canadien,francais,french}\subjectname{Concernant}% \providecaptionname{% acadian,canadien,francais,french}\ccname{Copie \`a}% \providecaptionname{% acadian,canadien,francais,french}\enclname{Annexes}% \providecaptionname{% acadian,canadien,francais,french}\headtoname{A}% \providecaptionname{% acadian,canadien,francais,french}\headfromname{De}% \providecaptionname{% acadian,canadien,francais,french}\datename{Date}% \providecaptionname{% acadian,canadien,francais,french}\pagename{Page}% \providecaptionname{% acadian,canadien,francais,french}\phonename{T\'el\'ephone}% \providecaptionname{% acadian,canadien,francais,french}\mobilephonename{Portable}% \providecaptionname{% acadian,canadien,francais,french}\faxname{T\'el\'efax}% \providecaptionname{% acadian,canadien,francais,french}\emailname{E-mail}% \providecaptionname{% acadian,canadien,francais,french}\wwwname{URL}% \providecaptionname{% acadian,canadien,francais,french}\bankname{Compte en banque}% \g@addnumerical@date{acadian}{\number\day.\,\number\month.\,\number\year}% \g@addnumerical@date{canadien}{\number\year/\number\month/\number\day}% \g@addnumerical@date{francais}{\number\day.\,\number\month.\,\number\year}% \g@addnumerical@date{french}{\number\day.\,\number\month.\,\number\year}% \providecaptionname{italian}\yourrefname{Vs./Rif.}% or Vostro Riferimento \providecaptionname{italian}\yourmailname{Vs.~lettera del}% or Vostra % lettera del \providecaptionname{italian}\myrefname{Ns./Rif.}% or Nostro Riferimento \providecaptionname{italian}\customername{Nr.~cliente}% or Cliente num. \providecaptionname{italian}\invoicename{Nr.~fattura}% or Fattura num. \providecaptionname{italian}\subjectname{Oggetto}% \providecaptionname{italian}\ccname{Per conoscenza}% or Copia a \providecaptionname{italian}\enclname{Allegato}% or (plural) Allegati \providecaptionname{italian}\headtoname{A}% \providecaptionname{italian}\headfromname{Da}% \providecaptionname{italian}\datename{Data}% \providecaptionname{italian}\pagename{Pagina}% \providecaptionname{italian}\phonename{Telefono}% \providecaptionname{italian}\mobilephonename{Telefonino}% \providecaptionname{italian}\faxname{Fax}% \providecaptionname{italian}\emailname{Email}% \providecaptionname{italian}\wwwname{Sito Web}% \providecaptionname{italian}\bankname{Conto bancario}% \g@addnumerical@date{italian}{\number\day.\,\number\month.\,\number\year}% \providecaptionname{spanish}\yourrefname{Su ref.}% \providecaptionname{spanish}\yourmailname{Su carta de}% \providecaptionname{spanish}\myrefname{Nuestra ref.}% \providecaptionname{spanish}\customername{No. de cliente}% \providecaptionname{spanish}\invoicename{No. de factura}% \providecaptionname{spanish}\subjectname{Asunto}% \providecaptionname{spanish}\ccname{Copias}% \providecaptionname{spanish}\enclname{Adjunto}% \providecaptionname{spanish}\headtoname{A}% \providecaptionname{spanish}\headfromname{De}% \providecaptionname{spanish}\datename{Fecha}% \providecaptionname{spanish}\pagename{P\'agina}% \providecaptionname{spanish}\phonename{Tel\'efono}% \providecaptionname{spanish}\mobilephonename{M\'ovil}% \providecaptionname{spanish}\faxname{Fax}% \providecaptionname{spanish}\emailname{Email}% or Correo electr\'onico \providecaptionname{spanish}\wwwname{URL}% or P\`agina web \providecaptionname{spanish}\bankname{Cuenta bancaria}% \g@addnumerical@date{spanish}{\number\day.\,\number\month.\,\number\year}% \providecaptionname{croatian}\yourrefname{Va\v{s} znak}% \providecaptionname{croatian}\yourmailname{Va\v{s}e pismo od}% \providecaptionname{croatian}\myrefname{Na\v{s} znak}% \providecaptionname{croatian}\customername{Broj kupca}% \providecaptionname{croatian}\invoicename{Broj fakture}% \providecaptionname{croatian}\subjectname{Predmet}% \providecaptionname{croatian}\ccname{Kopija}% \providecaptionname{croatian}\enclname{Privitak}% \providecaptionname{croatian}\headtoname{Prima}% \providecaptionname{croatian}\headfromname{\v{S}alje}% \providecaptionname{croatian}\datename{Nadnevak}% \providecaptionname{croatian}\pagename{Stranica}% \providecaptionname{croatian}\phonename{Telefon}% \providecaptionname{croatian}\mobilphonename{Mobitel}% \providecaptionname{croatian}\faxname{Fax}% \providecaptionname{croatian}\emailname{E-Mail}% \providecaptionname{croatian}\wwwname{URL}% \providecaptionname{croatian}\bankname{Bankovna veza}% \g@addnumerical@date{croatian}{\number\day.\,\number\month.\,\number\year.}% \providecaptionname{dutch}\yourrefname{Uw kenmerk}% \providecaptionname{dutch}\yourmailname{Uw brief van}% \providecaptionname{dutch}\myrefname{Ons kenmerk}% \providecaptionname{dutch}\customername{Klant No.}% \providecaptionname{dutch}\invoicename{Rekening No.}% \providecaptionname{dutch}\subjectname{Onderwerp}% \providecaptionname{dutch}\ccname{Kopie aan}% \providecaptionname{dutch}\enclname{Bijlage(n)}% \providecaptionname{dutch}\headtoname{Aan}% \providecaptionname{dutch}\headfromname{Van}% \providecaptionname{dutch}\datename{Datum}% \providecaptionname{dutch}\pagename{Pagina}% \providecaptionname{dutch}\phonename{Telefoon}% \providecaptionname{dutch}\mobilephonename{Mobieltje}% \providecaptionname{dutch}\faxname{Fax}% \providecaptionname{dutch}\emailname{E--mail}% \providecaptionname{dutch}\wwwname{URL}% \providecaptionname{dutch}\bankname{Bankrekening}% \g@addnumerical@date{dutch}{\number\day.\,\number\month.\,\number\year}% \providecaptionname{finnish}\yourrefname{Viitteenne}% \providecaptionname{finnish}\yourmailname{Kirjeenne}% \providecaptionname{finnish}\myrefname{Viitteemme}% \providecaptionname{finnish}\customername{Asiakasnumero}% \providecaptionname{finnish}\invoicename{Laskun numero}% \providecaptionname{finnish}\subjectname{Asia}% \providecaptionname{finnish}\ccname{Jakelu}% \providecaptionname{finnish}\enclname{Liitteet}% \providecaptionname{finnish}\headtoname{Vastaanottaja}% \providecaptionname{finnish}\headfromname{L\"ahett\"aj\"a}% \providecaptionname{finnish}\datename{P\"aiv\"a}% \providecaptionname{finnish}\pagename{Sivu}% \providecaptionname{finnish}\phonename{Puhelin}% \providecaptionname{finnish}\mobilephonename{Matkapuhelin}% \providecaptionname{finnish}\faxname{Faksi}% \providecaptionname{finnish}\emailname{S\"ahk\"oposti}% \providecaptionname{finnish}\wwwname{URL}% \providecaptionname{finnish}\bankname{Pankkitilin numero}% \g@addnumerical@date{finnish}{\number\day.\number\month.\number\year}% \providecaptionname{norsk}\yourrefname{Deres ref.}% \providecaptionname{norsk}\yourmailname{Deres brev av:}% \providecaptionname{norsk}\myrefname{V\aa{}r ref:}% \providecaptionname{norsk}\customername{Kundenummer}% \providecaptionname{norsk}\invoicename{Fakturanummer}% \providecaptionname{norsk}\subjectname{Emne}% \providecaptionname{norsk}\ccname{Kopi til}% \providecaptionname{norsk}\enclname{Vedlegg}% \providecaptionname{norsk}\headtoname{Til}% \providecaptionname{norsk}\headfromname{Fra}% \providecaptionname{norsk}\datename{Dato}% \providecaptionname{norsk}\pagename{Side}% \providecaptionname{norsk}\phonename{Telefon}% \providecaptionname{norsk}\mobilephonename{Mobiltelefon}% \providecaptionname{norsk}\faxname{Telefaks}% \providecaptionname{norsk}\emailname{E-post}% \providecaptionname{norsk}\wwwname{Url}% \providecaptionname{norsk}\bankname{Bankkontonummer}% \g@addnumerical@date{norsk}{\number\day.\number\month.\number\year}% \providecaptionname{swedish}\yourrefname{Er ref}% \providecaptionname{swedish}\yourmailname{Ert brev av}% \providecaptionname{swedish}\myrefname{V\aa{}r ref}% \providecaptionname{swedish}\customername{Kundnummer}% \providecaptionname{swedish}\invoicename{Fakturanummer}% \providecaptionname{swedish}\subjectname{\"Amne}% \providecaptionname{swedish}\ccname{Kopia till}% \providecaptionname{swedish}\enclname{Bilagor}% Singular: Bilaga \providecaptionname{swedish}\headtoname{Till}% \providecaptionname{swedish}\headfromname{Fr\aa{}n}% \providecaptionname{swedish}\datename{Datum}% \providecaptionname{swedish}\pagename{Sida}% \providecaptionname{swedish}\phonename{Telefon}% \providecaptionname{swedish}\mobilephonename{Mobiltelefon}% \providecaptionname{swedish}\faxname{Telefax}% \providecaptionname{swedish}\emailname{E-post}% \providecaptionname{swedish}\wwwname{Hemsida}% \providecaptionname{swedish}\bankname{Bankgiro}% PlusGiro \g@addnumerical@date{swedish}{\number\day/\number\month~\number\year}% \providecaptionname{polish}\yourrefname{Wasz znak}% \providecaptionname{polish}\yourmailname{Wasze pismo z dnia}% \providecaptionname{polish}\myrefname{Nasz znak}% \providecaptionname{polish}\customername{Numer klienta}% \providecaptionname{polish}\invoicename{Numer rachunku}% \providecaptionname{polish}\subjectname{Dotyczy}% \providecaptionname{polish}\ccname{Rozdzielnik}% \providecaptionname{polish}\enclname{Za\l\aob{}czniki}% \providecaptionname{polish}\headtoname{Do}% \providecaptionname{polish}\headfromname{Od}% \providecaptionname{polish}\datename{Data}% \providecaptionname{polish}\pagename{Strona}% \providecaptionname{polish}\phonename{Telefon}% \providecaptionname{polish}\mobilephonename{Numer mobilny}% \providecaptionname{polish}\faxname{Fax}% \providecaptionname{polish}\emailname{E-mail}% \providecaptionname{polish}\wwwname{URL}% \providecaptionname{polish}\bankname{Konto}% \g@addnumerical@date{polish}{\number\day.\,\number\month.\,\number\year}% \providecaptionname{czech}\yourrefname{Va\v{s}e zna\v{c}ka}% \providecaptionname{czech}\yourmailname{V\'{a}\v{s} dopis ze dne}% \providecaptionname{czech}\myrefname{Na\v{s}e zna\v{c}ka}% \providecaptionname{czech}\customername{Z\'akaznick\'e \v{c}\'{\i}slo}% \providecaptionname{czech}\invoicename{Fakura\v{c}n\'{\i} \v{c}\'{\i}slo}% \providecaptionname{czech}\subjectname{Pr\v{e}dm\v{e}t}% \providecaptionname{czech}\ccname{Kopie}% \providecaptionname{czech}\enclname{P\v{r}\'{\i}loha}% \providecaptionname{czech}\headtoname{Komu}% \providecaptionname{czech}\headfromname{Od}% \providecaptionname{czech}\datename{Datum}% \providecaptionname{czech}\pagename{Strana}% \providecaptionname{czech}\phonename{Telefon}% \providecaptionname{czech}\mobilephonename{Mobil}% \providecaptionname{czech}\faxname{Fax}% \providecaptionname{czech}\emailname{E-Mail}% \providecaptionname{czech}\wwwname{URL}% \providecaptionname{czech}\bankname{Bankovn\'{\i} spojen\'{\i}}% \g@addnumerical@date{czech}{\number\day.\,\number\month.\,\number\year}% \providecaptionname{slovak}\yourrefname{Va\v{s}a zna\v{c}ka}% \providecaptionname{slovak}\yourmailname{V\'{a}\v{s} list zo d\v{n}a}% \providecaptionname{slovak}\myrefname{Na\v{s}a zna\v{c}ka}% \providecaptionname{slovak}\customername{Z\'akazn\'{\i}cke \v{c}\'{\i}slo}% \providecaptionname{slovak}\invoicename{\'{C}\'{\i}slo fakt\'ury}% \providecaptionname{slovak}\subjectname{Predmet}% \providecaptionname{slovak}\ccname{K\'{o}pia pre koho}% \providecaptionname{slovak}\enclname{Pr\'{\i}loha}% \providecaptionname{slovak}\headtoname{Komu}% \providecaptionname{slovak}\headfromname{Od}% \providecaptionname{slovak}\datename{D\'{a}tum}% \providecaptionname{slovak}\pagename{Strana}% \providecaptionname{slovak}\phonename{Telef\'{o}n}% \providecaptionname{slovak}\mobilephonename{Mobil}% \providecaptionname{slovak}\faxname{Fax}% \providecaptionname{slovak}\emailname{E-Mail}% \providecaptionname{slovak}\wwwname{URL}% \providecaptionname{slovak}\bankname{Bankov\'{e} spojenie}% \g@addnumerical@date{slovak}{\number\day.\,\number\month.\,\number\year}% \captionsenglish \dateenglish \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname date\languagename\endcsname\relax \ClassWarningNoLine{scrlttr2} {% \string\language\space is \the\language, \string\languagename\space is `\languagename'\MessageBreak but \expandafter\string\csname date\languagename\endcsname\space not defined!\MessageBreak This seems to be a bug at you're `hyphen.cfg'.\MessageBreak Undefining macro \string\languagename\space to avoid errors% }% \let\languagename=\undefined \fi \ifx\languagename\undefined \ClassWarningNoLine{scrlttr2} {\string\languagename\space not defined, using \string\language.\MessageBreak This may result in use of wrong language!\MessageBreak You should use a compatible language package\MessageBreak (e.g. `Babel', `german', `ngerman', ...)}% \ifx\l@american\undefined\else\ifnum\language=\l@american \@nameuse{captionsamerican}% \@nameuse{extrasamerican}% \@nameuse{dateamerican}% \fi\fi \ifx\l@australian\undefined\else\ifnum\language=\l@australian \@nameuse{captionsaustralian}% \@nameuse{extrasaustralian}% \@nameuse{dateaustralian}% \fi\fi \ifx\l@british\undefined\else\ifnum\language=\l@british \@nameuse{captionsbritish}% \@nameuse{extrasbritish}% \@nameuse{datebritish}% \fi\fi \ifx\l@canadian\undefined\else\ifnum\language=\l@canadian \@nameuse{captionscanadian}% \@nameuse{extrascanadian}% \@nameuse{datecanadian}% \fi\fi \ifx\l@newzealand\undefined\else\ifnum\language=\l@newzealand \@nameuse{captionsnewzealand}% \@nameuse{extrasnewzealand}% \@nameuse{datenewzealand}% \fi\fi \ifx\l@UKenglish\undefined\else\ifnum\language=\l@UKenglish \@nameuse{captionsUKenglish}% \@nameuse{extrasUKenglish}% \@nameuse{dateUKenglish}% \fi\fi \ifx\l@ukenglish\undefined\else\ifnum\language=\l@ukenglish \@nameuse{captionsukenglish}% \@nameuse{extrasukenglish}% \@nameuse{dateukenglish}% \fi\fi \ifx\l@USenglish\undefined\else\ifnum\language=\l@USenglish \@nameuse{captionsUSenglish}% \@nameuse{extrasUSenglish}% \@nameuse{dateUSenglish}% \fi\fi \ifx\l@usenglish\undefined\else\ifnum\language=\l@usenglish \@nameuse{captionsusenglish}% \@nameuse{extrasusenglish}% \@nameuse{dateusenglish}% \fi\fi \ifx\l@austrian\undefined\else\ifnum\language=\l@austrian \@nameuse{captionsaustrian}% \@nameuse{extrasaustrian}% \@nameuse{dateaustrian}% \fi\fi \ifx\l@naustrian\undefined\else\ifnum\language=\l@naustrian \@nameuse{captionsnaustrian}% \@nameuse{extrasnaustrian}% \@nameuse{datenaustrian}% \fi\fi \ifx\l@german\undefined\else\ifnum\language=\l@german \@nameuse{captionsgerman}% \@nameuse{extrasgerman}% \@nameuse{dategerman}% \fi\fi \ifx\l@ngerman\undefined\else\ifnum\language=\l@ngerman \@nameuse{captionsngerman}% \@nameuse{extrasngerman}% \@nameuse{datengerman}% \fi\fi \ifx\l@swissgerman\undefined\else\ifnum\language=\l@swissgerman \@nameuse{captionsswissgerman}% \@nameuse{extrasswissgerman}% \@nameuse{dateswissgerman}% \fi\fi \ifx\l@nswissgerman\undefined\else\ifnum\language=\l@nswissgerman \@nameuse{captionsnswissgerman}% \@nameuse{extrasnswissgerman}% \@nameuse{datenswissgerman}% \fi\fi \ifx\l@acadian\undefined\else\ifnum\language=\l@acadian \@nameuse{captionsacadian}% \@nameuse{extrasacadian}% \@nameuse{dateacadian}% \fi\fi \ifx\l@canadien\undefined\else\ifnum\language=\l@canadien \@nameuse{captionscanadien}% \@nameuse{extrascanadien}% \@nameuse{datecanadien}% \fi\fi \ifx\l@francais\undefined\else\ifnum\language=\l@francais \@nameuse{captionsfrancais}% \@nameuse{extrasfrancais}% \@nameuse{datefrancais}% \fi\fi \ifx\l@french\undefined\else\ifnum\language=\l@french \@nameuse{captionsfrench}% \@nameuse{extrasfrench}% \@nameuse{datefrench}% \fi\fi \ifx\l@italian\undefined\else\ifnum\language=\l@italian \@nameuse{captionsitalian}% \@nameuse{extrasitalian}% \@nameuse{dateitalian}% \fi\fi \ifx\l@spanish\undefined\else\ifnum\language=\l@spanish \@nameuse{captionsspanish}% \@nameuse{extrasspanish}% \@nameuse{datespanish}% \fi\fi \ifx\l@croatian\undefined\else\ifnum\language=\l@croatian \@nameuse{captionscroatian}% \@nameuse{extrascroatian}% \@nameuse{datecroatian}% \fi\fi \ifx\l@dutch\undefined\else\ifnum\language=\l@dutch \@nameuse{captionsdutch}% \@nameuse{extrasdutch}% \@nameuse{datedutch}% \fi\fi \ifx\l@finnish\undefined\else\ifnum\language=\l@finnish \@nameuse{captionsfinnish}% \@nameuse{extrasfinnish}% \@nameuse{datefinnish}% \fi\fi \ifx\l@norsk\undefined\else\ifnum\language=\l@norsk \@nameuse{captionsnorsk}% \@nameuse{extrasnorsk}% \@nameuse{datenorsk}% \fi\fi \ifx\l@swedish\undefined\else\ifnum\language=\l@swedish \@nameuse{captionsswedish}% \@nameuse{extrasswedish}% \@nameuse{dateswedish}% \fi\fi \ifx\l@polish\undefined\else\ifnum\language=\l@polish \@nameuse{captionspolish}% \@nameuse{extraspolish}% \@nameuse{datepolish}% \fi\fi \ifx\l@czech\undefined\else\ifnum\language=\l@czech \@nameuse{captionsczech}% \@nameuse{extrasczech}% \@nameuse{dateczech}% \fi\fi \ifx\l@slovak\undefined\else\ifnum\language=\l@slovak \@nameuse{captionsslovak}% \@nameuse{extrasslovak}% \@nameuse{dateslovak}% \fi\fi \else \edef\@tempa{nohyphenation}% \ifx\languagename\@tempa \ClassWarningNoLine{scrlttr2} {% You've selected language `\languagename'.\MessageBreak Maybe your LaTeX format contains Babel extension\MessageBreak but you have not selected a language using\MessageBreak Babel package.\MessageBreak Please select another language!\MessageBreak Only as a workaround english captions and date\MessageBreak will be used% }% \else \ClassInfo{scrlttr2} {% trying to activate captions and date\MessageBreak of language `\languagename'% }% \csname date\languagename\endcsname \csname captions\languagename\endcsname \ClassInfo{scrlttr2} {% used language is `\languagename'.\MessageBreak Supported languages are: `english', `UKenglish',\MessageBreak `ukenglish', `british', `american', `USenglish',\MessageBreak `usenglish', `australian`,`canadian', `newzealand',\MessageBreak `german', `ngerman', `austrian', `naustrian',\MessageBreak `swissgerman', `nswissgermsn',\MessageBreak `acadian', `canadien', `francais', `french', \MessageBreak `dutch', `italian', `spanish', `polish',\MessageBreak `croatian', `finnish', `norsk', `swedish',\MessageBreak `czech', `slovak'% }% \fi \fi } %%% From File: $Id: scrkernel-variables.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newcommand*{\newkomavar}{% \kernel@ifstar {\@tempswatrue\@newkomavar}{\@tempswafalse\@newkomavar}} \newcommand*{\@newkomavar}[2][\relax]{% \@ifundefined{scr@#2@name}{% \@ifundefined{scr@#2@var}{% \begingroup \def\@tempa{#1}\def\@tempb{\relax}% \ifx\@tempa\@tempb\endgroup\else \endgroup\@namedef{scr@#2@name}{#1}% \fi% \expandafter\let\csname scr@#2@var\endcsname=\@empty \if@tempswa\addtoreffields{#2}\fi }{% \ClassError{scrlttr2} {% This should never happen% }{% The contents of the KOMA-Script variable `#2'\MessageBreak is undefined, but the name of the variable is defined.\MessageBreak This should never happen. So someone crashs me!% }% }% }{% \ClassError{scrlttr2} {% Variable `#2' already defined% }{% I'll ignore this command, if you'll continue.% }% }% } \newcommand*{\setkomavar}{% \kernel@ifstar {\@setkomaname}{\@setkomavar}} \newcommand*{\@setkomavar}[1]{% \kernel@ifnextchar [%] {\@@setkomavar{#1}}{\@@setkomavar{#1}[\relax]}} \newcommand*{\@setkomaname}[2]{% \@ifundefined{scr@#1@var}{% \@komavar@err{set}{#1}% }{% \@namedef{scr@#1@name}{#2}% \csname scr@#1@postsetname\endcsname }% } \newcommand*{\@@setkomavar}{} \long\def\@@setkomavar#1[#2]#3{% \@ifundefined{scr@#1@var}{% \@komavar@err{set}{#1}% }{% \@namedef{scr@#1@var}{#3}% \csname scr@#1@postsetvar\endcsname \begingroup \def\@tempa{#2}\def\@tempb{\relax}% \ifx\@tempa\@tempb\endgroup\else \endgroup\@namedef{scr@#1@name}{#2}% \csname scr@#1@postsetname\endcsname \fi }% } \newcommand*{\@komavar@err}[2]{% \ClassError{scrlttr2} {% KOMA-Script variable not defined% }{% You've tried to #1 the not defined KOMA-Script variable `#2'.\MessageBreak You have to define the variable using \string\newkomavar\space before\MessageBreak you do this.% }% } \DeclareRobustCommand*{\usekomavar}{% \kernel@ifstar {\@usekomaname}{\@usekomavar}} \newcommand*{\@usekomavar}[2][\@firstofone]{% \@ifundefined{scr@#2@var}{% \@komavar@err{use}{#2}% }{% #1{\@nameuse{scr@#2@var}}% }% } \newcommand*{\@usekomaname}[2][\@firstofone]{% \@ifundefined{scr@#2@var}{% \@komavar@err{use}{#2}% }{% #1{\@nameuse{scr@#2@name}}% }% } \newcommand*{\ifkomavar}{% \ClassWarning{\KOMAClassName}{% Usage of deprecated command `\string\ifkomavar'.\MessageBreak The command has been renamed to because of a\MessageBreak recommendation of LaTeX3 team members.\MessageBreak Please replace `\string\ifkomavar' by `\string\Ifkomavar'% }% \Ifkomavar } \DeclareRobustCommand*{\Ifkomavar}[1]{% \scr@ifundefinedorrelax{scr@#1@var}{% \expandafter\@secondoftwo }{% \expandafter\@firstoftwo }% } \newcommand*{\ifkomavarempty}{% \ClassWarning{\KOMAClassName}{% Usage of deprecated command `\string\ifkomavarempty'.\MessageBreak The command has been renamed to because of a\MessageBreak recommendation of LaTeX3 team members.\MessageBreak Please replace `\string\ifkomavarempty' by `\string\Ifkomavarempty'% }% \Ifkomavarempty } \DeclareRobustCommand*{\Ifkomavarempty}{% \begingroup \kernel@ifstar {\@tempswatrue\@ifkomavarempty}% {\@tempswafalse\@ifkomavarempty}% } \newcommand{\@ifkomavarempty}[1]{% \Ifkomavar{#1}{% \if@tempswa \@ifundefined{scr@#1@name}{% \aftergroup\@firstoftwo }{% \expandafter\ifx\csname scr@#1@name\endcsname\@empty \aftergroup\@firstoftwo \else \aftergroup\@secondoftwo \fi }% \else \expandafter\ifx\csname scr@#1@var\endcsname\@empty \aftergroup\@firstoftwo \else \aftergroup\@secondoftwo \fi \fi }{% \@komavar@err{use}{#1}% \aftergroup\@gobbletwo }% \endgroup } \newcommand*{\foreachkomavar}[2]{% \@for \reserved@a:=#1\do{% \scr@trim@spaces\reserved@a \ifx\reserved@a\@empty\else \edef\reserved@a{\unexpanded{#2}{\reserved@a}}\expandafter\reserved@a \fi }% } \newcommand*{\foreachkomavarifempty}[3]{% \@for \reserved@a:=#1\do{% \scr@trim@spaces\reserved@a \ifx\reserved@a\@empty\else \edef\reserved@a{% \noexpand\Ifkomavarempty{\reserved@a}% {\unexpanded{#2}{\reserved@a}}% {\unexpanded{#3}{\reserved@a}}% }\expandafter\reserved@a \fi }% } \newcommand*{\foreachemptykomavar}[2]{% \@for \reserved@a:=#1\do{% \scr@trim@spaces\reserved@a \ifx\reserved@a\@empty\else \edef\reserved@a{% \noexpand\Ifkomavarempty{\reserved@a}{\unexpanded{#2}{\reserved@a}}{}% }\expandafter\reserved@a \fi }% } \newcommand*{\foreachnonemptykomavar}[2]{% \@for \reserved@a:=#1\do{% \scr@trim@spaces\reserved@a \ifx\reserved@a\@empty\else \edef\reserved@a{% \noexpand\Ifkomavarempty{\reserved@a}{}{\unexpanded{#2}{\reserved@a}}% }\expandafter\reserved@a \fi }% } %%% From File: $Id: scrkernel-pseudolengths.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newcommand*{\Ifplength}[1]{% \@ifundefined{ltr@len@#1}{\@secondoftwo}{\@firstoftwo}% } \newcommand*{\if@plength}{% \ClassWarning{\KOMAClassName}{% Internal macro `\string\if@plength' is deprecated.\MessageBreak Please use `\string\Ifplength' instead}% \Ifplength } \newcommand*{\newplength}[1]{% \@ifundefined{ltr@len@#1}{% \expandafter\let\csname ltr@len@#1\endcsname=\z@% }{% \ClassError{scrlttr2}% {% pseudo-length \expandafter\string\csname ltr@len@#1\endcsname already defined% }{% You've tried to define a new pseudo-length using\MessageBreak \string\@newplength\space or \string\newplength.\MessageBreak Please, try another name% }% }% } \newcommand*{\@newplength}{% \ClassWarning{\KOMAClassName}{% Internal macro `\string\@newplength' is deprecated.\MessageBreak Please use `\string\newplength' instead}% \newplength } \newcommand*{\useplength}[1]{% \glueexpr \csname ltr@len@#1\endcsname\relax}% \newcommand*{\setlengthtoplength}[3][]{% \setlength{#2}{\useplength{#3}}% \setlength{#2}{#1#2}} \newcommand*{\setplength}[3][]{% \begingroup% \setlength{\@tempskipa}{\glueexpr #3\relax}% \setlength{\@tempskipa}{#1\@tempskipa}% \edef\@tempa{\noexpand\endgroup% \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempskipa}% }% \@tempa } \newcommand*{\@setplength}{% \ClassWarning{\KOMAClassName}{% Internal macro `\string\@setplength' is deprecated.\MessageBreak Please use `\string\setplength' instead}% \setplength } \newcommand*{\setplengthtowidth}[3][]{% \begingroup \settowidth{\@tempdima}{#3}% \setlength{\@tempdima}{#1\@tempdima}% \edef\@tempa{\noexpand\endgroup \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempdima}% }% \@tempa } \newcommand*{\setplengthtoheight}[3][]{% \begingroup \settoheight{\@tempdima}{#3}% \setlength{\@tempdima}{#1\@tempdima}% \edef\@tempa{\noexpand\endgroup \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempdima}% }% \@tempa } \newcommand*{\setplengthtodepth}[3][]{% \begingroup \settodepth{\@tempdima}{#3}% \setlength{\@tempdima}{#1\@tempdima}% \edef\@tempa{\noexpand\endgroup \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempdima}% }% \@tempa } \newcommand*{\setplengthtototalheight}[3][]{% \begingroup \settoheight{\@tempdima}{#3}% \settodepth{\@tempdimb}{#3}% \addtolength{\@tempdima}{\@tempdimb}% \setlength{\@tempdima}{#1\@tempdima}% \edef\@tempa{\noexpand\endgroup \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempdima}% }% \@tempa } \newcommand*{\addtolengthplength}[3][]{% \begingroup% \setlengthtoplength[{#1}]{\@tempskipa}{#3}% \edef\@tempa{\endgroup% \noexpand\addtolength{#2}{\the\@tempskipa}}% \@tempa% } \newcommand*{\addtoplength}[3][]{% \begingroup% \setlength{\@tempskipa}{\glueexpr #3\relax}% \setlength{\@tempskipa}{#1\@tempskipa}% \addtolengthplength{\@tempskipa}{#2}% \edef\@tempa{\noexpand\endgroup% \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempskipa}% }% \@tempa% } \newcommand*{\@addtoplength}{% \ClassWarning{\KOMAClassName}{% Internal macro `\string\@addtoplength' is deprecated.\MessageBreak Please use `\string\addtoplength' instead}% \addtoplength} %%% From File: $Id: scrkernel-typearea.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \let\@BCOR =\relax \let\@@BCOR =\relax \let\@DIV =\relax \let\@@DIV =\relax \let\@headlines =\relax \let\@@headlines =\relax \let\x@paper =\relax \let\x@@paper =\relax \let\scr@pti@nerr@r =\relax \RequirePackage{typearea}[\KOMAScriptVersion] %%% From File: $Id: scrkernel-paragraphs.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newcommand*{\par@updaterelative}{% \begingroup \edef\reserved@a{\the\parindent}\ifx\reserved@a\f@parindent \aftergroup\parindent@update \fi \edef\reserved@a{\the\parskip}\ifx\reserved@a\f@parskip \aftergroup\parskip@update \fi \edef\reserved@a{\the\parfillskip}\ifx\reserved@a\f@parfillskip \aftergroup\parfillskip@update \fi \endgroup } \newcommand*{\parindent@update}{% \scr@defaultunits\parindent\scr@parindent \begingroup \let\reserved@b\endgroup \edef\reserved@a{\the\parindent}\ifx\reserved@a\f@parindent\else \def\reserved@b{\endgroup\edef\f@parindent{\the\parindent}}% \fi \reserved@b } \newcommand*{\parskip@update}{% \scr@defaultunits\parskip\scr@parskip \begingroup \let\reserved@b\endgroup \edef\reserved@a{\the\parskip}\ifx\reserved@a\f@parskip\else \def\reserved@b{\endgroup\edef\f@parskip{\the\parskip}}% \fi \reserved@b } \newcommand*{\parfillskip@update}{% \scr@defaultunits\parfillskip\scr@parfillskip \begingroup \let\reserved@b\endgroup \edef\reserved@a{\the\parfillskip}\ifx\reserved@a\f@parfillskip\else \def\reserved@b{\endgroup\edef\f@parfillskip{\the\parfillskip}}% \fi \reserved@b } \setlength{\lineskip}{\p@} \setlength{\normallineskip}{\p@} \IfLTXAtLeastTF{2021/05/01}{% \AddToHook{selectfont}{\par@update}% \AfterPackage{everysel}{% \IfPackageAtLeastTF{everysel}{2021/01/18}{}{% \ClassError{\KOMAClassName}{% incompatible `everysel' detected }{% You are using an old version of `everysel' in combination with a LaTeX\MessageBreak version >= 2021/06/01 and KOMA-Script >= 3.33. This combination is\MessageBreak not supported.\MessageBreak You could switch back to an older LaTeX using package `latexrelease'.\MessageBreak But I recommend to update `everysel'% }% }% }% \AfterPackage{tracefnt}{% \IfPackageAtLeastTF{tracefnt}{2020/12/22}{}{% \ClassError{\KOMAClassName}{% incompatible `tracefnt' detected }{% `tracefnt' is a LaTeX base package and therefore should be updated together\MessageBreak with LaTeX kernel. So this should never happen! Please check your\MessageBreak LaTeX installation% }% }% }% }{% \newcommand*{\scr@selectfont}{} \expandafter\let\expandafter\scr@selectfont\csname selectfont \endcsname \BeforePackage{everysel}{% \AtBeginDocument{% \expandafter\ifx\csname selectfont \endcsname\scr@new@selectfont\else \ClassWarningNoLine{\KOMAClassName}{% discard change of \string\selectfont}% \fi \expandafter\let\csname selectfont \endcsname\scr@selectfont }% }% \AfterPackage{everysel}{% \scr@ifundefinedorrelax{@EverySelectfont@Init}{% \expandafter\ifx\csname selectfont \endcsname\scr@new@selectfont \ClassWarningNoLine{\KOMAClassName}{% \string\selectfont\space already changed}% \else \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}% \expandafter\let\expandafter\scr@new@selectfont \csname selectfont \endcsname \fi }{% \g@addto@macro\@EverySelectfont@Init{% \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}% \expandafter\let\expandafter\scr@new@selectfont \csname selectfont \endcsname }% }% }% \AfterPackage{tracefnt}{% \expandafter\let\expandafter\scr@selectfont\csname selectfont \endcsname \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}% \expandafter\let\expandafter\scr@new@selectfont\csname selectfont \endcsname }% \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update} \newcommand*{\scr@new@selectfont}{} \expandafter\let\expandafter\scr@new@selectfont\csname selectfont \endcsname } \newcommand*{\scr@defaultunits}[2]{% \begingroup \edef\@tempa{#2}% \expandafter\scr@@defaultunits\expandafter#1\@tempa plusplus\@nnil \edef\@tempa{\noexpand\endgroup\noexpand#1\the\glueexpr #1\relax}% \@tempa } \newcommand*{\scr@@defaultunits}{} \def\scr@@defaultunits#1#2plus#3plus#4\@nnil{% \ifx\relax#3\relax \scr@@@defaultunits#1{}#2minusminus\@nnil \else \scr@@@defaultunits#1{#2}#3minusminus\@nnil \fi } \newcommand*{\scr@@@defaultunits}{} \def\scr@@@defaultunits#1#2#3minus#4minus#5\@nnil{% \ifx\relax#2\relax \@defaultunits\@tempskipa#3pt\relax\@nnil #1\@tempskipa \else \@defaultunits\@tempskipa\z@\@plus#3pt\relax\@nnil #1\@tempskipa \@defaultunits\@tempskipa#2pt\relax\@nnil \advance#1\@tempskipa \fi \ifx\relax#4\relax\else \@defaultunits\@tempskipa\z@\@minus #4pt\relax\@nnil \advance#1\@tempskipa \fi } \newcommand*{\@list@extra}{% \ifdim\parskip>\z@\topsep\z@\parsep\parskip\itemsep\z@\fi } \newcommand*{\add@extra@listi}[1]{% \expandafter\let\csname #1@listi\endcsname=\@listi \def\@listi{\csname #1@listi\endcsname\@list@extra}% } \AfterPackage{amsthm}{% \RequirePackage{xpatch}% \xpatchcmd{\deferred@thm@head}{\addvspace{-\parskip}}{}{% \ClassInfoNoLine{\KOMAClassName}{% amsthm's \string\deferred@thm@head\space patched}% }{% \ClassWarningNoLine{\KOMAClassName}{% cannot patch amsthm's \string\deferred@thm@head.\MessageBreak This could result in wrong spacing before theorem\MessageBreak environments defined by package `amsthm'% }% }% } \l@addto@macro{\@listi}{\@list@extra}% \let\@listI=\@listi \l@addto@macro{\@listii}{\@list@extra}% \l@addto@macro{\@listiii}{\@list@extra}% \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}% \l@addto@macro{\small}{\protect\add@extra@listi{sml}}% \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 %%% From File: $Id: scrkernel-pagestyles.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newcommand*{\set@tempdima@hw}{% \setlength{\@tempdima}{\textwidth}% \if@mincl \addtolength{\@tempdima}{\marginparsep}% \addtolength{\@tempdima}{\marginparwidth}% \fi } \newcommand*{\pnumfont}{\normalfont\normalcolor} \newcommand*{\headfont}{\normalfont\normalcolor\slshape} \newcommand*{\footfont}{} \newcommand*{\scr@fnt@pagenumber}{\pnumfont} \aliaskomafont{pagination}{pagenumber} \newcommand*{\scr@fnt@pageheadfoot}{\headfont} \aliaskomafont{pagehead}{pageheadfoot} \newcommand*{\scr@fnt@wrn@pagehead}[1]{% `pagehead' is only an alias of `pageheadfoot'.\MessageBreak Font of page foot will also be changed% } \newcommand*{\scr@fnt@pagefoot}{\footfont} \newcommand*{% \pagemark }{% {\usekomafont{pagenumber}{% \pagename\nobreakspace \thepage}}} \renewcommand*{\ps@plain}{% \renewcommand*{\@oddhead}{% \vbox{\vbox{\hsize=\textwidth\hbox to\textwidth{% \parbox[b]{\textwidth}{\strut \ifnum\@pageat>-1 \ifnum\@pageat<3 \ifcase\@pageat\raggedright\or\centering\or\raggedleft\fi \pagemark \else \hfill \fi \else \hfill \fi }% }% \if@hsl\kern1pt\rule{\textwidth}{.4pt}\fi }% }% }% \let\@evenhead\@oddhead% \renewcommand*{\@oddfoot}{% \parbox[t]{\textwidth}{% \if@fsl {% \raggedright% \vskip-\baselineskip\vskip.4pt \hrulefill\\ }% \fi \ifnum\@pageat>2 \ifcase\@pageat\or\or\or\raggedright\or\centering\or\raggedleft\fi \strut\pagemark \else \hfill \fi }% }% \let\@evenfoot\@oddfoot } \newcommand*{\ps@headings}{\let\@mkboth\markboth \renewcommand*{\@oddhead}{% \vbox{% \vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\noindent \usekomavar{nexthead}}}% \if@hsl\kern1pt\rule{\textwidth}{.4pt}\fi% }% }% \let\@evenhead\@oddhead \renewcommand*{\@oddfoot}{% \parbox[t]{\textwidth}{% \if@fsl {% \raggedright% \vskip-\baselineskip\vskip.4pt \hrulefill\\ }% \fi \vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\footfont\noindent \usekomavar{nextfoot}}}% }% }% \let\@evenfoot\@oddfoot } \newcommand*{\ps@myheadings}{% \ps@headings \let\@mkboth\@gobbletwo } \pagestyle{plain} \pagenumbering{arabic} %%% From File: $Id: scrkernel-floats.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) %%% From File: $Id: scrkernel-footnotes.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \renewcommand*\footnoterule{% \normalsize\ftn@rule@test@values \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi {\usekomafont{footnoterule}{% \hrule \@height\ftn@rule@height \@width\ftn@rule@width}}% \kern 2.6\p@} \newcommand*{\ftn@rule@test@values}{% \ifdim\ftn@rule@height <\z@ \ClassWarning{\KOMAClassName}{% You might get into trouble, because the\MessageBreak height of the footnote rule has a value\MessageBreak less than 0% }% \else \ifdim\ftn@rule@height >\dimexpr\skip\footins -2.6\p@\relax \ClassWarning{\KOMAClassName}{% You might get into trouble, because the\MessageBreak height of the footnote rule has a value\MessageBreak greater than \the\dimexpr\skip\footins -2.6\p@\relax }% \fi \fi \ifdim\ftn@rule@width <\z@ \ClassWarning{\KOMAClassName}{% You might get into trouble, because the width\MessageBreak or length of the footnote rule has a value\MessageBreak less than 0pt% }% \else \ifdim\ftn@rule@width >\columnwidth \ClassWarning{\KOMAClassName}{% You might get into trouble, because the width\MessageBreak or length of the footnote rule has a value\MessageBreak greater than \string\columnwidth }% \fi \fi } \newkomafont{footnoterule}{} \newcommand*{\ftn@rule@width}{.4\columnwidth} \newcommand*{\ftn@rule@height}{.4\p@} \newcommand*{\setfootnoterule}[2][]{% \IfArgIsEmpty{#1}{}{% \renewcommand*{\ftn@rule@height}{#1}% }% \IfArgIsEmpty{#2}{}{% \renewcommand*{\ftn@rule@width}{#2}% }% \ftn@rule@test@values } \newcommand\deffootnote[4][]{% \expandafter\ifnum\scr@v@is@ge{3.22}\relax \long\def\@makefntext##1{% \ExecuteDoHook{footnote/text/begin}% \raggedfootnote \leftskip #2 \l@addto@macro\@trivlist{% \ifnum\@listdepth=\@ne\advance\leftmargin #2\relax\fi }% \parindent #3\noindent \IfArgIsEmpty{#1}{}{% \hskip \dimexpr #1-#2\relax }% \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% \ExecuteDoHook{footnote/text/end}% }% \else \ClassInfo{\KOMAClassName}{% Using old \string\@makefntext\space due to compatibility level\MessageBreak less than 3.22}% \long\def\@makefntext##1{% \setlength{\@tempdimc}{#3}% \def\@tempa{#1}\ifx\@tempa\@empty \@setpar{\@@par \@tempdima = \hsize \addtolength{\@tempdima}{-#2}% \parshape \@ne #2 \@tempdima}% \else \addtolength{\@tempdimc}{#2}% \addtolength{\@tempdimc}{-#1}% \@setpar{\@@par \@tempdima = \hsize \addtolength{\@tempdima}{-#1}% \@tempdimb = \hsize \addtolength{\@tempdimb}{-#2}% \parshape \tw@ #1 \@tempdima #2 \@tempdimb }% \fi \par \parindent\@tempdimc\noindent \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% }% \fi \def\@@makefnmark{\hbox{\ftnm@font{#4}}}% } \newcommand*{\raggedfootnote}{} \newcommand*{\ftn@font}{\normalfont} \newcommand*{\scr@fnt@footnote}{\ftn@font} \newcommand*{\ftnm@font}{} \aliaskomafont{footnotenumber}{footnotelabel} \newcommand*{\scr@fnt@footnotelabel}{\ftnm@font} \aliaskomafont{footnotetext}{footnote} \newcommand*\deffootnotemark[1]{% \def\@makefnmark{\hbox{\ftntm@font{#1}}}% } \newcommand*{\ftntm@font}{} \newcommand*{\scr@fnt@footnotereference}{\ftntm@font} \aliaskomafont{footnoteref}{footnotereference} \aliaskomafont{footnotemark}{footnotereference} \newcommand*{\FN@mf@check}{% \ifdim\lastkern=\multiplefootnotemarker\relax \edef\@x@sf{\the\spacefactor}% \unkern\multiplefootnoteseparator \spacefactor\@x@sf\relax \fi } \newcommand*{\scr@mf@prepare}{% \kern-\multiplefootnotemarker \kern\multiplefootnotemarker\relax } \@ifundefined{FN@mf@prepare}{\let\FN@mf@prepare\relax}{} \newcommand{\scr@saved@footnotetext}{} \let\scr@saved@footnotetext\@footnotetext \renewcommand{\@footnotetext}[1]{% \scr@saved@footnotetext{#1}% \csname FN@mf@prepare\endcsname } \BeforePackage{footmisc}{% \ifx\@footnotemark\scr@footnotemark \let\@footnotemark\scr@saved@footnotemark \fi \let\@footnotetext\scr@saved@footnotetext } \BeforePackage{setspace}{% \let\@footnotetext\scr@saved@footnotetext } \AfterPackage{setspace}{% \let\scr@saved@footnotetext\@footnotetext \renewcommand{\@footnotetext}[1]{% \scr@saved@footnotetext{#1}% \csname FN@mf@prepare\endcsname }% } \newcommand*{\multiplefootnoteseparator}{% \begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup } \newcommand*{\multfootsep}{,} \newcommand*{\multiplefootnotemarker}{3sp} \newcommand*{\thefootnotemark}{\@thefnmark} \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} \deffootnotemark{\textsuperscript{\thefootnotemark}} \providecommand*{\footref}[1]{% \begingroup \unrestored@protected@xdef\@thefnmark{\ref{#1}}% \endgroup \@footnotemark } %%% From File: $Id: scrkernel-listsandtabulars.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \setlength{\leftmargini}{2.5em} \setlength{\leftmarginii}{2.2em} \setlength{\leftmarginiii}{1.87em} \setlength{\leftmarginiv}{1.7em} \setlength{\leftmarginv}{1em} \setlength{\leftmarginvi}{1em} \setlength{\leftmargin}{\leftmargini} \setlength{\labelsep}{.5em} \setlength{\labelwidth}{\leftmargini} \addtolength{\labelwidth}{-\labelsep} \@beginparpenalty=-\@lowpenalty \@endparpenalty =-\@lowpenalty \@itempenalty =-\@lowpenalty \renewcommand*\theenumi{\@arabic\c@enumi} \renewcommand*\theenumii{\@alph\c@enumii} \renewcommand*\theenumiii{\@roman\c@enumiii} \renewcommand*\theenumiv{\@Alph\c@enumiv} \newcommand*\labelenumi{\theenumi.} \newcommand*\labelenumii{\theenumii)} \newcommand*\labelenumiii{\theenumiii.} \newcommand*\labelenumiv{\theenumiv.} \renewcommand*\p@enumii{\theenumi} \renewcommand*\p@enumiii{\p@enumii(\theenumii)} \renewcommand*\p@enumiv{\p@enumiii\theenumiii} \newcommand*\labelitemi{\usekomafont{labelitemi}{\textbullet}} \newcommand*\labelitemii{\usekomafont{labelitemii}{\textendash}} \newcommand*\labelitemiii{\usekomafont{labelitemiii}{\textasteriskcentered}} \newcommand*\labelitemiv{\usekomafont{labelitemiv}{\textperiodcentered}} \newenvironment{description}{% \list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}% }{% \endlist } \newcommand*{\descriptionlabel}[1]{% \hspace{\labelsep}\usekomafont{descriptionlabel}{#1}% } \newenvironment{labeling}[2][]{% \def\sc@septext{#1}% \list{}{\settowidth{\labelwidth}{{% \usekomafont{labelinglabel}{#2% \usekomafont{labelingseparator}{\sc@septext}}% }}% \leftmargin\labelwidth \advance\leftmargin by \labelsep \let\makelabel\labelinglabel }% }{% \endlist } \newcommand\labelinglabel[1]{% \usekomafont{labelinglabel}{#1\hfil \usekomafont{labelingseparator}{\sc@septext}}% } \newenvironment{verse}{% \let\\=\@centercr \list{}{\itemsep=\z@ \itemindent=-1.5em \listparindent=\itemindent \rightmargin=\leftmargin \advance\leftmargin by1.5em }% \item\relax }{% \endlist } \newenvironment{quotation}{% \list{}{\listparindent 1em% \itemindent \listparindent \rightmargin \leftmargin \parsep \z@ \@plus\p@ }% \item\relax }{% \endlist } \newenvironment{quote}{% \list{}{\rightmargin\leftmargin}% \item\relax }{% \endlist } \newenvironment{addmargin}{% \@tempswafalse\@addmargin }{% \advance\@listdepth\@ne \endlist } \newenvironment{addmargin*}{% \@tempswafalse \if@twoside\is@thispageodd[]\ifthispagewasodd\else\@tempswatrue\fi \edef\scr@addmargin@startpage{\csname tpo@\scr@tpo\endcsname}\fi \@addmargin }{% \if@twoside \unskip\nobreak\Ifthispageodd{}{}% \expandafter\ifx\csname tpo@\scr@tpo\endcsname\scr@addmargin@startpage\else \ClassWarning{\KOMAClassName}{% page break inside `addmargin*' environment.\MessageBreak A `addmargin*' environment starting on page \scr@addmargin@startpage\MessageBreak ends on page \csname tpo@\scr@tpo\endcsname.\MessageBreak This will result in potential wrong margins on\MessageBreak every other page.\MessageBreak So maybe you should change the `addmargin*'\MessageBreak environment, that ends% }% \fi \fi \advance\@listdepth\@ne \endlist } \newcommand*{\@addmargin}[2][\@tempa]{% \list{}{% \if@tempswa \def\@tempa{\leftmargin}% \setlength{\leftmargin}{#2}% \setlength{\rightmargin}{#1}% \else \def\@tempa{\rightmargin}% \setlength{\rightmargin}{#2}% \setlength{\leftmargin}{#1}% \fi \setlength{\listparindent}{\parindent}% \setlength{\itemsep}{\parskip}% \setlength{\itemindent}{\z@}% \setlength{\@tempskipa}{\topsep}% \setlength{\topsep}{\z@}% \setlength{\parsep}{\parskip}% \setlength{\@tempskipb}{\partopsep}% \setlength{\partopsep}{\z@}% \let\makelabel\@gobble \setlength{\labelwidth}{\z@}% \advance\@listdepth\m@ne }% \expandafter\ifnum\scr@v@is@ge{3.22}% \setlength{\topsep}{\@tempskipa}% \setlength{\partopsep}{\@tempskipb}% \fi \item\is@thispageodd@setlabel\nobreak\ignorespaces } \newcommand*\descfont{\maybesffamily\bfseries} \newcommand*{\scr@fnt@descriptionlabel}{\descfont} \newcommand*{\labelitemfont}{\normalfont} \newcommand*\scr@fnt@itemizelabel{\labelitemfont} \newkomafont{labelitemi}{\usekomafont{itemizelabel}} \newkomafont{labelitemii}{\usekomafont{itemizelabel}\bfseries} \newkomafont{labelitemiii}{\usekomafont{itemizelabel}} \newkomafont{labelitemiv}{\usekomafont{itemizelabel}} \newkomafont{labelinglabel}{} \newkomafont{labelingseparator}{} \setlength\arraycolsep{5\p@} \setlength\tabcolsep{6\p@} \setlength\arrayrulewidth{.4\p@} \setlength\doublerulesep{2\p@} \setlength\tabbingsep{\labelsep} %%% From File: $Id: scrkernel-notepaper.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newkomavar{firsthead} \setkomavar{firsthead}{% \parbox[b]{\useplength{firstheadwidth}}% {\centering\usekomafont{fromaddress}{% \Ifkomavarempty{fromname}{}{% {\usekomafont{fromname}% {\ignorespaces\usekomavar{fromname}}\\[-8pt]} {\usekomafont{fromrule}{\rule{\useplength{firstheadwidth}}{.4pt}}}\\ }% \Ifkomavarempty{fromaddress}{}{% \ignorespaces\usekomavar{fromaddress}% }% }% }% } \newcommand*{\scr@firsthead@postsetvar}{% \KOMAExecuteOptions[% \KOMAClassFileName ]{fromalign=no}% } \newcommand*{\@gen@firsthead}{% \ifcase\@alignfrom \setkomavar{firsthead}{% \parbox[b]{\textwidth}{\raggedright {\usekomafont{fromname}\strut\ignorespaces \usekomavar{fromname}% {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% \ifdim\@tempdima=\z@ \setlength{\@tempdima}{\textwidth}% \if@logo \settowidth{\@tempdimb}{\usekomavar{fromlogo}}% \addtolength{\@tempdima}{-\@tempdimb}% \fi \fi \expandafter\rule\expandafter{\the\@tempdima}{% \useplength{fromrulethickness}}}% \fi }% \\ }% {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% \if@mobilephone \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% \ifnum\@rulefrom=2\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% \ifdim\@tempdima=\z@ \setlength{\@tempdima}{\textwidth}% \fi \expandafter\rule\expandafter{\the\@tempdima}{% \useplength{fromrulethickness}}}% \fi \\ }% }% \if@logo \llap{\usekomavar{fromlogo}}% \fi }% \renewcommand*{\@alignfrom}{0}% \or \setkomavar{firsthead}{% \parbox[b]{\textwidth}{\centering {\usekomafont{fromname}\strut\ignorespaces \usekomavar{fromname}% {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% \ifdim\@tempdima=\z@ \setlength{\@tempdima}{\textwidth}% \fi \expandafter\rule\expandafter{\the\@tempdima}{% \useplength{fromrulethickness}}}% \fi }% \\ }% {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% \if@mobilephone \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% \ifnum\@rulefrom=2\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% \ifdim\@tempdima=\z@ \setlength{\@tempdima}{\textwidth}% \fi \expandafter\rule\expandafter{\the\@tempdima}{% \useplength{fromrulethickness}}}% \fi \\ }% }% }% \renewcommand*{\@alignfrom}{1}% \or \setkomavar{firsthead}{% \if@logo \rlap{\usekomavar{fromlogo}}% \fi \parbox[b]{\textwidth}{\raggedleft {\usekomafont{fromname}\strut\ignorespaces \usekomavar{fromname}% {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% \ifdim\@tempdima=\z@ \setlength{\@tempdima}{\textwidth}% \if@logo \settowidth{\@tempdimb}{\usekomavar{fromlogo}}% \addtolength{\@tempdima}{-\@tempdimb}% \fi \fi \expandafter\rule\expandafter{\the\@tempdima}{% \useplength{fromrulethickness}}}% \fi }% \\ }% {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% \if@mobilephone \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% \ifnum\@rulefrom=2\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% \ifdim\@tempdima=\z@ \setlength{\@tempdima}{\textwidth}% \fi \expandafter\rule\expandafter{\the\@tempdima}{% \useplength{fromrulethickness}}}% \fi \\ }% }% }% \renewcommand*{\@alignfrom}{2}% \fi } \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 You should use \string\setkomavar{firsthead}\MessageBreak instead of \string\firsthead } \setkomavar{firsthead}% } \newkomafont{foldmark}{} \newkomafont{fromname}{} \newkomafont{fromaddress}{} \newkomafont{fromrule}{} \newkomafont{backaddress}{\maybesffamily} \newkomafont{specialmail}{} \newkomafont{priority}{\fontsize{10pt}{10pt}\sffamily\bfseries} \newkomafont{prioritykey}{\fontsize{24.88pt}{24.88pt}\selectfont} \newkomafont{PPlogo}{\sffamily\bfseries} \newkomafont{PPdata}{\sffamily} \newkomafont{addressee}{} \newkomafont{toname}{} \newkomafont{toaddress}{} \newkomafont{refname}{\maybesffamily\scriptsize} \expandafter\ifnum\scr@v@is@eq{2.97}% \newkomafont{refvalue}{\sffamily\scriptsize} \else \newkomafont{refvalue}{} \fi \newkomafont{placeanddate}{} \newkomafont{lettertitle}{\normalcolor\maybesffamily\bfseries} \aliaskomafont{title}{lettertitle}% \newkomafont{lettersubject}{\normalfont\bfseries} \aliaskomafont{subject}{lettersubject}% \newplength{foldmarkhpos} \newplength{foldmarkvpos} \newplength{tfoldmarkvpos} \newplength{mfoldmarkvpos} \newplength{bfoldmarkvpos} \newplength{lfoldmarkhpos} \newplength{pfoldmarklength} \newplength{tfoldmarklength} \newplength{mfoldmarklength} \newplength{bfoldmarklength} \newplength{lfoldmarklength} \newplength{foldmarkthickness} \setplength{foldmarkthickness}{.2pt} \newplength{toaddrvpos} \newplength{backaddrheight} \newplength{toaddrhpos} \newplength{specialmailindent} \newplength{specialmailrightindent} \newplength{toaddrindent} \newplength{PPheadheight} \newplength{PPheadwidth} \newplength{PPdatamatrixvskip} \newplength{toaddrwidth} \newplength{toaddrheight} \newplength{locvpos} \newplength{locwidth} \newplength{lochpos} \newplength{locheight} \newplength{refvpos} \newplength{refwidth} \newplength{refhpos} \newplength{refaftervskip} \newplength{sigbeforevskip} \newplength{sigindent} \newplength{firstfootvpos} \newplength{firstfootwidth} \newplength{firstfoothpos} \setplength{firstfoothpos}{\maxdimen} \newplength{firstheadvpos} \newplength{firstheadwidth} \newplength{firstheadhpos} \setplength{firstheadhpos}{\maxdimen} \newplength{fromrulewidth} \setplength{fromrulewidth}{0pt} \newplength{fromrulethickness} \setplength{fromrulethickness}{.4pt} \newkomavar{firstfoot} \newcommand*{\@firstfoot}{% \ClassWarning{scrlttr2}{% Deprecated usage of \string\@firstfoot.\MessageBreak \string\usekomavar{firstfoot} should be used\MessageBreak instead of \string\@firstfoot }% \usekomavar{firstfoot}% } \newcommand{\firstfoot}{% \ClassWarning{scrlttr2}{% Deprecated usage of \string\firstfoot.\MessageBreak You should use \string\setkomavar{firstfoot}\MessageBreak instead of \string\firstfoot } \setkomavar{firstfoot}% } \newcommand*{\move@topt}{% \null\vskip -1in\vskip -\topmargin% \vskip -\headheight\vskip -\headsep% \vskip -\topskip% \ignorespaces% } \newcommand*{\move@frompt}{% \vskip 1in\vskip \topmargin% \vskip \headheight\vskip \headsep% \vskip \topskip% \vskip -\baselineskip% \ignorespaces% } \newcommand*{\move@topl}{% \null\hskip -1in% \ifodd\value{page}\hskip -\oddsidemargin\else\hskip -\evensidemargin\fi \ignorespaces% } \newcommand*{\move@frompl}{% \hskip 1in% \ifodd\value{page}\hskip \oddsidemargin\else\hskip \evensidemargin\fi% \ignorespaces% } \newcommand{\vb@t@z}[1]{{% \setbox\z@\vbox to\z@{\color@begingroup #1\color@endgroup\vss}% \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative \setlength{\baselineskip}{\z@}% \setlength{\@tempdima}{\ht0}\addtolength{\@tempdima}{\dp0}% \box\z@\vskip-\@tempdima% }% } \newcommand*{\@foldmark}[2]{% \vb@t@z{\setlength{\@tempdima}{#1}% \addtolengthplength[-.5]{\@tempdima}{foldmarkthickness}% \vskip \@tempdima \rlap{\move@topl\hskip\useplength{foldmarkhpos}% \usekomafont{foldmark}{% \rule{#2}{\useplength{foldmarkthickness}}}}}% \ignorespaces } \newcommand*{\@hfoldmark}[1]{% \begingroup \@expandtwoargs\in@{#1}{\@usefolds}% \ifin@ \lowercase{% \edef\@tempa{% \noexpand\ifdim \noexpand\useplength{#1foldmarkvpos}=\noexpand\z@ \noexpand\else \noexpand\@foldmark{% \noexpand\useplength{#1foldmarkvpos}% }{% \noexpand\useplength{#1foldmarklength}% }% \noexpand\fi }% }% \@tempa \fi \endgroup } \newcommand*{\@vfoldmark}[1]{% \begingroup \ifdim \useplength{lfoldmarkhpos}=\z@\else \@expandtwoargs\in@{#1}{\@usefolds}% \ifin@ \vb@t@z{% \ifdim \useplength{foldmarkvpos}<\z@ \nobreak\vskip \paperheight\nobreak \fi \vskip \useplength{foldmarkvpos}% \vskip \useplength{foldmarkthickness}% \rlap{\move@topl \setlength{\@tempdima}{\useplength{lfoldmarkhpos}}% \addtolengthplength[-.5]{\@tempdima}{foldmarkthickness}% \hskip\@tempdima \usekomafont{foldmark}{% \rule{\useplength{foldmarkthickness}}% {\useplength{lfoldmarklength}}% }% }% }% \ignorespaces \fi \fi \endgroup } \newcommand*{\@foldmarks}{% \if@fold% \typeout{Foldmarks: yes}% \move@topt \ifdim \useplength{pfoldmarklength}=\z@ \setplength{pfoldmarklength}{4mm}% \fi \ifdim \useplength{tfoldmarklength}=\z@ \setplength{tfoldmarklength}{2mm}% \fi \ifdim \useplength{mfoldmarklength}=\z@ \setplength{mfoldmarklength}{2mm}% \fi \ifdim \useplength{bfoldmarklength}=\z@ \setplength{bfoldmarklength}{2mm}% \fi \ifdim \useplength{lfoldmarklength}=\z@ \setplength{lfoldmarklength}{4mm}% \fi \begingroup \@expandtwoargs\in@{P}{\@usefolds}% \ifin@ \@foldmark{.5\paperheight}{\useplength{pfoldmarklength}}% \fi \endgroup \@hfoldmark{T}% \@hfoldmark{M}% \@hfoldmark{B}% \@vfoldmark{L}% \move@frompt \else \typeout{Foldmarks: no}% \fi% } \newif\if@savevbox@warning\@savevbox@warningtrue \newcommand{\@savevbox}[6][]{% \begingroup% \vbox to #2{#1#3}% \if@savevbox@warning\@savevbox@warningfalse% \setbox\z@\vbox{\color@begingroup #3\color@endgroup}% \setlength{\@tempdima}{#2}% \setlength{\@tempdimb}{\ht0}\addtolength{\@tempdimb}{\dp0}% \ifdim \@tempdimb>\@tempdima% \addtolength{\@tempdimb}{-\@tempdima}% \ClassWarning{scrlttr2}{% #4 is \the\@tempdimb\space too high.\MessageBreak You have to change `\string#5'\MessageBreak or you have to define a smaller\MessageBreak #4 using \string#6.\MessageBreak Because of this too high #4\MessageBreak you've got an overfull \string\vbox\space message% }% \fi% \fi% \endgroup% } \newcommand*{\@firstheadfootfield}{% \if@firsthead \typeout{Head of first page}% \move@topt\vskip\useplength{firstheadvpos}% \vb@t@z{% \rlap{\move@topl \ifdim\useplength{firstheadhpos}<\paperwidth \ifdim \useplength{firstheadhpos}>-\paperwidth \ifdim \useplength{firstheadhpos}<\z@ \setlength\@tempskipa{\paperwidth}% \addtolengthplength{\@tempskipa}{firstheadhpos}% \addtolengthplength[-]{\@tempskipa}{firstheadwidth}% \else \setlength{\@tempskipa}{\useplength{firstheadhpos}}% \fi \else \setlength\@tempskipa{\oddsidemargin}% \addtolength\@tempskipa{1in}% \fi \else \setlength\@tempskipa{.5\paperwidth}% \addtolengthplength[-.5]{\@tempskipa}{firstheadwidth}% \fi \hskip\@tempskipa \vbox{\hsize\useplength{firstheadwidth}% \setlength{\@tempskipa}{\useplength{toaddrvpos}}% \addtolengthplength[-1]{\@tempskipa}{firstheadvpos}% \addtolength{\@tempskipa}{-\baselineskip}% \setlength{\textwidth}{\useplength{firstheadwidth}}% \setlength{\parfillskip}{\z@ \@plus 1fil}% \@savevbox{\@tempskipa}{\noindent\usekomavar{firsthead}% \vskip \z@ \@plus .00001fil}% {head of first page}{firstheadvpos}{\setkomavar}% }% }% }% \vskip-\useplength{firstheadvpos}\move@frompt \else \typeout{No head at first page}% \fi \move@topt \if@firstfoot \typeout{Foot of first page}% \vb@t@z{% \rlap{\move@topl \ifdim\useplength{firstfoothpos}<\paperwidth \ifdim \useplength{firstfoothpos}>-\paperwidth \ifdim \useplength{firstfoothpos}<\z@ \setlength\@tempskipa{\paperwidth}% \addtolengthplength{\@tempskipa}{firstfoothpos}% \addtolengthplength[-]{\@tempskipa}{firstfootwidth}% \else \setlength{\@tempskipa}{\useplength{firstfoothpos}}% \fi \else \setlength\@tempskipa{\oddsidemargin}% \addtolength\@tempskipa{1in}% \fi \else \setlength\@tempskipa{.5\paperwidth}% \addtolengthplength[-.5]{\@tempskipa}{firstfootwidth}% \fi \hskip\@tempskipa \vbox{\hsize\useplength{firstfootwidth}% \vskip\useplength{firstfootvpos}% \setlength{\textwidth}{\useplength{firstfootwidth}}% \setlength{\parfillskip}{\z@ \@plus 1fil}% \vbox{\hsize\useplength{firstfootwidth}\noindent \usekomavar{firstfoot}}% }% }% }% \else \typeout{No foot at first page}% \fi \move@frompt% {% \setlength{\@tempdima}{1in}\addtolength{\@tempdima}{\topmargin}% \addtolength{\@tempdima}{\headheight}% \addtolength{\@tempdima}{\headsep}% \addtolength{\@tempdima}{\textheight}% \addtolength{\@tempdima}{\footskip}% \if@firstfoot \addtolengthplength[-1]{\@tempdima}{firstfootvpos}% \else \addtolength{\@tempdima}{-\paperheight}% \fi \ifdim\@tempdima>\z@\enlargethispage{-\@tempdima}% \else\if@enlargefp\enlargethispage{-\@tempdima}\fi\fi }% } \newcommand*{\@addrfield}{% \ifcase \ifnum\@afieldmode=5 \@ne\else\@afieldmode\fi\relax \typeout{Address: No}% \or \begingroup% \if@baddr \Ifkomavarempty{backaddress}{% \let\@tempa\@empty\let\@tempb\@empty }{% \def\@tempa{backaddress}\def\@tempb{,\space}% }% \else \let\@tempa\@empty\let\@tempb\@empty \fi \ifcase \ltr@priority \Ifkomavarempty{specialmail}{}{% \edef\@tempa{\@tempa\@tempb specialmail}\def\@tempb{,\space}% }% \or \edef\@tempa{\@tempa\@tempb B-Economy}\def\@tempb{,\space}% \or \edef\@tempa{\@tempa\@tempb A-Priority}\def\@tempb{,\space}% \fi \typeout{Address (\@tempa\@tempb addressee)}% \endgroup% \move@topt\vskip\useplength{toaddrvpos}% \vb@t@z{{\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative \rlap{\move@topl \setlengthtoplength{\@tempskipa}{toaddrhpos}% \ifdim \@tempskipa<\z@ \addtolength{\@tempskipa}{\paperwidth}% \addtolengthplength[-]{\@tempskipa}{toaddrwidth}% \fi \hskip\@tempskipa \@savevbox{\useplength{toaddrheight}}{\hsize\useplength{toaddrwidth}% \@savevbox[\vss]{\useplength{backaddrheight}}{% \hsize\useplength{toaddrwidth}% \if@baddr \Ifkomavarempty{backaddress}{}{{% \noindent% \backaddr@format{\scriptsize {% \def\\{\usekomavar{backaddressseparator}\@ogobble}% \usekomafont{backaddress}% {\usekomavar{backaddress}}% }}}}% \fi }{backaddress}{backaddrheight}{\setkomavar}% \ifcase \ltr@priority \or \setkomavar{specialmail}{% {\usekomafont{priority}{% {\usekomafont{prioritykey}{B}}% -ECONOMY}}% }% \or \setkomavar{specialmail}{% {\usekomafont{priority}{% {\usekomafont{prioritykey}{A}}% -PRIORITY}}% }% \fi \Ifkomavarempty{specialmail}{}{% \vbox{\hsize\useplength{toaddrwidth}% \noindent\hspace*{\useplength{specialmailindent}}% \specialmail@format{% \usekomafont{specialmail}\usekomavar{specialmail}}% \hspace*{\useplength{specialmailrightindent}}}% }% \ifnum\@afieldmode=\@ne\vfil\fi% \noindent\hskip\useplength{toaddrindent}% \setlength{\@tempdima}{\useplength{toaddrwidth}}% \addtolengthplength[-2]{\@tempdima}{toaddrindent}% \vbox{\hsize\@tempdima\raggedright \usekomafont{addressee}{% {\usekomafont{toname}{\usekomavar{toname}\\}}% {\usekomafont{toaddress}{\usekomavar{toaddress}\endgraf}}}}% \vfil\null\vskip-\baselineskip}% {address field}{toaddrheight}% {\begin{letter} or you\MessageBreak have to define a smaller special purpose using\MessageBreak \string\specialmail}% }}}% \vskip-\useplength{toaddrvpos}\move@frompt \else \begingroup% \if@baddr \let\@tempa\@empty\let\@tempb\@empty \ifcase \@afieldmode\relax\or\or \def\@tempa{PP-mode}\def\@tempb{,\space}% \or \def\@tempa{backgroundimage-mode}\def\@tempb{,\space}% \or \def\@tempa{image-mode}\def\@tempb{,\space}% \fi \Ifkomavarempty{backaddress}{}{% \edef\@tempa{\@tempa\@tempb backaddress ignored}\def\@tempb{,\space}% }% \else \let\@tempa\@empty\let\@tempb\@empty \fi \ifcase \ltr@priority \Ifkomavarempty{specialmail}{}{% \edef\@tempa{\@tempa\@tempb specialmail ignored}\def\@tempb{,\space}% }% \or \edef\@tempa{\@tempa\@tempb B-Economy}\def\@tempb{,\space}% \or \edef\@tempa{\@tempa\@tempb A-Priority}\def\@tempb{,\space}% \fi \typeout{Address (\@tempa\@tempb addressee)}% \endgroup% \move@topt\vskip\useplength{toaddrvpos}% \vb@t@z{{% \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative \ifdim \useplength{toaddrindent}=\z@ \setplength{toaddrindent}{8mm}% \fi \ifdim \useplength{PPheadheight}=\z@ \setplength{PPheadheight}{20.74pt}% \fi \ifdim \useplength{PPheadwidth}=\z@ \setplength{PPheadwidth}{42mm}% \fi \ifdim \useplength{PPdatamatrixvskip}=\z@ \setplength{PPdatamatrixvskip}{9mm}% \fi \rlap{\move@topl \setlengthtoplength{\@tempskipa}{toaddrhpos}% \ifdim \@tempskipa<\z@ \addtolength{\@tempskipa}{\paperwidth}% \addtolengthplength[-]{\@tempskipa}{toaddrwidth}% \fi \hskip\@tempskipa \@savevbox{\useplength{toaddrheight}}{\hsize\useplength{toaddrwidth}% \ifnum\@afieldmode=\tw@ \vskip 2pt\relax \hskip \useplength{toaddrindent}\relax \fbox{% \vbox to \dimexpr \useplength{PPheadheight}-2\fboxsep\relax{% \setlength{\parindent}{0pt}% \hsize \dimexpr \useplength{PPheadwidth}-2\fboxsep\relax \sbox\@tempboxa{% {\fontsize{20.74pt}{20.74pt}\selectfont \usekomafont{PPlogo}{P.P.}}\hskip 2mm% }% \dp\@tempboxa\z@ \setlength{\@tempdima}{\hsize}% \addtolength{\@tempdima}{-\wd\@tempboxa}% \hbox{\box\@tempboxa \vbox to \dimexpr \useplength{PPheadheight}-2\fboxsep\relax{% \vss\hsize\@tempdima \raggedright \fontsize{8pt}{9pt}\selectfont\usekomafont{PPdata}% \usekomavar*{fromzipcode}\usekomavar{zipcodeseparator}% \usekomavar{fromzipcode}\scr@endstrut\\ \usekomavar{place}\scr@endstrut \hfill }% }% \vss }% }% \hskip 1mm \mbox{% \vbox to \useplength{PPheadheight}{% \addtolengthplength[-]{\hsize}{PPheadwidth}% \addtolength{\hsize}{-1mm}% \addtolengthplength[-2]{\hsize}{toaddrindent}% \setlength{\parindent}{0pt}% \fontsize{8pt}{9pt}\selectfont\usekomafont{PPdata}% \hfill\usekomavar{PPcode} \vss \ifcase \ltr@priority \or \usekomafont{priority}{% {\usekomafont{prioritykey}{B}}% -ECONOMY\hss\vskip-\dp\strutbox }% \or \usekomafont{priority}{% {\usekomafont{prioritykey}{A}}% -PRIORITY\hss\vskip-\dp\strutbox }% \fi \vss }% }% \vskip 1mm \vskip-\ht\strutbox \noindent\hskip\useplength{toaddrindent}% \hrulefill% \hskip\useplength{toaddrindent}% \vbox to\z@{\hsize\z@ \vskip \useplength{PPdatamatrixvskip}\relax \llap{\usekomavar{PPdatamatrix}\hskip\useplength{toaddrindent}}% \vss }% \else \vskip 1mm \noindent\expandafter\hskip\useplength{toaddrindent}% \vbox to \useplength{PPheadheight}{% \addtolengthplength[-2]{\hsize}{toaddrindent}% \setlength{\parindent}{0pt}% \usekomavar{addresseeimage}% \vss }% \vskip 1mm \vskip\dp\strutbox \fi \ifnum \@afieldmode=4 \else \vfil% \noindent\hskip\useplength{toaddrindent}% \setlength{\@tempdima}{\useplength{toaddrwidth}}% \addtolengthplength[-2]{\@tempdima}{toaddrindent}% \vbox{\hsize\@tempdima \Ifkomavarempty{PPdatamatrix}{}{% \addtolength{\hsize}{-2mm}% \settowidth\@tempdima{\usekomavar{PPdatamatrix}}% \addtolength{\hsize}{-\@tempdima}% }% \raggedright \usekomafont{addressee}{% {\usekomafont{toname}{\usekomavar{toname}\\}}% {\usekomafont{toaddress}{\usekomavar{toaddress}\endgraf}}}}% \fi \vss\null}% {address field}{toaddrheight}% {\string\begin{letter}}% }}}% \vskip-\useplength{toaddrvpos}\move@frompt \fi } \newcommand*{\specialmail@format}[1]{} \let\specialmail@format\underline \newcommand*{\@ogobble}[1][]{} \newcommand*{\@locfield}{% \ifdim \useplength{locwidth}=\z@% \setplength{locwidth}{\paperwidth}% \ifdim \useplength{toaddrhpos}>\z@ \addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}% \else \addtoplength[2]{locwidth}{\useplength{toaddrhpos}}% \fi \addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}% \if@bigloc% \setplength[.66667]{locwidth}{\useplength{locwidth}}% \else% \setplength[.5]{locwidth}{\useplength{locwidth}}% \fi% \fi% \ifcase\@alignfrom \or \if@logo \Ifkomavarempty{location}{\setkomavar{location}{\null}}{}% \fi \or \or \Ifkomavarempty{location}{\setkomavar{location}{\null}}{}% \or \Ifkomavarempty{location}{\setkomavar{location}{\null}}{}% \fi \Ifkomavarempty{location}{% \typeout{Location field: empty}% }{% \typeout{Location field: yes}% \ifdim \useplength{lochpos}=\z@% \setplength{lochpos}{\useplength{toaddrhpos}}% \fi \ifdim \useplength{locvpos}=\z@% \setplength{locvpos}{\useplength{toaddrvpos}}% \fi \ifdim \useplength{locheight}=\z@% \setplength{locheight}{\useplength{toaddrheight}}% \fi \move@topt\vskip\useplength{locvpos}% \vb@t@z{\noindent\makebox[0pt][l]{% \move@topl \setlengthtoplength[-]{\@tempskipa}{lochpos}% \ifdim \@tempskipa<\z@ \addtolength{\@tempskipa}{\paperwidth}% \else \addtolengthplength{\@tempskipa}{locwidth}% \fi \hskip\@tempskipa \makebox[0pt][r]{% \@savevbox{\useplength{locheight}}{% \noindent\hsize\useplength{locwidth}% \ifcase\@alignfrom \or \if@logo \Ifkomavarempty{fromlogo}{\null}{% {\raggedleft\noindent\usekomavar{fromlogo}\\ \vskip\parskip}\noindent}% \fi \or \or \if@logo \Ifkomavarempty{fromlogo}{}{% \raggedleft\usekomavar{fromlogo}\par}% \fi \raggedright {\usekomafont{fromname}\strut\ignorespaces \usekomavar{fromname}% {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% \ifdim\@tempdima=\z@ \setlength{\@tempdima}{\useplength{locwidth}}% \fi \expandafter\rule\expandafter{\the\@tempdima}{% \useplength{fromrulethickness}}% }% \fi }% \\ }% {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% \if@mobilephone \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% \ifnum\@rulefrom=2\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% \ifdim\@tempdima=\z@ \setlength{\@tempdima}{\useplength{locwidth}}% \fi \expandafter\rule\expandafter{\the\@tempdima}{% \useplength{fromrulethickness}}}% \fi \\ }% \or \raggedleft \if@logo \Ifkomavarempty{fromlogo}{}{\usekomavar{fromlogo}\par}% \fi {\usekomafont{fromname}\strut\ignorespaces \usekomavar{fromname}% {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% \ifdim\@tempdima=\z@ \setlength{\@tempdima}{\useplength{locwidth}}% \fi \expandafter\rule\expandafter{\the\@tempdima}{% \useplength{fromrulethickness}}% }% \fi }% \\ }% {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% \if@mobilephone% \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% \ifnum\@rulefrom=2\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% \ifdim\@tempdima=\z@ \setlength{\@tempdima}{\useplength{locwidth}}% \fi \expandafter\rule\expandafter{\the\@tempdima}{% \useplength{fromrulethickness}}}% \fi \\ }% \fi \usekomavar{location}% \vskip \z@ \@plus .00001fil}% {location field}{locheight}{\setkomavar}% }}% }% \vskip-\useplength{locvpos}\move@frompt }% } \newcommand*{\do@set@reffield}{} \newcommand*{\@set@reffield}[1]{% \Ifkomavarempty{#1}{}{% \settowidth{\@tempdima}{\strut\usekomafont{refvalue}\usekomavar{#1}}% \sbox\z@{\strut\usekomafont{refname}\usekomavar*{#1}}% \ifdim \@tempdima<\wd0\setlength{\@tempdima}{\wd0}\fi \if@tempswa\enskip\hfill\fi \parbox[t]{\@tempdima}{\noindent\raggedright \strut\box\z@\\\usekomafont{refvalue}\strut\usekomavar{#1}}% \@tempswatrue }% } \newcommand*{\@test@reffield}[1]{% \Ifkomavarempty{#1}{}{% \@tempswatrue }% } \newcommand*{\@set@reffields}{}% \newcommand*{\addtoreffields}[1]{% \l@addto@macro{\@set@reffields}{\do@set@reffield{#1}}% } \newcommand*{\removereffields}{% \renewcommand*{\@set@reffields}{}% } \newcommand*{\defaultreffields}{% \removereffields \addtoreffields{yourref}% \addtoreffields{yourmail}% \addtoreffields{myref}% \addtoreffields{customer}% \addtoreffields{invoice}% } \defaultreffields \newcommand*{\@datefield}{% {% \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative \ifdim\useplength{refwidth}=\z@ \if@refwide \setplength{refwidth}{\paperwidth}% \ifdim \useplength{toaddrhpos}>\z@ \setplength{refhpos}{\useplength{toaddrhpos}}% \else \setplength[-]{refhpos}{\useplength{toaddrhpos}}% \fi \addtoplength[-2]{refwidth}{\useplength{refhpos}}% \else \setplength{refwidth}{\textwidth}% \setplength{refhpos}{\oddsidemargin}% \addtoplength{refhpos}{1in}% \fi \else \ifdim\useplength{refhpos}=\z@ \begingroup \setlength\@tempdima{\textwidth}% \addtolengthplength[-]{\@tempdima}{refwidth}% \setlength\@tempdimb{\oddsidemargin}% \addtolength\@tempdimb{1in}% \setlength{\@tempdimc}{\paperwidth}% \addtolength{\@tempdimc}{-\textwidth}% \divide\@tempdimb by 32768\relax \divide\@tempdimc by 32768\relax \ifdim\@tempdimc=\z@\else \multiply\@tempdima by\@tempdimb \divide\@tempdima by\@tempdimc \fi \edef\@tempa{\noexpand\endgroup \noexpand\setplength{refhpos}{\the\@tempdima}}% \@tempa \fi\fi \@tempswafalse \move@topt\vskip\useplength{refvpos}% \@tempswafalse \let\do@set@reffield\@test@reffield \@set@reffields \ifcase \@datepos\else\@test@reffield{date}\fi \if@tempswa \@tempswafalse \rlap{\noindent\move@topl\hskip\useplength{refhpos}% \vbox{\hsize\useplength{refwidth}% \noindent \ifnum \@datepos=2 \@set@reffields \if@tempswa \@tempswafalse \@set@reffield{date}% \fi \fi \let\do@set@reffield\@set@reffield \@set@reffields% \if@tempswa \ifnum \@datepos=1 \@set@reffield{date}\fi% \sbox\z@{\usekomafont{refname}\strutbox}% \ifdim\ht\z@>\ht\strutbox \ClassWarningNoLine{scrlttr2}{% Font element `refname' should not be larger than \string\normalsize!}% \fi \sbox\z@{\usekomafont{refvalue}\strutbox}% \ifdim\ht\z@>\ht\strutbox \ClassWarningNoLine{scrlttr2}{% Font element `refvalue' should not be larger than \string\normalsize!}% \fi \else \ifcase \@datepos\else \ifnum \@datepos=1 \enskip\hfill\fi {\usekomafont{placeanddate}{\Ifkomavarempty{place}{}{% \usekomavar{place}\usekomavar{placeseparator}}% \usekomavar{date}}}% \fi \fi }% }% \fi \vskip\useplength{refaftervskip}% }% } \newcommand*{\@makelettertitle}{% \Ifkomavarempty{title}{% \typeout{Title: no}% }{% \typeout{Title: yes}% {\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative \centering\LARGE\usekomafont{lettertitle}\usekomavar{title}\par}% \vskip\baselineskip% }% } \newcommand*{\@subjfield}{{% \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative \Ifkomavarempty{subject}{% \typeout{Subject: no}% }{% \ifx\raggedsubject\@empty \ifdim\useplength{subjectvpos}=\z@ \if@subjafter% \typeout{Subject: after opening}% \let\raggedsubject\centering% \else \typeout{Subject: before opening}% \def\raggedsubject{\noindent\@hangfrom}% \fi \else \typeout{Subject: at absolute vertical position}% \def\raggedsubject{\noindent\@hangfrom}% \fi \fi \ifdim\useplength{subjectvpos}=\z@ \vskip\useplength{subjectbeforevskip}% \begingroup \else \move@topt\vskip\useplength{subjectvpos}% \expandafter\vb@t@z\expandafter{% \fi \usekomafont{lettersubject}% \raggedsubject{\if@subj \subject@format{\strut\ignorespaces \usekomavar*{subject}}\fi}% \subject@format{\strut\ignorespaces\usekomavar{subject}}\par \ifdim\useplength{subjectvpos}=\z@ \endgroup \vskip\useplength{subjectaftervskip}% \else }% \vskip-\useplength{subjectvpos}\move@frompt \fi }% }% } \newplength{subjectvpos} \setplength{subjectvpos}{0pt} \newplength{subjectaftervskip} \setplength{subjectaftervskip}{2\baselineskip} \newplength{subjectbeforevskip} \setplength{subjectbeforevskip}{0pt} \newkomavar{nexthead} \setkomavar{nexthead}{% \rlap{\parbox[c]{\textwidth}{\raggedright\strut \ifnum\@pageat=0\pagemark\else\leftmark\fi\strut}}% \parbox[c]{\textwidth}{% \centering\strut \ifcase\@pageat \rightmark \or \pagemark \or \rightmark \fi\strut}% \llap{\parbox[c]{\textwidth}{\raggedleft\strut \ifcase\@pageat \leftmark \or \rightmark \or \pagemark \else \rightmark \fi\strut}}% }% \newcommand{\nexthead}{% \ClassWarning{scrlttr2}{% Deprecated usage of \string\nexthead.\MessageBreak You should use \string\setkomavar{nexthead}\MessageBreak instead of \string\nexthead } \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}% } \newkomavar{nextfoot} \setkomavar{nextfoot}{% \ifnum\@pageat>2 \parbox[c]{\textwidth}{% \ifcase\@pageat\or\or\or\raggedright\or\centering\or\raggedleft\fi \strut\pagemark% }% \fi } \newcommand{\nextfoot}{% \ClassWarning{scrlttr2}{% Deprecated usage of \string\nextfoot.\MessageBreak You should use \string\setkomavar{nextfoot}\MessageBreak instead of \string\nextfoot } \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}% } \newenvironment{letter}[2][]{% \if@twocolumn \ClassWarning{\KOMAClassName}{% twocolumn mode not supported.\MessageBreak If you really want a twocolumned letter, you should\MessageBreak use package `multicol' and add a `multicols'\MessageBreak environment inside your letter.\MessageBreak Switching back to oneside% }% \letter@restonecoltrue \expandafter\onecolumn \else \letter@restonecolfalse \fi \cleardoubleoddemptypage \raggedbottom \scr@ifundefinedorrelax{letterpagestyle}{}{% \ifx\letterpagestyle\@empty\else \pagestyle{\letterpagestyle}% \fi }% \refstepcounter{letter}% \let\thisletter\@currentlabel \setcounter{page}{\@ne}% \setcounter{footnote}{0}% \interlinepenalty=200\@processto{#2}% \KOMAoptions{#1}% \@beginletterhook }{% \stopletter \let\@currentlabel\thisletter \label{\thisletter.lastpage}% \@@par\pagebreak\@@par% \ifletter@restonecol\twocolumn\fi } \newif\ifletter@restonecol \newcommand*{\thisletter}{outside.letter.undefined} \newcommand*{\letterlastpage}{\pageref{\thisletter.lastpage}} \newcommand*{\stopletter}{} \newcommand{\@processto}[1]{% \IfArgIsEmpty{#1}{% }{% \expandafter\@xproc#1\\\@nil \ifx\reserved@b\@empty\else\expandafter\@xproc#1\@nil\fi \edef\reserved@a{% \noexpand\setkomavar{toname}{\unexpanded\expandafter{\reserved@a}}% \noexpand\setkomavar{toaddress}{\unexpanded\expandafter{\reserved@b}}% }\reserved@a }% } \newcommand*{\@xproc}{} \long\def\@xproc#1\\#2\@nil{% \def\reserved@a{#1}\def\reserved@b{#2}% } \g@addto@macro\flushbottom{% \AtEndLetter{\vskip \z@\@plus.0001fil\relax}% } \newcounter{letter} \newcommand*{\letterpagestyle}{% } \newcommand{\AtBeginLetter}{\g@addto@macro\@beginletterhook} \newcommand{\@beginletterhook}{} \newcommand{\AtEndLetter}{\g@addto@macro\stopletter} \newcommand*{\stopbreaks}{\interlinepenalty \@M \def\par{\@@par\nobreak}\let\\=\@nobreakcr \let\vspace\@nobreakvspace} \DeclareRobustCommand*{\@nobreakvspace}{% \kernel@ifstar{\@nobreakvspacex}{\@nobreakvspacex}} \newcommand*{\@nobreakvspacex}[1]{\ifvmode\nobreak\vskip #1\relax\else \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi} \newcommand*{\@nobreakcr}{\kernel@ifstar{\@normalcr*}{\@normalcr*}} \newcommand*{\startbreaks}{\let\\=\@normalcr \interlinepenalty 200\def\par{\@@par\penalty 200\relax}} \newcommand{\opening}[1]{% \@PapersizeWarning \@gen@firsthead \@mkboth{\scr@fromname@var}{\scr@subject@var}% \thispagestyle{empty}% \noindent \@foldmarks\@firstheadfootfield \@addrfield\@locfield \ifdim\useplength{subjectvpos}=\z@\else\@subjfield\fi \@datefield \@makelettertitle \ifdim\useplength{subjectvpos}=\z@\if@subjafter\else\@subjfield\fi\fi {\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative#1\par}% {\setlength{\@tempdima}{\baselineskip}% \addtolength{\@tempdima}{-\parskip}% \ifdim \@tempdima>\z@\vskip\@tempdima\fi}% \ifdim\useplength{subjectvpos}=\z@\if@subjafter\@subjfield\fi\fi \@afterindentfalse\@afterheading } \newcommand*{\closing}[1]{{% \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative\nobreak\par \nobreak\vskip\baselineskip \stopbreaks\noindent \settowidth{\@tempdima}{% \begin{tabular}{@{}l@{}} #1\tabularnewline \usekomavar{signature}\tabularnewline \end{tabular}% }% \setlength{\@tempdimb}{\hsize}% \addtolength{\@tempdimb}{-\useplength{sigindent}}% \ifdim\@tempdima>\@tempdimb\setlength{\@tempdima}{\@tempdimb}\fi \hspace{\useplength{sigindent}}% \parbox{\@tempdima}{\raggedsignature\strut\ignorespaces #1\ifhmode\scr@endstrut\\[\useplength{sigbeforevskip}] \else\vskip \useplength{sigbeforevskip}\fi \strut\ignorespaces \usekomavar{signature}\ifhmode\scr@endstrut\fi}}\par \nobreak\vskip\baselineskip } \newcommand\ps{\par% \ifdim\parskip=\z@ \vskip\baselineskip \fi\startbreaks\noindent\ignorespaces } \newcommand*{\cc}[1]{\par% \ifdim\parskip=\z@% \vskip\baselineskip% \fi\noindent% \begingroup \parbox[t]{\textwidth}{% \Ifkomavarempty*{ccseparator}{}{% \@hangfrom{% \strut\usekomavar*{ccseparator}\usekomavar{ccseparator}}% }% \ignorespaces #1\strut}% \setlength{\parfillskip}{\z@ \@plus 1fil}\par \endgroup } \newcommand*{\encl}[1]{\par% \ifdim\parskip=\z@% \vskip\baselineskip% \fi\noindent% \begingroup \parbox[t]{\textwidth}{% \Ifkomavarempty*{enclseparator}{}{% \@hangfrom{% \strut\usekomavar*{enclseparator}\usekomavar{enclseparator}}% }% \ignorespaces #1\strut}% \setlength{\parfillskip}{\z@ \@plus 1fil}\par \endgroup } \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}{}{% \strut\ignorespaces\usekomavar{fromname}% \Ifkomavarempty{fromaddress}{}{\\}}% \Ifkomavarempty{fromaddress}{}{% \strut\ignorespaces\usekomavar{fromaddress}}% } \newkomavar[\usekomavar{place}]{placeseparator} \setkomavar{placeseparator}{,\nobreakspace} \newkomavar[\subjectname]{subjectseparator} \setkomavar{subjectseparator}{: } \newkomavar[\ccname]{ccseparator} \setkomavar{ccseparator}{: } \newkomavar[\enclname]{enclseparator} \setkomavar{enclseparator}{: } \newkomavar{backaddressseparator} \setkomavar{backaddressseparator}{,\nobreakspace} \newkomavar[\if@scrsymbols\scr@symbol@phone\else\phonename\fi]{phoneseparator} \setkomavar{phoneseparator}{\if@scrsymbols\else:\fi\nobreakspace} \newkomavar[% \if@scrsymbols\scr@symbol@mobilephone\else\mobilephonename\fi ]{mobilephoneseparator} \setkomavar{mobilephoneseparator}{\usekomavar{phoneseparator}} \newkomavar[\if@scrsymbols\scr@symbol@fax\else\faxname\fi]{faxseparator} \setkomavar{faxseparator}{\if@scrsymbols\else:\fi\nobreakspace} \newkomavar[\if@scrsymbols\scr@symbol@email\else\emailname\fi]{emailseparator} \setkomavar{emailseparator}{\if@scrsymbols\else:\fi\nobreakspace} \newkomavar[\if@scrsymbols\scr@symbol@www\else\wwwname\fi]{urlseparator} \setkomavar{urlseparator}{\if@scrsymbols\else:\nobreakspace\fi} \newkomavar{zipcodeseparator} \setkomavar{zipcodeseparator}{\,--\,} \newkomavar[\headfromname]{fromname} \newkomavar[\usekomavar{fromname}]{fromaddress} \newkomavar[\headtoname]{toname} \newkomavar[\usekomavar{toname}]{toaddress} \newkomavar[\usekomavar*{phoneseparator}% \usekomavar{phoneseparator}]{fromphone} \newkomavar[\usekomavar*{mobilephoneseparator}% \usekomavar{mobilephoneseparator}]{frommobilephone} \newkomavar[\usekomavar*{faxseparator}% \usekomavar{faxseparator}]{fromfax} \newkomavar[\usekomavar*{emailseparator}% \usekomavar{emailseparator}]{fromemail} \newkomavar[\usekomavar*{urlseparator}% \usekomavar{urlseparator}]{fromurl} \newkomavar[\bankname]{frombank} \newkomavar[\yourrefname]{yourref} \newkomavar[\yourmailname]{yourmail} \newkomavar[\myrefname]{myref} \newkomavar[\customername]{customer} \newkomavar[\invoicename]{invoice} \newkomavar[\usekomavar*{subjectseparator}% \usekomavar{subjectseparator}]{subject} \newkomavar[\datename]{date} \setkomavar{date}{\@date} \newcommand*{\scr@saved@date}{} \let\scr@saved@date\date \renewcommand*{\date}[1]{% \ClassWarning{\KOMAClassName}{% \string\date\space changes the internal \string\LaTeX\space date only.\MessageBreak You should note that this changes the default\MessageBreak value of variable `date' only as long as nobody\MessageBreak uses `\string\setkomavar` to change the content of\MessageBreak variable `date'.\MessageBreak Therefore, usage of `\string\setkomavar' is recommended\MessageBreak to change the letter's date% }% \scr@saved@date{#1}% } %%% From File: $Id: scrkernel-addressfiles.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newcommand*{\adrentry}[7]{% \ClassWarning{\KOMAClassName}{% command `\string\adrentry' is deprecated.\MessageBreak You should use `\string\addrentry' with additional\MessageBreak empty 8th argument}% \addrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{}} \newcommand*{\addrentry}[9]{\def\@tempa{#1}\ifx \@tempa\@empty \else \def\@tempa{#2}\ifx \@tempa\@empty \expandafter\def\csname #9\endcsname{#1\\#3}% \else \expandafter\def\csname #9\endcsname{#2 #1\\#3}% \fi \fi} \newcommand*{\adrchar}{% \ClassWarning{\KOMAClassName}{% command `\string\adrchar' is deprecated.\MessageBreak You should use `\string\addrchar'} \addrchar} \newcommand*{\addrchar}[1]{} %%% From File: $Id: scrlogo.dtx 4032 2023-04-17 09:45:11Z kohm $ \RequirePackage{scrlogo} \endinput %% %% End of file `scrlttr2.cls'.