%%
%% 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'.
