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