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.cls1406
1 files changed, 940 insertions, 466 deletions
diff --git a/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls b/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls
index 48127c9fa34..53b40d44ccf 100644
--- a/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls
+++ b/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls
@@ -7,6 +7,7 @@
%% scrkernel-version.dtx (with options: `class,report')
%% scrkernel-basics.dtx (with options: `load')
%% tocbasic.dtx (with options: `class,load,chapter')
+%% scrkernel-sections.dtx (with options: `class,report,prepare')
%% scrkernel-compatibility.dtx (with options: `class,report,option')
%% scrkernel-miscellaneous.dtx (with options: `class,report,option')
%% scrkernel-language.dtx (with options: `class,report,option')
@@ -72,7 +73,7 @@
%% find a complete unmodified copy of LaTeX2e at
%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>.
%%
-%%% From File: $Id: scrkernel-version.dtx 1815 2014-10-28 10:15:59Z kohm $
+%%% From File: $Id: scrkernel-version.dtx 1900 2015-01-14 07:16:26Z kohm $
\begingroup
\catcode`\@11\relax
\ifx\KOMAScriptVersion\undefined
@@ -94,7 +95,7 @@
\fi
}
\fi
- \@CheckKOMAScriptVersion{2014/10/28 v3.14 KOMA-Script}%
+ \@CheckKOMAScriptVersion{2015/01/14 v3.15 KOMA-Script}%
\endgroup
\newcommand*{\KOMAClassName}{%
scrreprt%
@@ -103,21 +104,70 @@
report%
}
\ProvidesClass{\KOMAClassName}[%
- 2014/10/28 v3.14 KOMA-Script
+ 2015/01/14 v3.15 KOMA-Script
document class (\ClassName)%
]
-%%% From File: $Id: scrkernel-basics.dtx 1809 2014-10-17 08:02:00Z kohm $
+%%% From File: $Id: scrkernel-basics.dtx 1897 2015-01-02 12:04:12Z kohm $
\RequirePackage{scrkbase}[\KOMAScriptVersion]
-%%% From File: $Id: tocbasic.dtx 1782 2014-08-18 10:48:22Z kohm $
+%%% From File: $Id: tocbasic.dtx 1871 2014-12-10 09:06:20Z kohm $
\RequirePackage{tocbasic}[%
- 2014/10/28 v3.14 KOMA-Script
+ 2015/01/14 v3.15 KOMA-Script
]
\AtAddToTocList[\@currname.\@currext]{\setuptoc{\@currext}{onecolumn}}%
\AtAddToTocList[float]{\setuptoc{\@currext}{onecolumn}}%
\addtotoclist{toc}
\addtotoclist[float]{lof}
\addtotoclist[float]{lot}
-%%% From File: $Id: scrkernel-compatibility.dtx 1814 2014-10-28 10:06:00Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 1891 2014-12-23 17:19:04Z kohm $
+\newif\if@openright
+\@openrightfalse
+\newcommand*{\scr@dotchangeatdocument}[1]{%
+ \ClassError{\KOMAClassName}{%
+ change of end dot feature after \string\begin{document}%
+ }{%
+ 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.%
+ }%
+}
+\newcommand*{\scr@osectarg}{0}
+\newcommand*{\scr@activate@xsection}[1]{%
+ \renewcommand*{\scr@osectarg}{#1}%
+}
+\newif\if@altsecnumformat\@altsecnumformatfalse
+\newif\if@autodot
+\renewcommand*{\@autodottrue}{\global\let\if@autodot\iftrue}
+\renewcommand*{\@autodotfalse}{\global\let\if@autodot\iffalse}
+\@autodotfalse
+\newcommand*{\scr@altsecnumhook}{}
+\AtBeginDocument{\scr@altsecnumhook}
+\newcommand*{\scr@altsecnumhooktrue}{%
+ \@altsecnumformattrue\global\let\@altsecnumformatfalse\@altsecnumformattrue
+}
+\newcommand*{\scr@altsecnumhookfalse}{%
+ \@altsecnumformatfalse\global\let\@altsecnumformattrue\@altsecnumformatfalse
+}
+\newcommand*{\size@part}{}
+\newcommand*{\size@partnumber}{}
+\newcommand*{\size@chapter}{}
+\newcommand*{\size@chapterprefix}{\size@chapter}
+\newcommand*{\scr@chapter@sectionbeforeskip}{\z@}
+\let\scr@chapter@sectionbeforeskip\z@
+\newcommand*{\scr@chapter@sectionafterskip}{\z@}
+\let\scr@chapter@sectionafterskip\z@
+\newcommand*{\scr@chapter@sectionindent}{\z@}
+\let\scr@chapter@sectionindent\z@
+\newcommand*{\scr@chapter@style}{}
+\newcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}
+\newcommand*{\chapterheadendvskip}{\vskip\@tempskipa}
+\newcommand*{\chapterheadmidvskip}{\par\nobreak\vskip.5\baselineskip}
+\newcommand*{\size@section}{}
+\newcommand*{\size@subsection}{}
+\newcommand*{\size@subsubsection}{}
+\newcommand*{\size@paragraph}{}
+\newcommand*{\size@subparagraph}{}
+\newcommand*{\sectfont}{\normalcolor\sffamily\bfseries}
+%%% From File: $Id: scrkernel-compatibility.dtx 1870 2014-12-10 09:04:55Z kohm $
\newif\if@scr@emulatestandardclasses
\let\scr@emulatestandardclassestrue\relax
\let\scr@emulatestandardclassesfalse\relax
@@ -224,6 +274,7 @@
\@namedef{scr@v@3.13}{12}
\@namedef{scr@v@3.13a}{13}
\@namedef{scr@v@3.14}{13}
+\@namedef{scr@v@3.15}{14}
\@namedef{scr@v@last}{14}
%%% From File: $Id: scrkernel-miscellaneous.dtx 1803 2014-10-09 08:18:02Z kohm $
\KOMA@key{draft}[true]{%
@@ -241,7 +292,7 @@
\DeclareOption{leqno}{\input{leqno.clo}}
\DeclareOption{fleqn}{\input{fleqn.clo}}
%%% From File: $Id: scrkernel-language.dtx 1767 2014-06-26 09:20:18Z kohm $
-%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $
+%%% From File: $Id: scrkernel-fonts.dtx 1829 2014-11-21 09:27:52Z kohm $
\newcommand*\@ptsize{%
11%
}
@@ -377,7 +428,7 @@
{onecolumn}{twocolumn=false}
\DeclareOption*{%
\x@paper}
-%%% From File: $Id: scrkernel-paragraphs.dtx 1767 2014-06-26 09:20:18Z kohm $
+%%% From File: $Id: scrkernel-paragraphs.dtx 1824 2014-11-14 08:02:28Z kohm $
\newcommand*{\setparsizes}[3]{%
\edef\f@parindent{\the\parindent}%
\edef\f@parskip{\the\parskip}%
@@ -510,7 +561,7 @@
\KOMA@DeclareDeprecatedOption{halfparskip+}{parskip=half+}
\KOMA@DeclareDeprecatedOption{halfparskip*}{parskip=half*}
\KOMA@DeclareDeprecatedOption{parindent}{parskip=false}
-%%% From File: $Id: scrkernel-title.dtx 1675 2014-02-03 07:37:48Z mjk $
+%%% From File: $Id: scrkernel-title.dtx 1868 2014-12-09 12:45:22Z kohm $
\newif\if@titlepage
\@titlepagetrue
\newif\if@titlepageiscoverpage
@@ -533,9 +584,7 @@
\KOMA@ifkey{abstract}{@abstrt}
\KOMA@DeclareStandardOption{abstracton}{abstract=true}
\KOMA@DeclareStandardOption{abstractoff}{abstract=false}
-%%% From File: $Id: scrkernel-sections.dtx 1788 2014-09-11 13:41:04Z kohm $
-\newif\if@openright
-\@openrightfalse
+%%% From File: $Id: scrkernel-sections.dtx 1891 2014-12-23 17:19:04Z kohm $
\KOMA@key{open}{%
\KOMA@set@ncmdkey{open}{@tempa}{%
{any}{0},%
@@ -557,15 +606,6 @@
}
\KOMA@DeclareStandardOption{openright}{open=right}
\KOMA@DeclareStandardOption{openany}{open=any}
-\newcommand*{\scr@dotchangeatdocument}[1]{%
- \ClassError{\KOMAClassName}{%
- change of end dot feature after \string\begin{document}%
- }{%
- 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.%
- }%
-}
\KOMA@key{numbers}{%
\KOMA@set@ncmdkey{numbers}{@tempa}{%
{autoendperiod}{0},{autoenddot}{0},{auto}{0},%
@@ -590,42 +630,30 @@
\fi
\fi
}
-\newcommand*{\scr@altsecnumhook}{}
-\AtBeginDocument{\scr@altsecnumhook}
-\newcommand*{\scr@altsecnumhooktrue}{%
- \@altsecnumformattrue\global\let\@altsecnumformatfalse\@altsecnumformattrue
-}
-\newcommand*{\scr@altsecnumhookfalse}{%
- \@altsecnumformatfalse\global\let\@altsecnumformattrue\@altsecnumformatfalse
-}
\KOMA@DeclareDeprecatedOption{pointednumbers}{numbers=enddot}
\KOMA@DeclareDeprecatedOption{pointlessnumbers}{numbers=noenddot}
-\newif\if@chapterprefix\@chapterprefixfalse
\KOMA@ifkey{chapterprefix}{@chapterprefix}
\KOMA@DeclareDeprecatedOption{nochapterprefix}{chapterprefix=false}
\KOMA@key{appendixprefix}[true]{%
\KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\if@tempswa
- \def\appendixmore{\@chapterprefixtrue}%
+ \@ifundefined{appendixmore}{%
+ \def\appendixmore{\@chapterprefixtrue}%
+ }{%
+ \l@addto@macro\appendixmore{\@chapterprefixtrue}%
+ }%
\else
- \def\appendixmore{\@chapterprefixfalse}%
+ \@ifundefined{appendixmore}{%
+ \def\appendixmore{\@chapterprefixfalse}%
+ }{%
+ \l@addto@macro\appendixmore{\@chapterprefixfalse}%
+ }%
\fi
\fi
}
\KOMA@DeclareDeprecatedOption{noappendixprefix}{appendixprefix=false}
-\newcommand*{\sectfont}{\normalcolor\sffamily\bfseries}
-\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@ifkey{chapterentrydots}{@chapterentrywithdots}
\KOMA@key{headings}{%
\KOMA@set@ncmdkey{headings}{@tempa}{%
{big}{0},%
@@ -649,13 +677,16 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\ifcase \@tempa\relax
- \renewcommand*{\chapterheadstartvskip}{%
- \vspace*{2.3\baselineskip}%
+ \renewcommand*{\scr@chapter@sectionbeforeskip}{3.3\baselineskip+\parskip}%
+ \renewcommand*{\scr@chapter@sectionafterskip}{%
+ 1.725\baselineskip \@plus .115\baselineskip \@minus .192\baselineskip
}%
+ \renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
\renewcommand*{\chapterheadendvskip}{%
- \vspace{1.725\baselineskip
- \@plus .115\baselineskip \@minus .192\baselineskip}%
+ \ifnum \scr@compatibility<\@nameuse{scr@v@3.15}\vspace\@tempskipa
+ \else\vskip\@tempskipa\fi
}%
+ \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip.5\baselineskip}%
\renewcommand*{\size@part}{\Huge}%
\renewcommand*{\size@partnumber}{\huge}%
\renewcommand*{\size@chapter}{\huge}%
@@ -666,13 +697,16 @@
\renewcommand*{\size@paragraph}{\normalsize}%
\renewcommand*{\size@subparagraph}{\normalsize}%
\or
- \renewcommand*{\chapterheadstartvskip}{%
- \vspace*{2\baselineskip}%
+ \renewcommand*{\scr@chapter@sectionbeforeskip}{3\baselineskip+\parskip}%
+ \renewcommand*{\scr@chapter@sectionafterskip}{%
+ 1.5\baselineskip \@plus .1\baselineskip \@minus .167\baselineskip
}%
+ \renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
\renewcommand*{\chapterheadendvskip}{%
- \vspace{1.5\baselineskip
- \@plus .1\baselineskip \@minus .167\baselineskip}%
+ \ifnum \scr@compatibility<\@nameuse{scr@v@3.15}\vspace\@tempskipa
+ \else\vskip\@tempskipa\fi
}%
+ \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip.5\baselineskip}%
\renewcommand*{\size@part}{\huge}%
\renewcommand*{\size@partnumber}{\huge}%
\renewcommand*{\size@chapter}{\LARGE}%
@@ -683,13 +717,16 @@
\renewcommand*{\size@paragraph}{\normalsize}%
\renewcommand*{\size@subparagraph}{\normalsize}%
\or
- \renewcommand*{\chapterheadstartvskip}{%
- \vspace*{1.8\baselineskip}%
+ \renewcommand*{\scr@chapter@sectionbeforeskip}{2.8\baselineskip+\parskip}%
+ \renewcommand*{\scr@chapter@sectionafterskip}{%
+ 1.35\baselineskip \@plus 0.09\baselineskip \@minus .15\baselineskip
}%
+ \renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
\renewcommand*{\chapterheadendvskip}{%
- \vspace{1.35\baselineskip
- \@plus 0.09\baselineskip \@minus .15\baselineskip}%
+ \ifnum \scr@compatibility<\@nameuse{scr@v@3.15}\vspace\@tempskipa
+ \else\vskip\@tempskipa\fi
}%
+ \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip.5\baselineskip}%
\renewcommand*{\size@part}{\LARGE}%
\renewcommand*{\size@partnumber}{\LARGE}%
\renewcommand*{\size@chapter}{\Large}%
@@ -720,12 +757,11 @@
\or
\scr@activate@xsection{1}%
\or
- \renewcommand*{\chapterheadstartvskip}{%
- \vspace*{50\p@}%
- }%
- \renewcommand*{\chapterheadendvskip}{%
- \vspace{40\p@}%
- }%
+ \renewcommand*{\scr@chapter@sectionbeforeskip}{50\p@}%
+ \renewcommand*{\scr@chapter@sectionafterskip}{40\p@}%
+ \renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
+ \renewcommand*{\chapterheadendvskip}{\vskip\@tempskipa}%
+ \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip 20\p@}%
\renewcommand*{\size@part}{\Huge}%
\renewcommand*{\size@partnumber}{\huge}%
\renewcommand*{\size@chapter}{\Huge}%
@@ -743,10 +779,6 @@
\KOMA@DeclareDeprecatedOption{bigheadings}{headings=big}
\KOMA@DeclareDeprecatedOption{normalheadings}{headings=normal}
\KOMA@DeclareDeprecatedOption{smallheadings}{headings=small}
-\newcommand*{\scr@osectarg}{0}
-\newcommand*{\scr@activate@xsection}[1]{%
- \renewcommand*{\scr@osectarg}{#1}%
-}
%%% From File: $Id: scrkernel-pagestyles.dtx 1774 2014-07-07 07:15:22Z kohm $
\newif\if@hsl
\KOMA@key{headsepline}[true]{%
@@ -962,7 +994,7 @@
\csname FN@mf@prepare\endcsname
\ifhmode\spacefactor\@x@sf\fi
\relax}
-%%% From File: $Id: scrkernel-listsof.dtx 1720 2014-03-05 08:03:10Z kohm $
+%%% From File: $Id: scrkernel-listsof.dtx 1872 2014-12-10 12:51:37Z kohm $
\newif\if@tocleft
\KOMA@key{toc}{%
\KOMA@set@ncmdkey{toc}{@tempa}{%
@@ -978,7 +1010,9 @@
{flat}{8},{left}{8},%
{graduated}{9},{indent}{9},{indented}{9},%
{indenttextentries}{10},{indentunnumbered}{10},{numberline}{10},%
- {leftaligntextentries}{11},{leftalignunnumbered}{11},{nonumberline}{11}%
+ {leftaligntextentries}{11},{leftalignunnumbered}{11},{nonumberline}{11},%
+ {chapterentrywithdots}{12},{chapterentrydotfill}{12},
+ {chapterentrywithoutdots}{13},{chapterentryfill}{13}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\ifcase \@tempa\relax
@@ -1005,6 +1039,10 @@
\setuptoc{toc}{numberline}%
\or
\unsettoc{toc}{numberline}%
+ \or
+ \KOMAoptions{chapterentrydots=true}%
+ \or
+ \KOMAoptions{chapterentrydots=false}%
\fi
\fi
}
@@ -1290,8 +1328,8 @@
headings=big%
}
\KOMAProcessOptions\relax
-%%% From File: $Id: scrkernel-compatibility.dtx 1814 2014-10-28 10:06:00Z kohm $
-%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $
+%%% From File: $Id: scrkernel-compatibility.dtx 1870 2014-12-10 09:04:55Z kohm $
+%%% From File: $Id: scrkernel-fonts.dtx 1829 2014-11-21 09:27:52Z kohm $
\newcommand*\scr@setlength[4]{%
\ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
\setlength{#1}{#2 \@plus#3 \@minus#4}%
@@ -1769,7 +1807,7 @@
}\reserved@a
\fi
\fi
-%%% From File: $Id: scrkernel-paragraphs.dtx 1767 2014-06-26 09:20:18Z kohm $
+%%% From File: $Id: scrkernel-paragraphs.dtx 1824 2014-11-14 08:02:28Z kohm $
\setlength{\lineskip}{\p@}
\setlength{\normallineskip}{\p@}
\setlength{\columnsep}{10\p@}
@@ -1897,7 +1935,7 @@
\@lowpenalty = 51
\@medpenalty =151
\@highpenalty =301
-%%% From File: $Id: scrkernel-title.dtx 1675 2014-02-03 07:37:48Z mjk $
+%%% From File: $Id: scrkernel-title.dtx 1868 2014-12-09 12:45:22Z kohm $
\newcommand*{\@extratitle}{}%
\newcommand{\extratitle}[1]{\gdef\@extratitle{%
#1%
@@ -2235,34 +2273,31 @@
\if@twocolumn\else\endquotation\fi
\fi
}
-%%% From File: $Id: scrkernel-sections.dtx 1788 2014-09-11 13:41:04Z kohm $
-\newcommand*\appendix{\par%
- \setcounter{chapter}{0}%
- \setcounter{section}{0}%
- \gdef\@chapapp{\appendixname}%
- \gdef\thechapter{\@Alph\c@chapter}%
- \csname appendixmore\endcsname
-}
-\newcommand*\chaptermark[1]{}
-\newcommand*\addchapmark[1]{%
- \begingroup
- \expandafter\let\csname if@mainmatter\expandafter\endcsname
- \csname iffalse\endcsname
- \c@secnumdepth=\m@ne
- \chaptermark{#1}%
- \endgroup
+\newcommand*\abstractname{Abstract}
+%%% From File: $Id: scrkernel-sections.dtx 1891 2014-12-23 17:19:04Z kohm $
+\setcounter{secnumdepth}{2}
+\newcommand*{\ifnumbered}[1]{%
+ \scr@ifundefinedorrelax{#1numdepth}{%
+ \@secondoftwo
+ }{%
+ \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi
+ }%
}
-\newcommand*\addsecmark[1]{%
- \begingroup
- \c@secnumdepth=\m@ne
- \sectionmark{#1}%
- \endgroup
+\newcommand*{\ifunnumbered}[1]{%
+ \scr@ifundefinedorrelax{#1numdepth}{%
+ \@firstoftwo
+ }{%
+ \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ }%
}
-\newif\if@altsecnumformat\@altsecnumformatfalse
-\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
}
@@ -2281,6 +2316,7 @@
\fi
\@@maybeautodot
}
+\newcommand*\autodot{\if@altsecnumformat.\fi}
\newcommand*{\scr@saved@startsection}[6]{%
\if@noskipsec \leavevmode \fi
\par
@@ -2503,102 +2539,532 @@
\if@autodot\if@filesw\immediate\write\@mainaux{%
\string\global\string\@altsecnumformattrue}%
\fi\fi}
-\newcommand*\autodot{\if@altsecnumformat.\fi}
-\setcounter{secnumdepth}{2}
-\newcommand*{\partnumdepth}{%
- \m@ne
-}
-\newcommand*{\chapternumdepth}{\z@}
-\newcommand*{\sectionnumdepth}{\@ne}
-\newcommand*{\subsectionnumdepth}{\tw@}
-\newcommand*{\subsubsectionnumdepth}{\thr@@}
-\newcommand*{\paragraphnumdepth}{4}
-\newcommand*{\subparagraphnumdepth}{5}
-\newcommand*{\ifnumbered}[1]{%
- \scr@ifundefinedorrelax{#1numdepth}{%
- \@secondoftwo
+\newcommand*{\raggedsection}{}
+\let\raggedsection\raggedright
+\DefineFamily{KOMAarg}
+\DefineFamilyMember[.dsc]{KOMAarg}
+\newcommand*{\DeclareSectionCommand}[2][]{%
+ \edef\reserved@a{%
+ \noexpand\FamilyStringKey[.dsc]{KOMAarg}{style}{%
+ \expandafter\noexpand\csname scr@#2@style\endcsname
+ }%
+ }\reserved@a
+ \scr@ifundefinedorrelax{scr@local@levelincrease}{%
+ \RelaxFamilyKey[.dsc]{KOMAarg}{increaselevel}%
}{%
- \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth
- \expandafter\@secondoftwo
- \else
- \expandafter\@firstoftwo
+ \FamilyCounterMacroKey[.dsc]{KOMAarg}{increaselevel}[1]%
+ {\scr@local@levelincrease}%
+ }%
+ \scr@ifundefinedorrelax{scr@local@leveloffset}{%
+ \edef\reserved@a{%
+ \noexpand\FamilyCounterMacroKey[.dsc]{KOMAarg}{level}{%
+ \expandafter\noexpand\csname #2numdepth\endcsname}%
+ }\reserved@a
+ }{%
+ \edef\reserved@a{%
+ \noexpand\DefineFamilyKey[.dsc]{KOMAarg}{level}{%
+ \noexpand\FamilySetCounterMacro{KOMAarg}{level}{%
+ \expandafter\noexpand\csname #2numdepth\endcsname
+ }%
+ \unexpanded{%
+ {\numexpr ##1+\scr@local@leveloffset\relax}%
+ \edef\scr@local@leveloffset{%
+ \the\numexpr\scr@local@leveloffset+\scr@local@levelincrease\relax
+ }%
+ }%
+ }%
+ }\reserved@a
+ }%
+ \edef\reserved@a{%
+ \noexpand\FamilyLengthMacroKey[.dsc]{KOMAarg}{indent}{%
+ \expandafter\noexpand\csname scr@#2@sectionindent\endcsname}%
+ }\reserved@a
+ \edef\reserved@a{%
+ \noexpand\FamilyLengthMacroKey[.dsc]{KOMAarg}{beforeskip}{%
+ \expandafter\noexpand\csname scr@#2@sectionbeforeskip\endcsname}%
+ }\reserved@a
+ \edef\reserved@a{%
+ \noexpand\FamilyLengthMacroKey[.dsc]{KOMAarg}{afterskip}{%
+ \expandafter\noexpand\csname scr@#2@sectionafterskip\endcsname}%
+ }\reserved@a
+ \edef\reserved@a{%
+ \noexpand\DefineFamilyKey[.dsc]{KOMAarg}{font}{%
+ \noexpand\IfExistskomafont{#2}{%
+ \noexpand\setkomafont
+ }{%
+ \noexpand\newkomafont
+ }{#2}{####1}%
+ \noexpand\FamilyKeyStateProcessed
+ }%
+ }\reserved@a
+ \FamilyStringKey[.dsc]{KOMAarg}{counterwithin}{\scr@local@counterwithin}%
+ \let\scr@local@counterwithin\relax
+ \scr@ifundefinedorrelax{scr@local@tocleveloffset}{%
+ \edef\reserved@a{%
+ \noexpand\FamilyCounterMacroKey[.dsc]{KOMAarg}{toclevel}{%
+ \expandafter\noexpand\csname #2tocdepth\endcsname}%
+ }\reserved@a
+ }{%
+ \edef\reserved@a{%
+ \noexpand\DefineFamilyKey[.dsc]{KOMAarg}{toclevel}{%
+ \noexpand\FamilySetCounterMacro{KOMAarg}{toclevel}{%
+ \expandafter\noexpand\csname #2tocdepth\endcsname
+ }%
+ \unexpanded{%
+ {\numexpr ##1+\scr@local@tocleveloffset\relax}%
+ \edef\scr@local@tocleveloffset{%
+ \the\numexpr\scr@local@tocleveloffset+\scr@local@levelincrease\relax
+ }%
+ }%
+ }%
+ }\reserved@a
+ }%
+ \edef\reserved@a{%
+ \noexpand\FamilyLengthMacroKey[.dsc]{KOMAarg}{tocindent}{%
+ \expandafter\noexpand\csname scr@#2@tocindent\endcsname}%
+ }\reserved@a
+ \edef\reserved@a{%
+ \noexpand\FamilyLengthMacroKey[.dsc]{KOMAarg}{tocnumwidth}{%
+ \expandafter\noexpand\csname scr@#2@tocnumwidth\endcsname}%
+ }\reserved@a
+ \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}%
+ \begingroup
+ \scr@ifundefinedorrelax{#2numdepth}{%
+ \scr@declaresectioncommanderror{#2}{section level}{level}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@#2@sectionindent}{%
+ \scr@declaresectioncommanderror{#2}{section indent}{indent}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@#2@sectionbeforeskip}{%
+ \scr@declaresectioncommanderror{#2}{before section skip}{beforeskip}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@#2@sectionafterskip}{%
+ \scr@declaresectioncommanderror{#2}{after section skip}{afterskip}%
+ }{}%
+ \IfExistskomafont{#2}{}{%
+ \scr@declaresectioncommanderror{#2}{font}{font}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@#2@tocindent}{%
+ \scr@declaresectioncommanderror{#2}{toc entry indent}{tocindent}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@#2@tocnumwidth}{%
+ \scr@declaresectioncommanderror{#2}{toc entry number
+ width}{tocnumwidth}%
+ }{}%
+ \endgroup
+ \@firstofone{%
+ \@ifundefined{c@#2}{\newcounter{#2}}{}%
+ \ifx\scr@local@counterwithin\relax
+ \else\ifx\scr@local@counterwithin\@empty
+ \@namedef{the#2}{\arabic{#2}}%
+ \else
+ \@removefromreset{#2}{\scr@local@counterwithin}%
+ \@addtoreset{#2}{\scr@local@counterwithin}%
+ \expandafter\def\csname the#2\expandafter\endcsname{%
+ \csname the\scr@local@counterwithin\endcsname.\arabic{#2}}%
+ \fi
\fi
+ \@ifundefined{#2format}{%
+ \@namedef{#2format}{\csname the#2\endcsname\autodot\enskip}%
+ }{}%
+ \ifstr{\csname scr@#2@style\endcsname}{}{%
+ \ClassInfo{\KOMAClassName}{%
+ not defining `\string\csname #2\endcsname' due to\MessageBreak
+ empty section style%
+ }%
+ }{%
+ \scr@ifundefinedorrelax{scr@#2@style}{%
+ \ClassWarning{\KOMAClassName}{using default section style}%
+ \@namedef{scr@#2@style}{section}%
+ }{}%
+ \expandafter\edef\csname #2\endcsname{%
+ \noexpand\scr@ifundefinedorrelax{%
+ scr@start\csname scr@#2@style\endcsname}{%
+ \noexpand\ClassError{\noexpand\KOMAClassName}{%
+ section style `\csname scr@#2@style\endcsname' not defined}{%
+ A not yet defined section style `\csname scr@#2@style\endcsname'
+ has been setup for\MessageBreak
+ `\expandafter\string\csname #2\endcsname'. You should either setup
+ another style\MessageBreak
+ or define the style.\MessageBreak
+ If you'll continue, style `section' will be used as an emergency
+ fallback.%
+ }%
+ \noexpand\def\expandafter\noexpand\csname scr@#2@style\endcsname
+ {section}%
+ }{}%
+ \expandafter\noexpand
+ \csname scr@start\csname scr@#2@style\endcsname\endcsname
+ {#2}%
+ \expandafter\noexpand\csname #2numdepth\endcsname
+ \expandafter\noexpand\csname scr@#2@sectionindent\endcsname
+ \expandafter\noexpand\csname scr@#2@sectionbeforeskip\endcsname
+ \expandafter\noexpand\csname scr@#2@sectionafterskip\endcsname{%
+ \noexpand\ifdim\noexpand\glueexpr
+ \expandafter\noexpand\csname scr@#2@sectionbeforeskip\endcsname
+ <\noexpand\z@
+ \unexpanded{%
+ \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
+ \setlength{\parfillskip}{\z@ plus 1fil}%
+ \fi
+ }%
+ \noexpand\fi
+ \unexpanded{%
+ \raggedsection\normalfont\sectfont\nobreak\usekomafont{#2}%
+ }%
+ }%
+ }%
+ }%
+ \@ifundefined{DeclareSectionNumberDepth}{%
+ \@ifundefined{#2markformat}{%
+ \@namedef{#2markformat}{\csname the#2\endcsname\autodot\endskip}%
+ }{}%
+ \@ifundefined{#2mark}{%
+ \expandafter\let\csname #2mark\endcsname\@gobble
+ }{}%
+ }{%
+ \DeclareSectionNumberDepth{#2}{\csname #2numdepth\endcsname}%
+ }%
+ \scr@ifundefinedorrelax{#2tocdepth}{%
+ \expandafter\let\csname #2tocdepth\expandafter\endcsname
+ \csname #2numdepth\endcsname
+ }{}%
+ \expandafter\providecommand\expandafter*%
+ \csname add#2tocentry\endcsname[2]{%
+ \addtocentrydefault{#2}{##1}{##2}%
+ }%
+ \scr@ifundefinedorrelax{l@#2}{%
+ \expandafter\edef\csname l@#2\endcsname{%
+ \noexpand\bprot@dottedtocline
+ \expandafter\noexpand\csname #2tocdepth\endcsname
+ \expandafter\noexpand\csname scr@#2@tocindent\endcsname
+ \expandafter\noexpand\csname scr@#2@tocnumwidth\endcsname
+ }%
+ }{}%
}%
}
-\newcommand*{\ifunnumbered}[1]{%
- \scr@ifundefinedorrelax{#1numdepth}{%
- \@firstoftwo
+\newcommand*{\scr@declaresectioncommanderror}[3]{%
+ \ClassError{\KOMAClassName}{%
+ #2 of \expandafter\string\csname #1\endcsname\space unknown%
}{%
- \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
+ Please use option `#3' to declare the #2.\MessageBreak
+ If you'll continue, declaration will be ignored%
}%
+ \aftergroup\@gobbletwo
}
-\newcounter{part}
-\renewcommand*{\thepart}{\@Roman\c@part}
-\newcommand*{\partformat}{\partname~\thepart\autodot}
-\newcounter{chapter}
-\renewcommand*{\thechapter}{\@arabic\c@chapter}
-\newcommand*{\chapterformat}{%
- \mbox{\chapappifchapterprefix{\nobreakspace}\thechapter\autodot\enskip}%
+\newcommand*{\DeclareNewSectionCommand}[2][]{%
+ \@ifundefined{#2}{%
+ \DeclareSectionCommand[{#1}]{#2}%
+ }{%
+ \ClassError{\KOMAClassName}{%
+ command `\expandafter\string\csname #1\endcsname` already defined%
+ }{%
+ You've tried to define the section command `\expandafter\string\csname
+ #1\endcsname` newly,\MessageBreak
+ but a command, token, box or length with this name already
+ exists.\MessageBreak
+ Maybe you should use one of \string\DeclareSectionCommand,
+ \string\RedeclareSectionCommand,\MessageBreak
+ or \string\ProvideSectionCommand.\MessageBreak
+ If you'll continue, the command will be irgnored.%
+ }%
+ }%
}
-\newcommand*\chaptermarkformat{\chapappifchapterprefix{\ }%
- \thechapter\autodot\enskip}
-\newcounter{section}[chapter]
-\renewcommand*\thesection{%
- \thechapter.%
- \@arabic\c@section
+\newcommand*{\RedeclareSectionCommand}[2][]{%
+ \@ifundefined{#2}{%
+ \ClassError{\KOMAClassName}{%
+ command `\expandafter\string\csname #1\endcsname` not defined%
+ }{%
+ You've tried to re-define the section command `\expandafter\string\csname
+ #1\endcsname`,\MessageBreak
+ but a command with this name does not exists.\MessageBreak
+ Maybe you should use one of \string\DeclareSectionCommand,
+ \string\DeclareNewSectionCommand,\MessageBreak
+ or \string\ProvideSectionCommand.\MessageBreak
+ If you'll continue, the command will be irgnored.%
+ }%
+ }{%
+ \DeclareSectionCommand[{#1}]{#2}%
+ }%
}
-\newcommand*\sectionmarkformat{\thesection\autodot\enskip}
-\newcounter{subsection}[section]
-\renewcommand*{\thesubsection}{\thesection.\@arabic\c@subsection}
-\newcounter{subsubsection}[subsection]
-\renewcommand*{\thesubsubsection}{%
- \thesubsection.\@arabic\c@subsubsection
+\newcommand*{\ProvideSectionCommand}[2][]{%
+ \@ifundefined{#2}{%
+ \DeclareSectionCommand[{#1}]{#2}%
+ }{%
+ \ClassInfo{\KOMAClassName}{%
+ \string\ProvideSectionCommand{#1} ignored%
+ }%
+ }%
}
-\newcounter{paragraph}[subsubsection]
-\renewcommand*{\theparagraph}{\thesubsubsection.\@arabic\c@paragraph}
-\newcounter{subparagraph}[paragraph]
-\renewcommand*{\thesubparagraph}{%
- \theparagraph.\@arabic\c@subparagraph
+\newcommand*{\DeclareSectionCommands}[2][]{%
+ \edef\reserved@a{#2}%
+ \let\scr@local@levelincrease\z@
+ \let\scr@local@leveloffset\z@
+ \let\scr@local@tocleveloffset\z@
+ \@for\reserved@a:=\reserved@a\do{%
+ \edef\reserved@a{%
+ \unexpanded{\DeclareSectionCommand[{#1}]}{\reserved@a}%
+ }%
+ \reserved@a
+ }%
+ \let\scr@local@levelincrease\relax
+ \let\scr@local@leveloffset\relax
+ \let\scr@local@tocleveloffset\relax
+}
+\newcommand*{\DeclareNewSectionCommands}[2][]{%
+ \edef\reserved@a{#2}%
+ \let\scr@local@levelincrease\z@
+ \let\scr@local@leveloffset\z@
+ \let\scr@local@tocleveloffset\z@
+ \@for\reserved@a:=\reserved@a\do{%
+ \@ifundefined{\reserved@a}{}{%
+ \ClassError{\KOMAClassName}{%
+ command `\expandafter\string\csname\reserved@a\endcsname` already
+ defined%
+ }{%
+ You've tried to define the section command
+ `\expandafter\string\csname\reserved@a\endcsname` newly,\MessageBreak
+ but a command, token, box or length with this name already
+ exists.\MessageBreak
+ Maybe you should use one of \string\DeclareSectionCommand,
+ \string\RedeclareSectionCommand,\MessageBreak
+ or \string\ProvideSectionCommand.\MessageBreak
+ Nevertheless, if you'll continue, the command will be defined.%
+ }%
+ }%
+ \edef\reserved@a{%
+ \unexpanded{\DeclareSectionCommand[{#1}]}{\reserved@a}%
+ }%
+ \reserved@a
+ }%
+ \let\scr@local@levelincrease\relax
+ \let\scr@local@leveloffset\relax
+ \let\scr@local@tocleveloffset\relax
+}
+\newcommand*{\RedeclareSectionCommands}[2][]{%
+ \edef\reserved@a{#2}%
+ \let\scr@local@levelincrease\z@
+ \let\scr@local@leveloffset\z@
+ \let\scr@local@tocleveloffset\z@
+ \@for\reserved@a:=\reserved@a\do{%
+ \@ifundefined{\reserved@a}{%
+ \ClassError{\KOMAClassName}{%
+ command `\expandafter\string\csname\reserved@a\endcsname` not defined%
+ }{%
+ You've tried to re-define the section command
+ `\expandafter\string\csname\reserved@a\endcsname`,\MessageBreak
+ but a command with this name does not exists.\MessageBreak
+ Maybe you should use one of \string\DeclareSectionCommand,
+ \string\DeclareNewSectionCommand,\MessageBreak
+ or \string\ProvideSectionCommand.\MessageBreak
+ Nevertheless, if you'll continue, the command will be defined.%
+ }%
+ }{}%
+ \edef\reserved@a{%
+ \unexpanded{\DeclareSectionCommand[{#1}]}{\reserved@a}%
+ }%
+ \reserved@a
+ }%
+ \let\scr@local@levelincrease\relax
+ \let\scr@local@leveloffset\relax
+ \let\scr@local@tocleveloffset\relax
+}
+\newcommand*{\ProvideSectionCommands}[2][]{%
+ \edef\reserved@a{#2}%
+ \let\scr@local@levelincrease\z@
+ \let\scr@local@leveloffset\z@
+ \let\scr@local@tocleveloffset\z@
+ \@for\reserved@a:=\reserved@a\do{%
+ \@ifundefined{\reserved@a}{%
+ \edef\reserved@a{%
+ \unexpanded{\DeclareSectionCommand[{#1}]}{\reserved@a}%
+ }%
+ \reserved@a
+ }{%
+ \DefineFamilyKey[.dsc]{KOMAarg}{style}{}%
+ \FamilyCounterMacroKey[.dsc]{KOMAarg}{increaselevel}[1]%
+ {\scr@local@levelincrease}%
+ \DefineFamilyKey[.dsc]{KOMAarg}{level}{%
+ \FamilySetCounterMacro{KOMAarg}{level}{\reserved@b}{##1}%
+ \edef\scr@local@leveloffset{%
+ \the\numexpr\scr@local@leveloffset+\scr@local@levelincrease\relax
+ }%
+ \edef\scr@local@tocleveloffset{%
+ \the\numexpr\scr@local@tocleveloffset+\scr@local@levelincrease\relax
+ }%
+ }%
+ \DefineFamilyKey[.dsc]{KOMAarg}{indent}{}%
+ \DefineFamilyKey[.dsc]{KOMAarg}{beforeskip}{}%
+ \DefineFamilyKey[.dsc]{KOMAarg}{afterskip}{}%
+ \DefineFamilyKey[.dsc]{KOMAarg}{font}{}%
+ \DefineFamilyKey[.dsc]{KOMAarg}{counterwidthin}{}%
+ \DefineFamilyKey[.dsc]{KOMAarg}{toclevel}{}%
+ \DefineFamilyKey[.dsc]{KOMAarg}{tocindent}{}%
+ \DefineFamilyKey[.dsc]{KOMAarg}{tocnumwidth}{}%
+ \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}%
+ }%
+ }%
+ \let\scr@local@levelincrease\relax
+ \let\scr@local@leveloffset\relax
+ \let\scr@local@tocleveloffset\relax
}
-\newcommand*{\othersectionlevelsformat}[3]{#3\autodot\enskip}
-\renewcommand*{\@seccntformat}[1]{%
- \protect\othersectionlevelsformat{#1}{%
- \expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}%
+\newcommand*{\use@preamble}[1]{%
+ \@ifundefined{#1@preamble}{}{%
+ \@nameuse{#1@preamble}%
+ \global\expandafter\let\csname#1@preamble\endcsname=\relax
+ }%
}
-\newcommand*\partname{Part}
-\newcommand*\chaptername{Chapter}
-\newcommand*\abstractname{Abstract}
-\newcommand*\appendixname{Appendix}
-\newcommand*{\chapappifprefix}[1][]{%
- \ClassWarning{\KOMAClassName}{%
- Please don't use obsolete command
- \string\chapappifprefix.\MessageBreak
- The new command \string\chapappifchapterprefix\space has
- an\MessageBreak
- obligatory instead of an optional argument. Use that\MessageBreak
- new command%
+\newcommand*{\set@preamble}[1]{%
+ \@ifnextchar [%]
+ {\set@@preamble{#1}}{\set@@@preamble{#1}[][\hsize]}%
+}
+\newcommand*{\set@@preamble}{}
+\def\set@@preamble#1[#2]{%
+ \@ifnextchar [%]
+ {\set@@@preamble{#1}[{#2}]}{\set@@@preamble{#1}[{#2}][\hsize]}%
+}
+\newcommand{\set@@@preamble}{}
+\long\def\set@@@preamble#1[#2][#3]#4{%
+ \begingroup
+ \def\prmbl@pos{#2}\let\prmbl@hpos\relax\let\prmbl@vpos\relax
+ \expandafter \@tfor \expandafter \@tempa
+ \expandafter :\expandafter =\prmbl@pos
+ \do{%
+ \if \@tempa l%
+ \set@preamble@hpos{0}{#2}%
+ \fi%
+ \if \@tempa c%
+ \set@preamble@hpos{1}{#2}%
+ \fi%
+ \if \@tempa r%
+ \set@preamble@hpos{2}{#2}%
+ \fi%
+ \if \@tempa u%
+ \set@preamble@vpos{0}{#2}%
+ \fi%
+ \if \@tempa b%
+ \set@preamble@vpos{0}{#2}%
+ \fi
+ \if \@tempa o%
+ \set@preamble@vpos{1}{#2}%
+ \fi%
+ \if \@tempa t%
+ \set@preamble@vpos{1}{#2}%
+ \fi
+ }%
+ \@ifundefined{prmbl@hpos}{\def\prmbl@hpos{0}}{}%
+ \@ifundefined{prmbl@vpos}{\def\prmbl@vpos{0}}{}%
+ \ifcase\prmbl@hpos
+ \ifcase\prmbl@vpos
+ \set@@@@preamble{#1@u}{t}{#3}{}{\hfil}{#4}%
+ \else
+ \set@@@@preamble{#1@o}{b}{#3}{}{\hfil}{#4}%
+ \fi
+ \or
+ \ifcase\prmbl@vpos
+ \set@@@@preamble{#1@u}{t}{#3}{\hfil}{\hfil}{#4}%
+ \else
+ \set@@@@preamble{#1@o}{b}{#3}{\hfil}{\hfil}{#4}%
+ \fi
+ \else
+ \ifcase\prmbl@vpos
+ \set@@@@preamble{#1@u}{t}{#3}{\hfil}{}{#4}%
+ \else
+ \set@@@@preamble{#1@o}{b}{#3}{\hfil}{}{#4}%
+ \fi
+ \fi
+ \endgroup
+}
+\newcommand{\set@@@@preamble}[6]{%
+ \expandafter\gdef\csname #1@preamble\endcsname{%
+ \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}%
}%
- \if@chapterprefix\chapapp#1\fi
}
-\newcommand*{\chapappifchapterprefix}[1]{%
- \if@chapterprefix\chapapp#1\fi
+\newcommand*{\set@preamble@hpos}[2]{%
+ \@ifundefined{prbml@hpos}{%
+ \def\prmbl@hpos{#1}%
+ }{%
+ \ifnum \prmbl@hpos=0\relax\else%
+ \ClassError{\KOMAClassName}{%
+ inconsistent hpos options%
+ }{%
+ You've said `#2' as position option. But you have
+ to\MessageBreak
+ use only one of `l', `r', or `c' not two of
+ these.\MessageBreak
+ If you'll continue only first hpos option will be
+ used%
+ }%
+ \fi
+ }%
+}
+\newcommand*{\set@preamble@vpos}[2]{%
+ \@ifundefined{prbml@vpos}{%
+ \def\prmbl@vpos{#1}%
+ }{%
+ \ifnum \prmbl@vpos=0\relax\else%
+ \ClassError{\KOMAClassName}{%
+ inconsistent vpos options%
+ }{%
+ You've said `#2' as position option. But you have
+ to\MessageBreak
+ use only one of `t', `o', `b', or `u' not two of
+ these.\MessageBreak
+ If you'll continue only first vpos option will be
+ used%
+ }%
+ \fi
+ }%
+}
+\newcommand*{\bprot@dottedtocline}[5]{%
+ \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
+ \ifnum #1>\c@tocdepth \else
+ \begingroup
+ \@tempcnta 20010
+ \advance \@tempcnta by -#1
+ \ifnum \@tempcnta>\lastpenalty
+ \endgroup
+ \addpenalty{\@lowpenalty}%
+ \else
+ \endgroup
+ \fi
+ \@dottedtocline{#1}{#2}{#3}{#4}{#5}%
+ \@tempcnta 20009
+ \advance \@tempcnta by -#1
+ \penalty\@tempcnta
+ \fi
+ \else
+ \@dottedtocline{#1}{#2}{#3}{#4}{#5}%
+ \fi
+}
+\newcommand*\appendix{\par%
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@Alph\c@chapter}%
+ \csname appendixmore\endcsname
+}
+\newcommand*{\partnumdepth}{%
+ \m@ne
+}
+\newcommand*{\scr@part@sectionbeforeskip}{%
+ \z@ \@plus 1fil + \baselineskip
}
-\newcommand*{\chapapp}{\@chapapp}
-\newcommand*\@chapapp{\chaptername}
\newcommand*{\partheadstartvskip}{%
- \null\vfil
+ \null\vskip-\baselineskip\vskip\@tempskipa
}
\newcommand*{\partheadmidvskip}{%
\par\nobreak
\vskip 20\p@
}
+\newcommand*{\scr@part@sectionafterskip}{%
+ \z@ \@plus 1fil
+}
\newcommand*{\partheadendvskip}{%
- \vfil\newpage
+ \vskip\@tempskipa\newpage
}
+\newcommand*{\scr@part@sectionindent}{\z@}
+\newcommand*{\scr@part@style}{}
\newcommand*{\partheademptypage}{%
\if@twoside\if@openright
\null%
@@ -2614,6 +3080,8 @@
\else
\@tempswafalse
\fi
+ \@tempskipa=\glueexpr\scr@part@sectionbeforeskip\relax
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\partheadstartvskip
\vbox to\z@{\vss\use@preamble{part@o}\strut\par}%
\vskip-\baselineskip\nobreak%
@@ -2679,12 +3147,19 @@
\@endpart
}
\newcommand*{\@endpart}{\vbox to\z@{\use@preamble{part@u}\vss}%
+ \@tempskipa=\glueexpr\scr@part@sectionafterskip\relax
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\partheadendvskip
\partheademptypage
\if@tempswa
\twocolumn
\fi
}
+\newcommand*{\setpartpreamble}{\set@preamble{part}}
+\newcommand*{\part@u@preamble}{}
+\let\part@u@preamble\relax
+\newcommand*{\part@o@preamble}{}
+\let\part@o@preamble\relax
\newcommand*{\addparttocentry}[2]{%
\addtocentrydefault{part}{#1}{#2}%
}
@@ -2738,6 +3213,50 @@
\newcommand*{\@saddpart}{\@spart}
\newcommand*{\partmark}{}
\let\partmark\@gobble
+\newcommand*{\parttocdepth}{\m@ne}
+\let\parttocdepth\m@ne
+\newcommand*{\scr@part@tocindent}{\z@}
+\let\scr@part@tocindent\z@
+\newcommand*{\scr@part@tocnumwidth}{2em}
+\newcommand*\l@part[2]{%
+ \ifnum \c@tocdepth <\parttocdepth \else
+ \addpenalty{-\@highpenalty}%
+ \addvspace{2.25em \@plus\p@}%
+ \setlength{\@tempdima}{\scr@part@tocnumwidth}%
+ \if@tocleft
+ \ifx\toc@l@number\@empty\else
+ \setlength\@tempdima{0\toc@l@number}%
+ \fi
+ \fi
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ \usekomafont{partentry}{#1\nobreak
+ \usekomafont{partentrypagenumber}{\hfil\nobreak
+ \hb@xt@\@pnumwidth{\hss#2}}}\par
+ \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
+ \endgroup
+ \penalty20010
+ \else
+ \penalty\@highpenalty
+ \endgroup
+ \fi
+ \fi
+}
+\newcounter{part}
+\renewcommand*{\thepart}{\@Roman\c@part}
+\newcommand*{\partformat}{\partname~\thepart\autodot}
+\newcommand*\partname{Part}
+\newcommand*{\raggedpart}{}
+\let\raggedpart\centering
+\newcommand*{\scr@fnt@part}{\size@part}
+\newcommand*{\scr@fnt@partnumber}{\size@partnumber}
+\newkomafont{partentry}{\usekomafont{disposition}\large}
+\newkomafont{partentrypagenumber}{}
+\newcommand*{\chapternumdepth}{\z@}
\newif\if@at@twocolumn
\newcommand*\scr@topnewpage{}
\let\scr@topnewpage\@topnewpage
@@ -2745,17 +3264,32 @@
\@at@twocolumntrue\scr@topnewpage[{#1}]\@at@twocolumnfalse
}
\newcommand*{\use@chapter@o@preamble}{%
- {\settoheight{\@tempdima}{\vbox{\chapterheadstartvskip}}%
- \settodepth{\@tempdimb}{\vbox{\chapterheadstartvskip}}%
+ {%
+ \settoheight{\@tempdima}{%
+ \@tempskipa=\glueexpr \scr@chapter@sectionbeforeskip\relax
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
+ \vbox{\chapterheadstartvskip}%
+ }%
+ \settodepth{\@tempdimb}{%
+ \@tempskipa=\glueexpr \scr@chapter@sectionbeforeskip\relax
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
+ \vbox{\chapterheadstartvskip}%
+ }%
\addtolength{\@tempdima}{\@tempdimb}%
- \setbox0\vbox{\use@preamble{chapter@o}%
- \vskip-\parskip}%
+ \setbox0\vbox{%
+ \vskip-\ht\strutbox
+ \use@preamble{chapter@o}%
+ \vskip\baselineskip
+ }%
\setlength{\@tempdimb}{\ht0}%
\addtolength{\@tempdimb}{\dp0}%
\vbox to \z@{%
- \vbox to \@tempdima{\vfill\box0}%
- \vskip-\@tempdima%
+ \vbox to \@tempdima{%
+ \vfill
+ \unvbox0
}%
+ \vss
+ }\vskip-\parskip\vskip-\baselineskip
\ifdim \@tempdimb>\@tempdima%
\addtolength{\@tempdimb}{-\@tempdima}%
\ClassWarning{\KOMAClassName}{%
@@ -2838,33 +3372,53 @@
\newcommand*{\@makechapterhead}[1]{%
\use@chapter@o@preamble
\@@makechapterhead{#1}%
- \use@preamble{chapter@u}\nobreak
+ \use@preamble{chapter@u}%
}
-\newcommand*{\@@makechapterhead}[1]{\chapterheadstartvskip
+\newcommand*{\@@makechapterhead}[1]{%
+ \@tempskipa=\glueexpr \scr@chapter@sectionbeforeskip\relax
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
+ \chapterheadstartvskip
{%
\setlength{\parindent}{\z@}\setlength{\parfillskip}{\fill}%
- \normalfont\sectfont\nobreak\size@chapter{}%
+ \normalfont\sectfont\nobreak\nobreak\usekomafont{chapter}{}%
+ \def\IfUseNumber{\ifnumbered{chapter}}%
\if@chapterprefix
- \let\@tempa\raggedsection
+ \raggedchapter
+ \let\IfUsePrefixLine\@firstoftwo
+ \let\@tempa\@firstofone
\else
+ \let\IfUsePrefixLine\@secondoftwo
\let\@tempa\@hangfrom
\fi
\@tempa{%
- \ifnumbered{chapter}{%
- \if@chapterprefix
- \expandafter\size@chapterprefix
- \else
- \expandafter\size@chapter
- \fi
- {\chapterformat}%
- \if@chapterprefix
- \size@chapterprefix{}\endgraf\nobreak\vskip.5\baselineskip
- \fi
+ \IfUseNumber{%
+ \usekomafont{chapter}{%
+ \IfUsePrefixLine{%
+ {\usekomafont{chapterprefix}{%
+ \chapterformat\chapterheadmidvskip
+ }}%
+ }{%
+ \chapterformat
+ }%
+ }%
}{}%
}%
- {\raggedsection \interlinepenalty \@M \size@chapter{#1}\par}}%
- \nobreak\chapterheadendvskip
+ {%
+ \IfUsePrefixLine{}{\raggedchapter}%
+ \interlinepenalty \@M
+ \usekomafont{chapter}{#1}\par
+ }%
+ }%
+ \nobreak\par\nobreak
+ \@tempskipa=\glueexpr \scr@chapter@sectionafterskip\relax
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
+ \chapterheadendvskip
}
+\newcommand*{\setchapterpreamble}{\set@preamble{chapter}}
+\newcommand*{\chapter@u@preamble}{}
+\let\chapter@u@preamble\relax
+\newcommand*{\chapter@o@preamble}{}
+\let\chapter@o@preamble\relax
\newcommand*{\addchaptertocentry}[2]{%
\addtocentrydefault{chapter}{#1}{#2}%
\if@chaptertolists
@@ -2889,16 +3443,23 @@
\fi
}
\newcommand*{\@@makeschapterhead}[1]{%
- \chapterheadstartvskip%
- {\normalfont\sectfont\nobreak\size@chapter{}%
+ \@tempskipa=\glueexpr \scr@chapter@sectionbeforeskip\relax
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
+ \chapterheadstartvskip
+ {%
\setlength{\parindent}{\z@}\setlength{\parfillskip}{\fill}%
- \raggedsection \interlinepenalty \@M \size@chapter{#1}\par}%
- \nobreak\chapterheadendvskip%
+ \normalfont\sectfont\nobreak\nobreak\usekomafont{chapter}{}%
+ \raggedchapter \interlinepenalty \@M \usekomafont{chapter}{#1}\par
+ }%
+ \nobreak\par\nobreak
+ \@tempskipa=\glueexpr \scr@chapter@sectionafterskip\relax
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
+ \chapterheadendvskip%
}
\newcommand*{\@makeschapterhead}[1]{%
\use@chapter@o@preamble
\@@makeschapterhead{#1}%
- \use@preamble{chapter@u}\nobreak
+ \use@preamble{chapter@u}%
}
\newcommand\addchap{%
\if@openright\cleardoublepage\else\clearpage\fi
@@ -2947,6 +3508,96 @@
\addchapmark{\scr@ds@head}%
}%
\newcommand*{\@saddchap}[1]{\@schapter{#1}\addchapmark{}}%
+\newcommand*{\chaptertocdepth}{\z@}
+\let\chaptertocdepth\z@
+\newcommand*{\scr@chapter@tocindent}{\z@}
+\let\scr@chapter@tocindent\z@
+\newcommand*{\scr@chapter@tocnumwidth}{1.5em}
+\newcommand*\l@chapter[2]{%
+ \ifnum \c@tocdepth <\chaptertocdepth \else
+ \ifnum \lastpenalty<20010
+ \addpenalty{-\@highpenalty}%
+ \fi
+ \ifnum \scr@compatibility<\@nameuse{scr@v@3.15}%
+ \vskip 1.0em \@plus\p@
+ \else
+ \addvspace{1.0em \@plus\p@}%
+ \fi
+ \setlength\@tempdima{\scr@chapter@tocnumwidth}%
+ \if@tocleft
+ \ifx\toc@l@number\@empty\else
+ \setlength\@tempdima{0\toc@l@number}%
+ \fi
+ \fi
+ \begingroup
+ \raggedchapterentry
+ \parindent \z@ \advance\rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \interlinepenalty\@M
+ \leavevmode
+ \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+ \edef\@pnumwidth{\the\dimexpr\@pnumwidth\relax}%
+ \usekomafont{chapterentry}{#1\nobreak
+ \usekomafont{chapterentrypagenumber}{%
+ {\usekomafont{chapterentrydots}{%
+ \if@chapterentrywithdots
+ \leaders\hbox{$\m@th
+ \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ mu$}%
+ \fi
+ \hfill}}\nobreak
+ \hb@xt@\@pnumwidth{\hss#2}}}\par
+ \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
+ \endgroup
+ \penalty20009
+ \else
+ \penalty\@highpenalty
+ \endgroup
+ \fi
+ \fi
+}
+\newcommand*{\raggedchapterentry}{}
+\newcommand*{\l@chapteratlist}{\l@chapter}
+\newcounter{chapter}
+\renewcommand*{\thechapter}{\@arabic\c@chapter}
+\newcommand*{\chapterformat}{%
+ \mbox{\chapappifchapterprefix{\nobreakspace}\thechapter\autodot\enskip}%
+}
+\newcommand*\chaptermarkformat{\chapappifchapterprefix{\ }%
+ \thechapter\autodot\enskip}
+\newcommand*\chaptername{Chapter}
+\newcommand*\appendixname{Appendix}
+\newcommand*{\chapappifprefix}[1][]{%
+ \ClassWarning{\KOMAClassName}{%
+ Please don't use obsolete command
+ \string\chapappifprefix.\MessageBreak
+ The new command \string\chapappifchapterprefix\space has
+ an\MessageBreak
+ obligatory instead of an optional argument. Use that\MessageBreak
+ new command%
+ }%
+ \if@chapterprefix\chapapp#1\fi
+}
+\newcommand*{\chapappifchapterprefix}[1]{%
+ \if@chapterprefix\chapapp#1\fi
+}
+\newcommand*{\chapapp}{\@chapapp}
+\newcommand*\@chapapp{\chaptername}
+\newcommand*\chaptermark[1]{}
+\newcommand*\addchapmark[1]{%
+ \begingroup
+ \expandafter\let\csname if@mainmatter\expandafter\endcsname
+ \csname iffalse\endcsname
+ \c@secnumdepth=\m@ne
+ \chaptermark{#1}%
+ \endgroup
+}
+\newcommand*{\raggedchapter}{\raggedsection}
+\newcommand*{\scr@fnt@chapter}{\size@chapter}
+\newcommand*{\scr@fnt@chapterprefix}{\size@chapterprefix}
+\newkomafont{chapterentry}{\usekomafont{disposition}}
+\newkomafont{chapterentrypagenumber}{}
+\newkomafont{chapterentrydots}{\normalfont}
\newcommand*\addsec{\SecDef\@addsec\@saddsec}
\newcommand*{\@addsec}{}
\def\@addsec[#1]#2{\section*{#2}%
@@ -2974,56 +3625,6 @@
\addsecmark{\scr@ds@head}%
}
\newcommand*{\@saddsec}[1]{\section*{#1}\addsecmark{}}
-\newcommand*{\addsectiontocentry}[2]{%
- \addtocentrydefault{section}{#1}{#2}%
-}
-\newcommand*{\addsubsectiontocentry}[2]{%
- \addtocentrydefault{subsection}{#1}{#2}%
-}
-\newcommand*{\addparagraphtocentry}[2]{%
- \addtocentrydefault{paragraph}{#1}{#2}%
-}
-\newcommand*{\addsubparagraphtocentry}[2]{%
- \addtocentrydefault{subparagraph}{#1}{#2}%
-}
-\newcommand\section{%
- \scr@startsection{section}{\sectionnumdepth}{\z@}%
- {-3.5ex \@plus -1ex \@minus -.2ex}%
- {2.3ex \@plus.2ex}%
- {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
- \setlength{\parfillskip}{\z@ plus 1fil}\fi
- \raggedsection\normalfont\sectfont\nobreak\size@section}%
-}
-\newcommand\subsection{%
- \scr@startsection{subsection}{\subsectionnumdepth}{\z@}%
- {-3.25ex\@plus -1ex \@minus -.2ex}%
- {1.5ex \@plus .2ex}%
- {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
- \setlength{\parfillskip}{\z@ plus 1fil}\fi
- \raggedsection\normalfont\sectfont\nobreak\size@subsection
- }%
-}
-\newcommand\subsubsection{%
- \scr@startsection{subsubsection}{\subsubsectionnumdepth}{\z@}%
- {-3.25ex\@plus -1ex \@minus -.2ex}%
- {1.5ex \@plus .2ex}%
- {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
- \setlength{\parfillskip}{\z@ plus 1fil}\fi
- \raggedsection\normalfont\sectfont\nobreak\size@subsubsection
- }%
-}
-\newcommand\paragraph{%
- \scr@startsection{paragraph}{\paragraphnumdepth}{\z@}%
- {3.25ex \@plus1ex \@minus.2ex}%
- {-1em}%
- {\raggedsection\normalfont\sectfont\nobreak\size@paragraph}%
-}
-\newcommand\subparagraph{%
- \scr@startsection{subparagraph}{\subparagraphnumdepth}{\parindent}%
- {3.25ex \@plus1ex \@minus .2ex}%
- {-1em}%
- {\raggedsection\normalfont\sectfont\nobreak\size@subparagraph}%
-}
\newkomafont{minisec}{}
\newcommand\minisec[1]{%
\ifnum \scr@compatibility<\@nameuse{scr@v@3.13a}\relax
@@ -3045,231 +3646,104 @@
\usekomafont{minisec}#1\par\nobreak}\nobreak%
\@afterheading
}
-\newcommand*{\raggedsection}{}
-\let\raggedsection\raggedright
-\newcommand*{\raggedpart}{}
-\let\raggedpart\centering
-\newkomafont{partentry}{\usekomafont{disposition}\large}
-\newkomafont{partentrypagenumber}{}
-\newkomafont{chapterentry}{\usekomafont{disposition}}
-\newkomafont{chapterentrypagenumber}{}
-\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}
-\newcommand*{\scr@fnt@chapterprefix}{\size@chapterprefix}
-\newcommand*{\scr@fnt@section}{\size@section}
-\newcommand*{\scr@fnt@subsection}{\size@subsection}
-\newcommand*{\scr@fnt@subsubsection}{\size@subsubsection}
-\newcommand*{\scr@fnt@paragraph}{\size@paragraph}
-\newcommand*{\scr@fnt@subparagraph}{\size@subparagraph}
-\newcommand*{\use@preamble}[1]{%
- \@ifundefined{#1@preamble}{}{%
- \@nameuse{#1@preamble}%
- \global\expandafter\let\csname#1@preamble\endcsname=\relax
- }%
-}
-\newcommand*{\set@preamble}[1]{%
- \@ifnextchar [%]
- {\set@@preamble{#1}}{\set@@@preamble{#1}[][\hsize]}%
+\newcommand*{\addsectiontocentry}[2]{%
+ \addtocentrydefault{section}{#1}{#2}%
}
-\newcommand*{\set@@preamble}{}
-\def\set@@preamble#1[#2]{%
- \@ifnextchar [%]
- {\set@@@preamble{#1}[{#2}]}{\set@@@preamble{#1}[{#2}][\hsize]}%
+\newcommand*{\addsubsectiontocentry}[2]{%
+ \addtocentrydefault{subsection}{#1}{#2}%
}
-\newcommand{\set@@@preamble}{}
-\long\def\set@@@preamble#1[#2][#3]#4{%
- \begingroup
- \def\prmbl@pos{#2}\let\prmbl@hpos\relax\let\prmbl@vpos\relax
- \expandafter \@tfor \expandafter \@tempa
- \expandafter :\expandafter =\prmbl@pos
- \do{%
- \if \@tempa l%
- \set@preamble@hpos{0}{#2}%
- \fi%
- \if \@tempa c%
- \set@preamble@hpos{1}{#2}%
- \fi%
- \if \@tempa r%
- \set@preamble@hpos{2}{#2}%
- \fi%
- \if \@tempa u%
- \set@preamble@vpos{0}{#2}%
- \fi%
- \if \@tempa b%
- \set@preamble@vpos{0}{#2}%
- \fi
- \if \@tempa o%
- \set@preamble@vpos{1}{#2}%
- \fi%
- \if \@tempa t%
- \set@preamble@vpos{1}{#2}%
- \fi
- }%
- \@ifundefined{prmbl@hpos}{\def\prmbl@hpos{0}}{}%
- \@ifundefined{prmbl@vpos}{\def\prmbl@vpos{0}}{}%
- \ifcase\prmbl@hpos
- \ifcase\prmbl@vpos
- \set@@@@preamble{#1@u}{t}{#3}{}{\hfil}{#4}%
- \else
- \set@@@@preamble{#1@o}{b}{#3}{}{\hfil}{#4}%
- \fi
- \or
- \ifcase\prmbl@vpos
- \set@@@@preamble{#1@u}{t}{#3}{\hfil}{\hfil}{#4}%
- \else
- \set@@@@preamble{#1@o}{b}{#3}{\hfil}{\hfil}{#4}%
- \fi
- \else
- \ifcase\prmbl@vpos
- \set@@@@preamble{#1@u}{t}{#3}{\hfil}{}{#4}%
- \else
- \set@@@@preamble{#1@o}{b}{#3}{\hfil}{}{#4}%
- \fi
- \fi
- \endgroup
+\newcommand*{\addparagraphtocentry}[2]{%
+ \addtocentrydefault{paragraph}{#1}{#2}%
}
-\newcommand{\set@@@@preamble}[6]{%
- \expandafter\gdef\csname #1@preamble\endcsname{%
- \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}%
- }%
+\newcommand*{\addsubparagraphtocentry}[2]{%
+ \addtocentrydefault{subparagraph}{#1}{#2}%
}
-\newcommand*{\set@preamble@hpos}[2]{%
- \@ifundefined{prbml@hpos}{%
- \def\prmbl@hpos{#1}%
- }{%
- \ifnum \prmbl@hpos=0\relax\else%
- \ClassError{\KOMAClassName}{%
- inconsistent hpos options%
- }{%
- You've said `#2' as position option. But you have
- to\MessageBreak
- use only one of `l', `r', or `c' not two of
- these.\MessageBreak
- If you'll continue only first hpos option will be
- used%
- }%
- \fi
- }%
+\newcounter{section}[chapter]
+\renewcommand*\thesection{%
+ \thechapter.%
+ \@arabic\c@section
}
-\newcommand*{\set@preamble@vpos}[2]{%
- \@ifundefined{prbml@vpos}{%
- \def\prmbl@vpos{#1}%
- }{%
- \ifnum \prmbl@vpos=0\relax\else%
- \ClassError{\KOMAClassName}{%
- inconsistent vpos options%
- }{%
- You've said `#2' as position option. But you have
- to\MessageBreak
- use only one of `t', `o', `b', or `u' not two of
- these.\MessageBreak
- If you'll continue only first vpos option will be
- used%
- }%
- \fi
- }%
+\newcommand*\sectionmarkformat{\thesection\autodot\enskip}
+\newcounter{subsection}[section]
+\renewcommand*{\thesubsection}{\thesection.\@arabic\c@subsection}
+\newcounter{subsubsection}[subsection]
+\renewcommand*{\thesubsubsection}{%
+ \thesubsection.\@arabic\c@subsubsection
}
-\newcommand*{\setchapterpreamble}{\set@preamble{chapter}}
-\newcommand*{\chapter@u@preamble}{}
-\let\chapter@u@preamble\relax
-\newcommand*{\chapter@o@preamble}{}
-\let\chapter@o@preamble\relax
-\newcommand*{\setpartpreamble}{\set@preamble{part}}
-\newcommand*{\part@u@preamble}{}
-\let\part@u@preamble\relax
-\newcommand*{\part@o@preamble}{}
-\let\part@o@preamble\relax
-\newcommand*\l@part[2]{%
- \ifnum \c@tocdepth >-2\relax
- \addpenalty{-\@highpenalty}%
- \addvspace{2.25em \@plus\p@}%
- \setlength{\@tempdima}{2em}%
- \if@tocleft
- \ifx\toc@l@number\@empty\else
- \setlength\@tempdima{0\toc@l@number}%
- \fi
- \fi
- \begingroup
- \parindent \z@ \rightskip \@pnumwidth
- \parfillskip -\@pnumwidth
- \leavevmode
- \advance\leftskip\@tempdima
- \hskip -\leftskip
- \usekomafont{partentry}{#1\nobreak
- \usekomafont{partentrypagenumber}{\hfil\nobreak
- \hb@xt@\@pnumwidth{\hss#2}}}\par
- \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
- \endgroup
- \penalty20010
- \else
- \penalty\@highpenalty
- \endgroup
- \fi
- \fi
+\newcounter{paragraph}[subsubsection]
+\renewcommand*{\theparagraph}{\thesubsubsection.\@arabic\c@paragraph}
+\newcounter{subparagraph}[paragraph]
+\renewcommand*{\thesubparagraph}{%
+ \theparagraph.\@arabic\c@subparagraph
}
-\newcommand*\l@chapter[2]{%
- \ifnum \c@tocdepth >\m@ne
- \ifnum \lastpenalty<20010
- \addpenalty{-\@highpenalty}%
- \fi
- \vskip 1.0em \@plus\p@
- \setlength\@tempdima{1.5em}%
- \if@tocleft
- \ifx\toc@l@number\@empty\else
- \setlength\@tempdima{0\toc@l@number}%
- \fi
- \fi
- \begingroup
- \raggedchapterentry
- \parindent \z@ \advance\rightskip \@pnumwidth
- \parfillskip -\@pnumwidth
- \interlinepenalty\@M
- \leavevmode
- \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
- \usekomafont{chapterentry}{#1\nobreak
- \usekomafont{chapterentrypagenumber}{%
- \hfill\nobreak
- \hb@xt@\@pnumwidth{\hss#2}}}\par
- \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
- \endgroup
- \penalty20009
- \else
- \penalty\@highpenalty
- \endgroup
- \fi
- \fi
+\newcommand*{\othersectionlevelsformat}[3]{#3\autodot\enskip}
+\renewcommand*{\@seccntformat}[1]{%
+ \protect\othersectionlevelsformat{#1}{%
+ \expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}%
}
-\newcommand*{\raggedchapterentry}{}
-\newcommand*{\l@chapteratlist}{\l@chapter}
-\newcommand*\l@section{\bprot@dottedtocline{1}{1.5em}{2.3em}}
-\newcommand*\l@subsection{\bprot@dottedtocline{2}{3.8em}{3.2em}}
-\newcommand*\l@subsubsection{\bprot@dottedtocline{3}{7.0em}{4.1em}}
-\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}\relax
- \ifnum #1>\c@tocdepth \else
- \begingroup
- \@tempcnta 20010
- \advance \@tempcnta by -#1
- \ifnum \@tempcnta>\lastpenalty
- \endgroup
- \addpenalty{\@lowpenalty}%
- \else
- \endgroup
- \fi
- \@dottedtocline{#1}{#2}{#3}{#4}{#5}%
- \@tempcnta 20009
- \advance \@tempcnta by -#1
- \penalty\@tempcnta
- \fi
- \else
- \@dottedtocline{#1}{#2}{#3}{#4}{#5}%
- \fi
+\newcommand*\addsecmark[1]{%
+ \begingroup
+ \c@secnumdepth=\m@ne
+ \sectionmark{#1}%
+ \endgroup
}
+\newcommand*{\scr@fnt@section}{\size@section}
+\newcommand*{\scr@fnt@subsection}{\size@subsection}
+\newcommand*{\scr@fnt@subsubsection}{\size@subsubsection}
+\newcommand*{\scr@fnt@paragraph}{\size@paragraph}
+\newcommand*{\scr@fnt@subparagraph}{\size@subparagraph}
+\DeclareSectionCommand[%
+ style=section,%
+ level=1,%
+ indent=\z@,%
+ beforeskip=-3.5ex \@plus -1ex \@minus -.2ex,%
+ afterskip=2.3ex \@plus.2ex,%
+ tocindent=1.5em,%
+ tocnumwidth=2.3em%
+]{section}
+\DeclareSectionCommand[%
+ style=section,%
+ level=2,%
+ indent=\z@,%
+ beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,%
+ afterskip=1.5ex \@plus .2ex,%
+ tocindent=3.8em,%
+ tocnumwidth=3.2em%
+]{subsection}
+\DeclareSectionCommand[%
+ style=section,%
+ level=3,%
+ indent=\z@,%
+ beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,%
+ afterskip=1.5ex \@plus .2ex,%
+ tocindent=7.0em,%
+ tocnumwidth=4.1em%
+]{subsubsection}
+\DeclareSectionCommand[%
+ style=section,%
+ level=4,%
+ indent=\z@,%
+ beforeskip=3.25ex \@plus1ex \@minus.2ex,%
+ afterskip=-1em,%
+ tocindent=10em,%
+ tocnumwidth=5em%
+]{paragraph}
+\DeclareSectionCommand[%
+ style=section,%
+ level=5,%
+ indent=\scr@parindent,%
+ beforeskip=3.25ex \@plus1ex \@minus .2ex,%
+ afterskip=-1em,%
+ tocindent=12em,%
+ tocnumwidth=6em%
+]{subparagraph}
+\ifnum \scr@compatibility<\@nameuse{scr@v@3.15}\relax
+ \let\scr@subparagraph@sectionindent\parindent
+\else
+ \def\scr@subparagraph@sectionindent{\scr@parindent}%
+\fi
+\newcommand*{\scr@fnt@disposition}{\sectfont}
+\aliaskomafont{sectioning}{disposition}
%%% From File: $Id: scrkernel-miscellaneous.dtx 1803 2014-10-09 08:18:02Z kohm $
\newif\if@restonecol
\newcommand{\dictum}[2][]{\par%
@@ -4237,7 +4711,7 @@
\endgroup
\@footnotemark
}
-%%% From File: $Id: scrkernel-listsof.dtx 1720 2014-03-05 08:03:10Z kohm $
+%%% From File: $Id: scrkernel-listsof.dtx 1872 2014-12-10 12:51:37Z kohm $
\doforeachtocfile[float]{%
\setuptoc{\@currext}{chapteratlist}%
}