%% %% 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'.