summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-01-03 21:58:12 +0000
committerKarl Berry <karl@freefriends.org>2019-01-03 21:58:12 +0000
commit9a6785706ed1238169de63236cf1ade3038a8315 (patch)
treeebb7724b3d63ab7a3670016195a008e8b1995026 /Master/texmf-dist/tex/latex/koma-script/scrartcl.cls
parent5e448e499d3c7ac969a219544ef8c2d51cc282b0 (diff)
koma-script (3jan19)
git-svn-id: svn://tug.org/texlive/trunk@49587 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrartcl.cls')
-rw-r--r--Master/texmf-dist/tex/latex/koma-script/scrartcl.cls517
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