You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5069 lines
173 KiB
5069 lines
173 KiB
%%
|
|
%% 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-circularletters.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-circularletters.dtx (with options: `class,letter,body')
|
|
%% scrlogo.dtx (with options: `logo')
|
|
%%
|
|
%% Copyright (c) 1994-2019 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.txt'. 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
|
|
%% <http://mirror.ctan.org/tex-archive/macros/latex/base/>.
|
|
%%
|
|
%%% From File: $Id: scrkernel-version.dtx 3510 2020-07-22 13:29:13Z 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{2020/07/22 v3.31 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}[%
|
|
2020/07/22 v3.31 KOMA-Script
|
|
document class (\ClassName)%
|
|
]
|
|
%%% From File: $Id: scrkernel-basics.dtx 3465 2020-03-07 10:23:56Z kohm $
|
|
%%% (run: load)
|
|
\RequirePackage{scrkbase}[\KOMAScriptVersion]
|
|
%%% From File: $Id: scrkernel-compatibility.dtx 3492 2020-06-02 09:02:18Z 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@last}{18}
|
|
%%% From File: $Id: scrkernel-typearea.dtx 3488 2020-04-27 13:04:43Z kohm $
|
|
%%% (run: init)
|
|
%%% From File: $Id: scrkernel-compatibility.dtx 3492 2020-06-02 09:02:18Z 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}%
|
|
}%
|
|
}
|
|
\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}
|
|
}
|
|
%%% From File: $Id: scrkernel-miscellaneous.dtx 3487 2020-04-27 07:19:23Z 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}
|
|
\KOMA@ifkey{egregdoesnotlikesansseriftitles}{@egregdoesnotlikesansseriftitles}
|
|
\newcommand*{\@gr@gsffamily}{%
|
|
\if@egregdoesnotlikesansseriftitles\else\sffamily\fi
|
|
}
|
|
%%% From File: $Id: scrkernel-letterclassoptions.dtx 3453 2020-02-25 07:33:30Z kohm $
|
|
%%% (run: option)
|
|
\newcommand*{\lco@test}{%
|
|
\IfFileExists{\CurrentOption.lco}{%
|
|
\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 3480 2020-04-13 09:39:03Z 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
|
|
}{orgdate}{true}
|
|
\KOMA@DeclareDeprecatedOption{scrdate}{numericaldate=true}
|
|
\KOMA@DeclareDeprecatedOption{orgdate}{numericaldate=false}
|
|
%%% From File: $Id: scrkernel-fonts.dtx 3390 2019-11-18 17:09:35Z 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}%
|
|
}{%
|
|
\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@@
|
|
}
|
|
%%% From File: $Id: scrkernel-variables.dtx 3393 2019-11-19 10:33:44Z kohm $
|
|
%%% (run: option)
|
|
%%% From File: $Id: scrkernel-pseudolengths.dtx 3262 2019-10-10 08:25:29Z kohm $
|
|
%%% (run: option)
|
|
%%% From File: $Id: scrkernel-typearea.dtx 3488 2020-04-27 13:04:43Z 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 3262 2019-10-10 08:25:29Z 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}
|
|
\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}
|
|
\newcommand*{\scr@parindent}{1em}
|
|
\newcommand*{\scr@parskip}{\z@}
|
|
\newcommand*{\scr@parfillskip}{\z@ \@plus 1fil}
|
|
\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 3393 2019-11-19 10:33:44Z 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 \@nameuse{scr@v@2.98c}<\scr@compatibility\relax
|
|
\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 3394 2019-11-19 11:56:28Z kohm $
|
|
%%% (run: option)
|
|
%%% From File: $Id: scrkernel-footnotes.dtx 3390 2019-11-18 17:09:35Z 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 3394 2019-11-19 11:56:28Z kohm $
|
|
%%% (run: option)
|
|
%%% From File: $Id: scrkernel-notepaper.dtx 3472 2020-03-27 11:01:45Z 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*{\if@afield}{%
|
|
\ClassWarning{\KOMAClassName}{%
|
|
Usage of \string\if@afield\space deprecated.\MessageBreak
|
|
Internal macro \string\if@afield\space was removed at\MessageBreak
|
|
KOMA-Script version 3.03. I'll replace the usage of\MessageBreak
|
|
\string\if@afield\space by \string\ifnum
|
|
\string\@afieldmode=\string\@ne.\MessageBreak
|
|
This may result in errors. A better solution would be\MessageBreak
|
|
to change the code}%
|
|
\ifnum \@afieldmode=\@ne}
|
|
\newcommand*{\@afieldtrue}{%
|
|
\ClassWarning{\KOMAClassName}{%
|
|
Usage of \string\if@afield\space deprecated.\MessageBreak
|
|
Internal macro \string\if@afield\space was removed at\MessageBreak
|
|
KOMA-Script version 3.03. I'll replace the usage of\MessageBreak
|
|
\string\@afieldtrue\space by
|
|
\string\KOMAoptions{addrfield=true}.\MessageBreak
|
|
This may result in errors. A better solution would be\MessageBreak
|
|
to change the code}%
|
|
\KOMAoptions{addrfield=true}}
|
|
\newcommand*{\@afieldfalse}{%
|
|
\ClassWarning{\KOMAClassName}{%
|
|
Usage of \string\if@afield\space deprecated.\MessageBreak
|
|
Internal macro \string\if@afield\space was removed at\MessageBreak
|
|
KOMA-Script version 3.03. I'll replace the usage of\MessageBreak
|
|
\string\@afieldfalse\space by
|
|
\string\KOMAoptions{addrfield=false}.\MessageBreak
|
|
This may result in errors. A better solution would be\MessageBreak
|
|
to change the code}%
|
|
\KOMAoptions{addrfield=false}}
|
|
\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}{1},%
|
|
{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-circularletters.dtx 3262 2019-10-10 08:25:29Z kohm $
|
|
%%% (run: option)
|
|
%%% From File: $Id: scrkernel-miscellaneous.dtx 3487 2020-04-27 07:19:23Z kohm $
|
|
%%% (run: execoption)
|
|
\KOMAExecuteOptions{%
|
|
parskip=false,%
|
|
}
|
|
\KOMAProcessOptions\relax
|
|
%%% From File: $Id: scrkernel-compatibility.dtx 3492 2020-06-02 09:02:18Z kohm $
|
|
%%% (run: body)
|
|
\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 3390 2019-11-18 17:09:35Z 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\normalsize{%
|
|
\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
|
|
}%
|
|
\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\small{%
|
|
\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
|
|
}%
|
|
\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\footnotesize{%
|
|
\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
|
|
}%
|
|
\setlength{\@tempdima}{.66667\@tempdimc}%
|
|
\setlength{\@tempdimb}{\@tempb\@tempdima}%
|
|
\edef\scriptsize{%
|
|
\noexpand\@setfontsize\noexpand\scriptsize
|
|
{\the\@tempdima}{\the\@tempdimb}%
|
|
}%
|
|
\setlength{\@tempdima}{.5\@tempdimc}%
|
|
\setlength{\@tempdimb}{\@tempb\@tempdima}%
|
|
\edef\tiny{%
|
|
\noexpand\@setfontsize\noexpand\tiny
|
|
{\the\@tempdima}{\the\@tempdimb}%
|
|
}%
|
|
\setlength{\@tempdima}{1.2\@tempdimc}%
|
|
\setlength{\@tempdimb}{\@tempb\@tempdima}%
|
|
\edef\large{%
|
|
\noexpand\@setfontsize\noexpand\large
|
|
{\the\@tempdima}{\the\@tempdimb}%
|
|
}%
|
|
\setlength{\@tempdima}{1.44\@tempdimc}%
|
|
\setlength{\@tempdimb}{\@tempb\@tempdima}%
|
|
\edef\Large{%
|
|
\noexpand\@setfontsize\noexpand\Large
|
|
{\the\@tempdima}{\the\@tempdimb}%
|
|
}%
|
|
\setlength{\@tempdima}{1.728\@tempdimc}%
|
|
\setlength{\@tempdimb}{\@tempb\@tempdima}%
|
|
\edef\LARGE{%
|
|
\noexpand\@setfontsize\noexpand\LARGE
|
|
{\the\@tempdima}{\the\@tempdimb}%
|
|
}%
|
|
\setlength{\@tempdima}{2.074\@tempdimc}%
|
|
\setlength{\@tempdimb}{\@tempb\@tempdima}%
|
|
\edef\huge{%
|
|
\noexpand\@setfontsize\noexpand\huge
|
|
{\the\@tempdima}{\the\@tempdimb}%
|
|
}%
|
|
\setlength{\@tempdima}{2.488\@tempdimc}%
|
|
\setlength{\@tempdimb}{\@tempb\@tempdima}%
|
|
\edef\Huge{%
|
|
\noexpand\@setfontsize\noexpand\Huge
|
|
{\the\@tempdima}{\the\@tempdimb}%
|
|
}%
|
|
\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
|
|
\DeclareOldFontCommand{#1}{%
|
|
\scr@ErrorWarningInfo{#1}{#2}#2%
|
|
}{%
|
|
\scr@ErrorWarningInfo{#1}{#3}#3%
|
|
}%
|
|
\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 3487 2020-04-27 07:19:23Z 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
|
|
}
|
|
\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{minitoc}{}
|
|
\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 3453 2020-02-25 07:33:30Z 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 3480 2020-04-13 09:39:03Z 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 3393 2019-11-19 10:33:44Z 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 3262 2019-10-10 08:25:29Z kohm $
|
|
%%% (run: body)
|
|
\newcommand*{\if@plength}[1]{%
|
|
\@ifundefined{ltr@len@#1}{\@secondoftwo}{\@firstoftwo}%
|
|
}
|
|
\newcommand*{\Ifplength}{\if@plength}
|
|
\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}{\@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}{\@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}{\@addtoplength}
|
|
%%% From File: $Id: scrkernel-typearea.dtx 3488 2020-04-27 13:04:43Z 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 3262 2019-10-10 08:25:29Z kohm $
|
|
%%% (run: body)
|
|
\setlength{\lineskip}{\p@}
|
|
\setlength{\normallineskip}{\p@}
|
|
\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*{\par@updaterelative}{%
|
|
\begingroup
|
|
\edef\@tempa{\the\parindent}\ifx\@tempa\f@parindent
|
|
\aftergroup\parindent@update
|
|
\fi
|
|
\edef\@tempa{\the\parskip}\ifx\@tempa\f@parskip
|
|
\aftergroup\parskip@update
|
|
\fi
|
|
\edef\@tempa{\the\parfillskip}\ifx\@tempa\f@parfillskip
|
|
\aftergroup\parfillskip@update
|
|
\fi
|
|
\endgroup
|
|
}
|
|
\newcommand*{\parindent@update}{%
|
|
\scr@defaultunits\parindent\scr@parindent
|
|
\begingroup
|
|
\let\@tempb\endgroup
|
|
\edef\@tempa{\the\parindent}\ifx\@tempa\f@parindent\else
|
|
\def\@tempb{\endgroup\edef\f@parindent{\the\parindent}}%
|
|
\fi
|
|
\@tempb
|
|
}
|
|
\newcommand*{\parskip@update}{%
|
|
\scr@defaultunits\parskip\scr@parskip
|
|
\begingroup
|
|
\let\@tempb\endgroup
|
|
\edef\@tempa{\the\parskip}\ifx\@tempa\f@parskip\else
|
|
\def\@tempb{\endgroup\edef\f@parskip{\the\parskip}}%
|
|
\fi
|
|
\@tempb
|
|
}
|
|
\newcommand*{\parfillskip@update}{%
|
|
\scr@defaultunits\parfillskip\scr@parfillskip
|
|
\begingroup
|
|
\let\@tempb\endgroup
|
|
\edef\@tempa{\the\parfillskip}\ifx\@tempa\f@parfillskip\else
|
|
\def\@tempb{\endgroup\edef\f@parfillskip{\the\parfillskip}}%
|
|
\fi
|
|
\@tempb
|
|
}
|
|
\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 3393 2019-11-19 10:33:44Z 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 3394 2019-11-19 11:56:28Z kohm $
|
|
%%% (run: body)
|
|
\newcommand\marginline[1]{%
|
|
\marginpar[\raggedleft{#1}]{\raggedright #1}%
|
|
}
|
|
%%% From File: $Id: scrkernel-footnotes.dtx 3390 2019-11-18 17:09:35Z 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{%
|
|
\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%
|
|
}%
|
|
\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}{}
|
|
\newcommand*{\scr@fnt@footnotenumber}{\ftnm@font}
|
|
\newcommand*{\scr@fnt@footnotelabel}{\ftnm@font}
|
|
\newcommand*{\scr@fnt@instead@footnotetext}{footnote}
|
|
\newcommand*\deffootnotemark[1]{%
|
|
\def\@makefnmark{\hbox{\ftntm@font{#1}}}%
|
|
}
|
|
\newcommand*{\ftntm@font}{}
|
|
\newcommand*{\scr@fnt@footnotereference}{\ftntm@font}
|
|
\newcommand*{\scr@fnt@footnoteref}{\ftntm@font}
|
|
\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}}
|
|
\newcommand*{\footref}[1]{%
|
|
\begingroup
|
|
\unrestored@protected@xdef\@thefnmark{\ref{#1}}%
|
|
\endgroup
|
|
\@footnotemark
|
|
}
|
|
%%% From File: $Id: scrkernel-listsandtabulars.dtx 3394 2019-11-19 11:56:28Z 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
|
|
\setlength\arraycolsep{5\p@}
|
|
\setlength\tabcolsep{6\p@}
|
|
\setlength\arrayrulewidth{.4\p@}
|
|
\setlength\doublerulesep{2\p@}
|
|
\setlength\tabbingsep{\labelsep}
|
|
\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{\textbullet}
|
|
\newcommand*\labelitemii{\normalfont\bfseries\textendash}
|
|
\newcommand*\labelitemiii{\textasteriskcentered}
|
|
\newcommand*\labelitemiv{\textperiodcentered}
|
|
\newenvironment{description}{%
|
|
\list{}{\labelwidth\z@ \itemindent-\leftmargin
|
|
\let\makelabel\descriptionlabel}%
|
|
}{%
|
|
\endlist
|
|
}
|
|
\newcommand*{\descriptionlabel}[1]{%
|
|
\hspace{\labelsep}\descfont #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{\@gr@gsffamily\bfseries}
|
|
\newcommand*{\scr@fnt@descriptionlabel}{\descfont}
|
|
\newkomafont{labelinglabel}{}
|
|
\newkomafont{labelingseparator}{}
|
|
%%% From File: $Id: scrkernel-notepaper.dtx 3472 2020-03-27 11:01:45Z kohm $
|
|
%%% (run: body)
|
|
\newcommand*{\@firsthead}{%
|
|
\ClassWarning{scrlttr2}{%
|
|
Deprecated usage of \string\@firsthead.\MessageBreak
|
|
\string\usekomavar{firsthead} should be used\MessageBreak
|
|
instead of \string\@firsthead
|
|
}%
|
|
\usekomavar{firsthead}%
|
|
}
|
|
\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
|
|
You should use \string\setkomavar{firsthead}\MessageBreak
|
|
instead of \string\firsthead
|
|
}
|
|
\setkomavar{firsthead}%
|
|
}
|
|
\newkomafont{foldmark}{}
|
|
\newkomafont{fromname}{}
|
|
\newkomafont{fromaddress}{}
|
|
\newkomafont{fromrule}{}
|
|
\newkomafont{backaddress}{\@gr@gsffamily}
|
|
\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}{\@gr@gsffamily\scriptsize}
|
|
\ifnum\scr@compatibility=\@nameuse{scr@v@2.97}\relax
|
|
\newkomafont{refvalue}{\sffamily\scriptsize}
|
|
\else
|
|
\newkomafont{refvalue}{}
|
|
\fi
|
|
\newkomafont{placeanddate}{}
|
|
\newkomafont{lettertitle}{\normalcolor\@gr@gsffamily\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}
|
|
\newcommand*{\@nexthead}{%
|
|
\ClassWarning{scrlttr2}{%
|
|
Deprecated usage of \string\@nexthead.\MessageBreak
|
|
\string\usekomavar{nexthead} should be used\MessageBreak
|
|
instead of \string\@nexthead
|
|
}%
|
|
\usekomavar{nexthead}%
|
|
}
|
|
\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*{\@nextfoot}{%
|
|
\ClassWarning{scrlttr2}{%
|
|
Deprecated usage of \string\@nextfoot.\MessageBreak
|
|
\string\usekomavar{nextfoot} should be used\MessageBreak
|
|
instead of \string\@nextfoot
|
|
}%
|
|
\usekomavar{nextfoot}%
|
|
}
|
|
\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}%
|
|
}
|
|
\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{%
|
|
\g@addto@macro\stopletter{\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}
|
|
\newcommand*{\@nobreakvspace}{%
|
|
\kernel@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
|
|
\newcommand*{\@nobreakvspacex}[1]{\ifvmode\nobreak\vskip #1\relax\else
|
|
\@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
|
|
\newcommand*{\@nobreakcr}{%
|
|
\vadjust{\penalty\@M}\kernel@ifstar{\@xnewline}{\@xnewline}}
|
|
\newcommand*{\startbreaks}{\let\\=\@normalcr
|
|
\interlinepenalty 200\def\par{\@@par\penalty 200}}
|
|
\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{signature}
|
|
\setkomavar{signature}{\usekomavar{fromname}}
|
|
\newkomavar{place}
|
|
\newkomavar{location}
|
|
\newkomavar{backaddress}
|
|
\setkomavar{backaddress}{%
|
|
\Ifkomavarempty{fromname}{}{%
|
|
\strut\ignorespaces\usekomavar{fromname}%
|
|
\Ifkomavarempty{fromaddress}{}{\\}}%
|
|
\Ifkomavarempty{fromaddress}{}{%
|
|
\strut\ignorespaces\usekomavar{fromaddress}}%
|
|
}
|
|
\newkomavar{specialmail}
|
|
\newkomavar{title}
|
|
\newkomavar{fromlogo}
|
|
\newkomavar{fromzipcode}
|
|
\newkomavar{PPcode}
|
|
\newkomavar{PPdatamatrix}
|
|
\newkomavar{addresseeimage}
|
|
\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-circularletters.dtx 3262 2019-10-10 08:25:29Z kohm $
|
|
%%% (run: body)
|
|
\newcommand*{\adrentry}[7]{%
|
|
\addrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{}}
|
|
\newcommand*{\adrchar}{\addrchar}
|
|
\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*{\addrchar}[1]{}
|
|
%%% From File: $Id: scrlogo.dtx 2640 2017-05-08 09:36:55Z kohm $
|
|
\@ifundefined{KOMAScript}{%
|
|
\DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em%
|
|
M\kern.05em A\kern.1em-\kern.1em Script}}}{}
|
|
\endinput
|
|
%%
|
|
%% End of file `scrlttr2.cls'.
|
|
|