%% %% This is file `standardsections.hak', %% generated with the docstrip utility. %% %% The original source files were: %% %% scrhack-2023-07-07.dtx (with options: `hack,standardsections,identify') %% scrhack-2023-07-07.dtx (with options: `hack,standardsections,body') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from standardsections.hak. %% %% For distribution of the original source see the terms %% for copying and modification in the file scrhack-2023-07-07.dtx scrhack-2023-07-07.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \ProvidesFile{standardsections.hak}[% 2024-04-17 v3.42 scrhack part (defining standard LaTeX class section headings)% ] \PackageWarningNoLine{scrhack}{% You are loosing every kind of support because of\MessageBreak using the dangerous standard classes sections hack!\MessageBreak This hack can break several classes and packages.\MessageBreak However, sometimes it is needed to make a\MessageBreak package work% }% \PackageInfo{scrhack}{% Using code from the standard LaTeX classes.\MessageBreak For more information about this code and the\MessageBreak license of this code, please see:\MessageBreak https://ctan.org/tex-archive/macros/latex/base/classes.dtx }% \@ifpackageloaded{hyperref}{% \PackageWarning{scrhack}{this hack should not be loaded after `hyperref'}% }{} \@ifpackageloaded{titlesec}{% \PackageWarning{scrhack}{this hack should not be loaded after `titlesec'}% }{} \@ifpackageloaded{sectsty}{% \PackageWarning{scrhack}{this hack should not be loaded after `sectsty'}% }{} \scr@ifundefinedorrelax{chapter}{% \scr@ifundefinedorrelax{c@part}{\newcounter{part}}{}% \scr@ifundefinedorrelax{c@section}{\newcounter{section}}{}% \scr@ifundefinedorrelax{c@subsection}{\newcounter{subsection}[section]}{}% \scr@ifundefinedorrelax{c@subsubsection}{% \newcounter{subsubsection}[subsection]}{}% \scr@ifundefinedorrelax{c@paragraph}{% \newcounter{paragraph}[subsubsection]}{}% \scr@ifundefinedorrelax{c@subparagraph}{% \newcounter{subparagraph}[paragraph]}{}% \renewcommand\thepart {\@Roman\c@part}% \renewcommand\thesection {\@arabic\c@section}% \renewcommand\thesubsection {\thesection.\@arabic\c@subsection}% \renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection}% \renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph}% \renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}% \def\part{% \if@noskipsec \leavevmode \fi \par \addvspace{4ex}% \@afterindentfalse \secdef\@part\@spart}% \def\@part[#1]#2{% \ifnum \c@secnumdepth >\m@ne \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% \else \addcontentsline{toc}{part}{#1}% \fi {\parindent \z@ \raggedright \interlinepenalty \@M \normalfont \ifnum \c@secnumdepth >\m@ne \Large\bfseries \partname\nobreakspace\thepart \par\nobreak \fi \huge \bfseries #2% \markboth{}{}\par}% \nobreak \vskip 3ex \@afterheading}% \def\@spart#1{% {\parindent \z@ \raggedright \interlinepenalty \@M \normalfont \huge \bfseries #1\par}% \nobreak \vskip 3ex \@afterheading}% \def\section{\@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\Large\bfseries}}% \def\subsection{\@startsection{subsection}{2}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\large\bfseries}}% \def\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\normalsize\bfseries}}% \def\paragraph{\@startsection{paragraph}{4}{\z@}% {3.25ex \@plus1ex \@minus.2ex}% {-1em}% {\normalfont\normalsize\bfseries}}% \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}}% }{% \scr@ifundefinedorrelax{c@part}{\newcounter{part}}{}% \scr@ifundefinedorrelax{c@chapter}{\newcounter{chapter}}{}% \scr@ifundefinedorrelax{c@section}{\newcounter{section}[chapter]}{}% \scr@ifundefinedorrelax{c@subsection}{\newcounter{subsection}[section]}{}% \scr@ifundefinedorrelax{c@subsubsection}{% \newcounter{subsubsection}[subsection]}{}% \scr@ifundefinedorrelax{c@paragraph}{% \newcounter{paragraph}[subsubsection]}{}% \scr@ifundefinedorrelax{c@subparagraph}{% \newcounter{subparagraph}[paragraph]}{}% \def\@chapapp{\chaptername}% \scr@ifundefinedorrelax{frontmatter}{% \def\part{% \if@openright \cleardoublepage \else \clearpage \fi \thispagestyle{plain}% \if@twocolumn \onecolumn \@tempswatrue \else \@tempswafalse \fi \null\vfil \secdef\@part\@spart} \def\@part[#1]#2{% \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% \else \addcontentsline{toc}{part}{#1}% \fi \markboth{}{}% {\centering \interlinepenalty \@M \normalfont \ifnum \c@secnumdepth >-2\relax \huge\bfseries \partname\nobreakspace\thepart \par \vskip 20\p@ \fi \Huge \bfseries #2\par}% \@endpart} \def\@spart#1{% {\centering \interlinepenalty \@M \normalfont \Huge \bfseries #1\par}% \@endpart} \def\@endpart{\vfil\newpage \if@twoside \if@openright \null \thispagestyle{empty}% \newpage \fi \fi \if@tempswa \twocolumn \fi} \def\chapter{\if@openright\cleardoublepage\else\clearpage\fi \thispagestyle{plain}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter} \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter}% \typeout{\@chapapp\space\thechapter.}% \addcontentsline{toc}{chapter}% {\protect\numberline{\thechapter}#1}% \else \addcontentsline{toc}{chapter}{#1}% \fi \chaptermark{#1}% \addtocontents{lof}{\protect\addvspace{10\p@}}% \addtocontents{lot}{\protect\addvspace{10\p@}}% \if@twocolumn \@topnewpage[\@makechapterhead{#2}]% \else \@makechapterhead{#2}% \@afterheading \fi} \def\@makechapterhead#1{% \vspace*{50\p@}% {\parindent \z@ \raggedright \normalfont \ifnum \c@secnumdepth >\m@ne \huge\bfseries \@chapapp\space \thechapter \par\nobreak \vskip 20\p@ \fi \interlinepenalty\@M \Huge \bfseries #1\par\nobreak \vskip 40\p@ }} \def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% \else \@makeschapterhead{#1}% \@afterheading \fi} \def\@makeschapterhead#1{% \vspace*{50\p@}% {\parindent \z@ \raggedright \normalfont \interlinepenalty\@M \Huge \bfseries #1\par\nobreak \vskip 40\p@ }} \def\section{\@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\Large\bfseries}}% \def\subsection{\@startsection{subsection}{2}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\large\bfseries}}% \def\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\normalsize\bfseries}}% \def\paragraph{\@startsection{paragraph}{4}{\z@}% {3.25ex \@plus1ex \@minus.2ex}% {-1em}% {\normalfont\normalsize\bfseries}}% \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}}% }{% \scr@ifundefinedorrelax{if@mainmatter}{% \expandafter\newif\csname if@mainmatter\endcsname }{}% \def\frontmatter{% \cleardoublepage \@mainmatterfalse \pagenumbering{roman}}% \def\mainmatter{% \cleardoublepage \@mainmattertrue \pagenumbering{arabic}}% \def\backmatter{% \if@openright \cleardoublepage \else \clearpage \fi \@mainmatterfalse}% \def\part{% \if@openright \cleardoublepage \else \clearpage \fi \thispagestyle{plain}% \if@twocolumn \onecolumn \@tempswatrue \else \@tempswafalse \fi \null\vfil \secdef\@part\@spart}% \def\@part[#1]#2{% \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% \else \addcontentsline{toc}{part}{#1}% \fi \markboth{}{}% {\centering \interlinepenalty \@M \normalfont \ifnum \c@secnumdepth >-2\relax \huge\bfseries \partname\nobreakspace\thepart \par \vskip 20\p@ \fi \Huge \bfseries #2\par}% \@endpart}% \def\@spart#1{% {\centering \interlinepenalty \@M \normalfont \Huge \bfseries #1\par}% \@endpart}% \def\@endpart{\vfil\newpage \if@twoside \if@openright \null \thispagestyle{empty}% \newpage \fi \fi \if@tempswa \twocolumn \fi}% \def\chapter{\if@openright\cleardoublepage\else\clearpage\fi \thispagestyle{plain}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter}% \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne \if@mainmatter \refstepcounter{chapter}% \typeout{\@chapapp\space\thechapter.}% \addcontentsline{toc}{chapter}% {\protect\numberline{\thechapter}#1}% \else \addcontentsline{toc}{chapter}{#1}% \fi \else \addcontentsline{toc}{chapter}{#1}% \fi \chaptermark{#1}% \addtocontents{lof}{\protect\addvspace{10\p@}}% \addtocontents{lot}{\protect\addvspace{10\p@}}% \if@twocolumn \@topnewpage[\@makechapterhead{#2}]% \else \@makechapterhead{#2}% \@afterheading \fi}% \def\@makechapterhead#1{% \vspace*{50\p@}% {\parindent \z@ \raggedright \normalfont \ifnum \c@secnumdepth >\m@ne \if@mainmatter \huge\bfseries \@chapapp\space \thechapter \par\nobreak \vskip 20\p@ \fi \fi \interlinepenalty\@M \Huge \bfseries #1\par\nobreak \vskip 40\p@ }}% \def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% \else \@makeschapterhead{#1}% \@afterheading \fi}% \def\@makeschapterhead#1{% \vspace*{50\p@}% {\parindent \z@ \raggedright \normalfont \interlinepenalty\@M \Huge \bfseries #1\par\nobreak \vskip 40\p@ }}% \def\section{\@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\Large\bfseries}}% \def\subsection{\@startsection{subsection}{2}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\large\bfseries}}% \def\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\normalsize\bfseries}}% \def\paragraph{\@startsection{paragraph}{4}{\z@}% {3.25ex \@plus1ex \@minus.2ex}% {-1em}% {\normalfont\normalsize\bfseries}}% \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}}% }% }% End of the derived code. \scr@ifundefinedorrelax{scr@saved@startsection}{}{% \ifx\@startsection\scr@saved@startsection\else \PackageWarningNoLine{scrhack}{% Resetting \string\@startsection,\MessageBreak because of loading standard classes sections hack% }% \let\@startsection\scr@saved@startsection \fi } \scr@ifundefinedorrelax{scr@latex@sect}{}{% \ifx\@sect\scr@latex@sect\else \PackageWarningNoLine{scrhack}{% Resetting \string\@sect,\MessageBreak because of loading standard classes sections hack% }% \let\@sect\scr@latex@sect \fi } \scr@ifundefinedorrelax{scr@latex@ssect}{}{% \ifx\@ssect\scr@latex@ssect\else \PackageWarningNoLine{scrhack}{% Resetting \string\@ssect,\MessageBreak because of loading standard classes sections hack% }% \let\@ssect\scr@latex@ssect \fi } \scr@ifundefinedorrelax{scr@latex@xsect}{}{% \ifx\@xsect\scr@latex@xsect\else \PackageWarningNoLine{scrhack}{% Resetting \string\@xsect,\MessageBreak because of loading standard classes sections hack% }% \let\@xsect\scr@latex@xsect \fi } \scr@ifundefinedorrelax{DeclareSectionCommand}{}{% \PackageWarningNoLine{scrhack}{% \string\DeclareSectionCommand\space and all derivates deactivated,\MessageBreak because of loading standard classes sections hack% }% \let\DeclareSectionCommand\undefined \let\DeclareSectionCommands\undefined \let\RedeclareSectionCommand\undefined \let\RedeclareSectionCommands\undefined \let\DeclareNewSectionCommand\undefined \let\DeclareNewSectionCommands\undefined \let\ProvideSectionCommand\undefined \let\ProvideSectionCommands\undefined } \let\scr@chapter@before@hyperref@patch\relax \let\scr@chapter@after@hyperref@patch\relax \scr@ifundefinedorrelax{scr@osectarg}{}{% \def\reserved@a{0}% \ifx\scr@osectarg\reserved@a\else \let\scr@osectarg\reserved@a \PackageWarningNoLine{scrhack}{% Extended option handling for section commands deactivated,\MessageBreak because of loading standard classes sections hack% }% \fi }% \scr@ifundefinedorrelax{scr@activate@xsection}{}{% \renewcommand*{\scr@activate@xsection}[1]{% \edef\scr@osectarg{#1}\def\reserved@a{0}% \ifx\scr@osectarg\reserved@a \else \let\scr@osectarg\reserved@a \PackageWarning{scrhack}{% Because of loading the standard classes\MessageBreak sections hack, the extended option handling\MessageBreak of section commands failed% }% \fi }% } \scr@ifundefinedorrelax{partformat}{}{% \PackageWarningNoLine{scrhack}{% Usage of \string\partformat\space deactivated,\MessageBreak because of loading the standard classes sections hack% }% } \scr@ifundefinedorrelax{chapterformat}{}{% \PackageWarningNoLine{scrhack}{% Usage of \string\chapterformat\space deactivated,\MessageBreak because of loading the standard classes sections hack% }% } \scr@ifundefinedorrelax{sectionformat}{}{% \PackageWarningNoLine{scrhack}{% \string\sectionformat\space set to `\string\thesection\string\quad',\MessageBreak because of loading the standard classes sections hack% }% \renewcommand*{\sectionformat}{\thesection\quad}% } \scr@ifundefinedorrelax{subsectionformat}{}{% \PackageWarningNoLine{scrhack}{% \string\subsectionformat\space set to `\string\thesubsection\string\quad'\MessageBreak because of loading the standard classes sections hack% }% \renewcommand*{\subsectionformat}{\thesubsection\quad}% } \scr@ifundefinedorrelax{subsubsectionformat}{}{% \PackageWarningNoLine{scrhack}{% \string\subsubsectionformat\space set to `\string\thesubsubsection\string\quad'\MessageBreak because of loading the standard classes sections hack% }% \renewcommand*{\subsubsectionformat}{\thesubsubsection\quad}% } \scr@ifundefinedorrelax{paragraphformat}{}{% \PackageWarningNoLine{scrhack}{% \string\paragraphformat\space set to `\string\theparagraph\string\quad'\MessageBreak because of loading the standard classes sections hack% }% \renewcommand*{\paragraphformat}{\theparagraph\quad}% } \scr@ifundefinedorrelax{subparagraphformat}{}{% \PackageWarningNoLine{scrhack}{% \string\subparagraphformat\space set to `\string\thesubparagraph\string\quad'\MessageBreak because of loading the standard classes sections hack% }% \renewcommand*{\subparagraphformat}{\thesubparagraph\quad}% } \scr@ifundefinedorrelax{partlineswithprefixformat}{}{% \PackageWarningNoLine{scrhack}{% Usage of \string\partlineswithprefixformat\space deactivated,\MessageBreak because of loading the standard classes sections hack% }% } \scr@ifundefinedorrelax{chapterlineswithprefixformat}{}{% \PackageWarningNoLine{scrhack}{% Usage of \string\chapterlineswithprefixformat\space and\MessageBreak \string\chapterlinesformat\space deactivated,\MessageBreak because of using standard classes sections hack% }% } \scr@ifundefinedorrelax{sectionlinesformat}{}{% \PackageWarningNoLine{scrhack}{% Usage of \string\sectionlinesformat\space and\MessageBreak \string\sectioncatchphraseformat\space deactivated,\MessageBreak because of using standard classes sections hack% }% } \scr@ifundefinedorrelax{KOMAClassName}{}{% \PackageWarningNoLine{scrhack}{% KOMA-Script option `headings' removed,\MessageBreak because of loading standard classes sections hack% }% \RelaxFamilyKey[.\KOMAClassFileName]{KOMA}{headings}% \KOMA@kav@removekey{\KOMAClassFileName}{headings}% } \def\scr@class@titlesec@warning{% \PackageWarning{scrhack}{% Usage of `titlesec' should work, because of\MessageBreak loading the standard classes sections hack.\MessageBreak However, you should know, there is not any\MessageBreak support for this combination by the\MessageBreak KOMA-Script author% }% } \endinput %% %% End of file `standardsections.hak'.