From 1c15eb0bc227a081215bf372a3756aadc4d19d09 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 7 Mar 2007 18:05:27 +0000 Subject: koma-script update (5mar07) git-svn-id: svn://tug.org/texlive/trunk@4009 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/koma-script/scrlttr2.cls | 378 ++++++++++++++++++--- 1 file changed, 330 insertions(+), 48 deletions(-) (limited to 'Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls') diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls b/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls index b3adea55192..5402941504f 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls @@ -39,7 +39,7 @@ %% scrkcile.dtx (with options: `class,letter,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2006 +%% Copyright (c) 1994-2007 %% Markus Kohm and any individual authors listed elsewhere in this file. %% %% This file was generated from file(s) of the KOMA-Script bundle. @@ -91,7 +91,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2006/07/30 v2.95b KOMA-Script}% + \@CheckKOMAScriptVersion{2007/03/02 v2.97 KOMA-Script}% \endgroup \newcommand*{\KOMAClassName}{% scrlttr2% @@ -107,7 +107,7 @@ %%% From File: scrkcomp.dtx \newcommand*{\scr@compatibility}{0} \KOMA@key{version}[last]{% - \ifundefined{scr@v@#1}{% + \scr@ifundefined{scr@v@#1}{% \def\scr@compatibility{0}% \ClassWarningNoLine{\KOMAClassName}{% You have set option `version' to value `#1', but\MessageBreak @@ -133,7 +133,12 @@ \@namedef{scr@v@2.9t}{0} \@namedef{scr@v@2.9u}{1} \@namedef{scr@v@2.95}{2} -\@namedef{scr@v@last}{2} +\@namedef{scr@v@2.95a}{2} +\@namedef{scr@v@2.95b}{2} +\@namedef{scr@v@2.96}{2} +\@namedef{scr@v@2.96a}{3} +\@namedef{scr@v@2.97}{3} +\@namedef{scr@v@last}{3} %%% From File: scrkmisc.dtx \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% @@ -164,7 +169,7 @@ \KOMA@DeclareObsoleteOption[\PackageInfo]{orgdate}{numericaldate=false} %%% From File: scrkfont.dtx \newcommand*\@ptsize{% - 2% + 12% } \newcommand*{\@pt@scan}{% \expandafter\@pt@@scan\CurrentOption pt\@pt@@scan% @@ -178,14 +183,13 @@ }{\@headlines}% } \KOMA@key{fontsize}{% - \begingroup - \setlength{\@tempdima}{#1}% - \addtolength{\@tempdima}{-10\p@}% - \edef\@tempa{\endgroup\noexpand\renewcommand*\noexpand\@ptsize{% - \strip@pt\@tempdima}}% - \@tempa + \scr@ifundefined{changefontsizes}{% + \@defaultunits\@tempdima#1pt\relax\@nnil + \edef\@ptsize{#1}% + }{% + \changefontsizes{#1}% + }% } -\@onlypreamble\KV@KOMA@fontsize %%% From File: scrkvars.dtx %%% From File: scrkplen.dtx %%% From File: scrktare.dtx @@ -246,12 +250,31 @@ \newcommand*{\scr@pti@nerr@r}{ \OptionNotUsed } +\KOMA@key{headlines}{% + \PassOptionsToPackage{headlines=#1}{typearea}% +} +\KOMA@key{headinclude}[true]{\PassOptionsToPackage{headinclude=#1}{typearea}} +\KOMA@key{footinclude}[true]{\PassOptionsToPackage{footinclude=#1}{typearea}} +\KOMA@key{mpinclude}[true]{\PassOptionsToPackage{mpinclude=#1}{typearea}} +\KOMA@key{BCOR}{% + \PassOptionsToPackage{BCOR=#1}{typearea}% +} +\KOMA@key{DIV}[calc]{% + \PassOptionsToPackage{DIV=#1}{typearea}% +} \KOMA@key{twoside}[true]{% \KOMA@set@ifkey{twoside}{@twoside}{#1}% \if@twoside\@mparswitchtrue\else\@mparswitchfalse\fi% - \csname recalctypearea\endcsname } -\KOMA@DeclareObsoleteOption[\PackageInfo]{oneside}{twoside=false} +\KOMA@key{twocolumn}[true]{% + \KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}% +} +\KOMA@key{pagesize}[auto]{% + \PassOptionsToPackage{pagesize=#1}{typearea}% +} +\KOMA@key{paper}{% + \PassOptionsToPackage{paper=#1}{typearea}% +} %%% From File: scrkpar.dtx \newcommand*{\setparsizes}[3]{% \edef\f@parindent{\the\parindent}% @@ -372,7 +395,7 @@ \@ifpackageloaded{typearea}{% \KOMAoptions{headinclude=#1}% }{% - \PassOptionsToPackage{typearea}{headinclude=#1}% + \PassOptionsToPackage{headinclude=#1}{typearea}% }% } \KOMA@DeclareObsoleteOption[\PackageInfo]{headnosepline}{headsepline=false} @@ -382,7 +405,7 @@ \@ifpackageloaded{typearea}{% \KOMAoptions{footinclude=#1}% }{% - \PassOptionsToPackage{typearea}{footinclude=#1}% + \PassOptionsToPackage{footinclude=#1}{typearea}% }% } \KOMA@DeclareObsoleteOption[\PackageInfo]{footnosepline}{footsepline=false} @@ -390,11 +413,13 @@ \begingroup% \def\@tempc{% \endgroup% - \KOMA@unkown@keyval{cleardoublepage}{#1}{% + \KOMA@unknown@keyval{cleardoublepage}{#1}{% 'current' or any defined pagestyle e.g. 'empty','plain'}% }% \ifstr{#1}{current}{% - \let\cleardoublepage\cleardoublestandardpage + \def\@tempc{\endgroup% + \let\cleardoublepage\cleardoublestandardpage + }% }{% \ifnotundefined{ps@#1}{% \def\@tempc{\endgroup% @@ -417,7 +442,7 @@ cleardoublepage=plain% } \KOMA@DeclareObsoleteOption[\PackageInfo]{cleardoublestandard}{% - cleardoublepage=standard% + cleardoublepage=current% } %%% From File: scrkfloa.dtx %%% From File: scrkftn.dtx @@ -442,8 +467,35 @@ \KOMA@ifkey{fromlogo}{@logo} \newif\if@afield\@afieldtrue \KOMA@ifkey{addrfield}{@afield} +\newcommand{\backaddr@format}[1]{} +\let\backaddr@format\underline \newif\if@baddr\@baddrtrue -\KOMA@ifkey{backaddress}{@baddr} +\KOMA@key{backaddress}[true]{% + \begingroup + \KOMA@set@ncmdkey{backaddress}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {underlined}{2},% + {plain}{3}% + }{#1}% + \ifcase\@tempa + \endgroup + \@baddrfalse + \or + \endgroup + \@baddrtrue + \or + \endgroup + \@baddrtrue + \let\backaddr@format\underline + \or + \endgroup + \@baddrtrue + \let\backaddr@format\@firstofone + \else + \endgroup + \fi +} \newif\if@bigloc \KOMA@key{locfield}[wide]{% \begingroup @@ -466,10 +518,10 @@ \KOMA@set@ncmdkey{refline}{@tempa}{{wide}{0},{narrow}{1}}{#1}% \ifcase\@tempa \endgroup - \@refwidefalse + \@refwidetrue \else \endgroup - \@refwidetrue + \@refwidefalse \fi } \newif\if@subj @@ -551,8 +603,6 @@ draft=false,headsepline=false,footsepline=false,parskip=false% ,twoside=false% } -\ExecuteOptions{% -} \ProcessOptions\relax %%% From File: scrkcomp.dtx \expandafter\ifnum \@nameuse{scr@v@2.95}>\scr@compatibility @@ -567,26 +617,256 @@ }% \fi %%% From File: scrkfont.dtx -\@tempcnta=10 -\advance\@tempcnta by\@ptsize -\xdef\@tempa{% - size% - \the\@tempcnta.clo} -\InputIfFileExists{\@tempa}{}{% - \ClassError{\KOMAClassName}{% - 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 +\newcommand*{\changefontsizes}[2][1.2\@tempdima]{% + \ClassWarning{\KOMAClassName}{% + Using fallback calculation to setup font sizes\MessageBreak + for basic size `#2'}% + \@defaultunits\@tempdima#2pt\relax\@nnil + \setlength{\@tempdimc}{\@tempdima}% + \addtolength{\@tempdimc}{-10\p@}% + \edef\@ptsize{\strip@pt\@tempdimc}% + \@defaultunits\@tempdimb#1pt\relax\@nnil + \setlength{\@tempdimc}{\dimexpr (100\@tempdimb / \@tempdima * \p@)}% + \edef\@tempb{\the\@tempdimc}% + \setlength{\@tempdimc}{\@tempdima}% + \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}% + \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil% + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayskip}{\abovedisplayskip}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \edef\normalsize{% + \noexpand\@setfontsize\noexpand\normalsize + {\the\@tempdima}{\the\@tempdimb}% + \abovedisplayskip \the\abovedisplayskip + \abovedisplayshortskip \the\abovedisplayshortskip + \belowdisplayskip \the\belowdisplayskip + \belowdisplayshortskip \the\belowdisplayshortskip + \let\noexpand\@listi\noexpand\@listI + }% + \setlength{\@tempdima}{0.9125\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayskip}{\abovedisplayskip}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \edef\small{% + \noexpand\@setfontsize\noexpand\small + {\the\@tempdima}{\the\@tempdimb}% + \abovedisplayskip \the\abovedisplayskip + \abovedisplayshortskip \the\abovedisplayshortskip + \belowdisplayskip \the\belowdisplayskip + \belowdisplayshortskip \the\belowdisplayshortskip + \let\noexpand\@listi\noexpand\@listi@small + }% + \setlength{\@tempdima}{.83334\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayskip}{\abovedisplayskip}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \edef\footnotesize{% + \noexpand\@setfontsize\noexpand\footnotesize + {\the\@tempdima}{\the\@tempdimb}% + \abovedisplayskip \the\abovedisplayskip + \abovedisplayshortskip \the\abovedisplayshortskip + \belowdisplayskip \the\belowdisplayskip + \belowdisplayshortskip \the\belowdisplayshortskip + \let\noexpand\@listi\noexpand\@listi@footnotesize + }% + \setlength{\@tempdima}{.66667\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \edef\scriptsize{% + \noexpand\@setfontsize\noexpand\scriptsize + {\the\@tempdima}{\the\@tempdimb}% + }% + \setlength{\@tempdima}{.5\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \edef\tiny{% + \noexpand\@setfontsize\noexpand\tiny + {\the\@tempdima}{\the\@tempdimb}% + }% + \setlength{\@tempdima}{1.2\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \edef\large{% + \noexpand\@setfontsize\noexpand\large + {\the\@tempdima}{\the\@tempdimb}% + }% + \setlength{\@tempdima}{1.44\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \edef\Large{% + \noexpand\@setfontsize\noexpand\Large + {\the\@tempdima}{\the\@tempdimb}% + }% + \setlength{\@tempdima}{1.728\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \edef\LARGE{% + \noexpand\@setfontsize\noexpand\LARGE + {\the\@tempdima}{\the\@tempdimb}% + }% + \setlength{\@tempdima}{2.074\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \edef\huge{% + \noexpand\@setfontsize\noexpand\huge + {\the\@tempdima}{\the\@tempdimb}% + }% + \setlength{\@tempdima}{2.488\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \edef\Huge{% + \noexpand\@setfontsize\noexpand\Huge + {\the\@tempdima}{\the\@tempdimb}% + }% + \normalsize + \setlength{\footnotesep}{.7\@tempdimc}% + \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus + .6\@tempdimc}% + \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{0\p@ \@plus 1fil}% + \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{0\p@ \@plus 1fil}% + \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@dblfpbot}{\@fptop}% + \setlength{\partopsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus + .16667\@tempdimc}% + \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus + .5\@tempdimc}% + \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \@tempswafalse + \begingroup + \def\@list@extra{\aftergroup\@tempswatrue}% + \csname @listi\endcsname + \endgroup + \edef\@listi{\leftmargin\leftmargini + \topsep \the\topsep + \parsep \the\parsep + \itemsep \parsep + \if@tempswa\noexpand\@list@extra\fi + }% + \let\@listI\@listi + \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus + .41667\@tempdimc}% + \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \@tempswafalse + \begingroup + \def\@list@extra{\aftergroup\@tempswatrue}% + \csname @listi\endcsname + \endgroup + \edef\@listi@small{\leftmargin\leftmargini + \topsep \the\topsep + \parsep \the\parsep + \itemsep \parsep + \if@tempswa\noexpand\@list@extra\fi + }% + \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus + .16667\@tempdimc}% + \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \@tempswafalse + \begingroup + \def\@list@extra{\aftergroup\@tempswatrue}% + \csname @listi\endcsname + \endgroup + \edef\@listi@footnotesize{\leftmargin\leftmargini + \topsep \the\topsep + \parsep \the\parsep + \itemsep \parsep + \if@tempswa\noexpand\@list@extra\fi + }% + \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \@tempswafalse + \begingroup + \def\@list@extra{\aftergroup\@tempswatrue}% + \csname @listii\endcsname + \endgroup + \edef\@listii{\leftmargin\leftmarginii + \labelwidth=\dimexpr \leftmargin-\labelsep + \topsep \the\topsep + \parsep \the\parsep + \itemsep \parsep + \if@tempswa\noexpand\@list@extra\fi + }% + \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \setlength{\parsep}{\p@ \@plus\z@ \@minus\p@}% + \@tempswafalse + \begingroup + \def\@list@extra{\aftergroup\@tempswatrue}% + \csname @listiii\endcsname + \endgroup + \edef\@listiii{\leftmargin\leftmarginiii + \labelwidth=\dimexpr \leftmargin-\labelsep + \topsep \the\topsep + \parsep \z@ + \partopsep \the\parsep + \itemsep \topsep + \if@tempswa\noexpand\@list@extra\fi + }% + \@tempswafalse + \begingroup + \def\@list@extra{\aftergroup\@tempswatrue}% + \csname @listiv\endcsname + \endgroup + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth=\dimexpr \leftmargin-\labelsep + \if@tempswa\noexpand\@list@extra\fi + }% + \@tempswafalse + \begingroup + \def\@list@extra{\aftergroup\@tempswatrue}% + \csname @listv\endcsname + \endgroup + \def\@listv{\leftmargin\leftmarginv + \labelwidth=\dimexpr \leftmargin-\labelsep + \if@tempswa\noexpand\@list@extra\fi + }% + \@tempswafalse + \begingroup + \def\@list@extra{\aftergroup\@tempswatrue}% + \csname @listvi\endcsname + \endgroup + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth=\dimexpr \leftmargin-\labelsep + \if@tempswa\noexpand\@list@extra\fi + }% + \@listi +} +\providecommand*{\@fontsizefilebase}{scrsize} +\expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil +\edef\@tempa{\@ptsize}% +\setlength{\@tempdimb}{\@tempdima}% +\edef\@tempb{\strip@pt\@tempdimb}% +\addtolength{\@tempdimb}{-10\p@}% +\edef\@ptsize{\strip@pt\@tempdimb}% +\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{ + \ClassInfo{\KOMAClassName}{% + File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% +}{% + \InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% + \ClassInfo{\KOMAClassName}{% + File `\@fontsizefilebase\@tempb pt.clo' used instead of\MessageBreak + file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% + }{% + \InputIfFileExists{size\@tempb.clo}{% + \ClassInfo{\KOMAClassName}{% + File `size\@tempb.clo' used to setup font sizes}% + }{% + \changefontsizes{\@tempa}% + }% + }% } \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} @@ -628,7 +908,7 @@ }% }% } -\ifundefined{unexpanded}{% +\scr@ifundefined{unexpanded}{% \newcommand*{\g@addto@macro@temp}{}% \newcommand{\l@addto@macro}[2]{% \begingroup% @@ -692,8 +972,10 @@ `#1' that is an alias of element `\csname scr@fnt@instead@#1\endcsname'\MessageBreak }% + \expandafter\expandafter\expandafter\usekomafont + \expandafter\expandafter\expandafter{% + \csname scr@fnt@instead@#1\endcsname}% }% - \@nameuse{scr@fnt@instead@#1}% }{% \@nameuse{scr@fnt@#1}% }% @@ -1614,7 +1896,7 @@ \g@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}} \g@addto@macro{\small}{\protect\add@extra@listi{sml}} \newcommand*{\@list@extra}{% - \ifdim\parskip>\z@\topsep\z@\parskip\parskip\itemsep\z@\fi + \ifdim\parskip>\z@\topsep\z@\parsep\parskip\itemsep\z@\fi } \@lowpenalty = 51 \@medpenalty =151 @@ -2201,7 +2483,7 @@ \ifkomavarempty{backaddress}{}{{% \noindent% \def\\{\usekomavar{backaddressseparator}\@ogobble}% - \underline{\scriptsize\usekomafont{backaddress}% + \backaddr@format{\scriptsize\usekomafont{backaddress}% \usekomavar{backaddress}}}}% \fi }{backaddress}{backaddrheight}{\setkomavar}% -- cgit v1.2.3