summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls')
-rw-r--r--Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls2486
1 files changed, 2486 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls b/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls
new file mode 100644
index 00000000000..156984b84a5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls
@@ -0,0 +1,2486 @@
+%%
+%% This is file `scrlttr2.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% scrclass.dtx (with options: `class,scrlettr')
+%% scrlogo.dtx
+%%
+%% Copyright (C) 1994-2004 Markus Kohm.
+%%
+%% All rights reserved. For further copyright information see the file
+%% LEGAL.TXT or LEGALDE.TXT.
+%%
+%% This file is part of the LaTeX2e KOMA-Script bundle.
+%% ----------------------------------------------------
+%%
+%% The KOMA-Script bundle bases on the Script-family created by
+%% Frank Neukam 1993 and the standard documents classes created
+%% by the LaTeX3-Team 1994-1996.
+%% ------------------------------------------------------------------------
+%%
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For error reports in case of UNCHANGED versions see documentation.
+%%
+%% Please do not request updates from us directly. Distribution is
+%% done through Mail-Servers, Mailboxes and TeX organizations.
+%%
+%% You are not allowed to change this file.
+%%
+%% You are allowed to distribute this file under the condition that
+%% it is distributed together with all files mentioned in readme.txt
+%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further
+%% information.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{%
+ scrlttr2%
+ }
+ [2004/09/16 v2.9t LaTeX2e KOMA
+ document class]
+\RequirePackage{keyval}
+\newcommand*{\KOMA@key}{\define@key{KOMA}}
+\newcommand*{\KOMAoptions}[1]{%
+ \@ifundefined{scr@save@KV@errx}{%
+ \let\scr@save@KV@errx=\KV@errx
+ \renewcommand*{\KV@errx}[1]{%
+ \ClassError{%
+ scrlttr2%
+ }{unknown KOMA option `#1'}{%
+ You've tried to use the KOMA option `#1'.\MessageBreak
+ But there is no KOMA option with that name.\MessageBreak
+ See the manual of KOMA-Script for information about known koma
+ options.}}%
+ \setkeys{KOMA}{#1}%
+ \let\KV@errx=\scr@save@KV@errx
+ \let\scr@save@KV@errx=\relax
+ }{%
+ \setkeys{KOMA}{#1}%
+ }\ignorespaces%
+}
+\newcommand*{\AfterProcessOptions@hook}{}
+\newcommand*{\AfterProcessOptions}[1]{%
+ \g@addto@macro{\AfterProcessOptions@hook}{#1}%
+}
+\newcommand*{\@setif}[3][]{%
+ \begingroup%
+ \edef\@tempa{#1}
+ \ifx\@tempa\@empty\def\@tempc{@#2}\else\def\@tempc{#1}\fi
+ \edef\@tempa{#3}\def\@tempb{on}\ifx\@tempa\@tempb
+ \def\@tempa{true}%
+ \else\def\@tempb{off}\ifx\@tempa\@tempb
+ \def\@tempa{false}%
+ \fi\fi%
+ \@ifundefined{\@tempc\@tempa}{%
+ \ClassError{%
+ scrlttr2%
+ }{You've used an unknown switch or value}{%
+ You've tried to set switch `#2' to value `#3', but there's
+ either no\MessageBreak%
+ switch `#2' defined or `#3' is not a switch
+ value.\MessageBreak%
+ Allowed switch values are `true', `false', `on',
+ `off'\@setif@alsoerr.}
+ \let\@tempa\endgroup
+ }{%
+ \edef\@tempa{\endgroup\noexpand\@nameuse{\@tempc\@tempa}}
+ }
+ \@tempa
+ \let\@setif@alsoerr=\@empty
+ }
+\newcommand*{\@setif@alsoerr}{}
+\newcommand*{\@setxif}[5][]{%
+ \begingroup%
+ \edef\@tempa{#1}
+ \ifx\@tempa\@empty\def\@tempc{@#2}\else\def\@tempc{#1}\fi
+ \@ifundefined{\@tempc true}{%
+ \ClassError{%
+ scrlttr2%
+ }{You've used an unknown switch}{%
+ You've tried to set switch `#2' to value `#3', but
+ there's no\MessageBreak
+ switch `#2' defined.}
+ \let\@tempa\endgroup
+ }{%
+ \edef\@tempa{#3}\edef\@tempb{#4}\ifx\@tempa\@tempb
+ \edef\@tempa{\endgroup\noexpand\@nameuse{\@tempc true}}
+ \else\def\@tempb{#5}\ifx\@tempa\@tempb
+ \edef\@tempa{\endgroup\noexpand\@nameuse{\@tempc false}}
+ \else
+ \ClassError{%
+ scrlttr2%
+ }{You've used an unknown switch value}{%
+ You've tried to set switch `#2' to value `#3', but allowed
+ switch\MessageBreak
+ values are `#4', `#5'\@setif@alsoerr\space only.}
+ \let\@tempa\endgroup
+ \fi\fi%
+ }
+ \@tempa
+ \let\@setif@alsoerr=\@empty
+ }
+\newcommand*{\@setnumstate}[4]{%
+ \begingroup
+ \edef\@searched{#4}%
+ \let\@tempa=\@empty
+ \let\@tempb=\@empty
+ \@tempswafalse
+ \@for\@valuelist:=#3\do{%
+ \if@tempswa\else
+ \edef\@tempc{\expandafter\@firstoftwo\@valuelist}%
+ \edef\@tempa{\@tempa\@tempb`\@tempc'}%
+ \edef\@tempb{, }%
+ \ifx\@tempc\@searched
+ \@tempswatrue
+ \edef\@tempa{\expandafter\@secondoftwo\@valuelist}%
+ \fi
+ \fi
+ }
+ \if@tempswa
+ \edef\@tempa{\endgroup
+ \noexpand\renewcommand*{\noexpand#1}{\@tempa}}
+ \else
+ \ClassError{%
+ scrlttr2%
+ }{You've used an unknown option value}{%
+ You've tried to set option `#2' to value `#4',
+ but allowed values\MessageBreak
+ are only:\MessageBreak
+ \@tempa.}%
+ \let\@tempa=\endgroup
+ \fi
+ \@tempa
+ }
+\newcommand*{\@ObsoleteOption}[1]{%
+ \ClassWarningNoLine{%
+ scrlttr2%
+ }{%
+ You've used the obsolete option `\CurrentOption'.\MessageBreak
+ I'm using option `#1' instead.\MessageBreak
+ You should do this change also}
+ \KOMAoptions{#1}
+}
+\newcommand*{\@ObsoleteCommand}[2]{%
+ \ClassWarning{%
+ scrlttr2%
+ }{%
+ You`ve used the obsolete command `\string#1'.\MessageBreak
+ I`m using `\string\KOMAoptions{#2}' instead.\MessageBreak
+ You should do this change also}
+ \KOMAoptions{#2}
+}
+\KOMA@key{BCOR}{\PassOptionsToPackage{BCOR#1}{typearea}}
+\KOMA@key{DIV}{\PassOptionsToPackage{DIV#1}{typearea}}
+\KOMA@key{headlines}{\PassOptionsToPackage{#1headlines}{typearea}}
+\KOMA@key{paper}{\PassOptionsToPackage{#1paper}{typearea}}
+\DeclareOption{a4paper}{\@ObsoleteOption{paper=a4}}
+\DeclareOption{a5paper}{\@ObsoleteOption{paper=a5}}
+\DeclareOption{b5paper}{\@ObsoleteOption{paper=b5}}
+\DeclareOption{letterpaper}{\@ObsoleteOption{paper=letter}}
+\DeclareOption{legalpaper}{\@ObsoleteOption{paper=legal}}
+\DeclareOption{executivepaper}{\@ObsoleteOption{paper=executive}}
+\newif\if@hsl
+\KOMA@key{headsepline}[true]{\@setif{hsl}{#1}}%
+\AfterProcessOptions{%
+ \if@hsl\PassOptionsToPackage{headinclude}{typearea}\fi}
+\DeclareOption{headnosepline}{%
+ \@ObsoleteOption{headsepline=false}%
+ }
+\newif\if@fsl
+\KOMA@key{footsepline}[true]{\@setif{fsl}{#1}}%
+\AfterProcessOptions{%
+ \if@fsl\PassOptionsToPackage{footinclude}{typearea}\fi}
+\DeclareOption{footnosepline}{%
+ \@ObsoleteOption{footsepline=false}%
+ }
+\newif\if@mincl
+\DeclareOption{mpinclude}{%
+ \@mincltrue
+ \ClassWarning{scrlttr2}{%
+ You should not use option `mpinclude' with this\MessageBreak
+ class}
+ }
+\DeclareOption{mpexclude}{
+ \@minclfalse
+ \ClassWarning{scrlttr2}{%
+ You should not use option `mpexclude' with this\MessageBreak
+ class}
+ }
+\newcommand*{\@alignfrom}{0}
+\KOMA@key{fromalign}{%
+ \@setnumstate{\@alignfrom}{fromalign}{%
+ {left}{0},%
+ {center}{1},{centered}{1},{middle}{1},%
+ {right}{2},%
+ {no}{10000},{false}{10000},{off}{10000}}{#1}%
+ }
+\newcommand*{\@rulefrom}{0}
+\KOMA@key{fromrule}[below]{%
+ \@setnumstate{\@rulefrom}{fromrule}{%
+ {false}{0},{no}{0},{off}{0},{aftername}{1},%
+ {below}{2},{afteraddress}{2},{true}{2},{yes}{2},{on}{2}%
+ }{#1}%
+ }
+\newif\if@phone
+\KOMA@key{fromphone}[true]{\@setif{phone}{#1}}%
+\newif\if@fax
+\KOMA@key{fromfax}[true]{\@setif{fax}{#1}}%
+\newif\if@email
+\KOMA@key{fromemail}[true]{\@setif{email}{#1}}%
+\newif\if@www
+\KOMA@key{fromurl}[true]{\@setif{www}{#1}}%
+\newif\if@logo
+\KOMA@key{fromlogo}[true]{\@setif{logo}{#1}}%
+\newcommand*{\@pageat}{4}
+\KOMA@key{pagenumber}{%
+ \begingroup
+ \@setnumstate{\@tempa}{pagenumber}{%
+ {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}%
+ \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
+ \@tempa
+ }
+\newcommand*\@ptsize{%
+ 2%
+ }
+\KOMA@key{fontsize}{%
+ \begingroup
+ \setlength{\@tempdima}{#1}
+ \addtolength{\@tempdima}{-10\p@}
+ \edef\@tempa{\endgroup\noexpand\renewcommand*\noexpand\@ptsize{%
+ \strip@pt\@tempdima}}
+ \@tempa
+ }
+\DeclareOption{10pt}{%
+ \@ObsoleteOption{fontsize=10pt}
+ }
+\DeclareOption{11pt}{%
+ \@ObsoleteOption{fontsize=11pt}
+ }
+\DeclareOption{12pt}{%
+ \@ObsoleteOption{fontsize=12pt}
+ }
+\KOMA@key{twoside}[true]{\@setif{twoside}{#1}%
+ \if@twoside\@mparswitchtrue\else\@mparswitchfalse\fi}
+\DeclareOption{oneside}{%
+ \@ObsoleteOption{twoside=false}
+ }
+\KOMA@key{draft}[true]{%
+ \begingroup
+ \let\@drafttrue=\@tempswatrue
+ \let\@draftfalse=\@tempswafalse
+ \@setif{draft}{#1}
+ \if@tempswa
+ \global\setlength{\overfullrule}{5\p@}
+ \else
+ \global\setlength{\overfullrule}{\z@}
+ \fi
+ \endgroup
+ }
+\DeclareOption{final}{%
+ \@ObsoleteOption{draft=false}
+ }
+\newif\if@enlargefp
+\KOMA@key{enlargefirstpage}[true]{%
+ \@setif[@enlargefp]{enlargefirstpage}{#1}}
+\newif\if@parskip
+\newcommand*{\scr@parskip}{\setlength{\parskip}{\z@}}
+\newcommand*{\scr@parfillskip}{\setlength{\parfillskip}{\z@}}
+\newcommand*{\@parskip@indent}{}
+\KOMA@key{parskip}[true]{%
+ \begingroup%
+ \@tempcnta=-1\edef\@tempa{#1}%
+ \def\@tempb{false}\ifx\@tempa\@tempb\@tempcnta=0\fi
+ \def\@tempb{off}\ifx\@tempa\@tempb\@tempcnta=0\fi
+ \def\@tempb{full-}\ifx\@tempa\@tempb\@tempcnta=1\fi
+ \def\@tempb{half-}\ifx\@tempa\@tempb\@tempcnta=2\fi
+ \def\@tempb{full}\ifx\@tempa\@tempb\@tempcnta=3\fi
+ \def\@tempb{true}\ifx\@tempa\@tempb\@tempcnta=3\fi
+ \def\@tempb{on}\ifx\@tempa\@tempb\@tempcnta=3\fi
+ \def\@tempb{half}\ifx\@tempa\@tempb\@tempcnta=4\fi
+ \def\@tempb{full+}\ifx\@tempa\@tempb\@tempcnta=5\fi
+ \def\@tempb{half+}\ifx\@tempa\@tempb\@tempcnta=6\fi
+ \def\@tempb{full*}\ifx\@tempa\@tempb\@tempcnta=7\fi
+ \def\@tempb{half*}\ifx\@tempa\@tempb\@tempcnta=8\fi
+ \let\@tempa\endgroup
+ \ifnum \@tempcnta <\z@\relax
+ \ClassError{%
+ scrlttr2%
+ }{You've used an unknown option value}{%
+ You've tried to set option `parskip' to value `#1', but
+ allowed values\MessageBreak
+ are `full-', `full', `full+', `full*', `half-',
+ `half', `half+',\MessageBreak
+ `half*', `false' and `off' only.\MessageBreak
+ You may also use `on' instead of `full'.}%
+ \else\ifnum \@tempcnta =\z@
+ \def\@tempa{\endgroup\@parskipfalse\@parskip@indent}%
+ \else
+ \let\@tempb=\relax\let\@tempc=\relax
+ \ifodd \@tempcnta
+ \def\@tempb{\def\noexpand\scr@parskip{%
+ \noexpand\setlength{\parskip}{\baselineskip}%
+ \noexpand\addtolength{\parskip}{%
+ \z@ \@plus .1\baselineskip}}}%
+ \else
+ \def\@tempb{\def\noexpand\scr@parskip{%
+ \noexpand\setlength{\parskip}{.5\baselineskip}%
+ \noexpand\addtolength{\parskip}{%
+ \z@ \@plus .5\baselineskip}}}%
+ \fi
+ \advance\@tempcnta by \m@ne
+ \divide\@tempcnta by \tw@
+ \ifcase\@tempcnta
+ \def\@tempc{\def\noexpand\scr@parfillskip{%
+ \noexpand\setlength{\parfillskip}{\z@ \@plus 1fil}}}%
+ \or
+ \def\@tempc{\def\noexpand\scr@parfillskip{%
+ \noexpand\setlength{\parfillskip}{1em \@plus 1fil}}}%
+ \or
+ \def\@tempc{\def\noexpand\scr@parfillskip{%
+ \noexpand\setlength{\parfillskip}{.3333\linewidth}%
+ \noexpand\addtolength{\parfillskip}{\z@ \@plus 1fil}}}%
+ \or
+ \def\@tempc{\def\noexpand\scr@parfillskip{%
+ \noexpand\setlength{\parfillskip}{.25\linewidth}%
+ \noexpand\addtolength{\parfillskip}{\z@ \@plus 1fil}}}%
+ \fi
+ \edef\@tempa{%
+ \endgroup\noexpand\@parskiptrue\@tempb\@tempc%
+ \noexpand\@parskip@indent}%
+ \fi
+ \fi
+ \@tempa
+ }
+\newcommand*{\cleardoublestandardpage}{}
+\let\cleardoublestandardpage\cleardoublepage
+\newcommand*{\cleardoubleemptypage}{\clearpage%
+ {\thispagestyle{empty}\cleardoublestandardpage}}
+\newcommand*{\cleardoubleplainpage}{\clearpage%
+ {\thispagestyle{plain}\cleardoublestandardpage}}
+\DeclareOption{cleardoubleempty}{%
+ \@ObsoleteOption{cleardoublepage=empty}}
+\DeclareOption{cleardoubleplain}{%
+ \@ObsoleteOption{cleardoublepage=plain}}
+\DeclareOption{cleardoublestandard}{%
+ \@ObsoleteOption{cleardoublepage=standard}}
+\KOMA@key{cleardoublepage}{%
+ \begingroup%
+ \def\@tempc{%
+ \endgroup%
+ \ClassError{%
+ scrlttr2%
+ }{You've used an unknown switch value}{%
+ You've tried to set switch `cleardoublepage' to value
+ `#1', but\MessageBreak
+ allowed switch values are `emtpy', `plain' and
+ `standard' only.}}
+ \edef\@tempa{#1}%
+ \def\@tempb{empty}\ifx\@tempa\@tempb%
+ \def\@tempc{\endgroup%
+ \let\cleardoublepage\cleardoubleemptypage}\fi
+ \def\@tempb{plain}\ifx\@tempa\@tempb%
+ \def\@tempc{\endgroup%
+ \let\cleardoublepage\cleardoubleplainpage}\fi
+ \def\@tempb{standard}\ifx\@tempa\@tempb%
+ \def\@tempc{\endgroup%
+ \let\cleardoublepage\cleardoublestandardpage}\fi
+ \@tempc}
+\newif\if@afield\@afieldtrue
+\KOMA@key{addrfield}[true]{\@setif[@afield]{addrfield}{#1}}
+\newif\if@baddr\@baddrtrue
+\KOMA@key{backaddress}[true]{\@setif[@baddr]{backaddress}{#1}}
+\newif\if@subj
+\newif\if@subjafter
+\KOMA@key{subject}[true]{%
+ \begingroup
+ \edef\@tempa{#1}%
+ \def\@tempb{afteropening}%
+ \ifx\@tempa\@tempb\endgroup\@subjaftertrue
+ \else
+ \def\@tempb{beforeopening}%
+ \ifx\@tempa\@tempb\endgroup\@subjafterfalse
+ \else
+ \endgroup\def\@setif@alsoerr{, `afteropening' and
+ `beforeopening'\MessageBreak}%
+ \@setxif[@subj]{subject}{#1}{titled}{untitled}%
+ \fi
+ \fi
+ }
+\newif\if@bigloc
+\KOMA@key{locfield}[wide]{\@setxif[@bigloc]{locfield}{#1}{wide}{narrow}}
+\DeclareOption{wlocfield}{\@ObsoleteOption{locfield=wide}}
+\DeclareOption{slocfield}{\@ObsoleteOption{locfield=narrow}}
+\newif\if@fold\@foldtrue
+\KOMA@key{foldmarks}[true]{\@setif[@fold]{foldmarks}{#1}}
+\newif\if@orgdate\@orgdatetrue
+\KOMA@key{numericaldate}[true]{%
+ \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi
+ \@setif[@orgdate]{numericaldate}{#1}
+ \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi
+}
+\DeclareOption{scrdate}{\@ObsoleteOption{numericaldate=true}}
+\DeclareOption{orgdate}{\@ObsoleteOption{numericaldate=false}}
+\newif\if@refwide
+\KOMA@key{refline}[wide]{\@setxif[@refwide]{refline}{#1}{wide}{narrow}}
+ \DeclareOption*{%
+ \let\scr@save@KV@errx=\KV@errx%
+ \IfFileExists{\CurrentOption.lco}{%
+ \begingroup\edef\@tempa{\endgroup%
+ \noexpand\AtEndOfClass{%
+ \noexpand\LoadLetterOption{\CurrentOption}}%
+ }%
+ \@tempa\let\KV@errx\@gobble
+ }{%
+ \renewcommand*{\KV@errx}[1]{\OptionNotUsed}
+ }
+ \expandafter\KOMAoptions\expandafter{\CurrentOption}
+ \let\KV@errx=\scr@save@KV@errx%
+ \let\scr@save@KV@errx=\relax%
+ }
+\ExecuteOptions{%
+}
+\ProcessOptions\relax
+\AfterProcessOptions@hook
+\let\AfterProcessOptions@hook=\undefined
+\RequirePackage{scrlfile}
+\newif\if@restonecol
+\@tempcnta=10
+\advance\@tempcnta by\@ptsize\relax
+\xdef\@tempa{%
+size%
+\the\@tempcnta.clo}
+\InputIfFileExists{\@tempa}{}{%
+ \ClassError
+ {scrlttr2}
+ {File `\@tempa' not found!\MessageBreak
+ This error is fatal!}
+ {To every fontsize you want to select by class option,\MessageBreak
+ you need a corresponding
+ size-class-option-file declaring all\MessageBreak
+ the macros based on fontsize.\MessageBreak
+ Ask a wizzard for more information or use another
+ fontsize.\MessageBreak
+ You cannot continue!}
+ \batchmode \csname @@end\endcsname \end
+}
+\KOMA@key{fontsize}{%
+ \begingroup
+ \setlength{\@tempdima}{#1}
+ \addtolength{\@tempdima}{-10\p@}
+ \ifnum \@tempdima=\@ptsize
+ \else
+ \ClassError{%
+ scrlttr2%
+ }{option `fontsize' not allowed\MessageBreak
+ after loading sizeX.clo file}{%
+ Maybe you've used option `fontsize' at
+ \string\KOMAoptions.\MessageBreak
+ You should set this option at \string\documentclass.}
+ \fi
+ \endgroup
+ }
+\newcommand*{\scr@file@date@version}{}
+\def\scr@file@date@version#1/#2/#3 #4 #5\@nil{#1/#2/#3 #4}
+\RequirePackage{typearea}[\expandafter\expandafter\expandafter%
+ \scr@file@date@version\csname ver@%
+ scrlttr2%
+ .cls\endcsname\@nil]
+\if@twoside
+ \addtolength{\oddsidemargin}{\evensidemargin}
+ \addtolength{\oddsidemargin}{-\ta@bcor}
+ \setlength{\evensidemargin}{.5\oddsidemargin}
+ \setlength{\oddsidemargin}{\evensidemargin}
+ \addtolength{\oddsidemargin}{\ta@bcor}
+\fi
+\KOMA@key{BCOR}{\typearea[{#1}]{last}}
+\KOMA@key{DIV}{\typearea[current]{#1}}
+\KOMA@key{headlines}{%
+ \def\ta@hh{#1\baselineskip}%
+ \typearea[current]{last}}
+\KOMA@key{paper}{%
+ \begingroup
+ \edef\@tempc{\noexpand\@tempswatrue%
+ \noexpand\ifdim\paperwidth=\the\paperwidth\noexpand\else%
+ \noexpand\@tempswafalse\noexpand\fi%
+ \noexpand\ifdim\paperheight=\the\paperheight\noexpand\else%
+ \noexpand\@tempswafalse\noexpand\fi%
+ }
+ \edef\@tempa{#1}%
+ \def\@tempb{letter}\ifx\@tempa\@tempb%
+ \setlength{\paperheight}{11in}\setlength{\paperwidth}{8.5in}%
+ \else\def\@tempb{legal}\ifx\@tempa\@tempb%
+ \setlength{\paperheight}{14in}\setlength{\paperwidth}{8.5in}%
+ \else\def\@tempb{executive}\ifx\@tempa\@tempb%
+ \setlength{\paperheight}{10.5in}\setlength{\paperwidth}{7.25in}%
+ \else%
+ \def\ta@opt@err{%
+ \ClassError{%
+ scrlttr2%
+ }{papersize `#1' undefined}{%
+ You've told me to set KOMA option `paper' to value
+ `#1',\MessageBreak
+ but the value `#1' is not allowed to this
+ option.\MessageBreak
+ See the KOMA-Script manual for informations about known
+ papersizes.}%
+ }
+ \let\@headlines\ta@opt@err%
+ \x@@paper #1paperpaper\x@@paper%
+ \fi\fi\fi
+ \@tempc%
+ \if@tempswa%
+ \ClassInfo{%
+ scrlttr2%
+ }{%
+ change to already set paper size ignored%
+ }
+ \let\@tempc\endgroup%
+ \else%
+ \ClassWarning{%
+ scrlttr2%
+ }{%
+ you're changing paper size after loading package\MessageBreak
+ `typearea'. This may be dangerous.\MessageBreak
+ You should set paper size only at \string\documentclass\space
+ not\MessageBreak
+ with \string\KOMAoptions%
+ }
+ \edef\@tempc{\endgroup%
+ \setlength{\paperwidth}{\the\paperwidth}%
+ \setlength{\paperheight}{\the\paperheight}%
+ \noexpand\typearea[current]{last}}
+ \fi
+ \@tempc%
+ }
+\setlength{\lineskip}{\p@}
+\setlength{\normallineskip}{\p@}
+\g@addto@macro{\@listi}{\@list@extra}
+\let\@listI=\@listi
+\g@addto@macro{\@listii}{\@list@extra}
+\g@addto@macro{\@listiii}{\@list@extra}
+\newcommand*{\add@extra@listi}[1]{%
+ \expandafter\let\csname #1@listi\endcsname=\@listi
+ \def\@listi{\csname #1@listi\endcsname\@list@extra}%
+}
+\g@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}
+\g@addto@macro{\small}{\protect\add@extra@listi{sml}}
+\newcommand*{\@list@extra}{}
+\renewcommand*{%
+ \@parskip@indent}{%
+ \if@parskip
+ \setlength{\parindent}{\z@}%
+ \scr@parskip
+ \scr@parfillskip
+ \renewcommand*{\@list@extra}{%
+ \topsep\z@ \parsep\parskip \itemsep\z@}%
+ \else
+ \setlength{\parindent}{1em}%
+ \setlength{\parskip}{\z@ \@plus \p@}%
+ \setlength{\parfillskip}{\z@ \@plus 1fil}%
+ \renewcommand*{\@list@extra}{}%
+ \fi
+}%
+\@parskip@indent
+\AtBeginDocument{%
+ \if@parskip\ifdim\parfillskip=\z@ \scr@parfillskip\fi\fi
+}
+\@lowpenalty = 51
+\@medpenalty =151
+\@highpenalty =301
+\newcommand*{\@firsthead}{\noindent%
+ \parbox[b]{\useplength{firstheadwidth}}
+ {\centering\usekomafont{fromaddress}{%
+ \ifkomavarempty{fromname}{}{%
+ {\usekomafont{fromname}%
+ {\ignorespaces\usekomavar{fromname}}}\\[-8pt]
+ \rule{\useplength{firstheadwidth}}{.4pt}\\
+ }%
+ \ifkomavarempty{fromaddress}{}{%
+ \ignorespaces\usekomavar{fromaddress}%
+ }%
+ }%
+ }%
+ }
+\newcommand*{\@gen@firsthead}{%
+ \ifcase\@alignfrom
+ \renewcommand*{\@firsthead}{\noindent
+ \parbox[b]{\textwidth}{\raggedright
+ {\usekomafont{fromname}\strut\ignorespaces
+ \usekomavar{fromname}%
+ {%
+ \ifnum\@rulefrom=1\\[-.5\baselineskip]%
+ \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}{.4pt}%
+ \fi
+ }%
+ \\}%
+ {\usekomafont{fromaddress}\strut\ignorespaces
+ \usekomavar{fromaddress}%
+ \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\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]%
+ \setlength{\@tempdima}{\useplength{fromrulewidth}}%
+ \ifdim\@tempdima=\z@
+ \setlength{\@tempdima}{\textwidth}%
+ \fi
+ \expandafter\rule\expandafter{\the\@tempdima}{.4pt}%
+ \fi
+ \\
+ }%
+ }%
+ \if@logo
+ \llap{\usekomavar{fromlogo}}%
+ \fi
+ }%
+ \or
+ \renewcommand*{\@firsthead}{\noindent
+ \parbox[b]{\textwidth}{\centering
+ {\usekomafont{fromname}\strut\ignorespaces
+ \usekomavar{fromname}%
+ {%
+ \ifnum\@rulefrom=1\\[-.5\baselineskip]%
+ \setlength{\@tempdima}{\useplength{fromrulewidth}}%
+ \ifdim\@tempdima=\z@
+ \setlength{\@tempdima}{\textwidth}%
+ \fi
+ \expandafter\rule\expandafter{\the\@tempdima}{.4pt}%
+ \fi
+ }%
+ \\
+ }%
+ {\usekomafont{fromaddress}\strut\ignorespaces
+ \usekomavar{fromaddress}%
+ \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\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]%
+ \setlength{\@tempdima}{\useplength{fromrulewidth}}%
+ \ifdim\@tempdima=\z@
+ \setlength{\@tempdima}{\textwidth}%
+ \fi
+ \expandafter\rule\expandafter{\the\@tempdima}{.4pt}%
+ \fi
+ \\
+ }%
+ }%
+ }%
+ \or
+ \renewcommand*{\@firsthead}{\noindent
+ \if@logo
+ \rlap{\usekomavar{fromlogo}}%
+ \fi
+ \parbox[b]{\textwidth}{\raggedleft
+ {\usekomafont{fromname}\strut\ignorespaces
+ \usekomavar{fromname}%
+ {%
+ \ifnum\@rulefrom=1\\[-.5\baselineskip]%
+ \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}{.4pt}%
+ \fi
+ }%
+ \\
+ }%
+ {\usekomafont{fromaddress}\strut\ignorespaces
+ \usekomavar{fromaddress}%
+ \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\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]%
+ \setlength{\@tempdima}{\useplength{fromrulewidth}}%
+ \ifdim\@tempdima=\z@
+ \setlength{\@tempdima}{\textwidth}%
+ \fi
+ \expandafter\rule\expandafter{\the\@tempdima}{.4pt}%
+ \fi
+ \\
+ }%
+ }%
+ }%
+ \fi
+ }
+\newcommand*{\@firstfoot}{}
+\newcommand*{\@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*{\@nextfoot}{%
+ \ifnum\@pageat>2
+ \parbox[c]{\textwidth}{%
+ \ifcase\@pageat\or\or\or\raggedright\or\centering\or\raggedleft\fi
+ \strut\pagemark%
+ }%
+ \fi
+}
+\newcommand*{\pagemark}{{\usekomafont{pagenumber}\pagename\ \thepage}}
+\renewcommand*{\ps@plain}{%
+ \renewcommand*{\@evenhead}{%
+ \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\@oddhead\@evenhead%
+ \renewcommand*{\@evenfoot}{%
+ \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\@oddfoot\@evenfoot
+ }
+\newcommand*{\ps@headings}{%
+ \let\@mkboth=\markboth
+ \renewcommand*{\@evenhead}{%
+ \vbox{%
+ \vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\@nexthead}}%
+ \if@hsl\kern1pt\rule{\textwidth}{.4pt}\fi%
+ }%
+ }%
+ \let\@oddhead\@evenhead%
+ \renewcommand*{\@evenfoot}{%
+ \parbox[t]{\textwidth}{%
+ \if@fsl
+ {%
+ \raggedright%
+ \vskip-\baselineskip\vskip.4pt
+ \hrulefill\\
+ }%
+ \fi
+ \vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\@nextfoot}}%
+ }%
+ }%
+ \let\@oddfoot\@evenfoot
+ }
+\newcommand*{\ps@myheadings}{%
+ \ps@headings\let\@mkboth=\@gobbletwo
+ }
+\let\@mkboth=\@gobbletwo
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
+\setlength{\skip\@mpfootins}{\skip\footins}
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+\renewcommand*\theequation{%
+ \@arabic\c@equation}
+\if@twocolumn
+ \setlength{\leftmargini}{2em}
+\else
+ \setlength{\leftmargini}{2.5em}
+\fi
+\setlength{\leftmarginii}{2.2em}
+\setlength{\leftmarginiii}{1.87em}
+\setlength{\leftmarginiv}{1.7em}
+\if@twocolumn
+ \setlength{\leftmarginv}{.5em}
+ \setlength{\leftmarginvi}{.5em}
+\else
+ \setlength{\leftmarginv}{1em}
+ \setlength{\leftmarginvi}{1em}
+\fi
+\setlength{\leftmargin}{\leftmargini}
+\setlength{\labelsep}{.5em}
+\setlength{\labelwidth}{\leftmargini}
+\addtolength{\labelwidth}{-\labelsep}
+\@beginparpenalty=-\@lowpenalty
+\@endparpenalty =-\@lowpenalty
+\@itempenalty =-\@lowpenalty
+\renewcommand*\theenumi{\@arabic\c@enumi}
+\renewcommand*\theenumii{\@alph\c@enumii}
+\renewcommand*\theenumiii{\@roman\c@enumiii}
+\renewcommand*\theenumiv{\@Alph\c@enumiv}
+\newcommand*\labelenumi{\theenumi.}
+\newcommand*\labelenumii{\theenumii)}
+\newcommand*\labelenumiii{\theenumiii.}
+\newcommand*\labelenumiv{\theenumiv.}
+\renewcommand*\p@enumii{\theenumi}
+\renewcommand*\p@enumiii{\p@enumii(\theenumii)}
+\renewcommand*\p@enumiv{\p@enumiii\theenumiii}
+\newcommand*\labelitemi{\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}{#2#1}
+ \leftmargin\labelwidth \advance\leftmargin by \labelsep
+ \let\makelabel\labelinglabel}}
+ {\endlist}
+\newcommand\labelinglabel[1]{#1\hfil\sc@septext}
+\newenvironment{verse}
+ {\let\\=\@centercr
+ \list{}{\itemsep \z@
+ \itemindent -1.5em%
+ \listparindent\itemindent
+ \rightmargin \leftmargin
+ \advance\leftmargin 1.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
+ }{\endlist}
+\newenvironment{addmargin*}{%
+ \@tempswafalse
+ \if@twoside\ifthispageodd{}{\@tempswatrue}\fi
+ \@addmargin
+ }{\endlist}
+\newcommand*{\@addmargin}[2][\@tempa]{%
+ \@tempcnta=\@listdepth
+ \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{\topsep}{\z@}%
+ \setlength{\parsep}{\parskip}%
+ \setlength{\partopsep}{\parskip}%
+ \let\makelabel\@gobble
+ \setlength{\labelwidth}{\z@}
+ \@listdepth=\@tempcnta%
+ }%
+ \item[]%
+ }
+\newcommand\marginline[1]{\marginpar[\raggedleft{#1}]{\raggedright #1}}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\@nomath\sfb}
+\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
+\newcommand*\descfont{\sffamily\bfseries}
+\newcommand*\sectfont{\normalcolor\sffamily\bfseries}
+\newcommand*\pnumfont{\normalfont\normalcolor}
+\newcommand*\headfont{\normalfont\normalcolor\slshape}
+\newcommand*\titlefont{\sectfont}
+\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries}
+\newcommand*{\baddr@font}{\sffamily}
+\newcommand*{\setkomafont}[2]{%
+ \@ifundefined{scr@fnt@#1}{%
+ \@ifundefined{scr@fnt@instead@#1}{%
+ \ClassError{%
+ scrlttr2%
+ }{font of element `#1' can't be set}{%
+ You've told me to redefine the font selection of the element,%
+ \MessageBreak%
+ but either no such element is known by KOMA-Script\MessageBreak
+ or the element does not use a special font selection}
+ }{%
+ \ClassError{%
+ scrlttr2%
+ }{font of element `#1' can't be set}{%
+ You've told me to redefine the font selection of the element,%
+ \MessageBreak%
+ but the element does not use a special font
+ selection. The\MessageBreak
+ The font of `#1' may be changed with element `\csname
+ scr@fnt@instead@#1\endcsname'}
+ }%
+ }{%
+ \expandafter\expandafter\expandafter\renewcommand%
+ \csname scr@fnt@#1\endcsname{#2}%
+ \@ifundefined{scr@fnt@wrn@#1}{}{%
+ \ClassWarning{%
+ scrlttr2%
+ }{\csname scr@fnt@wrn@#1\endcsname{#1}}
+ }
+ }
+}
+\newcommand{\l@addto@macro}[2]{%
+ \begingroup%
+ \toks@\expandafter{#1#2}%
+ \edef\@tempa{\endgroup\def\noexpand#1{\the\toks@}}%
+ \@tempa}
+\newcommand*{\addtokomafont}[2]{%
+ \@ifundefined{scr@fnt@#1}{%
+ \@ifundefined{scr@fnt@instead@#1}{%
+ \ClassError{%
+ scrlttr2%
+ }{font of element `#1' can't be extended}{%
+ You've told me to extend the font selection of the element,%
+ \MessageBreak%
+ but either no such element is known by KOMA-Script\MessageBreak
+ or the element does not use a special font selection}
+ }{%
+ \ClassError{%
+ scrlttr2%
+ }{font of element `#1' can't be extended}{%
+ You've told me to extend the font selection of the element,%
+ \MessageBreak%
+ but the element does not use a special font
+ selection. The\MessageBreak
+ The font of `#1' may be changed with element `\csname
+ scr@fnt@instead@#1\endcsname'}
+ }%
+ }{%
+ \expandafter\expandafter\expandafter\l@addto@macro%
+ \csname scr@fnt@#1\endcsname{#2}%
+ \@ifundefined{scr@fnt@wrn@#1}{}{%
+ \ClassWarning{%
+ scrlttr2%
+ }{\csname scr@fnt@wrn@#1\endcsname{#1}}
+ }
+ }
+}
+\newcommand*{\usekomafont}[1]{%
+ \@ifundefined{scr@fnt@#1}{%
+ \@ifundefined{scr@fnt@instead@#1}{%
+ \ClassError{%
+ scrlttr2%
+ }{font of element `#1' can't be used}{%
+ You've told me to use the font selection of the element,%
+ \MessageBreak%
+ but either no such element is known by KOMA-Script\MessageBreak
+ or the element does not use a special font selection}
+ }{%
+ \ClassWarning{%
+ scrlttr2%
+ }{%
+ You've told me to use the font selection of the element,%
+ \MessageBreak%
+ but the element does not use a special font
+ selection. The\MessageBreak
+ The font of `#1' may be selected with element `\csname
+ scr@fnt@instead@#1\endcsname'.\MessageBreak
+ I fix this using font of `\csname
+ scr@fnt@instead@#1\endcsname'}%
+ }%
+ \@nameuse{scr@fnt@instead@#1}%
+ }{%
+ \@nameuse{scr@fnt@#1}%
+ }%
+ }
+\newcommand*{\scr@fnt@descriptionlabel}{\descfont}
+\newcommand*{\scr@fnt@title}{\titlefont}
+\newcommand*{\scr@fnt@sectioning}{\sectfont}
+\newcommand*{\scr@fnt@pagenumber}{\pnumfont}
+\let\scr@fnt@pagination=\scr@fnt@pagenumber
+\newcommand*{\scr@fnt@pagehead}{\headfont}
+\newcommand*{\scr@fnt@wrn@pagehead}[1]{%
+ font selection of elements `pagehead' and `pagefoot'\MessageBreak
+ changed, because you wanted to change font selection\MessageBreak
+ of element `#1'%
+}
+\let\scr@fnt@pagefoot=\scr@fnt@pagehead
+\let\scr@fnt@wrn@pagefoot=\scr@fnt@wrn@pagehead
+\newcommand*{\scr@fnt@subject}{\subject@font}
+\newcommand*{\scr@fnt@backaddress}{\baddr@font}
+\newcommand*{\scr@fnt@fromaddress}{\faddr@font}
+\newcommand*{\scr@fnt@fromname}{\fname@font}
+\renewcommand*\footnoterule{%
+ \kern-3\p@
+ \ifx\@textbottom\relax\else\vskip \z@ \@plus.0005fil\fi
+ \hrule\@width.4\columnwidth
+ \kern 2.6\p@}
+\@addtoreset{footnote}{chapter}
+\newcommand\deffootnote[4][]{%
+ \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}
+ \def\@@makefnmark{\hbox{\ftnm@font{#4}}}
+}
+\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*{\thefootnotemark}{\@thefnmark}
+\deffootnote[1em]{1.5em}{1em}
+ {\textsuperscript{\thefootnotemark}}
+\deffootnotemark{\textsuperscript{\thefootnotemark}}
+\DeclareRobustCommand*\textsubscript[1]{%
+ \@textsubscript{\selectfont#1}}
+\newcommand{\@textsubscript}[1]{%
+ {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
+\newcommand*\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}
+\newcommand*{\providecaptionname}[3]{%
+ \@ifundefined{captions#1}{%
+ \@ifundefined{cap@info@#1@done}{%
+ \ClassInfo{%
+ scrlttr2%
+ }{%
+ No captions found for `#1'\MessageBreak
+ --> skipped%
+ }%
+ \expandafter\let\csname cap@info@#1@done\endcsname\@empty}{}%
+ }{%
+ \begingroup%
+ \let\@tempa\endgroup%
+ \csname captions#1\endcsname%
+ \ifx #2\undefined%
+ \def\@tempb{#1}%
+ \ifx\@tempb\languagename
+ \def\@tempa{\endgroup%
+ \expandafter\g@addto@macro\csname captions#1\endcsname{%
+ \def#2{#3}}%
+ \csname captions#1\endcsname
+ }%
+ \else
+ \def\@tempa{\endgroup%
+ \expandafter\g@addto@macro\csname captions#1\endcsname{%
+ \def#2{#3}}%
+ }%
+ \fi
+ \else
+ \ClassInfo{%
+ scrlttr2%
+ }{%
+ `\string#2' at language `#1' already
+ defined\MessageBreak
+ --> skipped%
+ }%
+ \fi
+ \@tempa
+ }%
+}
+\newcommand*{\newcaptionname}[3]{%
+ \@ifundefined{captions#1}{%
+ \ClassInfo{%
+ scrlttr2%
+ }{%
+ No captions found for `#1' --> defining%
+ }%
+ \@namedef{captions#1}{}%
+ }{}%
+ \begingroup%
+ \csname captions#1\endcsname%
+ \ifx #2\undefined\else%
+ \ClassError{%
+ scrlttr2%
+ }{%
+ `\string#2' at language `#1' already defined%
+ }{%
+ You've told me to define `\string#2' at language
+ `#1',\MessageBreak
+ but it is already defined.\MessageBreak
+ It will be redefined, if you'll continue.%
+ }
+ \fi
+ \endgroup%
+ \expandafter\g@addto@macro\csname captions#1\endcsname{%
+ \def#2{#3}}%
+ \begingroup
+ \def\@tempb{#1}%
+ \ifx\@tempb\languagename
+ \def\@tempa{\endgroup\csname captions#1\endcsname}%
+ \else
+ \let\@tempa\endgroup
+ \fi
+ \@tempa
+}
+\newcommand*{\renewcaptionname}[3]{%
+ \@ifundefined{captions#1}{%
+ \ClassError{%
+ scrlttr2%
+ }{%
+ No captions found for `#1'%
+ }{%
+ You've told me to redefine the caption `\string#2' at language
+ `#1',\MessageBreak
+ but `\expandafter\string\csname captions#1\endcsname' is not
+ defined.\MessageBreak
+ If you'll continue it will be defined.%
+ }
+ \@namedef{captions#1}{}%
+ }{}%
+ \begingroup%
+ \csname captions#1\endcsname%
+ \ifx #2\undefined%
+ \ClassError{%
+ scrlttr2%
+ }{%
+ `\string#2' not defined at language `#1'%
+ }{%
+ You've told me to redefine `\string#2' at language
+ `#1',\MessageBreak
+ but it is not defined.\MessageBreak
+ If you'll continue it will be defined.%
+ }
+ \fi
+ \endgroup
+ \expandafter\g@addto@macro\csname captions#1\endcsname{%
+ \def#2{#3}}%
+ \begingroup
+ \def\@tempb{#1}%
+ \ifx\@tempb\languagename
+ \def\@tempa{\endgroup\csname captions#1\endcsname}%
+ \else
+ \let\@tempa\endgroup
+ \fi
+ \@tempa
+}
+\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}{}%
+ \providecaptionname{english}\yourrefname{Your ref.}%
+ \providecaptionname{english}\yourmailname{Your letter of}%
+ \providecaptionname{english}\myrefname{Our ref.}%
+ \providecaptionname{english}\customername{Customer no.}%
+ \providecaptionname{english}\invoicename{Invoice no.}%
+ \providecaptionname{english}\subjectname{Subject}%
+ \providecaptionname{english}\ccname{cc}%
+ \providecaptionname{english}\enclname{encl}%
+ \providecaptionname{english}\headtoname{To}%
+ \providecaptionname{english}\headfromname{From}%
+ \providecaptionname{english}\datename{Date}%
+ \providecaptionname{english}\pagename{Page}%
+ \providecaptionname{english}\phonename{Phone}%
+ \providecaptionname{english}\faxname{Fax}%
+ \providecaptionname{english}\emailname{Email}%
+ \providecaptionname{english}\wwwname{Url}%
+ \providecaptionname{english}\bankname{Bank account}%
+ \providecaptionname{USenglish}\yourrefname{Your ref.}%
+ \providecaptionname{USenglish}\yourmailname{Your letter of}%
+ \providecaptionname{USenglish}\myrefname{Our ref.}%
+ \providecaptionname{USenglish}\customername{Customer no.}%
+ \providecaptionname{USenglish}\invoicename{Invoice no.}%
+ \providecaptionname{USenglish}\subjectname{Subject}%
+ \providecaptionname{USenglish}\ccname{cc}%
+ \providecaptionname{USenglish}\enclname{encl}%
+ \providecaptionname{USenglish}\headtoname{To}%
+ \providecaptionname{USenglish}\headfromname{From}%
+ \providecaptionname{USenglish}\datename{Date}%
+ \providecaptionname{USenglish}\pagename{Page}%
+ \providecaptionname{USenglish}\phonename{Phone}%
+ \providecaptionname{USenglish}\faxname{Fax}%
+ \providecaptionname{USenglish}\emailname{Email}%
+ \providecaptionname{USenglish}\wwwname{Url}%
+ \providecaptionname{USenglish}\bankname{Bank account}%
+ \providecaptionname{american}\yourrefname{Your ref.}%
+ \providecaptionname{american}\yourmailname{Your letter of}%
+ \providecaptionname{american}\myrefname{Our ref.}%
+ \providecaptionname{american}\customername{Customer no.}%
+ \providecaptionname{american}\invoicename{Invoice no.}%
+ \providecaptionname{american}\subjectname{Subject}%
+ \providecaptionname{american}\ccname{cc}%
+ \providecaptionname{american}\enclname{encl}%
+ \providecaptionname{american}\headtoname{To}%
+ \providecaptionname{american}\headfromname{From}%
+ \providecaptionname{american}\datename{Date}%
+ \providecaptionname{american}\pagename{Page}%
+ \providecaptionname{american}\phonename{Phone}%
+ \providecaptionname{american}\faxname{Fax}%
+ \providecaptionname{american}\emailname{Email}%
+ \providecaptionname{american}\wwwname{Url}%
+ \providecaptionname{american}\bankname{Bank account}%
+ \providecaptionname{british}\yourrefname{Your ref.}%
+ \providecaptionname{british}\yourmailname{Your letter of}%
+ \providecaptionname{british}\myrefname{Our ref.}%
+ \providecaptionname{british}\customername{Customer no.}%
+ \providecaptionname{british}\invoicename{Invoice no.}%
+ \providecaptionname{british}\subjectname{Subject}%
+ \providecaptionname{british}\ccname{cc}%
+ \providecaptionname{british}\enclname{encl}%
+ \providecaptionname{british}\headtoname{To}%
+ \providecaptionname{british}\headfromname{From}%
+ \providecaptionname{british}\datename{Date}%
+ \providecaptionname{british}\pagename{Page}%
+ \providecaptionname{british}\phonename{Phone}%
+ \providecaptionname{british}\faxname{Fax}%
+ \providecaptionname{british}\emailname{Email}%
+ \providecaptionname{british}\wwwname{Url}%
+ \providecaptionname{british}\bankname{Bank account}%
+ \providecaptionname{UKenglish}\yourrefname{Your ref.}%
+ \providecaptionname{UKenglish}\yourmailname{Your letter of}%
+ \providecaptionname{UKenglish}\myrefname{Our ref.}%
+ \providecaptionname{UKenglish}\customername{Customer no.}%
+ \providecaptionname{UKenglish}\invoicename{Invoice no.}%
+ \providecaptionname{UKenglish}\subjectname{Subject}%
+ \providecaptionname{UKenglish}\ccname{cc}%
+ \providecaptionname{UKenglish}\enclname{encl}%
+ \providecaptionname{UKenglish}\headtoname{To}%
+ \providecaptionname{UKenglish}\headfromname{From}%
+ \providecaptionname{UKenglish}\datename{Date}%
+ \providecaptionname{UKenglish}\pagename{Page}%
+ \providecaptionname{UKenglish}\phonename{Phone}%
+ \providecaptionname{UKenglish}\faxname{Fax}%
+ \providecaptionname{UKenglish}\emailname{Email}%
+ \providecaptionname{UKenglish}\wwwname{Url}%
+ \providecaptionname{UKenglish}\bankname{Bank account}%
+ \providecaptionname{german}\yourrefname{Ihr Zeichen}%
+ \providecaptionname{german}\yourmailname{Ihr Schreiben vom}%
+ \providecaptionname{german}\myrefname{Unser Zeichen}%
+ \providecaptionname{german}\customername{Kundennummer}%
+ \providecaptionname{german}\invoicename{Rechnungsnummer}%
+ \providecaptionname{german}\subjectname{Betrifft}%
+ \providecaptionname{german}\ccname{Kopien an}%
+ \providecaptionname{german}\enclname{Anlagen}%
+ \providecaptionname{german}\headtoname{An}%
+ \providecaptionname{german}\headfromname{Von}%
+ \providecaptionname{german}\datename{Datum}%
+ \providecaptionname{german}\pagename{Seite}%
+ \providecaptionname{german}\phonename{Telephon}%
+ \providecaptionname{german}\faxname{Fax}%
+ \providecaptionname{german}\emailname{E-Mail}%
+ \providecaptionname{german}\wwwname{URL}%
+ \providecaptionname{german}\bankname{Bankverbindung}%
+ \providecaptionname{ngerman}\yourrefname{Ihr Zeichen}%
+ \providecaptionname{ngerman}\yourmailname{Ihr Schreiben vom}%
+ \providecaptionname{ngerman}\myrefname{Unser Zeichen}%
+ \providecaptionname{ngerman}\customername{Kundennummer}%
+ \providecaptionname{ngerman}\invoicename{Rechnungsnummer}%
+ \providecaptionname{ngerman}\subjectname{Betrifft}%
+ \providecaptionname{ngerman}\ccname{Kopien an}%
+ \providecaptionname{ngerman}\enclname{Anlagen}%
+ \providecaptionname{ngerman}\headtoname{An}%
+ \providecaptionname{ngerman}\headfromname{Von}%
+ \providecaptionname{ngerman}\datename{Datum}%
+ \providecaptionname{ngerman}\pagename{Seite}%
+ \providecaptionname{ngerman}\phonename{Telefon}%
+ \providecaptionname{ngerman}\faxname{Fax}%
+ \providecaptionname{ngerman}\emailname{E-Mail}%
+ \providecaptionname{ngerman}\wwwname{URL}%
+ \providecaptionname{ngerman}\bankname{Bankverbindung}%
+ \providecaptionname{austrian}\yourrefname{Ihr Zeichen}%
+ \providecaptionname{austrian}\yourmailname{Ihr Schreiben vom}%
+ \providecaptionname{austrian}\myrefname{Unser Zeichen}%
+ \providecaptionname{austrian}\customername{Kundennummer}%
+ \providecaptionname{austrian}\invoicename{Rechnungsnummer}%
+ \providecaptionname{austrian}\subjectname{Betrifft}%
+ \providecaptionname{austrian}\ccname{Kopien an}%
+ \providecaptionname{austrian}\enclname{Anlagen}%
+ \providecaptionname{austrian}\headtoname{An}%
+ \providecaptionname{austrian}\headfromname{Von}%
+ \providecaptionname{austrian}\datename{Datum}%
+ \providecaptionname{austrian}\pagename{Seite}%
+ \providecaptionname{austrian}\phonename{Telefon}%
+ \providecaptionname{austrian}\faxname{Fax}%
+ \providecaptionname{austrian}\emailname{E-Mail}%
+ \providecaptionname{austrian}\wwwname{URL}%
+ \providecaptionname{austrian}\bankname{Bankverbindung}%
+ \providecaptionname{french}\yourrefname{Vos r\'ef\'erences}%
+ \providecaptionname{french}\yourmailname{Votre lettre du}%
+ \providecaptionname{french}\myrefname{Nos r\'ef\'erences}%
+ \providecaptionname{french}\customername{Num\'ero de client}%
+ \providecaptionname{french}\invoicename{Num\'ero de facture}%
+ \providecaptionname{french}\subjectname{Concernant}%
+ \providecaptionname{french}\ccname{Copie \`a}%
+ \providecaptionname{french}\enclname{Annexes}%
+ \providecaptionname{french}\headtoname{A}%
+ \providecaptionname{french}\headfromname{De}%
+ \providecaptionname{french}\datename{Date}%
+ \providecaptionname{french}\pagename{Page}%
+ \providecaptionname{french}\phonename{T\'el\'ephone}%
+ \providecaptionname{french}\faxname{T\'el\'efax}%
+ \providecaptionname{french}\emailname{E-mail}%
+ \providecaptionname{french}\wwwname{URL}%
+ \providecaptionname{french}\bankname{Compte en banque}%
+ \providecaptionname{italian}\yourrefname{Vs./Rif.}%
+ \providecaptionname{italian}\yourmailname{Vs.~lettera del}%
+ \providecaptionname{italian}\myrefname{Ns./Rif.}%
+ \providecaptionname{italian}\customername{Nr.~cliente}%
+ \providecaptionname{italian}\invoicename{Nr.~fattura}%
+ \providecaptionname{italian}\subjectname{Oggetto}%
+ \providecaptionname{italian}\ccname{Per conoscenza}%
+ \providecaptionname{italian}\enclname{Allegato}%
+ \providecaptionname{italian}\headtoname{A}%
+ \providecaptionname{italian}\headfromname{}% TODO: translate it
+ \providecaptionname{italian}\datename{Data}%
+ \providecaptionname{italian}\pagename{Pagina}%
+ \providecaptionname{italian}\phonename{}% TODO: translate it
+ \providecaptionname{italian}\faxname{}% TODO: translate it
+ \providecaptionname{italian}\emailname{}% TODO: translate it
+ \providecaptionname{italian}\wwwname{}% TODO: translate it
+ \providecaptionname{italian}\bankname{}% TODO: translate it
+ \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}\faxname{Fax}%
+ \providecaptionname{spanish}\emailname{Email}% or Correo electr\'onico
+ \providecaptionname{spanish}\wwwname{URL}% or P\`agina web
+ \providecaptionname{spanish}\bankname{Cuenta bancaria}%
+ \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}\faxname{Fax}%
+ \providecaptionname{croatian}\emailname{E-Mail}%
+ \providecaptionname{croatian}\wwwname{URL}%
+ \providecaptionname{croatian}\bankname{Bankovna veza}%
+ \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}\faxname{Fax}%
+ \providecaptionname{dutch}\emailname{E--mail}%
+ \providecaptionname{dutch}\urlname{URL}%
+ \providecaptionname{dutch}\bankname{Bankrekening}%
+ \g@addnumerical@date{english}{%
+ \number\day/\number\month/\number\year}
+ \g@addnumerical@date{british}{%
+ \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{american}{%
+ \number\month/\number\day/\number\year}
+ \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{french}{%
+ \number\day.\,\number\month.\,\number\year}
+ \g@addnumerical@date{italian}{%
+ \number\day.\,\number\month.\,\number\year}
+ \g@addnumerical@date{spanish}{%
+ \number\day.\,\number\month.\,\number\year}
+ \g@addnumerical@date{croatian}{%
+ \number\day.\,\number\month.\,\number\year.}
+ \g@addnumerical@date{dutch}{%
+ \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
+ I'l undefine \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
+ \captionsamerican
+ \dateamerican
+ \fi\fi
+ \ifx\l@british\undefined\else\ifnum\language=\l@british
+ \captionsbritish
+ \datebritish
+ \fi\fi
+ \ifx\l@UKenglish\undefined\else\ifnum\language=\l@UKenglish
+ \captionsUKenglish
+ \dateUKenglish
+ \fi\fi
+ \ifx\l@USenglish\undefined\else\ifnum\language=\l@USenglish
+ \captionsUSenglish
+ \dateUSenglish
+ \fi\fi
+ \ifx\l@austrian\undefined\else\ifnum\language=\l@austrian
+ \captionsaustrian
+ \dateaustrian
+ \fi\fi
+ \ifx\l@german\undefined\else\ifnum\language=\l@german
+ \captionsgerman
+ \dategerman
+ \fi\fi
+ \ifx\l@ngerman\undefined\else\ifnum\language=\l@ngerman
+ \captionsngerman
+ \datengerman
+ \fi\fi
+ \ifx\l@french\undefined\else\ifnum\language=\l@french
+ \captionsfrench
+ \datefrench
+ \fi\fi
+ \ifx\l@italian\undefined\else\ifnum\language=\l@italian
+ \captionsitalian
+ \dateitalian
+ \fi\fi
+ \ifx\l@spanish\undefined\else\ifnum\language=\l@spanish
+ \captionsspanish
+ \datespanish
+ \fi\fi
+ \ifx\l@croatian\undefined\else\ifnum\language=\l@croatian
+ \captionscroatian
+ \datecroatian
+ \fi\fi
+ \ifx\l@dutch\undefined\else\ifnum\language=\l@dutch
+ \captionsdutch
+ \datedutch
+ \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
+ \expandafter\selectlanguage\expandafter{\languagename}
+ \ClassInfo{%
+ scrlttr2%
+ }{%
+ used language is `\languagename'.\MessageBreak
+ Supported languages are `english', `UKenglish',\MessageBreak
+ `british', `american', `USenglish',\MessageBreak
+ `german', `ngerman', `austrian',\MessageBreak
+ `dutch', `italian', `spanish', `croatian'%
+ }
+ \fi
+ \fi
+ }
+\newenvironment{letter}[2][]{%
+ \newpage
+ \if@twoside\ifodd\c@page\else
+ \thispagestyle{empty}\null\newpage\fi\fi
+ \setcounter{page}{\@ne}%
+ \setcounter{footnote}{0}%
+ \interlinepenalty=200\@processto{#2}%
+ \KOMAoptions{#1}%
+ \@beginletterhook
+ }{%
+ \stopletter\@@par\pagebreak\@@par%
+ }
+\newcommand*{\stopletter}{}
+\newcommand{\@processto}[1]{%
+ \ifx\relax#1\relax\else
+ \expandafter\@xproc#1\\\@nil\ifkomavarempty{toaddress}{}{%
+ \expandafter\@xproc#1\@nil}%
+ \fi
+}
+\newcommand*{\@xproc}{}
+\long\def\@xproc#1\\#2\@nil{%
+ \setkomavar{toname}{#1}\setkomavar{toaddress}{#2}}
+\newcommand*{\fname@font}{}
+\newcommand*{\faddr@font}{}
+\newcommand{\AtBeginLetter}{\g@addto@macro\@beginletterhook}
+\newcommand{\@beginletterhook}{}
+\newcommand*{\newkomavar}{%
+ \@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}{%
+ \@ifstar {\@setkomaname}{\@setkomavar}}
+\newcommand*{\@setkomavar}[1]{%
+ \@ifnextchar [%]
+ {\@@setkomavar{#1}}{\@@setkomavar{#1}[\relax]}}
+\newcommand*{\@setkomaname}[2]{%
+ \@ifundefined{scr@#1@var}{%
+ \@komavar@err{set}{#1}%
+ }{%
+ \@namedef{scr@#1@name}{#2}%
+ }%
+ }
+\newcommand*{\@@setkomavar}{}
+\long\def\@@setkomavar#1[#2]#3{%
+ \@ifundefined{scr@#1@var}{%
+ \@komavar@err{set}{#1}%
+ }{%
+ \@namedef{scr@#1@var}{#3}%
+ \begingroup
+ \def\@tempa{#2}\def\@tempb{\relax}%
+ \ifx\@tempa\@tempb\endgroup\else
+ \endgroup\@namedef{scr@#1@name}{#2}%
+ \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}{%
+ \@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}}%
+ }%
+ }
+\DeclareRobustCommand*{\ifkomavarempty}{%
+ \begingroup
+ \@ifstar {\@tempswatrue\@ifkomavarempty}%
+ {\@tempswafalse\@ifkomavarempty}%
+ }
+\newcommand{\@ifkomavarempty}[3]{%
+ \@ifundefined{scr@#1@var}{%
+ \endgroup\@komavar@err{use}{#1}%
+ }{%
+ \if@tempswa\endgroup
+ \@ifundefined{scr@#1@name}{#2}{%
+ \expandafter\ifx\csname scr@#1@name\endcsname\@empty
+ #2%
+ \else
+ #3%
+ \fi
+ }%
+ \else\endgroup
+ \expandafter\ifx\csname scr@#1@var\endcsname\@empty
+ #2%
+ \else
+ #3%
+ \fi
+ \fi
+ }%
+ }
+\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[\usekomavar{place}]{placeseparator}
+\setkomavar{placeseparator}{,~}
+\newkomavar[\subjectname]{subjectseparator}
+\setkomavar{subjectseparator}{: }
+\newkomavar[\ccname]{ccseparator}
+\setkomavar{ccseparator}{: }
+\newkomavar[\enclname]{enclseparator}
+\setkomavar{enclseparator}{: }
+\newkomavar{backaddressseparator}
+\setkomavar{backaddressseparator}{,~}
+\newkomavar[\phonename]{phoneseparator}
+\setkomavar{phoneseparator}{:~}
+\newkomavar[\faxname]{faxseparator}
+\setkomavar{faxseparator}{:~}
+\newkomavar[\emailname]{emailseparator}
+\setkomavar{emailseparator}{:~}
+\newkomavar[\wwwname]{urlseparator}
+\setkomavar{urlseparator}{:~}
+\newkomavar[\headfromname]{fromname}
+\newkomavar[\usekomavar{fromname}]{fromaddress}
+\newkomavar[\headtoname]{toname}
+\newkomavar[\usekomavar{toname}]{toaddress}
+\newkomavar[\usekomavar*{phoneseparator}%
+ \usekomavar{phoneseparator}]{fromphone}
+\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{\firsthead}[1]{%
+ \renewcommand*{\@alignfrom}{10000}%
+ \renewcommand*{\@firsthead}{\noindent#1}%
+ }
+\newcommand{\firstfoot}[1]{%
+ \renewcommand*{\@firstfoot}{\noindent#1}%
+ }
+\newcommand{\nexthead}[1]{%
+ \renewcommand*{\@nexthead}{\noindent#1}%
+ }
+\newcommand{\nextfoot}[1]{%
+ \renewcommand*{\@nextfoot}{\noindent#1}%
+ }
+\newcommand*{\foldmarkson}{%
+ \@ObsoleteCommand{\foldmarkson}{foldmarks=on}}
+\newcommand*{\foldmarksoff}{%
+ \@ObsoleteCommand{\foldmarksoff}{foldmarks=off}}
+\newcommand*{\addrfieldon}{%
+ \@ObsoleteCommand{\addrfieldon}{addrfield=on}}
+\newcommand*{\addrfieldoff}{%
+ \@ObsoleteCommand{\addrfieldoff}{addrfield=off}}
+\newcommand*{\subjecton}{%
+ \@ObsoleteCommand{\subjecton}{subject=titled}}
+\newcommand*{\subjectoff}{%
+ \@ObsoleteCommand{\subjectoff}{subject=untitled}}
+\newcommand*{\subjectafteron}{%
+ \@ObsoleteCommand{\subjectafteron}{subject=afteropening}}
+\newcommand*{\subjectafteroff}{%
+ \@ObsoleteCommand{\subjectafteroff}{subject=beforeopening}}
+\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 tried to define a new pseudo-length using
+ \string\@newplength\MessageBreak
+ which is already defined. Try another name or
+ better\MessageBreak
+ Don't use this KOMA-Script internal macro}
+ }
+ }
+\newcommand*{\useplength}[1]{%
+ \expandafter\number\expandafter\csname ltr@len@#1\endcsname}
+\newcommand*{\setlengthtoplength}[3][]{%
+ \setlength{#2}{\useplength{#3}}%
+ \setlength{#2}{#1#2}}
+\newcommand*{\@setplength}[3][]{%
+ \begingroup%
+ \setlength{\@tempskipa}{#3}%
+ \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*{\addtolengthplength}[3][]{%
+ \begingroup%
+ \setlengthtoplength[{#1}]{\@tempskipa}{#3}%
+ \edef\@tempa{\endgroup%
+ \noexpand\addtolength{#2}{\the\@tempskipa}}%
+ \@tempa%
+ }
+\newcommand*{\@addtoplength}[3][]{%
+ \begingroup%
+ \setlength{\@tempskipa}{#3}%
+ \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%
+ }
+\@newplength{foldmarkhpos}
+\@newplength{tfoldmarkvpos}
+\@newplength{bfoldmarkvpos}
+\@newplength{toaddrvpos}
+\@newplength{backaddrheight}
+\@newplength{toaddrhpos}
+\@newplength{specialmailindent}
+\@newplength{specialmailrightindent}
+\@newplength{toaddrindent}
+\@newplength{toaddrwidth}
+\@newplength{toaddrheight}
+\@newplength{locwidth}
+\@newplength{refvpos}
+\@newplength{refwidth}
+\@newplength{refhpos}
+\@newplength{refaftervskip}
+\@newplength{sigbeforevskip}
+\@newplength{sigindent}
+\@newplength{firstfootvpos}
+\@newplength{firstfootwidth}
+\@newplength{firstheadvpos}
+\@newplength{firstheadwidth}
+\@newplength{fromrulewidth}
+\@setplength{fromrulewidth}{0pt}
+\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}
+ \InputIfFileExists{#1.lco}{%
+ \ClassInfo{%
+ scrlttr2%
+ }{Letter-Class-Option `#1' loaded}
+ }{%
+ \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\MessageBreak
+ the file `#1.lco'. But the file isn't available.}
+ }
+ \@tempcnta=\@restore@catcode@level\relax
+ \advance\@tempcnta by \m@ne\relax
+ \edef\@restore@catcode@level{\the\@tempcnta}
+ \ifnum\@tempcnta =\z@
+ \@restore@catcode
+ \fi
+ }
+\newcommand*{\LOPNP@option}{}
+\newcommand*{\LOPNP@size}{}
+\newcommand*{\@PapersizeWarning}{
+ \begingroup%
+ \edef\@tempc{\noexpand\@tempswatrue
+ \noexpand\ifdim\paperwidth=\the\paperwidth\noexpand\else
+ \noexpand\@tempswafalse\noexpand\fi
+ \noexpand\ifdim\paperheight=\the\paperheight\noexpand\else
+ \noexpand\@tempswafalse\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%
+ \def\ta@opt@err{%
+ \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.}%
+ }
+ \let\@headlines\ta@opt@err%
+ \expandafter\x@@paper\LOPNP@size paperpaper\x@@paper%
+ \fi\fi\fi
+ \@tempc
+ \endgroup%
+}
+\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
+ You should add `paper=\LOPNP@size' at the\MessageBreak
+ option list of \string\documentclass!\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}%
+ }
+\LoadLetterOption{DIN}
+\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]{}
+\newcommand*{\stopbreaks}{\interlinepenalty \@M
+ \def\par{\@@par\nobreak}\let\\=\@nobreakcr
+ \let\vspace\@nobreakvspace}
+\newcommand*{\@nobreakvspace}{%
+ \@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
+\newcommand*{\@nobreakvspacex}[1]{\ifvmode\nobreak\vskip #1\relax\else
+ \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
+\newcommand*{\@nobreakcr}{%
+ \vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}}
+\newcommand*{\startbreaks}{\let\\=\@normalcr
+ \interlinepenalty 200\def\par{\@@par\penalty 200}}
+\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]{{%
+ \setbox0\vbox to\z@{#1\vss}%
+ \setlength{\parskip}{\z@}\setlength{\baselineskip}{\z@}%
+ \setlength{\parfillskip}{\z@ \@plus 1fil}%
+ \setlength{\@tempdima}{\ht0}\addtolength{\@tempdima}{\dp0}%
+ \box0\vskip-\@tempdima%
+ }}
+\newcommand*{\@foldmark}[2]{%
+ \vskip #1%
+ \vb@t@z{\rlap{\move@topl\hskip\useplength{foldmarkhpos}%
+ \rule{#2}{.2pt}}}%
+ \vskip -#1\ignorespaces%
+}
+\newcommand*{\@foldmarks}{%
+ \if@fold%
+ \typeout{Foldmarks: yes}%
+ \move@topt
+ \@foldmark{\useplength{tfoldmarkvpos}}{2mm}
+ \@foldmark{.5\paperheight}{4mm}
+ \@foldmark{\useplength{bfoldmarkvpos}}{2mm}
+ \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%
+ \setbox0\vbox{#3}%
+ \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}{%
+ \typeout{Head of first page}%
+ \move@topt\vskip\useplength{firstheadvpos}%
+ \vb@t@z{%
+ \rlap{\move@topl
+ \setlength\@tempskipa{.5\paperwidth}%
+ \addtolengthplength[-.5]{\@tempskipa}{firstheadwidth}%
+ \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}{\@firsthead\vskip \z@ \@plus .00001fil}%
+ {head of first page}{firstheadvpos}{\firsthead}%
+ }%
+ }%
+ }%
+ \vskip-\useplength{firstheadvpos}\move@frompt
+ \typeout{Foot of first page}%
+ \move@topt
+ \vb@t@z{%
+ \rlap{\move@topl
+ \setlength\@tempskipa{.5\paperwidth}%
+ \addtolengthplength[-.5]{\@tempskipa}{firstfootwidth}%
+ \hskip\@tempskipa%
+ \vbox{\hsize\useplength{firstfootwidth}%
+ \vskip\useplength{firstfootvpos}%
+ \setlength{\textwidth}{\useplength{firstfootwidth}}%
+ \setlength{\parfillskip}{\z@ \@plus 1fil}%
+ \vbox{\hsize\useplength{firstfootwidth}\@firstfoot}%
+ }%
+ }%
+ }%
+ \move@frompt%
+ {%
+ \setlength{\@tempdima}{1in}\addtolength{\@tempdima}{\topmargin}%
+ \addtolength{\@tempdima}{\headheight}%
+ \addtolength{\@tempdima}{\headsep}%
+ \addtolength{\@tempdima}{\textheight}%
+ \addtolength{\@tempdima}{\footskip}%
+ \addtolengthplength[-1]{\@tempdima}{firstfootvpos}%
+ \ifdim\@tempdima>\z@\enlargethispage{-\@tempdima}%
+ \else\if@enlargefp\enlargethispage{-\@tempdima}\fi\fi
+ }%
+}
+\newcommand*{\@addrfield}{%
+ \if@afield
+ \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
+ \ifkomavarempty{specialmail}{}{%
+ \edef\@tempa{\@tempa\@tempb specialmail}\def\@tempb{,\space}%
+ }%
+ \typeout{Address (\@tempa\@tempb addressee)}%
+ \endgroup%
+ \move@topt\vskip\useplength{toaddrvpos}%
+ \vb@t@z{{\setlength{\parfillskip}{\z@ \@plus 1fil}%
+ \rlap{\move@topl
+ \setlengthtoplength{\@tempskipa}{toaddrhpos}%
+ \ifdim \@tempskipa<\z@
+ \addtolength{\@tempskipa}{\paperwidth}%
+ \addtolengthplength[-]{\@tempskipa}{toaddrwidth}%
+ \fi
+ \hskip\@tempskipa
+ \@addtoplength{toaddrheight}{\useplength{backaddrheight}}%
+ \@savevbox{\useplength{toaddrheight}}{\hsize\useplength{toaddrwidth}%
+ \@savevbox[\vss]{\useplength{backaddrheight}}{%
+ \hsize\useplength{toaddrwidth}%
+ \if@baddr
+ \ifkomavarempty{backaddress}{}{{%
+ \noindent%
+ \def\\{\usekomavar{backaddressseparator}\@ogobble}%
+ \underline{\scriptsize\usekomafont{backaddress}%
+ \usekomavar{backaddress}}}}%
+ \fi
+ }{backaddress}{backaddrheight}{\setkomavar}%
+ \ifkomavarempty{specialmail}{}{%
+ \vbox{\hsize\useplength{toaddrwidth}%
+ \noindent\hspace*{\useplength{specialmailindent}}%
+ \underline{\usekomavar{specialmail}}%
+ \hspace*{\useplength{specialmailrightindent}}}%
+ }%
+ \vfil%
+ \noindent\hskip\useplength{toaddrindent}%
+ \setlength{\@tempdima}{\useplength{toaddrwidth}}%
+ \addtolengthplength[-2]{\@tempdima}{toaddrindent}%
+ \vbox{\hsize\@tempdima%
+ \noindent\usekomavar{toname}\\\usekomavar{toaddress}}%
+ \vfil\null}%
+ {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
+ \typeout{Address: No}%
+ \fi
+ }
+\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%
+ \ifnum 1=\@alignfrom
+ \if@logo
+ \ifkomavarempty{location}{%
+ \setkomavar{location}{\null}}{}%
+ \fi
+ \fi
+ \ifkomavarempty{location}{%
+ \typeout{Location field: empty}%
+ }{%
+ \typeout{Location field: yes}%
+ \move@topt\vskip\useplength{toaddrvpos}%
+ \vb@t@z{\rlap{%
+ \move@topl
+ \setlengthtoplength[-]{\@tempskipa}{toaddrhpos}%
+ \ifdim \@tempskipa<\z@
+ \addtolength{\@tempskipa}{\paperwidth}%
+ \else
+ \addtolengthplength{\@tempskipa}{locwidth}%
+ \fi
+ \hskip\@tempskipa
+ \llap{%
+ \@savevbox{\useplength{toaddrheight}}{%
+ \noindent\hsize\useplength{locwidth}%
+ \ifnum 1=\@alignfrom
+ \if@logo
+ \ifkomavarempty{fromlogo}{}{%
+ {\raggedleft\noindent\usekomavar{fromlogo}\\
+ \vskip\parskip}\noindent}%
+ \fi
+ \fi
+ \usekomavar{location}\vskip \z@ \@plus .00001fil}
+ {location field}{toaddrheight}{\setkomavar}%
+ }}%
+ }%
+ \vskip-\useplength{toaddrvpos}\move@frompt
+ }%
+ }
+\newcommand*{\@set@reffield}[1]{%
+ \ifkomavarempty{#1}{}{%
+ \settowidth{\@tempdima}{\strut\usekomavar{#1}}%
+ \setbox0\hbox{\strut\scriptsize\sffamily\usekomavar*{#1}}%
+ \ifdim \@tempdima<\wd0\setlength{\@tempdima}{\wd0}\fi
+ \if@tempswa\enskip\hfill\fi
+ \parbox[t]{\@tempdima}{\noindent\raggedright
+ \strut\box0\\\strut\usekomavar{#1}}%
+ \@tempswatrue
+ }%
+}
+\newcommand*{\@set@reffields}{}%
+\newcommand*{\addtoreffields}[1]{%
+ \l@addto@macro{\@set@reffields}{\@set@reffield{#1}}%
+ }
+\newcommand*{\removereffields}{%
+ \renewcommand*{\@set@reffields}{}%
+ }
+\newcommand*{\defaultreffields}{%
+ \removereffields
+ \addtoreffields{yourref}%
+ \addtoreffields{yourmail}%
+ \addtoreffields{myref}%
+ \addtoreffields{customer}%
+ \addtoreffields{invoice}%
+}
+\defaultreffields
+\newcommand*{\@datefield}{{\@parskipfalse\@parskip@indent
+ \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}%
+ \rlap{\noindent\move@topl\hskip\useplength{refhpos}%
+ \vbox{\hsize\useplength{refwidth}%
+ \noindent\@set@reffields
+ \ifkomavarempty{date}{%
+ \if@tempswa
+ \typeout{Reference line(s): with fields but without date}%
+ \else
+ \typeout{Reference line(s): no}%
+ \aftergroup\aftergroup\aftergroup\@tempswatrue
+ \fi
+ }{%
+ \if@tempswa
+ \typeout{Reference line(s): with fields and date}%
+ \settowidth{\@tempdima}{\strut\usekomavar{date}}%
+ \setbox0\hbox{\scriptsize\sffamily\usekomavar*{date}}%
+ \ifdim \@tempdima<\wd0\setlength{\@tempdima}{\wd0}\fi
+ \enskip\hfill
+ \parbox[t]{\@tempdima}{\noindent\raggedright%
+ \strut\box0\\\strut\usekomavar{date}}
+ \else
+ \typeout{Reference line: only place and date}%
+ \enskip\hfill
+ \ifkomavarempty{place}{}{%
+ \usekomavar{place}\usekomavar{placeseparator}}%
+ \usekomavar{date}%
+ \@tempswatrue
+ \fi
+ }%
+ }%
+ }%
+ \if@tempswa\vskip-\baselineskip\fi
+ \vskip\useplength{refaftervskip}%
+ }%
+}
+\newcommand*{\@maketitle}{%
+ \ifkomavarempty{title}{%
+ \typeout{Title: no}%
+ }{%
+ \typeout{Title: yes}%
+ {\@parskipfalse\@parskip@indent%
+ \centering\LARGE\titlefont\usekomavar{title}\par}%
+ \vskip\baselineskip%
+ }%
+ }
+\newcommand*{\@subjfield}{{\@parskipfalse\@parskip@indent%
+ \ifkomavarempty{subject}{%
+ \typeout{Subject: no}%
+ }{%
+ \if@subjafter%
+ \typeout{Subject: after opening}%
+ \centering%
+ \else%
+ \typeout{Subject: before opening}%
+ \noindent%
+ \fi%
+ {\usekomafont{subject}\if@subj\@hangfrom{\usekomavar*{subject}}\fi%
+ {\usekomavar{subject}}\par}\vskip2\baselineskip%
+ }%
+ }%
+ }
+\newcommand{\opening}[1]{%
+ \@PapersizeWarning
+ \@gen@firsthead
+ \@mkboth{\scr@fromname@var}{\scr@subject@var}%
+ \thispagestyle{empty}\noindent
+ \@foldmarks\@firstheadfootfield\@addrfield\@locfield\@datefield
+ \@maketitle
+ \if@subjafter\else\@subjfield\fi
+ {\@parskipfalse\@parskip@indent\noindent#1\par}%
+ {\setlength{\@tempdima}{\baselineskip}%
+ \addtolength{\@tempdima}{-\parskip}
+ \ifdim \@tempdima>\z@\vskip\@tempdima\fi}
+ \if@subjafter\@subjfield\fi%
+ \@afterindentfalse\@afterheading
+ }
+\newcommand*{\setpresigskip}{\@setplength{sigbeforevskip}}
+\newcommand*{\@xtrimtempa}{%
+ \@ifnextchar [{\@@xtrimtempa}{\@@xtrimtempa[]}}
+\newcommand*{\@@xtrimtempa}{}
+\def\@@xtrimtempa[#1]#2\@nil{\def\@tempa{#2}}
+\newcommand*{\@tempdimaismaxwidthof}{}
+\def\@tempdimaismaxwidthof#1\\#2\@nil{%
+ \settowidth{\@tempdimb}{\strut\ignorespaces#1}%
+ \ifdim\@tempdima<\@tempdimb\setlength{\@tempdima}{\@tempdimb}\fi
+ \def\@tempa{#2}\ifx\@tempa\@empty
+ \let\@tempb\relax
+ \else
+ \expandafter\@xtrimtempa\@tempa\@nil
+ \def\@tempb{\expandafter\@tempdimaismaxwidthof\@tempa\@nil}%
+ \fi
+ \@tempb
+ }
+\newcommand*{\closing}[1]{{\@parskipfalse\@parskip@indent\nobreak\par%
+ \nobreak\vskip\baselineskip%
+ \stopbreaks\noindent%
+ \setlength{\@tempdima}{0pt}%
+ \expandafter\@tempdimaismaxwidthof\scr@signature@var\\\@nil
+ \expandafter\@tempdimaismaxwidthof\strut\ignorespaces#1\\\@nil
+ \setlength{\@tempdimb}{\hsize}%
+ \addtolength{\@tempdimb}{-\useplength{sigindent}}%
+ \ifdim\@tempdima>\@tempdimb\setlength{\@tempdima}{\@tempdimb}\fi%
+ \hspace{\useplength{sigindent}}%
+ \parbox{\@tempdima}{\raggedsignature\strut\ignorespaces%
+ #1\strut\\[\useplength{sigbeforevskip}]
+ \strut\usekomavar{signature}\strut}}\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
+}
+\pagestyle{plain}
+\pagenumbering{arabic} % Arabic page numbers
+ \raggedbottom
+\@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'.