diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:57:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:57:36 +0000 |
commit | c5c7f075891032e94d192ef00ca0cb9919d0e8cd (patch) | |
tree | fc8bf0944e12dc8c3295ad1caf82a230e1495d9b /Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls | |
parent | 3eb843585fc56ace68d2c095ff32de0c743b9446 (diff) |
koma-script
git-svn-id: svn://tug.org/texlive/trunk@1018 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls | 2486 |
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'. |