%% %% This is file `scrartcl.cls', %% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% %% scrkernel-version.dtx (with options: `class,article') %% scrkernel-basics.dtx (with options: `class,load') %% scrkernel-listsof.dtx (with options: `class,article,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') %% scrkernel-typearea.dtx (with options: `class,article,init') %% scrkernel-compatibility.dtx (with options: `class,article,option') %% scrkernel-miscellaneous.dtx (with options: `class,article,option') %% scrkernel-language.dtx (with options: `class,article,option') %% scrkernel-fonts.dtx (with options: `class,article,option') %% scrkernel-typearea.dtx (with options: `class,article,options') %% scrkernel-paragraphs.dtx (with options: `class,article,option') %% scrkernel-title.dtx (with options: `class,article,option') %% scrkernel-tocstyle.dtx (with options: `class,article,option') %% scrkernel-sections.dtx (with options: `class,article,option') %% scrkernel-pagestyles.dtx (with options: `class,article,option') %% scrkernel-floats.dtx (with options: `class,article,option') %% scrkernel-footnotes.dtx (with options: `class,article,option') %% scrkernel-listsof.dtx (with options: `class,article,option') %% scrkernel-bibliography.dtx (with options: `class,article,option') %% scrkernel-index.dtx (with options: `class,article,option') %% scrkernel-listsandtabulars.dtx (with options: `class,article,option') %% scrkernel-sections.dtx (with options: `class,article,execoption') %% scrkernel-miscellaneous.dtx (with options: `class,article,execoption') %% scrkernel-compatibility.dtx (with options: `class,article,body') %% scrkernel-fonts.dtx (with options: `class,article,body') %% scrkernel-language.dtx (with options: `class,article,body') %% scrkernel-typearea.dtx (with options: `class,article,body') %% scrkernel-paragraphs.dtx (with options: `class,article,body') %% scrkernel-title.dtx (with options: `class,article,body') %% scrkernel-tocstyle.dtx (with options: `class,article,body') %% scrkernel-tocstyle.dtx (with options: `class,article,style,part') %% scrkernel-tocstyle.dtx (with options: `class,article,style,section') %% scrkernel-tocstyle.dtx (with options: `class,article,style,subsection') %% scrkernel-tocstyle.dtx (with options: `class,article,style,default') %% scrkernel-sections.dtx (with options: `class,article,body') %% scrkernel-miscellaneous.dtx (with options: `class,article,body') %% scrkernel-pagestyles.dtx (with options: `class,article,body') %% scrlayer.dtx (with options: `class,article,body') %% scrkernel-floats.dtx (with options: `class,article,body') %% scrkernel-footnotes.dtx (with options: `class,article,body') %% scrkernel-listsof.dtx (with options: `class,article,body') %% scrkernel-bibliography.dtx (with options: `class,article,body') %% scrkernel-index.dtx (with options: `class,article,body') %% scrkernel-listsandtabulars.dtx (with options: `class,article,body') %% scrlogo.dtx (with options: `logo') %% %% Copyright (c) 1994-2022 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- %% %% It may be distributed under the conditions of the %% LaTeX Project Public License in the version distributed together %% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. %% %% This file may only be distributed together with a copy of the %% KOMA-Script bundle. You may however distribute the %% KOMA-Script bundle without all such generated files. See also %% `lppl.txt' or `lppl-de.txt' for additional information. %% %% The list of files belonging to KOMA-Script distribution is given in %% the file `MANIFEST.md'. See also `lppl.txt' or `lppl-de.txt' for %% additional information. %% %% If this file is a beta version, you may not be allowed to distribute %% it. Look at the comments below to see if this is the case. %% %% English and German manuals are part of KOMA-Script bundle. %% ---------------------------------------------------------- %% %% See `README'. %% %% 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 can %% find a complete unmodified copy of LaTeX2e at %% . %% %%% From File: $Id: scrkernel-version.dtx 4070 2023-07-07 07:08:40Z kohm $ \begingroup \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% }% \else \newcommand*{\@CheckKOMAScriptVersion}[1]{% \def\@tempa{#1}% \ifx\KOMAScriptVersion\@tempa\else \@latex@warning@no@line{% \noexpand\KOMAScriptVersion\space is `\KOMAScriptVersion',\MessageBreak but `#1' was expected!\MessageBreak You should not use classes, packages or files from\MessageBreak different KOMA-Script versions% }% \fi } \fi \@CheckKOMAScriptVersion{2023/07/07 v3.41 KOMA-Script}% \endgroup \providecommand*{\scr@clsextension}{\@clsextension} \AtBeginDocument{% \let\scr@clsextension\@clsextension } \newcommand*{\KOMAClassName}{scrartcl} \newcommand*{\KOMAClassFileName}{\KOMAClassName.\@clsextension} \edef\KOMAClassFileName{\KOMAClassFileName} \newcommand*{\ClassName}{% article% } \ProvidesClass{\KOMAClassName}[% 2023/07/07 v3.41 KOMA-Script document class (\ClassName)% ] %%% From File: $Id: scrkernel-basics.dtx 4051 2023-04-26 16:01:28Z kohm $ %%% (run: load) \RequirePackage{scrkbase}[\KOMAScriptVersion] %%% From File: $Id: scrkernel-listsof.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: prepare) \RequirePackage{tocbasic}[% 2023/07/07 v3.41 KOMA-Script ] \addtotoclist[ToC]{toc} \Ifstr{\ext@toc}{toc}{}{% \expandafter\addtotoclist \expandafter[\expandafter T\expandafter o\expandafter C\expandafter ]% \expandafter{\ext@toc}% } %%% From File: $Id: scrkernel-tocstyle.dtx 4060 2023-06-20 08:59:01Z kohm $ %%% (run: prepare) %%% From File: $Id: scrkernel-sections.dtx 4069 2023-06-29 08:55:54Z kohm $ %%% (run: prepare) \newcommand*{\scr@dotchangeatdocument}[1]{% \ClassError{\KOMAClassName}{% change of end dot feature after \string\begin{document}% }{% You've tried to set `numbers=#1' after \string\begin{document},\MessageBreak but this option is only allowed at the document preamble.\MessageBreak See KOMA-Script manual for more information about.% }% } \newif\if@altsecnumformat\@altsecnumformatfalse \newif\if@autodot \renewcommand*{\@autodottrue}{\global\let\if@autodot\iftrue} \renewcommand*{\@autodotfalse}{\global\let\if@autodot\iffalse} \@autodotfalse \newcommand*{\scr@altsecnumhook}{} \AtBeginDocument{\scr@altsecnumhook} \newcommand*{\scr@altsecnumhooktrue}{% \@altsecnumformattrue\global\let\@altsecnumformatfalse\@altsecnumformattrue } \newcommand*{\scr@altsecnumhookfalse}{% \@altsecnumformatfalse\global\let\@altsecnumformattrue\@altsecnumformatfalse } \newcommand*{\scr@osectarg}{0} \newcommand*{\scr@activate@xsection}[1]{% \renewcommand*{\scr@osectarg}{#1}% } \IfLTXAtLeastTF{2020/10/01}{\NewHook{\KOMAClassName/appendix}}{} \newcommand*{\size@part}{} \newcommand*{\scr@fnt@part}{\size@part} \newcommand*{\size@partnumber}{} \newcommand*{\scr@fnt@partnumber}{\size@partnumber} \aliaskomafont{partprefix}{partnumber} \newcommand*{\scr@part@beforeskip}{% 4ex } \newcommand*{\scr@part@afterskip}{% 3ex } \newcommand*{\scr@part@style}{part} \newcommand*{\partheadstartvskip}{% \addvspace{\@tempskipa}% } \newcommand*{\partheadmidvskip}{% \par\nobreak } \newcommand*{\partheadendvskip}{% \vskip\@tempskipa } \newcommand*{\size@section}{} \newcommand*{\scr@fnt@section}{\size@section} \newcommand*{\size@subsection}{} \newcommand*{\scr@fnt@subsection}{\size@subsection} \newcommand*{\size@subsubsection}{} \newcommand*{\scr@fnt@subsubsection}{\size@subsubsection} \newcommand*{\size@paragraph}{} \newcommand*{\scr@fnt@paragraph}{\size@paragraph} \newcommand*{\size@subparagraph}{} \newcommand*{\scr@fnt@subparagraph}{\size@subparagraph} \newcommand*{\sectfont}{\normalcolor\maybesffamily\bfseries} %%% From File: $Id: scrkernel-compatibility.dtx 4054 2023-05-10 14:35:36Z kohm $ %%% (run: init) \newcommand* {\scr@compatibility}{\scr@v@last} \@namedef{scr@v@first}{0} \@namedef{scr@v@2.9}{0} \@namedef{scr@v@2.9t}{0} \@namedef{scr@v@2.9u}{1} \@namedef{scr@v@2.95}{2} \@namedef{scr@v@2.95a}{2} \@namedef{scr@v@2.95b}{2} \@namedef{scr@v@2.96}{2} \@namedef{scr@v@2.96a}{3} \@namedef{scr@v@2.97}{3} \@namedef{scr@v@2.97a}{3} \@namedef{scr@v@2.97b}{3} \@namedef{scr@v@2.97c}{4} \@namedef{scr@v@2.97d}{5} \@namedef{scr@v@2.97e}{6} \@namedef{scr@v@2.98}{6} \@namedef{scr@v@2.98a}{6} \@namedef{scr@v@2.98b}{6} \@namedef{scr@v@2.98c}{7} \@namedef{scr@v@3.00}{8} \@namedef{scr@v@3.01}{8} \@namedef{scr@v@3.01a}{8} \@namedef{scr@v@3.01b}{9} \@namedef{scr@v@3.01c}{9} \@namedef{scr@v@3.02}{9} \@namedef{scr@v@3.02b}{9} \@namedef{scr@v@3.02c}{10} \@namedef{scr@v@3.03}{10} \@namedef{scr@v@3.03a}{10} \@namedef{scr@v@3.03b}{10} \@namedef{scr@v@3.04}{10} \@namedef{scr@v@3.04a}{10} \@namedef{scr@v@3.05}{10} \@namedef{scr@v@3.05a}{10} \@namedef{scr@v@3.06}{10} \@namedef{scr@v@3.07}{10} \@namedef{scr@v@3.08}{10} \@namedef{scr@v@3.08a}{10} \@namedef{scr@v@3.08b}{10} \@namedef{scr@v@3.09}{10} \@namedef{scr@v@3.09a}{10} \@namedef{scr@v@3.10}{10} \@namedef{scr@v@3.10a}{10} \@namedef{scr@v@3.10b}{10} \@namedef{scr@v@3.11}{10} \@namedef{scr@v@3.11a}{10} \@namedef{scr@v@3.11b}{10} \@namedef{scr@v@3.12}{11} \@namedef{scr@v@3.13}{12} \@namedef{scr@v@3.13a}{13} \@namedef{scr@v@3.14}{13} \@namedef{scr@v@3.15}{14} \@namedef{scr@v@3.16}{14} \@namedef{scr@v@3.17}{15} \@namedef{scr@v@3.17a}{15} \@namedef{scr@v@3.17c}{15} \@namedef{scr@v@3.18}{15} \@namedef{scr@v@3.18a}{15} \@namedef{scr@v@3.19}{15} \@namedef{scr@v@3.19a}{15} \@namedef{scr@v@3.20}{15} \@namedef{scr@v@3.21}{15} \@namedef{scr@v@3.22}{16} \@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@3.26b}{17} \@namedef{scr@v@3.27}{17} \@namedef{scr@v@3.27a}{17} \@namedef{scr@v@3.28}{17} \@namedef{scr@v@3.29}{17} \@namedef{scr@v@3.30}{17} \@namedef{scr@v@3.31}{18} \@namedef{scr@v@3.32}{18} \@namedef{scr@v@3.33}{18} \@namedef{scr@v@3.34}{18} \@namedef{scr@v@3.35}{19} \@namedef{scr@v@3.36}{20} \@namedef{scr@v@3.37}{20} \@namedef{scr@v@3.38}{20} \@namedef{scr@v@3.39}{20} \@namedef{scr@v@3.40}{20} \@namedef{scr@v@3.41}{21} \@namedef{scr@v@last}{21} %%% From File: $Id: scrkernel-typearea.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: init) %%% From File: $Id: scrkernel-compatibility.dtx 4054 2023-05-10 14:35:36Z kohm $ %%% (run: option) \newif\if@scr@emulatestandardclasses \let\scr@emulatestandardclassestrue\relax \let\scr@emulatestandardclassesfalse\relax \DeclareOption{emulatestandardclasses}{% \let\if@scr@emulatestandardclasses\iftrue \KOMAExecuteOptions{% fontsize=10pt,% headings=standardclasses,% cleardoublepage=current }% \newcommand*{\defaultpapersize}{letter}% \AtEndOfClass{% \setkomafont{descriptionlabel}{\bfseries}% \setkomafont{dictum}{\normalfont\small}% \setkomafont{caption}{}% \setkomafont{captionlabel}{}% \setcapindent{0pt}% \RequirePackage[pagestyleset=standard,markcase=upper]{scrlayer-scrpage}% \PreventPackageFromLoading{scrpage2}% \setkomafont{pagenumber}{\normalfont}% \setkomafont{pageheadfoot}{\normalfont}% \cfoot[\pagemark]{}% \pagestyle{plain}% }% } \KOMA@key{version}[last]{% \scr@ifundefinedorrelax{scr@v@#1}{% \def\scr@compatibility{0}% \ClassWarningNoLine{\KOMAClassName}{% You have set option `version' to value `#1', but\MessageBreak this value of version is not supported.\MessageBreak Because of this, version was set to `first'% }% \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% \KOMAClassFileName }{version}{first}% }{% \ClassInfoNoLine{\KOMAClassName}{% Switching compatibility level to `#1'% }% \edef\scr@compatibility{\@nameuse{scr@v@#1}}% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{version}{#1}% \ifnum\scr@compatibility<\scr@v@last \ClassWarningNoLine{\KOMAClassName}{% Switching back to an old KOMA-Script release does\MessageBreak not mean, that KOMA-Script is fully compatible with\MessageBreak the old release. If you need full compatibility\MessageBreak to an old KOMA-Script release, you should use that\MessageBreak old KOMA-Script release. However, in that case you\MessageBreak could also need old releases of other packages and\MessageBreak even of the LaTeX kernel.\MessageBreak You should also note, that the KOMA-Script developers\MessageBreak refuse support for documents using `version=#1'.\MessageBreak We recommend to eliminate all deprecated options\MessageBreak and commands. We also recommend to not use option\MessageBreak `version', i.e., with other values than `last'% }% \fi }% } \KOMA@kav@add{\KOMAClassFileName}{version}{last} \AtEndOfClass{% \KOMA@key{version}[]{% \ClassError{\KOMAClassName}{% Option `version' too late% }{% Option `version' may be set only while loading the class.\MessageBreak But you've tried to set it up later.% }% \FamilyKeyStateProcessed }% } \newcommand*{\scr@v@is@lt}[1]{% \scr@compatibility<\@nameuse{scr@v@#1} } \newcommand*{\scr@v@is@gt}[1]{% \scr@compatibility>\@nameuse{scr@v@#1} } \newcommand*{\scr@v@is@le}[1]{% \numexpr\scr@compatibility-\@ne\relax<\@nameuse{scr@v@#1} } \newcommand*{\scr@v@is@ge}[1]{% \numexpr\scr@compatibility+\@ne\relax>\@nameuse{scr@v@#1} } \newcommand*{\scr@v@is@eq}[1]{% \scr@compatibility=\@nameuse{scr@v@#1} } %%% From File: $Id: scrkernel-miscellaneous.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \if@tempswa \KOMA@kav@replacebool{% \KOMAClassFileName }{draft}{@tempswa}% \KOMA@kav@replacebool{% \KOMAClassFileName }{overfullrule}{@tempswa}% \setlength{\overfullrule}{5pt}% \else \KOMA@kav@replacebool{% \KOMAClassFileName }{draft}{@tempswa}% \KOMA@kav@replacebool{% \KOMAClassFileName }{overfullrule}{@tempswa}% \setlength{\overfullrule}{\z@}% \fi \fi } \KOMA@kav@add{\KOMAClassFileName}{draft}{false} \KOMA@DeclareStandardOption {final}{draft=false} \KOMA@key{overfullrule}[true]{% \KOMA@set@ifkey{overfullrule}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \if@tempswa \KOMA@kav@replacebool{% \KOMAClassFileName }{draft}{@tempswa}% \KOMA@kav@replacebool{% \KOMAClassFileName }{overfullrule}{@tempswa}% \setlength{\overfullrule}{5pt}% \else \KOMA@kav@replacebool{% \KOMAClassFileName }{draft}{@tempswa}% \KOMA@kav@replacebool{% \KOMAClassFileName }{overfullrule}{@tempswa}% \setlength{\overfullrule}{\z@}% \fi \fi } \KOMA@kav@add{\KOMAClassFileName}{overfullrule}{false} \DeclareOption{leqno}{\input{leqno.clo}} \DeclareOption{fleqn}{\input{fleqn.clo}} %%% From File: $Id: scrkernel-language.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) %%% From File: $Id: scrkernel-fonts.dtx 4034 2023-04-20 08:03:46Z kohm $ %%% (run: option) \providecommand*\@ptsize{% 11% } \newcommand*{\@pt@scan}{% \expandafter\@pt@@scan\CurrentOption pt\@pt@@scan% } \newcommand*{\@pt@@scan}{} \def\@pt@@scan #1pt#2\@pt@@scan{% \Ifstr{#2}{pt}{% \Ifnumber{#1}{% \Ifstr{#1}{10}{% \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% {#1#2}{fontsize=#1#2}% }{% \Ifstr{#1}{11}{% \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% {#1#2}{fontsize=#1#2}% }{% \Ifstr{#1}{12}{% \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% {#1#2}{fontsize=#1#2}% }{% \KOMA@UseDeprecatedOption{\PackageWarningNoLine{\KOMAClassName}}% {#1#2}{fontsize=#1#2}% }% }% } }{\@headlines}% }{\@headlines}% } \providecommand*{\@fontsizefilebase}{scrsize} \KOMA@key{fontsize}{% \scr@ifundefinedorrelax{changefontsizes}{% \@defaultunits\@tempdima#1pt\relax\@nnil \edef\@ptsize{#1}% }{% \ifvmode\else \par \ClassError{\KOMAClassName}{% Option `fontsize' inside paragraph not allowed% }{% Option `fontsize' has been designed to change the base font size of a\MessageBreak document. It has not been made to change the current font size. Moreover\MessageBreak using it inside a paragraph mostly will not have the intended result, because\MessageBreak TeX always uses the setting of `\string\baselineskip' and other parameters from the\MessageBreak end of a paragraph for the whole paragraph. Therefore using option `fontsize'\MessageBreak in TeX's horizontal mode does not make sense and is not permitted.\MessageBreak You should use font size commands like `\string\Huge'…`\string\tiny' or `\string\fontsize' here.\MessageBreak See a LaTeX introduction for more information.\MessageBreak But maybe you've just forgotten to make a paragraph. So if you'd continue,\MessageBreak I'll add `\expandafter\string\csname par\endcsname'.% }% \fi \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil \edef\@tempa{#1}% \setlength{\@tempdimb}{\@tempdima}% \edef\@tempb{\strip@pt\@tempdimb}% \addtolength{\@tempdimb}{-10\p@}% \edef\@ptsize{\strip@pt\@tempdimb}% \edef\@tempa{% \noexpand\makeatletter \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% \noexpand\ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% }{% \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% \noexpand\ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempb pt.clo' used instead of% \noexpand\MessageBreak file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% }{% \noexpand\changefontsizes{#1}% }% }% \noexpand\catcode`\noexpand\@=\the\catcode`\@ }% \@tempa }% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{fontsize}{#1}% } \DeclareOption{enabledeprecatedfontcommands}{% \ClassWarningNoLine{\KOMAClassName}{% deprecated option `enabledeprecatedfontcommands'.\MessageBreak Note, that this option was already depreacted when\MessageBreak it has been defined. Support for old font commands\MessageBreak has been removed from KOMA-Script more than one\MessageBreak decade ago. It is not recommended to use them any\MessageBreak longer. Therefore usage of this class option also\MessageBreak is not recommended% }% \let\scr@defineobsoletefonts\@ne } \scr@ifundefinedorrelax{scr@defineobsoletefonts}{% \let\scr@defineobsoletefonts\z@ }{} \BeforePackage{tex4ht}{% \let\scr@defineobsoletefonts\thr@@ } \newif\if@sfdefaults\@sfdefaultstrue \KOMA@ifkey{sfdefaults}{@sfdefaults} \newcommand*{\maybesffamily}{\if@sfdefaults \sffamily \fi} \newcommand*{\textmaybesf}{% \if@sfdefaults \expandafter\textsf \else \expandafter\@firstofone \fi } %% \begin{option}{egegdoesnotlikesansseriftitles} \KOMA@key{egregdoesnotlikesansseriftitles}[true]{% \ClassWarningNoLine{\KOMAClassName}% {% You've used deprecated option `egregdoesnotlikesansseriftitles'.\MessageBreak In 2016 this option has been implemented as a joke\MessageBreak answer to egreg's comment:\MessageBreak \space\space ``In my opinion there should be a document class\MessageBreak \space\space option for it, instead of the \string\setkomafont\MessageBreak \space\space statement. And yes, I find imposing sans serif for\MessageBreak \space\space titles is not the best choice (one of the reasons\MessageBreak \space\space why I don't use Koma-script classes).''\MessageBreak to question https://tex.stackexchange.com/q/289853\MessageBreak at TeX.SX.\MessageBreak The option has never been documented in the official\MessageBreak user manuals and therefore should never have been\MessageBreak used in real live documents. It was intended to be\MessageBreak removed after some month.\MessageBreak However, it has been used and also almost forgotten\MessageBreak by the author.\MessageBreak For this the author apologizes both to users but\MessageBreak especially to egreg.\MessageBreak Rightly, egreg has criticized the permanent retention\MessageBreak of the option as unfunny to inappropriate and has\MessageBreak asked that it be removed or replaced.\MessageBreak It will be removed soon!\MessageBreak You should use `sfdefaults=false` instead% }% \KOMA@set@ifkey{egregdoesnotlikesansseriftitles}% {@sfdefaults}% {#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \if@sfdefault \@sfdefaultsfalse \else \@sfdefaulttrue \fi \KOMA@kav@xreplacevalue{\KOMAClassFileName}% {sfdefaults}{\if@sfdefaults true\else false\fi}% \fi } %%% From File: $Id: scrkernel-typearea.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: options) \KOMA@key{twoside}[true]{% \if@atdocument\else\PassOptionsToPackage{twoside=#1}{typearea}\fi% \Ifstr{#1}{semi}{% \@twosidetrue \FamilyKeyStateProcessed }{% \def\FamilyElseValue{, `semi'}% \KOMA@set@ifkey{twoside}{% @twoside% }{#1}% }% \ifx\FamilyKeyState\FamilyKeyStateProcessed \expandafter\ifnum\scr@v@is@ge{3.17}% \if@twoside\flushbottom \else \if@twocolumn\sloppy\flushbottom\else\raggedbottom\fi \fi \fi \KOMA@kav@xreplacevalue {\KOMAClassFileName}% {twoside}{#1}% \fi } \KOMAExecuteOptions{twoside=false} \KOMA@DeclareStandardOption% {oneside}{twoside=false} \KOMA@key{twocolumn}[true]{% \if@atdocument\else\PassOptionsToPackage{twocolumn=#1}{typearea}\fi% \KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \KOMA@kav@replacebool {\KOMAClassFileName}% {twocolumn}{@twocolumn}% \if@atdocument\expandafter\@firstofone \else\@ifpackageloaded{typearea}{\expandafter\@firstofone} {\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 \fi }% \fi } \AtEndOfClass{% \expandafter\ifnum\scr@v@is@lt{3.17}% \if@twocolumn\twocolumn\sloppy\flushbottom \else\onecolumn\if@twoside\flushbottom\else\raggedbottom\fi\fi \fi } \KOMAExecuteOptions{twocolumn=false} \KOMA@DeclareStandardOption% {onecolumn}{twocolumn=false} \newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} \newcommand*{\@@BCOR}{} \def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{% \Ifstr{#1}{}{% \Ifstr{#3}{BCOR}{% \Ifstrstart{#2}{=}{% \edef\reserved@a{\noexpand\Ifdimen{\@gobble#2}}% \reserved@a{\PassOptionsToPackage{BCOR#2}{typearea}}{\OptionNotUsed}% }{% \Ifdimen{#2}{\PassOptionsToPackage{BCOR#2}{typearea}}{\OptionNotUsed}% }% }{\scr@pti@nerr@r}% }{\scr@pti@nerr@r}% } \newcommand*{\@DIV}{\expandafter\@@DIV\CurrentOption DIVDIV\@@DIV} \newcommand*{\@@DIV}{} \def\@@DIV #1DIV#2DIV#3\@@DIV{% \edef\@tempa{#1}\ifx\@tempa\@empty \edef\@tempa{#3}\def\@tempb{DIV}\ifx\@tempa\@tempb \Ifstrstart{#2}{=}{% \edef\reserved@a{\noexpand\Ifnumber{\@gobble#2}}% \reserved@a{\PassOptionsToPackage{DIV#2}{typearea}}{\OptionNotUsed}% }{% \Ifnumber{#2}{\PassOptionsToPackage{DIV#2}{typearea}}{\OptionNotUsed}% }% \else\scr@pti@nerr@r\fi \else\@BCOR\fi } \newcommand{\@headlines}{% \expandafter\@@headlines\CurrentOption headlines\@@headlines% } \newcommand*{\@@headlines}{} \def\@@headlines #1headlines#2\@@headlines{ \edef\@tempa{#2}\edef\@tempb{headlines}\ifx\@tempa\@tempb \PassOptionsToPackage{#1headlines}{typearea} \else\@DIV\fi } \newcommand*{\x@paper}{% \expandafter\x@@paper\CurrentOption paper\x@@paper% } \newcommand*{\x@@paper}{} \def\x@@paper #1#2paper#3\x@@paper{% \Ifstr{#3}{paper}{% \Ifnumber{#2}{% \Ifstr{#1}{a}{% \PassOptionsToPackage{#3=#1#2}{typearea}% }{% \Ifstr{#1}{b}{% \PassOptionsToPackage{#3=#1#2}{typearea}% }{% \Ifstr{#1}{c}{% \PassOptionsToPackage{#3=#1#2}{typearea}% }{% \Ifstr{#1}{d}{% \PassOptionsToPackage{#3=#1#2}{typearea}% }{\scr@pti@nerr@r}% }% }% }% }{\scr@pti@nerr@r}% }{% \@pt@scan }% } \newcommand*{\scr@pti@nerr@r}{ \OptionNotUsed } \DeclareOption*{% \x@paper} %%% From File: $Id: scrkernel-paragraphs.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \newcommand*{\setparsizes}[3]{% \edef\f@parindent{\the\parindent}% \edef\f@parskip{\the\parskip}% \edef\f@parfillskip{\the\parfillskip}% \def\scr@parindent{#1}% \def\scr@parskip{#2}% \def\scr@parfillskip{#3}% \def\par@update{% \if@atdocument\let\par@update\default@par@update\fi \par@updaterelative }% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{false}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{never}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full-}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full+}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full*}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half-}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half+}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half*}% } \newcommand*{\f@parindent}{\the\parindent} \newcommand*{\f@parskip}{\the\parskip} \newcommand*{\f@parfillskip}{\the\parfillskip} \newcommand*{\scr@parindent}{1em} \newcommand*{\scr@parskip}{\z@} \newcommand*{\scr@parfillskip}{\z@ \@plus 1fil} \AtEndOfClass{% \edef\f@parindent{\the\parindent}% \edef\f@parskip{\the\parskip}% \edef\f@parfillskip{\the\parfillskip}% } \newcommand*{\par@update}{} \let\par@update\relax \newcommand*{\default@par@update}{} \let\default@par@update\relax \AtBeginDocument{\par@update} \KOMA@key{parskip}[true]{% \begingroup \KOMA@set@ncmdkey{parskip}{@tempa}{% {never}{0},% {false}{1},{off}{1},{no}{1},% {full-}{2},% {half-}{3},% {full}{4},{true}{4},{on}{4},{yes}{4},% {half}{5},% {full+}{6},% {half+}{7},% {full*}{8},% {half*}{9},% {relative}{10},% {absolute}{11}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \aftergroup\FamilyKeyStateProcessed \ifcase\number\@tempa% 0 \endgroup \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{never}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 1 \endgroup \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{false}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 2 \endgroup \setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{% \z@ \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{full-}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 3 \endgroup \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% \z@ \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{half-}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 4 \endgroup \setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{% 1em \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{full}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 5 \endgroup \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% 1em \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{half}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 6 \endgroup \setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{% .3333\linewidth\@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{full+}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 7 \endgroup \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% .3333\linewidth \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{half+}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 8 \endgroup \setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{% .25\linewidth \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{full*}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 9 \endgroup \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% .25\linewidth \@plus 1fil}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{half*}% \if@atdocument\AfterKOMAoptions{\selectfont}\fi \or% 10 \endgroup \KOMA@kav@remove{\KOMAClassFileName}{parskip}{absolute}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{relative}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{relative}% \ifx\par@updaterelative\undefined \expandafter\AtEndOfClass \else \expandafter\@firstofone \fi {% \ifx\par@update\default@par@update \let\par@update\par@updaterelative \fi \let\default@par@update=\par@updaterelative }% \or%11 \endgroup \KOMA@kav@remove{\KOMAClassFileName}{parskip}{absolute}% \KOMA@kav@remove{\KOMAClassFileName}{parskip}{relative}% \KOMA@kav@add{\KOMAClassFileName}{parskip}{absolute}% \ifx\par@updaterelative\undefined \expandafter\AtEndOfClass \else \expandafter\@firstofone \fi {% \ifx\par@update\default@par@update \let\par@update\relax \fi \let\default@par@update=\relax }% \else% should never be \endgroup \fi \else \endgroup \FamilyKeyStateUnknownValue \fi } \KOMA@DeclareDeprecatedOption{parskip-}{parskip=full-} \KOMA@DeclareDeprecatedOption{parskip+}{parskip=full+} \KOMA@DeclareDeprecatedOption{parskip*}{parskip=full*} \KOMA@DeclareDeprecatedOption{halfparskip}{parskip=half} \KOMA@DeclareDeprecatedOption{halfparskip-}{parskip=half-} \KOMA@DeclareDeprecatedOption{halfparskip+}{parskip=half+} \KOMA@DeclareDeprecatedOption{halfparskip*}{parskip=half*} \KOMA@DeclareDeprecatedOption{parindent}{parskip=false} \KOMA@kav@add{\KOMAClassFileName}{parskip}{false} \KOMA@kav@add{\KOMAClassFileName}{parskip}{absolute} %%% From File: $Id: scrkernel-title.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \newif\if@titlepage \@titlepagefalse \newif\if@titlepageiscoverpage \KOMA@key{titlepage}[true]{% \Ifstr{#1}{firstiscover}{% \@titlepagetrue \@titlepageiscoverpagetrue \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% \KOMAClassFileName }{titlepage}{firstiscover}% }{% \def\FamilyElseValue{, `firstiscover'}% \KOMA@set@ifkey{titlepage}{@titlepage}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \KOMA@kav@remove{% \KOMAClassFileName }{titlepage}{firstiscover}% \KOMA@kav@replacebool{% \KOMAClassFileName }{titlepage}{@titlepage}% \@titlepageiscoverpagefalse \fi }% } \KOMA@kav@xadd{% \KOMAClassFileName }{titlepage}{\if@titlepage true\else false\fi} \KOMA@DeclareStandardOption% {notitlepage}{titlepage=false} \KOMA@ifkey{abstract}{@abstrt} \KOMA@DeclareDeprecatedOption{abstracton}{abstract=true} \KOMA@DeclareDeprecatedOption{abstractoff}{abstract=false} %%% From File: $Id: scrkernel-tocstyle.dtx 4060 2023-06-20 08:59:01Z kohm $ %%% (run: option) %%% From File: $Id: scrkernel-sections.dtx 4069 2023-06-29 08:55:54Z kohm $ %%% (run: option) \KOMA@key{numbers}{% \KOMA@set@ncmdkey{numbers}{@tempa}{% {autoendperiod}{0},{autoenddot}{0},{auto}{0},% {endperiod}{1},{withendperiod}{1},{periodatend}{1},% {enddot}{1},{withenddot}{1},{dotatend}{1},% {noendperiod}{2},{noperiodatend}{2},% {noenddot}{2},{nodotatend}{2}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{\KOMAClassFileName}{numbers}{#1}% \ifcase \@tempa\relax \if@atdocument\scr@dotchangeatdocument{#1}\else \let\scr@altsecnumhook\@empty \fi \or \if@atdocument\scr@dotchangeatdocument{#1}\else \let\scr@altsecnumhook\scr@altsecnumhooktrue \fi \or \if@atdocument\scr@dotchangeatdocument{#1}\else \let\scr@altsecnumhook\scr@altsecnumhookfalse \fi \fi \fi } \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 \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 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 adding:\MessageBreak \space\space\string\usepackage \scr@ifundefinedorrelax{BookmarkDriverDefault}{}{% [\BookmarkDriverDefault]% }{bookmark}\MessageBreak before \string\begin{document}% }% \@ifundefined{es@quoting}{% \RequirePackage{bookmark}% }{% \ifx\es@quoting\activatequoting \ClassInfo{\KOMAClassName}{% temporary deactivation of babel-spanish quoting }% \deactivatequoting \RequirePackage{bookmark}% \ClassInfo{\KOMAClassName}{% reactivation of babel-spanish quoting }% \activatequoting \else \RequirePackage{bookmark}% \fi }% \@ifpackagelater{hyperref}{2022/09/22}{}{% \ifx\@beginmainauxhook\relax \else \if@filesw \ClassWarning{\KOMAClassName}{% seems someone has broken package `auxhook'.\MessageBreak Usually this happens, if `auxhook' is loaded or used\MessageBreak implicitly or explicitly by patching \string\document% \scr@ifundefinedorrelax{AtEndPreamble}{}{% \MessageBreak or via etoolbox command \string\AtEndPreamble% }.\MessageBreak Trying an emergency workaround.\MessageBreak You can avoid this warning adding:\MessageBreak \space\space\string\usepackage{auxhook}\MessageBreak before \string\begin{document}% }% \@beginmainauxhook \fi \fi }% \fi }% }% } \KOMA@ifkey{sectionentrydots}{@sectionentrywithdots} \KOMA@key{headings}{% \KOMA@set@ncmdkey{headings}{@tempa}{% {big}{0},% {normal}{1},% {small}{2},% {optiontotocandhead}{10},{optiontoheadandtoc}{10},% {optiontotoc}{11},% {optiontohead}{12},% {standardclasses}{13}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \ifcase \@tempa\relax% big \KOMA@kav@remove{\KOMAClassFileName}{headings}{big}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{normal}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{small}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{standardclasses}% \KOMA@kav@add{\KOMAClassFileName}{headings}{big}% \setkomafont{part}{\Huge}% \setkomafont{partnumber}{\huge}% \setkomafont{section}{\Large}% \setkomafont{subsection}{\large}% \setkomafont{subsubsection}{\normalsize}% \setkomafont{paragraph}{\normalsize}% \setkomafont{subparagraph}{\normalsize}% \or % normal \KOMA@kav@remove{\KOMAClassFileName}{headings}{big}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{normal}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{small}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{standardclasses}% \KOMA@kav@add{\KOMAClassFileName}{headings}{normal}% \setkomafont{part}{\huge}% \setkomafont{partnumber}{\huge}% \setkomafont{section}{\large}% \setkomafont{subsection}{\normalsize}% \setkomafont{subsubsection}{\normalsize}% \setkomafont{paragraph}{\normalsize}% \setkomafont{subparagraph}{\normalsize}% \or % small \KOMA@kav@remove{\KOMAClassFileName}{headings}{big}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{normal}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{small}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{standardclasses}% \KOMA@kav@add{\KOMAClassFileName}{headings}{small}% \setkomafont{part}{\LARGE}% \setkomafont{partnumber}{\LARGE}% \setkomafont{section}{\normalsize}% \setkomafont{subsection}{\normalsize}% \setkomafont{subsubsection}{\normalsize}% \setkomafont{paragraph}{\normalsize}% \setkomafont{subparagraph}{\normalsize}% \or % openany \or % openright \or % openleft \or % twolinechapter \or % onelinechapter \or % twolineappendix \or % onelineappendix \or % optiontotocandhead \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotocandhead}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotoc}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontohead}% \KOMA@kav@add{\KOMAClassFileName}{headings}{optiontotocandhead}% \scr@activate@xsection{3}% \or % optiontotoc \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotocandhead}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotoc}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontohead}% \KOMA@kav@add{\KOMAClassFileName}{headings}{optiontotoc}% \scr@activate@xsection{2}% \or % optiontohead \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotocandhead}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotoc}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontohead}% \KOMA@kav@add{\KOMAClassFileName}{headings}{optiontohead}% \scr@activate@xsection{1}% \or % standardclasses \KOMA@kav@remove{\KOMAClassFileName}{headings}{big}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{normal}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{small}% \KOMA@kav@remove{\KOMAClassFileName}{headings}{standardclasses}% \KOMA@kav@add{\KOMAClassFileName}{headings}{standardclasses}% \setkomafont{part}{\huge}% \setkomafont{partnumber}{\Large}% \setkomafont{section}{\Large}% \setkomafont{subsection}{\large}% \setkomafont{subsubsection}{\normalsize}% \setkomafont{paragraph}{\normalsize}% \setkomafont{subparagraph}{\normalsize}% \renewcommand*{\sectfont}{\bfseries}% \fi \fi } \KOMA@kav@add{\KOMAClassFileName}{headings}{big} \KOMA@DeclareDeprecatedOption{bigheadings}{headings=big} \KOMA@DeclareDeprecatedOption{normalheadings}{headings=normal} \KOMA@DeclareDeprecatedOption{smallheadings}{headings=small} %%% From File: $Id: scrkernel-pagestyles.dtx 4058 2023-06-16 08:32:27Z kohm $ %%% (run: option) \KOMA@ifkey{headsepline}{@hsl}% \KOMA@kav@add{\KOMAClassFileName}{headsepline}{false} \KOMA@DeclareDeprecatedOption{headnosepline}{headsepline=false} \KOMA@ifkey{footsepline}{@fsl}% \KOMA@kav@add{\KOMAClassFileName}{footsepline}{false} \KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false} \KOMA@key{cleardoublepage}{% \begingroup \def\@tempc{% \endgroup \KOMA@unknown@keyval{cleardoublepage}{#1}{% 'current' or any defined pagestyle e.g. 'empty','plain', 'headings'}% }% \Ifstr{#1}{current}{% \def\@tempc{\endgroup \def\cleardoublepage{\cleardoublestandardpage}% \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% \KOMAClassFileName }{cleardoublepage}{current}% }% }{% \Ifnotundefined{ps@#1}{% \def\@tempc{\endgroup \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% \KOMAClassFileName }{cleardoublepage}{#1}% }% }{% \ifx\@currname\KOMAClassName \ifx\@currext\@clsextension \Ifstr{#1}{headings}{% \def\@tempc{\endgroup \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{\KOMAClassFileName}% {cleardoublepage}{#1}% }% }{}% \fi \fi }% }% \@tempc } \newcommand*{\cleardoubleoddstandardpage}{} \let\cleardoubleoddstandardpage=\cleardoublepage \newcommand*{\cleardoubleoddpageusingstyle}[1]{\clearpage {\pagestyle{#1}\cleardoubleoddstandardpage}} \newcommand*{\cleardoubleoddemptypage}{\cleardoubleoddpageusingstyle{empty}} \newcommand*{\cleardoubleoddplainpage}{\cleardoubleoddpageusingstyle{plain}} \newcommand*{\cleardoubleevenstandardpage}{% \clearpage \if@twoside\ifodd\c@page \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi \fi\fi } \newcommand*{\cleardoubleevenpageusingstyle}[1]{\clearpage {\pagestyle{#1}\cleardoubleevenstandardpage}} \newcommand*{\cleardoubleevenemptypage}{\cleardoubleevenpageusingstyle{empty}} \newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}} \newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage} \renewcommand*{\cleardoublepage}{% \expandafter\ifnum \scr@v@is@gt{2.98c}% \cleardoubleemptypage \else \cleardoublestandardpage \fi } \KOMA@kav@add{% \KOMAClassFileName }{cleardoublepage}{% \expandafter\ifnum \scr@v@is@gt{2.98c} empty% \else current\fi } \AtEndOfClass{% \KOMAoptionOf[\expandafter\edef\expandafter\@tempa\@firstofone]% {% \KOMAClassFileName }{cleardoublepage}% \KOMA@kav@removekey{% \KOMAClassFileName }{cleardoublepage}% \KOMA@kav@xadd{% \KOMAClassFileName }{cleardoublepage}{\@tempa}% } \newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage} \newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage} \newcommand*{\cleardoublepageusingstyle}[1]{\clearpage {\pagestyle{#1}\cleardoublestandardpage}} \newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} \newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} \KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty} \KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain} \KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current} %%% From File: $Id: scrkernel-floats.dtx 4054 2023-05-10 14:35:36Z kohm $ %%% (run: option) \newif\if@captionabove\@captionabovefalse \newif\if@tablecaptionabove\@tablecaptionabovefalse \newif\if@figurecaptionabove\@figurecaptionabovefalse \newif\ifonelinecaptions\onelinecaptionstrue \newcommand*{\scap@pos}{r} \newcommand*{\scap@valign}{b} \KOMA@key{captions}{% \KOMA@set@ncmdkey{captions}{@tempa}{% {heading}{0},{above}{0},{top}{0},% {signature}{1},{below}{1},{bot}{1},{bottom}{1},% {tableheading}{2},% {tableabove}{2},{abovetable}{2},{abovetabular}{2},{topattable}{2},% {tablesignature}{3},% {tablebelow}{3},{belowtable}{3},{belowtabular}{3},{bottomattable}{3},% {figureheading}{4},{figureabove}{4},{abovefigure}{4},{topatfigure}{4},% {figuresignature}{5},{figurebelow}{5},{belowfigure}{5},{bottomatfigure}{5},% {oneline}{6},% {nooneline}{7},% {rightbeside}{8},{besideright}{8},% {leftbeside}{9},{besideleft}{9},% {innerbeside}{10},{besideinner}{10},% {outerbeside}{11},{besideouter}{11},% {topbeside}{12},{besidetop}{12},% {centeredbeside}{13},{besidecentered}{13},% {middlebeside}{13},{besidemiddle}{13},% {bottombeside}{14},{besidebottom}{14}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \ifcase \@tempa\relax % heading \@tablecaptionabovetrue \@figurecaptionabovetrue \@captionabovetrue \KOMA@kav@remove{\KOMAClassFileName}{captions}{heading}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{signature}% \KOMA@kav@add{\KOMAClassFileName}{captions}{heading}% \or % signature \@tablecaptionabovefalse \@figurecaptionabovefalse \@captionabovefalse \KOMA@kav@remove{\KOMAClassFileName}{captions}{heading}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{signature}% \KOMA@kav@add{\KOMAClassFileName}{captions}{signature}% \or % tableheading \@tablecaptionabovetrue \KOMA@kav@remove{\KOMAClassFileName}{captions}{tableheading}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{tablesignature}% \KOMA@kav@add{\KOMAClassFileName}{captions}{tableheading}% \or % tablesignature \@tablecaptionabovefalse \KOMA@kav@remove{\KOMAClassFileName}{captions}{tableheading}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{tablesignature}% \KOMA@kav@add{\KOMAClassFileName}{captions}{tablesignature}% \or % figureheading \@figurecaptionabovetrue \KOMA@kav@remove{\KOMAClassFileName}{captions}{figureheading}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{figuresignature}% \KOMA@kav@add{\KOMAClassFileName}{captions}{figureheading}% \or % figuresignature \@figurecaptionabovefalse \KOMA@kav@remove{\KOMAClassFileName}{captions}{figureheading}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{figuresignature}% \KOMA@kav@add{\KOMAClassFileName}{captions}{figuresignature}% \or % oneline \onelinecaptionstrue \KOMA@kav@remove{\KOMAClassFileName}{captions}{oneline}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{nooneline}% \KOMA@kav@add{\KOMAClassFileName}{captions}{oneline}% \or % nooneline \onelinecaptionsfalse \KOMA@kav@remove{\KOMAClassFileName}{captions}{oneline}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{nooneline}% \KOMA@kav@add{\KOMAClassFileName}{captions}{nooneline}% \or % rightbeside \renewcommand*{\scap@pos}{r}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{rightbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{leftbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{innerbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{outerbeside}% \KOMA@kav@add{\KOMAClassFileName}{captions}{rightbeside}% \or % leftbeside \renewcommand*{\scap@pos}{l}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{rightbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{leftbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{innerbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{outerbeside}% \KOMA@kav@add{\KOMAClassFileName}{captions}{leftbeside}% \or % innerbeside \renewcommand*{\scap@pos}{i}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{rightbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{leftbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{innerbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{outerbeside}% \KOMA@kav@add{\KOMAClassFileName}{captions}{innerbeside}% \or % outerbeside \renewcommand*{\scap@pos}{o}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{rightbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{leftbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{innerbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{outerbeside}% \KOMA@kav@add{\KOMAClassFileName}{captions}{outerbeside}% \or % topbeside \renewcommand*{\scap@valign}{t}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{topbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{centeredbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{bottombeside}% \KOMA@kav@add{\KOMAClassFileName}{captions}{topbeside}% \or % centeredbeside \renewcommand*{\scap@valign}{c}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{topbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{centeredbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{bottombeside}% \KOMA@kav@add{\KOMAClassFileName}{captions}{centeredbeside}% \or % bottombeside \renewcommand*{\scap@valign}{b}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{topbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{centeredbeside}% \KOMA@kav@remove{\KOMAClassFileName}{captions}{bottombeside}% \KOMA@kav@add{\KOMAClassFileName}{captions}{bottombeside}% \fi \fi } \KOMA@kav@add{\KOMAClassFileName}{captions}{signature} \KOMA@kav@add{\KOMAClassFileName}{captions}{tablesignature} \KOMA@kav@add{\KOMAClassFileName}{captions}{figuresignature} \KOMA@kav@add{\KOMAClassFileName}{captions}{oneline} \KOMA@kav@add{\KOMAClassFileName}{captions}{rightbeside} \KOMA@kav@add{\KOMAClassFileName}{captions}{bottombeside} \KOMA@DeclareDeprecatedOption{tablecaptionabove}{captions=tableheading} \KOMA@DeclareDeprecatedOption{tablecaptionbelow}{captions=tablesignature} \newif\if@komalongtable\@komalongtabletrue \DeclareOption{origlongtable}{\@komalongtablefalse} \KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline} \KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline} %%% From File: $Id: scrkernel-footnotes.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \KOMA@key{footnotes}{% \ifx\@footnotemark\scr@saved@footnotemark \else \ifx\@footnotemark\scr@footnotemark \else \ClassWarning{\KOMAClassName}{% Change of `\string\@footnotemark' detected!\MessageBreak Use of `footnotes=#1' may break\MessageBreak another package!\MessageBreak Maybe you should remove the usage of\MessageBreak option `footnotes=#1'}% \fi \fi \Ifstr{#1}{multiple}{% \let\@footnotemark\scr@footnotemark \def\FN@mf@prepare{\scr@mf@prepare}% \def\scr@footmisc@options{multiple}% \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% \KOMAClassFileName }{footnotes}{multiple}% }{% \Ifstr{#1}{nomultiple}{% \let\@footnotemark\scr@saved@footnotemark \let\FN@mf@prepare\relax \let\scr@footmisc@options\@empty \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% \KOMAClassFileName }{footnotes}{nomultiple}% }{% \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% }% } \AtBeginDocument{% \ifx\@footnotemark\scr@saved@footnotemark \KOMA@kav@removekey{% \KOMAClassFileName }{footnotes}% \KOMA@kav@add{% \KOMAClassFileName }{footnotes}{nomultiple}% \else\ifx\@footnotemark\scr@footnotemark \KOMA@kav@removekey{% \KOMAClassFileName }{footnotes}% \KOMA@kav@add{% \KOMAClassFileName }{footnotes}{multiple}% \fi\fi } \newcommand*{\scr@footmisc@options}{} \PassOptionsToPackage{\noexpand\scr@footmisc@options}{footmisc} \newcommand*{\scr@saved@footnotemark}{% \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi \@makefnmark \ifhmode\spacefactor\@x@sf\fi \relax} \expandafter\CheckCommand\expandafter*\expandafter\@footnotemark \expandafter{\scr@saved@footnotemark} \newcommand*{\scr@footnotemark}{% \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\FN@mf@check\nobreak\fi \@makefnmark \csname FN@mf@prepare\endcsname \ifhmode\spacefactor\@x@sf\fi \relax} %%% From File: $Id: scrkernel-listsof.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \newif\if@tocleft \KOMA@key{toc}{% \KOMA@set@ncmdkey{toc}{@tempa}{% {noindex}{0},{noidx}{0},% {index}{1},{idx}{1},% {indexnumbered}{2},{idxnumbered}{2},{numberedindex}{2},{numberedidx}{2},% {nolistof}{3},{nolistsof}{3},% {listof}{4},{listsof}{4},% {listofnumbered}{5},{numberedlistof}{5},% {listsofnumbered}{5},{numberedlistsof}{5},% {nobibliography}{6},{nobib}{6},% {bibliography}{7},{bib}{7},% {bibliographynumbered}{8},{bibnumbered}{8},{numberedbibliography}{8},% {numberedbib}{8},% {flat}{9},{left}{9},% {graduated}{10},{indent}{10},{indented}{10},% {indenttextentries}{11},{indentunnumbered}{11},{numberline}{11},% {leftaligntextentries}{12},{leftalignunnumbered}{12},{nonumberline}{12},% {sectionentrywithdots}{13},{sectionentrydotfill}{13}, {sectionentrywithoutdots}{14},{sectionentryfill}{14}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \ifcase \@tempa\relax % noindex \KOMAoptions{index=notoc}% \or % index \KOMAoptions{index=totoc}% \or % indexnumbered \KOMAoptions{index=numbered}% \or % listof \KOMAoptions{listof=notoc}% \or % nolistof \KOMAoptions{listof=totoc}% \or % listofnumbered \KOMAoptions{listof=numbered}% \or % nobibliography \KOMAoptions{bibliography=nottotoc}% \or % bibliography \KOMAoptions{bibliography=totoc}% \or % bibliographynumbered \KOMAoptions{bibliography=totocnumbered}% \or % flat \KOMA@kav@remove{\KOMAClassFileName}{toc}{flat}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{graduated}% \KOMA@kav@add{\KOMAClassFileName}{toc}{flat}% \@toclefttrue \or % graduated \KOMA@kav@remove{\KOMAClassFileName}{toc}{flat}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{graduated}% \KOMA@kav@add{\KOMAClassFileName}{toc}{graduated}% \@tocleftfalse \or % indenttextentries \KOMA@kav@remove{\KOMAClassFileName}{toc}{indenttextentries}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{leftaligntextentries}% \KOMA@kav@add{\KOMAClassFileName}{toc}{indenttextentries}% \expandafter\setuptoc\expandafter{\ext@toc}{numberline}% \or % leftaligntextentries \KOMA@kav@remove{\KOMAClassFileName}{toc}{indenttextentries}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{leftaligntextentries}% \KOMA@kav@add{\KOMAClassFileName}{toc}{leftaligntextentries}% \expandafter\unsettoc\expandafter{\ext@toc}{numberline}% \or % chapterentrywithdots/sectionentrywithdots \KOMAoptions{sectionentrydots=true}% \or % chapterentrywithoutdots/sectionentrywithoutdots \KOMAoptions{sectionentrydots=false}% \fi \fi } \KOMA@DeclareDeprecatedOption{tocleft}{toc=flat} \KOMA@DeclareDeprecatedOption{tocindent}{toc=graduated} \newcommand*{\float@@listhead}{% \section* } \newif\if@dynlist \KOMA@key{listof}{% \KOMA@set@ncmdkey{listof}{@tempa}{% {notoc}{0},{nottotoc}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1},% {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% {numberedtoc}{2},% {flat}{3},{left}{3},% {graduated}{4},{indent}{4},{indented}{4},% {leveldown}{5}, {standardlevel}{6}, {entryprefix}{7}, {indenttextentries}{8},{indentunnumbered}{8},{numberline}{8},% {leftaligntextentries}{9},{leftalignunnumbered}{9},{nonumberline}{9}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \ifcase \@tempa\relax % notoc \KOMA@kav@remove{\KOMAClassFileName}{toc}{nolistof}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{listof}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{listofnumbered}% \KOMA@kav@add{\KOMAClassFileName}{toc}{nolistof}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{notoc}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{totoc}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{numbered}% \KOMA@kav@add{\KOMAClassFileName}{listof}{notoc}% \renewcommand*{\float@@listhead}{% \section* }% \doforeachtocfile[float]{% \unsettoc{\@currext}{numbered}% \unsettoc{\@currext}{totoc}% }% \AtAddToTocList[float]{% \unsettoc{\@currext}{numbered}% \unsettoc{\@currext}{totoc}% }% \or% totoc \KOMA@kav@remove{\KOMAClassFileName}{toc}{nolistof}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{listof}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{listofnumbered}% \KOMA@kav@add{\KOMAClassFileName}{toc}{listof}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{notoc}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{totoc}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{numbered}% \KOMA@kav@add{\KOMAClassFileName}{listof}{totoc}% \renewcommand*{\float@@listhead}{% \addsec }% \doforeachtocfile[float]{% \unsettoc{\@currext}{numbered}% \setuptoc{\@currext}{totoc}% }% \AtAddToTocList[float]{% \unsettoc{\@currext}{numbered}% \setuptoc{\@currext}{totoc}% }% \or% numbered \KOMA@kav@remove{\KOMAClassFileName}{toc}{nolistof}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{listof}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{listofnumbered}% \KOMA@kav@add{\KOMAClassFileName}{toc}{listofnumbered}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{notoc}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{totoc}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{numbered}% \KOMA@kav@add{\KOMAClassFileName}{listof}{numbered}% \renewcommand*{\float@@listhead}{% \section }% \doforeachtocfile[float]{% \setuptoc{\@currext}{numbered}% \setuptoc{\@currext}{totoc}% }% \AtAddToTocList[float]{% \setuptoc{\@currext}{numbered}% \setuptoc{\@currext}{totoc}% }% \or% flat \KOMA@kav@remove{\KOMAClassFileName}{listof}{flat}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{graduated}% \KOMA@kav@add{\KOMAClassFileName}{listof}{flat}% \@dynlisttrue \or% graduated \KOMA@kav@remove{\KOMAClassFileName}{listof}{flat}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{graduated}% \KOMA@kav@add{\KOMAClassFileName}{listof}{graduated}% \@dynlistfalse \or% leveldown \KOMA@kav@remove{\KOMAClassFileName}{listof}{standardlevel}% \KOMA@kav@add{\KOMAClassFileName}{listof}{leveldown}% \doforeachtocfile[float]{% \setuptoc{\@currext}{leveldown}% }% \AtAddToTocList[float]{% \setuptoc{\@currext}{leveldown}% }% \or% standardlevel \KOMA@kav@remove{\KOMAClassFileName}{listof}{leveldown}% \KOMA@kav@add{\KOMAClassFileName}{listof}{standardlevel}% \doforeachtocfile[float]{% \unsettoc{\@currext}{leveldown}% }% \AtAddToTocList[float]{% \unsettoc{\@currext}{leveldown}% }% \or% entryprefix \KOMA@kav@add{\KOMAClassFileName}{listof}{entryprefix}% \@dynlisttrue \doforeachtocfile[float]{% \BeforeStartingTOC[\@currext]{% \scr@ifundefinedorrelax{listof\@currext entryname}{}{% \expandafter\def\expandafter\numberline@prefix \expandafter{\csname listof\@currext entryname\endcsname \nobreakspace}% }% }% }% \AtAddToTocList[float]{% \BeforeStartingTOC[\@currext]{% \scr@ifundefinedorrelax{listof\@currext entryname}{}{% \expandafter\def\expandafter\numberline@prefix \expandafter{\csname listof\@currext entryname\endcsname \nobreakspace}% }% }% }% \or% indenttextentries \KOMA@kav@remove{\KOMAClassFileName}{listof}{indenttextentries}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{leftaligntextentries}% \KOMA@kav@add{\KOMAClassFileName}{listof}{indenttextentries}% \doforeachtocfile[float]{% \setuptoc{\@currext}{numberline}% }% \AtAddToTocList[float]{% \setuptoc{\@currext}{numberline}% } \or% leftaligntextentries \KOMA@kav@remove{\KOMAClassFileName}{listof}{indenttextentries}% \KOMA@kav@remove{\KOMAClassFileName}{listof}{leftaligntextentries}% \KOMA@kav@add{\KOMAClassFileName}{listof}{leftaligntextentries}% \doforeachtocfile[float]{% \unsettoc{\@currext}{numberline}% }% \AtAddToTocList[float]{% \unsettoc{\@currext}{numberline}% } \fi \fi } \KOMA@kav@add{\KOMAClassFileName}{toc}{nolistof} \KOMA@kav@add{\KOMAClassFileName}{listof}{notoc} \KOMA@kav@add{\KOMAClassFileName}{listof}{graduated} \KOMA@kav@add{\KOMAClassFileName}{listof}{leftaligntextentries} \KOMA@DeclareDeprecatedOption{liststotoc}{listof=totoc} \KOMA@DeclareDeprecatedOption{liststotocnumbered}{listof=numbered} \KOMA@DeclareDeprecatedOption{listsleft}{listof=flat} \KOMA@DeclareDeprecatedOption{listsindent}{listof=graduated} %%% From File: $Id: scrkernel-bibliography.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \newcommand{\newbibstyle}[3][]{% \scr@ifundefinedorrelax{scr@bibstyle@#2}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% \ClassError{\KOMAClassName}{% parent bibliography style `#1' does not exist}{% You've told me to define the new bibliography style `#2'\MessageBreak to be a child of bibliography style `#1', but bibliography style\MessageBreak `#1' does not exist.\MessageBreak You have to remove the parent declaration or use an existing parent! See the KOMA-Script manual for more information.% }% }{% \@namedef{scr@bibstyle@#2}{% \let\@openbib@code\@empty \let\newblock\@empty \let\bib@beginhook\@empty \let\bib@endhook\@empty \@ifundefined{scr@current@bibstyle}{}{% \Ifstr{\scr@current@bibstyle}{}{}{% \edef\reserved@a{% \noexpand\KOMA@kav@remove{\KOMAClassFileName}{bibliography}% {\scr@current@bibstyle}% }\reserved@a }% }% \def\scr@current@bibstyle{#2}% \KOMA@kav@xadd{\KOMAClassFileName}{bibliography}{#2}% \csname scr@bibstyle@#1\endcsname #3% }% \ifx\scr@bibstylelist\@empty \edef\scr@bibstylelist{`#2'}% \else \edef\scr@bibstylelist{\scr@bibstylelist, `#2'}% \fi }% }{% \ClassError{\KOMAClassName}{bibliography style `#2' already exists}{% You've told me to define the new bibliography style `#2',\MessageBreak but this style already exists.\MessageBreak You have to use another bibliography style name.\MessageBreak See the KOMA-Script manual for more information.% }% }% } \newcommand*{\scr@bibstyle@}{} \newcommand*{\bib@beginhook}{} \newcommand*{\bib@endhook}{} \newcommand*{\scr@bibstylelist}{} \newcommand*{\@openbib@code}{} \newcommand*{\newblock}{} \newbibstyle{openstyle}{% \renewcommand*{\@openbib@code}{% \advance\leftmargin\bibindent \itemindent -\bibindent \listparindent \itemindent \parsep \z@ }% \renewcommand*{\newblock}{\par}% } \newbibstyle{oldstyle}{% \renewcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em}% } \scr@bibstyle@oldstyle \newcommand*{\bib@heading}{% \bibliography@heading{\refname}% } \newcommand*{\bibliography@heading}[1]{% \ifbib@leveldown \subsection*{#1}% \begingroup \c@secnumdepth=-\maxdimen \subsectionmark{#1}% \endgroup \else \section*{#1}% \@mkdouble{\MakeMarkcase{#1}}% \fi }% \newif\ifbib@leveldown \KOMA@key{bibliography}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% \KOMA@set@ncmdkey{bibliography}{@tempa}{% {notoc}{0},{nottotoc}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1},% {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% {numberedtoc}{2},% {leveldown}{3},% {standardlevel}{4}% }{#1}% \ifcase \@tempa\relax % notoc \KOMA@kav@remove{\KOMAClassFileName}{toc}{nobibliography}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliography}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliographynumbered}% \KOMA@kav@add{\KOMAClassFileName}{toc}{nobibliography}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{notoc}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{totoc}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{numbered}% \KOMA@kav@add{\KOMAClassFileName}{bibliography}{notoc}% \renewcommand*{\bibliography@heading}[1]{% \ifbib@leveldown \subsection*{##1}% \@mkright{\MakeMarkcase{##1}}% \else \section*{##1}% \@mkdouble{\MakeMarkcase{##1}}% \fi }% \or% totoc \KOMA@kav@remove{\KOMAClassFileName}{toc}{nobibliography}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliography}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliographynumbered}% \KOMA@kav@add{\KOMAClassFileName}{toc}{bibliography}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{notoc}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{totoc}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{numbered}% \KOMA@kav@add{\KOMAClassFileName}{bibliography}{totoc}% \renewcommand*{\bibliography@heading}[1]{% \ifbib@leveldown \subsection*{% \addsubsectiontocentry{}{##1}% ##1% }% \@mkright{\MakeMarkcase{##1}}% \else \addsec{##1}% \@mkdouble{\MakeMarkcase{##1}}% \fi }% \or% numbered \KOMA@kav@remove{\KOMAClassFileName}{toc}{nobibliography}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliography}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliographynumbered}% \KOMA@kav@add{\KOMAClassFileName}{toc}{bibliographynumbered}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{notoc}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{totoc}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{numbered}% \KOMA@kav@add{\KOMAClassFileName}{bibliography}{numbered}% \renewcommand*{\bibliography@heading}[1]{% \ifbib@leveldown \subsection{##1}% \else \section{##1}% \@mkdouble{\MakeMarkcase{\sectionmarkformat ##1}}% \fi } \or% leveldown \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{leveldown}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{standardlevel}% \KOMA@kav@add{\KOMAClassFileName}{bibliography}{leveldown}% \bib@leveldowntrue \or% standardlevel \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{leveldown}% \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{standardlevel}% \KOMA@kav@add{\KOMAClassFileName}{bibliography}{standardlevel}% \bib@leveldownfalse \fi }{% \FamilyKeyStateProcessed \edef\reserved@a{% \noexpand\KOMA@kav@remove{\KOMAClassFileName}{bibliography}% {\scr@current@bibstyle}% }\reserved@a \csname scr@bibstyle@#1\endcsname }% } \KOMA@DeclareStandardOption{openbib}{bibliography=openstyle} \KOMA@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc} \KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered} %%% From File: $Id: scrkernel-index.dtx 4052 2023-05-05 11:41:51Z kohm $ %%% (run: option) \newcommand*{\idx@@heading}{% \ifidx@leveldown \expandafter\subsection \else \expandafter\section \fi*% } \newcommand*{\idx@@forcemark}[1]{% \ifidx@leveldown \begingroup \value{secnumdepth}=-\maxdimen \subsectionmark{#1}% \endgroup \else \@mkdouble{\MakeMarkcase{#1}}% \fi } \newcommand*{\idx@@forcemarknumbered}[1]{% \ifidx@leveldown \subsectionmark{#1}% \else \sectionmark{#1}% \fi } \newcommand*{\idx@@mark}{} \let\idx@@mark\idx@@forcemark \newif\ifidx@leveldown \KOMA@key{index}{% \KOMA@set@ncmdkey{index}{@tempa}{% {notoc}{0},{nottotoc}{0},{default}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1},% {numbered}{2},{totocnumbered}{2},{numberedtotoc}{2},{tocnumbered}{2},% {numberedtoc}{2},% {leveldown}{3},% {standardlevel}{4}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \ifcase \@tempa\relax \KOMA@kav@remove{\KOMAClassFileName}{toc}{noindex}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{indexnumbered}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{index}% \KOMA@kav@remove{\KOMAClassFileName}{index}{notoc}% \KOMA@kav@remove{\KOMAClassFileName}{index}{numbered}% \KOMA@kav@remove{\KOMAClassFileName}{index}{toc}% \KOMA@kav@add{\KOMAClassFileName}{toc}{noindex}% \KOMA@kav@add{\KOMAClassFileName}{index}{notoc}% \renewcommand*{\idx@@heading}{% \ifidx@leveldown \expandafter\subsection \else \expandafter\section \fi*% }% \let\idx@@mark\idx@@forcemark \or \KOMA@kav@remove{\KOMAClassFileName}{toc}{noindex}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{indexnumbered}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{index}% \KOMA@kav@remove{\KOMAClassFileName}{index}{notoc}% \KOMA@kav@remove{\KOMAClassFileName}{index}{numbered}% \KOMA@kav@remove{\KOMAClassFileName}{index}{toc}% \KOMA@kav@add{\KOMAClassFileName}{toc}{index}% \KOMA@kav@add{\KOMAClassFileName}{index}{toc}% \renewcommand*{\idx@@heading}{% \ifidx@leveldown \expandafter\expandafter\expandafter\subsection\expandafter*% \else \expandafter\addsec \fi }% \let\idx@@mark\idx@@forcemark \or \KOMA@kav@remove{\KOMAClassFileName}{toc}{noindex}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{indexnumbered}% \KOMA@kav@remove{\KOMAClassFileName}{toc}{index}% \KOMA@kav@remove{\KOMAClassFileName}{index}{notoc}% \KOMA@kav@remove{\KOMAClassFileName}{index}{numbered}% \KOMA@kav@remove{\KOMAClassFileName}{index}{toc}% \KOMA@kav@add{\KOMAClassFileName}{toc}{indexnumbered}% \KOMA@kav@add{\KOMAClassFileName}{index}{numbered}% \renewcommand*{\idx@@heading}{% \ifidx@leveldown \expandafter\subsection \else \expandafter\section \fi }% \let\idx@@mark\idx@@forcemarknumbered \or \KOMA@kav@remove{\KOMAClassFileName}{index}{leveldown}% \KOMA@kav@remove{\KOMAClassFileName}{index}{standardlevel}% \KOMA@kav@add{\KOMAClassFileName}{index}{leveldown}% \idx@leveldowntrue \or \KOMA@kav@remove{\KOMAClassFileName}{index}{leveldown}% \KOMA@kav@remove{\KOMAClassFileName}{index}{standardlevel}% \KOMA@kav@add{\KOMAClassFileName}{index}{standardlevel}% \idx@leveldownfalse \fi \fi } \KOMA@kav@add{\KOMAClassFileName}{toc}{noindex} \KOMA@kav@add{\KOMAClassFileName}{index}{notoc} \KOMA@kav@add{\KOMAClassFileName}{index}{standardlevel} \KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc} %%% From File: $Id: scrkernel-listsandtabulars.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) %%% From File: $Id: scrkernel-sections.dtx 4069 2023-06-29 08:55:54Z kohm $ %%% (run: execoption) \KOMAExecuteOptions{numbers=autoendperiod} %%% From File: $Id: scrkernel-miscellaneous.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: execoption) \KOMAExecuteOptions{% parskip=false,% headings=big% } \KOMAProcessOptions\relax %%% From File: $Id: scrkernel-compatibility.dtx 4054 2023-05-10 14:35:36Z kohm $ %%% (run: body) \AtBeginDocument{% \begingroup \def\reserved@a#1/#2/#3 #4\@nil{\@tempcnta=#1\relax\@tempcntb=#2\relax}% \expandafter\reserved@a\KOMAScriptVersion\@nil \edef\reserved@a{\the\numexpr\@tempcnta+2\relax/% \ifnum\@tempcntb<10 0\fi\the\@tempcntb/01}% \expandafter\IfLTXAtLeastTF\expandafter{\reserved@a}{% \ClassWarningNoLine{\KOMAClassName}{% Your are using a KOMA-Script version, that has not\MessageBreak been tested with your more than one year newer\MessageBreak LaTeX release `\fmtversion'.\MessageBreak Because of the high speed of LaTeX kernel development,\MessageBreak this could result in a lot of issues.\MessageBreak Please have a look at\MessageBreak and if this\MessageBreak shows a newer KOMA-Script version than\MessageBreak `\KOMAScriptVersion', we suggest to do\MessageBreak an update of KOMA-Script or maybe even the whole\MessageBreak TeX distribution% }% }{% \edef\reserved@a{\the\numexpr\@tempcnta-4\relax/% \ifnum\@tempcntb<10 0\fi\the\@tempcntb/01}% \expandafter\IfLTXAtLeastTF\expandafter{\reserved@a}{}{% \ClassWarningNoLine{\KOMAClassName}{% You are using a KOMA-Script version, that has not been\MessageBreak tested with your more than four years older LaTeX\MessageBreak release `\fmtversion'.\MessageBreak Because of the high speed of LaTeX kernel development,\MessageBreak KOMA-Script releases cannot be tested with all past\MessageBreak LaTeX releases.\MessageBreak \ifnum\scr@compatibility<\scr@v@last So even if you are using option `version' implicitly\MessageBreak or explicitly, this \else So this \fi could result in a lot of issues.\MessageBreak We recommend, to update the whole TeX distribution.\MessageBreak If this could not be done, we suggest to use at\MessageBreak least an older KOMA-Script release, e.g., from\MessageBreak % }% }% }% \endgroup } %%% From File: $Id: scrkernel-fonts.dtx 4034 2023-04-20 08:03:46Z kohm $ %%% (run: body) \newcommand*\scr@setlength[4]{% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{#1}{#2 \@plus#3 \@minus#4}% \else \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi \setlength{#1}{\p@ \@plus\p@ \@minus\p@}% \else \setlength{#1}{\p@ \@plus\p@ \@minus#4}% \fi \else \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi \setlength{#1}{\p@ \@plus#3 \@minus\p@}% \else \setlength{#1}{\p@ \@plus#3 \@minus#4}% \fi \fi \else \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi \setlength{#1}{#2 \@plus\p@ \@minus\p@}% \else \setlength{#1}{#2 \@plus\p@ \@minus#4}% \fi \else \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi \setlength{#1}{#2 \@plus#3 \@minus\p@}% \else \setlength{#1}{#2 \@plus#3 \@minus#4}% \fi \fi \fi \fi } \providecommand*{\simple@changefontsizes}[2][1.2\@tempdima]{% \KOMA@kav@removekey{% \KOMAClassFileName }{fontsize}% \@defaultunits\@tempdima#2pt\relax\@nnil \setlength{\@tempdimc}{\@tempdima}% \addtolength{\@tempdimc}{-10\p@}% \edef\@ptsize{\strip@pt\@tempdimc}% \@defaultunits\@tempdimb#1pt\relax\@nnil \setlength{\@tempdimc}{\dimexpr (100\@tempdimb / \@tempdima * \p@)}% \edef\@tempb{\the\@tempdimc}% \setlength{\@tempdimc}{\@tempdima}% \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}% \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\abovedisplayskip}{% \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% \setlength{\belowdisplayshortskip}{% .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \else \scr@setlength{\abovedisplayskip}% {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% \scr@setlength{\belowdisplayshortskip}% {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\normalsize {\the\@tempdima}{\the\@tempdimb}% \abovedisplayskip \the\abovedisplayskip \abovedisplayshortskip \the\abovedisplayshortskip \belowdisplayskip \the\belowdisplayskip \belowdisplayshortskip \the\belowdisplayshortskip \let\noexpand\@listi\noexpand\@listI }% \let\normalsize\@undefined \expandafter\DeclareRobustCommand\expandafter\normalsize\expandafter{\reserved@a}% \setlength{\@tempdima}{0.9125\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\abovedisplayskip}{% \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% \setlength{\belowdisplayshortskip}{% .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \else \scr@setlength{\abovedisplayskip}% {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% \scr@setlength{\belowdisplayshortskip}% {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\small {\the\@tempdima}{\the\@tempdimb}% \abovedisplayskip \the\abovedisplayskip \abovedisplayshortskip \the\abovedisplayshortskip \belowdisplayskip \the\belowdisplayskip \belowdisplayshortskip \the\belowdisplayshortskip \let\noexpand\@listi\noexpand\@listi@small }% \let\small\@undefined \expandafter\DeclareRobustCommand\expandafter\small\expandafter{\reserved@a}% \setlength{\@tempdima}{.83334\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\abovedisplayskip}{% \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% \setlength{\belowdisplayshortskip}{% .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \else \scr@setlength{\abovedisplayskip}% {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% \scr@setlength{\belowdisplayshortskip}% {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\footnotesize {\the\@tempdima}{\the\@tempdimb}% \abovedisplayskip \the\abovedisplayskip \abovedisplayshortskip \the\abovedisplayshortskip \belowdisplayskip \the\belowdisplayskip \belowdisplayshortskip \the\belowdisplayshortskip \let\noexpand\@listi\noexpand\@listi@footnotesize }% \let\footnotesize\@undefined \expandafter\DeclareRobustCommand\expandafter\footnotesize\expandafter{\reserved@a}% \setlength{\@tempdima}{.66667\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\scriptsize {\the\@tempdima}{\the\@tempdimb}% }% \let\scriptsize\@undefined \expandafter\DeclareRobustCommand\expandafter\scriptsize\expandafter{\reserved@a}% \setlength{\@tempdima}{.5\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\tiny {\the\@tempdima}{\the\@tempdimb}% }% \let\tiny\@undefined \expandafter\DeclareRobustCommand\expandafter\tiny\expandafter{\reserved@a}% \setlength{\@tempdima}{1.2\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\large {\the\@tempdima}{\the\@tempdimb}% }% \let\large\@undefined \expandafter\DeclareRobustCommand\expandafter\large\expandafter{\reserved@a}% \setlength{\@tempdima}{1.44\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\Large {\the\@tempdima}{\the\@tempdimb}% }% \let\Large\@undefined \expandafter\DeclareRobustCommand\expandafter\Large\expandafter{\reserved@a}% \setlength{\@tempdima}{1.728\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\LARGE {\the\@tempdima}{\the\@tempdimb}% }% \let\LARGE\@undefined \expandafter\DeclareRobustCommand\expandafter\LARGE\expandafter{\reserved@a}% \setlength{\@tempdima}{2.074\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\huge {\the\@tempdima}{\the\@tempdimb}% }% \let\huge\@undefined \expandafter\DeclareRobustCommand\expandafter\huge\expandafter{\reserved@a}% \setlength{\@tempdima}{2.488\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\reserved@a{% \noexpand\@setfontsize\noexpand\Huge {\the\@tempdima}{\the\@tempdimb}% }% \let\Huge\@undefined \expandafter\DeclareRobustCommand\expandafter\Huge\expandafter{\reserved@a}% \normalsize \expandafter\ifnum\scr@v@is@ge{3.17} \@nameuse{par@updaterelative}% \fi \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\footnotesep}{.7\@tempdimc}% \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus .6\@tempdimc}% \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus .3333\@tempdimc}% \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus .3333\@tempdimc}% \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus .3333\@tempdimc}% \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus .3333\@tempdimc}% \setlength{\dbltextfloatsep}{\textfloatsep}% \setlength{\@fptop}{0\p@ \@plus 1fil}% \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% \setlength{\@fpbot}{\@fptop}% \setlength{\@dblfptop}{0\p@ \@plus 1fil}% \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% \setlength{\@dblfpbot}{\@fptop}% \fi \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus .5\@tempdimc}% \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% \else \setlength{\@tempdimb}{\f@baselineskip}% \scr@setlength{\parsep}% {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% \scr@setlength{\topsep}% {.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listi\endcsname \endgroup \edef\@listi{\leftmargin\leftmargini \topsep \the\topsep \parsep \the\parsep \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% \let\@listI\@listi \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus .41667\@tempdimc}% \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% \else \scr@setlength{\parsep}% {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% \scr@setlength{\topsep}% {.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listi\endcsname \endgroup \edef\@listi@small{\leftmargin\leftmargini \topsep \the\topsep \parsep \the\parsep \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus .16667\@tempdimc}% \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% \else \scr@setlength{\parsep}% {.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}% \scr@setlength{\topsep}% {.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}% \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listi\endcsname \endgroup \edef\@listi@footnotesize{\leftmargin\leftmargini \topsep \the\topsep \parsep \the\parsep \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% \else \scr@setlength{\parsep}% {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% \scr@setlength{\topsep}% {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listii\endcsname \endgroup \edef\@listii{\leftmargin\leftmarginii \labelwidth=\dimexpr \leftmargin-\labelsep \topsep \the\topsep \parsep \the\parsep \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% \else \scr@setlength{\topsep}% {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% \fi \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listiii\endcsname \endgroup \edef\@listiii{\leftmargin\leftmarginiii \labelwidth=\dimexpr \leftmargin-\labelsep \topsep \the\topsep \parsep \z@ \partopsep \the\partopsep \itemsep \topsep \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listiv\endcsname \endgroup \edef\@listiv{\leftmargin\leftmarginiv \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listv\endcsname \endgroup \edef\@listv{\leftmargin\leftmarginv \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listvi\endcsname \endgroup \edef\@listvi{\leftmargin\leftmarginvi \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@listi \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\@tempdimb}{\@tempb\@tempdima}% \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% \setlength\dblfloatsep\intextsep \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% \else \setlength{\@tempdimb}{\f@baselineskip}% \setlength{\footnotesep}{.555\@tempdimb}% \scr@setlength{\skip\footins}% {.75\@tempdimb}{.3333\@tempdimb}{.1667\@tempdimb}% \scr@setlength{\floatsep}% {\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% \scr@setlength{\textfloatsep}% {1.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% \setlength{\intextsep}{\floatsep}% \setlength{\dblfloatsep}{\floatsep}% \setlength{\dbltextfloatsep}{\textfloatsep}% \setlength{\@fptop}{\z@ \@plus 1fil}% \setlength{\@fpsep}{.6667\@tempdimb \@plus 2fil}% \setlength{\@fpbot}{\@fptop}% \setlength{\@dblfptop}{\@fptop}% \setlength{\@dblfpsep}{\@fpsep}% \setlength{\@dblfpbot}{\@fptop}% \scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}% \fi } \scr@ifundefinedorrelax{changefontsizes}{% \let\changefontsizes\simple@changefontsizes }{% \ClassWarning{\KOMAClassName}{% \string\changefontsizes\space already defined.\MessageBreak I hope, the definition is compatible,\MessageBreak because I do not change it% }% } \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil \edef\@tempa{\@ptsize}% \setlength{\@tempdimb}{\@tempdima}% \edef\@tempb{\strip@pt\@tempdimb}% \addtolength{\@tempdimb}{-10\p@}% \edef\@ptsize{\strip@pt\@tempdimb}% \InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% \ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% \KOMA@kav@removekey{\KOMAClassFileName}{fontsize}% \KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempa}% }{% \InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% \ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempb pt.clo' used instead of\MessageBreak file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% \KOMA@kav@removekey{\KOMAClassFileName}{fontsize}% \KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempb pt}% }{% \InputIfFileExists{size\@tempb.clo}{% \ClassInfo{\KOMAClassName}{% File `size\@tempb.clo' used to setup font sizes}% \KOMA@kav@removekey{\KOMAClassFileName}{fontsize}% \KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempb}% }{% \edef\@tempa{% \noexpand\changefontsizes{\@tempa}% \noexpand\KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempa}% }\@tempa }% }% } \newcommand*{\scr@DeclareOldFontCommand}[3]{% \ifnum\scr@defineobsoletefonts<\z@\else \ifnum\scr@defineobsoletefonts>\tw@ \DeclareOldFontCommand{#1}{#2}{#3}% \else \AtBeginDocument{% \ifdefined#1\else \DeclareOldFontCommand{#1}{% \scr@ErrorWarningInfo{#1}{#2}#2% }{% \scr@ErrorWarningInfo{#1}{#3}#3% }% \fi }% \fi \fi } \DeclareRobustCommand*{\scr@ErrorWarningInfo}[2]{% \ifnum \scr@defineobsoletefonts=\z@ \ClassError{\KOMAClassName}{undefined old font command `\string#1'}{% You should note that since 1994 LaTeX2e provides a new font selection scheme\MessageBreak called NFSS2 with several new, combinable font commands. KOMA-Script\MessageBreak classes had defined the old font commands like `\string#1' only for compatibility\MessageBreak with old LaTeX 2.09 document styles of Script 2.0. Nevertheless, these\MessageBreak commands are deprecated and undocumented at least since 2003. Since 2013\MessageBreak KOMA-Script classes warned about soon removement of these deprecated commands.\MessageBreak Now, after two decades of LaTeX2e and NFSS2, these commands will not work any\MessageBreak more. If loading a package results in this error message, you should contact\MessageBreak the author of that package and ask him to replace the deprecated font command\MessageBreak `\string#1', e.g., by `\detokenize{#2}`. Otherwise you should reconfigure\MessageBreak or replace the package. If you have used the old font command `\string#1' yourself,\MessageBreak you should replace it, e.g., by `\detokenize{#2}'.\MessageBreak To make it work for now, you can use the already also deprecated class option\MessageBreak `enabledeprecatedfontcommands'.% }% \else \ifcase \scr@defineobsoletefonts \or \expandafter\ClassWarning \or \expandafter\ClassInfo \else \expandafter\@gobbletwo \fi {\KOMAClassName}{deprecated old font command `\string#1' used.\MessageBreak You should note, that since 1994 LaTeX2e provides a\MessageBreak new font selection scheme called NFSS2 with several\MessageBreak new, combinable font commands. New KOMA-Script classes\MessageBreak defined the old font commands like `\string#1' only for\MessageBreak compatibility with LaTeX 2.09 document styles of\MessageBreak Script 2.0. These commands are deprecated and\MessageBreak undocumented at least since 2003. Since 2013,\MessageBreak KOMA-Script classes warned about soon removement of\MessageBreak these deprecated commands. Now, after two decades of\MessageBreak LaTeX2e, NFSS2, and KOMA-Script these commands will\MessageBreak not work any longer. If loading a package results in\MessageBreak this message you should contact the author of that\MessageBreak package and ask him to replace the depracted font\MessageBreak command `\string#1', e.g., by `\detokenize{#2}'.\MessageBreak Otherwise you should reconfigure or replace the\MessageBreak package. If you have used the old font command\MessageBreak `\string #1' yourself you should replace it, e.g., by\MessageBreak `\detokenize{#2}'% }% \fi } \scr@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \scr@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \scr@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \scr@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \scr@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \scr@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \scr@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \scr@DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% \@nomath\sfb} \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} %%% From File: $Id: scrkernel-language.dtx 4032 2023-04-17 09:45:11Z 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 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \let\@BCOR =\relax \let\@@BCOR =\relax \let\@DIV =\relax \let\@@DIV =\relax \let\@headlines =\relax \let\@@headlines =\relax \let\x@paper =\relax \let\x@@paper =\relax \let\scr@pti@nerr@r =\relax \RequirePackage{typearea}[\KOMAScriptVersion] \if@scr@emulatestandardclasses \Ifstr{\@lastdiv}{areaset}{}{% \ifnum\@lastdiv=\z@ \setlength{\textwidth}{\dimexpr \paperwidth-2in\relax} \ifdim \f@size\p@<10.5\p@ \setlength{\@tempdimb}{345\p@} \else\ifdim \f@size\p@<11.5\p@ \setlength{\@tempdimb}{360\p@} \else \setlength{\@tempdimb}{390\p@} \fi \fi \if@twocolumn \ifdim\@textwidth>2\@tempdimb\relax \setlength{\textwidth}{2\@tempdimb} \fi \else \ifdim\textwidth>\@tempdimb \setlength{\textwidth}{\@tempdimb} \fi \fi \@settopoint\textwidth \setlength{\@tempdima}{\dimexpr \paperheight-3.5in\relax} \divide\@tempdima\baselineskip \@tempcnta=\@tempdima \setlength{\textheight}{\@tempcnta\baselineskip} \addtolength{\textheight}{\topskip} \edef\reserved@a{% \noexpand\@areasetadvancedtrue \noexpand\areaset[current]{\noexpand\textwidth}{\noexpand\textheight}% \if@areasetadvanced\else\noexpand\@areasetadvancedfalse\fi }\reserved@a \fi }% \fi %%% From File: $Id: scrkernel-paragraphs.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newcommand*{\par@updaterelative}{% \begingroup \edef\reserved@a{\the\parindent}\ifx\reserved@a\f@parindent \aftergroup\parindent@update \fi \edef\reserved@a{\the\parskip}\ifx\reserved@a\f@parskip \aftergroup\parskip@update \fi \edef\reserved@a{\the\parfillskip}\ifx\reserved@a\f@parfillskip \aftergroup\parfillskip@update \fi \endgroup } \newcommand*{\parindent@update}{% \scr@defaultunits\parindent\scr@parindent \begingroup \let\reserved@b\endgroup \edef\reserved@a{\the\parindent}\ifx\reserved@a\f@parindent\else \def\reserved@b{\endgroup\edef\f@parindent{\the\parindent}}% \fi \reserved@b } \newcommand*{\parskip@update}{% \scr@defaultunits\parskip\scr@parskip \begingroup \let\reserved@b\endgroup \edef\reserved@a{\the\parskip}\ifx\reserved@a\f@parskip\else \def\reserved@b{\endgroup\edef\f@parskip{\the\parskip}}% \fi \reserved@b } \newcommand*{\parfillskip@update}{% \scr@defaultunits\parfillskip\scr@parfillskip \begingroup \let\reserved@b\endgroup \edef\reserved@a{\the\parfillskip}\ifx\reserved@a\f@parfillskip\else \def\reserved@b{\endgroup\edef\f@parfillskip{\the\parfillskip}}% \fi \reserved@b } \setlength{\lineskip}{\p@} \setlength{\normallineskip}{\p@} \IfLTXAtLeastTF{2021/05/01}{% \AddToHook{selectfont}{\par@update}% \AfterPackage{everysel}{% \IfPackageAtLeastTF{everysel}{2021/01/18}{}{% \ClassError{\KOMAClassName}{% incompatible `everysel' detected }{% You are using an old version of `everysel' in combination with a LaTeX\MessageBreak version >= 2021/06/01 and KOMA-Script >= 3.33. This combination is\MessageBreak not supported.\MessageBreak You could switch back to an older LaTeX using package `latexrelease'.\MessageBreak But I recommend to update `everysel'% }% }% }% \AfterPackage{tracefnt}{% \IfPackageAtLeastTF{tracefnt}{2020/12/22}{}{% \ClassError{\KOMAClassName}{% incompatible `tracefnt' detected }{% `tracefnt' is a LaTeX base package and therefore should be updated together\MessageBreak with LaTeX kernel. So this should never happen! Please check your\MessageBreak LaTeX installation% }% }% }% }{% \newcommand*{\scr@selectfont}{} \expandafter\let\expandafter\scr@selectfont\csname selectfont \endcsname \BeforePackage{everysel}{% \AtBeginDocument{% \expandafter\ifx\csname selectfont \endcsname\scr@new@selectfont\else \ClassWarningNoLine{\KOMAClassName}{% discard change of \string\selectfont}% \fi \expandafter\let\csname selectfont \endcsname\scr@selectfont }% }% \AfterPackage{everysel}{% \scr@ifundefinedorrelax{@EverySelectfont@Init}{% \expandafter\ifx\csname selectfont \endcsname\scr@new@selectfont \ClassWarningNoLine{\KOMAClassName}{% \string\selectfont\space already changed}% \else \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}% \expandafter\let\expandafter\scr@new@selectfont \csname selectfont \endcsname \fi }{% \g@addto@macro\@EverySelectfont@Init{% \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}% \expandafter\let\expandafter\scr@new@selectfont \csname selectfont \endcsname }% }% }% \AfterPackage{tracefnt}{% \expandafter\let\expandafter\scr@selectfont\csname selectfont \endcsname \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}% \expandafter\let\expandafter\scr@new@selectfont\csname selectfont \endcsname }% \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update} \newcommand*{\scr@new@selectfont}{} \expandafter\let\expandafter\scr@new@selectfont\csname selectfont \endcsname } \newcommand*{\scr@defaultunits}[2]{% \begingroup \edef\@tempa{#2}% \expandafter\scr@@defaultunits\expandafter#1\@tempa plusplus\@nnil \edef\@tempa{\noexpand\endgroup\noexpand#1\the\glueexpr #1\relax}% \@tempa } \newcommand*{\scr@@defaultunits}{} \def\scr@@defaultunits#1#2plus#3plus#4\@nnil{% \ifx\relax#3\relax \scr@@@defaultunits#1{}#2minusminus\@nnil \else \scr@@@defaultunits#1{#2}#3minusminus\@nnil \fi } \newcommand*{\scr@@@defaultunits}{} \def\scr@@@defaultunits#1#2#3minus#4minus#5\@nnil{% \ifx\relax#2\relax \@defaultunits\@tempskipa#3pt\relax\@nnil #1\@tempskipa \else \@defaultunits\@tempskipa\z@\@plus#3pt\relax\@nnil #1\@tempskipa \@defaultunits\@tempskipa#2pt\relax\@nnil \advance#1\@tempskipa \fi \ifx\relax#4\relax\else \@defaultunits\@tempskipa\z@\@minus #4pt\relax\@nnil \advance#1\@tempskipa \fi } \newcommand*{\@list@extra}{% \ifdim\parskip>\z@\topsep\z@\parsep\parskip\itemsep\z@\fi } \newcommand*{\add@extra@listi}[1]{% \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}% \l@addto@macro{\@listiii}{\@list@extra}% \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}% \l@addto@macro{\small}{\protect\add@extra@listi{sml}}% \setlength{\columnsep}{10\p@} \setlength{\columnseprule}{\z@} \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 %%% From File: $Id: scrkernel-title.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newcommand*{\@extratitle}{}% \newcommand{\extratitle}[1]{\gdef\@extratitle{% #1% }}% \newcommand*{\@frontispiece}{}% \newcommand{\frontispiece}[1]{\gdef\@frontispiece{% #1% }}% \newcommand*{\@titlehead}{}% \newcommand{\titlehead}[1]{\gdef\@titlehead{% #1% }}% \newcommand*{\@subject}{}% \newcommand*{\subject}[1]{\gdef\@subject{% #1% }}% \newcommand*{\subtitle}[1]{\gdef\@subtitle{% #1% }}% \newcommand*{\@subtitle}{}% \newcommand*{\@publishers}{}% \newcommand{\publishers}[1]{\gdef\@publishers{% #1% }}% \newcommand*{\@uppertitleback}{}% \newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{% #1% }}% \newcommand*{\@lowertitleback}{}% \newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{% #1% }}% \newcommand*{\@dedication}{}% \newcommand{\dedication}[1]{\gdef\@dedication{% #1% }}% \newcommand*{\next@tpage}{% \@thanks\global\let\@thanks\@empty \clearpage \csname titlepage@restore\endcsname \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \thispagestyle{empty}% \let\footnote\thanks \setcounter{footnote}{0}% } \newcommand*{\next@tdpage}{% \next@tpage\if@twoside \ifodd\value{page}\else\null\next@tpage\fi\fi } \newcommand*\maketitle[1][1]{% \expandafter\ifnum \scr@v@is@ge{3.12}% \def\and{% \end{tabular}% \hskip 1em \@plus.17fil% \begin{tabular}[t]{c}% }% \fi \if@titlepage \begin{titlepage} \setcounter{page}{% #1% }% \if@titlepageiscoverpage \edef\titlepage@restore{% \noexpand\endgroup \noexpand\global\noexpand\@colht\the\@colht \noexpand\global\noexpand\@colroom\the\@colroom \noexpand\global\vsize\the\vsize \noexpand\global\noexpand\@titlepageiscoverpagefalse \noexpand\let\noexpand\titlepage@restore\noexpand\relax }% \begingroup \topmargin=\dimexpr \coverpagetopmargin-1in\relax \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax \textwidth=\dimexpr \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax \textheight=\dimexpr \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax \headheight=0pt \headsep=0pt \footskip=\baselineskip \@colht=\textheight \@colroom=\textheight \vsize=\textheight \columnwidth=\textwidth \hsize=\columnwidth \linewidth=\hsize \else \let\titlepage@restore\relax \fi \let\footnotesize\small \let\footnoterule\relax \let\footnote\thanks \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% \ifx\@extratitle\@empty \ifx\@frontispiece\@empty \else \if@twoside\mbox{}\next@tpage\fi \noindent\@frontispiece\next@tdpage \fi \else \noindent\@extratitle \ifx\@frontispiece\@empty \else \next@tpage \noindent\@frontispiece \fi \next@tdpage \fi \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth}% \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null\vfill \begin{center} \ifx\@subject\@empty \else {\usekomafont{subject}{\@subject\par}}% \vskip 3em \fi {\usekomafont{title}{\huge \@title\par}}% \vskip 1em {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% \vskip 2em {% \usekomafont{author}{% \lineskip 0.75em \begin{tabular}[t]{c} \@author \end{tabular}\par }% }% \vskip 1.5em {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus3fill {\usekomafont{publishers}{\@publishers \par}}% \vskip 3em \end{center}\par \@thanks\global\let\@thanks\@empty \vfill\null \if@twoside \@tempswatrue \expandafter\ifnum \scr@v@is@ge{3.12}% \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty \@tempswafalse \fi\fi \fi \if@tempswa \next@tpage \begin{minipage}[t]{\textwidth} \@uppertitleback \end{minipage}\par \vfill \begin{minipage}[b]{\textwidth} \@lowertitleback \end{minipage}\par \@thanks\global\let\@thanks\@empty \fi \else \ifx\@uppertitleback\@empty\else \ClassWarning{\KOMAClassName}% {% non empty \string\uppertitleback\space ignored by \string\maketitle\MessageBreak in `twoside=false' mode% }% \fi \ifx\@lowertitleback\@empty\else \ClassWarning{\KOMAClassName}% {% non empty \string\lowertitleback\space ignored by \string\maketitle\MessageBreak in `twoside=false' mode% }% \fi \fi \ifx\@dedication\@empty \else \next@tdpage\null\vfill {\centering\usekomafont{dedication}{\@dedication \par}}% \vskip \z@ \@plus3fill \@thanks\global\let\@thanks\@empty \cleardoubleemptypage \fi \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi \end{titlepage} \else \par \@tempcnta=% #1% \relax\ifnum\@tempcnta=1\else \ClassWarning{\KOMAClassName}% {% Optional argument of \string\maketitle\space ignored\MessageBreak in `titlepage=false' mode% }% \fi \ifx\@uppertitleback\@empty\else \ClassWarning{\KOMAClassName}% {% non empty \string\uppertitleback\space ignored by \string\maketitle\MessageBreak in `titlepage=false' mode% }% \fi \ifx\@lowertitleback\@empty\else \ClassWarning{\KOMAClassName}% {% non empty \string\lowertitleback\space ignored by \string\maketitle\MessageBreak in `titlepage=false' mode% }% \fi \begingroup \let\titlepage@restore\relax \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% \next@tdpage \if@twocolumn \ifnum \col@number=\@ne \ifx\@extratitle\@empty \ifx\@frontispiece\@empty\else\if@twoside\mbox{}\fi\fi \else \@makeextratitle \fi \ifx\@frontispiece\@empty \ifx\@extratitle\@empty\else\next@tdpage\fi \else \next@tpage \@makefrontispiece \next@tdpage \fi \@maketitle \else \ifx\@extratitle\@empty \ifx\@frontispiece\@empty\else\if@twoside\mbox{}\fi\fi \else \twocolumn[\@makeextratitle]% \fi \ifx\@frontispiece\@empty \ifx\@extratitle\@empty\else\next@tdpage\fi \else \next@tpage \twocolumn[\@makefrontispiece]% \next@tdpage \fi \twocolumn[\@maketitle]% \fi \else \ifx\@extratitle\@empty \ifx\@frontispiece\@empty\else \mbox{}\fi \else \@makeextratitle \fi \ifx\@frontispiece\@empty \ifx\@extratitle\@empty\else\next@tdpage\fi \else \next@tpage \@makefrontispiece \next@tdpage \fi \@maketitle \fi \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi \@thanks\global\let\@thanks\@empty \endgroup \fi \setcounter{footnote}{0}% \expandafter\ifnum \scr@v@is@lt{3.12}% \let\thanks\relax \let\maketitle\relax \let\@maketitle\relax \global\let\@thanks\@empty \global\let\@author\@empty \global\let\@date\@empty \global\let\@title\@empty \global\let\@subtitle\@empty \global\let\@extratitle\@empty \global\let\@frontispiece\@empty \global\let\@titlehead\@empty \global\let\@subject\@empty \global\let\@publishers\@empty \global\let\@uppertitleback\@empty \global\let\@lowertitleback\@empty \global\let\@dedication\@empty \global\let\author\relax \global\let\title\relax \global\let\extratitle\relax \global\let\titlehead\relax \global\let\subject\relax \global\let\publishers\relax \global\let\uppertitleback\relax \global\let\lowertitleback\relax \global\let\dedication\relax \global\let\date\relax \fi \global\let\and\relax }% \newcommand*{\@makeextratitle}{% \ifx\@extratitle\@empty \else \noindent\@extratitle\par \fi } \newcommand*{\@makefrontispiece}{% \ifx\@frontispiece\@empty \else \noindent\@frontispiece\par \fi } \newcommand*{\@maketitle}{% \global\@topnum=\z@ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth} \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null \vskip 2em% \begin{center}% \ifx\@subject\@empty \else {\usekomafont{subject}{\@subject \par}}% \vskip 1.5em \fi {\usekomafont{title}{\huge \@title \par}}% \vskip .5em {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% \vskip 1em {% \usekomafont{author}{% \lineskip .5em% \begin{tabular}[t]{c} \@author \end{tabular}\par }% }% \vskip 1em% {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus 1em {\usekomafont{publishers}{\@publishers \par}}% \ifx\@dedication\@empty \else \vskip 2em {\usekomafont{dedication}{\@dedication \par}}% \fi \end{center}% \par \vskip 2em }% \newcommand*{\coverpagetopmargin}{% \dimexpr \topmargin+1in\relax } \newcommand*{\coverpagebottommargin}{% 2\dimexpr\coverpagetopmargin\relax } \newcommand*{\coverpageleftmargin}{% \dimexpr \evensidemargin+1in\relax } \newcommand*{\coverpagerightmargin}{\coverpageleftmargin} \newenvironment{titlepage}{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi \thispagestyle{empty}% }{% \if@restonecol\twocolumn \else \newpage \fi }% \newkomafont{subtitle}{\usekomafont{title}\large}% \newkomafont{titlehead}{}% \newkomafont{author}{\Large} \newkomafont{date}{\Large} \newkomafont{publishers}{\Large} \newkomafont{dedication}{\Large} \newcommand*\titlefont{\sectfont}% \newcommand*{\scr@fnt@title}{\titlefont}% \newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% \newcommand*{\scr@fnt@subject}{\subject@font}% \newenvironment{abstract}{% \if@titlepage \titlepage \null\vfil \@beginparpenalty\@lowpenalty \if@abstrt \begin{center} \normalfont\sectfont\nobreak\abstractname \@endparpenalty\@M \end{center} \fi \else \if@twocolumn\if@abstrt \addsec*{\abstractname} \fi \else \if@abstrt \small \begin{center} {\normalfont\sectfont\nobreak\abstractname \vspace{-.5em}\vspace{\z@}}% \end{center} \fi \quotation \fi \fi }{% \if@titlepage \par\vfil\null\endtitlepage \else \if@twocolumn\else\endquotation\fi \fi } \newcommand*\abstractname{Abstract} \providecaptionname{american,australian,british,canadian,english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\abstractname{Abstract} %%% From File: $Id: scrkernel-tocstyle.dtx 4060 2023-06-20 08:59:01Z kohm $ %%% (run: body) \let\numberline\scr@numberline %%% From File: $Id: scrkernel-tocstyle.dtx 4060 2023-06-20 08:59:01Z kohm $ %%% (run: class,style,part) \CloneTOCEntryStyle{tocline}{part} \TOCEntryStyleStartInitCode{part}{% \expandafter\providecommand% \csname scr@tso@#1@linefill\endcsname{\hfill}% \expandafter\providecommand% \csname scr@tso@#1@entryformat\endcsname[1]{\usekomafont{partentry}{##1}}% \expandafter\providecommand% \csname scr@tso@#1@pagenumberformat\endcsname[1]{% \usekomafont{partentry}{\usekomafont{partentrypagenumber}{##1}}}% \expandafter\providecommand\expandafter*% \csname scr@tso@#1@beforeskip\endcsname{2.25em \@plus\p@}% } %%% From File: $Id: scrkernel-tocstyle.dtx 4060 2023-06-20 08:59:01Z kohm $ %%% (run: class,style,section) \CloneTOCEntryStyle{tocline}{section} \TOCEntryStyleStartInitCode{section}{% \expandafter\providecommand% \csname scr@tso@#1@linefill\endcsname{% \if@sectionentrywithdots {\usekomafont{sectionentrydots}{\TOCLineLeaderFill}}\relax \else \hfill \fi }% \expandafter\providecommand% \csname scr@tso@#1@entryformat\endcsname{\usekomafont{sectionentry}}% \expandafter\providecommand% \csname scr@tso@#1@pagenumberformat\endcsname[1]{\usekomafont{sectionentry}{\usekomafont{sectionentrypagenumber}{##1}}}% \expandafter\providecommand\expandafter*% \csname scr@tso@#1@beforeskip\endcsname{1.0em \@plus\p@}% } %%% From File: $Id: scrkernel-tocstyle.dtx 4060 2023-06-20 08:59:01Z 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 4060 2023-06-20 08:59:01Z kohm $ %%% (run: class,style,default) \CloneTOCEntryStyle{subsection}{default} %%% From File: $Id: scrkernel-sections.dtx 4069 2023-06-29 08:55:54Z kohm $ %%% (run: body) \BeforeClosingMainAux{% \if@autodot\if@filesw\immediate\write\@mainaux{% \string\global\string\csname\space @altsecnumformattrue\string\endcsname}% \fi\fi} \newcommand{\@maybeautodot}[1]{\if@autodot\else\begingroup% \expandafter\@@maybeautodot #1\@stop\endgroup\fi } \newcommand*{\@@maybeautodot}[1]{% \ifx #1\@stop\let\@@maybeautodot\relax \else \ifx #1\Alph \@autodottrue\fi \ifx #1\alph \@autodottrue\fi \ifx #1\Roman \@autodottrue\fi \ifx #1\roman \@autodottrue\fi \ifx #1\@Alph \@autodottrue\fi \ifx #1\@alph \@autodottrue\fi \ifx #1\@Roman \@autodottrue\fi \ifx #1\@roman \@autodottrue\fi \ifx #1\romannumeral \@autodottrue\fi \fi \@@maybeautodot } \newcommand*\autodot{\if@altsecnumformat.\fi} \setcounter{secnumdepth}{3} \providecommand*{\ifnumbered}{% \ClassWarning{\KOMAClassName}{Usage of deprecated command `\string\ifnumbered'.\MessageBreak The command has been renamed because of a\MessageBreak recommendation of The LaTeX Project Team.\MessageBreak Please replace `\string\ifnumbered' by `\string\Ifnumbered'% }% \Ifnumbered } \newcommand*{\Ifnumbered}[1]{% \if@currentusenumber \scr@ifundefinedorrelax{#1numdepth}{% \expandafter\@secondoftwo }{% \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth \expandafter\expandafter\expandafter\@secondoftwo \else \expandafter\expandafter\expandafter\@firstoftwo \fi }% \else \expandafter\@secondoftwo \fi } \providecommand*{\ifunnumbered}{% \ClassWarning{\KOMAClassName}{Usage of deprecated command `\string\ifunnumbered'.\MessageBreak The command has been renamed because of a\MessageBreak recommendation of The LaTeX Project Team.\MessageBreak Please replace `\string\ifunnumbered' by `\string\Ifunnumbered'% }% \Ifunnumbered } \newcommand*{\Ifunnumbered}[1]{% \Ifnumbered{#1}{\@secondoftwo}{\@firstoftwo}% } \newcommand*{\scr@saved@startsection}[6]{% \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \kernel@ifstar {\@ssect{#3}{#4}{#5}{#6}}% {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% } \def\reserved@a#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \@ifstar {\@ssect{#3}{#4}{#5}{#6}}% {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% } \ifcase \ifx\@startsection\scr@saved@startsection 0 \else \ifx\@startsection\reserved@a 0 \else 1 \fi \fi \newcommand*{\scr@startsection}[6]{% \ExecuteDoHook{heading/preinit/#1}% \if@noskipsec \leavevmode \fi \par \@tempskipa \glueexpr #4\relax \@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 }% \ExecuteDoHook{heading/postinit/#1}% \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \kernel@ifstar {% \ExecuteDoHook{heading/branch/star/#1}% \def\scr@s@ct@@nn@m@{#1}% \@ssect{\glueexpr #3\relax}{\glueexpr #4\relax}{\glueexpr #5\relax}{#6}% }{% \ExecuteDoHook{heading/branch/nostar/#1}% \scr@section@dblarg{% \@sect{#1}{\numexpr #2\relax}{\glueexpr #3\relax}{\glueexpr #4\relax}% {\glueexpr #5\relax}{#6}% }% }% } \else \ClassWarningNoLine{\KOMAClassName}{`\string\@startsection' has been changed.\MessageBreak \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 Generally it defines `\string\@startsection' completely new\MessageBreak 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-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 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}*% }{% \scr@section@dblarg{% \scr@saved@startsection{#1}{\numexpr #2\relax}{\glueexpr #3\relax}% {\glueexpr #4\relax}{\glueexpr #5\relax}{#6}}% }% } \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]{% \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]{% \ClassWarning{\KOMAClassName}{% Usage of deprecated command `\string\Before@ssect' mapped to\MessageBreak `\string\AddtoDoHook{heading/branch/star}% {...\string\@gobble}'% }% \AddtoDoHook{heading/branch/star}{\scr@doonlyifstyleofargis{#1}{section}}% } \newcommand*{\Before@sect}[1]{% \ClassWarning{\KOMAClassName}{% Usage of deprecated command `\string\Before@sect' mapped to\MessageBreak `\string\AddtoDoHook{heading/branch/nostar}% {...\string\@gobble}'% }% \AddtoDoHook{heading/branch/nostar}{\scr@doonlyifstyleofargis{#1}{section}}% } \newcommand{\scr@section@dblarg}[1]{% \kernel@ifnextchar[%] {#1}% {\scr@section@xdblarg{#1}}% } \newcommand{\scr@section@xdblarg}[2]{% \begingroup \edef\reserved@a{% \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% {\scr@osectarg}}% \reserved@a } \renewcommand*{\@startsection}{% \ifnum \scr@osectarg=\z@ \expandafter\scr@saved@startsection \else \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\scr@latex@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty \else \refstepcounter{#1}% \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6{% \@hangfrom{\hskip #3\relax\@svsec}% \interlinepenalty \@M #8\@@par}% \endgroup \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7}% \else \def\@svsechd{% #6{\hskip #3\relax \@svsec #8}% \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7}}% \fi \@xsect{#5}} \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 the KOMA-Script maintainer!\MessageBreak Maybe LaTeX will be broken by the redefinition\MessageBreak of \string\@sect}% \fi \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum \scr@osectarg=\z@ \@scr@tempswafalse \else \scr@istest#7=\@nil \fi \@currentusenumbertrue \if@scr@tempswa \setkeys{KOMAarg.section}{tocentry={#8},head={#8},reference={#8},#7}% \else \ifcase \scr@osectarg\relax \setkeys{KOMAarg.section}{tocentry={#7},head={#7},reference={#7}}% \or \setkeys{KOMAarg.section}{tocentry={#8},head={#7},reference={#8}}% \or \setkeys{KOMAarg.section}{tocentry={#7},head={#8},reference={#7}}% \or \setkeys{KOMAarg.section}{tocentry={#7},head={#7},reference={#7}}% \fi \fi \scr@ifundefinedorrelax{scr@mt@saved@sect}{}{% \expandafter\ifx\csname #1\endcsname\section \addcontentsline{\ext@figure}{xsect}{\@currenttocentry}% \addcontentsline{\ext@table}{xsect}{\@currenttocentry}% \fi \expandafter\ifx\csname #1\endcsname\starsection\relax \addcontentsline{\ext@figure}{xsect}{\@currenttocentry}% \addcontentsline{\ext@table}{xsect}{\@currenttocentry}% \fi }% \let\IfUsePrefixLine\@secondoftwo \ifcase \if@currentusenumber \ifnum \numexpr #2\relax>\c@secnumdepth \z@\else \@ne\fi \else \z@ \fi \let\@svsec\@empty \expandafter\ifnum\scr@v@is@ge{3.31}\relax \begingroup \let\@elt\@stpelt \csname cl@#1\endcsname \endgroup \fi \hy@insteadofrefstepcounter{#1}% \else \refstepcounter{#1}% \expandafter\@maybeautodot\csname the#1\endcsname \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi \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 \scr@ifundefinedorrelax{add#1tocentry}{% \expandafter\gdef\csname add#1tocentry\endcsname##1##2{% \addtocentrydefault{#1}{##1}{##2}% }% }{}% \ifcase \if@currentusenumber \ifnum \numexpr #2\relax>\c@secnumdepth \z@\else \@ne\fi \else \z@ \fi \csname add#1tocentry\endcsname{}{\@currenttocentry}% \else \@ifundefined{#1tocformat}{% \expandafter\gdef\csname #1tocformat\endcsname {\csname the#1\endcsname}% }{}% \csname add#1tocentry\endcsname{\csname #1tocformat\endcsname}{% \@currenttocentry}% \fi \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}% \ifx\@currenttocentry\@empty\else \scr@ifundefinedorrelax{add#1tocentry}{% \expandafter\gdef\csname add#1tocentry\endcsname####1####2{% \addtocentrydefault{#1}{####1}{####2}% }% }{}% \ifcase \if@currentusenumber \ifnum \numexpr #2\relax>\c@secnumdepth \z@\else \@ne\fi \else \z@ \fi \csname add#1tocentry\endcsname{}{\@currenttocentry}% \else \@ifundefined{#1tocformat}{% \expandafter\gdef\csname #1tocformat\endcsname {\csname the#1\endcsname}% }{}% \csname add#1tocentry\endcsname{\csname #1tocformat\endcsname}{% \@currenttocentry}% \fi \fi \ExecuteDoHook{heading/endgroup/#1}% }% \fi \let\IfUsePrefixLine\scr@IfUsePrefixLineWarning \@xsect{\glueexpr #5\relax}% } \DefineFamily{KOMAarg} \DefineFamilyMember[.section]{KOMAarg} \providecommand*\@currenttocentry{} \providecommand*\@currentheadentry{} \providecommand*\@currentlabelname{} \FamilyStringKey[.section]{KOMAarg}{tocentry}{\@currenttocentry} \FamilyStringKey[.section]{KOMAarg}{head}{\@currentheadentry} \IfLTXAtLeastTF{2020/10/01}{% \NewHook{\KOMAClassName/option/section/reference/fallback}% }{}% \DefineFamilyKey[.section]{KOMAarg}{reference}{% \scr@ifundefinedorrelax{NR@gettitle}{% \scr@ifundefinedorrelax{GetTitleString}{% \begingroup \let\label\@gobble \let\index\@gobble \let\glossary\@gobble \scr@ifundefinedorrelax{UseHook}{}{% \UseHook{\KOMAClassName/option/section/reference/fallback}% }% \protected@edef\@currentlabelname{#1}% \expandafter\expandafter\expandafter\endgroup \expandafter\def\expandafter\@currentlabelname\expandafter{% \@currentlabelname}% }{% \GetTitleString{#1}% \let\@currentlabelname\GetTitleStringResult }% }{% \NR@gettitle{#1}% }% \scr@ifundefinedorrelax{TR@gettitle}{}{% \expandafter\TR@gettitle\expandafter{\@currentlabelname}% }% \scr@ifundefinedorrelax{ztitlerefsetup}{}{% \ztitlerefsetup{title=\@currentlabelname}% }% \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 } \newif\if@scr@tempswa \newcommand{\sectionlinesformat}[4]{% \@hangfrom{\hskip #2#3}{#4}% } \newcommand{\sectioncatchphraseformat}[4]{% \hskip #2#3#4% } \def\scr@latex@ssect#1#2#3#4#5{% \@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup #4{% \@hangfrom{\hskip #1}% \interlinepenalty \@M #5\@@par}% \endgroup \else \def\@svsechd{#4{\hskip #1\relax #5}}% \fi \@xsect{#3}} \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 the KOMA-Script maintainer!\MessageBreak Maybe LaTeX will be broken by the redefinition\MessageBreak of \string\@ssect}% \fi \def\@ssect#1#2#3#4#5{% \scr@ifundefinedorrelax{scr@s@ct@@nn@m@}{% \ClassWarning{\KOMAClassName}{Incompatible usage of \string\@ssect\space detected.\MessageBreak You've used the KOMA-Script implementation of \string\@ssect\MessageBreak from within a non compatible caller, that does not\MessageBreak \string\scr@s@ct@@nn@m@\space locally.\MessageBreak This could result in several error messages}% \def\scr@s@ct@@nn@m@{\string\scr@s@ct@@nn@m@}% }{% \expandafter\ifnum\scr@v@is@ge{3.31}\relax \begingroup \let\@elt\@stpelt \csname cl@\scr@s@ct@@nn@m@\endcsname \endgroup \fi }% \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\scr@latex@xsect#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\scr@latex@xsect\else \let\scr@latex@xsect\@xsect \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}% \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 section command\MessageBreak style makes no sense, because the behaviour not only\MessageBreak depends on class options but also on the run-time\MessageBreak section command style.\MessageBreak Neither the then-code nor the else-code will be\MessageBreak executed.\MessageBreak You may change this and avoid the warning by LOCALLY\MessageBreak setting \string\IfUsePrefixLine\space to either \string\@firstoftwo\space or\MessageBreak \string\@secondoftwo\space before using it% }% } \newcommand*{\IfUsePrefixLine}[2]{} \let\IfUsePrefixLine\scr@IfUsePrefixLineWarning \newcommand*{\raggedsection}{} \let\raggedsection\raggedright \DefineFamily{KOMAarg} \DefineFamilyMember[.dsc]{KOMAarg} \newcommand*{\DeclareSectionCommandStyleOption}[3]{% \AddToSectionCommandOptionsDoList{#2}% \expandafter\g@addto@macro\csname scr@dsc@style@#1@options\endcsname{% \DefineFamilyKey[.dsc]{KOMAarg}{#2}{#3}% }% } \newcommand*{\AddToSectionCommandOptionsDoList}[1]{% \kernel@ifnextchar [%] {\@AddToSectionCommandOptionListWithDefault{#1}}% {\l@addto@macro\scr@dsc@doopts{\do{#1}}}% } \newcommand*{\@AddToSectionCommandOptionListWithDefault}{} \def\@AddToSectionCommandOptionListWithDefault#1[#2]{% \l@addto@macro\scr@dsc@doopts{\do[{#2}]{#1}} }% \newcommand*{\scr@dsc@doopts}{} \newcommand*{\RelaxSectionCommandOptions}{% \begingroup \def\do@endgroup{\endgroup}% \def\do{% \kernel@ifnextchar [%] {\@do}% {\@do[]}% }% \def\@do[##1]##2{% \l@addto@macro\do@endgroup{\RelaxFamilyKey[.dsc]{KOMAarg}{##2}}% }% \scr@dsc@doopts \do@endgroup } \newcommand*{\DeclareSectionCommandStyleLengthOption}[4]{% \DeclareSectionCommandStyleOption{#1}{#2}{% \protected@edef\reserved@a{% \noexpand\FamilySetLength{KOMAarg}{#2}{\noexpand\@tempskipa}{##1}% }\reserved@a \ifx\FamilyKeyState\FamilyKeyStateProcessed \ifscr@dsc@expandtopt \expandafter\edef\csname #3\scr@dsc@current#4\endcsname{% \the\@tempskipa}% \else \expandafter\edef\csname #3\scr@dsc@current#4\endcsname{##1}% \fi \fi }% \DeclareSectionCommandStyleOption{#1}{#2:}{% \scr@ifundefinedorrelax{#3##1#4}{\FamilyKeyStateUnknownValue}{% \ifscr@dsc@expandtopt \setlength{\@tempskipa}{\@nameuse{#3##1#4}}% \expandafter\edef\csname #3\scr@dsc@current#4\endcsname{\the\@tempskipa}% \else \@namedef{#3\scr@dsc@current#4}{\@nameuse{#3##1#4}}% \fi \FamilyKeyStateProcessed }% }% } \newcommand*{\DeclareSectionCommandStyleNumberOption}[4]{% \DeclareSectionCommandStyleOption{#1}{#2}{% \protected@edef\reserved@a{% \noexpand\FamilySetCounterMacro{KOMAarg}{#2}{\noexpand\reserved@a}{##1} }\reserved@a \ifx\FamilyKeyState\FamilyKeyStateProcessed \expandafter\let\csname #3\scr@dsc@current#4\endcsname\reserved@a \fi }% \DeclareSectionCommandStyleOption{#1}{#2:}{% \scr@ifundefinedorrelax{#3##1#4}{\FamilyKeyStateUnknownValue}{% \ifscr@dsc@expandtopt \@tempcnta=\@nameuse{#3##1#4}% \expandafter\edef\csname #3\scr@dsc@current#4\endcsname{\the\@tempcnta}% \else \@namedef{#3\scr@dsc@current#4}{\@nameuse{#3##1#4}}% \fi \FamilyKeyStateProcessed }% }% } \newcommand*{\DeclareSectionCommandStyleFontOption}[4]{% \DeclareSectionCommandStyleOption{#1}{#2}{% \IfExistskomafont{#3\scr@dsc@current#4}{% \setkomafont }{% \newkomafont }{#3\scr@dsc@current#4}{##1}% \FamilyKeyStateProcessed }% \DeclareSectionCommandStyleOption{#1}{#2:}{% \IfExistskomafont{#3##1#4}{% \IfExistskomafont{#3\scr@dsc@current#4}{% \setkomafont }{% \newkomafont }{#3\scr@dsc@current#4}{\usekomafont{#3##1#4}}% \FamilyKeyStateProcessed }{\FamilyKeyStateUnknownValue}% }% } \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 }% \DeclareSectionCommandStyleOption{#1}{#2:}{% \scr@ifundefinedorrelax{#3##1#4}{\FamilyKeyStateUnknownValue}{% \ifscr@dsc@expandtopt \expandafter\let\csname #3\scr@dsc@current#4\expandafter\endcsname \csname #3##1#4\endcsname \else \expandafter\def\csname #3\scr@dsc@current#4\endcsname{% \@nameuse{#3##1#4}% }% \fi \FamilyKeyStateProcessed }% }% } \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}{}{} \newcommand*{\scr@dsc@def@style@section@command}[1]{% \@namedef{#1}{% \scr@startsection{#1}% {\csname #1numdepth\endcsname}% {\csname scr@#1@sectionindent\endcsname}% {\csname scr@#1@beforeskip\endcsname}% {\csname scr@#1@afterskip\endcsname}% {% \ifdim\glueexpr\csname scr@#1@afterskip\endcsname >\z@ \expandafter\ifnum\scr@v@is@gt{2.96}\relax \setlength{\parfillskip}{\z@ plus 1fil}% \fi \fi \raggedsection\normalfont\sectfont\nobreak \usekomafont{#1}% }% }% } \newcommand*{\scr@dsc@style@chapter@subcommands}[1]{% @#1,@s#1,@make#1head,@makes#1head,@@make#1head,@@makes#1head,set#1preamble% } \newcommand*{\scr@dsc@style@part@options}{} \DeclareSectionCommandStyleFuzzyOption{part} {afterindent}{scr@}{@afterindent} {bysign} \DeclareSectionCommandStyleLengthOption{part} {beforeskip}{scr@}{@beforeskip} \DeclareSectionCommandStyleLengthOption{part} {afterskip}{scr@}{@afterskip} \DeclareSectionCommandStyleFontOption{part}{font}{}{} \DeclareSectionCommandStyleFontOption{part}{prefixfont}{}{prefix} \newcommand*{\scr@dsc@def@style@part@command}[1]{% \@namedef{#1}{\scr@startpart{#1}}% \@namedef{@#1}{\scr@@startpart{#1}}% \@namedef{@s#1}{\scr@@startspart{#1}}% } \newcommand*{\scr@dsc@style@part@subcommands}[1]{% @#1,@s#1,@end#1,set#1preamble% } \newcommand*{\scr@dsc@style@section@neededoptionstest}{% \scr@ifundefinedorrelax{scr@\scr@dsc@current @sectionindent}{% \scr@declaresectioncommandwarning{\scr@dsc@current}% {section indent}{indent}{0pt}% {\@namedef{scr@\scr@dsc@current @sectionindent}{0pt}}% }{}% \scr@ifundefinedorrelax{scr@\scr@dsc@current @beforeskip}{% \scr@declaresectioncommanderror{\scr@dsc@current}% {before section skip}{beforeskip}% }{}% \scr@ifundefinedorrelax{scr@\scr@dsc@current @afterskip}{% \scr@declaresectioncommanderror{\scr@dsc@current}% {after section skip}{afterskip}% }{}% \IfExistskomafont{\scr@dsc@current}{}{% \scr@declaresectioncommandwarning{\scr@dsc@current}% {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}{% \Ifstr{\scr@dsc@current}{part}{% \scr@declaresectioncommanderror{\scr@dsc@current}% {before part skip}{beforeskip}% }{% \scr@declaresectioncommandwarning{\scr@dsc@current}% {before part skip}{beforeskip}% {\scr@part@beforeskip}% {\@namedef{scr@\scr@dsc@current @beforeskip}{\scr@part@beforeskip}}% }% }{}% \scr@ifundefinedorrelax{scr@\scr@dsc@current @afterskip}{% \Ifstr{\scr@dsc@current}{part}{% \scr@declaresectioncommanderror{\scr@dsc@current}% {after part skip}{afterskip}% }{% \scr@declaresectioncommandwarning{\scr@dsc@current}% {after part skip}{afterskip}% {\scr@part@afterskip}% {\@namedef{scr@\scr@dsc@current @afterskip}{\scr@part@afterskip}}% }% }{}% \IfExistskomafont{\scr@dsc@current}{}{% \Ifstr{\scr@dsc@current}{part}{% \scr@declaresectioncommanderror{\scr@dsc@current}{font}{font}% }{% \scr@declaresectioncommandwarning{\scr@dsc@current}{font}{font}% {\usekomafont{part}}% {\newkomafont{\scr@dsc@current}{\usekomafont{part}}}% }% }{}% \IfExistskomafont{\scr@dsc@current prefix}{}{% \Ifstr{\scr@dsc@current}{part}{% \scr@declaresectioncommanderror{\scr@dsc@current}% {number font}{prefixfont}% }{% \scr@declaresectioncommandwarning{\scr@dsc@current}% {number font}{prefixfont}% {\usekomafont{partprefix}}% {\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][]{% \edef\scr@dsc@current{#2}% \scr@dsc@parametersonlyfalse \DefineFamilyKey[.dsc]{KOMAarg}{style}{% \IfArgIsEmpty{##1}{% \scr@dsc@parametersonlytrue \FamilyKeyStateProcessed }{% \scr@ifundefinedorrelax{scr@dsc@def@style@##1@command}{% \FamilyKeyStateUnknownValue }{% \@namedef{scr@\scr@dsc@current @style}{##1}% \FamilyKeyStateProcessed }% }% }% \DefineFamilyKey[.dsc]{KOMAarg}{tocstyle}{% \IfArgIsEmpty{##1}{% \@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 }{% \scr@ifundefinedorrelax{scr@dte@def@l@##1}{% \FamilyKeyStateUnknownValue }{% \@namedef{scr@dte@\scr@dsc@current @style}{##1}% \@namedef{scr@tso@\scr@dsc@current @style}{##1}% \FamilyKeyStateProcessed }% }% }% \DefineFamilyKey[.dsc]{KOMAarg}{@else@}{% \FamilyKeyStateProcessed }% \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}% \RelaxFamilyKey[.dsc]{KOMAarg}{@else@}% \RelaxFamilyKey[.dsc]{KOMAarg}{tocstyle}% \RelaxFamilyKey[.dsc]{KOMAarg}{style}% \begingroup \scr@ifundefinedorrelax{scr@\scr@dsc@current @style}{% \scr@declaresectioncommanderror{\scr@dsc@current} {section command style}{style}% }{}% \endgroup \@firstofone{% \@nameuse{scr@dsc@style@\@nameuse{scr@\scr@dsc@current @style}@options}% \scr@ifundefinedorrelax{scr@tso@\scr@dsc@current @style}{% \scr@ifundefinedorrelax{l@\scr@dsc@current}{% \@namedef{scr@tso@\scr@dsc@current @style}{default}% }{}% }{}% \let\scr@dsc@tocstyle@options\@empty \let\scr@dsc@extra@relax@opts\@empty \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@tso@\scr@dsc@current @style}% }{\scr@dsc@current}% }\reserved@a \def\do@endgroup{\endgroup}% \def\do##1{% \l@addto@macro\do@endgroup{% \l@addto@macro\scr@dsc@extra@relax@opts{% \RelaxFamilyKey[.dsc]{KOMAarg}{toc##1}% \RelaxFamilyKey[.dsc]{KOMAarg}{tocentry##1}% }% }% \kernel@ifnextchar[%] {\@dodefault{##1}}% {\@donodefault{##1}}% }% \def\@donodefault##1{% \l@addto@macro\do@endgroup{% \DefineFamilyKey[.dsc]{KOMAarg}{toc##1}{% \l@addto@macro{\scr@dsc@tocstyle@options}{##1={####1},}% \FamilyKeyStateProcessed }% \DefineFamilyKey[.dsc]{KOMAarg}{tocentry##1}{% \l@addto@macro{\scr@dsc@tocstyle@options}{##1={####1},}% \FamilyKeyStateProcessed }% }% }% \def\@dodefault##1[##2]{% \l@addto@macro\do@endgroup{% \DefineFamilyKey[.dsc]{KOMAarg}{toc##1}[##2]{% \l@addto@macro{\scr@dsc@tocstyle@options}{##1={####1},}% \FamilyKeyStateProcessed }% \DefineFamilyKey[.dsc]{KOMAarg}{tocentry##1}[##2]{% \l@addto@macro{\scr@dsc@tocstyle@options}{##1={####1},}% \FamilyKeyStateProcessed }% }% }% \scr@dte@doopts \do@endgroup }% \DefineFamilyKey[.dsc]{KOMAarg}{style}{\FamilyKeyStateProcessed}% \DefineFamilyKey[.dsc]{KOMAarg}{tocstyle}{\FamilyKeyStateProcessed}% \FamilyBoolKey[.dsc]{KOMAarg}{expandtopt}{scr@dsc@expandtopt}% \scr@dsc@expandtoptfalse \scr@ifundefinedorrelax{scr@local@levelincrease}{% \RelaxFamilyKey[.dsc]{KOMAarg}{increaselevel}% }{% \FamilyCounterMacroKey[.dsc]{KOMAarg}{increaselevel}[1]% {\scr@local@levelincrease}% }% \scr@ifundefinedorrelax{scr@local@leveloffset}{% \edef\reserved@a{% \noexpand\FamilyCounterMacroKey[.dsc]{KOMAarg}{level}{% \expandafter\noexpand\csname \scr@dsc@current numdepth\endcsname}% }\reserved@a }{% \edef\reserved@a{% \noexpand\DefineFamilyKey[.dsc]{KOMAarg}{level}{% \noexpand\FamilySetCounterMacro{KOMAarg}{level}{% \expandafter\noexpand\csname \scr@dsc@current numdepth\endcsname }% \unexpanded{% {\numexpr ##1+\scr@local@leveloffset\relax}% \edef\scr@local@leveloffset{% \the\numexpr\scr@local@leveloffset+\scr@local@levelincrease\relax }% }% }% }\reserved@a }% \FamilyStringKey[.dsc]{KOMAarg}{counterwithout}{\scr@local@counterwithout}% \let\scr@local@counterwithout\relax \FamilyStringKey[.dsc]{KOMAarg}{counterwithin}{\scr@local@counterwithin}% \let\scr@local@counterwithin\relax \scr@ifundefinedorrelax{scr@local@tocleveloffset}{}{% \scr@ifundefinedorrelax{KV@KOMAarg.dsc@toclevel}{% }{% \DefineFamilyKey[.dsc]{KOMAarg}{toclevel}{% \edef\reserved@a{% \noexpand\l@addto@macro{\noexpand\scr@dsc@tocstyle@options}{% level=\the\numexpr ##1+\scr@local@tocleveloffset\relax,% }% }\reserved@a \edef\scr@local@tocleveloffset{% \the\numexpr\scr@local@tocleveloffset+\scr@local@levelincrease\relax }% \FamilyKeyStateProcessed }% }% }% \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}% \scr@dsc@extra@relax@opts \let\scr@dsc@extra@relax@opts\relax \RelaxSectionCommandOptions \RelaxFamilyKey[.dsc]{KOMAarg}{style}% \RelaxFamilyKey[.dsc]{KOMAarg}{tocstyle}% \RelaxFamilyKey[.dsc]{KOMAarg}{expandtopt}% \scr@ifundefinedorrelax{scr@local@levelincrease}{}{% \RelaxFamilyKey[.dsc]{KOMAarg}{increaselevel}% }% \RelaxFamilyKey[.dsc]{KOMAarg}{level}% \RelaxFamilyKey[.dsc]{KOMAarg}{counterwithin}% \begingroup \def\local@endgroup{\endgroup}% \scr@ifundefinedorrelax{\scr@dsc@current numdepth}{% \scr@declaresectioncommanderror{\scr@dsc@current}{section level}{level}% }{% \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}}{}% \ifx\scr@local@counterwithout\relax \else\ifx\scr@local@counterwithout\@empty \else \@removefromreset{#2}{\scr@local@counterwithout}% \fi \@namedef{the#2}{\arabic{#2}}% \fi \ifx\scr@local@counterwithin\relax \else\ifx\scr@local@counterwithin\@empty \@namedef{the#2}{\arabic{#2}}% \else \@removefromreset{#2}{\scr@local@counterwithin}% \@addtoreset{#2}{\scr@local@counterwithin}% \expandafter\def\csname the#2\expandafter\endcsname\expandafter{% \csname the\scr@local@counterwithin\endcsname.\arabic{#2}}% \fi \fi \@ifundefined{#2format}{% \@namedef{#2format}{\csname the#2\endcsname\autodot\enskip}% }{}% \ifscr@dsc@parametersonly \ClassInfo{\KOMAClassName}{% not defining `\expandafter\string\csname #2\endcsname' due to\MessageBreak empty section style option% }% \else \scr@ifundefinedorrelax{% scr@dsc@def@style@\@nameuse{scr@#2@style}@command% }{% \ClassWarning{\KOMAClassName}{% not defining `\expandafter\string\csname #2\endcsname' due\MessageBreak to not yet defined section style\MessageBreak `\@nameuse{scr@#2@style}'% }% }{% \@nameuse{scr@dsc@def@style@\@nameuse{scr@#2@style}@command}{#2}% }% \fi \@ifundefined{DeclareSectionNumberDepth}{% \@ifundefined{#2markformat}{% \@namedef{#2markformat}{\csname the#2\endcsname\autodot\enskip}% }{}% \@ifundefined{#2mark}{% \expandafter\let\csname #2mark\endcsname\@gobble }{}% }{% \DeclareSectionNumberDepth{#2}{\csname #2numdepth\endcsname}% }% \expandafter\providecommand\expandafter*% \csname add#2tocentry\endcsname[2]{% \addtocentrydefault{#2}{##1}{##2}% }% \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@tso@#2@style}% }{#2}% }% \scr@ifundefinedorrelax{l@#2}{% \DeclareTOCStyleEntry[\scr@dsc@tocstyle@options]{default}{#2}% }{}% \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 }% }{}% }% }% }% \let\scr@dsc@current\relax } \newcommand*{\scr@declaresectioncommanderror}[3]{% \ClassError{\KOMAClassName}{% #2 of \expandafter\string\csname #1\endcsname\space unknown% }{% Please use option `#3' to declare the #2.\MessageBreak If you'll continue, declaration will be ignored% }% \let\local@endgroup\endgroup \aftergroup\@gobbletwo } \newcommand*{\scr@declaresectioncommandwarning}[5]{% \ClassInfo{\KOMAClassName}{% #2 of \expandafter\string\csname #1\endcsname\space unknown.\MessageBreak You should use option `#3' if you\MessageBreak do not want to use the default value\MessageBreak `\detokenize{#4}'% }% \l@addto@macro\local@endgroup{#5}% } \newcommand*{\DeclareNewSectionCommand}[2][]{% \@ifundefined{#2}{% \@tempswatrue \let\reserved@b\@empty \@for \reserved@a:=the#2,#2mark,#2format,#2markformat\do{% \expandafter\scr@ifundefinedorrelax\expandafter{\reserved@a}{}{% \@tempswafalse \edef\reserved@b{\expandafter\string\csname \reserved@a\endcsname}% }% }% \if@tempswa \expandafter\let\expandafter\scr@dsc@current \csname scr@tso@##2@style\endcsname \DefineFamilyKey[.dsc]{KOMAarg}{style}{% \edef\scr@dsc@current{##1}% \FamilyKeyStateProcessed }% \DefineFamilyKey[.dsc]{KOMAarg}{@else@}{\FamilyKeyStateProcessed}% \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}% \RelaxFamilyKey[.dsc]{KOMAarg}{@else@}% \RelaxFamilyKey[.dsc]{KOMAarg}{style}% \@tempswatrue \@ifundefined{scr@dsc@current}{}{% \scr@ifundefinedorrelax{scr@dsc@style@\scr@dsc@current @subcommands}{% }{% \edef\reserved@b{% \csname scr@dsc@style@\scr@dsc@current @subcommands\endcsname{#2}% }% \expandafter\@for\expandafter\reserved@a\expandafter:\expandafter=% \reserved@b\do{% \expandafter\scr@ifundefinedorrelax\expandafter{\reserved@a}{}{% \@tempswafalse \edef\reserved@b{% \expandafter\string\csname \reserved@a\endcsname}% }% }% } }% \let\scr@dsc@current\relax \fi \if@tempswa \DeclareSectionCommand[{#1}]{#2}% \else \ClassError{\KOMAClassName}{% command `\reserved@b' already defined% }{% You've tried to define the section command `\expandafter\string\csname #2\endcsname' newly.\MessageBreak Such a section command needs an additional new command `\reserved@b',\MessageBreak but this already exists. So you cannot define `\expandafter\string\csname #2\endcsname' newly.\MessageBreak Maybe you should use one of \string\DeclareSectionCommand, \string\RedeclareSectionCommand,\MessageBreak or \string\ProvideSectionCommand.\MessageBreak If you'll continue, the command will be ignored.% }% \fi }{% \ClassError{\KOMAClassName}{% command `\expandafter\string\csname #2\endcsname' already defined% }{% You've tried to define the section command `\expandafter\string\csname #2\endcsname' newly,\MessageBreak but a command or something else with this name already exists.\MessageBreak Maybe you should use one of \string\DeclareSectionCommand, \string\RedeclareSectionCommand,\MessageBreak or \string\ProvideSectionCommand.\MessageBreak If you'll continue, the command will be ignored.% }% }% } \newcommand*{\RedeclareSectionCommand}[2][]{% \@ifundefined{#2}{% \ClassError{\KOMAClassName}{% command `\expandafter\string\csname #2\endcsname' not defined% }{% You've tried to re-define the section command `\expandafter\string\csname #2\endcsname',\MessageBreak but a command with this name does not exists.\MessageBreak Maybe you should use one of \string\DeclareSectionCommand, \string\DeclareNewSectionCommand,\MessageBreak or \string\ProvideSectionCommand.\MessageBreak If you'll continue, the command will be irgnored.% }% }{% \DeclareSectionCommand[{#1}]{#2}% }% } \newcommand*{\ProvideSectionCommand}[2][]{% \@ifundefined{#2}{% \DeclareSectionCommand[{#1}]{#2}% }{% \ClassInfo{\KOMAClassName}{% \string\ProvideSectionCommand{#1} ignored% }% }% } \newcommand*{\DeclareSectionCommands}[2][]{% \edef\reserved@a{#2}% \def\scr@local@levelincrease{\z@}% \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}% }% \reserved@a }% \let\scr@local@levelincrease\relax \let\scr@local@leveloffset\relax \let\scr@local@tocleveloffset\relax } \newcommand*{\DeclareNewSectionCommands}[2][]{% \edef\reserved@a{#2}% \def\scr@local@levelincrease{\z@}% \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 defined% }{% You've tried to define the section command `\expandafter\string\csname\reserved@a\endcsname' newly,\MessageBreak but a command, token, box or length with this name already exists.\MessageBreak Maybe you should use one of \string\DeclareSectionCommand, \string\RedeclareSectionCommand,\MessageBreak or \string\ProvideSectionCommand.\MessageBreak Nevertheless, if you'll continue, the command will be defined.% }% }% \edef\reserved@a{% \unexpanded{\DeclareSectionCommand[{#1}]}{\reserved@a}% }% \reserved@a }% \let\scr@local@levelincrease\relax \let\scr@local@leveloffset\relax \let\scr@local@tocleveloffset\relax } \newcommand*{\RedeclareSectionCommands}[2][]{% \edef\reserved@a{#2}% \def\scr@local@levelincrease{\z@}% \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% }{% You've tried to re-define the section command `\expandafter\string\csname\reserved@a\endcsname',\MessageBreak but a command with this name does not exists.\MessageBreak Maybe you should use one of \string\DeclareSectionCommand, \string\DeclareNewSectionCommand,\MessageBreak or \string\ProvideSectionCommand.\MessageBreak Nevertheless, if you'll continue, the command will be defined.% }% }{}% \edef\reserved@a{% \unexpanded{\DeclareSectionCommand[{#1}]}{\reserved@a}% }% \reserved@a }% \let\scr@local@levelincrease\relax \let\scr@local@leveloffset\relax \let\scr@local@tocleveloffset\relax } \newcommand*{\ProvideSectionCommands}[2][]{% \edef\reserved@a{#2}% \def\scr@local@levelincrease{\z@}% \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}% }% \reserved@a }{% \DefineFamilyKey[.dsc]{KOMAarg}{@else@}{\FamilyKeyStateProcessed}% \FamilyCounterMacroKey[.dsc]{KOMAarg}{increaselevel}[1]% {\scr@local@levelincrease}% \DefineFamilyKey[.dsc]{KOMAarg}{level}{% \FamilySetCounterMacro{KOMAarg}{level}{\reserved@b}{##1}% \edef\scr@local@leveloffset{% \the\numexpr\scr@local@leveloffset+\scr@local@levelincrease\relax }% }% \DefineFamilyKey[.dsc]{KOMAarg}{toclevel}{% \FamilySetCounterMacro{KOMAarg}{toclevel}{\reserved@b}{##1}% \edef\scr@local@tocleveloffset{% \the\numexpr\scr@local@tocleveloffset+\scr@local@levelincrease\relax }% }% \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}% \RelaxFamilyKey[.dsc]{KOMAarg}{toclevel}% \RelaxFamilyKey[.dsc]{KOMAarg}{level}% \RelaxFamilyKey[.dsc]{KOMAarg}{increaselevel}% \RelaxFamilyKey[.dsc]{KOMAarg}{@else@}% }% }% \let\scr@local@levelincrease\relax \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*\appendix{% \Ifstr{\@currenvir}{appendix}{% \ClassWarning{\KOMAClassName}{% You are using `\string\begin{appendix}...\string\end{appendix}'.\MessageBreak You should note, that `\string\appendix' is a mostly globally\MessageBreak working command not an enviroment with only local\MessageBreak effects. Therefore `\string\end{appendix}' will neither\MessageBreak switch back to normal section numbering nor finish\MessageBreak every other effect of `\string\begin{appendix}'.\MessageBreak Nevertheless, some effects may end with\MessageBreak `\string\end{appendix}' and the document may become\MessageBreak inconsistent.\MessageBreak Because of this, you should remove `\string\end{appendix}'\MessageBreak and replace `\string\begin{appendix}' by command\MessageBreak `\string\appendix'% }% }{}% \par \setcounter{section}{0}% \setcounter{subsection}{0}% \gdef\thesection{\@Alph\c@section}% } \IfLTXAtLeastTF{2020/10/01}{% \g@addto@macro{\appendix}{\UseOneTimeHook{\KOMAClassName/appendix}}% }{} \g@addto@macro{\appendix}{\csname appendixmore\endcsname} \newcommand*{\scr@startpart}[1]{% \ExecuteDoHook{heading/preinit/#1}% \par \@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 }% }% \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 \ifcase \scr@osectarg\relax \setkeys{KOMAarg.section}{tocentry={#2},head={#2},reference={#2}}% \or \setkeys{KOMAarg.section}{tocentry={#3},head={#2},reference={#3}}% \or \setkeys{KOMAarg.section}{tocentry={#2},head={#3},reference={#2}}% \or \setkeys{KOMAarg.section}{tocentry={#2},head={#2},reference={#2}}% \fi \fi \Ifnumbered{#1}{% \refstepcounter{#1}% \expandafter\@maybeautodot\csname the#1\endcsname \typeout{#1 \csname the#1\endcsname.}% \ifx\@currenttocentry\@empty\else \@ifundefined{#1tocformat}{% \expandafter\gdef\csname #1tocformat\endcsname {\csname the#1\endcsname}% }{}% \scr@ifundefinedorrelax{add#1tocentry}{% \addtocentrydefault{#1}% }{% \@nameuse{add#1tocentry}% }{\csname\@ifundefined{#1tocformat}{the#1}{#1tocformat}\endcsname}% {\@currenttocentry}% \fi }{% \expandafter\ifnum\scr@v@is@ge{3.18}\relax \begingroup \let\@elt\@stpelt \csname cl@#1\endcsname \endgroup \fi \typeout{#1 without number}% \ifx\@currenttocentry\@empty\else \hy@insteadofrefstepcounter{#1}% \scr@ifundefinedorrelax{add#1tocentry}{% \addtocentrydefault{#1}% }{% \@nameuse{add#1tocentry}% }{}{\@currenttocentry}% \fi }% \begingroup \def\IfUseNumber{\Ifnumbered{#1}}% \ExecuteDoHook{heading/begingroup/#1}% \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \raggedpart \normalfont\usekomafont{disposition}{\nobreak \IfUseNumber{% \partlineswithprefixformat{#1}{% \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}% \partheadmidvskip }{% \usekomafont{#1}{\nobreak\interlinepenalty \@M#3\strut\@@par}% }% }{% \partlineswithprefixformat{#1}{}{% \usekomafont{#1}{\nobreak\interlinepenalty \@M#3\strut\@@par}% } }% \expandafter\ifx\csname #1mark\endcsname\@gobble \@mkboth{}{}% \else \csname #1mark\expandafter\endcsname\expandafter{\@currentheadentry}% \fi }% \ExecuteDoHook{heading/endgroup/#1}% \endgroup \nobreak \@tempskipa=\glueexpr\@nameuse{scr@#1@afterskip}\relax\relax \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi \partheadendvskip \@afterheading } \newcommand{\scr@@startspart}[2]{% \ExecuteDoHook{heading/branch/star/#1}% \begingroup \let\@mkboth\@gobbletwo \hy@insteadofrefstepcounter{#1}% \endgroup \begingroup \let\IfUseNumber\@secondoftwo \ExecuteDoHook{heading/begingroup/#1}% \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \raggedpart \normalfont\usekomafont{disposition}{% \nobreak \partlineswithprefixformat{#1}{}{% \usekomafont{#1}{\nobreak\interlinepenalty \@M#2\strut\@@par}% }% \@mkboth{}{}% }% \ExecuteDoHook{heading/endgroup/#1}% \endgroup \nobreak \@tempskipa=\glueexpr\csname scr@#1@afterskip\endcsname\relax\relax \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi \partheadendvskip \@afterheading } \newcommand{\partlineswithprefixformat}[3]{% #2#3% } \newcommand*{\hy@insteadofrefstepcounter}[1]{} \let\hy@insteadofrefstepcounter\@gobble \newcommand*{\scr@chapter@before@hyperref@patch}{% \let\scr@orig@chapter\@chapter \let\scr@orig@schapter\@schapter \let\scr@orig@addchap\@addchap } \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@raisedlink{% \hyper@anchorstart{\@currentHref}\hyper@anchorend }% }% \fi } \AfterAtEndOfPackage{hyperref}{\scr@chapter@after@hyperref@patch} \newcommand*{\addparttocentry}[2]{% \addtocentrydefault{part}{#1}{#2}% } \newcommand\addpart{% \SecDef\@addpart\@saddpart } \newcommand*{\@addpart}{} \long\def\@addpart[#1]#2{% \edef\reserved@a{% \unexpanded{% \part[{#1}]{#2}% \c@secnumdepth= }\the\c@secnumdepth\relax }% \c@secnumdepth=\numexpr \partnumdepth-1\relax \reserved@a } \newcommand{\@saddpart}[1]{% \part*{#1}% \addpartmark{}% } \newcounter{part} \renewcommand*{\thepart}{\@Roman\c@part} \newcommand*{\partformat}{\partname~\thepart\autodot} \newcommand*\partname{Part} \providecaptionname{american,australian,british,canadian,english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\partname{Part} \newcommand*{\partmark}[1]{\@mkboth{}{}} \newcommand*\addpartmark[1]{% \begingroup \expandafter\let\csname if@mainmatter\expandafter\endcsname \csname iffalse\endcsname \c@secnumdepth=\numexpr \partnumdepth-1\relax \partmark{#1}% \endgroup } \newcommand*{\raggedpart}{} \let\raggedpart\raggedsection \newkomafont{partentry}{\usekomafont{disposition}\large} \newkomafont{partentrypagenumber}{} \newcommand*{\raggedsectionentry}{} \newcommand\addsec{\SecDef\@addsec\@saddsec} \newcommand*{\@addsec}{} \def\@addsec[#1]#2{% \edef\reserved@a{% \unexpanded{% \section[{#1}]{#2}% \c@secnumdepth= }\the\c@secnumdepth\relax }% \c@secnumdepth=\numexpr \sectionnumdepth-1\relax \reserved@a } \newcommand*{\@saddsec}[1]{% \section*{#1}\addsecmark{}% } \newkomafont{minisec}{} \newcommand\minisec[1]{% \expandafter\ifnum\scr@v@is@lt{3.13a}\relax \@afterindentfalse \vskip 1.5ex \else \if@noskipsec \leavevmode \fi \par \@afterindentfalse \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace{1.5ex}% \fi \fi {\parindent \z@ \expandafter\ifnum\scr@v@is@gt{2.96}\relax \setlength{\parfillskip}{\z@ plus 1fil}% \fi \raggedsection\normalfont\sectfont\nobreak \usekomafont{minisec}{\nobreak\interlinepenalty \@M #1\par\nobreak}% }\nobreak \@afterheading } \newcommand*{\addsectiontocentry}[2]{% \addtocentrydefault{section}{#1}{#2}% } \newcommand*{\addsubsectiontocentry}[2]{% \addtocentrydefault{subsection}{#1}{#2}% } \newcommand*{\addparagraphtocentry}[2]{% \addtocentrydefault{paragraph}{#1}{#2}% } \newcommand*{\addsubparagraphtocentry}[2]{% \addtocentrydefault{subparagraph}{#1}{#2}% } \newcounter{section} \renewcommand*{\thesection}{\@arabic\c@section} \newcommand*\sectionmarkformat{\thesection\autodot\enskip} \newcounter{subsection}[section] \renewcommand*{\thesubsection}{\thesection.\@arabic\c@subsection} \newcommand*\subsectionmarkformat{\thesubsection\autodot\enskip} \newcounter{subsubsection}[subsection] \renewcommand*{\thesubsubsection}{% \thesubsection.\@arabic\c@subsubsection } \newcounter{paragraph}[subsubsection] \renewcommand*{\theparagraph}{\thesubsubsection.\@arabic\c@paragraph} \newcounter{subparagraph}[paragraph] \renewcommand*{\thesubparagraph}{% \theparagraph.\@arabic\c@subparagraph } \newcommand*{\othersectionlevelsformat}[3]{#3\autodot\enskip} \renewcommand*{\@seccntformat}[1]{% \expandafter\ifnum\scr@v@is@lt{3.17}\relax \protect\othersectionlevelsformat{#1}{% \expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}% \else \scr@ifundefinedorrelax{#1format}{% \protect\othersectionlevelsformat{#1}{% \expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}% }{\expandafter\protect\csname #1format\endcsname}% \fi } \newcommand*\addsecmark[1]{% \begingroup \c@secnumdepth=\numexpr \sectionnumdepth-1\relax \sectionmark{#1}% \endgroup } \newkomafont{sectionentry}{\usekomafont{disposition}} \newkomafont{sectionentrypagenumber}{} \newkomafont{sectionentrydots}{} \DeclareSectionCommand[% style=section,% level=1,% indent=\z@,% beforeskip=-3.5ex \@plus -1ex \@minus -.2ex,% afterskip=2.3ex \@plus.2ex,% tocstyle=section,% tocindent=0pt,% 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@,% beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,% afterskip=1.5ex \@plus .2ex,% tocstyle=subsection,% tocindent=1.5em,% tocnumwidth=2.3em% ]{subsection} \DeclareSectionCommand[% style=section,% level=3,% indent=\z@,% beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,% afterskip=1.5ex \@plus .2ex,% tocstyle=subsection,% tocindent=3.8em,% tocnumwidth=3.2em% ]{subsubsection} \DeclareSectionCommand[% style=section,% level=4,% indent=\z@,% beforeskip=3.25ex \@plus1ex \@minus.2ex,% afterskip=-1em,% tocstyle=subsection,% tocindentfollows=subsubsection,% tocindent=7.0em,% tocnumwidth=4.1em% ]{paragraph} \DeclareSectionCommand[% style=section,% level=5,% indent=\scr@parindent,% beforeskip=3.25ex \@plus1ex \@minus .2ex,% afterskip=-1em,% tocstyle=subsection,% tocindent=10em,% tocnumwidth=5em% ]{subparagraph} \expandafter\ifnum\scr@v@is@lt{3.15}\relax \let\scr@subparagraph@sectionindent\parindent \else \def\scr@subparagraph@sectionindent{\scr@parindent}% \fi \newcommand*{\scr@fnt@disposition}{\sectfont} \aliaskomafont{sectioning}{disposition} %%% From File: $Id: scrkernel-miscellaneous.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newif\if@restonecol \newcommand{\dictum}[2][]{\par% \begingroup \raggeddictum\parbox{\dictumwidth}{% {\@dictumfont{\raggeddictumtext #2\strut\par}% \def\@tempa{#1}\ifx\@tempa\@empty\else% {\raggeddictumtext\dictumrule}% \raggeddictumauthor\@dictumauthorfont\dictumauthorformat{#1}% \strut\par% \fi% }% }\par% \endgroup } \newcommand*{\dictumrule}{\vskip-1ex\hrulefill\par}% \newcommand*{\dictumwidth}{.3333\textwidth} \newcommand*{\raggeddictum}{\raggedleft} \newcommand*{\dictumauthorformat}[1]{(#1)} \newcommand*{\raggeddictumtext}{\raggedright} \newcommand*{\raggeddictumauthor}{\raggedleft} \newkomafont{dictum}{\normalfont\normalcolor\maybesffamily\small} \newkomafont{dictumauthor}{\itshape} \aliaskomafont{dictumtext}{dictum} \setlength{\skip\@mpfootins}{\skip\footins} \setlength\fboxsep{3\p@} \setlength\fboxrule{.4\p@} \newcommand*{\new@tpo@label}{\@newl@bel{tpo}} \AtBeginDocument{% \if@filesw \immediate\write\@auxout{% \string\providecommand*\string\new@tpo@label[2]{}% }% \fi } \newcommand*{\scr@tpo}{0} \newcommand*{\is@thispageodd}[1][\is@thispageodd@setlabel]{% \@bsphack \begingroup \@tempcnta=\scr@tpo \advance\@tempcnta by\@ne \xdef\scr@tpo{\the\@tempcnta}% \expandafter\ifx\csname tpo@\scr@tpo\endcsname\relax \protect\G@refundefinedtrue \ClassWarning{\KOMAClassName}{% odd/even page label number \scr@tpo\space undefined}% \edef\@tempa{\the\value{page}}% \else \edef\@tempa{\csname tpo@\scr@tpo\endcsname}% \fi \ifodd\number\@tempa \aftergroup\thispagewasoddtrue \else \aftergroup\thispagewasoddfalse \fi \endgroup \edef\is@thispageodd@setlabel{% \if@filesw \unexpanded{\protected@write\@auxout{\let\arabic\relax}}{% \noexpand\string \noexpand\new@tpo@label{\scr@tpo}{\noexpand\arabic{page}}}% \fi \noexpand\def\noexpand\is@thispageodd@setlabel {\unexpanded\expandafter{\is@thispageodd@setlabel}}% }% #1% \@esphack } \newcommand*{\is@thispageodd@setlabel}{} \newif\ifthispagewasodd \providecommand*{\ifthispageodd}{% \ClassWarning{\KOMAClassName}{% Usage of deprecated command `\string\ifthispageodd'.\MessageBreak The command has been renamed because of a\MessageBreak recommendation of The LaTeX Project Team.\MessageBreak Please replace `\string\ifthispageodd' by `\string\Ifthispageodd'% }% \Ifthispageodd } \newcommand{\Ifthispageodd}{% \is@thispageodd \ifthispagewasodd \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi } \newcommand\marginline[1]{% \marginpar[{\raggedleft #1}]{\raggedright #1}% } \scr@ifundefinedorrelax{textsubscript}{% \DeclareRobustCommand*\textsubscript[1]{% \@textsubscript{\selectfont#1}% }% }{% \scr@ifundefinedorrelax{textsubscript }{% \DeclareRobustCommand*\textsubscript[1]{% \@textsubscript{\selectfont#1}% }% }{}% } \providecommand*{\@textsubscript}[1]{% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% } \providecommand*{\scr@endstrut}{\unskip\ifhmode\nobreak\strut\fi} \newcommand*{\scr@package@not@recommended}[2]{% \scr@ifundefinedorrelax{class@shoulddisablepackagewarning@list}{% \@firstofone }{% \edef\reserved@a{% \noexpand\in@{#1}{\class@shoulddisablepackagewarning@list}}% \reserved@a \ifin@\expandafter\@gobble\else\expandafter\@firstofone\fi }{% \BeforePackage{#1}{% \ClassWarning{\KOMAClassName}{% Usage of package `#1' together\MessageBreak with a KOMA-Script class is not recommended.\MessageBreak \if\relax\detokenize{#2}\relax\else I'd suggest to use #2.\MessageBreak \fi Nevertheless, using requested\MessageBreak package `#1'% }% }% }% }% \scr@package@not@recommended{emptypage}{% option\MessageBreak `cleardoublepage' with one of it's\MessageBreak several values} \scr@package@not@recommended{fancyhdr}{% \MessageBreak package `scrlayer' or `scrlayer-scrpage', because\MessageBreak they support KOMA-Script classes.\MessageBreak With `fancyhdr' several features of class `\KOMAClassName'\MessageBreak like options `headsepline', `footsepline' or command\MessageBreak `\string\MakeMarkcase' and the commands `\string\setkomafont' and\MessageBreak `\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} \scr@package@not@recommended{titleps}{% package `scrlayer-scrpage'} \scr@package@not@recommended{titlesec}{% KOMA-Script features\MessageBreak like \string\setkomafont, \string\RedeclareSectionCommand, \string\sectionlinesformat\MessageBreak and several others to re-configure section\MessageBreak headings} \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 `\string\setuptoc{toc}{totoc}' instead of this package,\MessageBreak because it breaks several KOMA-Script features of\MessageBreak 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 } \AfterPackage{minitoc}{% \def\@tempa#1#2#3#4#5#6[#7]#8{% \ifnum #2<1 \relax \addtocontents{toc}{\protect\sectbegin} \fi \stc@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}% }% \ifx\@sect\@tempa \def\@tempa#1#2#3#4#5#6[#7]#8{ \expandafter \ifx\csname #1\endcsname\section\relax \addcontentsline{lof}{xsect}{#7}% \addcontentsline{lot}{xsect}{#7}% \fi \ifx\csname #1\endcsname\starsection\relax \addcontentsline{lof}{xsect}{#7}% \addcontentsline{lot}{xsect}{#7}% \fi \ifnum #2>\c@secnumdepth\relax \let\@svsec\@empty \else \refstepcounter{#1}% \edef\@svsec{\csname the#1\endcsname\hskip 1em}% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax \@hangfrom{\hskip #3\relax\@svsec}% {\interlinepenalty \@M #8\par}% \endgroup \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth\relax \else \protect\numberline{\csname the#1\endcsname}% \fi #7% }% \else \def\@svsechd{#6\hskip #3\relax \@svsec #8\csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth\relax \else \protect\numberline{\csname the#1\endcsname} \fi #7}% }% \fi \@xsect{#5}% }% \ifx\stc@sect\@tempa \ClassWarning{\KOMAClassName}{% Redefining minitoc's internal command `\string\stc@sect'\MessageBreak to prevent minitoc to destroy several features\MessageBreak of KOMA-Script% }% \let\stc@sect\scr@mt@saved@sect \else \ClassInfo{\KOMAClassName}{% Deactivating the `minitoc' workaround,\MessageBreak because of unexpected definition of\MessageBreak `\string\stc@sect'% }% \let\scr@mt@saved@sect\relax \fi \else \ifx\@sect\scr@mt@saved@sect \ClassInfo{\KOMAClassName}{% Deactivating the `minitoc' workaround for `\string\@sect',\MessageBreak because it is not needed% }% \else \ClassInfo{\KOMAClassName}{% Deactivating the `minitoc' workaround,\MessageBreak because of unexpected definition of\MessageBreak `\string\@sect'% }% \fi \let\scr@mt@saved@sect\relax \fi } %%% From File: $Id: scrkernel-pagestyles.dtx 4058 2023-06-16 08:32:27Z kohm $ %%% (run: body) \newcommand*{\set@tempdima@hw}{% \setlength{\@tempdima}{\textwidth}% \if@mincl \addtolength{\@tempdima}{\marginparsep}% \addtolength{\@tempdima}{\marginparwidth}% \fi } \newcommand*{\pnumfont}{\normalfont\normalcolor} \newcommand*{\headfont}{\normalfont\normalcolor\slshape} \newcommand*{\footfont}{} \newcommand*{\scr@fnt@pagenumber}{\pnumfont} \aliaskomafont{pagination}{pagenumber} \newcommand*{\scr@fnt@pageheadfoot}{\headfont} \aliaskomafont{pagehead}{pageheadfoot} \newcommand*{\scr@fnt@pagefoot}{\footfont} \newcommand*{\scr@fnt@wrn@pagefoot}[1]{% This class does not use font element `pagefoot'!\MessageBreak Maybe you should load package `scrlayer-scrpage',\MessageBreak before using this element% } \newcommand*{% \pagemark }{% {\usekomafont{pagenumber}{% \thepage}}} \renewcommand*{\ps@plain}{% \renewcommand*{\@oddhead}{}% \let\@evenhead\@oddhead \renewcommand*{\@evenfoot}{% \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% \if@fsl \hrule \vskip 3\p@ \fi \hb@xt@ \@tempdima{{\pagemark\hfil}}}}}% \renewcommand*{\@oddfoot}{% \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% \if@fsl \hrule \vskip 3\p@ \fi \hb@xt@ \@tempdima{{\hfil\pagemark \if@twoside\else\hfil\fi}}}}\hss}% }% \newcommand*{\ps@headings}{\let\@mkboth\markboth \renewcommand*{\@evenhead}{% \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% \hb@xt@ \@tempdima{{\headfont\strut\leftmark\hfil}}% \if@hsl \vskip 1.5\p@ \hrule \fi}}}% \renewcommand*{\@oddhead}{% \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark \if@twoside\else\hfil\fi}}% \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}% \renewcommand*{\@evenfoot}{% \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% \if@fsl \hrule \vskip 3\p@ \fi \hb@xt@ \@tempdima{{\pagemark\hfil}}}}}% \renewcommand*{\@oddfoot}{% \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% \if@fsl \hrule \vskip 3\p@ \fi \hb@xt@ \@tempdima{{\hfil\pagemark \if@twoside\else\hfil\fi}}}}\hss}% \renewcommand*{\sectionmark}[1]{% \if@twoside\expandafter\markboth\else\expandafter\markright\fi {% \Ifnumbered{section}{\MakeMarkcase{\sectionmarkformat}}{}% \MakeMarkcase{##1}% }{}% }% \renewcommand*{\subsectionmark}[1]{% \if@twoside \markright{% \Ifnumbered{subsection}{\MakeMarkcase{\subsectionmarkformat}}{}% \MakeMarkcase{##1}% }% \fi }% }% \newcommand*{\ps@myheadings}{\let\@mkboth\@gobbletwo \renewcommand*{\@evenhead}{% \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% \hb@xt@ \@tempdima{{\headfont\strut\leftmark\hfil}}% \if@hsl \vskip 1.5\p@ \hrule \fi}}}% \renewcommand*{\@oddhead}{% \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark \if@twoside\else\hfil\fi}}% \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}% \renewcommand*{\@evenfoot}{% \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% \if@fsl \hrule \vskip 3\p@ \fi \hb@xt@ \@tempdima{{\pagemark\hfil}}}}}% \renewcommand*{\@oddfoot}{% \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% \if@fsl \hrule \vskip 3\p@ \fi \hb@xt@ \@tempdima{{\hfil\pagemark \if@twoside\else\hfil\fi}}}}\hss}% \renewcommand*{\subsectionmark}[1]{}% \renewcommand*{\sectionmark}[1]{}% } \newcommand*{\titlepagestyle}{plain} \newcommand*{\indexpagestyle}{plain} \pagestyle{plain} \pagenumbering{arabic} %%% From File: $Id: scrlayer.dtx 4058 2023-06-16 08:32:27Z kohm $ %%% (run: body) \providecommand*{\@mkleft}{% \IfActiveMkBoth{\markleft}{\@gobble}% }% \providecommand*{\@mkright}{% \IfActiveMkBoth{\markright}{\@gobble}% }% \providecommand{\@mkdouble}[1]{% \@mkboth{#1}{#1}% } %%% From File: $Id: scrkernel-floats.dtx 4054 2023-05-10 14:35:36Z kohm $ %%% (run: body) \newlength{\abovecaptionskip} \newlength{\belowcaptionskip} \setlength{\abovecaptionskip}{10\p@} \setlength{\belowcaptionskip}{0\p@} \newcommand*{\captionformat}{:\ } \newcommand{\scr@caption}{} \AtBeginDocument{\let\scr@caption\caption} \newcommand{\captionabove}{\@captionabovetrue\scr@caption} \newcommand{\captionbelow}{\@captionabovefalse\scr@caption} \newcommand*{\scap@caption}{} \newcommand*{\scap@width}{\linewidth} \newcommand*{\scap@move}{\z@} \newif\ifscap@alt \newcommand*{\scap@currentlabel}{} \newcommand*{\scap@currentlabelname}{} \newcommand*{\scap@currentHref}{} \newcommand*{\@captionbeside}{} \long\def\@captionbeside[#1]#2{% \kernel@ifnextchar [%] {\@@captionbeside[{#1}]{#2}} {\c@pti@nb@sid@[{#1}]{#2}}% } \newcommand*{\@@captionbeside}{} \long\def\@@captionbeside[#1]#2[#3]{% \def\scap@pos{#3}% \kernel@ifnextchar [%] {\@@@captionbeside[{#1}]{#2}} {\c@pti@nb@sid@[{#1}]{#2}}% } \newcommand*{\@@@captionbeside}{} \long\def\@@@captionbeside[#1]#2[#3]{% \def\scap@width{#3}% \kernel@ifnextchar [%] {\@@@@captionbeside[{#1}]{#2}} {\setlength{\@tempdima}{#3}% \addtolength{\@tempdima}{-\linewidth}% \setlength{\@tempdima}{-.5\@tempdima}% \edef\scap@move{\the\@tempdima}% \c@pti@nb@sid@[{#1}]{#2}}% } \newcommand*{\@@@@captionbeside}{} \long\def\@@@@captionbeside[#1]#2[#3]{% \def\scap@move{#3}% \kernel@ifstar {\scap@alttrue\c@pti@nb@sid@[{#1}]{#2}} {\scap@altfalse\c@pti@nb@sid@[{#1}]{#2}}% } \newbox\c@pti@nb@sid@b@x \newcommand{\c@pti@nb@sid@}{} \long\def\c@pti@nb@sid@[#1]#2{% \def\scap@caption{% \if c\scap@valign \setlength{\abovecaptionskip}{\z@}% \else \if t\scap@valign \setlength{\abovecaptionskip}{-\ht\strutbox}% \else \if b\scap@valign \setlength{\abovecaptionskip}{\z@}% \fi \fi \fi \setlength{\belowcaptionskip}{-\dp\strutbox}% \captionbelow[{#1}]{#2}% }% \begin{lrbox}{\c@pti@nb@sid@b@x}% } \newenvironment*{captionbeside}{% \@dblarg\@captionbeside }{% \end{lrbox}% \settowidth{\@tempdima}{\usebox\c@pti@nb@sid@b@x}% \setlength{\@tempdimb}{\scap@width}% \addtolength{\@tempdimb}{-\@tempdima}% \addtolength{\@tempdimb}{-\columnsep}% \ifdim \@tempdimb<2em \ClassWarning{\KOMAClassName}{% caption beside will be very, very small.\MessageBreak In most cases this will result in overfull and\MessageBreak underfull \string\hbox\space messages% }% \fi \onelinecaptionsfalse \setcapwidth[r]{\@tempdimb}% \let\@tempa\scap@pos \setlength{\@tempdimc}{\scap@move}% \if i\scap@pos\def\@tempa{l}\fi \if o\scap@pos\def\@tempa{r}\fi \if@twoside \Ifthispageodd{}{% \if o\scap@pos\def\@tempa{l}\fi \if i\scap@pos\def\@tempa{r}\fi \ifscap@alt \addtolength{\@tempdimc}{\scap@width}% \addtolength{\@tempdimc}{-\linewidth}% \setlength{\@tempdimc}{-\@tempdimc}% \fi }% \fi \hspace*{\@tempdimc}% \if l\@tempa \rlap{% \parbox[\scap@valign]{\@tempdimb}{\scap@caption \global\let\scap@currentlabel\@currentlabel \global\let\scap@currentcounter\@currentcounter \global\let\scap@currentlabelname\@currentlabelname \global\let\scap@currentHref\@currentHref }% \nobreak\hskip\columnsep \parbox[\scap@valign]{\wd\c@pti@nb@sid@b@x}{\usebox\c@pti@nb@sid@b@x}% }% \else \rlap{% \parbox[\scap@valign]{\wd\c@pti@nb@sid@b@x}{\usebox\c@pti@nb@sid@b@x}% \nobreak\hskip\columnsep \parbox[\scap@valign]{\@tempdimb}{\scap@caption \global\let\scap@currentlabel\@currentlabel \global\let\scap@currentcounter\@currentcounter \global\let\scap@currentlabelname\@currentlabelname \global\let\scap@currentHref\@currentHref }% }% \fi \par \aftergroup\let\aftergroup\@currentlabel\aftergroup\scap@currentlabel \aftergroup\let\aftergroup\@currentcounter\aftergroup\scap@currentcounter \aftergroup\let\aftergroup\@currentlabelname\aftergroup\scap@currentlabelname \aftergroup\let\aftergroup\@currentHref\aftergroup\scap@currentHref } \newcommand*\capfont{\normalfont\normalcolor} \newcommand*\caplabelfont{\normalfont\normalcolor} \newcommand*{\scr@fnt@caption}{\capfont} \newcommand*{\scr@fnt@captionlabel}{\caplabelfont} \newif\ifdofullc@p \dofullc@ptrue \newif\if@capbreak \@capbreakfalse \newcommand*{\setcapindent}{\kernel@ifstar{\@@setcapindent}{\@setcapindent}} \newcommand*{\@setcapindent}[1]{% \setlength{\@tempdima}{#1}% \ifdim\@tempdima>\hsize \addtolength{\@tempdima}{-\hsize}\@capbreaktrue \else \@capbreakfalse \fi \edef\cap@indent{\the\@tempdima}% \dofullc@pfalse } \newcommand*{\@@setcapindent}[1]{% \setlength{\@tempdima}{#1}% \edef\cap@indent{\the\@tempdima}% \dofullc@pfalse\@capbreaktrue } \newcommand*{\setcaphanging}{\dofullc@ptrue\@capbreakfalse} \expandafter\ifnum\scr@v@is@ge{3.41}% \newcommand*{\captionnopagebreak}{\nopagebreak} \else \newcommand*{\captionnopagebreak}{} \fi \newcommand{\@makecaption}[2]{% \if@captionabove \vskip\belowcaptionskip \else \captionnopagebreak\vskip\abovecaptionskip\captionnopagebreak \fi \@@makecaption\@firstofone{#1}{#2}% \if@captionabove \captionnopagebreak\vskip\abovecaptionskip\captionnopagebreak \else \vskip\belowcaptionskip \fi } \newcommand*{\cap@width}{\hsize} \newcommand*{\cap@left}{\hfill} \newcommand*{\cap@right}{\hfill} \newcommand*{\setcapwidth}[2][]{% \begingroup% \setlength{\@tempdima}{#2}% \ifdim\@tempdima <\z@ \@tempdima\z@ \ClassWarning{\KOMAClassName}{% caption width less than 0pt not allowed.\MessageBreak Setting caption width to 0pt% }% \fi \edef\@tempa{\endgroup\def\noexpand\cap@width{\the\@tempdima}}% \@tempa \begingroup \edef\@tempa{#1}% \def\@tempb{c}\ifx\@tempa\@tempb \endgroup \def\cap@margin{\let\cap@left=\hfill\let\cap@right=\hfill}% \else \def\@tempb{l}\ifx\@tempa\@tempb \endgroup \def\cap@margin{\let\cap@left=\relax\let\cap@right\hfill}% \else \def\@tempb{r}\ifx\@tempa\@tempb \endgroup \def\cap@margin{\let\cap@left=\hfill\let\cap@right=\relax}% \else \def\@tempb{i}\ifx\@tempa\@tempb \endgroup \def\cap@margin{% \let\cap@left=\relax \let\cap@right=\hfill \if@twoside \Ifthispageodd{}{% \let\cap@left=\hfill \let\cap@right=\relax }% \fi }% \else \def\@tempb{o}\ifx\@tempa\@tempb \endgroup \def\cap@margin{% \let\cap@left=\hfill \let\cap@right=\relax \if@twoside \Ifthispageodd{}{% \let\cap@left=\relax \let\cap@right=\hfill }% \fi }% \else \ifx \@tempa\@empty\else \ClassError{\KOMAClassName}{% unknown optional position argument% }{% You've used `#1' as position argument at \string\setcaptionwidth,\MessageBreak but only ONE of `c', `l', `r', `i`, `o` ist allowed.\MessageBreak Argument will be ignored, if you'll continue.% }% \fi \endgroup \fi\fi\fi\fi\fi } \newcommand*{\setcapdynwidth}[2][]{% \def\cap@width{#2}% \begingroup \edef\@tempa{#1}% \def\@tempb{c}\ifx\@tempa\@tempb \endgroup \def\cap@margin{% \ifdim \cap@width<\z@ \ClassWarning{\KOMAClassName}{% caption width less than 0pt not allowed.\MessageBreak Setting caption width to 0pt% }% \let\cap@width\z@ \fi \let\cap@left=\hfill\let\cap@right=\hfill}% \else \def\@tempb{l}\ifx\@tempa\@tempb \endgroup \def\cap@margin{% \ifdim \cap@width<\z@ \ClassWarning{\KOMAClassName}{% caption width less than 0pt not allowed.\MessageBreak Setting caption width to 0pt% }% \let\cap@width\z@ \fi \let\cap@left=\relax\let\cap@right\hfill}% \else \def\@tempb{r}\ifx\@tempa\@tempb \endgroup \def\cap@margin{% \ifdim \cap@width<\z@ \ClassWarning{\KOMAClassName}{% caption width less than 0pt not allowed.\MessageBreak Setting caption width to 0pt% }% \let\cap@width\z@ \fi \let\cap@left=\hfill\let\cap@right=\relax}% \else \def\@tempb{i}\ifx\@tempa\@tempb \endgroup \def\cap@margin{% \ifdim \cap@width<\z@ \ClassWarning{\KOMAClassName}{% caption width less than 0pt not allowed.\MessageBreak Setting caption width to 0pt% }% \let\cap@width\z@ \fi \let\cap@left=\relax \let\cap@right=\hfill \if@twoside \Ifthispageodd{}{% \let\cap@left=\hfill \let\cap@right=\relax }% \fi }% \else \def\@tempb{o}\ifx\@tempa\@tempb \endgroup \def\cap@margin{% \ifdim \cap@width<\z@ \ClassWarning{\KOMAClassName}{% caption width less than 0pt not allowed.\MessageBreak Setting caption width to 0pt% }% \let\cap@width\z@ \fi \let\cap@left=\hfill \let\cap@right=\relax \if@twoside \Ifthispageodd{}{% \let\cap@left=\relax \let\cap@right=\hfill }% \fi }% \else \ifx \@tempa\@empty\else \ClassError{\KOMAClassName}{% unknown optional position argument% }{% You've used `#1' as position argument at \string\setcaptionwidth,\MessageBreak but only ONE of `c', `l', `r', `i`, `o` ist allowed.\MessageBreak Argument will be ignored, if you'll continue.% }% \fi \endgroup \fi\fi\fi\fi\fi } \newcommand*{\cap@margin}{} \let\cap@margin=\relax% \newcommand*{\setcapmargin}{\kernel@ifstar{\@setcapmargin}{\@@setcapmargin}} \newcommand*{\@setcapmargin}[2][\@tempdimb]{% \def\cap@margin{% \onelinecaptionsfalse \begingroup \setlength{\@tempdima}{\hsize}% \setlength{\@tempdimb}{#2}% \addtolength{\@tempdima}{-\@tempdimb}% \setlength{\@tempdimc}{#1}% \addtolength{\@tempdima}{-\@tempdimc}% \edef\@tempa{\endgroup \def\noexpand\cap@width{\the\@tempdima}% \noexpand\if@twoside \noexpand\Ifthispageodd{% \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}% }{% \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimc}}% \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimb}}% }% \noexpand\else \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}% \noexpand\fi }% \@tempa }% } \newcommand*{\@@setcapmargin}[2][\@tempdimb]{% \def\cap@margin{% \onelinecaptionsfalse \begingroup \setlength{\@tempdima}{\hsize}% \setlength{\@tempdimb}{#2}% \addtolength{\@tempdima}{-\@tempdimb}% \setlength{\@tempdimc}{#1}% \addtolength{\@tempdima}{-\@tempdimc}% \edef\@tempa{\endgroup \def\noexpand\cap@width{\the\@tempdima}% \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}% }% \@tempa }% } \newcommand{\@@makecaption}[3]{% \cap@margin \begingroup \ifonelinecaptions \def\stepcounter##1{\advance\value{##1}\@ne}% \let\refstepcounter\stepcounter \let\label\@gobble \let\@footnotetext=\@gobble \let\hypertarget\@gobbletwo \edef\@xnewline{% \unexpanded{\ClassInfo{\KOMAClassName}{% Workaround for not recommended usage of \string\\ or\MessageBreak \string\newline in caption text }% \hspace*{\linewidth}\hspace{1sp}% }% \unexpanded\expandafter{\@xnewline}% }% \edef\@xcentercr{% \unexpanded{\ClassInfo{\KOMAClassName}{% Workaround for not recommended usage of \string\\ or\MessageBreak \string\newline in caption text }% \hspace*{\linewidth}\hspace{1sp}% }% \unexpanded\expandafter{\@xcentercr}% }% \settowidth{\@tempdima}{\scr@@makesinglelinecaption{#1}{#2}{#3}}% \ifdim\@tempdima>\cap@width \aftergroup\scr@makemultilinecaption \else \aftergroup\scr@makesinglelinecaption \fi \else \aftergroup\scr@makemultilinecaption \fi \endgroup {#1}{#2}{#3}% } \newcommand{\scr@makesinglelinecaption}[3]{% {% \usefontofkomafont{caption}{% \hb@xt@\hsize{% \cap@left \scr@@makesinglelinecaption{#1}{#2}{#3}% \cap@right }\par\kern\dp\strutbox% }% }\kern-\dp\strutbox } \newcommand{\scr@@makesinglelinecaption}[3]{% \usekomafont{caption}{\strut\ignorespaces #1{{\usekomafont{captionlabel}{#2\captionformat}}}% \ignorespaces #3\unskip}% } \newcommand{\scr@makemultilinecaption}[3]{% {% \usefontofkomafont{caption}{% \hb@xt@\hsize{% \cap@left \vbox{\hsize\cap@width\linewidth\hsize \scr@ifundefinedorrelax{@captype}{% \ClassWarning{\KOMAClassName}{% `\string\caption' outside float.\MessageBreak Seems you are using `\string\caption' outside a float.\MessageBreak Maybe you are using a package that uses `\string\@makecaption'\MessageBreak without setting `\string\@captype' before.\MessageBreak Because I cannot detect the caption type, I'm using\MessageBreak the empty one.% }% \let\@captype\@empty }{}% \scr@ifundefinedorrelax{ragged\@captype caption}{\raggedcaption}{% \@nameuse{ragged\@captype caption}% }% \ifdofullc@p \@hangfrom{% \strut \scr@smashdp{% #1{% \usekomafont{caption}{% \usekomafont{captionlabel}{#2\captionformat}% }% }% }% }% {\usekomafont{caption}{#3\scr@endstrut\par}}% \else \ifdim\cap@indent<\z@ \strut #1{% \usekomafont{caption}{% \usekomafont{captionlabel}{#2\captionformat\par}% }% }% \noindent{\usekomafont{caption}{% \hspace*{-\cap@indent}#3\scr@endstrut\par }}% \else \if@capbreak \strut #1{% \usekomafont{caption}{% \usekomafont{captionlabel}{#2\captionformat\par}% }% }% \noindent\@hangfrom{\hspace*{\cap@indent}}% {\usekomafont{caption}{#3\scr@endstrut\par}}% \else \@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% {% \hspace{-\cap@indent}% \scr@smashdp{% #1{\usekomafont{caption}{% \usekomafont{captionlabel}{#2\captionformat}% }% }% }% {\usekomafont{caption}{#3\scr@endstrut}\par}% }% \fi \fi \fi }% \cap@right }\par\kern\dp\strutbox }% }\kern-\dp\strutbox } \newcommand*\setcaptionalignment{% \kernel@ifnextchar [%] {\@setcaptionalignment} {% \scr@ifundefinedorrelax{@captype}{\@setcaptionalignment}{% \edef\reserved@a{\noexpand\@setcaptionalignment[{\@captype}]}\reserved@a }% }% }% \newcommand*\@setcaptionalignment[2][]{% \IfArgIsEmpty{#1}{}{% \expandafter\ifnum \scr@ifundefinedorrelax{#1}{0}{\scr@ifundefinedorrelax{end#1}{0}{1}}=0 \ClassWarning{\KOMAClassName}{% float type `#1' defined not yet,\MessageBreak but setting ragged mode for captions of\MessageBreak float type `#1'% }% \fi }% \def\reserved@a{#2}% \Ifstr{\reserved@a}{j}{% \expandafter\let\csname ragged#1caption\endcsname\@empty }{% \Ifstr{\reserved@a}{l}{% \scr@ifundefinedorrelax{LaTeXraggedright}{% \expandafter\let\csname ragged#1caption\endcsname\raggedright }{% \expandafter\let\csname ragged#1caption\endcsname\LaTeXraggedright }% }{% \Ifstr{\reserved@a}{r}{% \scr@ifundefinedorrelax{LaTeXraggedleft}{% \expandafter\let\csname ragged#1caption\endcsname\raggedleft }{% \expandafter\let\csname ragged#1caption\endcsname\LaTeXraggedleft }% }{% \Ifstr{\reserved@a}{c}{% \scr@ifundefinedorrelax{LaTeXcentering}{% \expandafter\let\csname ragged#1caption\endcsname\centering }{% \expandafter\let\csname ragged#1caption\endcsname\LaTeXcentering }% }{% \Ifstr{\reserved@a}{J}{% \scr@ifundefinedorrelax{justifying}{% \scr@caption@raggede@warning{J}{\justifying}% \expandafter\let\csname ragged#1caption\endcsname\@empty }{% \expandafter\let\csname ragged#1caption\endcsname\justifying }% }{% \Ifstr{\reserved@a}{L}{% \scr@ifundefinedorrelax{RaggedRight}{% \scr@caption@raggede@warning{L}{\RaggedRight}% \expandafter\let\csname ragged#1caption\endcsname\raggedright }{% \expandafter\let\csname ragged#1caption\endcsname\RaggedRight }% }{% \Ifstr{\reserved@a}{R}{% \scr@ifundefinedorrelax{RaggedLeft}{% \scr@caption@raggede@warning{R}{\RaggedLeft}% \expandafter\let\csname ragged#1caption\endcsname\raggedleft }{% \expandafter\let\csname ragged#1caption\endcsname\RaggedLeft }% }{% \Ifstr{\reserved@a}{C}{% \scr@ifundefinedorrelax{Centering}{% \scr@caption@raggede@warning{C}{\Centering}% \expandafter\let\csname ragged#1caption\endcsname\centering }{% \expandafter\let\csname ragged#1caption\endcsname\Centering }% }{% \Ifstr{\reserved@a}{}{% \expandafter\let\csname ragged#1caption\endcsname\relax }{% \ClassError{\KOMAClassName}{unknown alignment char `#2'}{% \string\setcaptionalignment\space supports only:\MessageBreak \space\space c - centered captions,\MessageBreak \space\space j - justified captions,\MessageBreak \space\space l - left align captions,\MessageBreak \space\space r - right aligned captions,\MessageBreak \space\space C - centered captions with `ragged2e',\MessageBreak \space\space J - justified captions with `ragged2e',\MessageBreak \space\space L - left align captions with `ragged2e',\MessageBreak \space\space R - right aligned captions with `ragged2e',\MessageBreak or an empty argument to remove special alignment.\MessageBreak If you'd continue, I'd not change the alignment.% }% }% }% }% }% }% }% }% }% }% } \newcommand*{\scr@caption@raggede@warning}[2]{% \begingroup \lowercase{\def\reserved@a{#1}}% \ClassWarning{\KOMAClassName}{% `\string#2' undefined!\MessageBreak To avoid replacing caption alignment `#1' by `\reserved@a'\MessageBreak you should load package `ragged2e' before using\MessageBreak `\string\setcaptionalignment'% }% \endgroup } \newcommand*\raggedcaption{} \newcommand*{\scr@caption@before@longtable@warning}[1]{% \ClassWarning{\KOMAClassName}{% you've loaded package `#1' before package\MessageBreak `longtable'!\MessageBreak Because of this package `#1' isn't able to\MessageBreak control `\string\caption' at longtables. \space After loading \MessageBreak package `#1' KOMA-Script also doesn't control\MessageBreak `\string\caption'.\MessageBreak I think, you should load package `caption' after\MessageBreak package `longtable'% }% } \AfterPackage{longtable}{% \if@komalongtable \renewcommand{\LT@makecaption}[3]{% \noalign{% \if@captionabove \vskip\belowcaptionskip \else \vskip\abovecaptionskip \fi }% \LT@mcol\LT@cols c{% \hbox to\z@{\hss\parbox[t]\linewidth{% \def\@captype{table}% \@@makecaption{#1}{#2}{#3}% \endgraf \if@captionabove \vskip\abovecaptionskip \else \vskip\belowcaptionskip \fi }% \hss }% }% }% \newcommand*{\scr@LT@array}{}% \let\scr@LT@array=\LT@array \renewcommand*{\LT@array}{% \let\scr@caption=\LT@caption \def\captionabove{\noalign{\global\@captionabovetrue}% \scr@caption}% \def\captionbelow{\noalign{\global\@captionabovefalse}% \scr@caption}% \if@tablecaptionabove \let\LT@caption=\captionabove \else \let\LT@caption=\captionbelow \fi \scr@LT@array }% \ClassInfo{\KOMAClassName}{% longtable captions redefined% }% \fi } \newcommand*{\fs@komaabove}{% \let\@fs@capt\floatc@komascript \let\@fs@pre\@empty \def\@fs@mid{\vskip\abovecaptionskip}% \let\@fs@post\@empty \let\@fs@iftopcapt\iftrue} \newcommand*{\fs@komabelow}{% \let\@fs@capt\floatc@komascript \let\@fs@pre\@empty \def\@fs@mid{\vskip\abovecaptionskip}% \let\@fs@post\@empty \let\@fs@iftopcapt\iffalse} \newcommand{\floatc@komascript}{\@@makecaption\@firstofone} \setcounter{topnumber}{2} \renewcommand*\topfraction{.7} \setcounter{bottomnumber}{1} \renewcommand*\bottomfraction{.3} \setcounter{totalnumber}{3} \renewcommand*\textfraction{.2} \renewcommand*\floatpagefraction{.5} \setcounter{dbltopnumber}{2} \renewcommand*\dbltopfraction{.7} \renewcommand*\dblfloatpagefraction{.5} \newcommand*{\captionof}[1]{\def\@captype{#1}% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname if@#1captionabove\endcsname\iftrue \@captionabovetrue \fi \scr@caption} \newcommand*{\captionaboveof}{\@captionabovetrue\captionof} \newcommand*{\captionbelowof}{\@captionabovefalse\captionof} \BeforePackage{capt-of}{\let\captionof\relax} \newenvironment{captionofbeside}[1]{% \def\@captype{#1}% \captionbeside }{% \endcaptionbeside } \newcommand*\figurename{Figure} \providecaptionname{american,australian,british,canadian,english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\figurename{Figure} \newcommand*\tablename{Table} \providecaptionname{american,australian,british,canadian,english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\tablename{Table} \DeclareNewTOC[% type=figure, float, nonfloat, floatpos=tbp, floattype=1, tocentryindent=1.5em, tocentrynumwidth=2.3em, atbegin=\def\caption{% \if@figurecaptionabove\expandafter\captionabove \else\expandafter\captionbelow\fi } ]{lof} \expandafter\ifnum\scr@v@is@lt{3.35}% \renewcommand*\thefigure{\@arabic\c@figure} \fi \DeclareNewTOC[% type=table, float, nonfloat, floatpos=tbp, floattype=2, tocentryindent=1.5em, tocentrynumwidth=2.3em, atbegin=\def\caption{% \if@tablecaptionabove\expandafter\captionabove \else\expandafter\captionbelow\fi } ]{lot} \expandafter\ifnum\scr@v@is@lt{3.35}% \renewcommand*\thetable{\@arabic\c@table} \fi %%% From File: $Id: scrkernel-footnotes.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \renewcommand*\footnoterule{% \normalsize\ftn@rule@test@values \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi {\usekomafont{footnoterule}{% \hrule \@height\ftn@rule@height \@width\ftn@rule@width}}% \kern 2.6\p@} \newcommand*{\ftn@rule@test@values}{% \ifdim\ftn@rule@height <\z@ \ClassWarning{\KOMAClassName}{% You might get into trouble, because the\MessageBreak height of the footnote rule has a value\MessageBreak less than 0% }% \else \ifdim\ftn@rule@height >\dimexpr\skip\footins -2.6\p@\relax \ClassWarning{\KOMAClassName}{% You might get into trouble, because the\MessageBreak height of the footnote rule has a value\MessageBreak greater than \the\dimexpr\skip\footins -2.6\p@\relax }% \fi \fi \ifdim\ftn@rule@width <\z@ \ClassWarning{\KOMAClassName}{% You might get into trouble, because the width\MessageBreak or length of the footnote rule has a value\MessageBreak less than 0pt% }% \else \ifdim\ftn@rule@width >\columnwidth \ClassWarning{\KOMAClassName}{% You might get into trouble, because the width\MessageBreak or length of the footnote rule has a value\MessageBreak greater than \string\columnwidth }% \fi \fi } \newkomafont{footnoterule}{} \newcommand*{\ftn@rule@width}{.4\columnwidth} \newcommand*{\ftn@rule@height}{.4\p@} \newcommand*{\setfootnoterule}[2][]{% \IfArgIsEmpty{#1}{}{% \renewcommand*{\ftn@rule@height}{#1}% }% \IfArgIsEmpty{#2}{}{% \renewcommand*{\ftn@rule@width}{#2}% }% \ftn@rule@test@values } \newcommand\deffootnote[4][]{% \expandafter\ifnum\scr@v@is@ge{3.22}\relax \long\def\@makefntext##1{% \ExecuteDoHook{footnote/text/begin}% \raggedfootnote \leftskip #2 \l@addto@macro\@trivlist{% \ifnum\@listdepth=\@ne\advance\leftmargin #2\relax\fi }% \parindent #3\noindent \IfArgIsEmpty{#1}{}{% \hskip \dimexpr #1-#2\relax }% \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% \ExecuteDoHook{footnote/text/end}% }% \else \ClassInfo{\KOMAClassName}{% Using old \string\@makefntext\space due to compatibility level\MessageBreak less than 3.22}% \long\def\@makefntext##1{% \setlength{\@tempdimc}{#3}% \def\@tempa{#1}\ifx\@tempa\@empty \@setpar{\@@par \@tempdima = \hsize \addtolength{\@tempdima}{-#2}% \parshape \@ne #2 \@tempdima}% \else \addtolength{\@tempdimc}{#2}% \addtolength{\@tempdimc}{-#1}% \@setpar{\@@par \@tempdima = \hsize \addtolength{\@tempdima}{-#1}% \@tempdimb = \hsize \addtolength{\@tempdimb}{-#2}% \parshape \tw@ #1 \@tempdima #2 \@tempdimb }% \fi \par \parindent\@tempdimc\noindent \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% }% \fi \def\@@makefnmark{\hbox{\ftnm@font{#4}}}% } \newcommand*{\raggedfootnote}{} \newcommand*{\ftn@font}{\normalfont} \newcommand*{\scr@fnt@footnote}{\ftn@font} \newcommand*{\ftnm@font}{} \aliaskomafont{footnotenumber}{footnotelabel} \newcommand*{\scr@fnt@footnotelabel}{\ftnm@font} \aliaskomafont{footnotetext}{footnote} \newcommand*\deffootnotemark[1]{% \def\@makefnmark{\hbox{\ftntm@font{#1}}}% } \newcommand*{\ftntm@font}{} \newcommand*{\scr@fnt@footnotereference}{\ftntm@font} \aliaskomafont{footnoteref}{footnotereference} \aliaskomafont{footnotemark}{footnotereference} \newcommand*{\FN@mf@check}{% \ifdim\lastkern=\multiplefootnotemarker\relax \edef\@x@sf{\the\spacefactor}% \unkern\multiplefootnoteseparator \spacefactor\@x@sf\relax \fi } \newcommand*{\scr@mf@prepare}{% \kern-\multiplefootnotemarker \kern\multiplefootnotemarker\relax } \@ifundefined{FN@mf@prepare}{\let\FN@mf@prepare\relax}{} \newcommand{\scr@saved@footnotetext}{} \let\scr@saved@footnotetext\@footnotetext \renewcommand{\@footnotetext}[1]{% \scr@saved@footnotetext{#1}% \csname FN@mf@prepare\endcsname } \BeforePackage{footmisc}{% \ifx\@footnotemark\scr@footnotemark \let\@footnotemark\scr@saved@footnotemark \fi \let\@footnotetext\scr@saved@footnotetext } \BeforePackage{setspace}{% \let\@footnotetext\scr@saved@footnotetext } \AfterPackage{setspace}{% \let\scr@saved@footnotetext\@footnotetext \renewcommand{\@footnotetext}[1]{% \scr@saved@footnotetext{#1}% \csname FN@mf@prepare\endcsname }% } \newcommand*{\multiplefootnoteseparator}{% \begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup } \newcommand*{\multfootsep}{,} \newcommand*{\multiplefootnotemarker}{3sp} \newcommand*{\thefootnotemark}{\@thefnmark} \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} \deffootnotemark{\textsuperscript{\thefootnotemark}} \providecommand*{\footref}[1]{% \begingroup \unrestored@protected@xdef\@thefnmark{\ref{#1}}% \endgroup \@footnotemark } %%% From File: $Id: scrkernel-listsof.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \g@addto@macro{\numberline@numberpostfix}{\autodot} \usetocbasicnumberline[% \ClassInfo{\KOMAClassName}{Redefining `\string\numberline'}% ] \newcommand*{\scr@dottedtocline}{} \newcommand*{\last@l@number}{} \newcommand*{\@l@number}{} \newcommand*{\set@l@number}[1]{% \settowidth{\@tempdima}{#1\enskip}% \ifdim\@tempdima >\@l@number \xdef\@l@number{\the\@tempdima}% \fi% \ifdim\@tempdima >\last@l@number \else \setlength{\@tempdima}{\last@l@number}% \fi% } \newcommand*{\before@starttoc}[1]{% \let\scr@dottedtocline=\@dottedtocline \renewcommand*{\@dottedtocline}[3]{% \scr@dottedtocline{##1}{\z@}{\last@l@number}}% \renewcommand*{\numberline@box}[1]{% \set@l@number{##1}\hb@xt@\@tempdima{##1}}% \gdef\@l@number{\z@}% \@ifundefined{#1@l@number}{% \def\last@l@number{2em}% }{% \expandafter\ifx\csname #1@l@number\endcsname\@empty \let\last@l@number\z@ \else \expandafter\let\expandafter\last@l@number \expandafter=\csname#1@l@number\endcsname \fi }% \begingroup \def\do@endgroup{\endgroup}% \def\do##1{% \scr@ifundefinedorrelax{scr@tso@##1@numwidth}{}{% \l@addto@macro\do@endgroup{% \@namedef{scr@tso@##1@numwidth}{\last@l@number}% }% }% \scr@ifundefinedorrelax{scr@tso@##1@indent}{}{% \l@addto@macro\do@endgroup{% \@namedef{scr@tso@##1@indent}{\z@}% }% }% }% \@nameuse{scr@dte@donumwidth}% \do@endgroup } \newcommand*{\after@starttoc}[1]{% \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 } \g@addto@macro\tocbasic@@after@hook{% \if@dynlist\expandafter\after@starttoc\expandafter{\@currext}\fi } \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}{% usage of deprecated \string\toc@heading!\MessageBreak You should use the features of package `tocbasic'\MessageBreak instead of \string\toc@heading.\MessageBreak Definition of \string\toc@heading\space may be removed from\MessageBreak KOMA-Script soon, so it should not be used% }% \section*{\contentsname}% \@mkboth{\MakeMarkcase{\contentsname}}{\MakeMarkcase{\contentsname}}% } \newcommand*{\toc@l@number}{} \newcommand*{\tableofcontents}{% \begingroup \let\if@dynlist\if@tocleft \expandafter\listoftoc\expandafter{\ext@toc}% \endgroup } \newcommand{\addtocentrydefault}[3]{% \expandafter\tocbasic@addxcontentsline\expandafter{\ext@toc}{#1}{#2}{#3}% } \newcommand*{\float@listhead}[1]{% \scr@float@listhead@warning \float@@listhead{#1}% \@mkboth{\MakeMarkcase{#1}}{\MakeMarkcase{#1}}% \if@dynlist% \newcommand*{\scr@starttoc}{}% \let\scr@starttoc=\@starttoc \renewcommand*{\@starttoc}[1]{% \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}% }% \fi } \newcommand*{\scr@float@listhead@warning}{% \ClassWarning{\KOMAClassName}{% \string\float@listhead\space detected!\MessageBreak Implementation of \string\float@listhead\space became\MessageBreak deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak has been replaced by several more flexible\MessageBreak features of package `tocbasic`.\MessageBreak Maybe implementation of \string\float@listhead\space will\MessageBreak be removed from KOMA-Script soon.\MessageBreak Loading of package `scrhack' may help to\MessageBreak avoid this warning, if you are using a\MessageBreak a package that still implements the\MessageBreak deprecated \string\float@listhead\space interface% }% } \newcommand*{\scr@float@addtolists@warning}{% \ClassWarningNoLine{\KOMAClassName}{% \string\float@addtolists\space detected!\MessageBreak Implementation of \string\float@addtolist\space became\MessageBreak deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak has been replaced by several more flexible\MessageBreak features of package `tocbasic`.\MessageBreak Since Version 3.12 support for deprecated\MessageBreak \string\float@addtolist\space interface has been\MessageBreak restricted to only some of the KOMA-Script\MessageBreak features and been removed from others.\MessageBreak Loading of package `scrhack' may help to\MessageBreak avoid this warning, if you are using a\MessageBreak a package that still implements the\MessageBreak deprecated \string\float@addtolist\space interface% }% \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 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \newcommand*\refname{References} \providecaptionname{american,australian,british,canadian,english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\refname{References} \newcommand*{\bibpreamble}{\relax} \let\bibpreamble\relax \newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}} \newdimen\bibindent \bibindent=1.5em \newenvironment{thebibliography}[1]{% \if@bib@break@ \bib@beginhook \else \bib@heading \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else \noindent\bibpreamble\par\nobreak \fi\fi \bib@beginhook \bib@before@hook \fi \renewcommand{\BreakBibliography}[1]{% \@bib@break \end{thebibliography}% \begingroup ##1\endgroup \begin{thebibliography}{#1} }% \list{% \@biblabel{\@arabic\c@enumiv}% }{% \settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \if@bib@break@ \edef\@tempa{% \noexpand\usecounter{enumiv}% \noexpand\setcounter{enumiv}{\the\c@enumiv}% }\@tempa \no@bib@break \else \usecounter{enumiv}% \fi \let\p@enumiv\@empty \renewcommand*\theenumiv{\@arabic\c@enumiv}% }% \sloppy\clubpenalty4000 \widowpenalty4000 \sfcode`\.=\@m }{% \if@bib@break@ \def\@noitemerr{% \@latex@warning{% \string\BreakBibliography\space at begin of `thebibliography' environment\MessageBreak or following \string\BreakBibliography}% }% \else \def\@noitemerr{% \@latex@warning{% Empty `thebibliography' environment or \string\BreakBibliography\MessageBreak before end of `thebibliography' environment}% }% \fi \endlist \if@bib@break@ \else \bib@after@hook \let\bib@before@hook\@empty \let\bib@after@hook\@empty \fi \bib@endhook } \newif\if@bib@break@ \newcommand{\no@bib@break}{\global\let\if@bib@break@\iffalse} \newcommand*{\@bib@break}{\global\let\if@bib@break@\iftrue} \newcommand*{\bib@before@hook}{} \newcommand*{\bib@after@hook}{} \newcommand{\BreakBibliography}[1]{% \ClassWarning{\KOMAClassName}{% You've used \string\BreakBibliography\space either outside of\MessageBreak the bibliography or `thebibliography' was redefined\MessageBreak incompatible, e.g., using a bibliography package.\MessageBreak \string\BreakBibliography\space ignored% }% } \newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook} \newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook} %%% From File: $Id: scrkernel-index.dtx 4052 2023-05-05 11:41:51Z kohm $ %%% (run: body) \newcommand*{\index@preamble}{} \let\index@preamble=\relax \newcommand{\setindexpreamble}[1]{\def\index@preamble{#1}} \newcommand*{\idx@heading}{% \twocolumn[% \idx@@heading{\indexname}]% \idx@@mark{\indexname}% } \newenvironment{theindex}{% \if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi \columnseprule \z@ \columnsep 35\p@ \idx@heading \index@preamble\par\nobreak \ifx\indexpagestyle\@empty\else\thispagestyle{\indexpagestyle}\fi \parindent\z@ \setlength{\parskip}{\z@ \@plus .3\p@}% \setlength{\parfillskip}{\z@ \@plus 1fil}% \let\item\@idxitem }{% \if@restonecol\onecolumn\else\clearpage\fi } \newcommand*\@idxitem{\par\hangindent 40\p@} \newcommand*\subitem{\@idxitem \hspace*{20\p@}} \newcommand*\subsubitem{\@idxitem \hspace*{30\p@}} \newcommand*\indexspace{% \par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax } \newcommand*\indexname{Index} \providecaptionname{american,australian,british,canadian,english,newzealand,% UKenglish,ukenglish,USenglish,usenglish}\indexname{Index} %%% From File: $Id: scrkernel-listsandtabulars.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \if@twocolumn \setlength{\leftmargini}{2em} \else \setlength{\leftmargini}{2.5em} \fi \setlength{\leftmarginii}{2.2em} \setlength{\leftmarginiii}{1.87em} \setlength{\leftmarginiv}{1.7em} \if@twocolumn \setlength{\leftmarginv}{.5em} \setlength{\leftmarginvi}{.5em} \else \setlength{\leftmarginv}{1em} \setlength{\leftmarginvi}{1em} \fi \setlength{\leftmargin}{\leftmargini} \setlength{\labelsep}{.5em} \setlength{\labelwidth}{\leftmargini} \addtolength{\labelwidth}{-\labelsep} \@beginparpenalty=-\@lowpenalty \@endparpenalty =-\@lowpenalty \@itempenalty =-\@lowpenalty \renewcommand*\theenumi{\@arabic\c@enumi} \renewcommand*\theenumii{\@alph\c@enumii} \renewcommand*\theenumiii{\@roman\c@enumiii} \renewcommand*\theenumiv{\@Alph\c@enumiv} \newcommand*\labelenumi{\theenumi.} \newcommand*\labelenumii{\theenumii)} \newcommand*\labelenumiii{\theenumiii.} \newcommand*\labelenumiv{\theenumiv.} \renewcommand*\p@enumii{\theenumi} \renewcommand*\p@enumiii{\p@enumii(\theenumii)} \renewcommand*\p@enumiv{\p@enumiii\theenumiii} \newcommand*\labelitemi{\usekomafont{labelitemi}{\textbullet}} \newcommand*\labelitemii{\usekomafont{labelitemii}{\textendash}} \newcommand*\labelitemiii{\usekomafont{labelitemiii}{\textasteriskcentered}} \newcommand*\labelitemiv{\usekomafont{labelitemiv}{\textperiodcentered}} \newenvironment{description}{% \list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}% }{% \endlist } \newcommand*{\descriptionlabel}[1]{% \hspace{\labelsep}\usekomafont{descriptionlabel}{#1}% } \newenvironment{labeling}[2][]{% \def\sc@septext{#1}% \list{}{\settowidth{\labelwidth}{{% \usekomafont{labelinglabel}{#2% \usekomafont{labelingseparator}{\sc@septext}}% }}% \leftmargin\labelwidth \advance\leftmargin by \labelsep \let\makelabel\labelinglabel }% }{% \endlist } \newcommand\labelinglabel[1]{% \usekomafont{labelinglabel}{#1\hfil \usekomafont{labelingseparator}{\sc@septext}}% } \newenvironment{verse}{% \let\\=\@centercr \list{}{\itemsep=\z@ \itemindent=-1.5em \listparindent=\itemindent \rightmargin=\leftmargin \advance\leftmargin by1.5em }% \item\relax }{% \endlist } \newenvironment{quotation}{% \list{}{\listparindent 1em% \itemindent \listparindent \rightmargin \leftmargin \parsep \z@ \@plus\p@ }% \item\relax }{% \endlist } \newenvironment{quote}{% \list{}{\rightmargin\leftmargin}% \item\relax }{% \endlist } \newenvironment{addmargin}{% \@tempswafalse\@addmargin }{% \advance\@listdepth\@ne \endlist } \newenvironment{addmargin*}{% \@tempswafalse \if@twoside\is@thispageodd[]\ifthispagewasodd\else\@tempswatrue\fi \edef\scr@addmargin@startpage{\csname tpo@\scr@tpo\endcsname}\fi \@addmargin }{% \if@twoside \unskip\nobreak\Ifthispageodd{}{}% \expandafter\ifx\csname tpo@\scr@tpo\endcsname\scr@addmargin@startpage\else \ClassWarning{\KOMAClassName}{% page break inside `addmargin*' environment.\MessageBreak A `addmargin*' environment starting on page \scr@addmargin@startpage\MessageBreak ends on page \csname tpo@\scr@tpo\endcsname.\MessageBreak This will result in potential wrong margins on\MessageBreak every other page.\MessageBreak So maybe you should change the `addmargin*'\MessageBreak environment, that ends% }% \fi \fi \advance\@listdepth\@ne \endlist } \newcommand*{\@addmargin}[2][\@tempa]{% \list{}{% \if@tempswa \def\@tempa{\leftmargin}% \setlength{\leftmargin}{#2}% \setlength{\rightmargin}{#1}% \else \def\@tempa{\rightmargin}% \setlength{\rightmargin}{#2}% \setlength{\leftmargin}{#1}% \fi \setlength{\listparindent}{\parindent}% \setlength{\itemsep}{\parskip}% \setlength{\itemindent}{\z@}% \setlength{\@tempskipa}{\topsep}% \setlength{\topsep}{\z@}% \setlength{\parsep}{\parskip}% \setlength{\@tempskipb}{\partopsep}% \setlength{\partopsep}{\z@}% \let\makelabel\@gobble \setlength{\labelwidth}{\z@}% \advance\@listdepth\m@ne }% \expandafter\ifnum\scr@v@is@ge{3.22}% \setlength{\topsep}{\@tempskipa}% \setlength{\partopsep}{\@tempskipb}% \fi \item\is@thispageodd@setlabel\nobreak\ignorespaces } \newcommand*\descfont{\maybesffamily\bfseries} \newcommand*{\scr@fnt@descriptionlabel}{\descfont} \newcommand*{\labelitemfont}{\normalfont} \newcommand*\scr@fnt@itemizelabel{\labelitemfont} \newkomafont{labelitemi}{\usekomafont{itemizelabel}} \newkomafont{labelitemii}{\usekomafont{itemizelabel}\bfseries} \newkomafont{labelitemiii}{\usekomafont{itemizelabel}} \newkomafont{labelitemiv}{\usekomafont{itemizelabel}} \newkomafont{labelinglabel}{} \newkomafont{labelingseparator}{} \setlength\arraycolsep{5\p@} \setlength\tabcolsep{6\p@} \setlength\arrayrulewidth{.4\p@} \setlength\doublerulesep{2\p@} \setlength\tabbingsep{\labelsep} %%% From File: $Id: scrlogo.dtx 4032 2023-04-17 09:45:11Z kohm $ \RequirePackage{scrlogo} \endinput %% %% End of file `scrartcl.cls'.