diff options
author | Karl Berry <karl@freefriends.org> | 2015-01-19 23:43:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-01-19 23:43:25 +0000 |
commit | 83b4f07dfc662cf6c2632a34e88a1aad0009e35a (patch) | |
tree | d6c61dbd9ba41e2c7353bdcf23acb151b52601ff /Master/texmf-dist/tex/latex/koma-script/scrreprt.cls | |
parent | 3fef13606c698d4e277aaad8662b082f8f5c6fab (diff) |
koma-script (19jan15)
git-svn-id: svn://tug.org/texlive/trunk@36095 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrreprt.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/koma-script/scrreprt.cls | 1406 |
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}% } |