%% %% This is file `scrextend.sty', %% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% %% scrextend.dtx (with options: `package,extend,preidentify') %% scrkernel-version.dtx (with options: `package,extend') %% scrextend.dtx (with options: `package,extend,identify,prepare') %% scrkernel-basics.dtx (with options: `package,load') %% scrkernel-sections.dtx (with options: `package,extend,prepare') %% scrkernel-compatibility.dtx (with options: `package,extend,init') %% scrextend.dtx (with options: `package,extend,option') %% scrkernel-compatibility.dtx (with options: `package,extend,option') %% scrkernel-miscellaneous.dtx (with options: `package,extend,option') %% scrkernel-fonts.dtx (with options: `package,extend,option') %% scrkernel-title.dtx (with options: `package,extend,option') %% scrkernel-sections.dtx (with options: `package,extend,option') %% scrkernel-pagestyles.dtx (with options: `package,extend,option') %% scrkernel-floats.dtx (with options: `package,extend,option') %% scrkernel-footnotes.dtx (with options: `package,extend,option') %% scrkernel-listsandtabulars.dtx (with options: `package,extend,option') %% scrkernel-sections.dtx (with options: `package,extend,execoption') %% scrkernel-miscellaneous.dtx (with options: `package,extend,execoption') %% scrkernel-compatibility.dtx (with options: `package,extend,body') %% scrkernel-fonts.dtx (with options: `package,extend,body') %% scrkernel-title.dtx (with options: `package,extend,body') %% scrkernel-sections.dtx (with options: `package,extend,body') %% scrkernel-miscellaneous.dtx (with options: `package,extend,body') %% scrkernel-pagestyles.dtx (with options: `package,extend,body') %% scrkernel-floats.dtx (with options: `package,extend,body') %% scrkernel-footnotes.dtx (with options: `package,extend,body') %% scrkernel-listsandtabulars.dtx (with options: `package,extend,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: scrextend.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: preidentify) \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname KOMAClassName\endcsname\relax\else \PackageWarningNoLine{scrextend}{% This package was made to extend other classes but\MessageBreak KOMA-Script classes by some features of the\MessageBreak KOMA-Script classes.\MessageBreak It should never be used with a KOMA-Script class.\MessageBreak Loading of the package will be aborted% }% \expandafter\endinput \fi %%% 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@pkgextension}{\@pkgextension} \AtBeginDocument{% \let\scr@pkgextension\@pkgextension } %%% From File: $Id: scrextend.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: prepare) \ProvidesPackage{scrextend}[% 2023/07/07 v3.41 KOMA-Script package (extend other classes with features of KOMA-Script classes)% ] \newcommand*{\scr@ext@activate}[1]{% \scr@ifundefinedorrelax{scr@ext@activate@#1}{% \@namedef{scr@ext@immediate@#1}{% \expandafter\let\csname scr@ext@immediate@#1\endcsname\relax \csname scr@ext@activate@#1\endcsname }% }{% \csname scr@ext@activate@#1\endcsname \expandafter\let\csname scr@ext@activate@#1\endcsname\relax }% } \newcommand*{\scr@ext@activateable}[1]{% \expandafter\newcommand\expandafter*\csname scr@ext@activate@#1\endcsname } \newcommand*{\scr@ext@addto@activateable}[1]{% \scr@ifundefinedorrelax{scr@ext@activate@#1}{% \expandafter\newcommand\expandafter*\csname scr@ext@activate@#1\endcsname }{% \expandafter\g@addto@macro\csname scr@ext@activate@#1\endcsname }% } %%% From File: $Id: scrkernel-basics.dtx 4051 2023-04-26 16:01:28Z kohm $ %%% (run: load) \RequirePackage{scrkbase}[\KOMAScriptVersion] %%% From File: $Id: scrkernel-sections.dtx 4069 2023-06-29 08:55:54Z kohm $ %%% (run: prepare) \newcommand*{\sectfont}{\normalcolor\maybesffamily\bfseries} %%% From File: $Id: scrkernel-compatibility.dtx 4054 2023-05-10 14:35:36Z kohm $ %%% (run: init) \providecommand* {\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: scrextend.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \KOMA@key{extendedfeature}{% \scr@ext@activate{#1}% \AtEndOfPackage{% \scr@ifundefinedorrelax{scr@ext@immediate@#1}{}{% \PackageWarningNoLine{unkown extended feature `#1'\MessageBreak You have used option `extendedfeature' to\MessageBreak activate an extended feature `#1',\MessageBreak but there is no such extended feature.\MessageBreak See the KOMA-Script manual for more\MessageBreak information about known activatable\MessageBreak extended features% }% }% }% \FamilyKeyStateProcessed \KOMA@kav@xadd{scrextend.sty}{extendedfeature}{#1}% } \AtEndOfPackage{% \KOMA@key{extendedfeature}{% \def\FamilyKeyState{Option `extendedfeature' too late}% }% } %%% From File: $Id: scrkernel-compatibility.dtx 4054 2023-05-10 14:35:36Z kohm $ %%% (run: option) \KOMA@key{version}[last]{% \scr@ifundefinedorrelax{scr@v@#1}{% \def\scr@compatibility{0}% \PackageWarningNoLine{% scrextend% }{% 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{% scrextend.\scr@pkgextension }{version}{first}% }{% \PackageInfoNoLine{% scrextend% }{% Switching compatibility level to `#1'% }% \edef\scr@compatibility{\@nameuse{scr@v@#1}}% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% scrextend.\scr@pkgextension }{version}{#1}% \ifnum\scr@compatibility<\scr@v@last \PackageWarningNoLine{% scrextend% }{% 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 }% } \AtEndOfPackage{% \KOMA@key{version}[]{% \PackageError{% scrextend% }{% Option `version' too late% }{% Option `version' may be set only while loading the package.\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{% scrextend.\scr@pkgextension }{draft}{@tempswa}% \KOMA@kav@replacebool{% scrextend.\scr@pkgextension }{overfullrule}{@tempswa}% \setlength{\overfullrule}{5pt}% \else \KOMA@kav@replacebool{% scrextend.\scr@pkgextension }{draft}{@tempswa}% \KOMA@kav@replacebool{% scrextend.\scr@pkgextension }{overfullrule}{@tempswa}% \setlength{\overfullrule}{\z@}% \fi \fi } \KOMA@kav@xadd{scrextend.\scr@pkgextension}{draft}{% \ifdim\overfullrule>\z@ true\else false\fi } \KOMA@DeclareStandardOption [scrextend] {final}{draft=false} \KOMA@key{overfullrule}[true]{% \KOMA@set@ifkey{overfullrule}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \if@tempswa \KOMA@kav@replacebool{% scrextend.\scr@pkgextension }{draft}{@tempswa}% \KOMA@kav@replacebool{% scrextend.\scr@pkgextension }{overfullrule}{@tempswa}% \setlength{\overfullrule}{5pt}% \else \KOMA@kav@replacebool{% scrextend.\scr@pkgextension }{draft}{@tempswa}% \KOMA@kav@replacebool{% scrextend.\scr@pkgextension }{overfullrule}{@tempswa}% \setlength{\overfullrule}{\z@}% \fi \fi } \KOMA@kav@xadd{scrextend.\scr@pkgextension}{overfullrule}{% \ifdim\overfullrule>\z@ true\else false\fi } %%% From File: $Id: scrkernel-fonts.dtx 4034 2023-04-20 08:03:46Z kohm $ %%% (run: option) \providecommand*{\@fontsizefilebase}{scrsize} \KOMA@key{fontsize}{% \ifvmode\else \par \PackageError{scrextend}{% 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\PackageInfo{scrextend}{% File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% }{% \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% \noexpand\PackageInfo{scrextend}{% 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`\@ }% \scr@ifundefinedorrelax{changefontsizes}{% \expandafter\AtEndOfPackage\expandafter{\@tempa}% }{% \@tempa }% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% scrextend.\scr@pkgextension }{fontsize}{#1}% } \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]{% \PackageWarningNoLine{scrextend}% {% 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{scrextend.\scr@pkgextension}% {sfdefaults}{\if@sfdefaults true\else false\fi}% \fi } %%% From File: $Id: scrkernel-title.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: option) \scr@ext@activateable{title}{% \scr@ifundefinedorrelax{if@titlepage}{% \expandafter\newif\csname if@titlepage\endcsname \@titlepagefalse }{}% \scr@ifundefinedorrelax{if@titlepageiscoverpage}{% \expandafter\newif\csname if@titlepageiscoverpage\endcsname \@titlepageiscoverpagefalse }{}% \KOMA@key{titlepage}[true]{% \Ifstr{##1}{firstiscover}{% \@titlepagetrue \@titlepageiscoverpagetrue \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% scrextend.\scr@pkgextension }{titlepage}{firstiscover}% }{% \def\FamilyElseValue{, `firstiscover'}% \KOMA@set@ifkey{titlepage}{@titlepage}{##1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \KOMA@kav@remove{% scrextend.\scr@pkgextension }{titlepage}{firstiscover}% \KOMA@kav@replacebool{% scrextend.\scr@pkgextension }{titlepage}{@titlepage}% \@titlepageiscoverpagefalse \fi }% } \KOMA@kav@xadd{% scrextend.\scr@pkgextension }{titlepage}{\if@titlepage true\else false\fi} \def\scr@ext@immediate@title{% \scr@ext@activate{title}% \let\scr@ext@immediate@title\relax }% } \KOMA@DeclareStandardOption% [scrextend]% {notitlepage}{titlepage=false} %%% From File: $Id: scrkernel-sections.dtx 4069 2023-06-29 08:55:54Z kohm $ %%% (run: option) %%% From File: $Id: scrkernel-pagestyles.dtx 4058 2023-06-16 08:32:27Z kohm $ %%% (run: option) \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{% scrextend.\scr@pkgextension }{cleardoublepage}{current}% }% }{% \Ifnotundefined{ps@#1}{% \def\@tempc{\endgroup \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% \FamilyKeyStateProcessed \KOMA@kav@xreplacevalue{% scrextend.\scr@pkgextension }{cleardoublepage}{#1}% }% }{% }% }% \@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{% scrextend.\scr@pkgextension }{cleardoublepage}{% \expandafter\ifnum \scr@v@is@gt{2.98c} empty% \else current\fi } \AtEndOfPackage{% \KOMAoptionOf[\expandafter\edef\expandafter\@tempa\@firstofone]% {% scrextend.\scr@pkgextension }{cleardoublepage}% \KOMA@kav@removekey{% scrextend.\scr@pkgextension }{cleardoublepage}% \KOMA@kav@xadd{% scrextend.\scr@pkgextension }{cleardoublepage}{\@tempa}% } \newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage} \newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage} \newcommand*{\cleardoublepageusingstyle}[1]{\clearpage {\pagestyle{#1}\cleardoublestandardpage}} \newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} \newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} %%% From File: $Id: scrkernel-floats.dtx 4054 2023-05-10 14:35:36Z kohm $ %%% (run: option) %%% 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 \PackageWarning{scrextend}{% 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{% scrextend.\scr@pkgextension }{footnotes}{multiple}% }{% \Ifstr{#1}{nomultiple}{% \let\@footnotemark\scr@saved@footnotemark \let\FN@mf@prepare\relax \let\scr@footmisc@options\@empty \FamilyKeyStateProcessed \KOMA@kav@replacevalue{% scrextend.\scr@pkgextension }{footnotes}{nomultiple}% }{% \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% }% } \AtBeginDocument{% \ifx\@footnotemark\scr@saved@footnotemark \KOMA@kav@removekey{% scrextend.\scr@pkgextension }{footnotes}% \KOMA@kav@add{% scrextend.\scr@pkgextension }{footnotes}{nomultiple}% \else\ifx\@footnotemark\scr@footnotemark \KOMA@kav@removekey{% scrextend.\scr@pkgextension }{footnotes}% \KOMA@kav@add{% scrextend.\scr@pkgextension }{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-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) %%% From File: $Id: scrkernel-miscellaneous.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: execoption) \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}{% \PackageWarningNoLine{scrextend}{% 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}{}{% \PackageWarningNoLine{scrextend}{% 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{% scrextend.\scr@pkgextension }{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@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 }{% \PackageWarning{scrextend}{% \string\changefontsizes\space already defined.\MessageBreak I hope, the definition is compatible,\MessageBreak because I do not change it% }% } %%% From File: $Id: scrkernel-title.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \scr@ext@addto@activateable{title}{% \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 \parskip\z@ \parindent\z@ \parfillskip\z@\@plus 1fil \thispagestyle{empty}% \let\footnote\thanks \setcounter{footnote}{0}% } \newcommand*{\next@tdpage}{% \next@tpage\if@twoside \ifodd\value{page}\else\null\next@tpage\fi\fi } \let\maketitle\relax\let\@maketitle\relax \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 \parskip\z@ \parindent\z@ \parfillskip\z@\@plus 1fil \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 \PackageWarning{scrextend}% {% non empty \string\uppertitleback\space ignored by \string\maketitle\MessageBreak in `twoside=false' mode% }% \fi \ifx\@lowertitleback\@empty\else \PackageWarning{scrextend}% {% 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 \PackageWarning{scrextend}% {% Optional argument of \string\maketitle\space ignored\MessageBreak in `titlepage=false' mode% }% \fi \ifx\@uppertitleback\@empty\else \PackageWarning{scrextend}% {% non empty \string\uppertitleback\space ignored by \string\maketitle\MessageBreak in `titlepage=false' mode% }% \fi \ifx\@lowertitleback\@empty\else \PackageWarning{scrextend}% {% 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@ \parskip\z@ \parindent\z@ \parfillskip\z@\@plus 1fil \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} \scr@ifundefinedorrelax{titlepage}{% \newenvironment{titlepage}{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi \thispagestyle{empty}% \if@compatibility \setcounter{page}{0}\fi }{% \if@restonecol\twocolumn \else \newpage \fi }% }{}% }\csname scr@ext@immediate@title\endcsname \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}% %%% From File: $Id: scrkernel-sections.dtx 4069 2023-06-29 08:55:54Z kohm $ %%% (run: body) \newcommand*{\scr@fnt@disposition}{\sectfont} \aliaskomafont{sectioning}{disposition} %%% From File: $Id: scrkernel-miscellaneous.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \scr@ifundefinedorrelax{if@restonecol}{% \expandafter\newif\csname if@restonecol\endcsname \@restonecolfalse }{} \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} \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 \PackageWarning{scrextend}{% 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}{% \PackageWarning{scrextend}{% 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} %%% From File: $Id: scrkernel-pagestyles.dtx 4058 2023-06-16 08:32:27Z kohm $ %%% (run: body) %%% From File: $Id: scrkernel-floats.dtx 4054 2023-05-10 14:35:36Z kohm $ %%% (run: body) %%% From File: $Id: scrkernel-footnotes.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \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 \PackageInfo{scrextend}{% 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} \providecommand*{\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 } \providecommand*{\multfootsep}{,} \providecommand*{\multiplefootnotemarker}{3sp} \providecommand*{\thefootnotemark}{\@thefnmark} \def\reserved@a{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} \ifx\reserved@a\@makefnmark \deffootnotemark{\textsuperscript{\thefootnotemark}} \else \IfFileExists{etoolbox.\@pkgextension}{% \PackageInfo{scrextend}{% unexpected definition of `\string\@makefnmark'.\MessageBreak Trying to patch it% }% \RequirePackage{etoolbox}% \patchcmd{\@makefnmark}{\@thefnmark}{\thefootnotemark}{% \PackageInfo{scrextend}{patch seems to be successfull}% }{% \PackageWarning{scrextend}{% patching `\string\@makefnmark' failed.\MessageBreak Using hard coded redefinition% }% \deffootnotemark{\textsuperscript{\thefootnotemark}}% }% }{% \PackageWarning{scrextend}{% unexpected definition of `\string\@makefnmark'.\MessageBreak Using hard coded redefintion% }% \deffootnotemark{\textsuperscript{\thefootnotemark}}% }% \fi \providecommand*{\footref}[1]{% \begingroup \unrestored@protected@xdef\@thefnmark{\ref{#1}}% \endgroup \@footnotemark } %%% From File: $Id: scrkernel-listsandtabulars.dtx 4032 2023-04-17 09:45:11Z kohm $ %%% (run: body) \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{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 \PackageWarning{scrextend}{% 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 } \newkomafont{labelinglabel}{} \newkomafont{labelingseparator}{} %%% From File: $Id: scrlogo.dtx 4032 2023-04-17 09:45:11Z kohm $ \RequirePackage{scrlogo} \endinput %% %% End of file `scrextend.sty'.