diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrartcl.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/koma-script/scrartcl.cls | 517 |
1 files changed, 408 insertions, 109 deletions
diff --git a/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls b/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls index df44db28ee8..787dff50f77 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls @@ -84,7 +84,7 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://mirror.ctan.org/tex-archive/macros/latex/base/>. %% -%%% From File: $Id: scrkernel-version.dtx 2674 2017-09-07 09:35:17Z kohm $ +%%% From File: $Id: scrkernel-version.dtx 3050 2018-12-30 14:36:55Z kohm $ \begingroup \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined @@ -106,7 +106,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2018/03/30 v3.25 KOMA-Script}% + \@CheckKOMAScriptVersion{2018/12/30 v3.26a KOMA-Script}% \endgroup \providecommand*{\scr@clsextension}{\@clsextension} \AtBeginDocument{% @@ -121,21 +121,21 @@ \newcommand*{\KOMAClassFileName}{\KOMAClassName.\@clsextension} \edef\KOMAClassFileName{\KOMAClassFileName} \ProvidesClass{\KOMAClassName}[% - 2018/03/30 v3.25 KOMA-Script + 2018/12/30 v3.26a KOMA-Script document class (\ClassName)% ] -%%% From File: $Id: scrkernel-basics.dtx 2818 2017-12-08 08:31:53Z kohm $ +%%% From File: $Id: scrkernel-basics.dtx 3043 2018-11-06 07:50:06Z kohm $ %%% (run: load) \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: $Id: tocbasic.dtx 2709 2017-11-21 08:03:52Z kohm $ +%%% From File: $Id: tocbasic.dtx 3050 2018-12-30 14:36:55Z kohm $ \RequirePackage{tocbasic}[% - 2018/03/30 v3.25 KOMA-Script + 2018/12/30 v3.26a KOMA-Script ] \addtotoclist{toc} \ifstr{\ext@toc}{toc}{}{\expandafter\addtotoclist\expandafter{\ext@toc}} -%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $ +%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $ %%% (run: prepare) -%%% From File: $Id: scrkernel-sections.dtx 2954 2018-03-10 21:15:16Z kohm $ +%%% From File: $Id: scrkernel-sections.dtx 3038 2018-10-14 18:31:51Z kohm $ %%% (run: prepare) \newcommand*{\scr@dotchangeatdocument}[1]{% \ClassError{\KOMAClassName}{% @@ -187,7 +187,7 @@ \newcommand*{\size@paragraph}{} \newcommand*{\size@subparagraph}{} \newcommand*{\sectfont}{\normalcolor\@gr@gsffamily\bfseries} -%%% From File: $Id: scrkernel-compatibility.dtx 2950 2018-03-05 07:54:19Z kohm $ +%%% From File: $Id: scrkernel-compatibility.dtx 3050 2018-12-30 14:36:55Z kohm $ %%% (run: init) \newcommand* {\scr@compatibility}{\scr@v@last} @@ -257,10 +257,12 @@ \@namedef{scr@v@3.23}{16} \@namedef{scr@v@3.24}{16} \@namedef{scr@v@3.25}{17} +\@namedef{scr@v@3.26}{17} +\@namedef{scr@v@3.26a}{17} \@namedef{scr@v@last}{17} -%%% From File: $Id: scrkernel-typearea.dtx 2959 2018-03-15 13:32:29Z kohm $ +%%% From File: $Id: scrkernel-typearea.dtx 2993 2018-07-16 07:33:22Z kohm $ %%% (run: init) -%%% From File: $Id: scrkernel-compatibility.dtx 2950 2018-03-05 07:54:19Z kohm $ +%%% From File: $Id: scrkernel-compatibility.dtx 3050 2018-12-30 14:36:55Z kohm $ %%% (run: option) \newif\if@scr@emulatestandardclasses \let\scr@emulatestandardclassestrue\relax @@ -335,7 +337,7 @@ \newcommand*{\scr@v@is@ge}[1]{% \numexpr\scr@compatibility+\@ne\relax>\@nameuse{scr@v@#1} } -%%% From File: $Id: scrkernel-miscellaneous.dtx 2712 2017-11-21 09:27:02Z kohm $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 2995 2018-07-18 06:46:34Z kohm $ %%% (run: option) \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% @@ -391,9 +393,9 @@ \newcommand*{\@gr@gsffamily}{% \if@egregdoesnotlikesansseriftitles\else\sffamily\fi } -%%% From File: $Id: scrkernel-language.dtx 2649 2017-05-29 09:39:43Z kohm $ +%%% From File: $Id: scrkernel-language.dtx 3011 2018-08-29 07:35:17Z kohm $ %%% (run: option) -%%% From File: $Id: scrkernel-fonts.dtx 2929 2018-02-05 06:37:22Z kohm $ +%%% From File: $Id: scrkernel-fonts.dtx 3047 2018-12-22 15:51:54Z kohm $ %%% (run: option) \newcommand*\@ptsize{% 11% @@ -479,7 +481,7 @@ \BeforePackage{tex4ht}{% \let\scr@defineobsoletefonts\thr@@ } -%%% From File: $Id: scrkernel-typearea.dtx 2959 2018-03-15 13:32:29Z kohm $ +%%% From File: $Id: scrkernel-typearea.dtx 2993 2018-07-16 07:33:22Z kohm $ %%% (run: options) \KOMA@key{twoside}[true]{% \if@atdocument\else\PassOptionsToPackage{twoside=#1}{typearea}\fi% @@ -790,9 +792,9 @@ \KOMA@ifkey{abstract}{@abstrt} \KOMA@DeclareStandardOption{abstracton}{abstract=true} \KOMA@DeclareStandardOption{abstractoff}{abstract=false} -%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $ +%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $ %%% (run: option) -%%% From File: $Id: scrkernel-sections.dtx 2954 2018-03-10 21:15:16Z kohm $ +%%% From File: $Id: scrkernel-sections.dtx 3038 2018-10-14 18:31:51Z kohm $ %%% (run: option) \KOMA@key{numbers}{% \KOMA@set@ncmdkey{numbers}{@tempa}{% @@ -821,6 +823,31 @@ } \KOMA@DeclareDeprecatedOption{pointednumbers}{numbers=enddot} \KOMA@DeclareDeprecatedOption{pointlessnumbers}{numbers=noenddot} +\KOMA@ifkey{bookmarkpackage}{@scr@autoloadbookmarkpackage} +\@scr@autoloadbookmarkpackagetrue +\KOMA@kav@add{.\KOMAClassFileName}{bookmarkpackage}{true} +\AfterAtEndOfPackage{hyperref}{% + \AtBeginDocument{% + \@ifpackageloaded{bookmark}{}{% + \if@scr@autoloadbookmarkpackage + \ClassInfo{\KOMAClassName}{% + loading recommended package `bookmark'.\MessageBreak + Using `bookmark' together with `hyperref' is + recommended,\MessageBreak + because of handling of possible bookmark level gaps.\MessageBreak + You can avoid loading `bookmark' with KOMA-Script + option\MessageBreak + `bookmarkpackage=false' before \string\begin{document} + and\MessageBreak + you can avoid this message with + `\string\usepackage{bookmark}'\MessageBreak + before \string\begin{document}% + }% + \RequirePackage{bookmark}% + \fi + }% + }% +} \KOMA@ifkey{sectionentrydots}{@sectionentrywithdots} \KOMA@key{headings}{% \KOMA@set@ncmdkey{headings}{@tempa}{% @@ -1158,7 +1185,7 @@ \DeclareOption{origlongtable}{\@komalongtablefalse} \KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline} \KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline} -%%% From File: $Id: scrkernel-footnotes.dtx 2640 2017-05-08 09:36:55Z kohm $ +%%% From File: $Id: scrkernel-footnotes.dtx 2979 2018-04-17 06:01:18Z kohm $ %%% (run: option) \KOMA@key{footnotes}{% \ifx\@footnotemark\scr@saved@footnotemark @@ -1458,7 +1485,7 @@ \KOMA@DeclareDeprecatedOption{liststotocnumbered}{listof=numbered} \KOMA@DeclareDeprecatedOption{listsleft}{listof=flat} \KOMA@DeclareDeprecatedOption{listsindent}{listof=graduated} -%%% From File: $Id: scrkernel-bibliography.dtx 2769 2017-12-03 10:56:06Z kohm $ +%%% From File: $Id: scrkernel-bibliography.dtx 3016 2018-09-03 11:40:59Z kohm $ %%% (run: option) \newcommand{\newbibstyle}[3][]{% \scr@ifundefinedorrelax{scr@bibstyle@#2}{% @@ -1527,7 +1554,10 @@ \newcommand*{\bibliography@heading}[1]{% \ifbib@leveldown \subsection*{#1}% - \@mkright{\MakeMarkcase{#1}}% + \begingroup + \c@secnumdepth=-\maxdimen + \subsectionmark{#1}% + \endgroup \else \section*{#1}% \@mkdouble{\MakeMarkcase{#1}}% @@ -1623,7 +1653,7 @@ \KOMA@DeclareStandardOption{openbib}{bibliography=openstyle} \KOMA@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc} \KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered} -%%% From File: $Id: scrkernel-index.dtx 2782 2017-12-04 07:47:52Z kohm $ +%%% From File: $Id: scrkernel-index.dtx 3016 2018-09-03 11:40:59Z kohm $ %%% (run: option) \newcommand*{\idx@@heading}{% \ifidx@leveldown @@ -1710,19 +1740,19 @@ \KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc} %%% From File: $Id: scrkernel-listsandtabulars.dtx 2640 2017-05-08 09:36:55Z kohm $ %%% (run: option) -%%% From File: $Id: scrkernel-sections.dtx 2954 2018-03-10 21:15:16Z kohm $ +%%% From File: $Id: scrkernel-sections.dtx 3038 2018-10-14 18:31:51Z kohm $ %%% (run: execoption) \KOMAExecuteOptions{numbers=autoendperiod} -%%% From File: $Id: scrkernel-miscellaneous.dtx 2712 2017-11-21 09:27:02Z kohm $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 2995 2018-07-18 06:46:34Z kohm $ %%% (run: execoption) \KOMAExecuteOptions{% parskip=false,% headings=big% } \KOMAProcessOptions\relax -%%% From File: $Id: scrkernel-compatibility.dtx 2950 2018-03-05 07:54:19Z kohm $ +%%% From File: $Id: scrkernel-compatibility.dtx 3050 2018-12-30 14:36:55Z kohm $ %%% (run: body) -%%% From File: $Id: scrkernel-fonts.dtx 2929 2018-02-05 06:37:22Z kohm $ +%%% From File: $Id: scrkernel-fonts.dtx 3047 2018-12-22 15:51:54Z kohm $ %%% (run: body) \newcommand*\scr@setlength[4]{% \expandafter\ifnum\scr@v@is@lt{3.12}\relax @@ -2197,13 +2227,13 @@ \@nomath\sfb} \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} -%%% From File: $Id: scrkernel-language.dtx 2649 2017-05-29 09:39:43Z kohm $ +%%% From File: $Id: scrkernel-language.dtx 3011 2018-08-29 07:35:17Z kohm $ %%% (run: body) \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year}% -%%% From File: $Id: scrkernel-typearea.dtx 2959 2018-03-15 13:32:29Z kohm $ +%%% From File: $Id: scrkernel-typearea.dtx 2993 2018-07-16 07:33:22Z kohm $ %%% (run: body) \let\@BCOR =\relax \let\@@BCOR =\relax @@ -2766,10 +2796,10 @@ \fi } \newcommand*\abstractname{Abstract} -%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $ +%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $ %%% (run: body) \let\numberline\scr@numberline -%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $ +%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $ %%% (run: class,style,part) \CloneTOCEntryStyle{tocline}{part} \TOCEntryStyleStartInitCode{part}{% @@ -2783,7 +2813,7 @@ \expandafter\providecommand\expandafter*% \csname scr@tso@#1@beforeskip\endcsname{2.25em \@plus\p@}% } -%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $ +%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $ %%% (run: class,style,section) \CloneTOCEntryStyle{tocline}{section} \TOCEntryStyleStartInitCode{section}{% @@ -2803,17 +2833,17 @@ \expandafter\providecommand\expandafter*% \csname scr@tso@#1@beforeskip\endcsname{1.0em \@plus\p@}% } -%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $ +%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $ %%% (run: class,style,subsection) \CloneTOCEntryStyle{tocline}{subsection} \TOCEntryStyleStartInitCode{subsection}{% \expandafter\providecommand% \csname scr@tso@#1@linefill\endcsname{\TOCLineLeaderFill\relax}% } -%%% From File: $Id: scrkernel-tocstyle.dtx 2731 2017-11-23 09:04:09Z kohm $ +%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $ %%% (run: class,style,default) \CloneTOCEntryStyle{subsection}{default} -%%% From File: $Id: scrkernel-sections.dtx 2954 2018-03-10 21:15:16Z kohm $ +%%% From File: $Id: scrkernel-sections.dtx 3038 2018-10-14 18:31:51Z kohm $ %%% (run: body) \setcounter{secnumdepth}{3} \newcommand*{\ifnumbered}[1]{% @@ -2905,10 +2935,47 @@ \if@noskipsec \leavevmode \fi \par \@tempskipa \glueexpr #4\relax - \@afterindenttrue - \ifdim \@tempskipa <\z@ - \@tempskipa -\@tempskipa \@afterindentfalse - \fi + \@ifundefined{scr@#1@afterindent}{% + \def\startsection@afterindent##1##2##3{##3}% + }{% + \expandafter\let\expandafter\startsection@afterindent + \csname scr@#1@afterindent\endcsname + }% + \startsection@afterindent{\@afterindenttrue}{\@afterindentfalse}{% + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa \@afterindentfalse + \fi + }% + \def\startsection@sectionname{#1}% + \def\startsection@secnumdepth{\numexpr #2\relax}% + \def\startsection@indent{\glueexpr #3\relax}% + \let\startsection@beforeskip\@tempskipa + \@ifundefined{scr@#1@runin}{% + \def\scr@sect@runin##1##2##3{##3}% + }{% + \expandafter\let\expandafter\scr@sect@runin + \csname scr@#1@runin\endcsname + }% + \scr@sect@runin{% + \def\startsection@afterskip{\glueexpr #3\relax}% + \expandafter\let\csname if@startsection@runin\expandafter\endcsname + \csname iftrue\endcsname + }{% + \def\startsection@afterskip{\glueexpr #3\relax}% + \expandafter\let\csname if@startsection@runin\expandafter\endcsname + \csname iffalse\endcsname + }{% + \ifdim \glueexpr #5\relax <\z@ + \def\startsection@afterskip{\glueexpr (#3)*\m@ne\relax}% + \expandafter\let\csname if@startsection@runin\expandafter\endcsname + \csname iftrue\endcsname + \else + \def\startsection@afterskip{\glueexpr #3\relax}% + \expandafter\let\csname if@startsection@runin\expandafter\endcsname + \csname iffalse\endcsname + \fi + }% \csname scr@startsection@hook\endcsname \if@nobreak \everypar{}% @@ -2938,11 +3005,14 @@ to achieve this. Because of the unexpected definition\MessageBreak an alternative approach will be used.\MessageBreak If this fails and if there isn't a new release of\MessageBreak - KOMA-Scriptt that fixes the problem, please\MessageBreak + KOMA-Script that fixes the problem, please\MessageBreak send a report to the KOMA-Script author.\MessageBreak Note, that this alternative approach does not\MessageBreak - execute `\string\scr@startsection@hook', \MessageBreak - `\string\scr@preto@ssect@hook', or `\string\scr@preto@sect@hook'% + execute `\string\scr@startsection@hook',\MessageBreak + `\string\scr@preto@ssect@hook', or + `\string\scr@preto@sect@hook'\MessageBreak + and does always use `runin=bysign' and\MessageBreak + `afterindent=bysign'% }% \let\scr@saved@startsection\@startsection \newcommand*{\scr@startsection}[6]{% @@ -2956,6 +3026,32 @@ }% } \fi +\newcommand*{\scr@sect@runin}[3]{#3} +\newcommand*{\scr@startsection@ulm@error}[1]{% + \ClassError{\KOMAClassName}{% + \string#1 undefined outside of \string\scr@startsection + }{% + A KOMA-Script macro for package authors have been used outside + the\MessageBreak + specified definition scope.\MessageBreak + See `scrkernel-sections.dtx' for more information.% + }% +} +\newcommand*\startsection@sectionname{% + \scr@startsection@ulm@error\startsection@sectionname} +\newcommand*\startsection@secnumdepth{% + \scr@startsection@ulm@error\startsection@secnumdepth} +\newcommand*\startsection@indent{% + \scr@startsection@ulm@error\startsection@indent} +\newcommand*\startsection@beforeskip{% + \scr@startsection@ulm@error\startsection@beforeskip} +\newcommand*\startsection@afterskip{% + \scr@startsection@ulm@error\startsection@afterskip} +\newcommand*{\if@startsection@runin}{% + \scr@startsection@ulm@error\if@startsection@runin} +\newif\if@startsection@runin +\newcommand*\startsection@afterindent{% + \scr@startsection@ulm@error\startsection@afterindent} \newcommand*{\At@startsection}[1]{% \@ifundefined{scr@startsection@hook}{\let\scr@startsection@hook\@empty}{}% \l@addto@macro{\scr@startsection@hook}{#1}% @@ -3067,8 +3163,8 @@ \expandafter\@maybeautodot\csname the#1\endcsname \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi - \@tempskipa \glueexpr #5\relax\relax - \ifdim \@tempskipa>\z@ + \ifdim + \scr@sect@runin{\z@}{\p@}{\glueexpr #5\relax}>\z@ \begingroup #6{\nobreak\interlinepenalty \@M \sectionlinesformat{#1}{\glueexpr #3\relax}\@svsec{#8}\@@par}% @@ -3180,8 +3276,8 @@ This could result in several error messages}% \def\scr@s@ct@@nn@m@{\string\scr@s@ct@@nn@m@}% }{}% - \@tempskipa #3\relax - \ifdim \@tempskipa>\z@ + \ifdim + \scr@sect@runin{\z@}{\p@}{\glueexpr #3\relax}>\z@ \begingroup #4{\nobreak\interlinepenalty \@M \expandafter\sectionlinesformat\expandafter{\scr@s@ct@@nn@m@}% @@ -3199,6 +3295,72 @@ \let\scr@s@ct@@nn@m@\relax \@xsect{\glueexpr #3\relax}% } +\def\@tempa#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\@M + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces +} +\ifx\@xsect\@tempa\else + \ClassWarning{\KOMAClassName}{% + Unexpected definition of \string\@xsect!\MessageBreak + Please send information about this to\MessageBreak + the KOMA-Script maintainer!\MessageBreak + Maybe LaTeX will be broken by the redefinition\MessageBreak + of \string\@xsect\space}% +\fi +\def\@xsect#1{% + \@ifundefined{scr@sect@runin}{% + \def\scr@sect@runin##1##2##3{##3}% + }% + \@tempskipa #1\relax + \ifdim \scr@sect@runin{\z@}{\p@}{\@tempskipa}>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\@M + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \ifdim \@tempskipa<\z@ + \hskip -\@tempskipa + \else + \hskip \@tempskipa + \fi + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \def\scr@sect@runin##1##2##3{##3}% + \ignorespaces +} \newcommand*{\scr@IfUsePrefixLineWarning}[2]{% \ClassWarning{\KOMAClassName}{% usage of \string\IfUsePrefixLine\space outside @@ -3271,7 +3433,7 @@ \noexpand\FamilySetCounterMacro{KOMAarg}{#2}{\noexpand\reserved@a}{##1} }\reserved@a \ifx\FamilyKeyState\FamilyKeyStateProcessed - \expandafter\let\csname #3\scr@dsc@current#4 \endcsname\reserved@a + \expandafter\let\csname #3\scr@dsc@current#4\endcsname\reserved@a \fi }% } @@ -3285,11 +3447,37 @@ \FamilyKeyStateProcessed }% } +\newcommand*{\DeclareSectionCommandStyleFuzzyOption}[5]{% + \DeclareSectionCommandStyleOption{#1}{#2}{% + \FamilySetBool{KOMAarg}{#2}{@tempswa}{##1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \expandafter\def\csname #3\scr@dsc@current#4\endcsname + ####1####2####3{####1}% + \else + \expandafter\def\csname #3\scr@dsc@current#4\endcsname + ####1####2####3{####2}% + \fi + \else + \ifstr{##1}{#5}{% + \expandafter\def\csname #3\scr@dsc@current#4\endcsname + ####1####2####3{####3}% + \FamilyKeyStateProcessed + }{}% + \fi + }% +} \newcommand*{\scr@dsc@style@section@options}{} \DeclareSectionCommandStyleLengthOption{section} {indent}{scr@}{@sectionindent} +\DeclareSectionCommandStyleFuzzyOption{section} + {afterindent}{scr@}{@afterindent} + {bysign} \DeclareSectionCommandStyleLengthOption{section} {beforeskip}{scr@}{@beforeskip} +\DeclareSectionCommandStyleFuzzyOption{section} + {runin}{scr@}{@runin} + {bysign} \DeclareSectionCommandStyleLengthOption{section} {afterskip}{scr@}{@afterskip} \DeclareSectionCommandStyleFontOption{section}{font}{}{} @@ -3312,6 +3500,9 @@ }% } \newcommand*{\scr@dsc@style@part@options}{} +\DeclareSectionCommandStyleFuzzyOption{part} + {afterindent}{scr@}{@afterindent} + {bysign} \DeclareSectionCommandStyleLengthOption{part} {beforeskip}{scr@}{@beforeskip} \DeclareSectionCommandStyleLengthOption{part} @@ -3342,6 +3533,24 @@ {font}{font}{\normalsize}% {\newkomafont{\scr@dsc@current}{\normalsize}}% }% + \scr@ifundefinedorrelax{scr@\scr@dsc@current @runin}{% + \l@addto@macro\local@endgroup{% + \ClassInfo{\KOMAClassName} + {using compatibility default `runin=bysign'\MessageBreak + for `\expandafter\string\csname \scr@dsc@current\endcsname}% + \expandafter\gdef\csname scr@\scr@dsc@current @runin\endcsname + ##1##2##3{##3}% + }% + }{}% + \scr@ifundefinedorrelax{scr@\scr@dsc@current @afterindent}{% + \l@addto@macro\local@endgroup{% + \ClassInfo{\KOMAClassName} + {using compatibility default `afterindent=bysign'\MessageBreak + for `\expandafter\string\csname \scr@dsc@current\endcsname}% + \expandafter\gdef\csname scr@\scr@dsc@current @afterindent\endcsname + ##1##2##3{##3}% + }% + }{}% } \newcommand*{\scr@dsc@style@part@neededoptionstest}{% \scr@ifundefinedorrelax{scr@\scr@dsc@current @beforeskip}{% @@ -3386,6 +3595,17 @@ {\newkomafont{\scr@dsc@current prefix}{\usekomafont{partprefix}}}% }% }{}% + \scr@ifundefinedorrelax{scr@\scr@dsc@current @afterindent}{% + \l@addto@macro\local@endgroup{% + \ClassInfo{\KOMAClassName}{% + using compatibility default + `afterindent=false'\MessageBreak + for `\expandafter\string\csname \scr@dsc@current\endcsname}% + \expandafter\gdef\csname scr@\scr@dsc@current @afterindent\endcsname + ##1##2##3% + {##2}% + }% + }{}% } \newif\ifscr@dsc@parametersonly \newcommand*{\DeclareSectionCommand}[2][]{% @@ -3623,9 +3843,74 @@ \scr@ifundefinedorrelax{l@#2}{% \DeclareTOCStyleEntry[\scr@dsc@tocstyle@options]{default}{#2}% }{}% - \scr@ifundefinedorrelax{toclevel@part}{}{% + \if@atdocument + \let\reserved@a\@firstofone + \else + \@ifpackageloaded{hyperref}{% + \let\reserved@a\@firstofone + }{% + \def\reserved@a##1{% + \AfterAtEndOfPackage{hyperref}{\AtBeginDocument{##1}}% + }% + }% + \fi + \reserved@a{% \expandafter\let\csname toclevel@#2\expandafter\endcsname \csname #2tocdepth\endcsname + \scr@ifundefinedorrelax{bookmarksetup}{% + \scr@ifundefinedorrelax{scr@min@toclevel}{% + \expandafter\let\expandafter\scr@min@toclevel + \csname toclevel@#2\endcsname + }{% + \expandafter\ifnum \csname toclevel@#2\endcsname + < \numexpr \scr@min@toclevel-1\relax + \ClassWarning{\KOMAClassName}{% + Trying emergency fix for bookmark level gap,\MessageBreak + because toclevel of `#2' + (\csname toclevel@#2\endcsname)\MessageBreak + is more than 1 lower than currently lowest\MessageBreak + known level (\scr@min@toclevel).\MessageBreak + Note: This fix can fail and you should load\MessageBreak + package `bookmark' to avoid usage of this\MessageBreak + fix% + }% + \expandafter\edef\csname toclevel@#2\endcsname{% + \the\numexpr \scr@min@toclevel-1\relax + }% + \fi + \expandafter\ifnum \csname toclevel@#2\endcsname + < \scr@min@toclevel\relax + \expandafter\let\expandafter\scr@min@toclevel + \csname toclevel@#2\endcsname + \fi + }% + \scr@ifundefinedorrelax{scr@max@toclevel}{% + \expandafter\let\expandafter\scr@max@toclevel + \csname toclevel@#2\endcsname + }{% + \expandafter\ifnum \csname toclevel@#2\endcsname + > \numexpr \scr@max@toclevel+1\relax + \ClassWarning{\KOMAClassName}{% + Trying emergency fix for bookmark level gap,\MessageBreak + because toclevel of `#2' + (\csname toclevel@#2\endcsname)\MessageBreak + is more than 1 greater than currently highest\MessageBreak + known level (\scr@max@toclevel).\MessageBreak + Note: This fix can fail and you should load\MessageBreak + package `bookmark' to avoid usage of this\MessageBreak + fix% + }% + \expandafter\edef\csname toclevel@#2\endcsname{% + \the\numexpr \scr@max@toclevel+1\relax + }% + \fi + \expandafter\ifnum \csname toclevel@#2\endcsname + > \scr@max@toclevel\relax + \expandafter\let\expandafter\scr@max@toclevel + \csname toclevel@#2\endcsname + \fi + }% + }{}% }% }% }% @@ -3725,6 +4010,7 @@ \def\scr@local@leveloffset{\z@}% \def\scr@local@tocleveloffset{\z@}% \@for\reserved@a:=\reserved@a\do{% + \scr@trim@spaces\reserved@a \edef\reserved@a{% \unexpanded{\DeclareSectionCommand[{#1}]}{\reserved@a}% }% @@ -3740,6 +4026,7 @@ \def\scr@local@leveloffset{\z@}% \def\scr@local@tocleveloffset{\z@}% \@for\reserved@a:=\reserved@a\do{% + \scr@trim@spaces\reserved@a \@ifundefined{\reserved@a}{}{% \ClassError{\KOMAClassName}{% command `\expandafter\string\csname\reserved@a\endcsname` already @@ -3770,6 +4057,7 @@ \def\scr@local@leveloffset{\z@}% \def\scr@local@tocleveloffset{\z@}% \@for\reserved@a:=\reserved@a\do{% + \scr@trim@spaces\reserved@a \@ifundefined{\reserved@a}{% \ClassError{\KOMAClassName}{% command `\expandafter\string\csname\reserved@a\endcsname` not defined% @@ -3798,6 +4086,7 @@ \def\scr@local@leveloffset{\z@}% \def\scr@local@tocleveloffset{\z@}% \@for\reserved@a:=\reserved@a\do{% + \scr@trim@spaces\reserved@a \@ifundefined{\reserved@a}{% \edef\reserved@a{% \unexpanded{\DeclareSectionCommand[{#1}]}{\reserved@a}% @@ -3870,10 +4159,18 @@ } \newcommand*{\scr@startpart}[1]{% \par - \@tempskipa=\glueexpr\@nameuse{scr@#1@beforeskip}\relax\relax - \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi + \@tempskipa=\glueexpr\@nameuse{scr@#1@beforeskip}\relax + \@ifundefined{scr@#1@afterindent}{\@afterindentfalse}{% + \csname scr@#1@afterindent\endcsname + {\@afterindenttrue}{\@afterindentfalse}{% + \@afterindenttrue + \ifdim\@tempskipa<\z@ + \@tempskipa=-\@tempskipa + \@afterindentfalse + \fi + }% + }% \partheadstartvskip - \@afterindentfalse \expandafter\SecDef\csname @#1\expandafter\endcsname\csname @s#1\endcsname } \newcommand{\scr@@startpart}{} @@ -4076,7 +4373,8 @@ \expandafter\ifnum\scr@v@is@gt{2.96}\relax \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak - \usekomafont{minisec}{\nobreak #1\par\nobreak}}\nobreak% + \usekomafont{minisec}{\nobreak\interlinepenalty \@M #1\par\nobreak}% + }\nobreak \@afterheading } \newcommand*{\addsectiontocentry}[2]{% @@ -4134,14 +4432,6 @@ \newkomafont{sectionentrypagenumber}{} \newkomafont{sectionentrydots}{\normalfont} \DeclareSectionCommand[% - style=part,% - level=\z@,% - tocstyle=part,% - toclevel=\m@ne,% - tocindent=\z@,% - tocnumwidth=2em% -]{part} -\DeclareSectionCommand[% style=section,% level=1,% indent=\z@,% @@ -4152,6 +4442,14 @@ tocnumwidth=1.5em% ]{section} \DeclareSectionCommand[% + style=part,% + level=\z@,% + tocstyle=part,% + toclevel=\m@ne,% + tocindent=\z@,% + tocnumwidth=2em% +]{part} +\DeclareSectionCommand[% style=section,% level=2,% indent=\z@,% @@ -4198,7 +4496,7 @@ \fi \newcommand*{\scr@fnt@disposition}{\sectfont} \aliaskomafont{sectioning}{disposition} -%%% From File: $Id: scrkernel-miscellaneous.dtx 2712 2017-11-21 09:27:02Z kohm $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 2995 2018-07-18 06:46:34Z kohm $ %%% (run: body) \newif\if@restonecol \newcommand{\dictum}[2][]{\par% @@ -4331,6 +4629,23 @@ `\string\addtokomafont' for the page style elements need\MessageBreak explicite user intervention to work} \scr@package@not@recommended{minitoc}{} +\scr@package@not@recommended{multitoc}{% + package `multicol' and, e.g.:\MessageBreak + \space\space + \string\BeforeStartingTOC{\string\begin{multicols}{2}}\MessageBreak + \space\space + \string\AfterStartingTOC{\string\end{multicols}}\MessageBreak + to make all ToCs two-columned.\MessageBreak + \@ifpackagelater{2018/07/18}{}{% + Note, package `multitoc' breaks additional\MessageBreak + ToCs generated by `\string\DeclareNewTOC' or\MessageBreak + packages like `listings' or `newcaption' and\MessageBreak + even the standard table of contents,\MessageBreak + list of figures or list of tables,\MessageBreak + if you omit the corresponding options `toc',\MessageBreak + `lof' or `lot'.% + }% +} \scr@package@not@recommended{parskip}{% option\MessageBreak `parskip' with one of it's several values} @@ -4350,6 +4665,29 @@ the list of figures, list of tables, bibliography,\MessageBreak index and the running head% } +\scr@package@not@recommended{tocloft}{% + options like `listof=entryprefix',\MessageBreak + commands like `\string\listoflofentryname' or\MessageBreak + `\string\listoflotentryname', + and `\string\DeclareTOCStyleEntry' or\MessageBreak + `\string\RedeclareSectionCommand' + instead of this package,\MessageBreak + because it breaks several KOMA-Script features of\MessageBreak + the list of figures, list of tables and table of\MessageBreak + contents, i.e., options like `listof=numbered',\MessageBreak + `listof=flat or `toc=flat', commands like\MessageBreak + `\string\BeforeTOCHead{...}' and + `\string\AfterTOCHead{...}',\MessageBreak + `\string\BeforeStartingTOC{...}' and + \string\AfterStartingTOC{...}',\MessageBreak + all features of `\string\DeclareTOCStyleEntry',\MessageBreak + and the ToC entry features of `\string\DeclareSecionCommand'\MessageBreak + and `\string\RedeclareSectionCommand' of levels\MessageBreak + `part', + `chapter', + `section', `subsection',\MessageBreak + `subsubsection', `paragraph' and `subparagraph'% +} \BeforePackage{minitoc}{% \let\scr@mt@saved@sect\@sect } @@ -4601,55 +4939,13 @@ \newcommand*{\indexpagestyle}{plain} \pagestyle{plain} \pagenumbering{arabic} -%%% From File: $Id: scrlayer.dtx 2684 2017-10-13 13:35:13Z kohm $ +%%% From File: $Id: scrlayer.dtx 3015 2018-09-03 10:51:32Z kohm $ %%% (run: body) \providecommand*{\@mkleft}{% - \begingroup - \ifx\@mkboth\markboth \aftergroup\markleft - \else - \ifx\@mkboth\@gobbletwo \aftergroup\@gobble - \else \def\@gobbletwo##1##2{}% - \ifx \@mkboth\@gobbletwo \aftergroup\@gobble - \else - \ClassWarning{\KOMAClassName}{% - package incompatibility detected!\MessageBreak - \string\@mkboth it neither \string\markboth nor any\MessageBreak - kind of two arguments gobbling,\MessageBreak - e.g., \string\@gobbletwo.\MessageBreak - So I don't known, what to do\MessageBreak - with \string\@mkleft.\MessageBreak - Nevertheless, \string\markleft\space will be\MessageBreak - used% - }% - \aftergroup\markleft - \fi - \fi - \fi - \endgroup + \IfActiveMkBoth{\markleft}{\@gobble}% }% \providecommand*{\@mkright}{% - \begingroup - \ifx\@mkboth\markboth \aftergroup\markright - \else - \ifx\@mkboth\@gobbletwo \aftergroup\@gobble - \else \def\@gobbletwo##1##2{}% - \ifx \@mkboth\@gobbletwo \aftergroup\@gobble - \else - \ClassWarning{\KOMAClassName}{% - package incompatibility detected!\MessageBreak - \string\@mkboth it neither \string\markboth nor any\MessageBreak - kind of two arguments gobbling,\MessageBreak - e.g., \string\@gobbletwo.\MessageBreak - So I don't known, what to do\MessageBreak - with \string\@mkright.\MessageBreak - Nevertheless, \string\markright\space will be\MessageBreak - used% - }% - \aftergroup\markright - \fi - \fi - \fi - \endgroup + \IfActiveMkBoth{\markright}{\@gobble}% }% \providecommand*{\@mkdouble}[1]{% \@mkboth{#1}{#1}% @@ -5449,7 +5745,7 @@ \else\expandafter\captionbelow\fi } ]{lot} -%%% From File: $Id: scrkernel-footnotes.dtx 2640 2017-05-08 09:36:55Z kohm $ +%%% From File: $Id: scrkernel-footnotes.dtx 2979 2018-04-17 06:01:18Z kohm $ %%% (run: body) \renewcommand*\footnoterule{% \normalsize\ftn@rule@test@values @@ -5570,7 +5866,7 @@ \kern-\multiplefootnotemarker \kern\multiplefootnotemarker\relax } -\@ifundefined{FN@mf@prepare}{}{} +\@ifundefined{FN@mf@prepare}{\let\FN@mf@prepare\relax}{} \newcommand{\scr@saved@footnotetext}{} \let\scr@saved@footnotetext\@footnotetext \renewcommand{\@footnotetext}[1]{% @@ -5748,7 +6044,7 @@ \renewcommand*\listtablename{List of Tables} \renewcommand*\listoflotname{\listtablename} \renewcommand*\listoflotentryname{\tablename} -%%% From File: $Id: scrkernel-bibliography.dtx 2769 2017-12-03 10:56:06Z kohm $ +%%% From File: $Id: scrkernel-bibliography.dtx 3016 2018-09-03 11:40:59Z kohm $ %%% (run: body) \newcommand*\refname{References} \newcommand*{\bibpreamble}{\relax} @@ -5834,7 +6130,7 @@ } \newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook} \newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook} -%%% From File: $Id: scrkernel-index.dtx 2782 2017-12-04 07:47:52Z kohm $ +%%% From File: $Id: scrkernel-index.dtx 3016 2018-09-03 11:40:59Z kohm $ %%% (run: body) \newcommand*{\index@preamble}{} \let\index@preamble=\relax @@ -5843,7 +6139,10 @@ \twocolumn[% \idx@@heading{\indexname}]% \ifidx@leveldown - \@mkright{\MakeMarkcase{\indexname}}% + \begingroup + \c@secnumdepth=-\maxdimen + \subsectionmark{\indexname}% + \endgroup \else \@mkdouble{\MakeMarkcase{\indexname}}% \fi |