diff options
author | Karl Berry <karl@freefriends.org> | 2008-11-12 00:44:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-11-12 00:44:32 +0000 |
commit | e0fa36719ae8b943d0c515ccc2a4f1e2670cc614 (patch) | |
tree | cfd7d451101897cf222cd885a36573ccacd922c4 /Master/texmf-dist/tex | |
parent | 6d06dddb5a2041f7c07b6502a3bfa973f0d86635 (diff) |
koma-script update (11nov08)
git-svn-id: svn://tug.org/texlive/trunk@11262 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
29 files changed, 6340 insertions, 2346 deletions
diff --git a/Master/texmf-dist/tex/latex/koma-script/DIN.lco b/Master/texmf-dist/tex/latex/koma-script/DIN.lco index 05692e32a95..c5fcc7520aa 100644 --- a/Master/texmf-dist/tex/latex/koma-script/DIN.lco +++ b/Master/texmf-dist/tex/latex/koma-script/DIN.lco @@ -60,7 +60,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: scrklco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco b/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco index 72ebf05c936..3793a25d073 100644 --- a/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco +++ b/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco @@ -60,7 +60,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: scrklco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco b/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco index 0155d40623b..1d0b29f9602 100644 --- a/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco +++ b/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco @@ -61,7 +61,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: scrklco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/KakuLL.lco b/Master/texmf-dist/tex/latex/koma-script/KakuLL.lco index d8defb766fb..f87b625ec3a 100644 --- a/Master/texmf-dist/tex/latex/koma-script/KakuLL.lco +++ b/Master/texmf-dist/tex/latex/koma-script/KakuLL.lco @@ -60,7 +60,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: japanlco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/NipponEH.lco b/Master/texmf-dist/tex/latex/koma-script/NipponEH.lco index 59588ba3642..7a8a4f4fb4e 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NipponEH.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NipponEH.lco @@ -60,7 +60,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: japanlco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/NipponEL.lco b/Master/texmf-dist/tex/latex/koma-script/NipponEL.lco index 0fe362401cb..5ec193c74b3 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NipponEL.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NipponEL.lco @@ -60,7 +60,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: japanlco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/NipponLH.lco b/Master/texmf-dist/tex/latex/koma-script/NipponLH.lco index 43be3c342a2..4cf876780dc 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NipponLH.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NipponLH.lco @@ -60,7 +60,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: japanlco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/NipponLL.lco b/Master/texmf-dist/tex/latex/koma-script/NipponLL.lco index 102653fa69f..3cf08f9f442 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NipponLL.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NipponLL.lco @@ -60,7 +60,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: japanlco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/NipponRL.lco b/Master/texmf-dist/tex/latex/koma-script/NipponRL.lco index 0581ed23660..abb06dd244a 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NipponRL.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NipponRL.lco @@ -60,7 +60,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: japanlco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/SN.lco b/Master/texmf-dist/tex/latex/koma-script/SN.lco index 21f83a696f7..a09a6215f7a 100644 --- a/Master/texmf-dist/tex/latex/koma-script/SN.lco +++ b/Master/texmf-dist/tex/latex/koma-script/SN.lco @@ -60,7 +60,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: scrklco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/SNleft.lco b/Master/texmf-dist/tex/latex/koma-script/SNleft.lco index 88e876b73a9..699adafb9b6 100644 --- a/Master/texmf-dist/tex/latex/koma-script/SNleft.lco +++ b/Master/texmf-dist/tex/latex/koma-script/SNleft.lco @@ -60,7 +60,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: scrklco.dtx \ProvidesFile{% diff --git a/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls b/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls index dd0a30e7592..bda5b6d1a5b 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls @@ -6,6 +6,7 @@ %% %% scrkvers.dtx (with options: `class,article') %% scrkbase.dtx (with options: `load') +%% tocbasic.dtx (with options: `load') %% scrkcomp.dtx (with options: `class,article,option') %% scrkmisc.dtx (with options: `class,article,option') %% scrklang.dtx (with options: `class,article,option') @@ -91,7 +92,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup \newcommand*{\KOMAClassName}{% scrartcl% @@ -104,6 +105,13 @@ ] %%% From File: scrkbase.dtx \RequirePackage{scrkbase}[\KOMAScriptVersion] +%%% From File: tocbasic.dtx +\def\tocbasicversion{2008/10/06 v1.0} +\edef\@tempa{\noexpand\RequirePackage{tocbasic}[\tocbasicversion]} +\@tempa +\addtotoclist{toc} +\addtotoclist[float]{lof} +\addtotoclist[float]{lot} %%% From File: scrkcomp.dtx \newcommand*{\scr@compatibility}{0} \KOMA@key{version}[last]{% @@ -123,7 +131,8 @@ \ClassError{\KOMAClassName}{% Option `version' too late% }{% - Option `version' may be set only while loading the class.\MessageBreak + Option `version' may be set only while loading the + class.\MessageBreak But you've tried to set it up later.% }% }% @@ -144,7 +153,11 @@ \@namedef{scr@v@2.97d}{5} \@namedef{scr@v@2.97e}{6} \@namedef{scr@v@2.98}{6} -\@namedef{scr@v@last}{6} +\@namedef{scr@v@2.98a}{6} +\@namedef{scr@v@2.98b}{6} +\@namedef{scr@v@2.98c}{7} +\@namedef{scr@v@3.00}{8} +\@namedef{scr@v@last}{8} %%% From File: scrkmisc.dtx \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% @@ -169,16 +182,41 @@ \def\@pt@@scan #1pt#2\@pt@@scan{% \ifstr{#2}{pt}{% \ifnumber{#1}{% - \KOMA@UseObsoleteOption{\PackageInfoNoLine}{#1#2}{fontsize=#1#2}% + \KOMA@UseObsoleteOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% }{\@headlines}% }{\@headlines}% } +\providecommand*{\@fontsizefilebase}{scrsize} \KOMA@key{fontsize}{% \scr@ifundefinedorrelax{changefontsizes}{% \@defaultunits\@tempdima#1pt\relax\@nnil \edef\@ptsize{#1}% }{% - \changefontsizes{#1}% + \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil + \edef\@tempa{#1}% + \setlength{\@tempdimb}{\@tempdima}% + \edef\@tempb{\strip@pt\@tempdimb}% + \addtolength{\@tempdimb}{-10\p@}% + \edef\@ptsize{\strip@pt\@tempdimb}% + \edef\@tempa{% + \noexpand\makeatletter + \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% + \noexpand\ClassInfo{\KOMAClassName}{% + File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% + }{% + \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% + \noexpand\ClassInfo{\KOMAClassName}{% + File `\@fontsizefilebase\@tempb pt.clo' used instead of% + \noexpand\MessageBreak + file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% + }{% + \noexpand\changefontsizes{#1}% + }% + }% + \noexpand\catcode`\noexpand\@=\the\catcode`\@ + }% + \@tempa }% } %%% From File: scrktare.dtx @@ -244,7 +282,7 @@ } \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{oneside}{twoside=false} \KOMA@key{twocolumn}[true]{% - \if@atdocument\else\PassOptionsToPackage{twoside=#1}{typearea}\fi% + \if@atdocument\else\PassOptionsToPackage{twocolumn=#1}{typearea}\fi% } \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{onecolumn}{twocolumn=false} \DeclareOption*{% @@ -354,154 +392,138 @@ \endgroup \fi } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip-}{parskip=full-} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip+}{parskip=full+} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip*}{parskip=full*} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip}{parskip=half} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip-}{parskip=half-} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip+}{parskip=half+} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip*}{parskip=half*} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parindent}{parskip=false} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip-}{parskip=full-} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip+}{parskip=full+} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip*}{parskip=full*} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip}{parskip=half} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip-}{parskip=half-} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip+}{parskip=half+} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip*}{parskip=half*} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parindent}{parskip=false} %%% From File: scrktitl.dtx \newif\if@titlepage \@titlepagefalse -\KOMA@ifkey{titlepage}{@titlepage} -\KOMA@DeclareObsoleteOption[\ClassInfo]{notitlepage}{titlepage=false} +\KOMA@ifkey{titlepage}{@titlepage}% +\KOMA@DeclareObsoleteOption% + [\PackageInfoNoLine]% + {notitlepage}{titlepage=false} \newif\if@abstrt\@abstrtfalse \KOMA@ifkey{abstract}{@abstrt} -\KOMA@DeclareObsoleteOption[\ClassInfo]{abstracton}{abstract=true} -\KOMA@DeclareObsoleteOption[\ClassInfo]{abstractoff}{abstract=false} +\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{abstracton}{abstract=true} +\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{abstractoff}{abstract=false} %%% From File: scrksect.dtx -\DeclareOption{pointednumbers}{% - \AtEndOfClass{\@altsecnumformattrue - \global\let\@altsecnumformatfalse\@altsecnumformattrue}% -} -\DeclareOption{pointednumber}{% - \AtEndOfClass{\@altsecnumformattrue - \global\let\@altsecnumformatfalse\@altsecnumformattrue}% - \ClassError{\KOMAClassName}{% - undefined option `pointednumber' instead of `pointednumbers'% - }{% - You've used the class-option `pointednumber'.\MessageBreak - This name was an implementation-error at versions from 2.3h till - 2.4f.\MessageBreak - The correct name is `pointednumbers'. - Change this at your document.\MessageBreak - If you'll continue, the option `pointednumbers' will be used% - }% -} -\DeclareOption{pointlessnumbers}{% - \AtEndOfClass{\@altsecnumformatfalse - \global\let\@altsecnumformattrue\@altsecnumformatfalse}% -} -\DeclareOption{pointlessnumber}{% - \AtEndOfClass{\@altsecnumformatfalse - \global\let\@altsecnumformattrue\@altsecnumformatfalse}% +%% \fi +\newcommand*{\scr@dotchangeatdocument}[1]{% \ClassError{\KOMAClassName}{% - undefined option `pointlessnumber' instead of `pointlessnumbers'% + change of end dot feature after \string\begin{document}% }{% - You've used the class-option `pointlessnumber'.\MessageBreak - This name was an implementation-error at versions from 2.3h till - 2.4f.\MessageBreak - The correct name is `pointlessnumbers'. - Change this at your document.\MessageBreak - If you'll continue, the option `pointlessnumbers' will be used% - }% -} -\newcommand\@bigheadings{% - \AtEndOfClass{% - \let\size@part\Huge - \let\size@partnumber\huge - \let\size@section\Large - \let\size@subsection\large - \let\size@subsubsection\normalsize - \let\size@paragraph\normalsize - \let\size@subparagraph\normalsize + You've tried to set `numbers=#1' after \string\begin{document},\MessageBreak + but this option is only allowed at the document preamble.\MessageBreak + See KOMA-Script manual for more information about.% }% } -\DeclareOption{bigheadings}{\@bigheadings} -\DeclareOption{bigheading}{% - \@bigheadings - \ClassError{\KOMAClassName}{% - undefined option `bigheading' instead of `bigheadings'% - }{% - You've used the old option name `bigheading'!\MessageBreak - The correct name of the option is `bigheadings'.\MessageBreak - The old name was an implementation error from\MessageBreak - version 2.3h till 2.4f.\MessageBreak - You should change this at your document!\MessageBreak - If you'll continue, option `bigheadings' will be used% - }% -} -\newcommand\@normalheadings{% - \AtEndOfClass{% - \let\size@part\huge - \let\size@partnumber\huge - \let\size@section\large - \let\size@subsection\normalsize - \let\size@subsubsection\normalsize - \let\size@paragraph\normalsize - \let\size@subparagraph\normalsize - }% +\KOMA@key{numbers}{% + \KOMA@set@ncmdkey{numbers}{@tempa}{% + {autoendperiod}{0},{autoenddot}{0},{auto}{0},% + {endperiod}{1},{withendperiod}{1},{periodatend}{1},% + {enddot}{1},{withenddot}{1},{dotatend}{1},% + {noendperiod}{2},{noperiodatend}{2},% + {noenddot}{2},{nodotatend}{2}% + }{#1}% + \ifcase \@tempa\relax + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\@empty + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhooktrue + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhookfalse + \fi + \fi } -\DeclareOption{normalheadings}{\@normalheadings} -\DeclareOption{normalheading}{% - \@normalheadings - \ClassError{\KOMAClassName}{% - undefined option `normalheading' instead of `normalheadings'% - }{% - You've used the old option name `normalheading'!\MessageBreak - The correct name of the option is `normalheadings'.\MessageBreak - The old name was an implementation error from\MessageBreak - version 2.3h till 2.4f.\MessageBreak - You should change this at your document!\MessageBreak - If you'll continue, option `normalheadings' will be used% - }% +\newcommand*{\scr@altsecnumhook}{} +\AtBeginDocument{\scr@altsecnumhook} +\newcommand*{\scr@altsecnumhooktrue}{% + \@altsecnumformattrue\global\let\@altsecnumformatfalse\@altsecnumformattrue } -\newcommand\@smallheadings{% - \AtEndOfClass{ - \let\size@part\LARGE - \let\size@partnumber\LARGE - \let\size@section\normalsize - \let\size@subsection\normalsize - \let\size@subsubsection\normalsize - \let\size@paragraph\normalsize - \let\size@subparagraph\normalsize - }% +\newcommand*{\scr@altsecnumhookfalse}{% + \@altsecnumformatfalse\global\let\@altsecnumformattrue\@altsecnumformatfalse } -\DeclareOption{smallheadings}{\@smallheadings} -\DeclareOption{smallheading}{% - \@smallheadings - \ClassError{\KOMAClassName}{% - undefined option `smallheading' instead of `smallheadings'% - }{% - You've used the old option name `smallheading'!\MessageBreak - The correct name of the option is `smallheadings'.\MessageBreak - The old name was an implementation error from\MessageBreak - version 2.3h till 2.4f.\MessageBreak - You should change this at your document!\MessageBreak - If you'll continue, option `smallheadings' will be used% - }% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{pointednumbers}% + {numbers=enddot} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{pointlessnumbers}% + {numbers=noenddot} +\newcommand*{\size@part}{} +\newcommand*{\size@partnumber}{} +\newcommand*{\size@section}{} +\newcommand*{\size@subsection}{} +\newcommand*{\size@subsubsection}{} +\newcommand*{\size@paragraph}{} +\newcommand*{\size@subparagraph}{} +\newcommand*{\chapterheadstartvskip}{} +\newcommand*{\chapterheadendvskip}{} +\KOMA@key{headings}{% + \KOMA@set@ncmdkey{headings}{@tempa}{% + {big}{0},% + {normal}{1},% + {small}{2}% + }{#1}% + \ifcase \@tempa\relax + \renewcommand*{\size@part}{\Huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \renewcommand*{\size@part}{\huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@section}{\large}% + \renewcommand*{\size@subsection}{\normalsize}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \renewcommand*{\size@part}{\LARGE}% + \renewcommand*{\size@partnumber}{\LARGE}% + \renewcommand*{\size@section}{\normalsize}% + \renewcommand*{\size@subsection}{\normalsize}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \or + \or + \or + \or + \or + \or + \fi } -\@bigheadings +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{bigheadings}% + {headings=big} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{normalheadings}% + {headings=normal} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{smallheadings}% + {headings=small} %%% From File: scrkpage.dtx \newif\if@hsl \KOMA@key{headsepline}[true]{% \KOMA@set@ifkey{headsepline}{@hsl}{#1}% - \@ifpackageloaded{typearea}{% - \KOMAoptions{headinclude=#1}% - }{}% + \KOMA@options{headinclude=#1}{}% } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{headnosepline}{% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{headnosepline}{% headsepline=false} \newif\if@fsl \KOMA@key{footsepline}[true]{% \KOMA@set@ifkey{footsepline}{@fsl}{#1}% - \@ifpackageloaded{typearea}{% - \KOMAoptions{footinclude=#1}% - }{}% + \KOMA@options{footinclude=#1}{}% } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{footnosepline}{% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{footnosepline}{% footsepline=false} \@twosidefalse \KOMA@key{cleardoublepage}{% @@ -513,131 +535,365 @@ }% \ifstr{#1}{current}{% \def\@tempc{\endgroup% - \let\cleardoublepage\cleardoublestandardpage + \def\cleardoublepage{\cleardoublestandardpage}% + \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% + \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% }% }{% \ifnotundefined{ps@#1}{% \def\@tempc{\endgroup% \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% + \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% + \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% }% }{}% }% \@tempc } -\newcommand*{\cleardoublestandardpage}{} -\let\cleardoublestandardpage\cleardoublepage +\newcommand*{\cleardoubleoddstandardpage}{} +\let\cleardoubleoddstandardpage=\cleardoublepage +\newcommand*{\cleardoubleoddpageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoubleoddstandardpage}} +\newcommand*{\cleardoubleoddemptypage}{\cleardoubleoddpageusingstyle{empty}} +\newcommand*{\cleardoubleoddplainpage}{\cleardoubleoddpageusingstyle{plain}} +\newcommand*{\cleardoubleevenstandardpage}{% + \clearpage + \if@twoside\ifodd\c@page + \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi + \fi\fi +} +\newcommand*{\cleardoubleevenpageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoubleevenstandardpage}} +\newcommand*{\cleardoubleevenemptypage}{\cleardoubleevenpageusingstyle{empty}} +\newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}} +\newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage} +\renewcommand*{\cleardoublepage}{% + \expandafter\ifnum \@nameuse{scr@v@2.98c}<\scr@compatibility\relax + \cleardoubleemptypage + \else + \cleardoublestandardpage + \fi +} +\newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage} +\newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage} \newcommand*{\cleardoublepageusingstyle}[1]{\clearpage {\thispagestyle{#1}\cleardoublestandardpage}} \newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} \newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoubleempty}{% - cleardoublepage=empty% -} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoubleplain}{% - cleardoublepage=plain% -} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoublestandard}{% - cleardoublepage=current% -} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoubleempty}% + {cleardoublepage=empty} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoubleplain}% + {cleardoublepage=plain} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoublestandard}% + {cleardoublepage=current} %%% From File: scrkfloa.dtx \newif\if@tablecaptionabove\@tablecaptionabovefalse -\DeclareOption{tablecaptionabove}{\@tablecaptionabovetrue} -\DeclareOption{tablecaptionbelow}{\@tablecaptionabovefalse} -\newif\if@komalongtable\@komalongtabletrue -\DeclareOption{origlongtable}{\@komalongtablefalse} \newif\ifonelinecaptions\onelinecaptionstrue -\DeclareOption{onelinecaption}{\onelinecaptionstrue - \PassOptionsToPackage{oneline}{caption2}% -} -\DeclareOption{noonelinecaption}{\onelinecaptionsfalse - \PassOptionsToPackage{nooneline}{caption2}% +\newcommand*{\scap@pos}{r} +\newcommand*{\scap@valign}{b} +\KOMA@key{captions}{% + \KOMA@set@ncmdkey{captions}{@tempa}{% + {tableheading}{0},% + {tableabove}{0},{abovetable}{0},{abovetabular}{0},{topattable}{0},% + {tablesignature}{1},% + {tablebelow}{1},{belowtable}{1},{belowtabular}{1},{bottomattable}{1},% + {oneline}{2},% + {nooneline}{3},% + {rightbeside}{4},{besideright}{4},% + {leftbeside}{5},{besideleft}{5},% + {innerbeside}{6},{besideinner}{6},% + {outerbeside}{7},{besideouter}{7},% + {topbeside}{8},{besidetop}{8},% + {centeredbeside}{9},{besidecentered}{9},% + {middlebeside}{9},{besidemiddle}{9},% + {bottombeside}{10},{besidebottom}{10}% + }{#1}% + \ifcase \@tempa\relax + \@tablecaptionabovetrue + \or + \@tablecaptionabovefalse + \or + \onelinecaptionstrue + \or + \onelinecaptionsfalse + \or + \renewcommand*{\scap@pos}{r}% + \or + \renewcommand*{\scap@pos}{l}% + \or + \renewcommand*{\scap@pos}{i}% + \or + \renewcommand*{\scap@pos}{o}% + \or + \renewcommand*{\scap@valign}{t}% + \or + \renewcommand*{\scap@valign}{c}% + \or + \renewcommand*{\scap@valign}{b}% + \fi } +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{tablecaptionabove}% + {captions=tableheading} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{tablecaptionbelow}% + {captions=tablesignature} +\newif\if@komalongtable\@komalongtabletrue +\DeclareOption{origlongtable}{\@komalongtablefalse} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{onelinecaption} + {captions=oneline} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{noonelinecaption} + {captions=nooneline} %%% From File: scrkftn.dtx -%%% From File: scrkliof.dtx -\newif\if@tocleft -\DeclareOption{tocleft}{\@toclefttrue} -\DeclareOption{tocindent}{\@tocleftfalse} -\DeclareOption{liststotoc}{% - \AtEndOfClass{% - \renewcommand*{\float@listhead}[1]{% - \addsec{#1} - \@mkboth{#1}{#1}% - \if@dynlist - \newcommand*{\scr@starttoc}{}% - \let\scr@starttoc=\@starttoc - \renewcommand*{\@starttoc}[1]{% - \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% - \fi +\KOMA@key{footnotes}{% + \ifx\@footnotemark\scr@saved@footnotemark + \else + \ifx\@footnotemark\scr@footnotemark + \else + \ClassWarning{\KOMAClassName}{% + Change of `\string\@footnotemark' detected!\MessageBreak + Use of `footnotes=#1' may break\MessageBreak + another package!\MessageBreak + Maybe you should remove the usage of\MessageBreak + option `footnotes=#1'}% + \fi + \fi + \ifstr{#1}{multiple}{% + \let\@footnotemark\scr@footnotemark + \let\FN@mf@prepare\scr@mf@prepare + \def\scr@footmisc@options{multiple}% + }{% + \ifstr{#1}{nomultiple}{% + \let\@footnotemark\scr@saved@footnotemark + \let\FN@mf@prepare\relax + \let\scr@footmisc@options\@empty + }{% + \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% }% } -\DeclareOption{liststotocnumbered}{% - \AtEndOfClass{% - \renewcommand*{\float@listhead}[1]{% - \section{#1} - \@mkboth{\sectionmarkformat #1}{\sectionmarkformat #1}% - \if@dynlist - \newcommand*{\scr@starttoc}{}% - \let\scr@starttoc=\@starttoc - \renewcommand*{\@starttoc}[1]{% - \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% - \fi - }% - }% +\newcommand*{\scr@footmisc@options}{} +\PassOptionsToPackage{\noexpand\scr@footmisc@options}{footmisc} +\newcommand*{\scr@saved@footnotemark}{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi + \@makefnmark + \ifhmode\spacefactor\@x@sf\fi + \relax} +\expandafter\CheckCommand\expandafter*\expandafter\@footnotemark +\expandafter{\scr@saved@footnotemark} +\newcommand*{\scr@footnotemark}{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\FN@mf@check\nobreak\fi + \@makefnmark + \csname FN@mf@prepare\endcsname + \ifhmode\spacefactor\@x@sf\fi + \relax} +%%% From File: scrkliof.dtx +\newif\if@tocleft +\KOMA@key{toc}{% + \KOMA@set@ncmdkey{toc}{@tempa}{% + {noindex}{0},{noidx}{0},% + {index}{1},{idx}{1},% + {nolistof}{2},% + {listof}{3},% + {listofnumbered}{4},{numberedlistof}{4},% + {nobibliography}{5},{nobib}{5},% + {bibliography}{6},{bib}{6},% + {bibliographynumbered}{7},{bibnumbered}{7},{numberedbibliography}{7},% + {numberedbib}{7},% + {flat}{8},{left}{8},% + {graduated}{9},{indent}{9},{indented}{9}% + }{#1}% + \ifcase \@tempa\relax + \KOMA@options{index=notoc}{}% + \or + \KOMA@options{index=totoc}{}% + \or + \KOMA@options{listof=notoc}{}% + \or + \KOMA@options{listof=totoc}{}% + \or + \KOMA@options{listof=numbered}{}% + \or + \KOMA@options{bibliography=nottotoc}{}% + \or + \KOMA@options{bibliography=totoc}{}% + \or + \KOMA@options{bibliography=totocnumbered}{}% + \or + \@toclefttrue + \or + \@tocleftfalse + \fi +} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{tocleft}{toc=flat} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{tocindent}{toc=graduated} +\newcommand*{\float@@listhead}{% + \section* } \newif\if@dynlist -\DeclareOption{listsleft}{\@dynlisttrue} -\DeclareOption{listsindent}{\@dynlistfalse} -\newcommand*{\@chapterlistsgap}{10\p@} -\newif\if@chaptertolists\@chaptertolistsfalse -\KOMA@key{chapteratlists}[entry]{% - \ifstr{#1}{entry}{% - \@chaptertoliststrue\renewcommand*{\@chapterlistsgap}{\z@}% - }{% - \@chaptertolistsfalse\renewcommand*{\@chapterlistsgap}{#1}% - }% +\KOMA@key{listof}{% + \KOMA@set@ncmdkey{listof}{@tempa}{% + {notoc}{0},{nottotoc}{0},{plainheading}{0},% + {totoc}{1},{toc}{1},{notnumbered}{1},% + {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% + {numberedtoc}{2},% + {flat}{3},{left}{3},% + {graduated}{4},{indent}{4},{indented}{4},% + {leveldown}{5}, + }{#1}% + \ifcase \@tempa\relax + \renewcommand*{\float@@listhead}{% + \section* + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \or% totoc + \renewcommand*{\float@@listhead}{% + \addsec + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% numbered + \renewcommand*{\float@@listhead}{% + \section + }% + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% flat + \@dynlisttrue + \or% graduated + \@dynlistfalse + \or% leveldown + \doforeachtocfile[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \fi } +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{liststotoc}{listof=totoc} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{liststotocnumbered} + {listof=numbered} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{listsleft}{listof=flat} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{listsindent}{listof=graduated} %%% From File: scrkbib.dtx -\DeclareOption{openbib}{% - \AtEndOfPackage{% - \renewcommand*\@openbib@code{% - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ +\newcommand{\newbibstyle}[3][]{% + \scr@ifundefinedorrelax{scr@bibstyle@#2}{% + \scr@ifundefinedorrelax{scr@bibstyle@#1}{% + \ClassError{\KOMAClassName}{% + parent bibliography style `#1' does not exist}{% + You've told me to define the new bibliography style `#2'\MessageBreak + to be a child of bibliography style `#1', but bibliography + style\MessageBreak + `#1' does not exist.\MessageBreak + You have to remove the parent declaration or use an existing parent! + See the KOMA-Script manual for more information.% + }% + }{% + \@namedef{scr@bibstyle@#2}{% + \let\@openbib@code\@empty + \let\newblock\@empty + \let\bib@beginhook\@empty + \let\bib@endhook\@empty + \csname scr@bibstyle@#1\endcsname + #3% + }% + \g@addto@macro\scr@bibstylelist{, `#2'}% + }% + }{% + \ClassError{\KOMAClassName}{bibliography style `#2' already exists}{% + You've told me to define the new bibliography style `#2',\MessageBreak + but this style already exists.\MessageBreak + You have to use another bibliography style name.\MessageBreak + See the KOMA-Script manual for more information.% }% - \renewcommand*\newblock{\par}% }% } -\DeclareOption{bibtotoc}{% - \AtEndOfClass{% - \renewcommand*\bib@heading{% - \addsec{\refname}% - \@mkboth{\refname}{\refname}% - }% +\newcommand*{\scr@bibstyle@}{} +\newcommand*{\bib@beginhook}{} +\newcommand*{\bib@endhook}{} +\newcommand*{\scr@bibstylelist}{\@gobble} +\newcommand*{\@openbib@code}{} +\newcommand*{\newblock}{} +\newbibstyle{openstyle}{% + \renewcommand*{\@openbib@code}{% + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ }% + \renewcommand*{\newblock}{\par}% } -\DeclareOption{bibtotocnumbered}{% - \AtEndOfClass{% - \renewcommand*\bib@heading{% - \section{\refname}% - \@mkboth{\sectionmarkformat \refname}{\sectionmarkformat \refname}% - }% +\newbibstyle{oldstyle}{% + \renewcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em}% +} +\scr@bibstyle@oldstyle +\newcommand*\bib@heading{% + \section*{\refname}% + \@mkboth{\refname}{\refname}% +} +\KOMA@key{bibliography}{% + \scr@ifundefinedorrelax{scr@bibstyle@#1}{% + \let\FamilyElseValues\scr@bibstylelist + \KOMA@set@ncmdkey{bibliography}{@tempa}{% + {notoc}{0},{nottotoc}{0},{plainheading}{0},% + {totoc}{1},{toc}{1},{notnumbered}{1},% + {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% + {numberedtoc}{2}% + }{#1}% + \ifcase \@tempa\relax + \renewcommand*\bib@heading{% + \section*{\refname}% + \@mkboth{\refname}{\refname}% + }% + \or% totoc + \renewcommand*\bib@heading{% + \addsec{\refname}% + \@mkboth{\refname}{\refname}% + }% + \or% numbered + \renewcommand*\bib@heading{% + \section{\refname}% + \@mkboth{\sectionmarkformat \refname}{\sectionmarkformat \refname}% + } + \fi + }{% + \csname scr@bibstyle@#1\endcsname }% } +\KOMA@DeclareObsoleteOption[\ClassInfoNoLine]{openbib}{bibliography=openstyle} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{bibtotoc}{bibliography=totoc} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{bibtotocnumbered}{% + bibliography=totocnumbered} %%% From File: scrkidx.dtx -\DeclareOption{idxtotoc}{% - \AtEndOfClass{% - \renewcommand*\idx@heading{% - \twocolumn[\addsec{\indexname}]% - \@mkboth{\indexname}{\indexname}% +\newcommand*{\idx@@heading}{% + \section* +} +\KOMA@key{index}{% + \KOMA@set@ncmdkey{index}{@tempa}{% + {notoc}{0},{nottotoc}{0},{default}{0},{plainheading}{0},% + {totoc}{1},{toc}{1},{notnumbered}{1}% + }{#1}% + \ifcase \@tempa\relax + \renewcommand*{\idx@@heading}{% + \section* }% - }% + \or + \renewcommand*{\idx@@heading}{% + \addsec + }% + \fi } +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{idxtotoc}{index=totoc} %%% From File: scrklist.dtx %%% From File: scrkmisc.dtx \KOMAExecuteOptions{% - parskip=false% + parskip=false,% + headings=big% } \KOMAProcessOptions\relax %%% From File: scrkcomp.dtx @@ -884,7 +1140,6 @@ \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% }% } -\providecommand*{\@fontsizefilebase}{scrsize} \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil \edef\@tempa{\@ptsize}% \setlength{\@tempdimb}{\@tempdima}% @@ -1023,119 +1278,6 @@ }% } %%% From File: scrklang.dtx -\newcommand*{\providecaptionname}[3]{% - \@ifundefined{captions#1}{% - \@ifundefined{cap@info@#1@done}{% - \ClassInfo{\KOMAClassName}{% - 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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \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{\KOMAClassName}{% - `\string#2' at language `#1' already - defined\MessageBreak - --> skipped% - }% - \fi - \@tempa - }% -} -\newcommand*{\newcaptionname}[3]{% - \@ifundefined{captions#1}{% - \ClassInfo{\KOMAClassName}{% - No captions found for `#1' --> defining% - }% - \@namedef{captions#1}{}% - }{}% - \begingroup - \csname captions#1\endcsname - \ifx #2\undefined\else - \ClassError{\KOMAClassName}{% - `\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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa -} -\newcommand*{\renewcaptionname}[3]{% - \@ifundefined{captions#1}{% - \ClassError{\KOMAClassName}{% - 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{\KOMAClassName}{% - `\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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa -} \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi @@ -1240,44 +1382,62 @@ \addtolength{#1}{\@tempskipa}% \fi } -\g@addto@macro{\@listi}{\@list@extra} -\let\@listI=\@listi -\g@addto@macro{\@listii}{\@list@extra} -\g@addto@macro{\@listiii}{\@list@extra} +\newcommand*{\@list@extra}{% + \ifdim\parskip>\z@\topsep\z@\parsep\parskip\itemsep\z@\fi +} \newcommand*{\add@extra@listi}[1]{% \expandafter\let\csname #1@listi\endcsname=\@listi \def\@listi{\csname #1@listi\endcsname\@list@extra}% } -\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@\parsep\parskip\itemsep\z@\fi -} + \l@addto@macro{\@listi}{\@list@extra}% + \let\@listI=\@listi + \l@addto@macro{\@listii}{\@list@extra}% + \l@addto@macro{\@listiii}{\@list@extra}% + \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}% + \l@addto@macro{\small}{\protect\add@extra@listi{sml}}% \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 %%% From File: scrktitl.dtx -\newcommand*{\@extratitle}{} -\newcommand{\extratitle}[1]{\gdef\@extratitle{#1}} -\newcommand*{\@titlehead}{} -\newcommand{\titlehead}[1]{\gdef\@titlehead{#1}} -\newcommand*{\@subject}{} -\newcommand*{\subject}[1]{\gdef\@subject{#1}} -\newcommand*{\subtitle}[1]{\gdef\@subtitle{#1}} -\newcommand*{\@subtitle}{} -\newcommand*{\@publishers}{} -\newcommand{\publishers}[1]{\gdef\@publishers{#1}} -\newcommand*{\@uppertitleback}{} -\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{#1}} -\newcommand*{\@lowertitleback}{} -\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{#1}} -\newcommand*{\@dedication}{} -\newcommand{\dedication}[1]{\gdef\@dedication{#1}} -\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}} +\newcommand*{\@extratitle}{}% +\newcommand{\extratitle}[1]{\gdef\@extratitle{% + #1% +}}% +\newcommand*{\@titlehead}{}% +\newcommand{\titlehead}[1]{\gdef\@titlehead{% + #1% +}}% +\newcommand*{\@subject}{}% +\newcommand*{\subject}[1]{\gdef\@subject{% + #1% +}}% +\newcommand*{\subtitle}[1]{\gdef\@subtitle{% + #1% +}}% +\newcommand*{\@subtitle}{}% +\newcommand*{\@publishers}{}% +\newcommand{\publishers}[1]{\gdef\@publishers{% + #1% +}}% +\newcommand*{\@uppertitleback}{}% +\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{% + #1% +}}% +\newcommand*{\@lowertitleback}{}% +\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{% + #1% +}}% +\newcommand*{\@dedication}{}% +\newcommand{\dedication}[1]{\gdef\@dedication{% + #1% +}}% +\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}}% \if@titlepage \newcommand*\maketitle[1][1]{% \begin{titlepage} - \setcounter{page}{#1}% + \setcounter{page}{% + #1% + }% \let\footnotesize\small \let\footnoterule\relax \let\footnote\thanks @@ -1359,10 +1519,12 @@ \global\let\dedication\relax \global\let\date\relax \global\let\and\relax - } + }% \else \newcommand*\maketitle[1][1]{\par - \@tempcnta=#1\relax\ifnum\@tempcnta=1\else + \@tempcnta=% + #1% + \relax\ifnum\@tempcnta=1\else \ClassWarning{\KOMAClassName}{% Optional argument of \string\maketitle\space ignored at\MessageBreak @@ -1413,7 +1575,7 @@ \global\let\dedication\relax \global\let\date\relax \global\let\and\relax - } + }% \fi \newcommand*{\@maketitle}{% \clearpage @@ -1455,12 +1617,25 @@ \end{center}% \par \vskip 2em -} -\newcommand*\titlefont{\sectfont} -\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large} -\newkomafont{subtitle}{\usekomafont{title}\large} -\newcommand*{\scr@fnt@title}{\titlefont} -\newcommand*{\scr@fnt@subject}{\subject@font} +}% +\newenvironment{titlepage}{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \if@compatibility + \setcounter{page}{0}% + \fi +}{% + \if@restonecol\twocolumn \else \newpage \fi +}% +\newcommand*\titlefont{\sectfont}% +\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% +\newkomafont{subtitle}{\usekomafont{title}\large}% +\newcommand*{\scr@fnt@title}{\titlefont}% +\newcommand*{\scr@fnt@subject}{\subject@font}% \if@titlepage \newenvironment{abstract}{% \titlepage @@ -1494,19 +1669,6 @@ \if@twocolumn\else\endquotation\fi } \fi -\newenvironment{titlepage}{% - \if@twocolumn - \@restonecoltrue\onecolumn - \else - \@restonecolfalse\newpage - \fi - \thispagestyle{empty}% - \if@compatibility - \setcounter{page}{0}% - \fi -}{% - \if@restonecol\twocolumn \else \newpage \fi -} %%% From File: scrksect.dtx \newcommand*\appendix{\par% \setcounter{section}{0}% @@ -1515,22 +1677,25 @@ \csname appendixmore\endcsname } \newif\if@altsecnumformat\@altsecnumformatfalse -\newif\if@autodot\@autodotfalse +\newif\if@autodot +\renewcommand*{\@autodottrue}{\global\let\if@autodot\iftrue} +\renewcommand*{\@autodotfalse}{\global\let\if@autodot\iffalse} +\@autodotfalse \newcommand{\@maybeautodot}[1]{\if@autodot\else\begingroup% \expandafter\@@maybeautodot #1\@stop\endgroup\fi } \newcommand*{\@@maybeautodot}[1]{% \ifx #1\@stop\let\@@maybeautodot\relax \else - \ifx #1\Alph \aftergroup\@autodottrue\fi - \ifx #1\alph \aftergroup\@autodottrue\fi - \ifx #1\Roman \aftergroup\@autodottrue\fi - \ifx #1\roman \aftergroup\@autodottrue\fi - \ifx #1\@Alph \aftergroup\@autodottrue\fi - \ifx #1\@alph \aftergroup\@autodottrue\fi - \ifx #1\@Roman \aftergroup\@autodottrue\fi - \ifx #1\@roman \aftergroup\@autodottrue\fi - \ifx #1\romannumeral \aftergroup\@autodottrue\fi + \ifx #1\Alph \@autodottrue\fi + \ifx #1\alph \@autodottrue\fi + \ifx #1\Roman \@autodottrue\fi + \ifx #1\roman \@autodottrue\fi + \ifx #1\@Alph \@autodottrue\fi + \ifx #1\@alph \@autodottrue\fi + \ifx #1\@Roman \@autodottrue\fi + \ifx #1\@roman \@autodottrue\fi + \ifx #1\romannumeral \@autodottrue\fi \fi \@@maybeautodot } @@ -1630,7 +1795,9 @@ \secdef\@addpart\@saddpart } \newcommand*{\@addpart}{} -\def\@addpart[#1]#2{\addcontentsline{toc}{part}{#1}\@spart{#2}% +\def\@addpart[#1]#2{% + \csname phantomsection\endcsname + \addcontentsline{toc}{part}{#1}\@spart{#2}% \ifx\partmark\@gobble\else\@mkboth{#1}{}\fi } \newcommand*{\@saddpart}{\@spart} @@ -1645,23 +1812,23 @@ \newcommand\section{\@startsection{section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% - {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ - plus 1fil}\fi + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax + \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@section}% } \newcommand\subsection{\@startsection{subsection}{2}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% - {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ - plus 1fil}\fi + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax + \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@subsection }% } \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% - {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ - plus 1fil}\fi + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax + \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@subsubsection }% } @@ -1693,14 +1860,8 @@ \newkomafont{partentrypagenumber}{} \newkomafont{sectionentry}{\usekomafont{sectioning}} \newkomafont{sectionentrypagenumber}{} -\newcommand*{\size@part}{} -\newcommand*{\size@partnumber}{} -\newcommand*{\size@section}{} -\newcommand*{\size@subsection}{} -\newcommand*{\size@subsubsection}{} -\newcommand*{\size@paragraph}{} -\newcommand*{\size@subparagraph}{} \newcommand*{\scr@fnt@disposition}{\sectfont} +\aliaskomafont{sectioning}{disposition} \newcommand*{\scr@fnt@part}{\size@part} \newcommand*{\scr@fnt@partnumber}{\size@partnumber} \newcommand*{\scr@fnt@section}{\size@section} @@ -1708,7 +1869,6 @@ \newcommand*{\scr@fnt@subsubsection}{\size@subsubsection} \newcommand*{\scr@fnt@paragraph}{\size@paragraph} \newcommand*{\scr@fnt@subparagraph}{\size@subparagraph} -\aliaskomafont{sectioning}{disposition} \newcommand*\l@part[2]{% \ifnum \c@tocdepth >\m@ne\relax \addpenalty{\@secpenalty}% @@ -1728,7 +1888,7 @@ \usekomafont{partentry}{#1\nobreak \usekomafont{partentrypagenumber}{\hfil\nobreak \hb@xt@\@pnumwidth{\hss#2}}}\par - \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \endgroup \penalty20010 \else @@ -1766,7 +1926,7 @@ \hfill\nobreak \hb@xt@\@pnumwidth{\hss#2}}}\par \endgroup - \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \penalty20008 \fi \fi @@ -1777,7 +1937,7 @@ \newcommand*\l@paragraph{\bprot@dottedtocline{4}{7.0em}{4.1em}} \newcommand*\l@subparagraph{\bprot@dottedtocline{5}{10em}{5em}} \newcommand*{\bprot@dottedtocline}[5]{% - \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \ifnum #1>\c@tocdepth \else \begingroup \@tempcnta 20010 @@ -1875,16 +2035,19 @@ \addtolength{\@tempdima}{\marginparwidth}% \fi } -\newcommand*\pnumfont{\normalfont\normalcolor} -\newcommand*\headfont{\normalfont\normalcolor\slshape} +\newcommand*{\pnumfont}{\normalfont\normalcolor} +\newcommand*{\headfont}{\normalfont\normalcolor\slshape} +\newcommand*{\footfont}{} \newcommand*{\scr@fnt@pagenumber}{\pnumfont} \aliaskomafont{pagination}{pagenumber} -\newcommand*{\scr@fnt@pagehead}{\headfont} -\newcommand*{\scr@fnt@wrn@pagehead}[1]{% - `pagehead' and `pagefoot' are aliases for the same\MessageBreak - font element, changed% +\newcommand*{\scr@fnt@pageheadfoot}{\headfont} +\aliaskomafont{pagehead}{pageheadfoot} +\newcommand*{\scr@fnt@pagefoot}{\footfont} +\newcommand*{\scr@fnt@wrn@pagefoot}[1]{% + This class does not use font element `pagefoot'!\MessageBreak + Maybe you should load package `scrpage2', before\MessageBreak + using this element% } -\aliaskomafont{pagefoot}{pagehead} \newcommand*{\pagemark}{{\usekomafont{pagenumber}% \thepage}} \renewcommand*{\ps@plain}{% @@ -1953,7 +2116,6 @@ \renewcommand*{\sectionmark}[1]{}% } \newcommand*{\titlepagestyle}{plain} -\newcommand*{\partpagestyle}{plain} \newcommand*{\indexpagestyle}{plain} \pagestyle{plain} \pagenumbering{arabic} @@ -1983,8 +2145,6 @@ \AtBeginDocument{\let\scr@caption\caption} \newcommand{\captionabove}{\@captionabovetrue\scr@caption} \newcommand{\captionbelow}{\@captionabovefalse\scr@caption} -\newcommand*{\scap@pos}{r} -\newcommand*{\scap@valign}{b} \newcommand*{\scap@caption}{} \newcommand*{\scap@width}{\linewidth} \newcommand*{\scap@move}{\z@} @@ -2024,7 +2184,16 @@ \newbox\c@pti@nb@sid@b@x \newcommand{\c@pti@nb@sid@}{} \long\def\c@pti@nb@sid@[#1]#2{% - \def\scap@caption{\captionbelow[{#1}]{#2}}% + \def\scap@caption{% + \if c\scap@valign + \setlength{\abovecaptionskip}{\z@}% + \setlength{\belowcaptionskip}{\z@}% + \else + \setlength{\abovecaptionskip}{-\ht\strutbox}% + \setlength{\belowcaptionskip}{-\dp\strutbox}% + \fi + \captionbelow[{#1}]{#2}% + }% \begin{lrbox}{\c@pti@nb@sid@b@x}% } \newenvironment*{captionbeside}{% @@ -2105,12 +2274,12 @@ \AfterPackage{caption2}{% \renewcommand*{\setcapindent}{% \ClassWarning{\KOMAClassName}{% - You're using package caption2.\MessageBreak - Because of this you should also use \string\captionstyle\space + You're using package `caption2'.\MessageBreak + Because of this you should also use `\string\captionstyle' and\MessageBreak - set length \string\captionindent\space instead if + set length '\string\captionindent' instead of using\MessageBreak - \string\setcapindent + `\string\setcapindent'% }% \captionstyle{indent}% \@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}% @@ -2120,10 +2289,10 @@ \AfterPackage{caption2}{% \renewcommand*{\setcaphanging}{% \ClassWarning{\KOMAClassName}{% - You're using package caption2.\MessageBreak + You're using package `caption2'.\MessageBreak Because of this you should also use - \string\captionstyle\MessageBreak - instead of \string\setcaphang + `\string\captionstyle'\MessageBreak + instead of `\string\setcaphang'% } \captionstyle{hang}% }% @@ -2213,11 +2382,11 @@ \AfterPackage{caption2}{% \renewcommand*{\setcapwidth}[2][]{% \ClassWarning{\KOMAClassName}{% - Ignorring optional argument of \string\setcapwidth!\MessageBreak - You're using package caption2.\MessageBreak + Ignorring optional argument of `\string\setcapwidth'!\MessageBreak + You're using package `caption2'.\MessageBreak Because of this you should also use - \string\setcaptionwidth\MessageBreak - instead of \string\setcapwidth\MessageBreak + `\string\setcaptionwidth'\MessageBreak + instead of `\string\setcapwidth'% }% \setcaptionwidth{#2}% }% @@ -2276,10 +2445,10 @@ \ifdim\@tempdima\@tempdimb\else \ClassWarning{\KOMAClassName}{% Can set only centered caption!\MessageBreak - You're using package caption2.\MessageBreak + You're using package `caption2'.\MessageBreak Because of this you should also use - \string\setcaptionmargin\MessageBreak - instead of \string\setcapmargin + `\string\setcaptionmargin'\MessageBreak + instead of `\string\setcapmargin'% }% \fi \addtolength{\@tempdimb}{\@tempdimb}% @@ -2351,20 +2520,22 @@ \fi \endgroup } +\newcommand*{\scr@caption@before@longtable@warning}[1]{% + \ClassWarning{\KOMAClassName}{% + you've loaded package `#1' before package\MessageBreak + `longtable'!\MessageBreak + Because of this package `#1' isn't able to\MessageBreak + control `\string\caption' at longtables. \space After loading + \MessageBreak + package `#1' KOMA-Script also doesn't control\MessageBreak + `\string\caption'.\MessageBreak + I think, you should load package `caption' after\MessageBreak + package `longtable'% + }% +} \AfterPackage{longtable}{% \@ifpackageloaded{caption2}{\@komalongtablefalse - \ClassWarning{\KOMAClassName}{% - you've loaded package caption2 before package\MessageBreak - longtable!\MessageBreak - Because of this package caption2 isn't able to - control\MessageBreak - \string\caption\space at longtables. After loading package - caption2\MessageBreak - KOMA-Script also doesn't control \string\caption.\MessageBreak - I think, you should load package caption after - package\MessageBreak - longtable and use the new interface% - }% + \scr@caption@before@longtable@warning{caption2}% }{}% \if@komalongtable \renewcommand{\LT@makecaption}[3]{% @@ -2523,9 +2694,44 @@ \newcommand*{\ftntm@font}{} \newcommand*{\scr@fnt@footnotereference}{\ftntm@font} \newcommand*{\scr@fnt@footnoteref}{\ftntm@font} +\newcommand*{\FN@mf@check}{% + \ifdim\lastkern=\multiplefootnotemarker\relax + \edef\@x@sf{\the\spacefactor}% + \unkern\multiplefootnoteseparator + \spacefactor\@x@sf\relax + \fi +} +\newcommand*{\scr@mf@prepare}{% + \kern-\multiplefootnotemarker + \kern\multiplefootnotemarker\relax +} +\@ifundefined{FN@mf@prepare}{}{} +\newcommand*{\scr@saved@footnotetext}{} +\let\scr@saved@footnotetext\@footnotetext +\renewcommand*{\@footnotetext}[1]{% + \scr@saved@footnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\BeforePackage{footmisc}{% + \ifx\@footnotemark\scr@footnotemark + \let\@footnotemark\scr@saved@footnotemark + \fi + \let\@footnotetext\scr@saved@footnotetext +} +\newcommand*{\multiplefootnoteseparator}{% + \begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup +} +\newcommand*{\multfootsep}{,} +\newcommand*{\multiplefootnotemarker}{3sp} \newcommand*{\thefootnotemark}{\@thefnmark} \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} \deffootnotemark{\textsuperscript{\thefootnotemark}} +\newcommand*{\footref}[1]{% + \begingroup + \unrestored@protected@xdef\@thefnmark{\ref{#1}}% + \endgroup + \@footnotemark +} %%% From File: scrkliof.dtx \renewcommand*{\numberline}[1]{% \hb@xt@\@tempdima{#1\autodot\hfil}} @@ -2569,24 +2775,39 @@ \string\gdef\expandafter\string\csname#1@l@number\endcsname{% \@l@number}}% } +\g@addto@macro\tocbasic@@before@hook{% + \if@dynlist\expandafter\before@starttoc\expandafter{\@currext}\fi +} +\g@addto@macro\tocbasic@@after@hook{% + \if@dynlist\expandafter\after@starttoc\expandafter{\@currext}\fi +} \newcommand*\contentsname{Contents} +\newcommand*\listoftocname{\contentsname} \setcounter{tocdepth}{3} \newcommand*\toc@heading{% + \ClassWarning{\KOMAClassName}{% + usage of deprecated \string\toc@heading!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\toc@heading.\MessageBreak + Definition of \string\toc@heading\space my be removed from\MessageBreak + KOMA-Script soon, so it should not be used + }% \section*{\contentsname}% \@mkboth{\contentsname}{\contentsname}% } \newcommand*{\toc@l@number}{} \newcommand*{\tableofcontents}{% - \begingroup - \toc@heading% - \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative - \if@tocleft\before@starttoc{toc}\fi - \@starttoc{toc}% - \if@tocleft\after@starttoc{toc}\fi - \endgroup + \begingroup\let\if@dynlist\if@tocleft\listoftoc{toc}\endgroup } \newcommand*{\float@listhead}[1]{% - \section*{#1}% + \ClassWarning{\KOMAClassName}{% + usage of deprecated \string\float@listhead!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@listhead.\MessageBreak + Definition of \string\float@listhead\space my be removed from\MessageBreak + KOMA-Script soon, so it should not be used + }% + \float@@listhead{#1}% \@mkboth{#1}{#1}% \if@dynlist% \newcommand*{\scr@starttoc}{}% @@ -2597,41 +2818,37 @@ \fi } \newcommand*\listfigurename{List of Figures} +\newcommand*\listoflofname{\listfigurename} \newcommand*\listtablename{List of Tables} -\newcommand*\lof@heading{\float@listhead{\listfigurename}} -\newcommand*\listoffigures{% - \begingroup% - \lof@heading% - \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative - \@starttoc{lof}% - \endgroup -} +\newcommand*\listoflotname{\listtablename} +\newcommand*\listoffigures{\listoftoc{lof}} \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} -\newcommand*\lot@heading{\float@listhead{\listtablename}} -\newcommand*\listoftables{% - \begingroup - \lot@heading - \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative - \@starttoc{lot}% - \endgroup -} +\newcommand*\listoftables{\listoftoc{lot}} \let\l@table\l@figure %%% From File: scrkbib.dtx \newcommand*\refname{References} \newcommand*{\bibpreamble}{\relax} \let\bibpreamble\relax \newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}} -\newcommand*\bib@heading{% - \section*{\refname}% - \@mkboth{\refname}{\refname}% -} \newdimen\bibindent \bibindent=1.5em \newenvironment{thebibliography}[1]{% - \bib@heading - \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else - \noindent\bibpreamble\par\nobreak - \fi\fi + \if@bib@break@ + \bib@beginhook + \else + \bib@heading + \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else + \noindent\bibpreamble\par\nobreak + \fi\fi + \bib@beginhook + \bib@before@hook + \fi + \renewcommand{\BreakBibliography}[1]{% + \@bib@break + \end{thebibliography}% + \begingroup ##1\endgroup + \begin{thebibliography}{#1} + }% \list{% \@biblabel{\@arabic\c@enumiv}% }{% @@ -2639,26 +2856,66 @@ \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code - \usecounter{enumiv}% + \if@bib@break@ + \edef\@tempa{% + \noexpand\usecounter{enumiv}% + \noexpand\setcounter{enumiv}{\the\c@enumiv}% + }\@tempa + \no@bib@break + \else + \usecounter{enumiv}% + \fi \let\p@enumiv\@empty \renewcommand*\theenumiv{\@arabic\c@enumiv}% }% \sloppy\clubpenalty4000 \widowpenalty4000 \sfcode`\.=\@m }{% - \def\@noitemerr{% - \@latex@warning{Empty `thebibliography' environment}% - }% + \if@bib@break@ + \def\@noitemerr{% + \@latex@warning{% + \string\BreakBibliography\space at begin of `thebibliography' + environment\MessageBreak + or following \string\BreakBibliography}% + }% + \else + \def\@noitemerr{% + \@latex@warning{% + Empty `thebibliography' environment or + \string\BreakBibliography\MessageBreak + before end of `thebibliography' environment}% + }% + \fi \endlist + \if@bib@break@ + \else + \bib@after@hook + \let\bib@before@hook\@empty + \let\bib@after@hook\@empty + \fi + \bib@endhook +} +\newif\if@bib@break@ +\newcommand{\no@bib@break}{\global\let\if@bib@break@\iffalse} +\newcommand*{\@bib@break}{\global\let\if@bib@break@\iftrue} +\newcommand*{\bib@before@hook}{} +\newcommand*{\bib@after@hook}{} +\newcommand{\BreakBibliography}[1]{% + \ClassWarning{\KOMAClassName}{% + You've used \string\BreakBibliography\space either outside of\MessageBreak + the bibliography or `thebibliography' was redefined\MessageBreak + incompatible, e.g., using a bibliography package.\MessageBreak + \string\BreakBibliography\space ignored% + }% } -\newcommand*\newblock{\hskip .11em\@plus.33em\@minus.07em} -\let\@openbib@code\@empty +\newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook} +\newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook} %%% From File: scrkidx.dtx \newcommand*{\index@preamble}{} \let\index@preamble=\relax \newcommand{\setindexpreamble}[1]{\def\index@preamble{#1}} \newcommand*{\idx@heading}{% - \twocolumn[\section*{\indexname}]% + \twocolumn[\idx@@heading{\indexname}]% \@mkboth{\indexname}{\indexname}% } \newenvironment{theindex}{% diff --git a/Master/texmf-dist/tex/latex/koma-script/scrbase.sty b/Master/texmf-dist/tex/latex/koma-script/scrbase.sty new file mode 100644 index 00000000000..648b5fdfa2f --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrbase.sty @@ -0,0 +1,813 @@ +%% +%% This is file `scrbase.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrkvers.dtx (with options: `package,scrbase') +%% scrkbase.dtx (with options: `package,option,base') +%% scrklang.dtx (with options: `package,option,base') +%% scrlfile.dtx (with options: `load') +%% scrkbase.dtx (with options: `package,body,base') +%% scrklang.dtx (with options: `package,body,base') +%% scrlogo.dtx (with options: `logo') +%% +%% 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. +%% --------------------------------------------------------------- +%% +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. +%% +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. +%% +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. +%% +%% If this file is a beta version, you are not allowed to distribute it. +%% +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- +%% +%% See `README'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. +%% +%%% From File: scrkvers.dtx +\begingroup + \makeatletter + \ifx\KOMAScriptVersion\undefined + \newcommand*{\@CheckKOMAScriptVersion}[1]{% + \gdef\KOMAScriptVersion{#1}% + }% + \else + \newcommand*{\@CheckKOMAScriptVersion}[1]{% + \def\@tempa{#1}% + \ifx\KOMAScriptVersion\@tempa\else + \@latex@warning@no@line{% + \noexpand\KOMAScriptVersion\space is + `\KOMAScriptVersion',\MessageBreak + but `#1' was expected!\MessageBreak + You should not use classes, packages or files + from\MessageBreak + different KOMA-Script versions% + }% + \fi + } + \fi + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% +\endgroup +%%% From File: scrkbase.dtx +\ProvidesPackage{% + scrbase% +}[% + \KOMAScriptVersion\space package + (KOMA-Script-independent basics and keyval usage)] +\RequirePackage{keyval} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname ifcsname\endcsname\relax + \newcommand{\scr@ifundefinedorrelax}[1]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname #1\endcsname\relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + } +\else + \newcommand{\scr@ifundefinedorrelax}[1]{% + \ifcsname #1\endcsname + \expandafter\ifx\csname #1\endcsname\relax + \expandafter\expandafter\expandafter\@firstoftwo + \else + \expandafter\expandafter\expandafter\@secondoftwo + \fi + \else + \expandafter\@firstoftwo + \fi + } +\fi +\newcommand*{\DefineFamily}[1]{% + \scr@ifundefinedorrelax{#1@key@familylist}{% + \@namedef{#1@key@familylist}{}% + }{}% +} +\newcommand*{\scr@if@family}[2]{% + \scr@ifundefinedorrelax{#1@key@familylist}{% + \PackageError{scrbase}{% + unknown family `#1'% + }{% + You've tried to #2 for family `#1'.\MessageBreak + This my be done only for previous defined families.\MessageBreak + You should call `\string\DefineFamily{#1}' first.% + }% + }% +} +\newcommand*{\DefineFamilyMember}[2][.\@currname.\@currext]{% + \scr@if@family{#2}{define a family member}{% + \edef\reserved@a{% + \noexpand\in@{#2#1,}{\csname #2@key@familylist\endcsname}}% + \reserved@a + \ifin@\else + \expandafter\edef\csname #2@key@familylist\endcsname{% + \@nameuse{#2@key@familylist}#2#1,}% + \fi + }% +} +\newcommand*{\scr@if@familymember}[3]{% + \scr@if@family{#2}{#3}{% + \edef\reserved@a{% + \noexpand\in@{#2#1,}{\csname #2@key@familylist\endcsname}}% + \reserved@a + \ifin@ + \expandafter\@firstofone + \else + \PackageError{scrbase}{% + unknown member `#1' at family `#2'% + }{% + You've tried to #3 for member `#1' of family `#2'.\MessageBreak + This my be done only for previous defined family members.\MessageBreak + You should call `\string\DefineFamilyMember[{#1}]{#2}' first.% + }% + \expandafter\@gobble + \fi + }% +} +\newcommand*{\DefineFamilyKey}[2][.\@currname.\@currext]{% + \scr@if@familymember{#1}{#2}{define a key}{% + \define@key{#2#1}% + }% +} +\newcommand*{\@globaloptionslist}{} +\let\@globaloptionslist\@classoptionslist +\scr@ifundefinedorrelax{XKV@classoptionslist}{}{% + \ifx\XKV@classoptionslist\@empty\else + \let\@globaloptionslist\XKV@classoptionslist + \fi +} +\newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{% + \let\ds@\@empty + \edef\@curroptions{\@ptionlist{\@currname.\@currext}}% + \ifx\@currext\@clsextension\else + \@for\CurrentOption:=\@globaloptionslist\do{% + \ifx\CurrentOption\@empty\else + \@expandtwoargs\in@{,\CurrentOption,}{,\@declaredoptions,}% + \ifin@ + \@use@ption + \expandafter\let\csname ds@\CurrentOption\endcsname\@empty + \else + \scr@optiontest{#2}\CurrentOption{}{% + \@use@ption + \@expandtwoargs\setkeys{#2}% + \CurrentOption + }% + \scr@optiontest{#2#1}\CurrentOption{}{% + \@use@ption + \@expandtwoargs\setkeys{#2#1}% + \CurrentOption + }% + \fi + \fi + }% + \fi + \@for\CurrentOption:=\@curroptions\do{% + \@use@ption + \scr@ifundefinedorrelax{ds@\CurrentOption}{% + \scr@optiontest{#2}\CurrentOption{% + \scr@optiontest{#2#1}\CurrentOption{% + \default@ds + }{% + \edef\reserved@a{% + \noexpand\setkeys{#2#1}{\CurrentOption}% + \noexpand\def\noexpand\CurrentOption{\CurrentOption}% + }\reserved@a + }% + }{% + \@expandtwoargs\setkeys{#2}% + \CurrentOption + \scr@optiontest{#2#1}\CurrentOption{}{% + \@expandtwoargs\setkeys{#2#1}% + \CurrentOption + }% + }% + }{% + }% + }% + \@for\CurrentOption:=\@declaredoptions\do{% + \expandafter\let\csname ds@\CurrentOption\endcsname\relax}% + \let\CurrentOption\@empty + \let\@fileswith@pti@ns\@@fileswith@pti@ns + \AtEndOfPackage{\let\@unprocessedoptions\relax}% +} +\@onlypreamble\FamilyProcessOptions +\newcommand*{\scr@optiontest}[2]{% + \edef\reserved@a{\noexpand\scr@pti@ntest{#1}#2=\noexpand\@nil}% + \reserved@a +} +\newcommand*{\scr@pti@ntest}{} +\def\scr@pti@ntest#1#2=#3\@nil{\scr@ifundefinedorrelax{KV@#1@#2}} +\newcommand*{\dont@let@as@internal@defined}{/} +\newif\if@let@as@internalonly@defined\@let@as@internalonly@definedfalse +\DefineFamily{KOMA} +\DefineFamilyMember{KOMA} +\DefineFamilyKey{KOMA}{internalonly}[\relax]{% + \ifx\relax#1\relax + \@let@as@internalonly@definedtrue + \else + \@let@as@internalonly@definedfalse + \begingroup + \@expandtwoargs\in@{#1}\dont@let@as@internal@defined + \expandafter\endgroup + \ifin@\else\g@addto@macro\dont@let@as@internal@defined{#1/}\fi + \fi +} +\FamilyProcessOptions{KOMA}\relax +%%% From File: scrklang.dtx +%%% From File: scrlfile.dtx +\def\scrlfileversion{2008/07/09 v3.00} +\edef\@tempa{\noexpand\RequirePackage{scrlfile}[\scrlfileversion]} +\@tempa +%%% From File: scrkbase.dtx +\newif\if@atdocument +\AtBeginDocument{\@atdocumenttrue} +\@onlypreamble\@atdocumentrue +\@onlypreamble\@atdocumentfalse +\newcommand*{\let@as@internal@defined}[1]{% + \begingroup + \if@let@as@internalonly@defined + \in@true + \else + \@expandtwoargs\in@{/#1/}\dont@let@as@internal@defined + \fi + \expandafter\endgroup + \ifin@ + \PackageInfo{% + scrbase% + }{% + \expandafter\string\csname #1\endcsname\space excluded from being + defined% + }% + \else + \@ifundefined{#1}{% + \begingroup + \expandafter\def\expandafter\@tempa + \expandafter{\csname scr@#1\endcsname} + \expandafter\def\expandafter\@tempb + \expandafter{\csname #1\endcsname} + \expandafter\expandafter\expandafter\endgroup + \expandafter\expandafter\expandafter\let\expandafter\@tempb\@tempa + \if@atdocument\else + \g@addto@macro\document{% + \expandafter\ifx\csname #1\expandafter\endcsname + \csname scr@#1\endcsname + \else + \PackageWarning{scrbase}{% + \expandafter\string\csname #1\endcsname\space was + redefined\MessageBreak + at the document preamble.\MessageBreak + If you did not redefine it by yourself, have a\MessageBreak + a look at the description of this command at\MessageBreak + the manual of every package you are using\@gobble + }% + \fi + }% + \fi + }{% + \PackageInfo{% + scrbase% + }{% + \expandafter\string\csname #1\endcsname\space already + defined.\MessageBreak + If \expandafter\string\csname #1\endcsname\space does not behave + like\MessageBreak + it was described at the KOMA-Script manual, try to\MessageBreak + load `scrbase.sty' earlier or find out at which\MessageBreak + package or class \expandafter\string\csname #1\endcsname\space + was defined before\@gobble + }% + }% + \fi +} +\let@as@internal@defined{ifundefinedorrelax} +\scr@ifundefinedorrelax{ifcsname}{% + \newcommand{\ifnotundefined}[1]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname #1\endcsname\relax + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi + }% +}{% + \newcommand{\ifnotundefined}[1]{% + \ifcsname #1\endcsname + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +} +\newcommand\ifstr[2]{% + \begingroup\edef\@tempa{#1}\edef\@tempb{#2}% + \ifx\@tempa\@tempb + \endgroup\expandafter\@firstoftwo + \else + \endgroup\expandafter\@secondoftwo + \fi +} +\newcommand\ifnumber[1]{% + \begingroup\@tempswafalse\let\scr@next\test@number + \expandafter\scr@next#1\scr@next + \if@tempswa + \endgroup\expandafter\@firstoftwo + \else + \endgroup\expandafter\@secondoftwo + \fi +} +\newcommand*{\test@number}[1]{% + \ifx \scr@next#1 + \let\scr@next\relax + \else + \@tempcnta=\expandafter\expandafter\expandafter\number + \expandafter`#1\relax + \ifnum \@tempcnta>47 + \ifnum \@tempcnta<58 + \@tempswatrue + \else\@tempswafalse\fi + \else\@tempswafalse\fi + \if@tempswa\else\let\scr@next\gobble@till@scr@next\fi + \fi + \scr@next +} +\newcommand*{\gobble@till@scr@next}{} +\def\gobble@till@scr@next#1\scr@next{} +\newcommand{\ifdimen}[1]{% + \begingroup\@tempswatrue\let\scr@next\test@posdimen + \expandafter\test@dimen#1\scr@next + \if@tempswa + \endgroup\expandafter\@firstoftwo + \else + \endgroup\expandafter\@secondoftwo + \fi +} +\newcommand*{\test@dimen}[1]{% + \ifx -#1\else\ifx +#1\else + \def\scr@next{\let\scr@next\test@posdimen\scr@next#1}\fi\fi + \scr@next +} +\newcommand*{\test@posdimen}[1]{% + \ifx \scr@next#1% + \@tempswafalse\let\scr@next\relax + \else + \if .#1\else\if ,#1\else + \@tempcnta=% + \expandafter\expandafter\expandafter\number\expandafter`#1\relax + \ifnum \@tempcnta>47 + \ifnum \@tempcnta<58 + \else\def\scr@next{\test@dimunt#1}\fi + \else\def\scr@next{\test@dimunt#1}\fi + \fi\fi + \fi + \scr@next +} +\newcommand*{\test@dimunt}{} +\def\test@dimunt#1\scr@next{% + \expandafter\test@trueunt#1truetrue\test@trueunt +} +\newcommand*{\test@trueunt}{} +\def\test@trueunt#1true#2true#3\test@trueunt{% + \edef\@tempa{#1} + \ifx\@tempa\@empty\test@@ifdimunt{#2}\else\test@@ifdimunt{#1}\fi +} +\newcommand*\test@@ifdimunt[1]{% + \@tempswafalse + \ifstr{#1}{pt}{\@tempswatrue}{% + \ifstr{#1}{pc}{\@tempswatrue}{% + \ifstr{#1}{in}{\@tempswatrue}{% + \ifstr{#1}{bp}{\@tempswatrue}{% + \ifstr{#1}{cm}{\@tempswatrue}{% + \ifstr{#1}{mm}{\@tempswatrue}{% + \ifstr{#1}{dd}{\@tempswatrue}{% + \ifstr{#1}{cc}{\@tempswatrue}{% + \ifstr{#1}{sp}{\@tempswatrue}{}% + }% + }% + }% + }% + }% + }% + }% + }% +} +\newcommand{\scr@ifpdftex}{\ifnotundefined{pdftexversion}} +\let@as@internal@defined{ifpdftex} +\BeforePackage{pdfcprot}{\let\ifpdftex\relax} +\AfterPackage{pdfcprot}{\let@as@internal@defined{ifpdftex}} +\newcommand{\scr@ifVTeX}{\ifnotundefined{VTeXversion}} +\let@as@internal@defined{ifVTeX} +\newcommand{\scr@ifpdfoutput}{% + \scr@ifundefinedorrelax{pdfoutput}{% + \scr@ifundefinedorrelax{OpMode}{% + \expandafter\@secondoftwo% + }{% + \ifnum\OpMode=1 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% + }{% + \ifnum\pdfoutput>0 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +}% +\let@as@internal@defined{ifpdfoutput} +\newcommand*{\scr@ifpsoutput}{% + \ifnotundefined{if@dvips}{% + \if@dvips + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }{% + \ifnotundefined{OpMode}{% + \ifnum\OpMode=2 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }{% + \expandafter\@secondoftwo + }% + }% +} +\let@as@internal@defined{ifpsoutput} +\newcommand*{\scr@ifdvioutput}{% + \scr@ifundefinedorrelax{pdfoutput}{% + \scr@ifundefinedorrelax{OpMode}{% + \expandafter\@firstoftwo + }{% + \ifnum\OpMode=0 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% + }{% + \ifnum\pdfoutput=0 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +} +\let@as@internal@defined{ifdvioutput} +\newcommand*{\scr@smashdp}[1]{% + \begingroup + \def\finsm@sh{\dp\z@\z@\box\z@}% + \smash{#1}% + \endgroup +} +\providecommand*{\PackageInfoNoLine}[2]{% + \PackageInfo{#1}{#2\@gobble}% +} +\providecommand*{\ClassInfoNoLine}[2]{% + \ClassInfo{#1}{#2\@gobble}% +} +\newcommand*{\FamilyExecuteOptions}[3][.\@currname.\@currext]{% + \def\reserved@a##1\@nil{% + \@for\scr@key@atlist:=#3\do{% + \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil + \scr@ifundefinedorrelax{KV@#2@\scr@key@name}{}{% + \edef\reserved@a{\noexpand\setkeys{#2}{\scr@key@atlist}% + }% + \reserved@a + }% + \scr@ifundefinedorrelax{KV@#2#1@\scr@key@name}{}{% + \edef\reserved@a{% + \noexpand\setkeys{#2#1}{\scr@key@atlist}% + }% + \reserved@a + }% + \let\CurrentOption\scr@key@atlist + \csname ds@\CurrentOption\endcsname + }% + \edef\CurrentOption{##1}% + }% + \expandafter\reserved@a\CurrentOption\@nil +} +\@onlypreamble\FamilyExecuteOptions +\newcommand*{\FamilyOptions}[2]{% + \Family@Options{#1}{#2}{% + \PackageError{scrbase}{% + option `\scr@key@name' unknown at family `#1'% + }{% + You have used \string\FamilyOptions{#1} to set + `\scr@key@atlist',\MessageBreak + but family `#1' does not know any option named + `\scr@key@name'.\MessageBreak + See the manual for the package or class using family `#1' for + more\MessageBreak + informations about options and their values.% + }% + }% +} +\newcommand*{\Family@Options}[3]{% + \@for\scr@key@atlist:=#2\do{% + \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil + \scr@key@found@false + \edef\@tempa{\csname #1@key@familylist\endcsname}% + \@for\@tempa:=\@tempa\do{% + \scr@ifundefinedorrelax{KV@\@tempa @\scr@key@name}{}{% + \scr@key@found@true + \edef\reserved@a{\noexpand\setkeys{\@tempa}{\scr@key@atlist}% + \noexpand\edef\noexpand\@tempa{\@tempa}% + \noexpand\edef\noexpand\scr@key@atlist{\scr@key@atlist}% + \noexpand\edef\noexpand\scr@key@name{\scr@key@name}% + \noexpand\edef\noexpand\scr@key@value{\scr@key@value}% + }% + \reserved@a + }% + }% + \ifscr@key@found@\else#3\fi + }% +} +\newif\ifscr@key@found@ +\newcommand*{\scr@key@atlist}{} +\newcommand*{\scr@key@name}{} +\newcommand*{\scr@key@value}{} +\newcommand*{\scr@key@split@name@value}{} +\def\scr@key@split@name@value#1=#2=#3\@nil{% + \KV@@sp@def\scr@key@name{#1}% + \KV@@sp@def\scr@key@value{#2}% +} +\newcommand*{\FamilyOption}[3]{% + \Family@Option{#1}{#2}{#3}{% + \PackageError{scrbase}{% + unknown option `\scr@key@name' for familie `#1'% + }{% + You have used \string\FamilyOption{#1} to set + `\scr@key@name',\MessageBreak + but family '#1' does not know any option named + `\scr@key@name'.\MessageBreak + See the the manual of the class or package, that provides + family\MessageBreak + `#1' for more informations about options and their values.% + }% + }% +} +\newcommand*{\Family@Option}[4]{% + \expandafter\KV@@sp@def\expandafter\scr@key@name\expandafter{#2}% + \scr@key@found@false + \edef\@tempa{\csname #1@key@familylist\endcsname}% + \@for\@tempa:=\@tempa\do{% + \scr@ifundefinedorrelax{KV@\@tempa @\scr@key@name}{}{% + \scr@key@found@true + \let\@tempb\@tempa + }% + }% + \ifscr@key@found@ + \let\reserved@a\@empty + \@for\@tempa:=#3\do{% + \expandafter\KV@@sp@def\expandafter\@tempa\expandafter{\@tempa}% + \edef\reserved@a{\reserved@a,\scr@key@name=\@tempa}% + }% + \ifx\reserved@a\@empty + \edef\reserved@a{\noexpand\setkeys{\@tempb}{\scr@key@name}}% + \else + \edef\reserved@a{% + \noexpand\setkeys{\@tempb}{\expandafter\@gobble\reserved@a}}% + \fi + \reserved@a + \else + #4 + \fi +} +\scr@ifundefinedorrelax{unexpanded}{% + \newcommand*{\g@addto@macro@temp}{}% + \newcommand{\l@addto@macro}[2]{% + \begingroup% + \toks@\expandafter{#1#2}% + \xdef\g@addto@macro@temp{\the\toks@}% + \endgroup + \let#1\g@addto@macro@temp + }% +}{% + \newcommand{\l@addto@macro}[2]{% + \edef#1{\unexpanded\expandafter{#1#2}}% + }% +} +\newcommand*{\FamilyUnknownKeyValue}[4]{% + \PackageError{% + scrbase% + }{% + option `#2' of family `#1' has no value `#3'% + }{% + You've tried to set option `#2' of family '#1' to value `#3'.\MessageBreak + But allowed values are only:\MessageBreak + #4\FamilyElseValues.\MessageBreak + See the manual of the class or package, that provides family + `#1'\MessageBreak + for more information about options and their values.% + }% +} +\newcommand*{\FamilyElseValues}{} +\newcommand*{\FamilyBoolKey}[4][.\@currname.\@currext]{% + \@ifundefined{if#4}{% + \expandafter\newif\csname if#4\endcsname + }{}% + \DefineFamilyKey[{#1}]{#2}{#3}[true]{\FamilySetBool{#2}{#3}{#4}{##1}}% +} +\newcommand*{\FamilySetBool}[4]{% + \ifstr{#4}{true}{\@nameuse{#3true}}{% + \ifstr{#4}{on}{\@nameuse{#3true}}{% + \ifstr{#4}{yes}{\@nameuse{#3true}}{% + \ifstr{#4}{false}{\@nameuse{#3false}}{% + \ifstr{#4}{off}{\@nameuse{#3false}}{% + \ifstr{#4}{no}{\@nameuse{#3false}}{% + \FamilyUnknownKeyValue{#1}{#2}{#3}{% + `true', `on', `yes', `false', `off', `no'% + }% + }% + }% + }% + }% + }% + }% + \let\FamilyElseValues\@empty +} +\newcommand*{\FamilyNumericalKey}[3][.\@currname.\@currext]{% + \@ifnextchar [%] + {\Family@Numerical@Key{#1}{#2}{#3}}{\Family@Numerical@Key{#1}{#2}{#3}[]}% +} +\newcommand*{\Family@Numerical@Key}{} +\def\Family@Numerical@Key#1#2#3[#4]#5#6{% + \@ifundefined{#5}{\@namedef{#5}{0}}% + \ifx\relax#4\relax + \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetNumerical{#2}{#3}{#5}{#6}{##1}}% + \else + \DefineFamilyKey[{#1}]{#2}{#3}[{#4}]{% + \FamilySetNumerical{#2}{#3}{#5}{#6}{##1}}% + \fi +} +\newcommand*{\FamilySetNumerical}[5]{% + \begingroup + \edef\@searched{#5}% + \let\@tempa=\@empty + \let\@tempb=\@empty + \@tempswafalse + \@for\@valuelist:=#4\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\@namedef{#3}{\@tempa}% + }% + \else + \FamilyUnknownKeyValue{#1}{#2}{#5}{\@tempa}% + \let\@tempa=\endgroup + \fi + \@tempa + \let\FamilyElseValues\@empty +} +%%% From File: scrklang.dtx +\newcommand*{\providecaptionname}[3]{% + \@ifundefined{captions#1}{% + \@ifundefined{cap@info@#1@done}{% + \PackageInfo{scrbase}{% + 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 + \edef\@tempb{#1}% + \@onelevel@sanitize\@tempb + \@onelevel@sanitize\languagename + \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 + \PackageInfo{scrbase}{% + `\string#2' at language `#1' already + defined\MessageBreak + --> skipped% + }% + \fi + \@tempa + }% +} +\newcommand*{\newcaptionname}[3]{% + \@ifundefined{captions#1}{% + \PackageInfo{scrbase}{% + No captions found for `#1' --> defining% + }% + \@namedef{captions#1}{}% + }{}% + \begingroup + \csname captions#1\endcsname + \ifx #2\undefined\else + \PackageError{scrbase}{% + `\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 + \edef\@tempb{#1}% + \@onelevel@sanitize\@tempb + \@onelevel@sanitize\languagename + \ifx\@tempb\languagename + \def\@tempa{\endgroup\csname captions#1\endcsname}% + \else + \let\@tempa\endgroup + \fi + \@tempa +} +\newcommand*{\renewcaptionname}[3]{% + \@ifundefined{captions#1}{% + \PackageError{scrbase}{% + 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 + \PackageError{scrbase}{% + `\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 + \edef\@tempb{#1}% + \@onelevel@sanitize\@tempb + \@onelevel@sanitize\languagename + \ifx\@tempb\languagename + \def\@tempa{\endgroup\csname captions#1\endcsname}% + \else + \let\@tempa\endgroup + \fi + \@tempa +} +%%% From File: scrlogo.dtx +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrbase.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrbook.cls b/Master/texmf-dist/tex/latex/koma-script/scrbook.cls index 649e57d059f..732ea3e7b4e 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrbook.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrbook.cls @@ -6,6 +6,7 @@ %% %% scrkvers.dtx (with options: `class,book') %% scrkbase.dtx (with options: `load') +%% tocbasic.dtx (with options: `load') %% scrkcomp.dtx (with options: `class,book,option') %% scrkmisc.dtx (with options: `class,book,option') %% scrklang.dtx (with options: `class,book,option') @@ -91,7 +92,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup \newcommand*{\KOMAClassName}{% scrbook% @@ -104,6 +105,13 @@ ] %%% From File: scrkbase.dtx \RequirePackage{scrkbase}[\KOMAScriptVersion] +%%% From File: tocbasic.dtx +\def\tocbasicversion{2008/10/06 v1.0} +\edef\@tempa{\noexpand\RequirePackage{tocbasic}[\tocbasicversion]} +\@tempa +\addtotoclist{toc} +\addtotoclist[float]{lof} +\addtotoclist[float]{lot} %%% From File: scrkcomp.dtx \newcommand*{\scr@compatibility}{0} \KOMA@key{version}[last]{% @@ -123,7 +131,8 @@ \ClassError{\KOMAClassName}{% Option `version' too late% }{% - Option `version' may be set only while loading the class.\MessageBreak + Option `version' may be set only while loading the + class.\MessageBreak But you've tried to set it up later.% }% }% @@ -144,7 +153,11 @@ \@namedef{scr@v@2.97d}{5} \@namedef{scr@v@2.97e}{6} \@namedef{scr@v@2.98}{6} -\@namedef{scr@v@last}{6} +\@namedef{scr@v@2.98a}{6} +\@namedef{scr@v@2.98b}{6} +\@namedef{scr@v@2.98c}{7} +\@namedef{scr@v@3.00}{8} +\@namedef{scr@v@last}{8} %%% From File: scrkmisc.dtx \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% @@ -169,16 +182,41 @@ \def\@pt@@scan #1pt#2\@pt@@scan{% \ifstr{#2}{pt}{% \ifnumber{#1}{% - \KOMA@UseObsoleteOption{\PackageInfoNoLine}{#1#2}{fontsize=#1#2}% + \KOMA@UseObsoleteOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% }{\@headlines}% }{\@headlines}% } +\providecommand*{\@fontsizefilebase}{scrsize} \KOMA@key{fontsize}{% \scr@ifundefinedorrelax{changefontsizes}{% \@defaultunits\@tempdima#1pt\relax\@nnil \edef\@ptsize{#1}% }{% - \changefontsizes{#1}% + \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil + \edef\@tempa{#1}% + \setlength{\@tempdimb}{\@tempdima}% + \edef\@tempb{\strip@pt\@tempdimb}% + \addtolength{\@tempdimb}{-10\p@}% + \edef\@ptsize{\strip@pt\@tempdimb}% + \edef\@tempa{% + \noexpand\makeatletter + \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% + \noexpand\ClassInfo{\KOMAClassName}{% + File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% + }{% + \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% + \noexpand\ClassInfo{\KOMAClassName}{% + File `\@fontsizefilebase\@tempb pt.clo' used instead of% + \noexpand\MessageBreak + file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% + }{% + \noexpand\changefontsizes{#1}% + }% + }% + \noexpand\catcode`\noexpand\@=\the\catcode`\@ + }% + \@tempa }% } %%% From File: scrktare.dtx @@ -244,7 +282,7 @@ } \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{oneside}{twoside=false} \KOMA@key{twocolumn}[true]{% - \if@atdocument\else\PassOptionsToPackage{twoside=#1}{typearea}\fi% + \if@atdocument\else\PassOptionsToPackage{twocolumn=#1}{typearea}\fi% } \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{onecolumn}{twocolumn=false} \DeclareOption*{% @@ -354,62 +392,130 @@ \endgroup \fi } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip-}{parskip=full-} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip+}{parskip=full+} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip*}{parskip=full*} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip}{parskip=half} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip-}{parskip=half-} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip+}{parskip=half+} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip*}{parskip=half*} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parindent}{parskip=false} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip-}{parskip=full-} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip+}{parskip=full+} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip*}{parskip=full*} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip}{parskip=half} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip-}{parskip=half-} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip+}{parskip=half+} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip*}{parskip=half*} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parindent}{parskip=false} %%% From File: scrktitl.dtx \newif\if@titlepage \@titlepagetrue -\KOMA@ifkey{titlepage}{@titlepage} -\KOMA@DeclareObsoleteOption[\ClassInfo]{notitlepage}{titlepage=false} +\KOMA@ifkey{titlepage}{@titlepage}% +\KOMA@DeclareObsoleteOption% + [\PackageInfoNoLine]% + {notitlepage}{titlepage=false} %%% From File: scrksect.dtx \newif\if@openright \@openrighttrue -\DeclareOption{openright}{\@openrighttrue} -\DeclareOption{openany}{\@openrightfalse} -\DeclareOption{pointednumbers}{% - \AtEndOfClass{\@altsecnumformattrue - \global\let\@altsecnumformatfalse\@altsecnumformattrue}% -} -\DeclareOption{pointednumber}{% - \AtEndOfClass{\@altsecnumformattrue - \global\let\@altsecnumformatfalse\@altsecnumformattrue}% +\KOMA@key{open}{% + \KOMA@set@ncmdkey{open}{@tempa}{% + {any}{0},% + {right}{1},% + {left}{2}% + }{#1}% + \ifcase \@tempa\relax + \@openrightfalse + \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% + \or + \@openrighttrue + \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% + \or + \@openrighttrue + \renewcommand*{\cleardoublestandardpage}{\cleardoubleevenstandardpage}% + \fi +} +\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{openright}{open=right} +\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{openany}{open=any} +%% \fi +\newcommand*{\scr@dotchangeatdocument}[1]{% \ClassError{\KOMAClassName}{% - undefined option `pointednumber' instead of `pointednumbers'% + change of end dot feature after \string\begin{document}% }{% - You've used the class-option `pointednumber'.\MessageBreak - This name was an implementation-error at versions from 2.3h till - 2.4f.\MessageBreak - The correct name is `pointednumbers'. - Change this at your document.\MessageBreak - If you'll continue, the option `pointednumbers' will be used% + You've tried to set `numbers=#1' after \string\begin{document},\MessageBreak + but this option is only allowed at the document preamble.\MessageBreak + See KOMA-Script manual for more information about.% }% } -\DeclareOption{pointlessnumbers}{% - \AtEndOfClass{\@altsecnumformatfalse - \global\let\@altsecnumformattrue\@altsecnumformatfalse}% +\KOMA@key{numbers}{% + \KOMA@set@ncmdkey{numbers}{@tempa}{% + {autoendperiod}{0},{autoenddot}{0},{auto}{0},% + {endperiod}{1},{withendperiod}{1},{periodatend}{1},% + {enddot}{1},{withenddot}{1},{dotatend}{1},% + {noendperiod}{2},{noperiodatend}{2},% + {noenddot}{2},{nodotatend}{2}% + }{#1}% + \ifcase \@tempa\relax + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\@empty + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhooktrue + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhookfalse + \fi + \fi +} +\newcommand*{\scr@altsecnumhook}{} +\AtBeginDocument{\scr@altsecnumhook} +\newcommand*{\scr@altsecnumhooktrue}{% + \@altsecnumformattrue\global\let\@altsecnumformatfalse\@altsecnumformattrue } -\DeclareOption{pointlessnumber}{% - \AtEndOfClass{\@altsecnumformatfalse - \global\let\@altsecnumformattrue\@altsecnumformatfalse}% - \ClassError{\KOMAClassName}{% - undefined option `pointlessnumber' instead of `pointlessnumbers'% - }{% - You've used the class-option `pointlessnumber'.\MessageBreak - This name was an implementation-error at versions from 2.3h till - 2.4f.\MessageBreak - The correct name is `pointlessnumbers'. - Change this at your document.\MessageBreak - If you'll continue, the option `pointlessnumbers' will be used% - }% +\newcommand*{\scr@altsecnumhookfalse}{% + \@altsecnumformatfalse\global\let\@altsecnumformattrue\@altsecnumformatfalse +} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{pointednumbers}% + {numbers=enddot} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{pointlessnumbers}% + {numbers=noenddot} +\newif\if@chapterprefix\@chapterprefixfalse +\KOMA@ifkey{chapterprefix}{@chapterprefix} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{nochapterprefix}% + {chapterprefix=false} +\KOMA@key{appendixprefix}[true]{% + \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% + \if@tempswa + \def\appendixmore{\@chapterprefixtrue}% + \else + \def\appendixmore{\@chapterprefixfalse}% + \fi } -\newcommand\@bigheadings{% - \AtEndOfClass{% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{noappendixprefix}% + {appendixprefix=false} +\newcommand*{\size@part}{} +\newcommand*{\size@partnumber}{} +\newcommand*{\size@chapter}{} +\newcommand*{\size@chapterprefix}{\size@chapter} +\newcommand*{\size@section}{} +\newcommand*{\size@subsection}{} +\newcommand*{\size@subsubsection}{} +\newcommand*{\size@paragraph}{} +\newcommand*{\size@subparagraph}{} +\newcommand*{\chapterheadstartvskip}{} +\newcommand*{\chapterheadendvskip}{} +\KOMA@key{headings}{% + \KOMA@set@ncmdkey{headings}{@tempa}{% + {big}{0},% + {normal}{1},% + {small}{2}% + ,{openany}{3},% + {openright}{4},% + {openleft}{5}% + ,{twolinechapter}{6},{chapterprefix}{6},{chapterwithprefix}{6},% + {chapterwithprefixline}{6},% + {onelinechapter}{7},{nochapterprefix}{7},{chapterwithoutprefix}{7},% + {chapterwithoutprefixline}{7}% + ,{twolineappendix}{8},{appendixprefix}{8},{appendixwithprefix}{8},% + {appendixwithprefixline}{8},% + {onelineappendix}{9},{noappendixprefix}{9},{appendixwithoutprefix}{9},% + {appendixwithoutprefixline}{9}% + }{#1}% + \ifcase \@tempa\relax \renewcommand*{\chapterheadstartvskip}{% \vspace*{2.3\baselineskip}% }% @@ -417,32 +523,15 @@ \vspace{1.725\baselineskip \@plus .115\baselineskip \@minus .192\baselineskip}% }% - \let\size@part\Huge - \let\size@partnumber\huge - \let\size@chapter\huge - \let\size@section\Large - \let\size@subsection\large - \let\size@subsubsection\normalsize - \let\size@paragraph\normalsize - \let\size@subparagraph\normalsize - }% -} -\DeclareOption{bigheadings}{\@bigheadings} -\DeclareOption{bigheading}{% - \@bigheadings - \ClassError{\KOMAClassName}{% - undefined option `bigheading' instead of `bigheadings'% - }{% - You've used the old option name `bigheading'!\MessageBreak - The correct name of the option is `bigheadings'.\MessageBreak - The old name was an implementation error from\MessageBreak - version 2.3h till 2.4f.\MessageBreak - You should change this at your document!\MessageBreak - If you'll continue, option `bigheadings' will be used% - }% -} -\newcommand\@normalheadings{% - \AtEndOfClass{% + \renewcommand*{\size@part}{\Huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\huge}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or \renewcommand*{\chapterheadstartvskip}{% \vspace*{2\baselineskip}% }% @@ -450,32 +539,15 @@ \vspace{1.5\baselineskip \@plus .1\baselineskip \@minus .167\baselineskip}% }% - \let\size@part\huge - \let\size@partnumber\huge - \let\size@chapter\LARGE - \let\size@section\Large - \let\size@subsection\large - \let\size@subsubsection\normalsize - \let\size@paragraph\normalsize - \let\size@subparagraph\normalsize - }% -} -\DeclareOption{normalheadings}{\@normalheadings} -\DeclareOption{normalheading}{% - \@normalheadings - \ClassError{\KOMAClassName}{% - undefined option `normalheading' instead of `normalheadings'% - }{% - You've used the old option name `normalheading'!\MessageBreak - The correct name of the option is `normalheadings'.\MessageBreak - The old name was an implementation error from\MessageBreak - version 2.3h till 2.4f.\MessageBreak - You should change this at your document!\MessageBreak - If you'll continue, option `normalheadings' will be used% - }% -} -\newcommand\@smallheadings{% - \AtEndOfClass{ + \renewcommand*{\size@part}{\huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\LARGE}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or \renewcommand*{\chapterheadstartvskip}{% \vspace*{1.8\baselineskip}% }% @@ -483,62 +555,50 @@ \vspace{1.35\baselineskip \@plus 0.09\baselineskip \@minus .15\baselineskip}% }% - \let\size@part\LARGE - \let\size@partnumber\LARGE - \let\size@chapter\Large - \let\size@section\large - \let\size@subsection\normalsize - \let\size@subsubsection\normalsize - \let\size@paragraph\normalsize - \let\size@subparagraph\normalsize - }% -} -\DeclareOption{smallheadings}{\@smallheadings} -\DeclareOption{smallheading}{% - \@smallheadings - \ClassError{\KOMAClassName}{% - undefined option `smallheading' instead of `smallheadings'% - }{% - You've used the old option name `smallheading'!\MessageBreak - The correct name of the option is `smallheadings'.\MessageBreak - The old name was an implementation error from\MessageBreak - version 2.3h till 2.4f.\MessageBreak - You should change this at your document!\MessageBreak - If you'll continue, option `smallheadings' will be used% - }% -} -\@bigheadings -\newif\if@chapterprefix\@chapterprefixfalse -\KOMA@ifkey{chapterprefix}{@chapterprefix} -\KOMA@DeclareObsoleteOption{nochapterprefix}{chapterprefix=false} -\KOMA@key{appendixprefix}[true]{% - \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% - \if@tempswa - \def\appendixmore{\@chapterprefixtrue}% - \else - \def\appendixmore{\@chapterprefixfalse}% + \renewcommand*{\size@part}{\LARGE}% + \renewcommand*{\size@partnumber}{\LARGE}% + \renewcommand*{\size@chapter}{\Large}% + \renewcommand*{\size@section}{\large}% + \renewcommand*{\size@subsection}{\normalsize}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \KOMA@options{open=any}{}% + \or + \KOMA@options{open=right}{}% + \or + \KOMA@options{open=left}{}% + \or + \KOMA@options{chapterprefix=true}{}% + \or + \KOMA@options{chapterprefix=false}{}% + \or + \KOMA@options{appendixprefix=true}{}% + \or + \KOMA@options{appendixprefix=false}{}% \fi } -\KOMA@DeclareObsoleteOption[\ClassInfo]{noappendixprefix}{% - appendixprefix=false} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{bigheadings}% + {headings=big} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{normalheadings}% + {headings=normal} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{smallheadings}% + {headings=small} %%% From File: scrkpage.dtx \newif\if@hsl \KOMA@key{headsepline}[true]{% \KOMA@set@ifkey{headsepline}{@hsl}{#1}% - \@ifpackageloaded{typearea}{% - \KOMAoptions{headinclude=#1}% - }{}% + \KOMA@options{headinclude=#1}{}% } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{headnosepline}{% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{headnosepline}{% headsepline=false} \newif\if@fsl \KOMA@key{footsepline}[true]{% \KOMA@set@ifkey{footsepline}{@fsl}{#1}% - \@ifpackageloaded{typearea}{% - \KOMAoptions{footinclude=#1}% - }{}% + \KOMA@options{footinclude=#1}{}% } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{footnosepline}{% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{footnosepline}{% footsepline=false} \@twosidetrue \KOMA@key{cleardoublepage}{% @@ -550,81 +610,263 @@ }% \ifstr{#1}{current}{% \def\@tempc{\endgroup% - \let\cleardoublepage\cleardoublestandardpage + \def\cleardoublepage{\cleardoublestandardpage}% + \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% + \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% }% }{% \ifnotundefined{ps@#1}{% \def\@tempc{\endgroup% \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% + \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% + \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% }% }{}% }% \@tempc } -\newcommand*{\cleardoublestandardpage}{} -\let\cleardoublestandardpage\cleardoublepage +\newcommand*{\cleardoubleoddstandardpage}{} +\let\cleardoubleoddstandardpage=\cleardoublepage +\newcommand*{\cleardoubleoddpageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoubleoddstandardpage}} +\newcommand*{\cleardoubleoddemptypage}{\cleardoubleoddpageusingstyle{empty}} +\newcommand*{\cleardoubleoddplainpage}{\cleardoubleoddpageusingstyle{plain}} +\newcommand*{\cleardoubleevenstandardpage}{% + \clearpage + \if@twoside\ifodd\c@page + \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi + \fi\fi +} +\newcommand*{\cleardoubleevenpageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoubleevenstandardpage}} +\newcommand*{\cleardoubleevenemptypage}{\cleardoubleevenpageusingstyle{empty}} +\newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}} +\newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage} +\renewcommand*{\cleardoublepage}{% + \expandafter\ifnum \@nameuse{scr@v@2.98c}<\scr@compatibility\relax + \cleardoubleemptypage + \else + \cleardoublestandardpage + \fi +} +\newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage} +\newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage} \newcommand*{\cleardoublepageusingstyle}[1]{\clearpage {\thispagestyle{#1}\cleardoublestandardpage}} \newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} \newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoubleempty}{% - cleardoublepage=empty% -} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoubleplain}{% - cleardoublepage=plain% -} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoublestandard}{% - cleardoublepage=current% -} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoubleempty}% + {cleardoublepage=empty} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoubleplain}% + {cleardoublepage=plain} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoublestandard}% + {cleardoublepage=current} %%% From File: scrkfloa.dtx \newif\if@tablecaptionabove\@tablecaptionabovefalse -\DeclareOption{tablecaptionabove}{\@tablecaptionabovetrue} -\DeclareOption{tablecaptionbelow}{\@tablecaptionabovefalse} -\newif\if@komalongtable\@komalongtabletrue -\DeclareOption{origlongtable}{\@komalongtablefalse} \newif\ifonelinecaptions\onelinecaptionstrue -\DeclareOption{onelinecaption}{\onelinecaptionstrue - \PassOptionsToPackage{oneline}{caption2}% -} -\DeclareOption{noonelinecaption}{\onelinecaptionsfalse - \PassOptionsToPackage{nooneline}{caption2}% +\newcommand*{\scap@pos}{r} +\newcommand*{\scap@valign}{b} +\KOMA@key{captions}{% + \KOMA@set@ncmdkey{captions}{@tempa}{% + {tableheading}{0},% + {tableabove}{0},{abovetable}{0},{abovetabular}{0},{topattable}{0},% + {tablesignature}{1},% + {tablebelow}{1},{belowtable}{1},{belowtabular}{1},{bottomattable}{1},% + {oneline}{2},% + {nooneline}{3},% + {rightbeside}{4},{besideright}{4},% + {leftbeside}{5},{besideleft}{5},% + {innerbeside}{6},{besideinner}{6},% + {outerbeside}{7},{besideouter}{7},% + {topbeside}{8},{besidetop}{8},% + {centeredbeside}{9},{besidecentered}{9},% + {middlebeside}{9},{besidemiddle}{9},% + {bottombeside}{10},{besidebottom}{10}% + }{#1}% + \ifcase \@tempa\relax + \@tablecaptionabovetrue + \or + \@tablecaptionabovefalse + \or + \onelinecaptionstrue + \or + \onelinecaptionsfalse + \or + \renewcommand*{\scap@pos}{r}% + \or + \renewcommand*{\scap@pos}{l}% + \or + \renewcommand*{\scap@pos}{i}% + \or + \renewcommand*{\scap@pos}{o}% + \or + \renewcommand*{\scap@valign}{t}% + \or + \renewcommand*{\scap@valign}{c}% + \or + \renewcommand*{\scap@valign}{b}% + \fi } +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{tablecaptionabove}% + {captions=tableheading} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{tablecaptionbelow}% + {captions=tablesignature} +\newif\if@komalongtable\@komalongtabletrue +\DeclareOption{origlongtable}{\@komalongtablefalse} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{onelinecaption} + {captions=oneline} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{noonelinecaption} + {captions=nooneline} %%% From File: scrkftn.dtx -%%% From File: scrkliof.dtx -\newif\if@tocleft -\DeclareOption{tocleft}{\@toclefttrue} -\DeclareOption{tocindent}{\@tocleftfalse} -\DeclareOption{liststotoc}{% - \AtEndOfClass{% - \renewcommand*{\float@listhead}[1]{% - \addchap{#1} - \@mkboth{#1}{#1}% - \if@dynlist - \newcommand*{\scr@starttoc}{}% - \let\scr@starttoc=\@starttoc - \renewcommand*{\@starttoc}[1]{% - \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% - \fi +\KOMA@key{footnotes}{% + \ifx\@footnotemark\scr@saved@footnotemark + \else + \ifx\@footnotemark\scr@footnotemark + \else + \ClassWarning{\KOMAClassName}{% + Change of `\string\@footnotemark' detected!\MessageBreak + Use of `footnotes=#1' may break\MessageBreak + another package!\MessageBreak + Maybe you should remove the usage of\MessageBreak + option `footnotes=#1'}% + \fi + \fi + \ifstr{#1}{multiple}{% + \let\@footnotemark\scr@footnotemark + \let\FN@mf@prepare\scr@mf@prepare + \def\scr@footmisc@options{multiple}% + }{% + \ifstr{#1}{nomultiple}{% + \let\@footnotemark\scr@saved@footnotemark + \let\FN@mf@prepare\relax + \let\scr@footmisc@options\@empty + }{% + \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% }% } -\DeclareOption{liststotocnumbered}{% - \AtEndOfClass{% - \renewcommand*{\float@listhead}[1]{% - \chapter{#1} - \@mkboth{\chaptermarkformat #1}{\chaptermarkformat #1}% - \if@dynlist - \newcommand*{\scr@starttoc}{}% - \let\scr@starttoc=\@starttoc - \renewcommand*{\@starttoc}[1]{% - \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% - \fi - }% - }% +\newcommand*{\scr@footmisc@options}{} +\PassOptionsToPackage{\noexpand\scr@footmisc@options}{footmisc} +\newcommand*{\scr@saved@footnotemark}{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi + \@makefnmark + \ifhmode\spacefactor\@x@sf\fi + \relax} +\expandafter\CheckCommand\expandafter*\expandafter\@footnotemark +\expandafter{\scr@saved@footnotemark} +\newcommand*{\scr@footnotemark}{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\FN@mf@check\nobreak\fi + \@makefnmark + \csname FN@mf@prepare\endcsname + \ifhmode\spacefactor\@x@sf\fi + \relax} +%%% From File: scrkliof.dtx +\newif\if@tocleft +\KOMA@key{toc}{% + \KOMA@set@ncmdkey{toc}{@tempa}{% + {noindex}{0},{noidx}{0},% + {index}{1},{idx}{1},% + {nolistof}{2},% + {listof}{3},% + {listofnumbered}{4},{numberedlistof}{4},% + {nobibliography}{5},{nobib}{5},% + {bibliography}{6},{bib}{6},% + {bibliographynumbered}{7},{bibnumbered}{7},{numberedbibliography}{7},% + {numberedbib}{7},% + {flat}{8},{left}{8},% + {graduated}{9},{indent}{9},{indented}{9}% + }{#1}% + \ifcase \@tempa\relax + \KOMA@options{index=notoc}{}% + \or + \KOMA@options{index=totoc}{}% + \or + \KOMA@options{listof=notoc}{}% + \or + \KOMA@options{listof=totoc}{}% + \or + \KOMA@options{listof=numbered}{}% + \or + \KOMA@options{bibliography=nottotoc}{}% + \or + \KOMA@options{bibliography=totoc}{}% + \or + \KOMA@options{bibliography=totocnumbered}{}% + \or + \@toclefttrue + \or + \@tocleftfalse + \fi +} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{tocleft}{toc=flat} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{tocindent}{toc=graduated} +\newcommand*{\float@@listhead}{% + \chapter* } \newif\if@dynlist -\DeclareOption{listsleft}{\@dynlisttrue} -\DeclareOption{listsindent}{\@dynlistfalse} +\KOMA@key{listof}{% + \KOMA@set@ncmdkey{listof}{@tempa}{% + {notoc}{0},{nottotoc}{0},{plainheading}{0},% + {totoc}{1},{toc}{1},{notnumbered}{1},% + {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% + {numberedtoc}{2},% + {flat}{3},{left}{3},% + {graduated}{4},{indent}{4},{indented}{4},% + {leveldown}{5}, + {chapterentry}{6},{withchapterentry}{6},% + {nochaptergap}{7},{ignorechapter}{7},% + {chaptergapsmall}{8},{smallchaptergap}{8},% + {chaptergapline}{9},{onelinechaptergap}{9}% + }{#1}% + \ifcase \@tempa\relax + \renewcommand*{\float@@listhead}{% + \chapter* + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \or% totoc + \renewcommand*{\float@@listhead}{% + \addchap + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% numbered + \renewcommand*{\float@@listhead}{% + \chapter + }% + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% flat + \@dynlisttrue + \or% graduated + \@dynlistfalse + \or% leveldown + \doforeachtocfile[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \or% chapterentry + \KOMA@options{chapteratlists=entry}{}% + \or% chaptergap + \KOMA@options{chapteratlists=\z@}{}% + \or% chaptergapsmall + \KOMA@options{chapteratlists=10\p@}{}% + \or% chaptergapline + \KOMA@options{chapteratlists=\baselineskip}{}% + \fi +} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{liststotoc}{listof=totoc} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{liststotocnumbered} + {listof=numbered} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{listsleft}{listof=flat} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{listsindent}{listof=graduated} \newcommand*{\@chapterlistsgap}{10\p@} \newif\if@chaptertolists\@chaptertolistsfalse \KOMA@key{chapteratlists}[entry]{% @@ -635,47 +877,119 @@ }% } %%% From File: scrkbib.dtx -\DeclareOption{openbib}{% - \AtEndOfPackage{% - \renewcommand*\@openbib@code{% - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ +\newcommand{\newbibstyle}[3][]{% + \scr@ifundefinedorrelax{scr@bibstyle@#2}{% + \scr@ifundefinedorrelax{scr@bibstyle@#1}{% + \ClassError{\KOMAClassName}{% + parent bibliography style `#1' does not exist}{% + You've told me to define the new bibliography style `#2'\MessageBreak + to be a child of bibliography style `#1', but bibliography + style\MessageBreak + `#1' does not exist.\MessageBreak + You have to remove the parent declaration or use an existing parent! + See the KOMA-Script manual for more information.% + }% + }{% + \@namedef{scr@bibstyle@#2}{% + \let\@openbib@code\@empty + \let\newblock\@empty + \let\bib@beginhook\@empty + \let\bib@endhook\@empty + \csname scr@bibstyle@#1\endcsname + #3% + }% + \g@addto@macro\scr@bibstylelist{, `#2'}% + }% + }{% + \ClassError{\KOMAClassName}{bibliography style `#2' already exists}{% + You've told me to define the new bibliography style `#2',\MessageBreak + but this style already exists.\MessageBreak + You have to use another bibliography style name.\MessageBreak + See the KOMA-Script manual for more information.% }% - \renewcommand*\newblock{\par}% }% } -\DeclareOption{bibtotoc}{% - \AtEndOfClass{% - \renewcommand*\bib@heading{% - \addchap{\bibname}% - \@mkboth{\bibname}{\bibname}% - }% +\newcommand*{\scr@bibstyle@}{} +\newcommand*{\bib@beginhook}{} +\newcommand*{\bib@endhook}{} +\newcommand*{\scr@bibstylelist}{\@gobble} +\newcommand*{\@openbib@code}{} +\newcommand*{\newblock}{} +\newbibstyle{openstyle}{% + \renewcommand*{\@openbib@code}{% + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ }% + \renewcommand*{\newblock}{\par}% } -\DeclareOption{bibtotocnumbered}{% - \AtEndOfClass{% - \renewcommand*\bib@heading{% - \chapter{\bibname}% - \@mkboth{\chaptermarkformat \bibname}{\chaptermarkformat \bibname}% - }% +\newbibstyle{oldstyle}{% + \renewcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em}% +} +\scr@bibstyle@oldstyle +\newcommand*\bib@heading{% + \chapter*{\bibname}% + \@mkboth{\bibname}{\bibname}% +} +\KOMA@key{bibliography}{% + \scr@ifundefinedorrelax{scr@bibstyle@#1}{% + \let\FamilyElseValues\scr@bibstylelist + \KOMA@set@ncmdkey{bibliography}{@tempa}{% + {notoc}{0},{nottotoc}{0},{plainheading}{0},% + {totoc}{1},{toc}{1},{notnumbered}{1},% + {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% + {numberedtoc}{2}% + }{#1}% + \ifcase \@tempa\relax + \renewcommand*\bib@heading{% + \chapter*{\bibname}% + \@mkboth{\bibname}{\bibname}% + }% + \or% totoc + \renewcommand*\bib@heading{% + \addchap{\bibname}% + \@mkboth{\bibname}{\bibname}% + }% + \or% numbered + \renewcommand*\bib@heading{% + \chapter{\bibname}% + \@mkboth{\chaptermarkformat \bibname}{\chaptermarkformat \bibname}% + } + \fi + }{% + \csname scr@bibstyle@#1\endcsname }% } +\KOMA@DeclareObsoleteOption[\ClassInfoNoLine]{openbib}{bibliography=openstyle} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{bibtotoc}{bibliography=totoc} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{bibtotocnumbered}{% + bibliography=totocnumbered} %%% From File: scrkidx.dtx -\DeclareOption{idxtotoc}{% - \AtEndOfClass{% - \renewcommand*\idx@heading{% - \if@openright\cleardoublepage\else\clearpage\fi - \twocolumn[\addchap{\indexname}]% - \@mkboth{\indexname}{\indexname}% +\newcommand*{\idx@@heading}{% + \chapter* +} +\KOMA@key{index}{% + \KOMA@set@ncmdkey{index}{@tempa}{% + {notoc}{0},{nottotoc}{0},{default}{0},{plainheading}{0},% + {totoc}{1},{toc}{1},{notnumbered}{1}% + }{#1}% + \ifcase \@tempa\relax + \renewcommand*{\idx@@heading}{% + \chapter* }% - }% + \or + \renewcommand*{\idx@@heading}{% + \addchap + }% + \fi } +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{idxtotoc}{index=totoc} %%% From File: scrklist.dtx %%% From File: scrkmisc.dtx \KOMAExecuteOptions{% - parskip=false% + parskip=false,% + headings=big% } \KOMAProcessOptions\relax %%% From File: scrkcomp.dtx @@ -922,7 +1236,6 @@ \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% }% } -\providecommand*{\@fontsizefilebase}{scrsize} \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil \edef\@tempa{\@ptsize}% \setlength{\@tempdimb}{\@tempdima}% @@ -1066,119 +1379,6 @@ }% } %%% From File: scrklang.dtx -\newcommand*{\providecaptionname}[3]{% - \@ifundefined{captions#1}{% - \@ifundefined{cap@info@#1@done}{% - \ClassInfo{\KOMAClassName}{% - 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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \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{\KOMAClassName}{% - `\string#2' at language `#1' already - defined\MessageBreak - --> skipped% - }% - \fi - \@tempa - }% -} -\newcommand*{\newcaptionname}[3]{% - \@ifundefined{captions#1}{% - \ClassInfo{\KOMAClassName}{% - No captions found for `#1' --> defining% - }% - \@namedef{captions#1}{}% - }{}% - \begingroup - \csname captions#1\endcsname - \ifx #2\undefined\else - \ClassError{\KOMAClassName}{% - `\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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa -} -\newcommand*{\renewcaptionname}[3]{% - \@ifundefined{captions#1}{% - \ClassError{\KOMAClassName}{% - 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{\KOMAClassName}{% - `\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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa -} \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi @@ -1283,44 +1483,62 @@ \addtolength{#1}{\@tempskipa}% \fi } -\g@addto@macro{\@listi}{\@list@extra} -\let\@listI=\@listi -\g@addto@macro{\@listii}{\@list@extra} -\g@addto@macro{\@listiii}{\@list@extra} +\newcommand*{\@list@extra}{% + \ifdim\parskip>\z@\topsep\z@\parsep\parskip\itemsep\z@\fi +} \newcommand*{\add@extra@listi}[1]{% \expandafter\let\csname #1@listi\endcsname=\@listi \def\@listi{\csname #1@listi\endcsname\@list@extra}% } -\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@\parsep\parskip\itemsep\z@\fi -} + \l@addto@macro{\@listi}{\@list@extra}% + \let\@listI=\@listi + \l@addto@macro{\@listii}{\@list@extra}% + \l@addto@macro{\@listiii}{\@list@extra}% + \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}% + \l@addto@macro{\small}{\protect\add@extra@listi{sml}}% \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 %%% From File: scrktitl.dtx -\newcommand*{\@extratitle}{} -\newcommand{\extratitle}[1]{\gdef\@extratitle{#1}} -\newcommand*{\@titlehead}{} -\newcommand{\titlehead}[1]{\gdef\@titlehead{#1}} -\newcommand*{\@subject}{} -\newcommand*{\subject}[1]{\gdef\@subject{#1}} -\newcommand*{\subtitle}[1]{\gdef\@subtitle{#1}} -\newcommand*{\@subtitle}{} -\newcommand*{\@publishers}{} -\newcommand{\publishers}[1]{\gdef\@publishers{#1}} -\newcommand*{\@uppertitleback}{} -\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{#1}} -\newcommand*{\@lowertitleback}{} -\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{#1}} -\newcommand*{\@dedication}{} -\newcommand{\dedication}[1]{\gdef\@dedication{#1}} -\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}} +\newcommand*{\@extratitle}{}% +\newcommand{\extratitle}[1]{\gdef\@extratitle{% + #1% +}}% +\newcommand*{\@titlehead}{}% +\newcommand{\titlehead}[1]{\gdef\@titlehead{% + #1% +}}% +\newcommand*{\@subject}{}% +\newcommand*{\subject}[1]{\gdef\@subject{% + #1% +}}% +\newcommand*{\subtitle}[1]{\gdef\@subtitle{% + #1% +}}% +\newcommand*{\@subtitle}{}% +\newcommand*{\@publishers}{}% +\newcommand{\publishers}[1]{\gdef\@publishers{% + #1% +}}% +\newcommand*{\@uppertitleback}{}% +\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{% + #1% +}}% +\newcommand*{\@lowertitleback}{}% +\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{% + #1% +}}% +\newcommand*{\@dedication}{}% +\newcommand{\dedication}[1]{\gdef\@dedication{% + #1% +}}% +\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}}% \if@titlepage \newcommand*\maketitle[1][1]{% \begin{titlepage} - \setcounter{page}{#1}% + \setcounter{page}{% + #1% + }% \let\footnotesize\small \let\footnoterule\relax \let\footnote\thanks @@ -1402,10 +1620,12 @@ \global\let\dedication\relax \global\let\date\relax \global\let\and\relax - } + }% \else \newcommand*\maketitle[1][1]{\par - \@tempcnta=#1\relax\ifnum\@tempcnta=1\else + \@tempcnta=% + #1% + \relax\ifnum\@tempcnta=1\else \ClassWarning{\KOMAClassName}{% Optional argument of \string\maketitle\space ignored at\MessageBreak @@ -1456,7 +1676,7 @@ \global\let\dedication\relax \global\let\date\relax \global\let\and\relax - } + }% \fi \newcommand*{\@maketitle}{% \clearpage @@ -1498,12 +1718,7 @@ \end{center}% \par \vskip 2em -} -\newcommand*\titlefont{\sectfont} -\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large} -\newkomafont{subtitle}{\usekomafont{title}\large} -\newcommand*{\scr@fnt@title}{\titlefont} -\newcommand*{\scr@fnt@subject}{\subject@font} +}% \newenvironment{titlepage}{% \cleardoublepage \if@twocolumn @@ -1517,19 +1732,24 @@ \fi }{% \if@restonecol\twocolumn \else \newpage \fi -} +}% +\newcommand*\titlefont{\sectfont}% +\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% +\newkomafont{subtitle}{\usekomafont{title}\large}% +\newcommand*{\scr@fnt@title}{\titlefont}% +\newcommand*{\scr@fnt@subject}{\subject@font}% %%% From File: scrksect.dtx \newif\if@mainmatter\@mainmattertrue \newcommand*\frontmatter{% - \if@twoside\cleardoublepage\else\clearpage\fi + \if@twoside\cleardoubleoddpage\else\clearpage\fi \@mainmatterfalse\pagenumbering{roman}% } \newcommand*\mainmatter{% - \if@twoside\cleardoublepage\else\clearpage\fi + \if@twoside\cleardoubleoddpage\else\clearpage\fi \@mainmattertrue\pagenumbering{arabic}% } \newcommand*\backmatter{% - \if@openright\cleardoublepage\else\clearpage\fi\@mainmatterfalse + \if@openright\cleardoubleoddpage\else\clearpage\fi\@mainmatterfalse } \newcommand*\appendix{\par% \setcounter{chapter}{0}% @@ -1540,22 +1760,25 @@ } \newcommand*\chaptermark[1]{} \newif\if@altsecnumformat\@altsecnumformatfalse -\newif\if@autodot\@autodotfalse +\newif\if@autodot +\renewcommand*{\@autodottrue}{\global\let\if@autodot\iftrue} +\renewcommand*{\@autodotfalse}{\global\let\if@autodot\iffalse} +\@autodotfalse \newcommand{\@maybeautodot}[1]{\if@autodot\else\begingroup% \expandafter\@@maybeautodot #1\@stop\endgroup\fi } \newcommand*{\@@maybeautodot}[1]{% \ifx #1\@stop\let\@@maybeautodot\relax \else - \ifx #1\Alph \aftergroup\@autodottrue\fi - \ifx #1\alph \aftergroup\@autodottrue\fi - \ifx #1\Roman \aftergroup\@autodottrue\fi - \ifx #1\roman \aftergroup\@autodottrue\fi - \ifx #1\@Alph \aftergroup\@autodottrue\fi - \ifx #1\@alph \aftergroup\@autodottrue\fi - \ifx #1\@Roman \aftergroup\@autodottrue\fi - \ifx #1\@roman \aftergroup\@autodottrue\fi - \ifx #1\romannumeral \aftergroup\@autodottrue\fi + \ifx #1\Alph \@autodottrue\fi + \ifx #1\alph \@autodottrue\fi + \ifx #1\Roman \@autodottrue\fi + \ifx #1\roman \@autodottrue\fi + \ifx #1\@Alph \@autodottrue\fi + \ifx #1\@alph \@autodottrue\fi + \ifx #1\@Roman \@autodottrue\fi + \ifx #1\@roman \@autodottrue\fi + \ifx #1\romannumeral \@autodottrue\fi \fi \@@maybeautodot } @@ -1707,7 +1930,9 @@ \secdef\@addpart\@saddpart } \newcommand*{\@addpart}{} -\def\@addpart[#1]#2{\addcontentsline{toc}{part}{#1}\@spart{#2}% +\def\@addpart[#1]#2{% + \csname phantomsection\endcsname + \addcontentsline{toc}{part}{#1}\@spart{#2}% \ifx\partmark\@gobble\else\@mkboth{#1}{}\fi } \newcommand*{\@saddpart}{\@spart} @@ -1749,14 +1974,14 @@ \fi% } } -\newcommand*{\chapterheadstartvskip}{} -\newcommand*{\chapterheadendvskip}{} \newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi \thispagestyle{\chapterpagestyle}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter } +\setuptoc{lof}{chapteratlist} +\setuptoc{lot}{chapteratlist} \newcommand*{\@chapter}{} \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne \if@mainmatter @@ -1765,25 +1990,59 @@ \typeout{\@chapapp\space\thechapter.}% \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}% \if@chaptertolists - \addcontentsline{lof}{chapteratlist}{% - \protect\numberline{\thechapter}#1}% - \addcontentsline{lot}{chapteratlist}{% - \protect\numberline{\thechapter}#1}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addcontentsline{\@currext}{chapteratlist}{% + \protect\numberline{\thechapter}#1}% + }{}% + }% \@ifundefined{float@addtolists}{}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{% - \protect\numberline{\thechapter}#1}{\thepage}% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% + \scr@ifundefinedorrelax{@currentHref}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{% + \protect\numberline{\thechapter}#1}{\thepage}% + }% + }{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{% + \protect\numberline{\thechapter}#1}{\thepage}{\@currentHref}% + }% }% }% \fi \else \addcontentsline{toc}{chapter}{#1}% \if@chaptertolists - \addcontentsline{lof}{chapteratlist}{#1}% - \addcontentsline{lot}{chapteratlist}{#1}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addcontentsline{\@currext}{chapteratlist}{#1}% + }{}% + }% \@ifundefined{float@addtolists}{}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{#1}{\thepage}% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% + \scr@ifundefinedorrelax{@currentHref}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}% + }% + }{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}{\@currentHref}% + }% }% }% \fi @@ -1791,20 +2050,48 @@ \else \addcontentsline{toc}{chapter}{#1}% \if@chaptertolists - \addcontentsline{lof}{chapteratlist}{#1}% - \addcontentsline{lot}{chapteratlist}{#1}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addcontentsline{\@currext}{chapteratlist}{#1}% + }{}% + }% \@ifundefined{float@addtolists}{}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{#1}{\thepage}% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% + \scr@ifundefinedorrelax{@currentHref}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}% + }% + }{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}{\@currentHref}% + }% }% }% \fi \fi \chaptermark{#1}% \ifdim \@chapterlistsgap>\z@ - \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% - \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addtocontents{\@currext}{\protect\addvspace{\@chapterlistsgap}}% + }{}% + }% \@ifundefined{float@addtolists}{}{% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% }% \fi @@ -1879,31 +2166,59 @@ \global\@topnum\z@ \@afterindentfalse \secdef\@addchap\@saddchap% -} -\newcommand*{\@addchap}{} +}% +\newcommand*{\@addchap}{}% \def\@addchap[#1]#2{\@schapter{#2}% \addcontentsline{toc}{chapter}{#1}% \if@chaptertolists - \addcontentsline{lof}{chapteratlist}{#1}% - \addcontentsline{lot}{chapteratlist}{#1}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addcontentsline{\@currext}{chapteratlist}{#1}% + }{}% + }% \@ifundefined{float@addtolists}{}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{#1}{\thepage}% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% + \scr@ifundefinedorrelax{@currentHref}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}% + }% + }{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}{\@currentHref}% + }% }% }% \fi - \ifnum \@nameuse{scr@v@2.96}<\scr@compatibility + \ifnum \@nameuse{scr@v@2.96}<\scr@compatibility\relax \ifdim \@chapterlistsgap>\z@ - \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% - \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addtocontents{\@currext}{\protect\addvspace{\@chapterlistsgap}}% + }{}% + }% \@ifundefined{float@addtolists}{}{% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% }% \fi \fi \if@twoside\@mkboth{#1}{}\else\@mkboth{}{#1}\fi -} -\newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}} +}% +\newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}}% \AfterPackage{hyperref}{% \@ifpackagelater{hyperref}{2001/02/19}{}{% \ClassWarningNoLine{\KOMAClassName}{% @@ -1921,23 +2236,23 @@ \newcommand\section{\@startsection{section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% - {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ - plus 1fil}\fi + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax + \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@section}% } \newcommand\subsection{\@startsection{subsection}{2}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% - {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ - plus 1fil}\fi + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax + \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@subsection }% } \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% - {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ - plus 1fil}\fi + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax + \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@subsubsection }% } @@ -1969,16 +2284,8 @@ \newkomafont{partentrypagenumber}{} \newkomafont{chapterentry}{\usekomafont{sectioning}} \newkomafont{chapterentrypagenumber}{} -\newcommand*{\size@part}{} -\newcommand*{\size@partnumber}{} -\newcommand*{\size@chapter}{} -\newcommand*{\size@chapterprefix}{\size@chapter} -\newcommand*{\size@section}{} -\newcommand*{\size@subsection}{} -\newcommand*{\size@subsubsection}{} -\newcommand*{\size@paragraph}{} -\newcommand*{\size@subparagraph}{} \newcommand*{\scr@fnt@disposition}{\sectfont} +\aliaskomafont{sectioning}{disposition} \newcommand*{\scr@fnt@part}{\size@part} \newcommand*{\scr@fnt@partnumber}{\size@partnumber} \newcommand*{\scr@fnt@chapter}{\size@chapter} @@ -1988,7 +2295,6 @@ \newcommand*{\scr@fnt@subsubsection}{\size@subsubsection} \newcommand*{\scr@fnt@paragraph}{\size@paragraph} \newcommand*{\scr@fnt@subparagraph}{\size@subparagraph} -\aliaskomafont{sectioning}{disposition} \newcommand*{\use@preamble}[1]{% \@ifundefined{#1@preamble}{}{% \@nameuse{#1@preamble}% @@ -2120,7 +2426,7 @@ \usekomafont{partentry}{#1\nobreak \usekomafont{partentrypagenumber}{\hfil\nobreak \hb@xt@\@pnumwidth{\hss#2}}}\par - \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \endgroup \penalty20010 \else @@ -2152,7 +2458,7 @@ \usekomafont{chapterentrypagenumber}{% \hfill\nobreak \hb@xt@\@pnumwidth{\hss#2}}}\par - \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \endgroup \penalty20009 \else @@ -2169,7 +2475,7 @@ \newcommand*\l@paragraph{\bprot@dottedtocline{4}{10em}{5em}} \newcommand*\l@subparagraph{\bprot@dottedtocline{5}{12em}{6em}} \newcommand*{\bprot@dottedtocline}[5]{% - \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \ifnum #1>\c@tocdepth \else \begingroup \@tempcnta 20010 @@ -2273,16 +2579,19 @@ \addtolength{\@tempdima}{\marginparwidth}% \fi } -\newcommand*\pnumfont{\normalfont\normalcolor} -\newcommand*\headfont{\normalfont\normalcolor\slshape} +\newcommand*{\pnumfont}{\normalfont\normalcolor} +\newcommand*{\headfont}{\normalfont\normalcolor\slshape} +\newcommand*{\footfont}{} \newcommand*{\scr@fnt@pagenumber}{\pnumfont} \aliaskomafont{pagination}{pagenumber} -\newcommand*{\scr@fnt@pagehead}{\headfont} -\newcommand*{\scr@fnt@wrn@pagehead}[1]{% - `pagehead' and `pagefoot' are aliases for the same\MessageBreak - font element, changed% +\newcommand*{\scr@fnt@pageheadfoot}{\headfont} +\aliaskomafont{pagehead}{pageheadfoot} +\newcommand*{\scr@fnt@pagefoot}{\footfont} +\newcommand*{\scr@fnt@wrn@pagefoot}[1]{% + This class does not use font element `pagefoot'!\MessageBreak + Maybe you should load package `scrpage2', before\MessageBreak + using this element% } -\aliaskomafont{pagefoot}{pagehead} \newcommand*{\pagemark}{{\usekomafont{pagenumber}% \thepage}} \renewcommand*{\ps@plain}{% @@ -2388,8 +2697,6 @@ \AtBeginDocument{\let\scr@caption\caption} \newcommand{\captionabove}{\@captionabovetrue\scr@caption} \newcommand{\captionbelow}{\@captionabovefalse\scr@caption} -\newcommand*{\scap@pos}{r} -\newcommand*{\scap@valign}{b} \newcommand*{\scap@caption}{} \newcommand*{\scap@width}{\linewidth} \newcommand*{\scap@move}{\z@} @@ -2429,7 +2736,16 @@ \newbox\c@pti@nb@sid@b@x \newcommand{\c@pti@nb@sid@}{} \long\def\c@pti@nb@sid@[#1]#2{% - \def\scap@caption{\captionbelow[{#1}]{#2}}% + \def\scap@caption{% + \if c\scap@valign + \setlength{\abovecaptionskip}{\z@}% + \setlength{\belowcaptionskip}{\z@}% + \else + \setlength{\abovecaptionskip}{-\ht\strutbox}% + \setlength{\belowcaptionskip}{-\dp\strutbox}% + \fi + \captionbelow[{#1}]{#2}% + }% \begin{lrbox}{\c@pti@nb@sid@b@x}% } \newenvironment*{captionbeside}{% @@ -2510,12 +2826,12 @@ \AfterPackage{caption2}{% \renewcommand*{\setcapindent}{% \ClassWarning{\KOMAClassName}{% - You're using package caption2.\MessageBreak - Because of this you should also use \string\captionstyle\space + You're using package `caption2'.\MessageBreak + Because of this you should also use `\string\captionstyle' and\MessageBreak - set length \string\captionindent\space instead if + set length '\string\captionindent' instead of using\MessageBreak - \string\setcapindent + `\string\setcapindent'% }% \captionstyle{indent}% \@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}% @@ -2525,10 +2841,10 @@ \AfterPackage{caption2}{% \renewcommand*{\setcaphanging}{% \ClassWarning{\KOMAClassName}{% - You're using package caption2.\MessageBreak + You're using package `caption2'.\MessageBreak Because of this you should also use - \string\captionstyle\MessageBreak - instead of \string\setcaphang + `\string\captionstyle'\MessageBreak + instead of `\string\setcaphang'% } \captionstyle{hang}% }% @@ -2618,11 +2934,11 @@ \AfterPackage{caption2}{% \renewcommand*{\setcapwidth}[2][]{% \ClassWarning{\KOMAClassName}{% - Ignorring optional argument of \string\setcapwidth!\MessageBreak - You're using package caption2.\MessageBreak + Ignorring optional argument of `\string\setcapwidth'!\MessageBreak + You're using package `caption2'.\MessageBreak Because of this you should also use - \string\setcaptionwidth\MessageBreak - instead of \string\setcapwidth\MessageBreak + `\string\setcaptionwidth'\MessageBreak + instead of `\string\setcapwidth'% }% \setcaptionwidth{#2}% }% @@ -2681,10 +2997,10 @@ \ifdim\@tempdima\@tempdimb\else \ClassWarning{\KOMAClassName}{% Can set only centered caption!\MessageBreak - You're using package caption2.\MessageBreak + You're using package `caption2'.\MessageBreak Because of this you should also use - \string\setcaptionmargin\MessageBreak - instead of \string\setcapmargin + `\string\setcaptionmargin'\MessageBreak + instead of `\string\setcapmargin'% }% \fi \addtolength{\@tempdimb}{\@tempdimb}% @@ -2756,20 +3072,22 @@ \fi \endgroup } +\newcommand*{\scr@caption@before@longtable@warning}[1]{% + \ClassWarning{\KOMAClassName}{% + you've loaded package `#1' before package\MessageBreak + `longtable'!\MessageBreak + Because of this package `#1' isn't able to\MessageBreak + control `\string\caption' at longtables. \space After loading + \MessageBreak + package `#1' KOMA-Script also doesn't control\MessageBreak + `\string\caption'.\MessageBreak + I think, you should load package `caption' after\MessageBreak + package `longtable'% + }% +} \AfterPackage{longtable}{% \@ifpackageloaded{caption2}{\@komalongtablefalse - \ClassWarning{\KOMAClassName}{% - you've loaded package caption2 before package\MessageBreak - longtable!\MessageBreak - Because of this package caption2 isn't able to - control\MessageBreak - \string\caption\space at longtables. After loading package - caption2\MessageBreak - KOMA-Script also doesn't control \string\caption.\MessageBreak - I think, you should load package caption after - package\MessageBreak - longtable and use the new interface% - }% + \scr@caption@before@longtable@warning{caption2}% }{}% \if@komalongtable \renewcommand{\LT@makecaption}[3]{% @@ -2941,9 +3259,44 @@ \newcommand*{\ftntm@font}{} \newcommand*{\scr@fnt@footnotereference}{\ftntm@font} \newcommand*{\scr@fnt@footnoteref}{\ftntm@font} +\newcommand*{\FN@mf@check}{% + \ifdim\lastkern=\multiplefootnotemarker\relax + \edef\@x@sf{\the\spacefactor}% + \unkern\multiplefootnoteseparator + \spacefactor\@x@sf\relax + \fi +} +\newcommand*{\scr@mf@prepare}{% + \kern-\multiplefootnotemarker + \kern\multiplefootnotemarker\relax +} +\@ifundefined{FN@mf@prepare}{}{} +\newcommand*{\scr@saved@footnotetext}{} +\let\scr@saved@footnotetext\@footnotetext +\renewcommand*{\@footnotetext}[1]{% + \scr@saved@footnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\BeforePackage{footmisc}{% + \ifx\@footnotemark\scr@footnotemark + \let\@footnotemark\scr@saved@footnotemark + \fi + \let\@footnotetext\scr@saved@footnotetext +} +\newcommand*{\multiplefootnoteseparator}{% + \begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup +} +\newcommand*{\multfootsep}{,} +\newcommand*{\multiplefootnotemarker}{3sp} \newcommand*{\thefootnotemark}{\@thefnmark} \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} \deffootnotemark{\textsuperscript{\thefootnotemark}} +\newcommand*{\footref}[1]{% + \begingroup + \unrestored@protected@xdef\@thefnmark{\ref{#1}}% + \endgroup + \@footnotemark +} %%% From File: scrkliof.dtx \renewcommand*{\numberline}[1]{% \hb@xt@\@tempdima{#1\autodot\hfil}} @@ -2987,30 +3340,39 @@ \string\gdef\expandafter\string\csname#1@l@number\endcsname{% \@l@number}}% } +\g@addto@macro\tocbasic@@before@hook{% + \if@dynlist\expandafter\before@starttoc\expandafter{\@currext}\fi +} +\g@addto@macro\tocbasic@@after@hook{% + \if@dynlist\expandafter\after@starttoc\expandafter{\@currext}\fi +} \newcommand*\contentsname{Contents} +\newcommand*\listoftocname{\contentsname} \setcounter{tocdepth}{2} \newcommand*\toc@heading{% + \ClassWarning{\KOMAClassName}{% + usage of deprecated \string\toc@heading!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\toc@heading.\MessageBreak + Definition of \string\toc@heading\space my be removed from\MessageBreak + KOMA-Script soon, so it should not be used + }% \chapter*{\contentsname}% \@mkboth{\contentsname}{\contentsname}% } \newcommand*{\toc@l@number}{} \newcommand*{\tableofcontents}{% - \begingroup - \if@twocolumn - \@restonecoltrue\onecolumn - \else - \@restonecolfalse - \fi - \toc@heading% - \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative - \if@tocleft\before@starttoc{toc}\fi - \@starttoc{toc}% - \if@tocleft\after@starttoc{toc}\fi - \if@restonecol\twocolumn\fi - \endgroup + \begingroup\let\if@dynlist\if@tocleft\listoftoc{toc}\endgroup } \newcommand*{\float@listhead}[1]{% - \chapter*{#1}% + \ClassWarning{\KOMAClassName}{% + usage of deprecated \string\float@listhead!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@listhead.\MessageBreak + Definition of \string\float@listhead\space my be removed from\MessageBreak + KOMA-Script soon, so it should not be used + }% + \float@@listhead{#1}% \@mkboth{#1}{#1}% \if@dynlist% \newcommand*{\scr@starttoc}{}% @@ -3021,53 +3383,37 @@ \fi } \newcommand*\listfigurename{List of Figures} +\newcommand*\listoflofname{\listfigurename} \newcommand*\listtablename{List of Tables} -\newcommand*\lof@heading{\float@listhead{\listfigurename}} -\newcommand*\listoffigures{% - \begingroup% - \if@twocolumn - \@restonecoltrue\onecolumn - \else - \@restonecolfalse - \fi - \lof@heading% - \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative - \@starttoc{lof}% - \if@restonecol\twocolumn\fi - \endgroup -} +\newcommand*\listoflotname{\listtablename} +\newcommand*\listoffigures{\listoftoc{lof}} \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} -\newcommand*\lot@heading{\float@listhead{\listtablename}} -\newcommand*\listoftables{% - \begingroup - \if@twocolumn - \@restonecoltrue\onecolumn - \else - \@restonecolfalse - \fi - \lot@heading - \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative - \@starttoc{lot}% - \if@restonecol\twocolumn\fi - \endgroup -} +\newcommand*\listoftables{\listoftoc{lot}} \let\l@table\l@figure %%% From File: scrkbib.dtx \newcommand*\bibname{Bibliography} \newcommand*{\bibpreamble}{\relax} \let\bibpreamble\relax \newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}} -\newcommand*\bib@heading{% - \chapter*{\bibname}% - \@mkboth{\bibname}{\bibname}% -} \newdimen\bibindent \bibindent=1.5em \newenvironment{thebibliography}[1]{% - \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else - \setchapterpreamble{\bibpreamble}% - \fi\fi - \bib@heading + \if@bib@break@ + \bib@beginhook + \else + \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else + \setchapterpreamble{\bibpreamble}% + \fi\fi + \bib@heading + \bib@beginhook + \bib@before@hook + \fi + \renewcommand{\BreakBibliography}[1]{% + \@bib@break + \end{thebibliography}% + \begingroup ##1\endgroup + \begin{thebibliography}{#1} + }% \list{% \@biblabel{\@arabic\c@enumiv}% }{% @@ -3075,27 +3421,67 @@ \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code - \usecounter{enumiv}% + \if@bib@break@ + \edef\@tempa{% + \noexpand\usecounter{enumiv}% + \noexpand\setcounter{enumiv}{\the\c@enumiv}% + }\@tempa + \no@bib@break + \else + \usecounter{enumiv}% + \fi \let\p@enumiv\@empty \renewcommand*\theenumiv{\@arabic\c@enumiv}% }% \sloppy\clubpenalty4000 \widowpenalty4000 \sfcode`\.=\@m }{% - \def\@noitemerr{% - \@latex@warning{Empty `thebibliography' environment}% - }% + \if@bib@break@ + \def\@noitemerr{% + \@latex@warning{% + \string\BreakBibliography\space at begin of `thebibliography' + environment\MessageBreak + or following \string\BreakBibliography}% + }% + \else + \def\@noitemerr{% + \@latex@warning{% + Empty `thebibliography' environment or + \string\BreakBibliography\MessageBreak + before end of `thebibliography' environment}% + }% + \fi \endlist + \if@bib@break@ + \else + \bib@after@hook + \let\bib@before@hook\@empty + \let\bib@after@hook\@empty + \fi + \bib@endhook +} +\newif\if@bib@break@ +\newcommand{\no@bib@break}{\global\let\if@bib@break@\iffalse} +\newcommand*{\@bib@break}{\global\let\if@bib@break@\iftrue} +\newcommand*{\bib@before@hook}{} +\newcommand*{\bib@after@hook}{} +\newcommand{\BreakBibliography}[1]{% + \ClassWarning{\KOMAClassName}{% + You've used \string\BreakBibliography\space either outside of\MessageBreak + the bibliography or `thebibliography' was redefined\MessageBreak + incompatible, e.g., using a bibliography package.\MessageBreak + \string\BreakBibliography\space ignored% + }% } -\newcommand*\newblock{\hskip .11em\@plus.33em\@minus.07em} -\let\@openbib@code\@empty +\newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook} +\newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook} %%% From File: scrkidx.dtx \newcommand*{\index@preamble}{} \let\index@preamble=\relax \newcommand{\setindexpreamble}[1]{\def\index@preamble{#1}} \newcommand*{\idx@heading}{% \if@openright\cleardoublepage\else\clearpage\fi% - \twocolumn[\chapter*{\indexname}]% + \twocolumn[\idx@@heading{\indexname}]% \@mkboth{\indexname}{\indexname}% } \newenvironment{theindex}{% diff --git a/Master/texmf-dist/tex/latex/koma-script/scrdoc.cls b/Master/texmf-dist/tex/latex/koma-script/scrdoc.cls index df50594a97a..aaf384edefc 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrdoc.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrdoc.cls @@ -1,6 +1,6 @@ % ====================================================================== % scrdoc.dtx -% Copyright (C) 2002-2007 Markus Kohm +% Copyright (C) 2002-2008 Markus Kohm % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrdoc.dtx -% Copyright (C) 2002-2007 Markus Kohm +% Copyright (C) 2002-2008 Markus Kohm % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3b, verteilt und/oder veraendert werden. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrextend.sty b/Master/texmf-dist/tex/latex/koma-script/scrextend.sty new file mode 100644 index 00000000000..632c77df03a --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrextend.sty @@ -0,0 +1,1142 @@ +%% +%% This is file `scrextend.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrextend.dtx (with options: `package,extend,prepare') +%% scrkvers.dtx (with options: `package,extend') +%% scrkbase.dtx (with options: `load') +%% scrextend.dtx (with options: `package,extend,option') +%% scrkcomp.dtx (with options: `package,extend,option') +%% scrkmisc.dtx (with options: `package,extend,option') +%% scrkfont.dtx (with options: `package,extend,option') +%% scrktitl.dtx (with options: `package,extend,option') +%% scrksect.dtx (with options: `package,extend,option') +%% scrkpage.dtx (with options: `package,extend,option') +%% scrkfloa.dtx (with options: `package,extend,option') +%% scrkftn.dtx (with options: `package,extend,option') +%% scrklist.dtx (with options: `package,extend,option') +%% scrkmisc.dtx (with options: `package,extend,execoption') +%% scrkcomp.dtx (with options: `package,extend,body') +%% scrkfont.dtx (with options: `package,extend,body') +%% scrktitl.dtx (with options: `package,extend,body') +%% scrksect.dtx (with options: `package,extend,body') +%% scrkmisc.dtx (with options: `package,extend,body') +%% scrkpage.dtx (with options: `package,extend,body') +%% scrkfloa.dtx (with options: `package,extend,body') +%% scrkftn.dtx (with options: `package,extend,body') +%% scrklist.dtx (with options: `package,extend,body') +%% scrlogo.dtx (with options: `logo') +%% +%% 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. +%% --------------------------------------------------------------- +%% +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. +%% +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. +%% +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. +%% +%% If this file is a beta version, you are not allowed to distribute it. +%% +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- +%% +%% See `README'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. +%% +%%% From File: scrextend.dtx +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname KOMAClassName\endcsname\relax\else + \PackageWarning{scrextend}{% + This package was made to extend other classes but\MessageBreak + KOMA-Script classes by some features of the\MessageBreak + KOMA-Script classes.\MessageBreak + It should never be used with a KOMA-Script class.\MessageBreak + Loading of the package will be aborted\@gobble% + }% + \expandafter\endinput +\fi +\newcommand*{\scr@ext@activate}[1]{% + \scr@ifundefinedorrelax{scr@ext@activate@#1}{% + \@namedef{scr@ext@immediate@#1}{% + \expandafter\let\csname scr@ext@immediate@#1\endcsname\relax + \csname scr@ext@activate@#1\endcsname + }% + }{% + \csname scr@ext@activate@#1\endcsname + \expandafter\let\csname scr@ext@activate@#1\endcsname\relax + }% +} +\newcommand*{\scr@ext@activateable}[1]{% + \expandafter\newcommand\expandafter*\csname scr@ext@activate@#1\endcsname +} +%%% From File: scrkvers.dtx +\begingroup + \makeatletter + \ifx\KOMAScriptVersion\undefined + \newcommand*{\@CheckKOMAScriptVersion}[1]{% + \gdef\KOMAScriptVersion{#1}% + }% + \else + \newcommand*{\@CheckKOMAScriptVersion}[1]{% + \def\@tempa{#1}% + \ifx\KOMAScriptVersion\@tempa\else + \@latex@warning@no@line{% + \noexpand\KOMAScriptVersion\space is + `\KOMAScriptVersion',\MessageBreak + but `#1' was expected!\MessageBreak + You should not use classes, packages or files + from\MessageBreak + different KOMA-Script versions% + }% + \fi + } + \fi + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% +\endgroup +%%% From File: scrkbase.dtx +\RequirePackage{scrkbase}[\KOMAScriptVersion] +%%% From File: scrextend.dtx +\KOMA@key{extendedfeature}{% + \scr@ext@activate{#1}% + \AtEndOfPackage{% + \scr@ifundefinedorrelax{scr@ext@immediate@#1}{}{% + \PackageErrorNoLine{unkown extended feature `#1'}{% + You have used option `extendedfeature' to activate an extended feature + named\MessageBreak + `#1', but there is no such extended feature.\MessageBreak + See the KOMA-Script manual for more infromation about known + activatable\MessageBreak + extended features% + }% + }% + }% +} +\AtEndOfPackage{% + \KOMA@key{extendedfeature}{% + \PackageError{scrextend}{% + Option `extendedfeature' too late% + }{% + Option `extendedfeature' my be used only while loading the + package.\MessageBreak + But you've tried to set it up later% + }% + }% +} +%%% From File: scrkcomp.dtx +\newcommand*{\scr@compatibility}{0} +\KOMA@key{version}[last]{% + \scr@ifundefinedorrelax{scr@v@#1}{% + \def\scr@compatibility{0}% + \PackageWarningNoLine{scrextend}{% + You have set option `version' to value `#1', but\MessageBreak + this value of version is not supported.\MessageBreak + Because of this, version was set to `first'% + }% + }{% + \edef\scr@compatibility{\@nameuse{scr@v@#1}}% + }% +} +\AtEndOfPackage{% + \KOMA@key{version}[]{% + \PackageError{scrextend}{% + Option `version' too late% + }{% + Option `version' may be set only while loading the + package.\MessageBreak + But you've tried to set it up later.% + }% + }% +} +\@namedef{scr@v@first}{0} +\@namedef{scr@v@2.9}{0} +\@namedef{scr@v@2.9t}{0} +\@namedef{scr@v@2.9u}{1} +\@namedef{scr@v@2.95}{2} +\@namedef{scr@v@2.95a}{2} +\@namedef{scr@v@2.95b}{2} +\@namedef{scr@v@2.96}{2} +\@namedef{scr@v@2.96a}{3} +\@namedef{scr@v@2.97}{3} +\@namedef{scr@v@2.97a}{3} +\@namedef{scr@v@2.97b}{3} +\@namedef{scr@v@2.97c}{4} +\@namedef{scr@v@2.97d}{5} +\@namedef{scr@v@2.97e}{6} +\@namedef{scr@v@2.98}{6} +\@namedef{scr@v@2.98a}{6} +\@namedef{scr@v@2.98b}{6} +\@namedef{scr@v@2.98c}{7} +\@namedef{scr@v@3.00}{8} +\@namedef{scr@v@last}{8} +%%% From File: scrkmisc.dtx +\KOMA@key{draft}[true]{% + \KOMA@set@ifkey{draft}{@tempswa}{#1}% + \if@tempswa + \setlength{\overfullrule}{5pt}% + \else + \setlength{\overfullrule}{\z@}% + \fi +} +\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{final}{draft=false} +%%% From File: scrkfont.dtx +\providecommand*{\@fontsizefilebase}{scrsize} +\KOMA@key{fontsize}{% + \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil + \edef\@tempa{#1}% + \setlength{\@tempdimb}{\@tempdima}% + \edef\@tempb{\strip@pt\@tempdimb}% + \addtolength{\@tempdimb}{-10\p@}% + \edef\@ptsize{\strip@pt\@tempdimb}% + \edef\@tempa{% + \noexpand\makeatletter + \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% + \noexpand\PackageInfo{scrextend}{% + File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% + }{% + \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% + \noexpand\PackageInfo{scrextend}{% + File `\@fontsizefilebase\@tempb pt.clo' used instead of% + \noexpand\MessageBreak + file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% + }{% + \noexpand\changefontsizes{#1}% + }% + }% + \noexpand\catcode`\noexpand\@=\the\catcode`\@ + }% + \scr@ifundefinedorrelax{changefontsizes}{% + \expandafter\AtEndOfPackage\expandafter{\@tempa}% + }{% + \@tempa + }% +} +%%% From File: scrktitl.dtx +\scr@ext@activateable{title}{% + \scr@ifundefinedorrelax{if@titlepage}{% + \expandafter\newif\csname if@titlepage\endcsname + \@titlepagefalse + }{} +\KOMA@ifkey{titlepage}{@titlepage}% + \def\scr@ext@immediate@title{% + \scr@ext@activate{title}% + \let\scr@ext@immediate@title\relax + }% +} +\KOMA@DeclareObsoleteOption% + {notitlepage}{titlepage=false} +%%% From File: scrksect.dtx +%%% From File: scrkpage.dtx +\KOMA@key{cleardoublepage}{% + \begingroup% + \def\@tempc{% + \endgroup% + \KOMA@unknown@keyval{cleardoublepage}{#1}{% + 'current' or any defined pagestyle e.g. 'empty','plain'}% + }% + \ifstr{#1}{current}{% + \def\@tempc{\endgroup% + \def\cleardoublepage{\cleardoublestandardpage}% + \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% + \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% + }% + }{% + \ifnotundefined{ps@#1}{% + \def\@tempc{\endgroup% + \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% + \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% + \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% + }% + }{}% + }% + \@tempc +} +\newcommand*{\cleardoubleoddstandardpage}{} +\let\cleardoubleoddstandardpage=\cleardoublepage +\newcommand*{\cleardoubleoddpageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoubleoddstandardpage}} +\newcommand*{\cleardoubleoddemptypage}{\cleardoubleoddpageusingstyle{empty}} +\newcommand*{\cleardoubleoddplainpage}{\cleardoubleoddpageusingstyle{plain}} +\newcommand*{\cleardoubleevenstandardpage}{% + \clearpage + \if@twoside\ifodd\c@page + \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi + \fi\fi +} +\newcommand*{\cleardoubleevenpageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoubleevenstandardpage}} +\newcommand*{\cleardoubleevenemptypage}{\cleardoubleevenpageusingstyle{empty}} +\newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}} +\newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage} +\renewcommand*{\cleardoublepage}{% + \expandafter\ifnum \@nameuse{scr@v@2.98c}<\scr@compatibility\relax + \cleardoubleemptypage + \else + \cleardoublestandardpage + \fi +} +\newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage} +\newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage} +\newcommand*{\cleardoublepageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoublestandardpage}} +\newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} +\newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} +%%% From File: scrkfloa.dtx +%%% From File: scrkftn.dtx +\KOMA@key{footnotes}{% + \ifx\@footnotemark\scr@saved@footnotemark + \else + \ifx\@footnotemark\scr@footnotemark + \else + \PackageWarning{scrextend}{% + Change of `\string\@footnotemark' detected!\MessageBreak + Use of `footnotes=#1' may break\MessageBreak + another package!\MessageBreak + Maybe you should remove the usage of\MessageBreak + option `footnotes=#1'}% + \fi + \fi + \ifstr{#1}{multiple}{% + \let\@footnotemark\scr@footnotemark + \let\FN@mf@prepare\scr@mf@prepare + \def\scr@footmisc@options{multiple}% + }{% + \ifstr{#1}{nomultiple}{% + \let\@footnotemark\scr@saved@footnotemark + \let\FN@mf@prepare\relax + \let\scr@footmisc@options\@empty + }{% + \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% + }% + }% +} +\newcommand*{\scr@footmisc@options}{} +\PassOptionsToPackage{\noexpand\scr@footmisc@options}{footmisc} +\newcommand*{\scr@saved@footnotemark}{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi + \@makefnmark + \ifhmode\spacefactor\@x@sf\fi + \relax} +\expandafter\CheckCommand\expandafter*\expandafter\@footnotemark +\expandafter{\scr@saved@footnotemark} +\newcommand*{\scr@footnotemark}{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\FN@mf@check\nobreak\fi + \@makefnmark + \csname FN@mf@prepare\endcsname + \ifhmode\spacefactor\@x@sf\fi + \relax} +%%% From File: scrklist.dtx +%%% From File: scrkmisc.dtx +\KOMAProcessOptions\relax +%%% From File: scrkcomp.dtx +%%% From File: scrkfont.dtx +\newcommand*{\changefontsizes}[2][1.2\@tempdima]{% + \PackageWarning{scrextend}{% + Using fallback calculation to setup font sizes\MessageBreak + for basic size `#2'}% + \scr@ifundefinedorrelax{dimexpr}{% + \PackageError{scrextend}{% + feature only allowed using e-TeX% + }{% + The fallback calculation to setup font sizes was implemented + using e-TeX.\MessageBreak + You should not continue, because the fallback calculation would fail% + } + }{% + \@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 + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% + \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% + \setlength\dblfloatsep\intextsep + \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + }% +} +\newcommand*{\setkomafont}[2]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \PackageError{scrextend}{% + 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% + }% + }{% + \PackageInfo{scrextend}{% + You've told me to redefine the font selection of the\MessageBreak + element `#1' that is an alias of element\MessageBreak + `\csname scr@fnt@instead@#1\endcsname'% + }% + \expandafter\setkomafont\expandafter{% + \csname scr@fnt@instead@#1\endcsname}{#2}% + }% + }{% + \expandafter\expandafter\expandafter\def\csname scr@fnt@#1\endcsname{#2}% + }% + \@ifundefined{scr@fnt@wrn@#1}{}{% + \PackageWarning{scrextend}{% + \csname scr@fnt@wrn@#1\endcsname{#1}% + }% + }% +} +\newcommand*{\addtokomafont}[2]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \PackageError{scrextend}{% + 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% + }% + }{% + \PackageInfo{scrextend}{% + You've told me to extend the font selection of the\MessageBreak + element `#1' that is an alias of element\MessageBreak + `\csname scr@fnt@instead@#1\endcsname'% + }% + \expandafter\addtokomafont\expandafter{% + \csname scr@fnt@instead@#1\endcsname}{#2}% + }% + }{% + \expandafter\expandafter\expandafter\l@addto@macro + \csname scr@fnt@#1\endcsname{#2}% + }% + \@ifundefined{scr@fnt@wrn@#1}{}{% + \PackageWarning{scrextend}{% + \csname scr@fnt@wrn@#1\endcsname{#1}% + }% + }% +} +\newcommand*{\usekomafont}[1]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \PackageError{scrextend}{% + 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% + }% + }{% + \PackageInfo{scrextend}{% + You've told me to use the font selection of the + element\MessageBreak + `#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@#1}% + }% +} +\newcommand*{\newkomafont}[3][\relax]{% + \expandafter\newcommand\expandafter*\csname @#2font\endcsname{#3}% + \expandafter\expandafter\expandafter\newcommand + \expandafter\expandafter\expandafter*% + \expandafter\csname scr@fnt@#2\expandafter\endcsname\expandafter{% + \csname @#2font\endcsname% + }% + \ifx\relax#1\relax\else + \expandafter\newcommand\expandafter*\csname scr@fnt@wrn@#2\endcsname{#1}% + \fi +} +\newcommand*{\aliaskomafont}[2]{% + \expandafter\newcommand\expandafter*\csname scr@fnt@instead@#1\endcsname{% + #2% + }% +} +%%% From File: scrktitl.dtx +\scr@ext@activateable{title}{% +\newcommand*{\@extratitle}{}% +\newcommand{\extratitle}[1]{\gdef\@extratitle{% + ##1% +}}% +\newcommand*{\@titlehead}{}% +\newcommand{\titlehead}[1]{\gdef\@titlehead{% + ##1% +}}% +\newcommand*{\@subject}{}% +\newcommand*{\subject}[1]{\gdef\@subject{% + ##1% +}}% +\newcommand*{\subtitle}[1]{\gdef\@subtitle{% + ##1% +}}% +\newcommand*{\@subtitle}{}% +\newcommand*{\@publishers}{}% +\newcommand{\publishers}[1]{\gdef\@publishers{% + ##1% +}}% +\newcommand*{\@uppertitleback}{}% +\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{% + ##1% +}}% +\newcommand*{\@lowertitleback}{}% +\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{% + ##1% +}}% +\newcommand*{\@dedication}{}% +\newcommand{\dedication}[1]{\gdef\@dedication{% + ##1% +}}% +\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}}% +\let\maketitle\relax\let\@maketitle\relax +\if@titlepage + \newcommand*\maketitle[1][1]{% + \begin{titlepage} + \setcounter{page}{% + ##1% + }% + \let\footnotesize\small + \let\footnoterule\relax + \let\footnote\thanks + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% + \ifx\@extratitle\@empty \else + \noindent\@extratitle\next@tpage\cleardoubleemptypage + \thispagestyle{empty}% + \fi + \parskip\z@ \parindent\z@ \parfillskip\z@\@plus 1fil + \ifx\@titlehead\@empty \else + \begin{minipage}[t]{\textwidth}% + \@titlehead + \end{minipage}\par + \fi + \null\vfill + \begin{center} + \ifx\@subject\@empty \else + {\subject@font \@subject \par}% + \vskip 3em + \fi + {\titlefont\huge \@title\par}% + \vskip 1em + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + \vskip 2em + {\Large \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% + \vskip 1.5em + {\Large \@date \par}% + \vskip \z@ \@plus3fill + {\Large \@publishers \par}% + \vskip 3em + \end{center}\par + \@thanks + \vfill\null + \if@twoside\next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage} + \fi + \ifx\@dedication\@empty \else + \next@tpage\null\vfill + {\centering \Large \@dedication \par}% + \vskip \z@ \@plus3fill + \if@twoside \next@tpage\cleardoubleemptypage \fi + \fi + \end{titlepage} + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax + }% +\else + \newcommand*\maketitle[1][1]{\par + \@tempcnta=% + ##1% + \relax\ifnum\@tempcnta=1\else + \PackageWarning{scrextend}{% + Optional argument of \string\maketitle\space ignored + at\MessageBreak + notitlepage-mode% + }% + \fi + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{\titlepagestyle}\@thanks + \endgroup + \setcounter{footnote}{0}% + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax + }% +\fi +\newcommand*{\@maketitle}{% + \clearpage + \let\footnote\thanks + \ifx\@extratitle\@empty \else + \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \fi + \parskip\z@ \parindent\z@ \parfillskip\z@\@plus 1fil + \ifx\@titlehead\@empty \else + \begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null + \vskip 2em% + \begin{center}% + \ifx\@subject\@empty \else + {\subject@font \@subject \par} + \vskip 1.5em + \fi + {\titlefont\huge \@title \par}% + \vskip .5em + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + \vskip 1em + {\Large + \lineskip .5em% + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% + \vskip 1em% + {\Large \@date \par}% + \vskip \z@ \@plus 1em + {\Large \@publishers \par} + \ifx\@dedication\@empty \else + \vskip 2em + {\Large \@dedication \par} + \fi + \end{center}% + \par + \vskip 2em +}% +\scr@ifundefinedorrelax{titlepage}{% +\newenvironment{titlepage}{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \if@compatibility + \setcounter{page}{0}% + \fi +}{% + \if@restonecol\twocolumn \else \newpage \fi +}% +}{}% +}\csname scr@ext@immediate@title\endcsname +\newcommand*\titlefont{\sectfont}% +\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% +\newkomafont{subtitle}{\usekomafont{title}\large}% +\newcommand*{\scr@fnt@title}{\titlefont}% +\newcommand*{\scr@fnt@subject}{\subject@font}% +%%% From File: scrksect.dtx +\newcommand*\sectfont{\normalcolor\sffamily\bfseries} +\newcommand*{\scr@fnt@disposition}{\sectfont} +\aliaskomafont{sectioning}{disposition} +%%% From File: scrkmisc.dtx +\scr@ifundefinedorrelax{if@restonecol}{% + \expandafter\newif\csname if@restonecol\endcsname + \@restonecolfalse +}{} +\newcommand{\dictum}[2][]{\par% + \begingroup + \raggeddictum\parbox{\dictumwidth}{% + {\@dictumfont{\raggeddictumtext #2\strut\par}% + \def\@tempa{#1}\ifx\@tempa\@empty\else% + {\raggeddictumtext\vskip-1ex\hrulefill\par}% + \raggeddictumauthor\@dictumauthorfont\dictumauthorformat{#1}% + \strut\par% + \fi% + }% + }\par% + \endgroup +} +\newcommand*{\dictumwidth}{.3333\textwidth} +\newcommand*{\raggeddictum}{\raggedleft} +\newcommand*{\dictumauthorformat}[1]{(#1)} +\newcommand*{\raggeddictumtext}{\raggedright} +\newcommand*{\raggeddictumauthor}{\raggedleft} +\newkomafont{dictum}{\normalfont\normalcolor\sffamily\small} +\newkomafont{dictumauthor}{\itshape} +\aliaskomafont{dictumtext}{dictum} +\newcommand*{\new@tpo@label}{\@newl@bel{tpo}} +\newcommand*{\scr@tpo}{0} +\newcommand*{\is@thispageodd}{% + \@bsphack + \begingroup + \@tempcnta=\scr@tpo + \advance\@tempcnta by\@ne + \xdef\scr@tpo{\the\@tempcnta}% + \protected@write\@auxout{\let\arabic\relax}{% + \string\new@tpo@label{\scr@tpo}{\arabic{page}}}% + \expandafter\ifx\csname tpo@\scr@tpo\endcsname\relax + \protect\G@refundefinedtrue + \PackageWarning{scrextend}{% + odd/even page label number \scr@tpo\space undefined}% + \edef\@tempa{\the\value{page}}% + \else + \edef\@tempa{\csname tpo@\scr@tpo\endcsname}% + \fi + \ifodd\number\@tempa + \aftergroup\thispagewasoddtrue + \else + \aftergroup\thispagewasoddfalse + \fi + \endgroup + \@esphack +} +\newif\ifthispagewasodd +\newcommand{\ifthispageodd}{% + \is@thispageodd + \ifthispagewasodd + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\DeclareRobustCommand*\textsubscript[1]{% + \@textsubscript{\selectfont#1}% +} +\newcommand{\@textsubscript}[1]{% + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% +} +%%% From File: scrkpage.dtx +\newcommand*{\titlepagestyle}{plain} +%%% From File: scrkfloa.dtx +\newcommand\marginline[1]{% + \marginpar[\raggedleft{#1}]{\raggedright #1}% +} +%%% From File: scrkftn.dtx +\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} +\providecommand*{\FN@mf@check}{% + \ifdim\lastkern=\multiplefootnotemarker\relax + \edef\@x@sf{\the\spacefactor}% + \unkern\multiplefootnoteseparator + \spacefactor\@x@sf\relax + \fi +} +\newcommand*{\scr@mf@prepare}{% + \kern-\multiplefootnotemarker + \kern\multiplefootnotemarker\relax +} +\@ifundefined{FN@mf@prepare}{}{} +\newcommand*{\scr@saved@footnotetext}{} +\let\scr@saved@footnotetext\@footnotetext +\renewcommand*{\@footnotetext}[1]{% + \scr@saved@footnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\BeforePackage{footmisc}{% + \ifx\@footnotemark\scr@footnotemark + \let\@footnotemark\scr@saved@footnotemark + \fi + \let\@footnotetext\scr@saved@footnotetext +} +\newcommand*{\multiplefootnoteseparator}{% + \begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup +} +\providecommand*{\multfootsep}{,} +\newcommand*{\multiplefootnotemarker}{3sp} +\providecommand*{\thefootnotemark}{\@thefnmark} +\providecommand*{\footref}[1]{% + \begingroup + \unrestored@protected@xdef\@thefnmark{\ref{#1}}% + \endgroup + \@footnotemark +} +%%% From File: scrklist.dtx +\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{addmargin}{% + \@tempswafalse\@addmargin +}{% + \advance\@listdepth\@ne + \endlist +} +\newenvironment{addmargin*}{% + \@tempswafalse + \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \@addmargin +}{% + \advance\@listdepth\@ne + \endlist +} +\newcommand*{\@addmargin}[2][\@tempa]{% + \list{}{% + \if@tempswa + \def\@tempa{\leftmargin}% + \setlength{\leftmargin}{#2}% + \setlength{\rightmargin}{#1}% + \else + \def\@tempa{\rightmargin}% + \setlength{\rightmargin}{#2}% + \setlength{\leftmargin}{#1}% + \fi + \setlength{\listparindent}{\parindent}% + \setlength{\itemsep}{\parskip}% + \setlength{\itemindent}{\z@}% + \setlength{\topsep}{\z@}% + \setlength{\parsep}{\parskip}% + \setlength{\partopsep}{\parskip}% + \let\makelabel\@gobble + \setlength{\labelwidth}{\z@}% + \advance\@listdepth\m@ne + }% + \item\relax% +} +%%% From File: scrlogo.dtx +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrextend.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrjura.sty b/Master/texmf-dist/tex/latex/koma-script/scrjura.sty new file mode 100644 index 00000000000..9c944df757d --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrjura.sty @@ -0,0 +1,455 @@ +%% +%% This is file `scrjura.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrjura.dtx (with options: `package') +%% scrlogo.dtx (with options: `logo') +%% +%% Copyright (c) 2007-2008 +%% Markus Kohm and any individual authors listed elsewhere in this file. +%% +%% This file was generated from file(s) of the KOMA-Script bundle. +%% --------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, version 1.3b of the license. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3b or later is part of all distributions of LaTeX +%% version 2005/12/01 or later and of this work. +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +%% The Current Maintainer and author of this work is Markus Kohm. +%% +%% This file may only be distributed together with the files +%% `scrlogo.dtx' and `scrjura.dtx'. You may however distribute the files +%% `scrlogo.dtx' and `scrjura.dtx' without this file. +%% See also `scrjura.dtx' for additional information. +%% +%% If this file is a beta version, you are not allowed to distribute it. +%% +%% Currently there is only a short german manual at `scrjura.dtx', that +%% should also be found as `scrjura.pdf'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. +%% +%%% From File: scrjura.dtx +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{scrjura} + [2008/01/23 v0.4b alpha + (package)% + ] + +\@ifpackageloaded{hyperref}{% + \PackageError{scrjura}{Package hyperref already loaded}{% + If you want to use package scrjura with package hyperref, you have to + use\MessageBreak + package scrjura before package hyperref.\MessageBreak + To solve the problem, you just should move the loading of package + hyperref\MessageBreak + behind the loading of package scrjura.}% +} +\DeclareOption{contract}{% + \g@addto@macro\document\contract% +} +\newif\if@juratotoc +\DeclareOption{juratotoc}{\@juratotoctrue} +\newcommand*{\Paragraphmark}[1]{} +\DeclareOption{markright}{% + \renewcommand*{\Paragraphmark}[1]{\markright{#1}}% +} +\DeclareOption{markboth}{% + \renewcommand*{\Paragraphmark}[1]{\markboth{#1}{#1}}% +} +\DeclareOption{parcitename}{% + \AtEndOfPackage{\renewcommand*{\parciteformat}[1]{\parname~#1}}% +} +\DeclareOption{sentencecitename}{% + \AtEndOfPackage{\renewcommand*{\sentenceciteformat}[1]{\sentencename~#1}}% +} +\ProcessOptions\relax +\RequirePackage{keyval} +\newcommand*{\contract}{% + \renewcommand*{\contract}{% + \contract@nest@error{contract}% + }% + \let\@doendpe\contract@doendpe + \let\Paragraph\contract@paragraph + \let\c@Paragraph\c@contractParagraph + \edef\cl@Paragraph{\cl@Paragraph\cl@contractParagraph}% + \let\SubParagraph\contract@subparagraph + \let\c@SubParagraph\c@contractSubParagraph + \edef\cl@SubParagraph{\cl@SubParagraph\cl@contractSubParagraph}% + \let\Par\contract@everypar + \let\Sentence\contract@sentence +} +\let\if@jura@skiphyperref\iftrue +\let\cl@Paragraph\@empty +\let\cl@SubParagraph\@empty +\newcounter{contractParagraph} +\renewcommand*{\thecontractParagraph}{% + {\S~\arabic{contractParagraph}}} +\newcounter{contractSubParagraph} +\@addtoreset{SubParagraph}{Paragraph} +\renewcommand*{\thecontractSubParagraph}{% + {\theParagraph\alph{contractSubParagraph}}} +\define@key{contract}{title}{% + \def\contract@title{#1}% + \ifx\contract@entry\relax\def\contract@entry{\contract@title}\fi + \ifx\contract@head\relax\def\contract@head{\contract@title}\fi +} +\define@key{contract}{entry}{\def\contract@entry{#1}} +\define@key{contract}{noentry}[]{\let\contract@entry\relax} +\define@key{contract}{head}{\def\contract@head{#1}} +\define@key{contract}{nohead}[]{\let\contract@head\relax} +\define@key{contract}{number}{\def\contract@number{#1}} +\newcommand*{\contract@preskip}{2\baselineskip} +\newcommand*{\contract@postskip}{\baselineskip} +\define@key{contract}{preskip}{\def\contract@preskip{#1}} +\define@key{contract}{postskip}{\def\contract@postskip{#1}} +\newif\ifcontract@dummy +\define@key{contract}{dummy}[true]{\csname contract@dummy#1\endcsname} +\newcommand*{\contract@paragraph@font}{\sffamily\bfseries\large\@hangfrom} +\newcounter{@AbsParagraph} +\newcommand*{\theH@AbsParagraph}{P-\arabic{@AbsParagraph}} +\newcommand*{\theHParagraph}{\theH@AbsParagraph} +\newcommand*{\theHSubParagraph}{\theH@AbsParagraph} +\newcommand*{\contract@paragraph}[1]{% + \ManualPar\parnumbertrue + \let\contract@title\relax + \let\contract@entry\relax + \let\contract@head\relax + \let\contract@number\relax + \contract@dummyfalse + \ifx\relax#1\relax\else\setkeys{contract}{#1}\fi + \ifcontract@dummy\else + \@afterindentfalse + \addvspace{\contract@preskip}% + \fi + \ifx\contract@number\relax + \let\p@Paragraph\@empty + \let\theParagraph\thecontractParagraph + \refstepcounter{Paragraph}% + \else + \begingroup + \let\@elt\@stpelt + \cl@Paragraph + \endgroup + \protected@edef\theParagraph{\S~\contract@number}% + \protected@edef\@currentlabel{\theParagraph}% + \fi + \stepcounter{@AbsParagraph}% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname if@skiphyperref\endcsname\relax + \else + \expandafter\let\csname if@jura@skiphyperref\expandafter\endcsname + \csname if@skiphyperref\endcsname + \fi + \if@jura@skiphyperref\else + \hyper@refstepcounter{@AbsParagraph}% + \typeout{absolute Nummer: \the@AbsParagraph^^JLabel: `\@currentHref'}% + \fi + \let\theSubParagraph\theParagraph + \ifcontract@dummy\else + \begingroup + \contract@paragraph@font \theParagraph + \ifx\contract@title\relax\else\enskip\contract@title\fi + \endgroup + \ifx\contract@entry\relax\else + \addcontentsline{toc}{cpar}{% + \protect\numberline{\theParagraph}\contract@entry + }% + \addcontentsline{cpa}{cpar}{% + \protect\numberline{\theParagraph}\contract@entry + }% + \fi + \ifx\contract@head\relax\else + \expandafter\Paragraphmark\expandafter{% + \expandafter\theSubParagraph\expandafter\enskip\contract@head}% + \fi + \par\nobreak\vskip\contract@postskip + \jura@afterheading{contract}% + \fi +} +\newcommand*{\contract@subparagraph}[1]{% + \ManualPar\parnumbertrue + \let\contract@title\relax + \let\contract@entry\relax + \let\contract@head\relax + \let\contract@number\relax + \contract@dummyfalse + \ifx\relax#1\relax\else\setkeys{contract}{#1}\fi + \ifcontract@dummy\else + \@afterindentfalse + \vskip\contract@preskip + \fi + \ifx\contract@number\relax + \let\p@SubParagraph\@empty + \let\theSubParagraph\thecontractSubParagraph + \refstepcounter{SubParagraph}% + \else + \begingroup + \let\@elt\@stpelt + \cl@SubParagraph + \endgroup + \protected@edef\theSubParagraph{\theParagraph\contract@number}% + \protected@edef\@currentlabel{\theSubParagraph}% + \fi + \stepcounter{@AbsParagraph}% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname if@skiphyperref\endcsname\relax + \else + \expandafter\let\csname if@jura@skiphyperref\expandafter\endcsname + \csname if@skiphyperref\endcsname + \fi + \if@jura@skiphyperref\else + \hyper@refstepcounter{@AbsParagraph}% + \typeout{absolute Nummer: \the@AbsParagraph^^JLabel: `\@currentHref'}% + \fi + \ifcontract@dummy\else + \begingroup + \contract@paragraph@font \theSubParagraph + \ifx\contract@title\relax\else\enskip\contract@title\fi + \endgroup + \ifx\contract@entry\relax\else + \addcontentsline{toc}{cpar}{% + \protect\numberline{\theSubParagraph}\contract@entry + }% + \addcontentsline{cpa}{cpar}{% + \protect\numberline{\theSubParagraph}\contract@entry + }% + \fi + \ifx\contract@head\relax\else + \expandafter\Paragraphmark\expandafter{% + \expandafter\theSubParagraph\expandafter\enskip\contract@head}% + \fi + \par\nobreak\vskip\contract@postskip + \jura@afterheading{contract}% + \fi +} +\newcommand*{\AutoPar}{% + \expandafter\let\expandafter\jura@everypar + \csname \jura@type @everypar\endcsname +} +\newcommand*{\ManualPar}{% + \let\jura@everypar\relax +} +\newcommand*{\jura@afterheading}[1]{% + \@nobreaktrue + \everypar{% + \if@nobreak + \@nobreakfalse + \clubpenalty \@M + \if@afterindent \else + {\setbox\z@\lastbox}% + \fi + \else + \clubpenalty \@clubpenalty + \everypar{% + \jura@everypar + }% + \fi + \jura@everypar + }% + \def\jura@type{#1}% + \AutoPar +} +\newcommand*{\jura@everypar}{} +\CheckCommand*\@doendpe{\@endpetrue + \def\par{\@restorepar\everypar{}\par\@endpefalse}\everypar + {{\setbox\z@\lastbox}\everypar{}\@endpefalse}} +\newcommand*{\contract@doendpe}{% + \@endpetrue + \def\par{% + \@restorepar\everypar{% + \csname jura@everypar\endcsname + }% + \par\@endpefalse + }% + \everypar{% + {\setbox\z@\lastbox}\everypar{% + \csname jura@everypar\endcsname + }% + \@endpefalse + }% +} +\newcommand*{\l@cpar}[2]{% + \if@juratotoc + \@dottedtocline{\value{juratoclevel}}{1.5em}{2em}{#1}{#2}% + \fi +} +\newcounter{juratoclevel} +\setcounter{juratoclevel}{2}% +\DeclareRobustCommand*{\jura@separator}[1]{#1} +\newif\ifparnumber +\newcounter{par} +\renewcommand*{\thepar}{\arabic{par}} +\newcommand*{\theHpar}{\theH@AbsParagraph-\Roman{par}} +\newcommand*{\parformat}{(\thepar)} +\renewcommand*\p@par{{\theSubParagraph\jura@separator{\nobreakspace}}} +\@addtoreset{par}{Paragraph} +\@addtoreset{par}{SubParagraph} +\newcommand*{\contract@everypar}{% + \ifparnumber + \refstepcounter{par}% + \refstepcounter{sentence}% + \begingroup + \protected@write\@auxout{}{% + \string\newmaxpar{contractpars}{\theSubParagraph}{\arabic{par}}}% + \getmaxpar\@tempa{contractpars}{\theSubParagraph}% + \typeout{Stored max is \@tempa}% + \ifnum \@tempa>\@ne + \parformat\nobreakspace + \fi + \endgroup + \else + \setcounter{sentence}{0}\refstepcounter{sentence}% + \fi +} +\newcommand*{\refParagraph}[1]{% + \expandafter\ifx\csname r@#1\endcsname\relax + \ref{#1}% + \else + \begingroup + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\@tempb + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter\@gobble\csname r@#1\endcsname}% + \def\@tempc##1##2\@nil{##1}% + \let\jura@separator\@gobble + \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc + \csname r@#1\endcsname\noexpand\@nil}% + \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc + \@tempa\@nil}% + \let\@@protect\protect + \let\protect\noexpand + \expandafter\edef\csname r@#1\endcsname{{\@tempa}\@tempb}% + \let\protect\@@protect + \ref{#1}% + \endgroup + \fi +} +\newcommand*{\refPar}[1]{% + \expandafter\ifx\csname r@#1\endcsname\relax + \ref{#1}% + \else + \begingroup + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\@tempb + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter\@gobble\csname r@#1\endcsname}% + \def\@tempc##1##2\@nil{##1}% + \let\jura@separator\@gobble + \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc + \csname r@#1\endcsname\noexpand\@nil}% + \def\@tempc##1##2##3\@nil{##2}% + \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc + \@tempa{% + \protect\G@refundefinedtrue + \nfss@text{\reset@font\bfseries ??}% + \@latex@warning{Reference `#1' on page \thepage \space + with undefined par number}% + }\noexpand\@nil}% + \let\@@protect\protect + \let\protect\noexpand + \expandafter\edef\csname r@#1\endcsname{{\@tempa}\@tempb}% + \let\protect\@@protect + \ref{#1}% + \endgroup + \fi +} +\newcommand*{\refSentence}[1]{% + \expandafter\ifx\csname r@#1\endcsname\relax + \ref{#1}% + \else + \begingroup + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\@tempb + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter\@gobble\csname r@#1\endcsname}% + \def\@tempc##1##2\@nil{##1}% + \let\jura@separator\@gobble + \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc + \csname r@#1\endcsname\noexpand\@nil}% + \def\@tempc##1##2##3##4\@nil{##3}% + \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc + \@tempa{}{% + \protect\G@refundefinedtrue + \nfss@text{\reset@font\bfseries ??}% + \@latex@warning{Reference `#1' on page \thepage \space + with undefined sentence number}% + }\noexpand\@nil}% + \let\@@protect\protect + \let\protect\noexpand + \expandafter\edef\csname r@#1\endcsname{{\@tempa}\@tempb}% + \let\protect\@@protect + \ref{#1}% + \endgroup + \fi +} +\newcounter{sentence}[par] +\renewcommand*{\thesentence}{\arabic{sentence}} +\newcommand*{\theHsentence}{\theHpar-\arabic{sentence}} +\renewcommand*{\p@sentence}{\expandafter\p@@sentence} +\newcommand*{\p@@sentence}[1]{\p@par{{\par@cite{\thepar}}% + \jura@separator{\nobreakspace}}{\sentence@cite{#1}}} +\newcommand*{\contract@sentence}{% + \refstepcounter{sentence}% + \ensuremath{^{\mbox{\fontsize\sf@size\z@\selectfont\thesentence}}}% +} +\DeclareRobustCommand*{\par@cite}[1]{\parciteformat{#1}} +\newcommand*{\parciteformat}[1]{\@Roman{\numexpr #1\relax}} +\DeclareRobustCommand*{\sentence@cite}[1]{\sentenceciteformat{#1}} +\newcommand*{\sentenceciteformat}[1]{\@arabic{\numexpr #1\relax}} +\newcommand*{\parname}{Paragraph} +\AtBeginDocument{% + \@ifundefined{captionsgerman}{}{% + \addto\captionsgerman{\def\parname{Absatz}}% + \addto\captionsgerman{\def\sentencename{Satz}}% + \ifnum \l@german=\language\selectlanguage{german}\fi + }% + \@ifundefined{captionsngerman}{}{% + \addto\captionsngerman{\def\parname{Absatz}}% + \addto\captionsngerman{\def\sentencename{Satz}}% + \ifnum \l@ngerman=\language\selectlanguage{ngerman}\fi + }% +} +\newcommand*{\newmaxpar}[3]{% + \begingroup + \protected@edef\@tempa{#2}\@onelevel@sanitize\@tempa + \expandafter\xdef\csname max@#1@\@tempa\endcsname{#3}% + \endgroup +} +\newcommand*{\getmaxpar}[3]{% + \begingroup + \protected@edef\@tempa{#3}% + \@onelevel@sanitize\@tempa + \expandafter\ifx \csname max@#2@\@tempa\endcsname\relax + \edef\@tempa{\endgroup\edef\noexpand#1{\expandafter\the\value{par}}}% + \else + \edef\@tempa{\endgroup + \edef\noexpand#1{\csname max@#2@\@tempa\endcsname}}% + \fi + \@tempa +} +%%% From File: scrlogo.dtx +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrjura.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrkbase.sty b/Master/texmf-dist/tex/latex/koma-script/scrkbase.sty index 78eea55c639..1095efc3d19 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrkbase.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrkbase.sty @@ -5,9 +5,9 @@ %% The original source files were: %% %% scrkvers.dtx (with options: `package,scrkbase') -%% scrkbase.dtx (with options: `package,option') +%% scrkbase.dtx (with options: `package,option,koma') %% scrlfile.dtx (with options: `load') -%% scrkbase.dtx (with options: `package,body') +%% scrkbase.dtx (with options: `package,body,koma') %% scrlogo.dtx (with options: `logo') %% %% Copyright (c) 1994-2007 @@ -62,409 +62,39 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: scrkbase.dtx -\ProvidesPackage{scrkbase}[% - \KOMAScriptVersion\space package (basics and keyval use)] -\RequirePackage{keyval} -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname ifcsname\endcsname\relax - \newcommand{\scr@ifundefinedorrelax}[1]{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname #1\endcsname\relax - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - } -\else - \newcommand{\scr@ifundefinedorrelax}[1]{% - \ifcsname #1\endcsname - \expandafter\ifx\csname #1\endcsname\relax - \expandafter\expandafter\expandafter\@firstoftwo - \else - \expandafter\expandafter\expandafter\@secondoftwo - \fi - \else - \expandafter\@firstoftwo - \fi - } -\fi +\ProvidesPackage{% + scrkbase% +}[% + \KOMAScriptVersion\space package + (KOMA-Script-dependent basics and keyval usage)] +\RequirePackage{scrbase}[\KOMAScriptVersion] \newcommand*{\KOMA@key}[1][.\@currname.\@currext]{% - \edef\reserved@a{\noexpand\in@{KOMA#1,}{\KOMA@key@familylist}}\reserved@a - \ifin@\else\xdef\KOMA@key@familylist{\KOMA@key@familylist KOMA#1,}\fi - \define@key{KOMA#1}% -} -\newcommand*{\KOMA@key@familylist}{} -\newcommand*{\@globaloptionslist}{} -\let\@globaloptionslist\@classoptionslist -\scr@ifundefinedorrelax{XKV@classoptionslist}{}{% - \ifx\XKV@classoptionslist\@empty\else - \let\@globaloptionslist\XKV@classoptionslist - \fi -} -\newcommand*{\KOMAProcessOptions}[1][KOMA]{% - \let\ds@\@empty - \edef\@curroptions{\@ptionlist{\@currname.\@currext}}% - \ifx\@currext\@clsextension\else - \@for\CurrentOption:=\@globaloptionslist\do{% - \ifx\CurrentOption\@empty\else - \@expandtwoargs\in@{,\CurrentOption,}{,\@declaredoptions,}% - \ifin@ - \@use@ption - \expandafter\let\csname ds@\CurrentOption\endcsname\@empty - \else - \KOMA@optiontest{#1}\CurrentOption{}{% - \@use@ption - \@expandtwoargs\setkeys{#1}% - \CurrentOption - }% - \KOMA@optiontest{#1.\@currname.\@currext}\CurrentOption{}{% - \@use@ption - \@expandtwoargs\setkeys{#1.\@currname.\@currext}% - \CurrentOption - }% - \fi - \fi - }% - \fi - \@for\CurrentOption:=\@curroptions\do{% - \@use@ption - \scr@ifundefinedorrelax{ds@\CurrentOption}{% - \KOMA@optiontest{#1}\CurrentOption{% - \KOMA@optiontest{#1.\@currname.\@currext}\CurrentOption{% - \default@ds - }{% - \let\scr@sr@co\CurrentOption - \@expandtwoargs\setkeys{#1.\@currname.\@currext}% - \CurrentOption - \let\CurrentOption\scr@sr@co - }% - }{% - \@expandtwoargs\setkeys{#1}% - \CurrentOption - \KOMA@optiontest{#1.\@currname.\@currext}\CurrentOption{}{% - \@expandtwoargs\setkeys{#1.\@currname.\@currext}% - \CurrentOption - }% - }% - }{% - }% - }% - \@for\CurrentOption:=\@declaredoptions\do{% - \expandafter\let\csname ds@\CurrentOption\endcsname\relax}% - \let\CurrentOption\@empty - \let\@fileswith@pti@ns\@@fileswith@pti@ns - \AtEndOfPackage{\let\@unprocessedoptions\relax}% + \DefineFamilyMember{KOMA}% + \DefineFamilyKey[#1]{KOMA}% } -\@onlypreamble\KOMA@process@options +\newcommand*{\KOMAProcessOptions}{\FamilyProcessOptions{KOMA}} \@onlypreamble\KOMAProcessOptions -\newcommand*{\KOMA@optiontest}[2]{% - \edef\reserved@a{\noexpand\KOMA@pti@ntest{#1}#2=\noexpand\@nil}% - \reserved@a -} -\newcommand*{\KOMA@pti@ntest}{} -\def\KOMA@pti@ntest#1#2=#3\@nil{\scr@ifundefinedorrelax{KV@#1@#2}} -\newcommand*{\scr@sr@co}{} -\newcommand*{\dont@let@as@internal@defined}{/} -\newif\if@let@as@internalonly@defined\@let@as@internalonly@definedfalse -\KOMA@key{internalonly}[\relax]{% - \ifx\relax#1\relax - \@let@as@internalonly@definedtrue - \else - \@let@as@internalonly@definedfalse - \begingroup - \@expandtwoargs\in@{#1}\dont@let@as@internal@defined - \expandafter\endgroup - \ifin@\else\g@addto@macro\dont@let@as@internal@defined{#1/}\fi - \fi -} \KOMAProcessOptions\relax %%% From File: scrlfile.dtx -\def\scrlfileversion{2007/12/18 v2.98} +\def\scrlfileversion{2008/07/09 v3.00} \edef\@tempa{\noexpand\RequirePackage{scrlfile}[\scrlfileversion]} \@tempa %%% From File: scrkbase.dtx -\newif\if@atdocument -\AtBeginDocument{\@atdocumenttrue} -\@onlypreamble\@atdocumentrue -\@onlypreamble\@atdocumentfalse -\newcommand*{\let@as@internal@defined}[1]{% - \begingroup - \if@let@as@internalonly@defined - \in@true - \else - \@expandtwoargs\in@{/#1/}\dont@let@as@internal@defined - \fi - \expandafter\endgroup - \ifin@ - \PackageInfo{% - scrkbase% - }{% - \expandafter\string\csname #1\endcsname\space excluded from being - defined% - }% - \else - \@ifundefined{#1}{% - \begingroup - \expandafter\def\expandafter\@tempa - \expandafter{\csname scr@#1\endcsname} - \expandafter\def\expandafter\@tempb - \expandafter{\csname #1\endcsname} - \expandafter\expandafter\expandafter\endgroup - \expandafter\expandafter\expandafter\let\expandafter\@tempb\@tempa - \if@atdocument\else - \g@addto@macro\document{% - \expandafter\ifx\csname #1\expandafter\endcsname - \csname scr@#1\endcsname - \else - \PackageWarning{scrkbase}{% - \expandafter\string\csname #1\endcsname\space was - redefined\MessageBreak - at the document preamble.\MessageBreak - If you did not redefine it by yourself, have a\MessageBreak - a look at the description of this command at\MessageBreak - the manual of every package you are using\@gobble - }% - \fi - }% - \fi - }{% - \PackageInfo{% - scrkbase% - }{% - \expandafter\string\csname #1\endcsname\space already - defined.\MessageBreak - If \expandafter\string\csname #1\endcsname\space does not behave - like\MessageBreak - it was described at the KOMA-Script manual, try to\MessageBreak - load `scrkbase.sty' earlier or find out at which\MessageBreak - package or class \expandafter\string\csname #1\endcsname\space - was defined before\@gobble - }% - }% - \fi -} -\let@as@internal@defined{ifundefinedorrelax} -\scr@ifundefinedorrelax{ifcsname}{% - \newcommand{\ifnotundefined}[1]{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname #1\endcsname\relax - \expandafter\@secondoftwo - \else - \expandafter\@firstoftwo - \fi - }% -}{% - \newcommand{\ifnotundefined}[1]{% - \ifcsname #1\endcsname - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }% -} -\newcommand\ifstr[2]{% - \begingroup\edef\@tempa{#1}\edef\@tempb{#2}% - \ifx\@tempa\@tempb - \endgroup\expandafter\@firstoftwo - \else - \endgroup\expandafter\@secondoftwo - \fi -} -\newcommand\ifnumber[1]{% - \begingroup\@tempswafalse\let\scr@next\test@number - \expandafter\scr@next#1\scr@next - \if@tempswa - \endgroup\expandafter\@firstoftwo - \else - \endgroup\expandafter\@secondoftwo - \fi -} -\newcommand*{\test@number}[1]{% - \ifx \scr@next#1 - \let\scr@next\relax - \else - \@tempcnta=\expandafter\expandafter\expandafter\number - \expandafter`#1\relax - \ifnum \@tempcnta>47 - \ifnum \@tempcnta<58 - \@tempswatrue - \else\@tempswafalse\fi - \else\@tempswafalse\fi - \if@tempswa\else\let\scr@next\gobble@till@scr@next\fi - \fi - \scr@next -} -\newcommand*{\gobble@till@scr@next}{} -\def\gobble@till@scr@next#1\scr@next{} -\newcommand{\ifdimen}[1]{% - \begingroup\@tempswatrue\let\scr@next\test@posdimen - \expandafter\test@dimen#1\scr@next - \if@tempswa - \endgroup\expandafter\@firstoftwo - \else - \endgroup\expandafter\@secondoftwo - \fi -} -\newcommand*{\test@dimen}[1]{% - \ifx -#1\else\ifx +#1\else - \def\scr@next{\let\scr@next\test@posdimen\scr@next#1}\fi\fi - \scr@next -} -\newcommand*{\test@posdimen}[1]{% - \ifx \scr@next#1% - \@tempswafalse\let\scr@next\relax - \else - \if .#1\else\if ,#1\else - \@tempcnta=% - \expandafter\expandafter\expandafter\number\expandafter`#1\relax - \ifnum \@tempcnta>47 - \ifnum \@tempcnta<58 - \else\def\scr@next{\test@dimunt#1}\fi - \else\def\scr@next{\test@dimunt#1}\fi - \fi\fi - \fi - \scr@next -} -\newcommand*{\test@dimunt}{} -\def\test@dimunt#1\scr@next{% - \expandafter\test@trueunt#1truetrue\test@trueunt -} -\newcommand*{\test@trueunt}{} -\def\test@trueunt#1true#2true#3\test@trueunt{% - \edef\@tempa{#1} - \ifx\@tempa\@empty\test@@ifdimunt{#2}\else\test@@ifdimunt{#1}\fi -} -\newcommand*\test@@ifdimunt[1]{% - \@tempswafalse - \ifstr{#1}{pt}{\@tempswatrue}{% - \ifstr{#1}{pc}{\@tempswatrue}{% - \ifstr{#1}{in}{\@tempswatrue}{% - \ifstr{#1}{bp}{\@tempswatrue}{% - \ifstr{#1}{cm}{\@tempswatrue}{% - \ifstr{#1}{mm}{\@tempswatrue}{% - \ifstr{#1}{dd}{\@tempswatrue}{% - \ifstr{#1}{cc}{\@tempswatrue}{% - \ifstr{#1}{sp}{\@tempswatrue}{}% - }% - }% - }% - }% - }% - }% - }% - }% -} -\newcommand{\scr@ifpdftex}{\ifnotundefined{pdftexversion}} -\let@as@internal@defined{ifpdftex} -\BeforePackage{pdfcprot}{\let\ifpdftex\relax} -\AfterPackage{pdfcprot}{\let@as@internal@defined{ifpdftex}} -\newcommand{\scr@ifVTeX}{\ifnotundefined{VTeXversion}} -\let@as@internal@defined{ifVTeX} -\newcommand{\scr@ifpdfoutput}{% - \scr@ifundefinedorrelax{pdfoutput}{% - \scr@ifundefinedorrelax{OpMode}{% - \expandafter\@secondoftwo% - }{% - \ifnum\OpMode=1 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }% - }{% - \ifnum\pdfoutput>0 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }% -}% -\let@as@internal@defined{ifpdfoutput} -\newcommand*{\scr@ifpsoutput}{% - \ifnotundefined{if@dvips}{% - \if@dvips - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }{% - \ifnotundefined{OpMode}{% - \ifnum\OpMode=2 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }{% - \expandafter\@secondoftwo - }% - }% -} -\let@as@internal@defined{ifpsoutput} -\newcommand*{\scr@ifdvioutput}{% - \scr@ifundefinedorrelax{pdfoutput}{% - \scr@ifundefinedorrelax{OpMode}{% - \expandafter\@firstoftwo - }{% - \ifnum\OpMode=0 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }% - }{% - \ifnum\pdfoutput=0 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }% -} -\let@as@internal@defined{ifdvioutput} -\newcommand*{\scr@smashdp}[1]{% - \begingroup - \def\finsm@sh{\dp\z@\z@\box\z@}% - \smash{#1}% - \endgroup -} -\providecommand*{\PackageInfoNoLine}[2]{% - \PackageInfo{#1}{#2\@gobble}% -} -\newcommand*{\KOMAExecuteOptions}[2][KOMA]{% - \def\reserved@a##1\@nil{% - \@for\KOMA@key@atlist:=#2\do{% - \expandafter\KOMA@key@split@name@value\KOMA@key@atlist==\@nil - \scr@ifundefinedorrelax{KV@#1@\KOMA@key@name}{}{% - \edef\reserved@a{\noexpand\setkeys{#1}{\KOMA@key@atlist}% - }% - \reserved@a - }% - \scr@ifundefinedorrelax{KV@#1.\@currname.\@currext @\KOMA@key@name}{}{% - \edef\reserved@a{% - \noexpand\setkeys{#1.\@currname.\@currext}{\KOMA@key@atlist}% - }% - \reserved@a - }% - \let\CurrentOption\KOMA@key@atlist - \csname ds@\CurrentOption\endcsname - }% - \edef\CurrentOption{##1}% - }% - \expandafter\reserved@a\CurrentOption\@nil -} +\newcommand*{\KOMAExecuteOptions}{\FamilyExecuteOptions{KOMA}} \@onlypreamble\KOMAExecuteOptions \newcommand*{\KOMAoptions}[1]{% \let\post@kopt@hook\@empty \KOMA@options{#1}{% \PackageError{scrkbase}{% - unknown KOMA option `\KOMA@key@name'% + unknown KOMA option `\scr@key@name'% }{% You have used \string\KOMAoptions\space to set - `\KOMA@key@atlist',\MessageBreak + `\scr@key@atlist',\MessageBreak but KOMA-Script does not know any option named - `\KOMA@key@name'.\MessageBreak + `\scr@key@name'.\MessageBreak See the KOMA-Script manual for more informations about options and\MessageBreak their values.% @@ -472,34 +102,7 @@ }% \post@kopt@hook\let\post@kopt@hook\relax } -\newcommand*{\KOMA@options}[2]{% - \@for\KOMA@key@atlist:=#1\do{% - \expandafter\KOMA@key@split@name@value\KOMA@key@atlist==\@nil - \KOMA@key@found@false - \@for\@tempa:=\KOMA@key@familylist\do{% - \scr@ifundefinedorrelax{KV@\@tempa @\KOMA@key@name}{}{% - \KOMA@key@found@true - \edef\reserved@a{\noexpand\setkeys{\@tempa}{\KOMA@key@atlist}% - \noexpand\edef\noexpand\@tempa{\@tempa}% - \noexpand\edef\noexpand\KOMA@key@atlist{\KOMA@key@atlist}% - \noexpand\edef\noexpand\KOMA@key@name{\KOMA@key@name}% - \noexpand\edef\noexpand\KOMA@key@value{\KOMA@key@value}% - }% - \reserved@a - }% - }% - \ifKOMA@key@found@\else#2\fi - }% -} -\newif\ifKOMA@key@found@ -\newcommand*{\KOMA@key@atlist}{} -\newcommand*{\KOMA@key@name}{} -\newcommand*{\KOMA@key@value}{} -\newcommand*{\KOMA@key@split@name@value}{} -\def\KOMA@key@split@name@value#1=#2=#3\@nil{% - \KV@@sp@def\KOMA@key@name{#1}% - \KV@@sp@def\KOMA@key@value{#2}% -} +\newcommand*{\KOMA@options}{\Family@Options{KOMA}} \newcommand*{\post@kopt@hook}{} \let\post@kopt@hook\relax \newcommand*{\AfterKOMAoptions}{% @@ -515,102 +118,53 @@ \fi \post@kopt@hook } -\scr@ifundefinedorrelax{unexpanded}{% - \newcommand*{\g@addto@macro@temp}{}% - \newcommand{\l@addto@macro}[2]{% - \begingroup% - \toks@\expandafter{#1#2}% - \xdef\g@addto@macro@temp{\the\toks@}% - \endgroup - \let#1\g@addto@macro@temp - }% -}{% - \newcommand{\l@addto@macro}[2]{% - \edef#1{\unexpanded\expandafter{#1#2}}% - }% -} -\newcommand*{\KOMA@unknown@keyval}[3]{% - \PackageError{% - scrkbase% - }{% - KOMA option `#1' has no value `#2'% - }{% - You've tried to set option `#1' to value `#2'.\MessageBreak - But allowed values are only:\MessageBreak - #3.\MessageBreak - See the KOMA-Script manual for more information.% - }% -} -\newcommand*{\KOMA@ifkey}[2]{% - \@ifundefined{if#2}{% - \expandafter\newif\csname if#2\endcsname - }{}% - \KOMA@key{#1}[true]{\KOMA@set@ifkey{#1}{#2}{##1}}% -} -\newcommand*{\KOMA@set@ifkey}[3]{% - \ifstr{#3}{true}{\@nameuse{#2true}}{% - \ifstr{#3}{on}{\@nameuse{#2true}}{% - \ifstr{#3}{yes}{\@nameuse{#2true}}{% - \ifstr{#3}{false}{\@nameuse{#2false}}{% - \ifstr{#3}{off}{\@nameuse{#2false}}{% - \ifstr{#3}{no}{\@nameuse{#2false}}{% - \KOMA@unknown@keyval{#1}{#3}{% - `true', `on', `yes', `false', `off', `no'% - }% - }% - }% - }% - }% +\newcommand*{\KOMAoption}[2]{% + \let\post@kopt@hook\@empty + \Family@Option{KOMA}{#1}{#2}{% + \PackageError{scrkbase}{% + unknown KOMA option `\scr@key@name'% + }{% + You have used \string\KOMAoption\space to set + `\scr@key@name',\MessageBreak + but KOMA-Script does not know any option named + `\scr@key@name'.\MessageBreak + See the KOMA-Script manual for more informations about options + and\MessageBreak + their values.% }% }% + \post@kopt@hook\let\post@kopt@hook\relax } -\newcommand*{\KOMA@ncmdkey}[1]{% +\newcommand*{\KOMA@unknown@keyval}{\FamilyUnknownKeyValue{KOMA}} +\newcommand*{\KOMA@ifkey}{\FamilyBoolKey{KOMA}} +\newcommand*{\KOMA@set@ifkey}{\FamilySetBool{KOMA}} +\newcommand*{\KOMA@ncmdkey}{\FamilyNumericalKey{KOMA}} +\newcommand*{\KOMA@set@ncmdkey}{\FamilySetNumerical{KOMA}} +\newcommand*{\KOMA@DeclareObsoleteOption}{% \@ifnextchar [%] - {\KOMA@@ncmdkey{#1}}{\KOMA@@ncmdkey{#1}[]}% + {\KOMA@@DeclareObsoleteOption}% + {\KOMA@@DeclareObsoleteOption[\@gobbletwo]}% } -\newcommand*{\KOMA@@ncmdkey}{} -\def\KOMA@@ncmdkey#1[#2]#3#4{% - \ifx\relax#2\relax\else - \@namedef{KV@KOMA@#1@default\expandafter}\expandafter{% - \csname KV@KOMA@#1\endcsname{#2}% - }% - \fi - \@ifundefined{#3}{\@namedef{#3}{0}}% - \KOMA@key{#1}{\KOMA@set@ncmdkey{#1}{#3}{#4}{##1}}% +\newcommand*{\KOMA@@DeclareObsoleteOption}{} +\def\KOMA@@DeclareObsoleteOption[#1]{% + \@ifnextchar [%] + {\KOMA@@@DeclareObsoleteOption{#1}}% + {\KOMA@@@DeclareObsoleteOption{#1}[]}% } -\newcommand*{\KOMA@set@ncmdkey}[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\@namedef{#2}{\@tempa}% - }% - \else - \KOMA@unknown@keyval{#1}{#4}{\@tempa}% - \let\@tempa=\endgroup - \fi - \@tempa +\newcommand*{\KOMA@@@DeclareObsoleteOption}{} +\def\KOMA@@@DeclareObsoleteOption#1[#2]#3#4{% + \ifstr{#2}{}{% + \KOMA@iv@DeclareObsoleteOption{#1}{\@currname}{#3}{#4}% + }{% + \KOMA@UseObsoleteOption{#1}{#2}{#3}{#4}% + }% } -\newcommand*{\KOMA@DeclareObsoleteOption}[3][\@gobbletwo]{% - \DeclareOption{#2}{\KOMA@UseObsoleteOption{#1}{#2}{#3}}% +\newcommand*{\KOMA@iv@DeclareObsoleteOption}[4]{% + \DeclareOption{#3}{\KOMA@UseObsoleteOption{#1{#2}}{#3}{#4}}% } \newcommand*{\KOMA@UseObsoleteOption}[3]{% \let\scr@sr@co\CurrentOption - #1{scrkbase}{% + #1{% You've used obsolete option `#2'.\MessageBreak \protect\KOMAExecuteOptions{#3} will be\MessageBreak used instead.\MessageBreak @@ -620,6 +174,7 @@ \KOMAExecuteOptions{#3}% \let\CurrentOption\scr@sr@co } +\newcommand*{\scr@sr@co}{} \newcommand*{\KOMA@newobsoletecommand}[3][\@gobbletwo]{% \newcommand*{#2}{\KOMA@UseObsoleteCommand{#1}{\string#2}{#3}}% } diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty b/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty index 390c3b16720..1f441671ffe 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty @@ -41,7 +41,7 @@ %% standard classes created by The LaTeX3 Project 1994-1996. %% %%% From File: scrlfile.dtx -\def\scrlfileversion{2007/12/18 v2.98} +\def\scrlfileversion{2008/07/09 v3.00} \ProvidesPackage{scrlfile}[% \scrlfileversion\space KOMA-Script package (loading files)] \typeout{Package scrlfile, \csname ver@scrlfile.sty\endcsname% @@ -163,13 +163,29 @@ \ifx\reserved@a\reserved@b \let\scr@saved@clearpage=\clearpage \renewcommand*{\clearpage}{\scr@saved@clearpage - \scr@hook@bcma\let\clearpage=\scr@saved@clearpage}% + \scr@hook@bcma + \scr@restore@newpage + \let\clearpage=\scr@saved@clearpage}% \fi% }% } \newcommand*{\scr@saved@checkend}{} -\newcommand*{\scr@hook@bcma}{% - \renewcommand*{\BeforeClosingMainAux}[1]{##1}% +\newcommand*{\scr@redefine@newpage}{% + \let\scr@saved@newpage\newpage + \def\scr@restore@newpage{% + \renewcommand*{\newpage}{% + \PackageWarningNoLine{% + scrlfile% + }{% + \string\newpage\space at main aux file!\MessageBreak + You have output material at the main aux file.\MessageBreak + Note, that the \string\BeforeClosingMainAux\space commands\MessageBreak + are processed before the output from aux file% + }% + \let\newpage\scr@saved@newpage + \newpage + }% + }% \renewcommand*{\newpage}{% \PackageError{% scrlfile% @@ -185,7 +201,15 @@ }% }% } +\newcommand*{\scr@restore@newpage}{} +\newcommand*{\scr@hook@bcma}{} \newcommand*{\BeforeClosingMainAux}{% + \ifx\scr@hook@bcma\@empty + \gdef\scr@hook@bcma{% + \renewcommand*{\BeforeClosingMainAux}[1]{####1}% + \scr@redefine@newpage + }% + \fi \g@addto@macro\scr@hook@bcma% } %%% From File: scrlogo.dtx diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls b/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls index b02516826bc..515a3e9f1ae 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls @@ -91,7 +91,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup \newcommand*{\KOMAClassName}{% scrlttr2% @@ -123,7 +123,8 @@ \ClassError{\KOMAClassName}{% Option `version' too late% }{% - Option `version' may be set only while loading the class.\MessageBreak + Option `version' may be set only while loading the + class.\MessageBreak But you've tried to set it up later.% }% }% @@ -144,7 +145,11 @@ \@namedef{scr@v@2.97d}{5} \@namedef{scr@v@2.97e}{6} \@namedef{scr@v@2.98}{6} -\@namedef{scr@v@last}{6} +\@namedef{scr@v@2.98a}{6} +\@namedef{scr@v@2.98b}{6} +\@namedef{scr@v@2.98c}{7} +\@namedef{scr@v@3.00}{8} +\@namedef{scr@v@last}{8} %%% From File: scrkmisc.dtx \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% @@ -189,16 +194,41 @@ \def\@pt@@scan #1pt#2\@pt@@scan{% \ifstr{#2}{pt}{% \ifnumber{#1}{% - \KOMA@UseObsoleteOption{\PackageInfoNoLine}{#1#2}{fontsize=#1#2}% + \KOMA@UseObsoleteOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% }{\@headlines}% }{\@headlines}% } +\providecommand*{\@fontsizefilebase}{scrsize} \KOMA@key{fontsize}{% \scr@ifundefinedorrelax{changefontsizes}{% \@defaultunits\@tempdima#1pt\relax\@nnil \edef\@ptsize{#1}% }{% - \changefontsizes{#1}% + \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil + \edef\@tempa{#1}% + \setlength{\@tempdimb}{\@tempdima}% + \edef\@tempb{\strip@pt\@tempdimb}% + \addtolength{\@tempdimb}{-10\p@}% + \edef\@ptsize{\strip@pt\@tempdimb}% + \edef\@tempa{% + \noexpand\makeatletter + \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% + \noexpand\ClassInfo{\KOMAClassName}{% + File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% + }{% + \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% + \noexpand\ClassInfo{\KOMAClassName}{% + File `\@fontsizefilebase\@tempb pt.clo' used instead of% + \noexpand\MessageBreak + file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% + }{% + \noexpand\changefontsizes{#1}% + }% + }% + \noexpand\catcode`\noexpand\@=\the\catcode`\@ + }% + \@tempa }% } %%% From File: scrkvars.dtx @@ -266,7 +296,7 @@ } \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{oneside}{twoside=false} \KOMA@key{twocolumn}[true]{% - \if@atdocument\else\PassOptionsToPackage{twoside=#1}{typearea}\fi% + \if@atdocument\else\PassOptionsToPackage{twocolumn=#1}{typearea}\fi% } \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{onecolumn}{twocolumn=false} \DeclareOption*{% @@ -377,32 +407,28 @@ \endgroup \fi } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip-}{parskip=full-} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip+}{parskip=full+} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip*}{parskip=full*} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip}{parskip=half} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip-}{parskip=half-} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip+}{parskip=half+} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip*}{parskip=half*} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parindent}{parskip=false} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip-}{parskip=full-} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip+}{parskip=full+} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip*}{parskip=full*} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip}{parskip=half} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip-}{parskip=half-} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip+}{parskip=half+} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip*}{parskip=half*} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parindent}{parskip=false} %%% From File: scrkpage.dtx \newif\if@hsl \KOMA@key{headsepline}[true]{% \KOMA@set@ifkey{headsepline}{@hsl}{#1}% - \@ifpackageloaded{typearea}{% - \KOMAoptions{headinclude=#1}% - }{}% + \KOMA@options{headinclude=#1}{}% } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{headnosepline}{% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{headnosepline}{% headsepline=false} \newif\if@fsl \KOMA@key{footsepline}[true]{% \KOMA@set@ifkey{footsepline}{@fsl}{#1}% - \@ifpackageloaded{typearea}{% - \KOMAoptions{footinclude=#1}% - }{}% + \KOMA@options{footinclude=#1}{}% } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{footnosepline}{% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{footnosepline}{% footsepline=false} \@twosidefalse \KOMA@key{cleardoublepage}{% @@ -414,34 +440,103 @@ }% \ifstr{#1}{current}{% \def\@tempc{\endgroup% - \let\cleardoublepage\cleardoublestandardpage + \def\cleardoublepage{\cleardoublestandardpage}% + \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% + \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% }% }{% \ifnotundefined{ps@#1}{% \def\@tempc{\endgroup% \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% + \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% + \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% }% }{}% }% \@tempc } -\newcommand*{\cleardoublestandardpage}{} -\let\cleardoublestandardpage\cleardoublepage +\newcommand*{\cleardoubleoddstandardpage}{} +\let\cleardoubleoddstandardpage=\cleardoublepage +\newcommand*{\cleardoubleoddpageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoubleoddstandardpage}} +\newcommand*{\cleardoubleoddemptypage}{\cleardoubleoddpageusingstyle{empty}} +\newcommand*{\cleardoubleoddplainpage}{\cleardoubleoddpageusingstyle{plain}} +\newcommand*{\cleardoubleevenstandardpage}{% + \clearpage + \if@twoside\ifodd\c@page + \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi + \fi\fi +} +\newcommand*{\cleardoubleevenpageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoubleevenstandardpage}} +\newcommand*{\cleardoubleevenemptypage}{\cleardoubleevenpageusingstyle{empty}} +\newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}} +\newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage} +\renewcommand*{\cleardoublepage}{% + \expandafter\ifnum \@nameuse{scr@v@2.98c}<\scr@compatibility\relax + \cleardoubleemptypage + \else + \cleardoublestandardpage + \fi +} +\newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage} +\newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage} \newcommand*{\cleardoublepageusingstyle}[1]{\clearpage {\thispagestyle{#1}\cleardoublestandardpage}} \newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} \newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoubleempty}{% - cleardoublepage=empty% -} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoubleplain}{% - cleardoublepage=plain% -} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoublestandard}{% - cleardoublepage=current% -} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoubleempty}% + {cleardoublepage=empty} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoubleplain}% + {cleardoublepage=plain} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoublestandard}% + {cleardoublepage=current} %%% From File: scrkfloa.dtx %%% From File: scrkftn.dtx +\KOMA@key{footnotes}{% + \ifx\@footnotemark\scr@saved@footnotemark + \else + \ifx\@footnotemark\scr@footnotemark + \else + \ClassWarning{\KOMAClassName}{% + Change of `\string\@footnotemark' detected!\MessageBreak + Use of `footnotes=#1' may break\MessageBreak + another package!\MessageBreak + Maybe you should remove the usage of\MessageBreak + option `footnotes=#1'}% + \fi + \fi + \ifstr{#1}{multiple}{% + \let\@footnotemark\scr@footnotemark + \let\FN@mf@prepare\scr@mf@prepare + \def\scr@footmisc@options{multiple}% + }{% + \ifstr{#1}{nomultiple}{% + \let\@footnotemark\scr@saved@footnotemark + \let\FN@mf@prepare\relax + \let\scr@footmisc@options\@empty + }{% + \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% + }% + }% +} +\newcommand*{\scr@footmisc@options}{} +\PassOptionsToPackage{\noexpand\scr@footmisc@options}{footmisc} +\newcommand*{\scr@saved@footnotemark}{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi + \@makefnmark + \ifhmode\spacefactor\@x@sf\fi + \relax} +\expandafter\CheckCommand\expandafter*\expandafter\@footnotemark +\expandafter{\scr@saved@footnotemark} +\newcommand*{\scr@footnotemark}{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\FN@mf@check\nobreak\fi + \@makefnmark + \csname FN@mf@prepare\endcsname + \ifhmode\spacefactor\@x@sf\fi + \relax} %%% From File: scrklist.dtx %%% From File: scrknpap.dtx \KOMA@ifkey{firsthead}{@firsthead}\@firstheadtrue @@ -510,13 +605,13 @@ \@biglocfalse \fi } -\DeclareOption{wlocfield}{\@ObsoleteOption{locfield=wide}} -\DeclareOption{slocfield}{\@ObsoleteOption{locfield=narrow}} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{wlocfield}{locfield=wide} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{slocfield}{locfield=narrow} \newif\if@fold\@foldtrue \newcommand*{\@usefolds}{TMBPL} \KOMA@key{foldmarks}[true]{% \begingroup - \def\KOMA@unknown@keyval##1##2##3{% + \def\FamilyUnknownKeyValue##1##2##3##4{% \def\sc@nf@ldch@rs####1{% \ifx ####1\@nil\else \if ####1T\g@addto@macro\@usefolds{####1}\else @@ -683,11 +778,12 @@ %%% From File: scrkcile.dtx %%% From File: scrkmisc.dtx \KOMAExecuteOptions{% - parskip=false% + parskip=false,% + headings=big% } \KOMAProcessOptions\relax %%% From File: scrkcomp.dtx -\expandafter\ifnum \@nameuse{scr@v@2.95}>\scr@compatibility +\expandafter\ifnum \@nameuse{scr@v@2.95}>\scr@compatibility\relax \newcommand*{\@setif}[2][]{% \begingroup \edef\@tempa{#1}\ifx\@tempa\@empty @@ -941,7 +1037,6 @@ \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% }% } -\providecommand*{\@fontsizefilebase}{scrsize} \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil \edef\@tempa{\@ptsize}% \setlength{\@tempdimb}{\@tempdima}% @@ -1215,119 +1310,6 @@ \edef\LOPNP@size{#2}\edef\LOPNP@option{#1}% } %%% From File: scrklang.dtx -\newcommand*{\providecaptionname}[3]{% - \@ifundefined{captions#1}{% - \@ifundefined{cap@info@#1@done}{% - \ClassInfo{\KOMAClassName}{% - 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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \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{\KOMAClassName}{% - `\string#2' at language `#1' already - defined\MessageBreak - --> skipped% - }% - \fi - \@tempa - }% -} -\newcommand*{\newcaptionname}[3]{% - \@ifundefined{captions#1}{% - \ClassInfo{\KOMAClassName}{% - No captions found for `#1' --> defining% - }% - \@namedef{captions#1}{}% - }{}% - \begingroup - \csname captions#1\endcsname - \ifx #2\undefined\else - \ClassError{\KOMAClassName}{% - `\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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa -} -\newcommand*{\renewcaptionname}[3]{% - \@ifundefined{captions#1}{% - \ClassError{\KOMAClassName}{% - 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{\KOMAClassName}{% - `\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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \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{% @@ -1973,19 +1955,19 @@ \addtolength{#1}{\@tempskipa}% \fi } -\g@addto@macro{\@listi}{\@list@extra} -\let\@listI=\@listi -\g@addto@macro{\@listii}{\@list@extra} -\g@addto@macro{\@listiii}{\@list@extra} +\newcommand*{\@list@extra}{% + \ifdim\parskip>\z@\topsep\z@\parsep\parskip\itemsep\z@\fi +} \newcommand*{\add@extra@listi}[1]{% \expandafter\let\csname #1@listi\endcsname=\@listi \def\@listi{\csname #1@listi\endcsname\@list@extra}% } -\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@\parsep\parskip\itemsep\z@\fi -} + \l@addto@macro{\@listi}{\@list@extra}% + \let\@listI=\@listi + \l@addto@macro{\@listii}{\@list@extra}% + \l@addto@macro{\@listiii}{\@list@extra}% + \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}% + \l@addto@macro{\small}{\protect\add@extra@listi{sml}}% \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 @@ -1997,16 +1979,18 @@ \addtolength{\@tempdima}{\marginparwidth}% \fi } -\newcommand*\pnumfont{\normalfont\normalcolor} -\newcommand*\headfont{\normalfont\normalcolor\slshape} +\newcommand*{\pnumfont}{\normalfont\normalcolor} +\newcommand*{\headfont}{\normalfont\normalcolor\slshape} +\newcommand*{\footfont}{} \newcommand*{\scr@fnt@pagenumber}{\pnumfont} \aliaskomafont{pagination}{pagenumber} -\newcommand*{\scr@fnt@pagehead}{\headfont} +\newcommand*{\scr@fnt@pageheadfoot}{\headfont} +\aliaskomafont{pagehead}{pageheadfoot} \newcommand*{\scr@fnt@wrn@pagehead}[1]{% - `pagehead' and `pagefoot' are aliases for the same\MessageBreak - font element, changed% + `pagehead' is only an alias of `pageheadfoot'.\MessageBreak + Font of page foot will also be changed% } -\aliaskomafont{pagefoot}{pagehead} +\newcommand*{\scr@fnt@pagefoot}{\footfont} \newcommand*{\pagemark}{{\usekomafont{pagenumber}% \pagename\ % \thepage}} @@ -2067,7 +2051,7 @@ \hrulefill\\ }% \fi - \vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\@nextfoot}}% + \vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\footfont\@nextfoot}}% }% }% \let\@evenfoot\@oddfoot @@ -2127,9 +2111,44 @@ \newcommand*{\ftntm@font}{} \newcommand*{\scr@fnt@footnotereference}{\ftntm@font} \newcommand*{\scr@fnt@footnoteref}{\ftntm@font} +\newcommand*{\FN@mf@check}{% + \ifdim\lastkern=\multiplefootnotemarker\relax + \edef\@x@sf{\the\spacefactor}% + \unkern\multiplefootnoteseparator + \spacefactor\@x@sf\relax + \fi +} +\newcommand*{\scr@mf@prepare}{% + \kern-\multiplefootnotemarker + \kern\multiplefootnotemarker\relax +} +\@ifundefined{FN@mf@prepare}{}{} +\newcommand*{\scr@saved@footnotetext}{} +\let\scr@saved@footnotetext\@footnotetext +\renewcommand*{\@footnotetext}[1]{% + \scr@saved@footnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\BeforePackage{footmisc}{% + \ifx\@footnotemark\scr@footnotemark + \let\@footnotemark\scr@saved@footnotemark + \fi + \let\@footnotetext\scr@saved@footnotetext +} +\newcommand*{\multiplefootnoteseparator}{% + \begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup +} +\newcommand*{\multfootsep}{,} +\newcommand*{\multiplefootnotemarker}{3sp} \newcommand*{\thefootnotemark}{\@thefnmark} \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} \deffootnotemark{\textsuperscript{\thefootnotemark}} +\newcommand*{\footref}[1]{% + \begingroup + \unrestored@protected@xdef\@thefnmark{\ref{#1}}% + \endgroup + \@footnotemark +} %%% From File: scrklist.dtx \setlength{\leftmargini}{2.5em} \setlength{\leftmarginii}{2.2em} @@ -2780,7 +2799,6 @@ \@savevbox{\useplength{locheight}}{% \noindent\hsize\useplength{locwidth}% \ifcase\@alignfrom - \usekomavar{location}% \or \if@logo \ifkomavarempty{fromlogo}{\null}{% @@ -2788,7 +2806,6 @@ \vskip\parskip}\noindent}% \fi \or - \usekomavar{location}% \or \if@logo \ifkomavarempty{fromlogo}{}{% @@ -2866,8 +2883,8 @@ \fi \\ }% - \usekomavar{location}% \fi + \usekomavar{location}% \vskip \z@ \@plus .00001fil}% {location field}{locheight}{\setkomavar}% }}% diff --git a/Master/texmf-dist/tex/latex/koma-script/scrpage.sty b/Master/texmf-dist/tex/latex/koma-script/scrpage.sty index 57d06c2d22e..b77ac7d5f40 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrpage.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrpage.sty @@ -39,7 +39,7 @@ %% %%% From File: scrpage.dtx \NeedsTeXFormat{LaTeX2e}[1995/06/01] -\ProvidesPackage{scrpage}[2006/03/29 v1.3d KOMA-Script +\ProvidesPackage{scrpage}[2008/02/29 v1.3e KOMA-Script package] \DeclareOption{headinclude}{\PassOptionsToPackage{headinclude}{typearea}} \DeclareOption{headexclude}{\PassOptionsToPackage{headexclude}{typearea}} @@ -90,7 +90,7 @@ headinclude,footinclude% \markboth {\ifnum \c@secnumdepth >\z@% \if@mainmatter\sectionmarkformat\fi\fi ####1}{% \ifnum \c@secnumdepth >\z@% - \ifmainmatter\sectionmarkformat\fi\fi ####1}}% + \if@mainmatter\sectionmarkformat\fi\fi ####1}}% \def\subsectionmark####1{% \markright {\ifnum \c@secnumdepth >\@ne% \subsectionmarkformat\fi ####1}}% @@ -176,12 +176,12 @@ headinclude,footinclude% \def\@evenfoot{\let\headmark\leftmark \hss\hskip\@evenfootshift\vbox{\hsize=\@footwidth\relax \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% - \headfont\strut #3}}% + \headfont\footfont\strut #3}}% \botfoot@rule{#6}{#7}}\hskip\@oddfootshift\hss}% \def\@oddfoot{\let\headmark\rightmark \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% - \headfont\strut #4}}% + \headfont\footfont\strut #4}}% \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss}% } \def\def@onesidefoot(#1,#2)#3#4#5(#6,#7){% @@ -189,7 +189,7 @@ headinclude,footinclude% \def\@oddfoot{\let\headmark\rightmark \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% - \headfont\strut #5}} + \headfont\footfont\strut #5}} \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss}% } \newcommand\topfoot@rule[2]{% @@ -408,8 +408,8 @@ headinclude,footinclude% \newcommand*{\@footwidth}{\textwidth}% \newcommand*{\@oddfootshift}{\z@}% \newcommand*{\@evenfootshift}{\z@}% -\providecommand\pnumfont{\normalfont} -\providecommand\headfont{\normalfont% +\providecommand*{\pnumfont}{\normalfont} +\providecommand*{\headfont}{\normalfont% } \providecommand{\partmarkformat} {\partname\ \thepart. \ } \if@chapter diff --git a/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty b/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty index 8189fd75643..148e307167a 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty @@ -40,7 +40,7 @@ %%% From File: scrpage.dtx \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{scrpage2} - [2007/07/23 v2.2e LaTeX2e KOMA-Script + [2008/02/14 v2.2f LaTeX2e KOMA-Script package] \DeclareOption{headinclude}{\PassOptionsToPackage{headinclude}{typearea}} \DeclareOption{headexclude}{\PassOptionsToPackage{headexclude}{typearea}} @@ -246,13 +246,13 @@ \hss\hskip\@evenfootshift\vbox{\hsize=\@footwidth\relax \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% \scr@nouppercase - \headfont\strut #3}}% + \headfont\footfont\strut #3}}% \botfoot@rule{#6}{#7}}\hskip\@oddfootshift\hss}% \def\@oddfoot{\let\headmark\rightmark \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% \scr@nouppercase - \headfont\strut #4}}% + \headfont\footfont\strut #4}}% \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss}% } \def\def@onesidefoot{% @@ -272,7 +272,7 @@ \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% \scr@nouppercase - \headfont\strut #5}} + \headfont\footfont\strut #5}} \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss}% } \newcommand\topfoot@rule[2]{% @@ -674,10 +674,17 @@ \fi } \fi -\providecommand\pnumfont{\normalfont} -\providecommand\headfont{\normalfont% +\providecommand*{\pnumfont}{\normalfont} +\providecommand*{\headfont}{\normalfont% \slshape% } +\def\scr@fnt@wrn@pagehead#1{% + `pagehead' is only an alias of `pageheadfoot'.\MessageBreak + Font of page foot may also be changed% +} +\providecommand*{\footfont}{\normalfont} +\providecommand*{\scr@fnt@pagefoot}{\footfont} +\let\scr@fnt@wrn@pagefoot\relax \newcommand*{\setheadtopline}{\scr@setline{head}{above}} \newcommand*{\setheadsepline}{\scr@setline{head}{below}} \newcommand*{\setfootsepline}{\scr@setline{foot}{above}} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls b/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls index 77f91c54c57..fcd7a998153 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls @@ -6,6 +6,7 @@ %% %% scrkvers.dtx (with options: `class,report') %% scrkbase.dtx (with options: `load') +%% tocbasic.dtx (with options: `load') %% scrkcomp.dtx (with options: `class,report,option') %% scrkmisc.dtx (with options: `class,report,option') %% scrklang.dtx (with options: `class,report,option') @@ -91,7 +92,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup \newcommand*{\KOMAClassName}{% scrreprt% @@ -104,6 +105,13 @@ ] %%% From File: scrkbase.dtx \RequirePackage{scrkbase}[\KOMAScriptVersion] +%%% From File: tocbasic.dtx +\def\tocbasicversion{2008/10/06 v1.0} +\edef\@tempa{\noexpand\RequirePackage{tocbasic}[\tocbasicversion]} +\@tempa +\addtotoclist{toc} +\addtotoclist[float]{lof} +\addtotoclist[float]{lot} %%% From File: scrkcomp.dtx \newcommand*{\scr@compatibility}{0} \KOMA@key{version}[last]{% @@ -123,7 +131,8 @@ \ClassError{\KOMAClassName}{% Option `version' too late% }{% - Option `version' may be set only while loading the class.\MessageBreak + Option `version' may be set only while loading the + class.\MessageBreak But you've tried to set it up later.% }% }% @@ -144,7 +153,11 @@ \@namedef{scr@v@2.97d}{5} \@namedef{scr@v@2.97e}{6} \@namedef{scr@v@2.98}{6} -\@namedef{scr@v@last}{6} +\@namedef{scr@v@2.98a}{6} +\@namedef{scr@v@2.98b}{6} +\@namedef{scr@v@2.98c}{7} +\@namedef{scr@v@3.00}{8} +\@namedef{scr@v@last}{8} %%% From File: scrkmisc.dtx \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% @@ -169,16 +182,41 @@ \def\@pt@@scan #1pt#2\@pt@@scan{% \ifstr{#2}{pt}{% \ifnumber{#1}{% - \KOMA@UseObsoleteOption{\PackageInfoNoLine}{#1#2}{fontsize=#1#2}% + \KOMA@UseObsoleteOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% }{\@headlines}% }{\@headlines}% } +\providecommand*{\@fontsizefilebase}{scrsize} \KOMA@key{fontsize}{% \scr@ifundefinedorrelax{changefontsizes}{% \@defaultunits\@tempdima#1pt\relax\@nnil \edef\@ptsize{#1}% }{% - \changefontsizes{#1}% + \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil + \edef\@tempa{#1}% + \setlength{\@tempdimb}{\@tempdima}% + \edef\@tempb{\strip@pt\@tempdimb}% + \addtolength{\@tempdimb}{-10\p@}% + \edef\@ptsize{\strip@pt\@tempdimb}% + \edef\@tempa{% + \noexpand\makeatletter + \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% + \noexpand\ClassInfo{\KOMAClassName}{% + File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% + }{% + \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% + \noexpand\ClassInfo{\KOMAClassName}{% + File `\@fontsizefilebase\@tempb pt.clo' used instead of% + \noexpand\MessageBreak + file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% + }{% + \noexpand\changefontsizes{#1}% + }% + }% + \noexpand\catcode`\noexpand\@=\the\catcode`\@ + }% + \@tempa }% } %%% From File: scrktare.dtx @@ -244,7 +282,7 @@ } \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{oneside}{twoside=false} \KOMA@key{twocolumn}[true]{% - \if@atdocument\else\PassOptionsToPackage{twoside=#1}{typearea}\fi% + \if@atdocument\else\PassOptionsToPackage{twocolumn=#1}{typearea}\fi% } \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{onecolumn}{twocolumn=false} \DeclareOption*{% @@ -354,66 +392,134 @@ \endgroup \fi } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip-}{parskip=full-} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip+}{parskip=full+} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parskip*}{parskip=full*} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip}{parskip=half} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip-}{parskip=half-} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip+}{parskip=half+} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{halfparskip*}{parskip=half*} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{parindent}{parskip=false} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip-}{parskip=full-} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip+}{parskip=full+} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parskip*}{parskip=full*} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip}{parskip=half} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip-}{parskip=half-} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip+}{parskip=half+} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{halfparskip*}{parskip=half*} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{parindent}{parskip=false} %%% From File: scrktitl.dtx \newif\if@titlepage \@titlepagetrue -\KOMA@ifkey{titlepage}{@titlepage} -\KOMA@DeclareObsoleteOption[\ClassInfo]{notitlepage}{titlepage=false} +\KOMA@ifkey{titlepage}{@titlepage}% +\KOMA@DeclareObsoleteOption% + [\PackageInfoNoLine]% + {notitlepage}{titlepage=false} \newif\if@abstrt\@abstrtfalse \KOMA@ifkey{abstract}{@abstrt} -\KOMA@DeclareObsoleteOption[\ClassInfo]{abstracton}{abstract=true} -\KOMA@DeclareObsoleteOption[\ClassInfo]{abstractoff}{abstract=false} +\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{abstracton}{abstract=true} +\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{abstractoff}{abstract=false} %%% From File: scrksect.dtx \newif\if@openright \@openrightfalse -\DeclareOption{openright}{\@openrighttrue} -\DeclareOption{openany}{\@openrightfalse} -\DeclareOption{pointednumbers}{% - \AtEndOfClass{\@altsecnumformattrue - \global\let\@altsecnumformatfalse\@altsecnumformattrue}% -} -\DeclareOption{pointednumber}{% - \AtEndOfClass{\@altsecnumformattrue - \global\let\@altsecnumformatfalse\@altsecnumformattrue}% +\KOMA@key{open}{% + \KOMA@set@ncmdkey{open}{@tempa}{% + {any}{0},% + {right}{1},% + {left}{2}% + }{#1}% + \ifcase \@tempa\relax + \@openrightfalse + \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% + \or + \@openrighttrue + \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% + \or + \@openrighttrue + \renewcommand*{\cleardoublestandardpage}{\cleardoubleevenstandardpage}% + \fi +} +\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{openright}{open=right} +\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{openany}{open=any} +%% \fi +\newcommand*{\scr@dotchangeatdocument}[1]{% \ClassError{\KOMAClassName}{% - undefined option `pointednumber' instead of `pointednumbers'% + change of end dot feature after \string\begin{document}% }{% - You've used the class-option `pointednumber'.\MessageBreak - This name was an implementation-error at versions from 2.3h till - 2.4f.\MessageBreak - The correct name is `pointednumbers'. - Change this at your document.\MessageBreak - If you'll continue, the option `pointednumbers' will be used% + You've tried to set `numbers=#1' after \string\begin{document},\MessageBreak + but this option is only allowed at the document preamble.\MessageBreak + See KOMA-Script manual for more information about.% }% } -\DeclareOption{pointlessnumbers}{% - \AtEndOfClass{\@altsecnumformatfalse - \global\let\@altsecnumformattrue\@altsecnumformatfalse}% +\KOMA@key{numbers}{% + \KOMA@set@ncmdkey{numbers}{@tempa}{% + {autoendperiod}{0},{autoenddot}{0},{auto}{0},% + {endperiod}{1},{withendperiod}{1},{periodatend}{1},% + {enddot}{1},{withenddot}{1},{dotatend}{1},% + {noendperiod}{2},{noperiodatend}{2},% + {noenddot}{2},{nodotatend}{2}% + }{#1}% + \ifcase \@tempa\relax + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\@empty + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhooktrue + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhookfalse + \fi + \fi } -\DeclareOption{pointlessnumber}{% - \AtEndOfClass{\@altsecnumformatfalse - \global\let\@altsecnumformattrue\@altsecnumformatfalse}% - \ClassError{\KOMAClassName}{% - undefined option `pointlessnumber' instead of `pointlessnumbers'% - }{% - You've used the class-option `pointlessnumber'.\MessageBreak - This name was an implementation-error at versions from 2.3h till - 2.4f.\MessageBreak - The correct name is `pointlessnumbers'. - Change this at your document.\MessageBreak - If you'll continue, the option `pointlessnumbers' will be used% - }% +\newcommand*{\scr@altsecnumhook}{} +\AtBeginDocument{\scr@altsecnumhook} +\newcommand*{\scr@altsecnumhooktrue}{% + \@altsecnumformattrue\global\let\@altsecnumformatfalse\@altsecnumformattrue +} +\newcommand*{\scr@altsecnumhookfalse}{% + \@altsecnumformatfalse\global\let\@altsecnumformattrue\@altsecnumformatfalse +} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{pointednumbers}% + {numbers=enddot} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{pointlessnumbers}% + {numbers=noenddot} +\newif\if@chapterprefix\@chapterprefixfalse +\KOMA@ifkey{chapterprefix}{@chapterprefix} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{nochapterprefix}% + {chapterprefix=false} +\KOMA@key{appendixprefix}[true]{% + \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% + \if@tempswa + \def\appendixmore{\@chapterprefixtrue}% + \else + \def\appendixmore{\@chapterprefixfalse}% + \fi } -\newcommand\@bigheadings{% - \AtEndOfClass{% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{noappendixprefix}% + {appendixprefix=false} +\newcommand*{\size@part}{} +\newcommand*{\size@partnumber}{} +\newcommand*{\size@chapter}{} +\newcommand*{\size@chapterprefix}{\size@chapter} +\newcommand*{\size@section}{} +\newcommand*{\size@subsection}{} +\newcommand*{\size@subsubsection}{} +\newcommand*{\size@paragraph}{} +\newcommand*{\size@subparagraph}{} +\newcommand*{\chapterheadstartvskip}{} +\newcommand*{\chapterheadendvskip}{} +\KOMA@key{headings}{% + \KOMA@set@ncmdkey{headings}{@tempa}{% + {big}{0},% + {normal}{1},% + {small}{2}% + ,{openany}{3},% + {openright}{4},% + {openleft}{5}% + ,{twolinechapter}{6},{chapterprefix}{6},{chapterwithprefix}{6},% + {chapterwithprefixline}{6},% + {onelinechapter}{7},{nochapterprefix}{7},{chapterwithoutprefix}{7},% + {chapterwithoutprefixline}{7}% + ,{twolineappendix}{8},{appendixprefix}{8},{appendixwithprefix}{8},% + {appendixwithprefixline}{8},% + {onelineappendix}{9},{noappendixprefix}{9},{appendixwithoutprefix}{9},% + {appendixwithoutprefixline}{9}% + }{#1}% + \ifcase \@tempa\relax \renewcommand*{\chapterheadstartvskip}{% \vspace*{2.3\baselineskip}% }% @@ -421,32 +527,15 @@ \vspace{1.725\baselineskip \@plus .115\baselineskip \@minus .192\baselineskip}% }% - \let\size@part\Huge - \let\size@partnumber\huge - \let\size@chapter\huge - \let\size@section\Large - \let\size@subsection\large - \let\size@subsubsection\normalsize - \let\size@paragraph\normalsize - \let\size@subparagraph\normalsize - }% -} -\DeclareOption{bigheadings}{\@bigheadings} -\DeclareOption{bigheading}{% - \@bigheadings - \ClassError{\KOMAClassName}{% - undefined option `bigheading' instead of `bigheadings'% - }{% - You've used the old option name `bigheading'!\MessageBreak - The correct name of the option is `bigheadings'.\MessageBreak - The old name was an implementation error from\MessageBreak - version 2.3h till 2.4f.\MessageBreak - You should change this at your document!\MessageBreak - If you'll continue, option `bigheadings' will be used% - }% -} -\newcommand\@normalheadings{% - \AtEndOfClass{% + \renewcommand*{\size@part}{\Huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\huge}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or \renewcommand*{\chapterheadstartvskip}{% \vspace*{2\baselineskip}% }% @@ -454,32 +543,15 @@ \vspace{1.5\baselineskip \@plus .1\baselineskip \@minus .167\baselineskip}% }% - \let\size@part\huge - \let\size@partnumber\huge - \let\size@chapter\LARGE - \let\size@section\Large - \let\size@subsection\large - \let\size@subsubsection\normalsize - \let\size@paragraph\normalsize - \let\size@subparagraph\normalsize - }% -} -\DeclareOption{normalheadings}{\@normalheadings} -\DeclareOption{normalheading}{% - \@normalheadings - \ClassError{\KOMAClassName}{% - undefined option `normalheading' instead of `normalheadings'% - }{% - You've used the old option name `normalheading'!\MessageBreak - The correct name of the option is `normalheadings'.\MessageBreak - The old name was an implementation error from\MessageBreak - version 2.3h till 2.4f.\MessageBreak - You should change this at your document!\MessageBreak - If you'll continue, option `normalheadings' will be used% - }% -} -\newcommand\@smallheadings{% - \AtEndOfClass{ + \renewcommand*{\size@part}{\huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\LARGE}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or \renewcommand*{\chapterheadstartvskip}{% \vspace*{1.8\baselineskip}% }% @@ -487,62 +559,50 @@ \vspace{1.35\baselineskip \@plus 0.09\baselineskip \@minus .15\baselineskip}% }% - \let\size@part\LARGE - \let\size@partnumber\LARGE - \let\size@chapter\Large - \let\size@section\large - \let\size@subsection\normalsize - \let\size@subsubsection\normalsize - \let\size@paragraph\normalsize - \let\size@subparagraph\normalsize - }% -} -\DeclareOption{smallheadings}{\@smallheadings} -\DeclareOption{smallheading}{% - \@smallheadings - \ClassError{\KOMAClassName}{% - undefined option `smallheading' instead of `smallheadings'% - }{% - You've used the old option name `smallheading'!\MessageBreak - The correct name of the option is `smallheadings'.\MessageBreak - The old name was an implementation error from\MessageBreak - version 2.3h till 2.4f.\MessageBreak - You should change this at your document!\MessageBreak - If you'll continue, option `smallheadings' will be used% - }% -} -\@bigheadings -\newif\if@chapterprefix\@chapterprefixfalse -\KOMA@ifkey{chapterprefix}{@chapterprefix} -\KOMA@DeclareObsoleteOption{nochapterprefix}{chapterprefix=false} -\KOMA@key{appendixprefix}[true]{% - \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% - \if@tempswa - \def\appendixmore{\@chapterprefixtrue}% - \else - \def\appendixmore{\@chapterprefixfalse}% + \renewcommand*{\size@part}{\LARGE}% + \renewcommand*{\size@partnumber}{\LARGE}% + \renewcommand*{\size@chapter}{\Large}% + \renewcommand*{\size@section}{\large}% + \renewcommand*{\size@subsection}{\normalsize}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \KOMA@options{open=any}{}% + \or + \KOMA@options{open=right}{}% + \or + \KOMA@options{open=left}{}% + \or + \KOMA@options{chapterprefix=true}{}% + \or + \KOMA@options{chapterprefix=false}{}% + \or + \KOMA@options{appendixprefix=true}{}% + \or + \KOMA@options{appendixprefix=false}{}% \fi } -\KOMA@DeclareObsoleteOption[\ClassInfo]{noappendixprefix}{% - appendixprefix=false} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{bigheadings}% + {headings=big} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{normalheadings}% + {headings=normal} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{smallheadings}% + {headings=small} %%% From File: scrkpage.dtx \newif\if@hsl \KOMA@key{headsepline}[true]{% \KOMA@set@ifkey{headsepline}{@hsl}{#1}% - \@ifpackageloaded{typearea}{% - \KOMAoptions{headinclude=#1}% - }{}% + \KOMA@options{headinclude=#1}{}% } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{headnosepline}{% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{headnosepline}{% headsepline=false} \newif\if@fsl \KOMA@key{footsepline}[true]{% \KOMA@set@ifkey{footsepline}{@fsl}{#1}% - \@ifpackageloaded{typearea}{% - \KOMAoptions{footinclude=#1}% - }{}% + \KOMA@options{footinclude=#1}{}% } -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{footnosepline}{% +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{footnosepline}{% footsepline=false} \@twosidefalse \KOMA@key{cleardoublepage}{% @@ -554,81 +614,263 @@ }% \ifstr{#1}{current}{% \def\@tempc{\endgroup% - \let\cleardoublepage\cleardoublestandardpage + \def\cleardoublepage{\cleardoublestandardpage}% + \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% + \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% }% }{% \ifnotundefined{ps@#1}{% \def\@tempc{\endgroup% \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% + \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% + \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% }% }{}% }% \@tempc } -\newcommand*{\cleardoublestandardpage}{} -\let\cleardoublestandardpage\cleardoublepage +\newcommand*{\cleardoubleoddstandardpage}{} +\let\cleardoubleoddstandardpage=\cleardoublepage +\newcommand*{\cleardoubleoddpageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoubleoddstandardpage}} +\newcommand*{\cleardoubleoddemptypage}{\cleardoubleoddpageusingstyle{empty}} +\newcommand*{\cleardoubleoddplainpage}{\cleardoubleoddpageusingstyle{plain}} +\newcommand*{\cleardoubleevenstandardpage}{% + \clearpage + \if@twoside\ifodd\c@page + \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi + \fi\fi +} +\newcommand*{\cleardoubleevenpageusingstyle}[1]{\clearpage + {\thispagestyle{#1}\cleardoubleevenstandardpage}} +\newcommand*{\cleardoubleevenemptypage}{\cleardoubleevenpageusingstyle{empty}} +\newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}} +\newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage} +\renewcommand*{\cleardoublepage}{% + \expandafter\ifnum \@nameuse{scr@v@2.98c}<\scr@compatibility\relax + \cleardoubleemptypage + \else + \cleardoublestandardpage + \fi +} +\newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage} +\newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage} \newcommand*{\cleardoublepageusingstyle}[1]{\clearpage {\thispagestyle{#1}\cleardoublestandardpage}} \newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} \newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoubleempty}{% - cleardoublepage=empty% -} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoubleplain}{% - cleardoublepage=plain% -} -\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{cleardoublestandard}{% - cleardoublepage=current% -} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoubleempty}% + {cleardoublepage=empty} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoubleplain}% + {cleardoublepage=plain} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{cleardoublestandard}% + {cleardoublepage=current} %%% From File: scrkfloa.dtx \newif\if@tablecaptionabove\@tablecaptionabovefalse -\DeclareOption{tablecaptionabove}{\@tablecaptionabovetrue} -\DeclareOption{tablecaptionbelow}{\@tablecaptionabovefalse} -\newif\if@komalongtable\@komalongtabletrue -\DeclareOption{origlongtable}{\@komalongtablefalse} \newif\ifonelinecaptions\onelinecaptionstrue -\DeclareOption{onelinecaption}{\onelinecaptionstrue - \PassOptionsToPackage{oneline}{caption2}% -} -\DeclareOption{noonelinecaption}{\onelinecaptionsfalse - \PassOptionsToPackage{nooneline}{caption2}% +\newcommand*{\scap@pos}{r} +\newcommand*{\scap@valign}{b} +\KOMA@key{captions}{% + \KOMA@set@ncmdkey{captions}{@tempa}{% + {tableheading}{0},% + {tableabove}{0},{abovetable}{0},{abovetabular}{0},{topattable}{0},% + {tablesignature}{1},% + {tablebelow}{1},{belowtable}{1},{belowtabular}{1},{bottomattable}{1},% + {oneline}{2},% + {nooneline}{3},% + {rightbeside}{4},{besideright}{4},% + {leftbeside}{5},{besideleft}{5},% + {innerbeside}{6},{besideinner}{6},% + {outerbeside}{7},{besideouter}{7},% + {topbeside}{8},{besidetop}{8},% + {centeredbeside}{9},{besidecentered}{9},% + {middlebeside}{9},{besidemiddle}{9},% + {bottombeside}{10},{besidebottom}{10}% + }{#1}% + \ifcase \@tempa\relax + \@tablecaptionabovetrue + \or + \@tablecaptionabovefalse + \or + \onelinecaptionstrue + \or + \onelinecaptionsfalse + \or + \renewcommand*{\scap@pos}{r}% + \or + \renewcommand*{\scap@pos}{l}% + \or + \renewcommand*{\scap@pos}{i}% + \or + \renewcommand*{\scap@pos}{o}% + \or + \renewcommand*{\scap@valign}{t}% + \or + \renewcommand*{\scap@valign}{c}% + \or + \renewcommand*{\scap@valign}{b}% + \fi } +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{tablecaptionabove}% + {captions=tableheading} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{tablecaptionbelow}% + {captions=tablesignature} +\newif\if@komalongtable\@komalongtabletrue +\DeclareOption{origlongtable}{\@komalongtablefalse} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{onelinecaption} + {captions=oneline} +\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{noonelinecaption} + {captions=nooneline} %%% From File: scrkftn.dtx -%%% From File: scrkliof.dtx -\newif\if@tocleft -\DeclareOption{tocleft}{\@toclefttrue} -\DeclareOption{tocindent}{\@tocleftfalse} -\DeclareOption{liststotoc}{% - \AtEndOfClass{% - \renewcommand*{\float@listhead}[1]{% - \addchap{#1} - \@mkboth{#1}{#1}% - \if@dynlist - \newcommand*{\scr@starttoc}{}% - \let\scr@starttoc=\@starttoc - \renewcommand*{\@starttoc}[1]{% - \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% - \fi +\KOMA@key{footnotes}{% + \ifx\@footnotemark\scr@saved@footnotemark + \else + \ifx\@footnotemark\scr@footnotemark + \else + \ClassWarning{\KOMAClassName}{% + Change of `\string\@footnotemark' detected!\MessageBreak + Use of `footnotes=#1' may break\MessageBreak + another package!\MessageBreak + Maybe you should remove the usage of\MessageBreak + option `footnotes=#1'}% + \fi + \fi + \ifstr{#1}{multiple}{% + \let\@footnotemark\scr@footnotemark + \let\FN@mf@prepare\scr@mf@prepare + \def\scr@footmisc@options{multiple}% + }{% + \ifstr{#1}{nomultiple}{% + \let\@footnotemark\scr@saved@footnotemark + \let\FN@mf@prepare\relax + \let\scr@footmisc@options\@empty + }{% + \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% }% } -\DeclareOption{liststotocnumbered}{% - \AtEndOfClass{% - \renewcommand*{\float@listhead}[1]{% - \chapter{#1} - \@mkboth{\chaptermarkformat #1}{\chaptermarkformat #1}% - \if@dynlist - \newcommand*{\scr@starttoc}{}% - \let\scr@starttoc=\@starttoc - \renewcommand*{\@starttoc}[1]{% - \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% - \fi - }% - }% +\newcommand*{\scr@footmisc@options}{} +\PassOptionsToPackage{\noexpand\scr@footmisc@options}{footmisc} +\newcommand*{\scr@saved@footnotemark}{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi + \@makefnmark + \ifhmode\spacefactor\@x@sf\fi + \relax} +\expandafter\CheckCommand\expandafter*\expandafter\@footnotemark +\expandafter{\scr@saved@footnotemark} +\newcommand*{\scr@footnotemark}{% + \leavevmode + \ifhmode\edef\@x@sf{\the\spacefactor}\FN@mf@check\nobreak\fi + \@makefnmark + \csname FN@mf@prepare\endcsname + \ifhmode\spacefactor\@x@sf\fi + \relax} +%%% From File: scrkliof.dtx +\newif\if@tocleft +\KOMA@key{toc}{% + \KOMA@set@ncmdkey{toc}{@tempa}{% + {noindex}{0},{noidx}{0},% + {index}{1},{idx}{1},% + {nolistof}{2},% + {listof}{3},% + {listofnumbered}{4},{numberedlistof}{4},% + {nobibliography}{5},{nobib}{5},% + {bibliography}{6},{bib}{6},% + {bibliographynumbered}{7},{bibnumbered}{7},{numberedbibliography}{7},% + {numberedbib}{7},% + {flat}{8},{left}{8},% + {graduated}{9},{indent}{9},{indented}{9}% + }{#1}% + \ifcase \@tempa\relax + \KOMA@options{index=notoc}{}% + \or + \KOMA@options{index=totoc}{}% + \or + \KOMA@options{listof=notoc}{}% + \or + \KOMA@options{listof=totoc}{}% + \or + \KOMA@options{listof=numbered}{}% + \or + \KOMA@options{bibliography=nottotoc}{}% + \or + \KOMA@options{bibliography=totoc}{}% + \or + \KOMA@options{bibliography=totocnumbered}{}% + \or + \@toclefttrue + \or + \@tocleftfalse + \fi +} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{tocleft}{toc=flat} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{tocindent}{toc=graduated} +\newcommand*{\float@@listhead}{% + \chapter* } \newif\if@dynlist -\DeclareOption{listsleft}{\@dynlisttrue} -\DeclareOption{listsindent}{\@dynlistfalse} +\KOMA@key{listof}{% + \KOMA@set@ncmdkey{listof}{@tempa}{% + {notoc}{0},{nottotoc}{0},{plainheading}{0},% + {totoc}{1},{toc}{1},{notnumbered}{1},% + {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% + {numberedtoc}{2},% + {flat}{3},{left}{3},% + {graduated}{4},{indent}{4},{indented}{4},% + {leveldown}{5}, + {chapterentry}{6},{withchapterentry}{6},% + {nochaptergap}{7},{ignorechapter}{7},% + {chaptergapsmall}{8},{smallchaptergap}{8},% + {chaptergapline}{9},{onelinechaptergap}{9}% + }{#1}% + \ifcase \@tempa\relax + \renewcommand*{\float@@listhead}{% + \chapter* + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \or% totoc + \renewcommand*{\float@@listhead}{% + \addchap + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% numbered + \renewcommand*{\float@@listhead}{% + \chapter + }% + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% flat + \@dynlisttrue + \or% graduated + \@dynlistfalse + \or% leveldown + \doforeachtocfile[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \or% chapterentry + \KOMA@options{chapteratlists=entry}{}% + \or% chaptergap + \KOMA@options{chapteratlists=\z@}{}% + \or% chaptergapsmall + \KOMA@options{chapteratlists=10\p@}{}% + \or% chaptergapline + \KOMA@options{chapteratlists=\baselineskip}{}% + \fi +} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{liststotoc}{listof=totoc} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{liststotocnumbered} + {listof=numbered} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{listsleft}{listof=flat} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{listsindent}{listof=graduated} \newcommand*{\@chapterlistsgap}{10\p@} \newif\if@chaptertolists\@chaptertolistsfalse \KOMA@key{chapteratlists}[entry]{% @@ -639,47 +881,119 @@ }% } %%% From File: scrkbib.dtx -\DeclareOption{openbib}{% - \AtEndOfPackage{% - \renewcommand*\@openbib@code{% - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ +\newcommand{\newbibstyle}[3][]{% + \scr@ifundefinedorrelax{scr@bibstyle@#2}{% + \scr@ifundefinedorrelax{scr@bibstyle@#1}{% + \ClassError{\KOMAClassName}{% + parent bibliography style `#1' does not exist}{% + You've told me to define the new bibliography style `#2'\MessageBreak + to be a child of bibliography style `#1', but bibliography + style\MessageBreak + `#1' does not exist.\MessageBreak + You have to remove the parent declaration or use an existing parent! + See the KOMA-Script manual for more information.% + }% + }{% + \@namedef{scr@bibstyle@#2}{% + \let\@openbib@code\@empty + \let\newblock\@empty + \let\bib@beginhook\@empty + \let\bib@endhook\@empty + \csname scr@bibstyle@#1\endcsname + #3% + }% + \g@addto@macro\scr@bibstylelist{, `#2'}% + }% + }{% + \ClassError{\KOMAClassName}{bibliography style `#2' already exists}{% + You've told me to define the new bibliography style `#2',\MessageBreak + but this style already exists.\MessageBreak + You have to use another bibliography style name.\MessageBreak + See the KOMA-Script manual for more information.% }% - \renewcommand*\newblock{\par}% }% } -\DeclareOption{bibtotoc}{% - \AtEndOfClass{% - \renewcommand*\bib@heading{% - \addchap{\bibname}% - \@mkboth{\bibname}{\bibname}% - }% +\newcommand*{\scr@bibstyle@}{} +\newcommand*{\bib@beginhook}{} +\newcommand*{\bib@endhook}{} +\newcommand*{\scr@bibstylelist}{\@gobble} +\newcommand*{\@openbib@code}{} +\newcommand*{\newblock}{} +\newbibstyle{openstyle}{% + \renewcommand*{\@openbib@code}{% + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ }% + \renewcommand*{\newblock}{\par}% } -\DeclareOption{bibtotocnumbered}{% - \AtEndOfClass{% - \renewcommand*\bib@heading{% - \chapter{\bibname}% - \@mkboth{\chaptermarkformat \bibname}{\chaptermarkformat \bibname}% - }% +\newbibstyle{oldstyle}{% + \renewcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em}% +} +\scr@bibstyle@oldstyle +\newcommand*\bib@heading{% + \chapter*{\bibname}% + \@mkboth{\bibname}{\bibname}% +} +\KOMA@key{bibliography}{% + \scr@ifundefinedorrelax{scr@bibstyle@#1}{% + \let\FamilyElseValues\scr@bibstylelist + \KOMA@set@ncmdkey{bibliography}{@tempa}{% + {notoc}{0},{nottotoc}{0},{plainheading}{0},% + {totoc}{1},{toc}{1},{notnumbered}{1},% + {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% + {numberedtoc}{2}% + }{#1}% + \ifcase \@tempa\relax + \renewcommand*\bib@heading{% + \chapter*{\bibname}% + \@mkboth{\bibname}{\bibname}% + }% + \or% totoc + \renewcommand*\bib@heading{% + \addchap{\bibname}% + \@mkboth{\bibname}{\bibname}% + }% + \or% numbered + \renewcommand*\bib@heading{% + \chapter{\bibname}% + \@mkboth{\chaptermarkformat \bibname}{\chaptermarkformat \bibname}% + } + \fi + }{% + \csname scr@bibstyle@#1\endcsname }% } +\KOMA@DeclareObsoleteOption[\ClassInfoNoLine]{openbib}{bibliography=openstyle} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{bibtotoc}{bibliography=totoc} +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{bibtotocnumbered}{% + bibliography=totocnumbered} %%% From File: scrkidx.dtx -\DeclareOption{idxtotoc}{% - \AtEndOfClass{% - \renewcommand*\idx@heading{% - \if@openright\cleardoublepage\else\clearpage\fi - \twocolumn[\addchap{\indexname}]% - \@mkboth{\indexname}{\indexname}% +\newcommand*{\idx@@heading}{% + \chapter* +} +\KOMA@key{index}{% + \KOMA@set@ncmdkey{index}{@tempa}{% + {notoc}{0},{nottotoc}{0},{default}{0},{plainheading}{0},% + {totoc}{1},{toc}{1},{notnumbered}{1}% + }{#1}% + \ifcase \@tempa\relax + \renewcommand*{\idx@@heading}{% + \chapter* }% - }% + \or + \renewcommand*{\idx@@heading}{% + \addchap + }% + \fi } +\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{idxtotoc}{index=totoc} %%% From File: scrklist.dtx %%% From File: scrkmisc.dtx \KOMAExecuteOptions{% - parskip=false% + parskip=false,% + headings=big% } \KOMAProcessOptions\relax %%% From File: scrkcomp.dtx @@ -926,7 +1240,6 @@ \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% }% } -\providecommand*{\@fontsizefilebase}{scrsize} \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil \edef\@tempa{\@ptsize}% \setlength{\@tempdimb}{\@tempdima}% @@ -1065,119 +1378,6 @@ }% } %%% From File: scrklang.dtx -\newcommand*{\providecaptionname}[3]{% - \@ifundefined{captions#1}{% - \@ifundefined{cap@info@#1@done}{% - \ClassInfo{\KOMAClassName}{% - 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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \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{\KOMAClassName}{% - `\string#2' at language `#1' already - defined\MessageBreak - --> skipped% - }% - \fi - \@tempa - }% -} -\newcommand*{\newcaptionname}[3]{% - \@ifundefined{captions#1}{% - \ClassInfo{\KOMAClassName}{% - No captions found for `#1' --> defining% - }% - \@namedef{captions#1}{}% - }{}% - \begingroup - \csname captions#1\endcsname - \ifx #2\undefined\else - \ClassError{\KOMAClassName}{% - `\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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa -} -\newcommand*{\renewcaptionname}[3]{% - \@ifundefined{captions#1}{% - \ClassError{\KOMAClassName}{% - 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{\KOMAClassName}{% - `\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 - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa -} \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi @@ -1282,44 +1482,62 @@ \addtolength{#1}{\@tempskipa}% \fi } -\g@addto@macro{\@listi}{\@list@extra} -\let\@listI=\@listi -\g@addto@macro{\@listii}{\@list@extra} -\g@addto@macro{\@listiii}{\@list@extra} +\newcommand*{\@list@extra}{% + \ifdim\parskip>\z@\topsep\z@\parsep\parskip\itemsep\z@\fi +} \newcommand*{\add@extra@listi}[1]{% \expandafter\let\csname #1@listi\endcsname=\@listi \def\@listi{\csname #1@listi\endcsname\@list@extra}% } -\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@\parsep\parskip\itemsep\z@\fi -} + \l@addto@macro{\@listi}{\@list@extra}% + \let\@listI=\@listi + \l@addto@macro{\@listii}{\@list@extra}% + \l@addto@macro{\@listiii}{\@list@extra}% + \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}% + \l@addto@macro{\small}{\protect\add@extra@listi{sml}}% \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 %%% From File: scrktitl.dtx -\newcommand*{\@extratitle}{} -\newcommand{\extratitle}[1]{\gdef\@extratitle{#1}} -\newcommand*{\@titlehead}{} -\newcommand{\titlehead}[1]{\gdef\@titlehead{#1}} -\newcommand*{\@subject}{} -\newcommand*{\subject}[1]{\gdef\@subject{#1}} -\newcommand*{\subtitle}[1]{\gdef\@subtitle{#1}} -\newcommand*{\@subtitle}{} -\newcommand*{\@publishers}{} -\newcommand{\publishers}[1]{\gdef\@publishers{#1}} -\newcommand*{\@uppertitleback}{} -\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{#1}} -\newcommand*{\@lowertitleback}{} -\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{#1}} -\newcommand*{\@dedication}{} -\newcommand{\dedication}[1]{\gdef\@dedication{#1}} -\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}} +\newcommand*{\@extratitle}{}% +\newcommand{\extratitle}[1]{\gdef\@extratitle{% + #1% +}}% +\newcommand*{\@titlehead}{}% +\newcommand{\titlehead}[1]{\gdef\@titlehead{% + #1% +}}% +\newcommand*{\@subject}{}% +\newcommand*{\subject}[1]{\gdef\@subject{% + #1% +}}% +\newcommand*{\subtitle}[1]{\gdef\@subtitle{% + #1% +}}% +\newcommand*{\@subtitle}{}% +\newcommand*{\@publishers}{}% +\newcommand{\publishers}[1]{\gdef\@publishers{% + #1% +}}% +\newcommand*{\@uppertitleback}{}% +\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{% + #1% +}}% +\newcommand*{\@lowertitleback}{}% +\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{% + #1% +}}% +\newcommand*{\@dedication}{}% +\newcommand{\dedication}[1]{\gdef\@dedication{% + #1% +}}% +\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}}% \if@titlepage \newcommand*\maketitle[1][1]{% \begin{titlepage} - \setcounter{page}{#1}% + \setcounter{page}{% + #1% + }% \let\footnotesize\small \let\footnoterule\relax \let\footnote\thanks @@ -1401,10 +1619,12 @@ \global\let\dedication\relax \global\let\date\relax \global\let\and\relax - } + }% \else \newcommand*\maketitle[1][1]{\par - \@tempcnta=#1\relax\ifnum\@tempcnta=1\else + \@tempcnta=% + #1% + \relax\ifnum\@tempcnta=1\else \ClassWarning{\KOMAClassName}{% Optional argument of \string\maketitle\space ignored at\MessageBreak @@ -1455,7 +1675,7 @@ \global\let\dedication\relax \global\let\date\relax \global\let\and\relax - } + }% \fi \newcommand*{\@maketitle}{% \clearpage @@ -1497,12 +1717,26 @@ \end{center}% \par \vskip 2em -} -\newcommand*\titlefont{\sectfont} -\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large} -\newkomafont{subtitle}{\usekomafont{title}\large} -\newcommand*{\scr@fnt@title}{\titlefont} -\newcommand*{\scr@fnt@subject}{\subject@font} +}% +\newenvironment{titlepage}{% + \cleardoublepage + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \if@compatibility + \setcounter{page}{0}% + \fi +}{% + \if@restonecol\twocolumn \else \newpage \fi +}% +\newcommand*\titlefont{\sectfont}% +\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% +\newkomafont{subtitle}{\usekomafont{title}\large}% +\newcommand*{\scr@fnt@title}{\titlefont}% +\newcommand*{\scr@fnt@subject}{\subject@font}% \if@titlepage \newenvironment{abstract}{% \titlepage @@ -1536,20 +1770,6 @@ \if@twocolumn\else\endquotation\fi } \fi -\newenvironment{titlepage}{% - \cleardoublepage - \if@twocolumn - \@restonecoltrue\onecolumn - \else - \@restonecolfalse\newpage - \fi - \thispagestyle{empty}% - \if@compatibility - \setcounter{page}{0}% - \fi -}{% - \if@restonecol\twocolumn \else \newpage \fi -} %%% From File: scrksect.dtx \newcommand*\appendix{\par% \setcounter{chapter}{0}% @@ -1560,22 +1780,25 @@ } \newcommand*\chaptermark[1]{} \newif\if@altsecnumformat\@altsecnumformatfalse -\newif\if@autodot\@autodotfalse +\newif\if@autodot +\renewcommand*{\@autodottrue}{\global\let\if@autodot\iftrue} +\renewcommand*{\@autodotfalse}{\global\let\if@autodot\iffalse} +\@autodotfalse \newcommand{\@maybeautodot}[1]{\if@autodot\else\begingroup% \expandafter\@@maybeautodot #1\@stop\endgroup\fi } \newcommand*{\@@maybeautodot}[1]{% \ifx #1\@stop\let\@@maybeautodot\relax \else - \ifx #1\Alph \aftergroup\@autodottrue\fi - \ifx #1\alph \aftergroup\@autodottrue\fi - \ifx #1\Roman \aftergroup\@autodottrue\fi - \ifx #1\roman \aftergroup\@autodottrue\fi - \ifx #1\@Alph \aftergroup\@autodottrue\fi - \ifx #1\@alph \aftergroup\@autodottrue\fi - \ifx #1\@Roman \aftergroup\@autodottrue\fi - \ifx #1\@roman \aftergroup\@autodottrue\fi - \ifx #1\romannumeral \aftergroup\@autodottrue\fi + \ifx #1\Alph \@autodottrue\fi + \ifx #1\alph \@autodottrue\fi + \ifx #1\Roman \@autodottrue\fi + \ifx #1\roman \@autodottrue\fi + \ifx #1\@Alph \@autodottrue\fi + \ifx #1\@alph \@autodottrue\fi + \ifx #1\@Roman \@autodottrue\fi + \ifx #1\@roman \@autodottrue\fi + \ifx #1\romannumeral \@autodottrue\fi \fi \@@maybeautodot } @@ -1724,7 +1947,9 @@ \secdef\@addpart\@saddpart } \newcommand*{\@addpart}{} -\def\@addpart[#1]#2{\addcontentsline{toc}{part}{#1}\@spart{#2}% +\def\@addpart[#1]#2{% + \csname phantomsection\endcsname + \addcontentsline{toc}{part}{#1}\@spart{#2}% \ifx\partmark\@gobble\else\@mkboth{#1}{}\fi } \newcommand*{\@saddpart}{\@spart} @@ -1766,14 +1991,14 @@ \fi% } } -\newcommand*{\chapterheadstartvskip}{} -\newcommand*{\chapterheadendvskip}{} \newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi \thispagestyle{\chapterpagestyle}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter } +\setuptoc{lof}{chapteratlist} +\setuptoc{lot}{chapteratlist} \newcommand*{\@chapter}{} \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter}% @@ -1781,34 +2006,79 @@ \typeout{\@chapapp\space\thechapter.}% \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}% \if@chaptertolists - \addcontentsline{lof}{chapteratlist}{% - \protect\numberline{\thechapter}#1}% - \addcontentsline{lot}{chapteratlist}{% - \protect\numberline{\thechapter}#1}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addcontentsline{\@currext}{chapteratlist}{% + \protect\numberline{\thechapter}#1}% + }{}% + }% \@ifundefined{float@addtolists}{}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{% - \protect\numberline{\thechapter}#1}{\thepage}% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% + \scr@ifundefinedorrelax{@currentHref}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{% + \protect\numberline{\thechapter}#1}{\thepage}% + }% + }{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{% + \protect\numberline{\thechapter}#1}{\thepage}{\@currentHref}% + }% }% }% \fi \else \addcontentsline{toc}{chapter}{#1}% \if@chaptertolists - \addcontentsline{lof}{chapteratlist}{#1}% - \addcontentsline{lot}{chapteratlist}{#1}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addcontentsline{\@currext}{chapteratlist}{#1}% + }{}% + }% \@ifundefined{float@addtolists}{}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{#1}{\thepage}% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% + \scr@ifundefinedorrelax{@currentHref}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}% + }% + }{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}{\@currentHref}% + }% }% }% \fi \fi \chaptermark{#1}% \ifdim \@chapterlistsgap>\z@ - \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% - \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addtocontents{\@currext}{\protect\addvspace{\@chapterlistsgap}}% + }{}% + }% \@ifundefined{float@addtolists}{}{% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% }% \fi @@ -1881,31 +2151,59 @@ \global\@topnum\z@ \@afterindentfalse \secdef\@addchap\@saddchap% -} -\newcommand*{\@addchap}{} +}% +\newcommand*{\@addchap}{}% \def\@addchap[#1]#2{\@schapter{#2}% \addcontentsline{toc}{chapter}{#1}% \if@chaptertolists - \addcontentsline{lof}{chapteratlist}{#1}% - \addcontentsline{lot}{chapteratlist}{#1}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addcontentsline{\@currext}{chapteratlist}{#1}% + }{}% + }% \@ifundefined{float@addtolists}{}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{#1}{\thepage}% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% + \scr@ifundefinedorrelax{@currentHref}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}% + }% + }{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}{\@currentHref}% + }% }% }% \fi - \ifnum \@nameuse{scr@v@2.96}<\scr@compatibility + \ifnum \@nameuse{scr@v@2.96}<\scr@compatibility\relax \ifdim \@chapterlistsgap>\z@ - \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% - \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addtocontents{\@currext}{\protect\addvspace{\@chapterlistsgap}}% + }{}% + }% \@ifundefined{float@addtolists}{}{% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated \string\float@addtolists!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@addtolists.\MessageBreak + Definition of \string\float@addtolists\space may be removed + from\MessageBreak + KOMA-Script soon, so it should not be used + }% \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% }% \fi \fi \if@twoside\@mkboth{#1}{}\else\@mkboth{}{#1}\fi -} -\newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}} +}% +\newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}}% \newcommand*\addsec{\secdef\@addsec\@saddsec} \newcommand*{\@addsec}{} \def\@addsec[#1]#2{\section*{#2}\addcontentsline{toc}{section}{#1} @@ -1915,23 +2213,23 @@ \newcommand\section{\@startsection{section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% - {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ - plus 1fil}\fi + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax + \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@section}% } \newcommand\subsection{\@startsection{subsection}{2}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% - {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ - plus 1fil}\fi + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax + \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@subsection }% } \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% - {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ - plus 1fil}\fi + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax + \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@subsubsection }% } @@ -1963,16 +2261,8 @@ \newkomafont{partentrypagenumber}{} \newkomafont{chapterentry}{\usekomafont{sectioning}} \newkomafont{chapterentrypagenumber}{} -\newcommand*{\size@part}{} -\newcommand*{\size@partnumber}{} -\newcommand*{\size@chapter}{} -\newcommand*{\size@chapterprefix}{\size@chapter} -\newcommand*{\size@section}{} -\newcommand*{\size@subsection}{} -\newcommand*{\size@subsubsection}{} -\newcommand*{\size@paragraph}{} -\newcommand*{\size@subparagraph}{} \newcommand*{\scr@fnt@disposition}{\sectfont} +\aliaskomafont{sectioning}{disposition} \newcommand*{\scr@fnt@part}{\size@part} \newcommand*{\scr@fnt@partnumber}{\size@partnumber} \newcommand*{\scr@fnt@chapter}{\size@chapter} @@ -1982,7 +2272,6 @@ \newcommand*{\scr@fnt@subsubsection}{\size@subsubsection} \newcommand*{\scr@fnt@paragraph}{\size@paragraph} \newcommand*{\scr@fnt@subparagraph}{\size@subparagraph} -\aliaskomafont{sectioning}{disposition} \newcommand*{\use@preamble}[1]{% \@ifundefined{#1@preamble}{}{% \@nameuse{#1@preamble}% @@ -2114,7 +2403,7 @@ \usekomafont{partentry}{#1\nobreak \usekomafont{partentrypagenumber}{\hfil\nobreak \hb@xt@\@pnumwidth{\hss#2}}}\par - \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \endgroup \penalty20010 \else @@ -2146,7 +2435,7 @@ \usekomafont{chapterentrypagenumber}{% \hfill\nobreak \hb@xt@\@pnumwidth{\hss#2}}}\par - \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \endgroup \penalty20009 \else @@ -2163,7 +2452,7 @@ \newcommand*\l@paragraph{\bprot@dottedtocline{4}{10em}{5em}} \newcommand*\l@subparagraph{\bprot@dottedtocline{5}{12em}{6em}} \newcommand*{\bprot@dottedtocline}[5]{% - \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \ifnum #1>\c@tocdepth \else \begingroup \@tempcnta 20010 @@ -2263,16 +2552,19 @@ \addtolength{\@tempdima}{\marginparwidth}% \fi } -\newcommand*\pnumfont{\normalfont\normalcolor} -\newcommand*\headfont{\normalfont\normalcolor\slshape} +\newcommand*{\pnumfont}{\normalfont\normalcolor} +\newcommand*{\headfont}{\normalfont\normalcolor\slshape} +\newcommand*{\footfont}{} \newcommand*{\scr@fnt@pagenumber}{\pnumfont} \aliaskomafont{pagination}{pagenumber} -\newcommand*{\scr@fnt@pagehead}{\headfont} -\newcommand*{\scr@fnt@wrn@pagehead}[1]{% - `pagehead' and `pagefoot' are aliases for the same\MessageBreak - font element, changed% +\newcommand*{\scr@fnt@pageheadfoot}{\headfont} +\aliaskomafont{pagehead}{pageheadfoot} +\newcommand*{\scr@fnt@pagefoot}{\footfont} +\newcommand*{\scr@fnt@wrn@pagefoot}[1]{% + This class does not use font element `pagefoot'!\MessageBreak + Maybe you should load package `scrpage2', before\MessageBreak + using this element% } -\aliaskomafont{pagefoot}{pagehead} \newcommand*{\pagemark}{{\usekomafont{pagenumber}% \thepage}} \renewcommand*{\ps@plain}{% @@ -2376,8 +2668,6 @@ \AtBeginDocument{\let\scr@caption\caption} \newcommand{\captionabove}{\@captionabovetrue\scr@caption} \newcommand{\captionbelow}{\@captionabovefalse\scr@caption} -\newcommand*{\scap@pos}{r} -\newcommand*{\scap@valign}{b} \newcommand*{\scap@caption}{} \newcommand*{\scap@width}{\linewidth} \newcommand*{\scap@move}{\z@} @@ -2417,7 +2707,16 @@ \newbox\c@pti@nb@sid@b@x \newcommand{\c@pti@nb@sid@}{} \long\def\c@pti@nb@sid@[#1]#2{% - \def\scap@caption{\captionbelow[{#1}]{#2}}% + \def\scap@caption{% + \if c\scap@valign + \setlength{\abovecaptionskip}{\z@}% + \setlength{\belowcaptionskip}{\z@}% + \else + \setlength{\abovecaptionskip}{-\ht\strutbox}% + \setlength{\belowcaptionskip}{-\dp\strutbox}% + \fi + \captionbelow[{#1}]{#2}% + }% \begin{lrbox}{\c@pti@nb@sid@b@x}% } \newenvironment*{captionbeside}{% @@ -2498,12 +2797,12 @@ \AfterPackage{caption2}{% \renewcommand*{\setcapindent}{% \ClassWarning{\KOMAClassName}{% - You're using package caption2.\MessageBreak - Because of this you should also use \string\captionstyle\space + You're using package `caption2'.\MessageBreak + Because of this you should also use `\string\captionstyle' and\MessageBreak - set length \string\captionindent\space instead if + set length '\string\captionindent' instead of using\MessageBreak - \string\setcapindent + `\string\setcapindent'% }% \captionstyle{indent}% \@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}% @@ -2513,10 +2812,10 @@ \AfterPackage{caption2}{% \renewcommand*{\setcaphanging}{% \ClassWarning{\KOMAClassName}{% - You're using package caption2.\MessageBreak + You're using package `caption2'.\MessageBreak Because of this you should also use - \string\captionstyle\MessageBreak - instead of \string\setcaphang + `\string\captionstyle'\MessageBreak + instead of `\string\setcaphang'% } \captionstyle{hang}% }% @@ -2606,11 +2905,11 @@ \AfterPackage{caption2}{% \renewcommand*{\setcapwidth}[2][]{% \ClassWarning{\KOMAClassName}{% - Ignorring optional argument of \string\setcapwidth!\MessageBreak - You're using package caption2.\MessageBreak + Ignorring optional argument of `\string\setcapwidth'!\MessageBreak + You're using package `caption2'.\MessageBreak Because of this you should also use - \string\setcaptionwidth\MessageBreak - instead of \string\setcapwidth\MessageBreak + `\string\setcaptionwidth'\MessageBreak + instead of `\string\setcapwidth'% }% \setcaptionwidth{#2}% }% @@ -2669,10 +2968,10 @@ \ifdim\@tempdima\@tempdimb\else \ClassWarning{\KOMAClassName}{% Can set only centered caption!\MessageBreak - You're using package caption2.\MessageBreak + You're using package `caption2'.\MessageBreak Because of this you should also use - \string\setcaptionmargin\MessageBreak - instead of \string\setcapmargin + `\string\setcaptionmargin'\MessageBreak + instead of `\string\setcapmargin'% }% \fi \addtolength{\@tempdimb}{\@tempdimb}% @@ -2744,20 +3043,22 @@ \fi \endgroup } +\newcommand*{\scr@caption@before@longtable@warning}[1]{% + \ClassWarning{\KOMAClassName}{% + you've loaded package `#1' before package\MessageBreak + `longtable'!\MessageBreak + Because of this package `#1' isn't able to\MessageBreak + control `\string\caption' at longtables. \space After loading + \MessageBreak + package `#1' KOMA-Script also doesn't control\MessageBreak + `\string\caption'.\MessageBreak + I think, you should load package `caption' after\MessageBreak + package `longtable'% + }% +} \AfterPackage{longtable}{% \@ifpackageloaded{caption2}{\@komalongtablefalse - \ClassWarning{\KOMAClassName}{% - you've loaded package caption2 before package\MessageBreak - longtable!\MessageBreak - Because of this package caption2 isn't able to - control\MessageBreak - \string\caption\space at longtables. After loading package - caption2\MessageBreak - KOMA-Script also doesn't control \string\caption.\MessageBreak - I think, you should load package caption after - package\MessageBreak - longtable and use the new interface% - }% + \scr@caption@before@longtable@warning{caption2}% }{}% \if@komalongtable \renewcommand{\LT@makecaption}[3]{% @@ -2921,9 +3222,44 @@ \newcommand*{\ftntm@font}{} \newcommand*{\scr@fnt@footnotereference}{\ftntm@font} \newcommand*{\scr@fnt@footnoteref}{\ftntm@font} +\newcommand*{\FN@mf@check}{% + \ifdim\lastkern=\multiplefootnotemarker\relax + \edef\@x@sf{\the\spacefactor}% + \unkern\multiplefootnoteseparator + \spacefactor\@x@sf\relax + \fi +} +\newcommand*{\scr@mf@prepare}{% + \kern-\multiplefootnotemarker + \kern\multiplefootnotemarker\relax +} +\@ifundefined{FN@mf@prepare}{}{} +\newcommand*{\scr@saved@footnotetext}{} +\let\scr@saved@footnotetext\@footnotetext +\renewcommand*{\@footnotetext}[1]{% + \scr@saved@footnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\BeforePackage{footmisc}{% + \ifx\@footnotemark\scr@footnotemark + \let\@footnotemark\scr@saved@footnotemark + \fi + \let\@footnotetext\scr@saved@footnotetext +} +\newcommand*{\multiplefootnoteseparator}{% + \begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup +} +\newcommand*{\multfootsep}{,} +\newcommand*{\multiplefootnotemarker}{3sp} \newcommand*{\thefootnotemark}{\@thefnmark} \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} \deffootnotemark{\textsuperscript{\thefootnotemark}} +\newcommand*{\footref}[1]{% + \begingroup + \unrestored@protected@xdef\@thefnmark{\ref{#1}}% + \endgroup + \@footnotemark +} %%% From File: scrkliof.dtx \renewcommand*{\numberline}[1]{% \hb@xt@\@tempdima{#1\autodot\hfil}} @@ -2967,30 +3303,39 @@ \string\gdef\expandafter\string\csname#1@l@number\endcsname{% \@l@number}}% } +\g@addto@macro\tocbasic@@before@hook{% + \if@dynlist\expandafter\before@starttoc\expandafter{\@currext}\fi +} +\g@addto@macro\tocbasic@@after@hook{% + \if@dynlist\expandafter\after@starttoc\expandafter{\@currext}\fi +} \newcommand*\contentsname{Contents} +\newcommand*\listoftocname{\contentsname} \setcounter{tocdepth}{2} \newcommand*\toc@heading{% + \ClassWarning{\KOMAClassName}{% + usage of deprecated \string\toc@heading!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\toc@heading.\MessageBreak + Definition of \string\toc@heading\space my be removed from\MessageBreak + KOMA-Script soon, so it should not be used + }% \chapter*{\contentsname}% \@mkboth{\contentsname}{\contentsname}% } \newcommand*{\toc@l@number}{} \newcommand*{\tableofcontents}{% - \begingroup - \if@twocolumn - \@restonecoltrue\onecolumn - \else - \@restonecolfalse - \fi - \toc@heading% - \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative - \if@tocleft\before@starttoc{toc}\fi - \@starttoc{toc}% - \if@tocleft\after@starttoc{toc}\fi - \if@restonecol\twocolumn\fi - \endgroup + \begingroup\let\if@dynlist\if@tocleft\listoftoc{toc}\endgroup } \newcommand*{\float@listhead}[1]{% - \chapter*{#1}% + \ClassWarning{\KOMAClassName}{% + usage of deprecated \string\float@listhead!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\float@listhead.\MessageBreak + Definition of \string\float@listhead\space my be removed from\MessageBreak + KOMA-Script soon, so it should not be used + }% + \float@@listhead{#1}% \@mkboth{#1}{#1}% \if@dynlist% \newcommand*{\scr@starttoc}{}% @@ -3001,53 +3346,37 @@ \fi } \newcommand*\listfigurename{List of Figures} +\newcommand*\listoflofname{\listfigurename} \newcommand*\listtablename{List of Tables} -\newcommand*\lof@heading{\float@listhead{\listfigurename}} -\newcommand*\listoffigures{% - \begingroup% - \if@twocolumn - \@restonecoltrue\onecolumn - \else - \@restonecolfalse - \fi - \lof@heading% - \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative - \@starttoc{lof}% - \if@restonecol\twocolumn\fi - \endgroup -} +\newcommand*\listoflotname{\listtablename} +\newcommand*\listoffigures{\listoftoc{lof}} \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} -\newcommand*\lot@heading{\float@listhead{\listtablename}} -\newcommand*\listoftables{% - \begingroup - \if@twocolumn - \@restonecoltrue\onecolumn - \else - \@restonecolfalse - \fi - \lot@heading - \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative - \@starttoc{lot}% - \if@restonecol\twocolumn\fi - \endgroup -} +\newcommand*\listoftables{\listoftoc{lot}} \let\l@table\l@figure %%% From File: scrkbib.dtx \newcommand*\bibname{Bibliography} \newcommand*{\bibpreamble}{\relax} \let\bibpreamble\relax \newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}} -\newcommand*\bib@heading{% - \chapter*{\bibname}% - \@mkboth{\bibname}{\bibname}% -} \newdimen\bibindent \bibindent=1.5em \newenvironment{thebibliography}[1]{% - \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else - \setchapterpreamble{\bibpreamble}% - \fi\fi - \bib@heading + \if@bib@break@ + \bib@beginhook + \else + \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else + \setchapterpreamble{\bibpreamble}% + \fi\fi + \bib@heading + \bib@beginhook + \bib@before@hook + \fi + \renewcommand{\BreakBibliography}[1]{% + \@bib@break + \end{thebibliography}% + \begingroup ##1\endgroup + \begin{thebibliography}{#1} + }% \list{% \@biblabel{\@arabic\c@enumiv}% }{% @@ -3055,27 +3384,67 @@ \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code - \usecounter{enumiv}% + \if@bib@break@ + \edef\@tempa{% + \noexpand\usecounter{enumiv}% + \noexpand\setcounter{enumiv}{\the\c@enumiv}% + }\@tempa + \no@bib@break + \else + \usecounter{enumiv}% + \fi \let\p@enumiv\@empty \renewcommand*\theenumiv{\@arabic\c@enumiv}% }% \sloppy\clubpenalty4000 \widowpenalty4000 \sfcode`\.=\@m }{% - \def\@noitemerr{% - \@latex@warning{Empty `thebibliography' environment}% - }% + \if@bib@break@ + \def\@noitemerr{% + \@latex@warning{% + \string\BreakBibliography\space at begin of `thebibliography' + environment\MessageBreak + or following \string\BreakBibliography}% + }% + \else + \def\@noitemerr{% + \@latex@warning{% + Empty `thebibliography' environment or + \string\BreakBibliography\MessageBreak + before end of `thebibliography' environment}% + }% + \fi \endlist + \if@bib@break@ + \else + \bib@after@hook + \let\bib@before@hook\@empty + \let\bib@after@hook\@empty + \fi + \bib@endhook +} +\newif\if@bib@break@ +\newcommand{\no@bib@break}{\global\let\if@bib@break@\iffalse} +\newcommand*{\@bib@break}{\global\let\if@bib@break@\iftrue} +\newcommand*{\bib@before@hook}{} +\newcommand*{\bib@after@hook}{} +\newcommand{\BreakBibliography}[1]{% + \ClassWarning{\KOMAClassName}{% + You've used \string\BreakBibliography\space either outside of\MessageBreak + the bibliography or `thebibliography' was redefined\MessageBreak + incompatible, e.g., using a bibliography package.\MessageBreak + \string\BreakBibliography\space ignored% + }% } -\newcommand*\newblock{\hskip .11em\@plus.33em\@minus.07em} -\let\@openbib@code\@empty +\newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook} +\newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook} %%% From File: scrkidx.dtx \newcommand*{\index@preamble}{} \let\index@preamble=\relax \newcommand{\setindexpreamble}[1]{\def\index@preamble{#1}} \newcommand*{\idx@heading}{% \if@openright\cleardoublepage\else\clearpage\fi% - \twocolumn[\chapter*{\indexname}]% + \twocolumn[\idx@@heading{\indexname}]% \@mkboth{\indexname}{\indexname}% } \newenvironment{theindex}{% diff --git a/Master/texmf-dist/tex/latex/koma-script/scrsize10pt.clo b/Master/texmf-dist/tex/latex/koma-script/scrsize10pt.clo new file mode 100644 index 00000000000..9bc58653dff --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrsize10pt.clo @@ -0,0 +1,162 @@ +%% +%% This is file `scrsize10pt.clo', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrkvers.dtx (with options: `clo,10pt') +%% scrkfont.dtx (with options: `clo,10pt') +%% scrkpar.dtx (with options: `clo,10pt') +%% +%% 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. +%% --------------------------------------------------------------- +%% +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. +%% +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. +%% +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. +%% +%% If this file is a beta version, you are not allowed to distribute it. +%% +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- +%% +%% See `README'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. +%% +%%% From File: scrkvers.dtx +\begingroup + \makeatletter + \ifx\KOMAScriptVersion\undefined + \newcommand*{\@CheckKOMAScriptVersion}[1]{% + \gdef\KOMAScriptVersion{#1}% + }% + \else + \newcommand*{\@CheckKOMAScriptVersion}[1]{% + \def\@tempa{#1}% + \ifx\KOMAScriptVersion\@tempa\else + \@latex@warning@no@line{% + \noexpand\KOMAScriptVersion\space is + `\KOMAScriptVersion',\MessageBreak + but `#1' was expected!\MessageBreak + You should not use classes, packages or files + from\MessageBreak + different KOMA-Script versions% + }% + \fi + } + \fi + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% +\endgroup +%%% From File: scrkfont.dtx +\ProvidesFile{% + scrsize10pt.clo% +}[\KOMAScriptVersion\space font size class option % + (10pt)% +] +\def\normalsize{% + \@setfontsize\normalsize\@xpt\@xiipt + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI +} +\def\small{% + \@setfontsize\small\@ixpt{11}% + \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus2\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 4\p@ \@plus2\p@ \@minus2\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\def\footnotesize{% + \@setfontsize\footnotesize\@viiipt{9.5}% + \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 3\p@ \@plus\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\def\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} +\def\tiny{\@setfontsize\tiny\@vpt\@vipt} +\def\large{\@setfontsize\large\@xiipt{14}} +\def\Large{\@setfontsize\Large\@xivpt{18}} +\def\LARGE{\@setfontsize\LARGE\@xviipt{22}} +\def\huge{\@setfontsize\huge\@xxpt{25}} +\def\Huge{\@setfontsize\Huge\@xxvpt{30}} +\normalsize +\setlength\footnotesep {6.65\p@} +\setlength{\skip\footins} {9\p@ \@plus 4\p@ \@minus 2\p@} +\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\textfloatsep {20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\@fptop {0\p@ \@plus 1fil} +\setlength\@fpsep {8\p@ \@plus 2fil} +\setlength\@fpbot {0\p@ \@plus 1fil} +\setlength\@dblfptop {0\p@ \@plus 1fil} +\setlength\@dblfpsep {8\p@ \@plus 2fil} +\setlength\@dblfpbot {0\p@ \@plus 1fil} +\setlength\partopsep {2\p@ \@plus 1\p@ \@minus 1\p@} +\def\@listi{\leftmargin\leftmargini + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep4\p@ \@plus2\p@ \@minus\p@} +\let\@listI\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 4\p@ \@plus2\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 2\p@ \@plus\p@\@minus\p@ + \parsep \z@ + \partopsep \p@ \@plus\z@ \@minus\p@ + \itemsep \topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} +%%% From File: scrkpar.dtx +\@ifundefined{@list@extra}{}{% + \l@addto@macro{\@listi}{\@list@extra}% + \let\@listI=\@listi + \l@addto@macro{\@listii}{\@list@extra}% + \l@addto@macro{\@listiii}{\@list@extra}% + \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}% + \l@addto@macro{\small}{\protect\add@extra@listi{sml}}% + \@listi +} +\endinput +%% +%% End of file `scrsize10pt.clo'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrsize11pt.clo b/Master/texmf-dist/tex/latex/koma-script/scrsize11pt.clo new file mode 100644 index 00000000000..95ec33a88e0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrsize11pt.clo @@ -0,0 +1,162 @@ +%% +%% This is file `scrsize11pt.clo', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrkvers.dtx (with options: `clo,11pt') +%% scrkfont.dtx (with options: `clo,11pt') +%% scrkpar.dtx (with options: `clo,11pt') +%% +%% 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. +%% --------------------------------------------------------------- +%% +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. +%% +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. +%% +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. +%% +%% If this file is a beta version, you are not allowed to distribute it. +%% +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- +%% +%% See `README'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. +%% +%%% From File: scrkvers.dtx +\begingroup + \makeatletter + \ifx\KOMAScriptVersion\undefined + \newcommand*{\@CheckKOMAScriptVersion}[1]{% + \gdef\KOMAScriptVersion{#1}% + }% + \else + \newcommand*{\@CheckKOMAScriptVersion}[1]{% + \def\@tempa{#1}% + \ifx\KOMAScriptVersion\@tempa\else + \@latex@warning@no@line{% + \noexpand\KOMAScriptVersion\space is + `\KOMAScriptVersion',\MessageBreak + but `#1' was expected!\MessageBreak + You should not use classes, packages or files + from\MessageBreak + different KOMA-Script versions% + }% + \fi + } + \fi + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% +\endgroup +%%% From File: scrkfont.dtx +\ProvidesFile{% + scrsize11pt.clo% +}[\KOMAScriptVersion\space font size class option % + (11pt)% +] +\def\normalsize{% + \@setfontsize\normalsize\@xipt{13.6}% + \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI +} +\def\small{% + \@setfontsize\small\@xpt\@xiipt + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 6\p@ \@plus2\p@ \@minus2\p@ + \parsep 3\p@ \@plus2\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\def\footnotesize{% + \@setfontsize\footnotesize\@ixpt{11}% + \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 4\p@ \@plus2\p@ \@minus2\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\def\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}} +\def\tiny{\@setfontsize\tiny\@vipt\@viipt} +\def\large{\@setfontsize\large\@xiipt{14}} +\def\Large{\@setfontsize\Large\@xivpt{18}} +\def\LARGE{\@setfontsize\LARGE\@xviipt{22}} +\def\huge{\@setfontsize\huge\@xxpt{25}} +\def\Huge{\@setfontsize\Huge\@xxvpt{30}} +\normalsize +\setlength\footnotesep {7.7\p@} +\setlength{\skip\footins} {10\p@ \@plus 4\p@ \@minus 2\p@} +\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\textfloatsep {20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\@fptop {0\p@ \@plus 1fil} +\setlength\@fpsep {8\p@ \@plus 2fil} +\setlength\@fpbot {0\p@ \@plus 1fil} +\setlength\@dblfptop {0\p@ \@plus 1fil} +\setlength\@dblfpsep {8\p@ \@plus 2fil} +\setlength\@dblfpbot {0\p@ \@plus 1fil} +\setlength\partopsep {3\p@ \@plus 1\p@ \@minus 1\p@} +\def\@listi{\leftmargin\leftmargini + \parsep 4.5\p@ \@plus2\p@ \@minus\p@ + \topsep 9\p@ \@plus3\p@ \@minus5\p@ + \itemsep4.5\p@ \@plus2\p@ \@minus\p@} +\let\@listI\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 4.5\p@ \@plus2\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 2\p@ \@plus\p@\@minus\p@ + \parsep \z@ + \partopsep \p@ \@plus\z@ \@minus\p@ + \itemsep \topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} +%%% From File: scrkpar.dtx +\@ifundefined{@list@extra}{}{% + \l@addto@macro{\@listi}{\@list@extra}% + \let\@listI=\@listi + \l@addto@macro{\@listii}{\@list@extra}% + \l@addto@macro{\@listiii}{\@list@extra}% + \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}% + \l@addto@macro{\small}{\protect\add@extra@listi{sml}}% + \@listi +} +\endinput +%% +%% End of file `scrsize11pt.clo'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrsize12pt.clo b/Master/texmf-dist/tex/latex/koma-script/scrsize12pt.clo new file mode 100644 index 00000000000..a059699b1c8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrsize12pt.clo @@ -0,0 +1,162 @@ +%% +%% This is file `scrsize12pt.clo', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrkvers.dtx (with options: `clo,12pt') +%% scrkfont.dtx (with options: `clo,12pt') +%% scrkpar.dtx (with options: `clo,12pt') +%% +%% 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. +%% --------------------------------------------------------------- +%% +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. +%% +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. +%% +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. +%% +%% If this file is a beta version, you are not allowed to distribute it. +%% +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- +%% +%% See `README'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. +%% +%%% From File: scrkvers.dtx +\begingroup + \makeatletter + \ifx\KOMAScriptVersion\undefined + \newcommand*{\@CheckKOMAScriptVersion}[1]{% + \gdef\KOMAScriptVersion{#1}% + }% + \else + \newcommand*{\@CheckKOMAScriptVersion}[1]{% + \def\@tempa{#1}% + \ifx\KOMAScriptVersion\@tempa\else + \@latex@warning@no@line{% + \noexpand\KOMAScriptVersion\space is + `\KOMAScriptVersion',\MessageBreak + but `#1' was expected!\MessageBreak + You should not use classes, packages or files + from\MessageBreak + different KOMA-Script versions% + }% + \fi + } + \fi + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% +\endgroup +%%% From File: scrkfont.dtx +\ProvidesFile{% + scrsize12pt.clo% +}[\KOMAScriptVersion\space font size class option % + (12pt)% +] +\def\normalsize{% + \@setfontsize\normalsize\@xiipt{14.5}% + \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI +} +\def\small{% + \@setfontsize\small\@xipt{13.6}% + \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 9\p@ \@plus3\p@ \@minus5\p@ + \parsep 4.5\p@ \@plus2\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\def\footnotesize{% + \@setfontsize\footnotesize\@xpt\@xiipt + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 6\p@ \@plus2\p@ \@minus2\p@ + \parsep 3\p@ \@plus2\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\def\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}} +\def\tiny{\@setfontsize\tiny\@vipt\@viipt} +\def\large{\@setfontsize\large\@xivpt{18}} +\def\Large{\@setfontsize\Large\@xviipt{22}} +\def\LARGE{\@setfontsize\LARGE\@xxpt{25}} +\def\huge{\@setfontsize\huge\@xxvpt{30}} +\let\Huge=\huge +\normalsize +\setlength\footnotesep {8.4\p@} +\setlength{\skip\footins} {10.8\p@ \@plus 4\p@ \@minus 2\p@} +\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\textfloatsep {20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@} +\setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\@fptop {0\p@ \@plus 1fil} +\setlength\@fpsep {10\p@ \@plus 2fil} +\setlength\@fpbot {0\p@ \@plus 1fil} +\setlength\@dblfptop {0\p@ \@plus 1fil} +\setlength\@dblfpsep {10\p@ \@plus 2fil} +\setlength\@dblfpbot {0\p@ \@plus 1fil} +\setlength\partopsep {3\p@ \@plus 2\p@ \@minus 2\p@} +\def\@listi{\leftmargin\leftmargini + \parsep 5\p@ \@plus2.5\p@ \@minus\p@ + \topsep 10\p@ \@plus4\p@ \@minus6\p@ + \itemsep5\p@ \@plus2.5\p@ \@minus\p@} +\let\@listI\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 5\p@ \@plus2.5\p@ \@minus\p@ + \parsep 2.5\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 2.5\p@\@plus\p@\@minus\p@ + \parsep \z@ + \partopsep \p@ \@plus\z@ \@minus\p@ + \itemsep \topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} +%%% From File: scrkpar.dtx +\@ifundefined{@list@extra}{}{% + \l@addto@macro{\@listi}{\@list@extra}% + \let\@listI=\@listi + \l@addto@macro{\@listii}{\@list@extra}% + \l@addto@macro{\@listiii}{\@list@extra}% + \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}% + \l@addto@macro{\small}{\protect\add@extra@listi{sml}}% + \@listi +} +\endinput +%% +%% End of file `scrsize12pt.clo'. diff --git a/Master/texmf-dist/tex/latex/koma-script/tocbasic.sty b/Master/texmf-dist/tex/latex/koma-script/tocbasic.sty new file mode 100644 index 00000000000..2a7b81e1b32 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/tocbasic.sty @@ -0,0 +1,406 @@ +%% +%% This is file `tocbasic.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tocbasic.dtx (with options: `package') +%% scrlogo.dtx (with options: `logo') +%% +%% Copyright (c) 2007-2008 +%% Markus Kohm and any individual authors listed elsewhere in this file. +%% +%% This file was generated from file(s) of the KOMA-Script bundle. +%% --------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, version 1.3b of the license. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3b or later is part of all distributions of LaTeX +%% version 2005/12/01 or later and of this work. +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +%% The Current Maintainer and author of this work is Markus Kohm. +%% +%% This file may only be distributed together with the files +%% `scrlogo.dtx' and `tocbasic.dtx'. You may however distribute the files +%% `scrlogo.dtx' and `tocbasic.dtx' without this file. +%% See also `tocbasic.dtx' for additional information. +%% +%% If this file is a beta version, you are not allowed to distribute it. +%% +%% Currently there is only a short english manual at `tocbasic.dtx', that +%% should also be found as `tocbasic.pdf'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. +%% +%%% From File: tocbasic.dtx +\def\tocbasicversion{2008/10/06 v1.0} +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{tocbasic} + [\tocbasicversion + (package)% + ] +\newcommand*{\tb@listoftocs}{} +\newcommand{\ifattoclist}[1]{% + \begingroup + \def\do##1##2{% + \edef\reserved@a{##1}% + \ifx\reserved@a\reserved@b\@tempswatrue\fi + }% + \edef\reserved@b{#1}\@tempswafalse\tb@listoftocs + \if@tempswa\aftergroup\@firstoftwo\else\aftergroup\@secondoftwo\fi + \endgroup +} +\newcommand*{\addtotoclist}{% + \@ifnextchar [%] + \@@addtotoclist\@addtotoclist +} +\newcommand*{\@addtotoclist}{% + \ifx\@currname\@empty + \def\reserved@a{\@@addtotoclist[]}% + \else + \edef\reserved@a{\noexpand\@@addtotoclist[\@currname.\@currext]}% + \fi + \reserved@a +} +\newcommand*{\@@addtotoclist}[2][]{% + \ifattoclist{#2}{% + \PackageError{tocbasic}{% + file extension `#2' cannot be used twice + }{% + File extension `#2' is already used by a toc-file, while + \ifx\relax#1\relax someone\else #2\fi\MessageBreak + tried to use it again for a toc-file.\MessageBreak + This may be either an incompatibility of packages, an error at a + package,\MessageBreak + or a mistake by the user.\MessageBreak + }% + }{% + \g@addto@macro\tb@listoftocs{\do{#2}{#1}}% + \ifx\relax #1\relax\else + \@ifundefined{tb@#1@add@hook}{}{% + \edef\reserved@a{% + \noexpand\def\noexpand\@currext{#2}% + \noexpand\@nameuse{tb@#1@add@hook}% + \noexpand\def\noexpand\@currext{\@currext}% + }\reserved@a + }% + \fi + \edef\reserved@a{% + \noexpand\def\noexpand\@currext{#2}% + \noexpand\@nameuse{tb@@add@hook}% + \noexpand\def\noexpand\@currext{\@currext}% + }\reserved@a + }% +} +\newcommand*{\AtAddToTocList}{% + \@ifnextchar [%] + \@@AtAddToTocList\@AtAddToTocList +} +\newcommand*{\@AtAddToTocList}{% + \ifx\@currname\@empty + \def\reserved@a{\@@AtAddToTocList[]}% + \else + \edef\reserved@a{\noexpand\@@AtAddToTocList[\@currname.\@currext]}% + \fi + \reserved@a +} +\newcommand*{\@@AtAddToTocList}[1][]{% + \@ifundefined{tb@#1@add@hook}{\@namedef{tb@#1@add@hook}{}}{}% + \expandafter\g@addto@macro\csname tb@#1@add@hook\endcsname +} +\newcommand*{\tocbasic@extend@babel}[1]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \ifx\csname bbl@set@language\endcsname\relax + \PackageInfo{tocbasic}{babel extension for `#1' omitted\MessageBreak + because of missing \string\bbl@set@language}% + \else + \iftocfeature{#1}{nobabel}{% + \PackageInfo{tocbasic}{omitting babel extension for `#1'\MessageBreak + because of feature `nobabel' available\MessageBreak + for `#1'}% + }{% + \PackageInfo{tocbasic}{setting babel extension for `#1'}% + \expandafter\gdef\expandafter\bbl@set@language\expandafter##\expandafter1% + \expandafter{% + \bbl@set@language{##1}% + \addtocontents{#1}{\xstring\select@language{\languagename}}% + }% + }% + \fi +} +\AtAddToTocList[]{\expandafter\tocbasic@extend@babel\expandafter{\@currext}} +\newcommand*{\removefromtoclist}{% + \@ifnextchar [%] + \@removefromtoclist\@@removefromtoclist +} +\newcommand*{\@removefromtoclist}[2][]{% + \begingroup + \let\tb@oldlist\tb@listoftocs + \def\do##1##2{% + \edef\reserved@a{##1}% + \ifx\reserved@a\reserved@b + \begingroup + \edef\reserved@a{##2}% + \edef\reserved@b{#1}% + \ifx\reserved@a\reserved@b\else + \g@addto@macro\tb@listoftocs{\do{##1}{##2}}% + \fi + \endgroup + \else + \g@addto@macro\tb@listoftocs{\do{##1}{##2}}% + \fi + }% + \edef\reserved@b{#2}\let\tb@listoftocs\@empty + \tb@oldlist + \endgroup +} +\newcommand*{\@@removefromtoclist}[1]{% + \begingroup + \let\tb@oldlist\tb@listoftocs + \def\do##1##2{% + \edef\reserved@a{##1}% + \ifx\reserved@a\reserved@b\else + \g@addto@macro\tb@listoftocs{\do{##1}{##2}}% + \fi + }% + \edef\reserved@b{#1}\let\tb@listoftocs\@empty + \tb@oldlist + \endgroup +} +\newcommand{\doforeachtocfile}{% + \@ifnextchar [%] + \@doforeachtocfile\@@doforeachtocfile +} +\newcommand{\@doforeachtocfile}[2][]{% + \def\do##1##2{% + \edef\reserved@a{#1}\edef\reserved@b{##2}\ifx\reserved@a\reserved@b + \edef\@currext{##1}#2% + \fi + }% + \edef\reserved@a{% + \noexpand\tb@listoftocs + \noexpand\def\noexpand\@currext{\@currext}% + }\reserved@a + \let\do\relax +} +\newcommand{\@@doforeachtocfile}[1]{% + \def\do##1##2{% + \edef\@currext{##1}#1% + }% + \edef\reserved@a{% + \noexpand\tb@listoftocs + \noexpand\def\noexpand\@currext{\@currext}% + }\reserved@a + \let\do\relax +} +\newcommand{\addtoeachtocfile}{% + \@ifnextchar [%] + \@addtoeachtocfile\@@addtoeachtocfile +} +\newcommand{\@addtoeachtocfile}[2][]{% + \doforeachtocfile[{#1}]{\addtocontents{\@currext}{#2}}% +} +\newcommand{\@@addtoeachtocfile}[1]{% + \doforeachfocfile{\addtocontents{\@currext}{#1}}% +} +\newcommand{\addcontentslinetoeachtocfile}{% + \@ifnextchar [%] + \@addcontentslinetoeachtocfile\@@addcontentslinetoeachtocfile +} +\newcommand{\@addcontentslinetoeachtocfile}[3][]{% + \doforeachtocfile[{#1}]{\addcontentsline{\@currext}{#2}{#3}}% +} +\newcommand{\@@addcontentslinetoeachtocfile}[2]{% + \doforeachtocfile{\addcontentsline{\@currext}{#1}{#2}}% +} +\newcommand*{\tocbasic@starttoc}[1]{% + \begingroup + \setlength{\parskip}{\z@}% + \setlength{\parindent}{\z@}% + \setlength{\parfillskip}{\z@\@plus 1fil}% + \def\@currext{#1}% + \csname tocbasic@@before@hook\endcsname + \csname tb@#1@before@hook\endcsname + \@starttoc{#1}% + \csname tb@#1@after@hook\endcsname + \csname tocbasic@@after@hook\endcsname + \endgroup +} +\newcommand*{\tocbasic@@before@hook}{} +\newcommand*{\tocbasic@@after@hook}{} +\newcommand{\BeforeStartingTOC}[2][]{% + \expandafter\g@addto@macro\csname tb@#1@before@hook\endcsname{#2}% +} +\newcommand{\AfterStartingTOC}[2][]{% + \expandafter\g@addto@macro\csname tb@#1@after@hook\endcsname{#2}% +} +\newcommand*{\listoftoc}{% + \@ifstar \tocbasic@starttoc\@listoftoc +} +\newcommand*{\@listoftoc}[2][\list@fname]{% + \begingroup + \@ifundefined{listof#2name}{% + \PackageWarning{tocbasic}{% + You should either define \expandafter\string\csname + listof#2name\endcsname\MessageBreak + or use the optional argument of \string\listoftoc\space\MessageBreak + to set the term to be used for the\MessageBreak + heading of list of #2}% + \def\list@fname{\listofname~#2}% + }{% + \expandafter\let\expandafter\list@fname\csname listof#2name\endcsname + }% + \if@twocolumn + \aftergroup\twocolumne\onecolumn + \fi + \def\@currext{#2}% + \tocbasic@listhead{#1}% + \tocbasic@starttoc{#2}% + \endgroup +} +\newcommand*{\listofname}{List of} +\newcommand*{\listofeachtoc}{% + \@ifnextchar [%] + \@listofeachtoc\@@listofeachtoc +} +\newcommand{\@listofeachtoc}[1][]{% + \doforeachtocfile[{#1}]{\listoftoc{\@currext}}% +} +\newcommand{\@@listofeachtoc}[1]{% + \doforeachfocfile{\listoftoc{\@currext}}% +} +\newcommand*{\tocbasic@listhead}[1]{% + \@ifundefined{tocbasic@listhead@\@currext}{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname chapter\endcsname\relax + \expandafter\def\csname tocbasic@listhead@\@currext\endcsname##1{% + \iftocfeature{\@currext}{leveldown}{% + \iftocfeature{\@currext}{numbered}{% + \subsection[##1]{##1}% + }{% + \subsection*{##1}% + \iftocfeature{\@currext}{totoc}{% + \addcontentsline{toc}{subsection}{##1}% + }{}% + }% + \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi + }{% + \iftocfeature{\@currext}{numbered}{% + \section[##1]{##1\@mkboth{##1}{##1}}% + }{% + \section*{##1}% + \iftocfeature{\@currext}{totoc}{% + \addcontentsline{toc}{section}{##1}% + }{}% + }% + \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% + }% + }% + \else + \expandafter\def\csname tocbasic@listhead@\@currext\endcsname##1{% + \iftocfeature{\@currext}{leveldown}{% + \iftocfeature{\@currext}{numbered}{% + \section{##1}% + }{% + \section*{##1}% + \iftocfeature{\@currext}{totoc}{% + \addcontentsline{toc}{section}{##1}% + }{}% + }% + \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi + }{% + \iftocfeature{\@currext}{numbered}{% + \chapter[##1]{##1\@mkboth{##1}{##1}}% + }{% + \chapter*{##1}% + \iftocfeature{\@currext}{totoc}{% + \addcontentsline{toc}{chapter}{##1}% + }{}% + }% + \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% + }% + }% + \fi + }{}% + \csname tb@@beforehead@hook\endcsname + \csname tb@\@currext @beforehead@hook\endcsname + \csname tocbasic@listhead@\@currext\endcsname{#1}% + \csname tb@\@currext @afterhead@hook\endcsname + \csname tb@@afterhead@hook\endcsname +} +\newcommand{\BeforeTOCHead}[2][]{% + \expandafter\g@addto@macro\csname tb@#1@beforehead@hook\endcsname{#2}% +} +\newcommand{\AfterTOCHead}[2][]{% + \expandafter\g@addto@macro\csname tb@#1@afterhead@hook\endcsname{#2}% +} +\AtBeginDocument{% + \@ifundefined{MakeMarkcase}{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname KOMAClassName\endcsname\relax + \let\MakeMarkcase\MakeUppercase + \else + \let\MakeMarkcase\@firstofone + \fi + }{}% +} +\newcommand*{\deftocheading}[1]{% + \@namedef{tocbasic@listhead@#1}##1} +\newcommand*{\setuptoc}[2]{% + \@for\@tempa:=#2\do{% + \expandafter\tb@@sp@def\expandafter\@tempa\expandafter{\@tempa}% + \@namedef{tocbasic@#1@feature@\@tempa}{}% + }% +} +\newcommand*{\unsettoc}[2]{% + \@for\@tempa:=#2\do{% + \expandafter\tb@@sp@def\expandafter\@tempa\expandafter{\@tempa}% + \expandafter\let\csname tocbasic@#1@feature@\@tempa\endcsname\relax + }% +} +\def\@tempa#1{% + \def\tb@@sp@def##1##2{% + \futurelet\tb@sp@tempa\tb@@sp@d##2\@nil\@nil#1\@nil\relax##1}% + \def\tb@@sp@d{% + \ifx\tb@sp@tempa\@sptoken + \expandafter\tb@@sp@b + \else + \expandafter\tb@@sp@b\expandafter#1% + \fi}% + \def\tb@@sp@b#1##1 \@nil{\tb@@sp@c##1}% +} +\@tempa{ } +\def\tb@@sp@c#1\@nil#2\relax#3{\@temptokena{#1}\edef#3{\the\@temptokena}} +\setuptoc{toc}{nobabel} +\setuptoc{lof}{nobabel} +\setuptoc{lot}{nobabel} +\newcommand*{\iftocfeature}[2]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname tocbasic@#1@feature@#2\endcsname\relax + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi +} +\newcommand*{\tocbasicautomode}{% + \let\tb@saved@starttoc\@starttoc + \BeforeStartingTOC{% + \let\@starttoc\tb@saved@starttoc + \expandafter\ifattoclist\expandafter{\@currext}{}{% + \@addtotoclist[tocbasicautomode]{\@currext}% + }% + }% +} +%%% From File: scrlogo.dtx +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `tocbasic.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/tocstyle.sty b/Master/texmf-dist/tex/latex/koma-script/tocstyle.sty index d221819ca8e..ac668525223 100644 --- a/Master/texmf-dist/tex/latex/koma-script/tocstyle.sty +++ b/Master/texmf-dist/tex/latex/koma-script/tocstyle.sty @@ -7,7 +7,7 @@ %% tocstyle.dtx (with options: `package,trace,tocstyle') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 2007 by Markus Kohm <komascript(at)gmx.info> +%% Copyright (c) 2007-2008 by Markus Kohm <komascript(at)gmx.info> %% %% Copyright (c) 1994-2007 %% Markus Kohm and any individual authors listed elsewhere in this file. @@ -50,7 +50,7 @@ %%% From File: tocstyle.dtx \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{tocstyle} - [2007/12/21 v0.2alpha LaTeX2e KOMA-Script package (versatile toc styles)] + [2008/10/20 v0.2c-alpha LaTeX2e KOMA-Script package (versatile toc styles)] \PackageWarningNoLine{tocstyle}{% THIS IS AN ALPHA VERSION!\MessageBreak USAGE OF THIS VERSION IS ON YOUR OWN RISK!\MessageBreak @@ -123,15 +123,19 @@ toctextentriesleft} \ProcessOptions\relax \ifcsname if@tocleft\endcsname - \if@tocleft - \PackageWarningNoLine{tocstyle}{% - You should not use class option `tocleft'!\MessageBreak - This may result in errors or unexpected results.\MessageBreak - I'll try to deactivate `tocleft', now.\MessageBreak - You may use options `tocflat' and\MessageBreak - `tocindentauto' instead of `tocleft'}% - \csname @tocleftfalse\endcsname - \fi + \expandafter\let\csname if@tempswa\expandafter\endcsname + \csname if@tocleft\endcsname +\else + \@tempswafalse +\fi +\if@tempswa + \PackageWarningNoLine{tocstyle}{% + You should not use class option `toc=flat'!\MessageBreak + This may result in errors or unexpected results.\MessageBreak + I'll try to deactivate `toc=flat', now.\MessageBreak + You may use package options `tocflat' and\MessageBreak + `tocindentauto' instead of `toc=flat'}% + \csname @tocleftfalse\endcsname \fi \newcommand*\tocstyle@saved@starttoc{} \let\tocstyle@saved@starttoc\@starttoc @@ -638,30 +642,47 @@ } \newcommand*{\tocstyle@feature@excludelist}{} \newcommand*{\usetocstyle}[2][]{% - \@ifundefined{tocstyle@style@#2}{% - \PackageError{tocstyle}{unknown TOC style `#2'}{% - You've told me to use TOC style `#2',\MessageBreak - but there's no TOC style `#2' defined.}% - }{% - \def\settocfeature{% - \@ifnextchar[ {\@@settocfeature[{#1}]}{\@@settocfeature[{#1}][]}% + \@ifundefined{tocstyle@deprecated@style@#2}{% + \@ifundefined{tocstyle@style@#2}{% + \PackageError{tocstyle}{unknown TOC style `#2'}{% + You've told me to use TOC style `#2',\MessageBreak + but there's no TOC style `#2' defined.}% + }{% + \def\settocfeature{% + \@ifnextchar[ {\@@settocfeature[{#1}]}{\@@settocfeature[{#1}][]}% + }% + \let\settocstylefeature\settocfeature + \expandafter\ifx\csname tocstyle@commandlist@#1\endcsname\relax + \else + \expandafter\expandafter\expandafter\@for + \expandafter\expandafter\expandafter\@tempa + \expandafter\expandafter\expandafter:% + \expandafter\expandafter\expandafter=% + \csname tocstyle@commandlist@#1\endcsname + \do{% + \expandafter\let\csname \@tempa\endcsname\relax + }% + \expandafter\let\csname tocstyle@commandlist@#1\endcsname\relax + \fi + \@usetocstyle{#2}% + \let\settocfeature\@settocfeature + \let\settocstylefeature\@settocstylefeature }% - \let\settocstylefeature\settocfeature - \expandafter\ifx\csname tocstyle@commandlist@#1\endcsname\relax + }{% + \expandafter\ifx\csname tocstyle@deprecated@style@#2\endcsname\@empty + \PackageWarning{tocstyle}{% + deprecated TOC style `#2'!\MessageBreak + You should not longer use this style,\MessageBreak + because it will be removed soon.\MessageBreak + You should select another TOC style}% + \usetocstyle[{#1}]{deprecated@#2}% \else - \expandafter\expandafter\expandafter\@for - \expandafter\expandafter\expandafter\@tempa - \expandafter\expandafter\expandafter:% - \expandafter\expandafter\expandafter=% - \csname tocstyle@commandlist@#1\endcsname - \do{% - \expandafter\let\csname \@tempa\endcsname\relax - }% - \expandafter\let\csname tocstyle@commandlist@#1\endcsname\relax + \PackageWarning{tocstyle}{% + deprecated TOC style `#2'!\MessageBreak + You should use TOC style '\csname + tocstyle@deprecated@style@#2\endcsname'\MessageBreak + instead of `#2'}% \fi - \@usetocstyle{#2}% - \let\settocfeature\@settocfeature - \let\settocstylefeature\@settocstylefeature }% } \newcommand*{\@usetocstyle}[1]{% @@ -731,10 +752,11 @@ } \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname sectfont\endcsname\relax - \newtocstyle{KOMAScript}{% + \newtocstyle{KOMAlike}{% \settocfeature{dothook}{\normalfont}% \settocfeature[-1]{entryhook}{\sffamily\bfseries}% \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% + \settocfeature[-1]{leaders}{\hfill}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% \settocfeature[0]{entryhook}{% @@ -756,10 +778,11 @@ \fi } \else - \newtocstyle{KOMAScript}{% + \newtocstyle{KOMAlike}{% \settocfeature{dothook}{\normalfont}% \settocfeature[-1]{entryhook}{\sectfont}% \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% + \settocfeature[-1]{leaders}{\hfill}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% \settocfeature[0]{entryhook}{% @@ -781,7 +804,8 @@ \fi } \fi -\newtocstyle[KOMAScript]{classic}{% +\newcommand*{\tocstyle@deprecated@style@KOMAScript}{KOMAlike}% +\newtocstyle[KOMAlike]{classic}{% \settocfeature{pagenumberhook}{\normalfont\normalcolor}% \settocfeature{raggedhook}{\raggedright}% } diff --git a/Master/texmf-dist/tex/latex/koma-script/typearea.sty b/Master/texmf-dist/tex/latex/koma-script/typearea.sty index eb193344299..c612137313a 100644 --- a/Master/texmf-dist/tex/latex/koma-script/typearea.sty +++ b/Master/texmf-dist/tex/latex/koma-script/typearea.sty @@ -62,7 +62,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2007/12/24 v2.98 KOMA-Script}% + \@CheckKOMAScriptVersion{2008/11/03 v3.00 KOMA-Script}% \endgroup %%% From File: scrktare.dtx \ProvidesPackage{typearea}[% @@ -221,6 +221,12 @@ \endgroup \def\ta@hh{#1\baselineskip}% } +\KOMA@key{headheight}{% + \begingroup + \setlength{\@tempdima}{#1}% + \endgroup + \def\ta@hh{#1}% +} \newif\if@hincl\@ifundefined{if@hsl}{}{\let\if@hincl\if@hsl} \KOMA@ifkey{headinclude}{@hincl} \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{headexclude}{% @@ -257,10 +263,27 @@ \AtEndOfPackage{\KOMA@key{DIV}{\typearea[current]{#1}}} \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{DIVcalc}{DIV=calc} \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{DIVclassic}{DIV=classic} +\newif\if@semitwoside +\g@addto@macro\@twosidetrue\@semitwosidefalse +\g@addto@macro\@twosidefalse\@semitwosidefalse \KOMA@key{twoside}[true]{% \if@atdocument\if@twoside\cleardoublepage\else\clearpage\fi\fi - \KOMA@set@ifkey{twoside}{@twoside}{#1}% - \if@twoside\@mparswitchtrue\else\@mparswitchfalse\fi% + \ifstr{#1}{semi}{% + \@twosidetrue + \@semitwosidetrue + }{% + \def\FamilyElseValue{, `semi'}% + \KOMA@set@ifkey{twoside}{@twoside}{#1}% + }% + \if@twoside + \if@semitwoside + \@mparswitchfalse + \else + \@mparswitchtrue + \fi + \else + \@mparswitchfalse + \fi% \csname recalctypearea\endcsname } \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{oneside}{twoside=false} @@ -347,8 +370,8 @@ \ifnotundefined{mediaheight}{\mediaheight=\paperheight}{}% }% } -\KOMA@DeclareObsoleteOption[\PackageWarning]{dvips}{% - pagesize=dvips% +\KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{dvips}{% + pagesize=automedia% } \KOMA@DeclareObsoleteOption[\PackageInfoNoLine]{pdftex}{% pagesize=pdftex% @@ -444,7 +467,11 @@ }{} \KOMAExecuteOptions{paper=A4} \if@twoside - \KOMAExecuteOptions{twoside} + \if@semitwoside + \KOMAExecuteOptions{twoside=semi} + \else + \KOMAExecuteOptions{twoside} + \fi \else \KOMAExecuteOptions{twoside=false} \fi @@ -464,7 +491,11 @@ \advance\marginparwidth by-\marginparsep \else \if@twoside - \marginparwidth=1.5\ta@hblk + \if@semitwoside + \marginparwidth=\ta@hblk + \else + \marginparwidth=1.5\ta@hblk + \fi \else \marginparwidth=\ta@hblk \fi @@ -472,12 +503,18 @@ \oddsidemargin=-1in \evensidemargin=-1in \if@twoside - \advance\oddsidemargin by\ta@hblk - \advance\oddsidemargin by\ta@bcor - \advance\evensidemargin by2\ta@hblk - \if@mincl - \advance\evensidemargin by\marginparwidth - \advance\evensidemargin by\marginparsep + \if@semitwoside + \advance\oddsidemargin by1.5\ta@hblk + \advance\oddsidemargin by\ta@bcor + \evensidemargin=\oddsidemargin + \else + \advance\oddsidemargin by\ta@hblk + \advance\oddsidemargin by\ta@bcor + \advance\evensidemargin by2\ta@hblk + \if@mincl + \advance\evensidemargin by\marginparwidth + \advance\evensidemargin by\marginparsep + \fi \fi \else \advance\oddsidemargin by1.5\ta@hblk @@ -599,7 +636,7 @@ \if@mincl \PackageInfo{typearea}{% With option `mpinclude' there are no predefined\MessageBreak - DIV-values. Using DIV calculation for good line\MessageBreak + DIV values. Using DIV calculation for good line\MessageBreak width% }% \ta@div=2 @@ -787,62 +824,67 @@ \fi \ifnum\@tempcnta <-15 \PackageWarningNoLine{typearea}{% - Bad DIV-value!\MessageBreak + Bad DIV value!\MessageBreak You should e.g. decrease DIV, increase fontsize\MessageBreak or change papersize% }% \else \ifnum\@tempcnta>15 \PackageWarningNoLine{typearea}{% - Bad DIV-value!\MessageBreak + Bad DIV value!\MessageBreak You should e.g. increase DIV, decrease fontsize\MessageBreak or change papersize% } \fi\fi \ifnum\ta@div <6 \PackageWarningNoLine{typearea}{% - Very low DIV-value!\MessageBreak - DIV-values less than 6 result in textwidth/-height\MessageBreak + Very low DIV value!\MessageBreak + DIV values less than 6 result in textwidth/-height\MessageBreak smaller than total marginwidth/-height.\MessageBreak You should e.g. increase DIV, increase fontsize or\MessageBreak change papersize% } \fi - \PackageInfo{typearea}{% - These are the values describing the layout:\MessageBreak - DIV\space\space=\space\number\ta@div\MessageBreak - BCOR\space=\space\the\ta@bcor\MessageBreak - \string\paperwidth\space\space\space\space\space\space=% - \space\the\paperwidth\MessageBreak - \space\string\textwidth\space\space\space\space\space\space=% - \space\the\textwidth\MessageBreak - \space DIV-departure\space\space\space=% - \space\the\@tempcnta/100\MessageBreak - \space\string\evensidemargin\space=% - \space\the\evensidemargin\MessageBreak - \space\string\oddsidemargin\space\space=% - \space\the\oddsidemargin\MessageBreak - \string\paperheight\space\space\space\space\space=% - \space\the\paperheight\MessageBreak - \space\string\textheight\space\space\space\space\space=% - \space\the\textheight\MessageBreak - \space\string\topmargin\space\space\space\space\space\space=% - \space\the\topmargin\MessageBreak - \space\string\headheight\space\space\space\space\space=% - \space\the\headheight\MessageBreak - \space\string\headsep\space\space\space\space\space\space\space\space=% - \space\the\headsep\MessageBreak - \space\string\topskip\space\space\space\space\space\space\space\space=% - \space\the\topskip\MessageBreak - \space\string\footskip\space\space\space\space\space\space\space=% - \space\the\footskip\MessageBreak - \space\string\baselineskip\space\space\space=% - \space\the\baselineskip\MessageBreak - }% + \ta@layoutinfo{\number\ta@div}{\the\@tempcnta}% \@typearea@end \activateareas \fi } +\newcommand*{\ta@layoutinfo}[2]{% + \PackageInfo{typearea}{% + These are the values describing the layout:\MessageBreak + DIV\space\space=\space#1\MessageBreak + BCOR\space=\space\the\ta@bcor\MessageBreak + \string\paperwidth\space\space\space\space\space\space=% + \space\the\paperwidth\MessageBreak + \space\string\textwidth\space\space\space\space\space\space=% + \space\the\textwidth\MessageBreak + \ifx\relax#2\relax\else + \space DIV departure\space\space\space=% + \space#2\@percentchar\MessageBreak + \fi + \space\string\evensidemargin\space=% + \space\the\evensidemargin\MessageBreak + \space\string\oddsidemargin\space\space=% + \space\the\oddsidemargin\MessageBreak + \string\paperheight\space\space\space\space\space=% + \space\the\paperheight\MessageBreak + \space\string\textheight\space\space\space\space\space=% + \space\the\textheight\MessageBreak + \space\string\topmargin\space\space\space\space\space\space=% + \space\the\topmargin\MessageBreak + \space\string\headheight\space\space\space\space\space=% + \space\the\headheight\MessageBreak + \space\string\headsep\space\space\space\space\space\space\space\space=% + \space\the\headsep\MessageBreak + \space\string\topskip\space\space\space\space\space\space\space\space=% + \space\the\topskip\MessageBreak + \space\string\footskip\space\space\space\space\space\space\space=% + \space\the\footskip\MessageBreak + \space\string\baselineskip\space\space\space=% + \space\the\baselineskip\MessageBreak + }% +} \AtEndOfPackage{\newcommand*{\recalctypearea}{\typearea[current]{last}}} \newcommand*\areaset[3][\z@]{% \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else @@ -859,9 +901,15 @@ \oddsidemargin=-1in \evensidemargin=-1in \if@twoside - \advance\oddsidemargin by\ta@hblk - \advance\oddsidemargin by\ta@bcor - \advance\evensidemargin by2\ta@hblk + \if@semitwoside + \advance\oddsidemargin by1.5\ta@hblk + \advance\oddsidemargin by\ta@bcor + \evensidemargin\oddsidemargin + \else + \advance\oddsidemargin by\ta@hblk + \advance\oddsidemargin by\ta@bcor + \advance\evensidemargin by2\ta@hblk + \fi \else \advance\oddsidemargin by1.5\ta@hblk \advance\oddsidemargin by\ta@bcor @@ -895,12 +943,17 @@ \advance\topmargin by-\headsep \fi \if@twoside - \marginparwidth=1.5\ta@hblk + \if@semitwoside + \marginparwidth=\ta@hblk + \else + \marginparwidth=1.5\ta@hblk + \fi \else \marginparwidth=\ta@hblk \fi \marginparsep=1cc \marginparpush=0.45\baselineskip + \ta@layoutinfo{areaset}{}% \activateareas } \typearea[current]{current} |