summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrreprt.cls')
-rw-r--r--Master/texmf-dist/tex/latex/koma-script/scrreprt.cls1449
1 files changed, 909 insertions, 540 deletions
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}{%