summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrartcl.cls')
-rw-r--r--Master/texmf-dist/tex/latex/koma-script/scrartcl.cls597
1 files changed, 394 insertions, 203 deletions
diff --git a/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls b/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls
index dd627ee7cee..a4af59af4c6 100644
--- a/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls
+++ b/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls
@@ -6,7 +6,7 @@
%%
%% scrkernel-version.dtx (with options: `class,article')
%% scrkernel-basics.dtx (with options: `load')
-%% tocbasic.dtx (with options: `class,load')
+%% scrkernel-listsof.dtx (with options: `class,book,prepare')
%% scrkernel-tocstyle.dtx (with options: `class,article,prepare')
%% scrkernel-sections.dtx (with options: `class,article,prepare')
%% scrkernel-compatibility.dtx (with options: `class,article,init')
@@ -52,7 +52,7 @@
%% scrkernel-listsandtabulars.dtx (with options: `class,article,body')
%% scrlogo.dtx (with options: `logo')
%%
-%% Copyright (c) 1994-2017 Markus Kohm [komascript at gmx info]
+%% Copyright (c) 1994-2019 Markus Kohm [komascript at gmx info]
%%
%% This file was generated from file(s) of the KOMA-Script bundle.
%% ---------------------------------------------------------------
@@ -80,11 +80,11 @@
%%
%% The KOMA-Script bundle (but maybe not this file) was based upon the
%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e
-%% standard classes created by The LaTeX3 Project 1994-1996. You may
+%% standard classes created by The LaTeX3 Project 1994-1996. You can
%% find a complete unmodified copy of LaTeX2e at
%% <http://mirror.ctan.org/tex-archive/macros/latex/base/>.
%%
-%%% From File: $Id: scrkernel-version.dtx 3063 2019-02-01 07:39:11Z kohm $
+%%% From File: $Id: scrkernel-version.dtx 3263 2019-10-12 14:50:03Z kohm $
\begingroup
\catcode`\@11\relax
\ifx\KOMAScriptVersion\undefined
@@ -106,7 +106,7 @@
\fi
}
\fi
- \@CheckKOMAScriptVersion{2019/02/01 v3.26b KOMA-Script}%
+ \@CheckKOMAScriptVersion{2019/10/12 v3.27 KOMA-Script}%
\endgroup
\providecommand*{\scr@clsextension}{\@clsextension}
\AtBeginDocument{%
@@ -115,27 +115,35 @@
\newcommand*{\KOMAClassName}{%
scrartcl%
}
+\newcommand*{\KOMAClassFileName}{\KOMAClassName.\@clsextension}
+\edef\KOMAClassFileName{\KOMAClassFileName}
\newcommand*{\ClassName}{%
article%
}
-\newcommand*{\KOMAClassFileName}{\KOMAClassName.\@clsextension}
-\edef\KOMAClassFileName{\KOMAClassFileName}
\ProvidesClass{\KOMAClassName}[%
- 2019/02/01 v3.26b KOMA-Script
+ 2019/10/12 v3.27 KOMA-Script
document class (\ClassName)%
]
-%%% From File: $Id: scrkernel-basics.dtx 3063 2019-02-01 07:39:11Z kohm $
+%%% From File: $Id: scrkernel-basics.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: load)
\RequirePackage{scrkbase}[\KOMAScriptVersion]
-%%% From File: $Id: tocbasic.dtx 3050 2018-12-30 14:36:55Z kohm $
+%%% From File: $Id: scrkernel-listsof.dtx 3262 2019-10-10 08:25:29Z kohm $
+%%% (run: prepare)
\RequirePackage{tocbasic}[%
- 2019/02/01 v3.26b KOMA-Script
+ 2019/10/12 v3.27 KOMA-Script
]
-\addtotoclist{toc}
-\ifstr{\ext@toc}{toc}{}{\expandafter\addtotoclist\expandafter{\ext@toc}}
-%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $
+\AtAddToTocList[\@currname.\@currext]{\setuptoc{\@currext}{onecolumn}}%
+\AtAddToTocList[ToC]{\setuptoc{\@currext}{onecolumn}}%
+\addtotoclist[ToC]{toc}
+\ifstr{\ext@toc}{toc}{}{%
+ \expandafter\addtotoclist
+ \expandafter[\expandafter T\expandafter o\expandafter C\expandafter ]%
+ \expandafter{\ext@toc}%
+}
+\AtAddToTocList[float]{\setuptoc{\@currext}{onecolumn}}%
+%%% From File: $Id: scrkernel-tocstyle.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: prepare)
-%%% From File: $Id: scrkernel-sections.dtx 3063 2019-02-01 07:39:11Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: prepare)
\newcommand*{\scr@dotchangeatdocument}[1]{%
\ClassError{\KOMAClassName}{%
@@ -187,7 +195,7 @@
\newcommand*{\size@paragraph}{}
\newcommand*{\size@subparagraph}{}
\newcommand*{\sectfont}{\normalcolor\@gr@gsffamily\bfseries}
-%%% From File: $Id: scrkernel-compatibility.dtx 3063 2019-02-01 07:39:11Z kohm $
+%%% From File: $Id: scrkernel-compatibility.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: init)
\newcommand*
{\scr@compatibility}{\scr@v@last}
@@ -260,10 +268,11 @@
\@namedef{scr@v@3.26}{17}
\@namedef{scr@v@3.26a}{17}
\@namedef{scr@v@3.26b}{17}
+\@namedef{scr@v@3.27}{17}
\@namedef{scr@v@last}{17}
-%%% From File: $Id: scrkernel-typearea.dtx 2993 2018-07-16 07:33:22Z kohm $
+%%% From File: $Id: scrkernel-typearea.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: init)
-%%% From File: $Id: scrkernel-compatibility.dtx 3063 2019-02-01 07:39:11Z kohm $
+%%% From File: $Id: scrkernel-compatibility.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\newif\if@scr@emulatestandardclasses
\let\scr@emulatestandardclassestrue\relax
@@ -338,7 +347,7 @@
\newcommand*{\scr@v@is@ge}[1]{%
\numexpr\scr@compatibility+\@ne\relax>\@nameuse{scr@v@#1}
}
-%%% From File: $Id: scrkernel-miscellaneous.dtx 2995 2018-07-18 06:46:34Z kohm $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\KOMA@key{draft}[true]{%
\KOMA@set@ifkey{draft}{@tempswa}{#1}%
@@ -394,11 +403,11 @@
\newcommand*{\@gr@gsffamily}{%
\if@egregdoesnotlikesansseriftitles\else\sffamily\fi
}
-%%% From File: $Id: scrkernel-language.dtx 3011 2018-08-29 07:35:17Z kohm $
+%%% From File: $Id: scrkernel-language.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
-%%% From File: $Id: scrkernel-fonts.dtx 3047 2018-12-22 15:51:54Z kohm $
+%%% From File: $Id: scrkernel-fonts.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
-\newcommand*\@ptsize{%
+\providecommand*\@ptsize{%
11%
}
\newcommand*{\@pt@scan}{%
@@ -482,7 +491,7 @@
\BeforePackage{tex4ht}{%
\let\scr@defineobsoletefonts\thr@@
}
-%%% From File: $Id: scrkernel-typearea.dtx 2993 2018-07-16 07:33:22Z kohm $
+%%% From File: $Id: scrkernel-typearea.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: options)
\KOMA@key{twoside}[true]{%
\if@atdocument\else\PassOptionsToPackage{twoside=#1}{typearea}\fi%
@@ -498,7 +507,9 @@
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\expandafter\ifnum\scr@v@is@ge{3.17}%
\if@twoside\flushbottom
- \else\if@twocolumn\flushbottom\else\raggedbottom\fi\fi
+ \else
+ \if@twocolumn\sloppy\flushbottom\else\raggedbottom\fi
+ \fi
\fi
\KOMA@kav@xreplacevalue{.%
\KOMAClassFileName
@@ -520,7 +531,12 @@
{\expandafter\AtEndOfClass}\fi
{\expandafter\ifnum\scr@v@is@ge{3.17}%
\if@twocolumn\twocolumn\sloppy\flushbottom
- \else\onecolumn\if@twoside\flushbottom\else\raggedbottom\fi\fi
+ \else
+ \onecolumn
+ \if@twoside\flushbottom\else
+ \raggedbottom
+ \fi
+ \fi
\fi}%
\fi
}
@@ -592,7 +608,7 @@
}
\DeclareOption*{%
\x@paper}
-%%% From File: $Id: scrkernel-paragraphs.dtx 3064 2019-02-01 07:40:28Z kohm $
+%%% From File: $Id: scrkernel-paragraphs.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\newcommand*{\setparsizes}[3]{%
\edef\f@parindent{\the\parindent}%
@@ -758,7 +774,7 @@
\KOMA@DeclareDeprecatedOption{parindent}{parskip=false}
\KOMA@kav@add{.\KOMAClassFileName}{parskip}{false}
\KOMA@kav@add{.\KOMAClassFileName}{parskip}{absolute}
-%%% From File: $Id: scrkernel-title.dtx 3052 2019-01-01 12:47:38Z kohm $
+%%% From File: $Id: scrkernel-title.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\newif\if@titlepage
\@titlepagefalse
@@ -791,11 +807,11 @@
\KOMA@DeclareStandardOption%
{notitlepage}{titlepage=false}
\KOMA@ifkey{abstract}{@abstrt}
-\KOMA@DeclareStandardOption{abstracton}{abstract=true}
-\KOMA@DeclareStandardOption{abstractoff}{abstract=false}
-%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $
+\KOMA@DeclareDeprecatedOption{abstracton}{abstract=true}
+\KOMA@DeclareDeprecatedOption{abstractoff}{abstract=false}
+%%% From File: $Id: scrkernel-tocstyle.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
-%%% From File: $Id: scrkernel-sections.dtx 3063 2019-02-01 07:39:11Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\KOMA@key{numbers}{%
\KOMA@set@ncmdkey{numbers}{@tempa}{%
@@ -831,6 +847,30 @@
\AtBeginDocument{%
\@ifpackageloaded{bookmark}{}{%
\if@scr@autoloadbookmarkpackage
+ \scr@ifundefinedorrelax{Hy@driver}{%
+ \ClassWarning{\KOMAClassName}{%
+ `hyperref' loaded but `\string\Hy@driver' undefined.\MessageBreak
+ This should not happen!\MessageBreak
+ Maybe `hyperref' not loaded or unknown version?%
+ }%
+ }{%
+ \ifstr{\Hy@driver}{hdvips}{%
+ \providecommand*{\BookmarkDriverDefault}{dvips}%
+ }{%
+ \ifstr{\Hy@driver}{hdvipdfm}{%
+ \providecommand*{\BookmarkDriverDefault}{dvipdfm}%
+ }{%
+ \ifstr{\Hy@driver}{hdvipson}{%
+ \providecommand*{\BookmarkDriverDefault}{dvipsone}%
+ }{%
+ \ifstr{\Hy@driver}{htexture}{%
+ \providecommand*{\BookmarkDriverDefault}{textures}%
+ }{%
+ }%
+ }%
+ }%
+ }%
+ }%
\ClassInfo{\KOMAClassName}{%
loading recommended package `bookmark'.\MessageBreak
Using `bookmark' together with `hyperref' is
@@ -840,8 +880,11 @@
option\MessageBreak
`bookmarkpackage=false' before \string\begin{document}
and\MessageBreak
- you can avoid this message with
- `\string\usepackage{bookmark}'\MessageBreak
+ you can avoid this message adding:\MessageBreak
+ \space\space\string\usepackage
+ \scr@ifundefinedorrelax{BookmarkDriverDefault}{}{%
+ [\BookmarkDriverDefault]%
+ }{bookmark}\MessageBreak
before \string\begin{document}%
}%
\RequirePackage{bookmark}%
@@ -849,15 +892,18 @@
\else
\if@filesw
\ClassWarning{\KOMAClassName}{%
- seems someone has broken package auxhook.\MessageBreak
- Usually this happens, if auxhook is loaded or used\MessageBreak
+ seems someone has broken package `auxhook'.\MessageBreak
+ Usually this happens, if `auxhook' is loaded or used\MessageBreak
implicitly or explicitly by patching
- `\string\document'%
+ \string\document%
\scr@ifundefinedorrelax{AtEndPreamble}{}{%
\MessageBreak
- or via etoolbox command \string\AtEndPreamble
+ or via etoolbox command \string\AtEndPreamble%
}.\MessageBreak
- Trying an emergency workaround%
+ Trying an emergency workaround.\MessageBreak
+ You can avoid this warning adding:\MessageBreak
+ \space\space\string\usepackage{auxhook}\MessageBreak
+ before \string\begin{document}%
}%
\@beginmainauxhook
\fi
@@ -963,7 +1009,7 @@
\KOMA@DeclareDeprecatedOption{bigheadings}{headings=big}
\KOMA@DeclareDeprecatedOption{normalheadings}{headings=normal}
\KOMA@DeclareDeprecatedOption{smallheadings}{headings=small}
-%%% From File: $Id: scrkernel-pagestyles.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-pagestyles.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\KOMA@ifkey{headsepline}{@hsl}%
\KOMA@kav@add{.\KOMAClassFileName}{headsepline}{false}
@@ -1068,7 +1114,7 @@
\KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty}
\KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain}
\KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current}
-%%% From File: $Id: scrkernel-floats.dtx 2701 2017-11-15 14:02:01Z kohm $
+%%% From File: $Id: scrkernel-floats.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\newif\if@captionabove\@captionabovefalse
\newif\if@tablecaptionabove\@tablecaptionabovefalse
@@ -1203,7 +1249,7 @@
\DeclareOption{origlongtable}{\@komalongtablefalse}
\KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline}
\KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline}
-%%% From File: $Id: scrkernel-footnotes.dtx 2979 2018-04-17 06:01:18Z kohm $
+%%% From File: $Id: scrkernel-footnotes.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\KOMA@key{footnotes}{%
\ifx\@footnotemark\scr@saved@footnotemark
@@ -1274,7 +1320,7 @@
\csname FN@mf@prepare\endcsname
\ifhmode\spacefactor\@x@sf\fi
\relax}
-%%% From File: $Id: scrkernel-listsof.dtx 2864 2018-01-16 07:55:20Z kohm $
+%%% From File: $Id: scrkernel-listsof.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\newif\if@tocleft
\KOMA@key{toc}{%
@@ -1503,7 +1549,7 @@
\KOMA@DeclareDeprecatedOption{liststotocnumbered}{listof=numbered}
\KOMA@DeclareDeprecatedOption{listsleft}{listof=flat}
\KOMA@DeclareDeprecatedOption{listsindent}{listof=graduated}
-%%% From File: $Id: scrkernel-bibliography.dtx 3016 2018-09-03 11:40:59Z kohm $
+%%% From File: $Id: scrkernel-bibliography.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\newcommand{\newbibstyle}[3][]{%
\scr@ifundefinedorrelax{scr@bibstyle@#2}{%
@@ -1671,7 +1717,7 @@
\KOMA@DeclareStandardOption{openbib}{bibliography=openstyle}
\KOMA@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc}
\KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered}
-%%% From File: $Id: scrkernel-index.dtx 3016 2018-09-03 11:40:59Z kohm $
+%%% From File: $Id: scrkernel-index.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
\newcommand*{\idx@@heading}{%
\ifidx@leveldown
@@ -1756,21 +1802,21 @@
\KOMA@kav@add{.\KOMAClassFileName}{index}{notoc}
\KOMA@kav@add{.\KOMAClassFileName}{index}{standardlevel}
\KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc}
-%%% From File: $Id: scrkernel-listsandtabulars.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-listsandtabulars.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: option)
-%%% From File: $Id: scrkernel-sections.dtx 3063 2019-02-01 07:39:11Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: execoption)
\KOMAExecuteOptions{numbers=autoendperiod}
-%%% From File: $Id: scrkernel-miscellaneous.dtx 2995 2018-07-18 06:46:34Z kohm $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: execoption)
\KOMAExecuteOptions{%
parskip=false,%
headings=big%
}
\KOMAProcessOptions\relax
-%%% From File: $Id: scrkernel-compatibility.dtx 3063 2019-02-01 07:39:11Z kohm $
+%%% From File: $Id: scrkernel-compatibility.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
-%%% From File: $Id: scrkernel-fonts.dtx 3047 2018-12-22 15:51:54Z kohm $
+%%% From File: $Id: scrkernel-fonts.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\newcommand*\scr@setlength[4]{%
\expandafter\ifnum\scr@v@is@lt{3.12}\relax
@@ -2245,13 +2291,13 @@
\@nomath\sfb}
\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
-%%% From File: $Id: scrkernel-language.dtx 3011 2018-08-29 07:35:17Z kohm $
+%%% From File: $Id: scrkernel-language.dtx 3262 2019-10-10 08:25:29Z 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 2993 2018-07-16 07:33:22Z kohm $
+%%% From File: $Id: scrkernel-typearea.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\let\@BCOR =\relax
\let\@@BCOR =\relax
@@ -2296,7 +2342,7 @@
}\reserved@a
\fi
\fi
-%%% From File: $Id: scrkernel-paragraphs.dtx 3064 2019-02-01 07:40:28Z kohm $
+%%% From File: $Id: scrkernel-paragraphs.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\setlength{\lineskip}{\p@}
\setlength{\normallineskip}{\p@}
@@ -2416,6 +2462,19 @@
\expandafter\let\csname #1@listi\endcsname=\@listi
\def\@listi{\csname #1@listi\endcsname\@list@extra}%
}
+\AfterPackage{amsthm}{%
+ \RequirePackage{xpatch}%
+ \xpatchcmd{\deferred@thm@head}{\addvspace{-\parskip}}{}{%
+ \ClassInfoNoLine{\KOMAClassName}{%
+ amsthm's \string\deferred@thm@head\space patched}%
+ }{%
+ \ClassWarningNoLine{\KOMAClassName}{%
+ cannot patch amsthm's \string\deferred@thm@head.\MessageBreak
+ This could result in wrong spacing before theorem\MessageBreak
+ environments defined by package `amsthm'%
+ }%
+ }%
+}
\l@addto@macro{\@listi}{\@list@extra}%
\let\@listI=\@listi
\l@addto@macro{\@listii}{\@list@extra}%
@@ -2425,7 +2484,7 @@
\@lowpenalty = 51
\@medpenalty =151
\@highpenalty =301
-%%% From File: $Id: scrkernel-title.dtx 3052 2019-01-01 12:47:38Z kohm $
+%%% From File: $Id: scrkernel-title.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\newcommand*{\@extratitle}{}%
\newcommand{\extratitle}[1]{\gdef\@extratitle{%
@@ -2569,7 +2628,7 @@
{\usekomafont{publishers}{\@publishers \par}}%
\vskip 3em
\end{center}\par
- \@thanks\let\@thanks\@empty
+ \@thanks\global\let\@thanks\@empty
\vfill\null
\if@twoside
\@tempswatrue
@@ -2588,7 +2647,7 @@
\begin{minipage}[b]{\textwidth}
\@lowertitleback
\end{minipage}\par
- \@thanks\let\@thanks\@empty
+ \@thanks\global\let\@thanks\@empty
\fi
\else
\ifx\@uppertitleback\@empty\else
@@ -2611,7 +2670,7 @@
\next@tdpage\null\vfill
{\centering\usekomafont{dedication}{\@dedication \par}}%
\vskip \z@ \@plus3fill
- \@thanks\let\@thanks\@empty
+ \@thanks\global\let\@thanks\@empty
\cleardoubleemptypage
\fi
\ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi
@@ -2692,7 +2751,7 @@
\@maketitle
\fi
\ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi
- \@thanks
+ \@thanks\global\let\@thanks\@empty
\endgroup
\fi
\setcounter{footnote}{0}%
@@ -2842,10 +2901,10 @@
\fi
}
\newcommand*\abstractname{Abstract}
-%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\let\numberline\scr@numberline
-%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: class,style,part)
\CloneTOCEntryStyle{tocline}{part}
\TOCEntryStyleStartInitCode{part}{%
@@ -2859,7 +2918,7 @@
\expandafter\providecommand\expandafter*%
\csname scr@tso@#1@beforeskip\endcsname{2.25em \@plus\p@}%
}
-%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: class,style,section)
\CloneTOCEntryStyle{tocline}{section}
\TOCEntryStyleStartInitCode{section}{%
@@ -2871,7 +2930,7 @@
\hfill
\fi
}%
- % F^^fcr die Eintr^^e4ge die Schrift von Element sectionentry verwenden.
+ % F^^c3^^bcr die Eintr^^c3^^a4ge die Schrift von Element sectionentry verwenden.
\expandafter\providecommand%
\csname scr@tso@#1@entryformat\endcsname{\usekomafont{sectionentry}}%
\expandafter\providecommand%
@@ -2879,40 +2938,36 @@
\expandafter\providecommand\expandafter*%
\csname scr@tso@#1@beforeskip\endcsname{1.0em \@plus\p@}%
}
-%%% From File: $Id: scrkernel-tocstyle.dtx 3011 2018-08-29 07:35:17Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 3262 2019-10-10 08:25:29Z 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 3011 2018-08-29 07:35:17Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: class,style,default)
\CloneTOCEntryStyle{subsection}{default}
-%%% From File: $Id: scrkernel-sections.dtx 3063 2019-02-01 07:39:11Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\setcounter{secnumdepth}{3}
\newcommand*{\ifnumbered}[1]{%
- \scr@ifundefinedorrelax{#1numdepth}{%
- \@secondoftwo
- }{%
- \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth
+ \if@currentusenumber
+ \scr@ifundefinedorrelax{#1numdepth}{%
\expandafter\@secondoftwo
- \else
- \expandafter\@firstoftwo
- \fi
- }%
+ }{%
+ \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth
+ \expandafter\expandafter\expandafter\@secondoftwo
+ \else
+ \expandafter\expandafter\expandafter\@firstoftwo
+ \fi
+ }%
+ \else
+ \expandafter\@secondoftwo
+ \fi
}
\newcommand*{\ifunnumbered}[1]{%
- \scr@ifundefinedorrelax{#1numdepth}{%
- \@firstoftwo
- }{%
- \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
- }%
+ \ifnumbered{#1}{\@secondoftwo}{\@firstoftwo}%
}
\BeforeClosingMainAux{%
\if@autodot\if@filesw\immediate\write\@mainaux{%
@@ -2978,6 +3033,7 @@
\fi
\fi
\newcommand*{\scr@startsection}[6]{%
+ \ExecuteDoHook{heading/preinit/#1}%
\if@noskipsec \leavevmode \fi
\par
\@tempskipa \glueexpr #4\relax
@@ -3022,18 +3078,18 @@
\csname iffalse\endcsname
\fi
}%
- \csname scr@startsection@hook\endcsname
+ \ExecuteDoHook{heading/postinit/#1}%
\if@nobreak
\everypar{}%
\else
\addpenalty\@secpenalty\addvspace\@tempskipa
\fi
\kernel@ifstar {%
- \csname scr@preto@ssect@hook\endcsname
+ \ExecuteDoHook{heading/branch/star/#1}%
\def\scr@s@ct@@nn@m@{#1}%
\@ssect{\glueexpr #3\relax}{\glueexpr #4\relax}{\glueexpr #5\relax}{#6}%
}{%
- \csname scr@preto@sect@hook\endcsname
+ \ExecuteDoHook{heading/branch/nostar/#1}%
\scr@section@dblarg{%
\@sect{#1}{\numexpr #2\relax}{\glueexpr #3\relax}{\glueexpr #4\relax}%
{\glueexpr #5\relax}{#6}%
@@ -3043,7 +3099,7 @@
\else
\ClassWarningNoLine{\KOMAClassName}{`\string\@startsection' has been
changed.\MessageBreak
- \KOMAClassName\space needs it's own Definition of
+ \KOMAClassName\space needs it's own definition of
`\string\@startsection'\MessageBreak
to provide extended features for the optional argument\MessageBreak
of `\string\section` etc.\MessageBreak
@@ -3054,14 +3110,16 @@
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'\MessageBreak
+ execute the elements of do-hooks:\MessageBreak
+ \space\space- `heading/postinit`,\MessageBreak
+ \space\space- `heading/branch/star`,\MessageBreak
+ \space\space- `heading/branch/nostar`,\MessageBreak
and does always use `runin=bysign' and\MessageBreak
`afterindent=bysign'%
}%
\let\scr@saved@startsection\@startsection
\newcommand*{\scr@startsection}[6]{%
+ \ExecuteDoHook{heading/preinit/#1}%
\kernel@ifstar {%
\scr@saved@startsection{#1}{\numexpr #2\relax}{\glueexpr #3\relax}%
{\glueexpr #4\relax}{\glueexpr #5\relax}{#6}*%
@@ -3099,16 +3157,34 @@
\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}%
+ \ClassInfo{\KOMAClassName}{%
+ Usage of deprecated command `\string\At@startsection'
+ mapped to\MessageBreak
+ `\string\AddtoDoHook{heading/postinit}
+ {...\string\@gobble}'%
+ }%
+ \AddtoDoHook{heading/postinit}{\scr@doonlyifstyleofargis{#1}{section}}%
+}
+\newcommand*{\scr@doonlyifstyleofargis}[3]{%
+ \IfSectionCommandStyleIs{#3}{#2}{#1}{}%
}
\newcommand*{\Before@ssect}[1]{%
- \@ifundefined{scr@preto@ssect@hook}{\let\scr@preto@ssect@hook\@empty}{}%
- \l@addto@macro{\scr@preto@ssect@hook}{#1}%
+ \ClassInfo{\KOMAClassName}{%
+ Usage of deprecated command `\string\Before@ssect'
+ mapped to\MessageBreak
+ `\string\AddtoDoHook{heading/branch/star}%
+ {...\string\@gobble}'%
+ }%
+ \AddtoDoHook{heading/branch/star}{\scr@onlyifstyleofargis{#1}{section}}%
}
\newcommand*{\Before@sect}[1]{%
- \@ifundefined{scr@preto@sect@hook}{\let\scr@preto@sect@hook\@empty}{}%
- \l@addto@macro{\scr@preto@sect@hook}{#1}%
+ \ClassInfo{\KOMAClassName}{%
+ Usage of deprecated command `\string\Before@sect'
+ mapped to\MessageBreak
+ `\string\AddtoDoHook{heading/branch/nostar}%
+ {...\string\@gobble}'%
+ }%
+ \AddtoDoHook{heading/branch/nostar}{\scr@onlyifstyleofargis{#1}{section}}%
}
\newcommand{\scr@section@dblarg}[1]{%
\kernel@ifnextchar[%]
@@ -3129,10 +3205,22 @@
\expandafter\scr@startsection
\fi
}
+\newcommand*{\UseNumberUsageError}[2]{%
+ \ClassError{\KOMAClassName}{%
+ \string\IfUseNumber\space not allowed%
+ }{%
+ You cannot use \string\IfUseNumber\space outside a heading.\MessageBreak
+ If you'd continue, I'll ignore both arguments, because I do not
+ know\MessageBreak
+ whether to use the first or the second argument.%
+ }%
+}
+\newcommand*{\IfUseNumber}[2]{}%
+\let\IfUseNumber\UseNumberUsageError
\newcommand*{\SecDef}[2]{\kernel@ifstar{#2}{\scr@section@dblarg{#1}}}
\CheckCommand*{\secdef}[2]{\@ifstar{#2}{\@dblarg{#1}}}
\let\secdef\SecDef
-\def\@tempa#1#2#3#4#5#6[#7]#8{%
+\def\scr@latex@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
@@ -3164,7 +3252,8 @@
#7}}%
\fi
\@xsect{#5}}
-\ifx\@sect\@tempa\else
+\ifx\@sect\scr@latex@sect\else
+ \let\scr@latex@sect\@sect
\ClassWarning{\KOMAClassName}{%
Unexpected definition of \string\@sect!\MessageBreak
Please send information about this to\MessageBreak
@@ -3178,6 +3267,7 @@
\else
\scr@istest#7=\@nil
\fi
+ \@currentusenumbertrue
\if@scr@tempswa
\setkeys{KOMAarg.section}{tocentry={#8},head={#8},reference={#8},#7}%
\else
@@ -3202,7 +3292,12 @@
\fi
}%
\let\IfUsePrefixLine\@secondoftwo
- \ifnum \numexpr #2\relax>\c@secnumdepth
+ \ifcase
+ \if@currentusenumber
+ \ifnum \numexpr #2\relax>\c@secnumdepth \z@\else \@ne\fi
+ \else
+ \z@
+ \fi
\let\@svsec\@empty
\else
\refstepcounter{#1}%
@@ -3212,8 +3307,15 @@
\ifdim
\scr@sect@runin{\z@}{\p@}{\glueexpr #5\relax}>\z@
\begingroup
+ \ifx\@svsec\@empty
+ \let\IfUseNumber\@secondoftwo
+ \else
+ \let\IfUseNumber\@firstoftwo
+ \fi
+ \ExecuteDoHook{heading/begingroup/#1}%
#6{\nobreak\interlinepenalty \@M
\sectionlinesformat{#1}{\glueexpr #3\relax}\@svsec{#8}\@@par}%
+ \ExecuteDoHook{heading/endgroup/#1}%
\endgroup
\expandafter\csname #1mark\expandafter\endcsname\expandafter{\@currentheadentry}%
\ifx\@currenttocentry\@empty\else
@@ -3223,7 +3325,12 @@
\addtocentrydefault{#1}{##1}{##2}%
}%
}{}%
- \ifnum \numexpr #2\relax>\c@secnumdepth
+ \ifcase
+ \if@currentusenumber
+ \ifnum \numexpr #2\relax>\c@secnumdepth \z@\else \@ne\fi
+ \else
+ \z@
+ \fi
\csname add#1tocentry\endcsname{}{\@currenttocentry}%
\else
\csname add#1tocentry\endcsname{\csname the#1\endcsname}{%
@@ -3232,6 +3339,12 @@
\fi
\else
\def\@svsechd{%
+ \ifx\@svsec\@empty
+ \let\IfUseNumber\@secondoftwo
+ \else
+ \let\IfUseNumber\@firstoftwo
+ \fi
+ \ExecuteDoHook{heading/begingroup/#1}%
#6{\nobreak\sectioncatchphraseformat{#1}{\glueexpr #3\relax}\@svsec{#8}}%
\expandafter\csname #1mark\expandafter\endcsname
\expandafter{\@currentheadentry}%
@@ -3242,13 +3355,19 @@
\addtocentrydefault{#1}{####1}{####2}%
}%
}{}%
- \ifnum \numexpr #2\relax>\c@secnumdepth
+ \ifcase
+ \if@currentusenumber
+ \ifnum \numexpr #2\relax>\c@secnumdepth \z@\else \@ne\fi
+ \else
+ \z@
+ \fi
\csname add#1tocentry\endcsname{}{\@currenttocentry}%
\else
\csname add#1tocentry\endcsname{\csname the#1\endcsname}{%
\@currenttocentry}%
\fi
\fi
+ \ExecuteDoHook{heading/endgroup/#1}%
}%
\fi
\let\IfUsePrefixLine\scr@IfUsePrefixLineWarning
@@ -3280,6 +3399,7 @@
}%
\FamilyKeyStateProcessed
}
+\FamilyInverseBoolKey[.section]{KOMAarg}{nonumber}{@currentusenumber}
\newcommand*{\scr@istest}{}
\def\scr@istest#1=#2\@nil{%
\ifx\relax#2\relax\@scr@tempswafalse\else\@scr@tempswatrue\fi
@@ -3291,7 +3411,7 @@
\newcommand{\sectioncatchphraseformat}[4]{%
\hskip #2#3#4%
}
-\def\@tempa#1#2#3#4#5{%
+\def\scr@latex@ssect#1#2#3#4#5{%
\@tempskipa #3\relax
\ifdim \@tempskipa>\z@
\begingroup
@@ -3303,7 +3423,9 @@
\def\@svsechd{#4{\hskip #1\relax #5}}%
\fi
\@xsect{#3}}
-\ifx\@ssect\@tempa\else
+\ifx\@ssect\scr@latex@ssect
+\else
+ \let\scr@latex@ssect\@ssect
\ClassWarning{\KOMAClassName}{%
Unexpected definition of \string\@ssect!\MessageBreak
Please send information about this to\MessageBreak
@@ -3313,7 +3435,7 @@
\fi
\def\@ssect#1#2#3#4#5{%
\scr@ifundefinedorrelax{scr@s@ct@@nn@m@}{%
- \ClassWarning{\KOMAClassName}{incompatible usage of
+ \ClassWarning{\KOMAClassName}{Incompatible usage of
\string\@ssect\space detected.\MessageBreak
You've used the KOMA-Script implementation of
\string\@ssect\MessageBreak
@@ -3325,23 +3447,33 @@
\ifdim
\scr@sect@runin{\z@}{\p@}{\glueexpr #3\relax}>\z@
\begingroup
+ \let\IfUseNumber\@secondoftwo
+ \edef\reserved@a{%
+ \noexpand\ExecuteDoHook{heading/begingroup/\scr@s@ct@@nn@m@}%
+ }\reserved@a
#4{\nobreak\interlinepenalty \@M
\expandafter\sectionlinesformat\expandafter{\scr@s@ct@@nn@m@}%
{\glueexpr #1\relax}\@empty{#5}\@@par}%
+ \edef\reserved@a{%
+ \noexpand\ExecuteDoHook{heading/endgroup/\scr@s@ct@@nn@m@}%
+ }\reserved@a
\endgroup
\else
\edef\@svsechd{%
+ \unexpanded{\let\IfUseNumber\@secondoftwo}%
+ \noexpand\ExecuteDoHook{heading/begingroup/\scr@s@ct@@nn@m@}%
\unexpanded{#4}{%
\noexpand\nobreak
\noexpand\sectioncatchphraseformat{\scr@s@ct@@nn@m@}%
\unexpanded{{\glueexpr #1\relax}\@empty{#5}}%
}%
+ \noexpand\ExecuteDoHook{heading/endgroup/\scr@s@ct@@nn@m@}%
}%
\fi
\let\scr@s@ct@@nn@m@\relax
\@xsect{\glueexpr #3\relax}%
}
-\def\@tempa#1{%
+\def\scr@latex@xsect#1{%
\@tempskipa #1\relax
\ifdim \@tempskipa>\z@
\par \nobreak
@@ -3366,7 +3498,8 @@
\fi
\ignorespaces
}
-\ifx\@xsect\@tempa\else
+\ifx\@xsect\scr@latex@xsect\else
+ \let\scr@latex@xsect\@xsect
\ClassWarning{\KOMAClassName}{%
Unexpected definition of \string\@xsect!\MessageBreak
Please send information about this to\MessageBreak
@@ -3409,7 +3542,7 @@
}
\newcommand*{\scr@IfUsePrefixLineWarning}[2]{%
\ClassWarning{\KOMAClassName}{%
- usage of \string\IfUsePrefixLine\space outside
+ Usage of \string\IfUsePrefixLine\space outside
section command\MessageBreak
style makes no sense, because the behaviour not only\MessageBreak
depends on class options but also on the run-time\MessageBreak
@@ -3672,7 +3805,11 @@
}%
\DefineFamilyKey[.dsc]{KOMAarg}{tocstyle}{%
\IfArgIsEmpty{##1}{%
- \expandafter\let\csname scr@dte@\scr@dsc@current @style\endcsname
+ \@ifundefined{scr@dte@\scr@dsc@current @style}{}{%
+ \expandafter\let\csname scr@dte@\scr@dsc@current @style\endcsname
+ \relax
+ }%
+ \expandafter\let\csname scr@tso@\scr@dsc@current @style\endcsname
\relax
\FamilyKeyStateProcessed
}{%
@@ -3680,6 +3817,7 @@
\FamilyKeyStateUnknownValue
}{%
\@namedef{scr@dte@\scr@dsc@current @style}{##1}%
+ \@namedef{scr@tso@\scr@dsc@current @style}{##1}%
\FamilyKeyStateProcessed
}%
}%
@@ -3699,19 +3837,24 @@
\endgroup
\@firstofone{%
\@nameuse{scr@dsc@style@\@nameuse{scr@\scr@dsc@current @style}@options}%
- \scr@ifundefinedorrelax{scr@dte@\scr@dsc@current @style}{%
+ \scr@ifundefinedorrelax{scr@tso@\scr@dsc@current @style}{%
\scr@ifundefinedorrelax{l@\scr@dsc@current}{%
- \@namedef{scr@dte@\scr@dsc@current @style}{default}%
+ \@namedef{scr@tso@\scr@dsc@current @style}{default}%
}{}%
}{}%
\let\scr@dsc@tocstyle@options\@empty
\let\scr@dsc@extra@relax@opts\@empty
- \scr@ifundefinedorrelax{scr@dte@\scr@dsc@current @style}{}{%
+ \scr@ifundefinedorrelax{scr@tso@\scr@dsc@current @style}{%
+ \expandafter\let
+ \csname scr@tso@\scr@dsc@current @style\expandafter\endcsname
+ \csname scr@dte@\scr@dsc@current @style\endcsname
+ }{}%
+ \scr@ifundefinedorrelax{scr@tso@\scr@dsc@current @style}{}{%
\begingroup
\def\scr@dte@current{#2}%
\edef\reserved@a{%
\noexpand\@ExecuteTOCEntryStyleInitCode{%
- \@nameuse{scr@dte@\scr@dsc@current @style}%
+ \@nameuse{scr@tso@\scr@dsc@current @style}%
}{\scr@dsc@current}%
}\reserved@a
\def\do@endgroup{\endgroup}%
@@ -3819,10 +3962,26 @@
\def\local@endgroup{\endgroup}%
\scr@ifundefinedorrelax{\scr@dsc@current numdepth}{%
\scr@declaresectioncommanderror{\scr@dsc@current}{section level}{level}%
- }{}%
- \@nameuse{scr@dsc@style@%
- \@nameuse{scr@\scr@dsc@current @style}%
- @neededoptionstest}%
+ }{%
+ \expandafter\ifnum \csname #2numdepth\endcsname>-\maxdimen
+ \@nameuse{scr@dsc@style@%
+ \@nameuse{scr@\scr@dsc@current @style}%
+ @neededoptionstest}%
+ \else
+ \ClassError{\KOMAClassName}{%
+ `level' must be > -\the\numexpr\maxdimen\relax
+ }{%
+ KOMA-Script internally sets `secnumdepth' to
+ -\the\numexpr\maxdimen\relax\space
+ to locally switch of\MessageBreak
+ the numbering, i.e., inside running heads.\MessageBreak
+ Because of this, you can define section commands with\MessageBreak
+ `level' greater than -\the\numexpr\maxdimen\relax\space only.%
+ }%
+ \let\local@endgroup\endgroup
+ \aftergroup\@gobbletwo
+ \fi
+ }%
\local@endgroup
\@firstofone{%
\@ifundefined{c@#2}{\newcounter{#2}}{}%
@@ -3880,10 +4039,14 @@
\csname add#2tocentry\endcsname[2]{%
\addtocentrydefault{#2}{##1}{##2}%
}%
- \scr@ifundefinedorrelax{scr@dte@#2@style}{%
+ \scr@ifundefinedorrelax{scr@tso@#2@style}{%
+ \expandafter\let\csname scr@tso@#2@style\expandafter\endcsname
+ \csname scr@dte@#2@style\endcsname
+ }{}%
+ \scr@ifundefinedorrelax{scr@tso@#2@style}{%
}{%
\DeclareTOCStyleEntry[\scr@dsc@tocstyle@options]{%
- \@nameuse{scr@dte@#2@style}%
+ \@nameuse{scr@tso@#2@style}%
}{#2}%
}%
\scr@ifundefinedorrelax{l@#2}{%
@@ -4165,8 +4328,47 @@
\let\scr@local@leveloffset\relax
\let\scr@local@tocleveloffset\relax
}
+\newcommand*{\IfSectionCommandStyleIs}[2]{%
+ \scr@ifundefinedorrelax{#1}{%
+ \ClassError{\KOMAClassName}{%
+ \expandafter\string\csname #1\endcsname\space not defined}{%
+ You cannot compare the section command style of an undefined command.}%
+ }{%
+ \scr@ifundefinedorrelax{scr@#1@style}{%
+ \ClassError{\KOMAClassName}{%
+ \expandafter\string\csname #1\endcsname\space not a valid section
+ command%
+ }{%
+ You cannot detect the section command style of a command, that
+ has\MessageBreak
+ never been defined as a section command by KOMA-Script.%
+ }%
+ }%
+ }%
+ \scr@ifundefinedorrelax{scr@dsc@def@style@#2@command}{%
+ \ClassError{\KOMAClassName}{%
+ unknown section command style `#2'%
+ }{}%
+ }%
+ \ifstr{\@nameuse{scr@#1@style}}{#2}%
+}
\newcommand*{\bprot@dottedtocline}[5]{%
\expandafter\ifnum\scr@v@is@gt{2.96}\relax
+ \ClassWarning{\KOMAClassName}{%
+ usage of `\string\bprot@dottedtocline' is deprecated.\MessageBreak
+ Maybe an old auxiliary file has been used.\MessageBreak
+ Note, this command will be removed from\MessageBreak
+ KOMA-Script soon. So if this warning message\MessageBreak
+ persists after one more LaTeX run, you should\MessageBreak
+ redeclare the corresponding ToC entries using\MessageBreak
+ \string\DeclareTOCStyleEntry[\MessageBreak
+ \space\space level=\detokenize{#1},\MessageBreak
+ \space\space indent=\detokenize{#2},\MessageBreak
+ \space\space numwidth=\detokenize{#3}]{default}{...},\MessageBreak
+ where `...' is the name of the ToC level.\MessageBreak
+ Note, in future usage of `\string\bprot@dottedtocline'\MessageBreak
+ could result in an error%
+ }%
\ifnum #1>\c@tocdepth \else
\ifnum \lastpenalty<\numexpr 20010-#1\relax
\addpenalty{\@lowpenalty}%
@@ -4204,6 +4406,7 @@
\csname appendixmore\endcsname
}
\newcommand*{\scr@startpart}[1]{%
+ \ExecuteDoHook{heading/preinit/#1}%
\par
\@tempskipa=\glueexpr\@nameuse{scr@#1@beforeskip}\relax
\@ifundefined{scr@#1@afterindent}{\@afterindentfalse}{%
@@ -4216,16 +4419,19 @@
\fi
}%
}%
+ \ExecuteDoHook{heading/postinit/#1}%
\partheadstartvskip
\expandafter\SecDef\csname @#1\expandafter\endcsname\csname @s#1\endcsname
}
\newcommand{\scr@@startpart}{}
\long\def\scr@@startpart#1[#2]#3{%
+ \ExecuteDoHook{heading/branch/nostar/#1}%
\ifnum \scr@osectarg=\z@
\@scr@tempswafalse
\else
\scr@istest#2=\@nil
\fi
+ \@currentusenumbertrue
\if@scr@tempswa
\setkeys{KOMAarg.section}{tocentry={#3},head={#3},reference={#3},#2}%
\else
@@ -4269,8 +4475,9 @@
\fi
}%
\begingroup
- \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
\def\IfUseNumber{\ifnumbered{#1}}%
+ \ExecuteDoHook{heading/begingroup/#1}%
+ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
\raggedpart
\normalfont\usekomafont{disposition}{\nobreak
\IfUseNumber{%
@@ -4291,6 +4498,7 @@
\csname #1mark\expandafter\endcsname\expandafter{\@currentheadentry}%
\fi
}%
+ \ExecuteDoHook{heading/endgroup/#1}%
\endgroup
\nobreak
\@tempskipa=\glueexpr\@nameuse{scr@#1@afterskip}\relax\relax
@@ -4299,13 +4507,15 @@
\@afterheading
}
\newcommand{\scr@@startspart}[2]{%
+ \ExecuteDoHook{heading/branch/star/#1}%
\begingroup
\let\@mkboth\@gobbletwo
\hy@insteadofrefstepcounter{#1}%
\endgroup
\begingroup
- \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
\let\IfUseNumber\@secondoftwo
+ \ExecuteDoHook{heading/begingroup/#1}%
+ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
\raggedpart
\normalfont\usekomafont{disposition}{%
\nobreak
@@ -4314,6 +4524,7 @@
}%
\@mkboth{}{}%
}%
+ \ExecuteDoHook{heading/endgroup/#1}%
\endgroup
\nobreak
\@tempskipa=\glueexpr\csname scr@#1@afterskip\endcsname\relax\relax
@@ -4326,24 +4537,26 @@
}
\newcommand*{\hy@insteadofrefstepcounter}[1]{}
\let\hy@insteadofrefstepcounter\@gobble
-\BeforePackage{hyperref}{%
+\newcommand*{\scr@chapter@before@hyperref@patch}{%
\let\scr@orig@chapter\@chapter
\let\scr@orig@schapter\@schapter
\let\scr@orig@addchap\@addchap
}
-\AfterPackage!{hyperref}{%
+\BeforePackage{hyperref}{\scr@chapter@before@hyperref@patch}
+\newcommand*{\scr@chapter@after@hyperref@patch}{%
\let\@chapter\scr@orig@chapter
\let\@schapter\scr@orig@schapter
\let\@addchap\scr@orig@addchap
\ifx\hy@insteadofrefstepcounter\@gobble
\renewcommand*{\hy@insteadofrefstepcounter}[1]{%
- \Hy@MakeCurrentHrefAuto{#1*}%
+ \Hy@MakeCurrentHrefAuto{##1*}%
\Hy@raisedlink{%
\hyper@anchorstart{\@currentHref}\hyper@anchorend
}%
}%
\fi
}
+\AfterPackage!{hyperref}{\scr@chapter@after@hyperref@patch}
\newcommand*{\addparttocentry}[2]{%
\addtocentrydefault{part}{#1}{#2}%
}
@@ -4542,7 +4755,7 @@
\fi
\newcommand*{\scr@fnt@disposition}{\sectfont}
\aliaskomafont{sectioning}{disposition}
-%%% From File: $Id: scrkernel-miscellaneous.dtx 2995 2018-07-18 06:46:34Z kohm $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\newif\if@restonecol
\newcommand{\dictum}[2][]{\par%
@@ -4697,12 +4910,27 @@
`parskip' with one of it's several values}
\scr@package@not@recommended{titleps}{%
package `scrlayer-scrpage'}
-\scr@package@not@recommended{titlesec}{%
- the package only\MessageBreak
- if you really need it, because it breaks several\MessageBreak
- KOMA-Script features, i.e., option `headings' and\MessageBreak
- the extended optional argument of the section\MessageBreak
- commands}
+\AfterPackage*{sectsty}{%
+ \@ifpackagelater{sectsty}{2002/02/26}{%
+ \ClassInfo{\KOMAClassName}{Unknown `sectsty' release.\MessageBreak
+ Cross your fingers, that is compatible%
+ }%
+ }{%
+ \ClassWarning{\KOMAClassName}{%
+ Incompatible package `sectsty' loaded!\MessageBreak
+ Package `sectsty' up to version 2.0.2 is incompatible\MessageBreak
+ with KOMA-Script from version 2.8e released in 2001.\MessageBreak
+ You should avoid that package and configure the\MessageBreak
+ section titles of your document using the KOMA-Script\MessageBreak
+ user interface, e.g., \string\chapterlinesformat,\MessageBreak
+ \string\RedeclareSectionCommand\space etc. or you should ask\MessageBreak
+ the `sectsty' maintainer for a more compatible release.\MessageBreak
+ Ignoring this warning could result in several error\MessageBreak
+ messages and formatting issues after loading package\MessageBreak
+ `sectsty'%
+ }%
+ }%
+}
\scr@package@not@recommended{tocbibind}{%
options like `listof=totoc'\MessageBreak
or `bibliography=totoc', or commands like\MessageBreak
@@ -4821,75 +5049,35 @@
\let\scr@mt@saved@sect\relax
\fi
}
-\BeforePackage{titlesec}{%
- \let\scr@ttl@saved@section\section
- \let\scr@ttl@saved@subsection\subsection
- \let\scr@ttl@saved@subsubsection\subsubsection
- \let\scr@ttl@saved@paragraph\paragraph
- \let\scr@ttl@saved@subparagraph\subparagraph
-}
\AfterPackage{titlesec}{%
- \@ifpackagelater{titlesec}{2016/03/22}{%
- \ClassInfo{\KOMAClassName}{%
- Deactivating the `titlesec' workaround,\MessageBreak
- because package is newer than expected%
+ \@ifpackagelater{titlesec}{2019/07/17}{%
+ \ClassInfo{\KOMAClassName}{Unknown `titesec' release.\MessageBreak
+ Cross your fingers, that is compatible%
}%
}{%
- \ClassWarning{\KOMAClassName}{%
- Activating an ugly workaround for a missing\MessageBreak
- feature of package `titlesec`%
- }%
- \def\scr@ttl@@extract#1\scr@startsection#2#3#4#5#6#7#8{%
- \@tempskipa=#5
- \@tempskipb=#6
- \ifdim\@tempskipa<\z@
- \toks@{\titlespacing*#8{#4}}%
- \@tempskipa-\@tempskipa
- \else
- \toks@{\titlespacing#8{#4}}%
- \fi
- \@ifundefined{ttl@space}{}{%
- \ttl@assign\@tempskipa*\ttl@space\relax\beforetitleunit}%
- \ifdim\@tempskipb<\z@
- \if@tempswa
- \titleformat#8[runin]%
- {\ttl@fonts\ttl@sizes{#3}}{\@seccntformat{#2}}%
- {\z@}\ttl@passexplicit
- \else
- \titleformat#8[runin]%
- {#7}{\@seccntformat{#2}}%
- {\z@}\ttl@passexplicit
- \fi
- \@tempskipb-\@tempskipb
- \else
- \if@tempswa
- \titleformat#8%
- {\ttl@fil\ttl@fonts\ttl@sizes{#3}}{\@seccntformat{#2}}%
- {\z@}\ttl@passexplicit
- \else
- \titleformat#8%
- {#7}{\@seccntformat{#2}}%
- {\z@}\ttl@passexplicit
- \fi
- \@ifundefined{ttl@space}{}{%
- \ttl@assign\@tempskipb*\ttl@space\relax\aftertitleunit}%
- \fi
- \edef\ttl@a{\the\toks@{\the\@tempskipa}{\the\@tempskipb}}
- \ttl@a}%
- \expandafter\scr@ttl@@extract\scr@ttl@saved@section\section
- \expandafter\scr@ttl@@extract\scr@ttl@saved@subsection\subsection
- \expandafter\scr@ttl@@extract\scr@ttl@saved@subsubsection\subsubsection
- \expandafter\scr@ttl@@extract\scr@ttl@saved@paragraph\paragraph
- \expandafter\scr@ttl@@extract\scr@ttl@saved@subparagraph\subparagraph
- \let\scr@ttl@saved@section\relax
- \let\scr@ttl@saved@subsection\relax
- \let\scr@ttl@saved@subsubsection\relax
- \let\scr@ttl@saved@paragraph\relax
- \let\scr@ttl@saved@subparagraph\relax
- \let\scr@ttl@@extract\relax
+ \scr@class@titlesec@warning
}%
}
-%%% From File: $Id: scrkernel-pagestyles.dtx 2640 2017-05-08 09:36:55Z kohm $
+\providecommand*{\scr@class@titlesec@warning}{%
+ \ClassWarning{\KOMAClassName}{%
+ Usage of this version of package `titlesec'\MessageBreak
+ with KOMA-Script class `\KOMAClassName' is\MessageBreak
+ not recommended, because the package does not\MessageBreak
+ support KOMA-Script classes, but break them.\MessageBreak
+ If you want to use `titlesec' with KOMA-Script\MessageBreak
+ classes instead of using the KOMA-Script's\MessageBreak
+ user interface to configure the headings of\MessageBreak
+ parts,
+ sections, subsections
+ ... subparagraphs,\MessageBreak
+ please ask the author of `titlesec' for support.\MessageBreak
+ Expect errors like:\MessageBreak
+ \space\space- ``Illegal unit of measure (pt inserted).''\MessageBreak
+ \space\space- ``Missing number, treated as zero''\MessageBreak
+ after loading `titlesec'%
+ }%
+}
+%%% From File: $Id: scrkernel-pagestyles.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\newcommand*{\set@tempdima@hw}{%
\setlength{\@tempdima}{\textwidth}%
@@ -4985,7 +5173,7 @@
\newcommand*{\indexpagestyle}{plain}
\pagestyle{plain}
\pagenumbering{arabic}
-%%% From File: $Id: scrlayer.dtx 3015 2018-09-03 10:51:32Z kohm $
+%%% From File: $Id: scrlayer.dtx 3196 2019-08-26 09:20:16Z kohm $
%%% (run: body)
\providecommand*{\@mkleft}{%
\IfActiveMkBoth{\markleft}{\@gobble}%
@@ -4996,7 +5184,7 @@
\providecommand*{\@mkdouble}[1]{%
\@mkboth{#1}{#1}%
}
-%%% From File: $Id: scrkernel-floats.dtx 2701 2017-11-15 14:02:01Z kohm $
+%%% From File: $Id: scrkernel-floats.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\newcommand\marginline[1]{%
\marginpar[\raggedleft{#1}]{\raggedright #1}%
@@ -5791,7 +5979,7 @@
\else\expandafter\captionbelow\fi
}
]{lot}
-%%% From File: $Id: scrkernel-footnotes.dtx 2979 2018-04-17 06:01:18Z kohm $
+%%% From File: $Id: scrkernel-footnotes.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\renewcommand*\footnoterule{%
\normalsize\ftn@rule@test@values
@@ -5949,15 +6137,12 @@
\endgroup
\@footnotemark
}
-%%% From File: $Id: scrkernel-listsof.dtx 2864 2018-01-16 07:55:20Z kohm $
+%%% From File: $Id: scrkernel-listsof.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\g@addto@macro{\numberline@numberpostfix}{\autodot}
\usetocbasicnumberline[%
\ClassInfo{\KOMAClassName}{Redefining `\string\numberline'}%
]
-\newcommand*\@pnumwidth{1.55em}
-\newcommand*\@tocrmarg {2.55em}
-\newcommand*\@dotsep{4.5}
\newcommand*{\scr@dottedtocline}{}
\newcommand*{\last@l@number}{}
\newcommand*{\@l@number}{}
@@ -6008,7 +6193,7 @@
\protected@write\@auxout{}{%
\string\gdef\expandafter\string\csname#1@l@number\endcsname{%
\@l@number}}%
- }
+}
\g@addto@macro\tocbasic@@before@hook{%
\if@dynlist\expandafter\before@starttoc\expandafter{\@currext}\fi
}
@@ -6017,6 +6202,8 @@
}
\newcommand*\contentsname{Contents}
\newcommand*\listoftocname{\contentsname}
+\providecaptionname{american,australian,british,canadian,english,newzealand,%
+ UKenglish,ukenglish,USenglish,usenglish}\contentsname{Contents}%
\setcounter{tocdepth}{3}
\newcommand*\toc@heading{%
\ClassWarning{\KOMAClassName}{%
@@ -6085,12 +6272,16 @@
\global\let\scr@float@addtolists@warning\relax
}
\renewcommand*\listfigurename{List of Figures}
+\providecaptionname{american,australian,british,canadian,english,newzealand,%
+ UKenglish,ukenglish,USenglish,usenglish}\listfigurename{List of Figures}
\renewcommand*\listoflofname{\listfigurename}
\renewcommand*\listoflofentryname{\figurename}
\renewcommand*\listtablename{List of Tables}
+\providecaptionname{american,australian,british,canadian,english,newzealand,%
+ UKenglish,ukenglish,USenglish,usenglish}\listtablename{List of Tables}
\renewcommand*\listoflotname{\listtablename}
\renewcommand*\listoflotentryname{\tablename}
-%%% From File: $Id: scrkernel-bibliography.dtx 3016 2018-09-03 11:40:59Z kohm $
+%%% From File: $Id: scrkernel-bibliography.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\newcommand*\refname{References}
\newcommand*{\bibpreamble}{\relax}
@@ -6176,7 +6367,7 @@
}
\newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook}
\newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook}
-%%% From File: $Id: scrkernel-index.dtx 3016 2018-09-03 11:40:59Z kohm $
+%%% From File: $Id: scrkernel-index.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\newcommand*{\index@preamble}{}
\let\index@preamble=\relax
@@ -6218,7 +6409,7 @@
\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax
}
\newcommand*\indexname{Index}
-%%% From File: $Id: scrkernel-listsandtabulars.dtx 2640 2017-05-08 09:36:55Z kohm $
+%%% From File: $Id: scrkernel-listsandtabulars.dtx 3262 2019-10-10 08:25:29Z kohm $
%%% (run: body)
\if@twocolumn
\setlength{\leftmargini}{2em}