% \iffalse meta-comment
% ======================================================================
% scrkernel-footnotes.dtx
% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
% This work may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, version 1.3c of the license.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX 
% version 2005/12/01 or later and of this work.
%
% This work has the LPPL maintenance status "author-maintained".
%
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-footnotes.dtx
% Copyright (c) Markus Kohm, 2002-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
% Die neuste Version dieser Lizenz ist
%   http://www.latex-project.org/lppl.txt
% und Version 1.3c ist Teil aller Verteilungen von LaTeX
% Version 2005/12/01 oder spaeter und dieses Werks.
%
% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
% (allein durch den Autor verwaltet).
%
% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
% 
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
% \fi
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
% \iffalse
%%% From File: $Id: scrkernel-footnotes.dtx 3570 2021-02-24 10:08:31Z kohm $
%<option>%%%            (run: option)
%<body>%%%            (run: body)
%<*dtx>
% \fi
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
  \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
  \filedate$Date: 2021-02-24 11:08:31 +0100 (Wed, 24 Feb 2021) $
  \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
  \filerevision$Revision: 1962 $
  \edef\reserved@a{%
    \noexpand\endgroup
    \noexpand\ProvidesFile{scrkernel-footnotes.dtx}%
                          [\filedate\space\filerevision\space
                           KOMA-Script source
                           (footnotes)]
  }%
\reserved@a
% \iffalse
\documentclass[parskip=half-]{scrdoc}
\usepackage[english,ngerman]{babel}
\CodelineIndex
\RecordChanges
\GetFileInfo{scrkernel-footnotes.dtx}
\title{\KOMAScript{} \partname\ \texttt{\filename}%
  \footnote{Dies ist Version \fileversion\ von Datei
    \texttt{\filename}.}}
\date{\filedate}
\author{Markus Kohm}

\begin{document}
  \maketitle
  \tableofcontents
  \DocInput{\filename}
\end{document}
%</dtx>
% \fi
%
% \selectlanguage{ngerman}
%
% \changes{v2.95}{2002/07/01}{%
%   erste Version aus der Aufteilung von \texttt{scrclass.dtx}}
%
% \section{Fußnoten}
%
% Die Fußnotengestaltung in \KOMAScript{} basiert auf einem Hinweis
% aus dem dokumentierten \LaTeX-Kern.
%
% \StopEventually{\PrintIndex\PrintChanges}
%
% \iffalse
%<*option>
% \fi
%
% \subsection{Option}
%
% \begin{option}{footnotes}
% \changes{v2.98c}{2008/02/01}{Neue Option für Mehrfachfußnoten}%^^A
% \changes{v3.10}{2011/09/13}{\cs{let} durch \cs{def} ersetzt, damit die
%     Option auch als Klassenoption funktioniert}%^^A
% \changes{v3.12}{2013/03/05}{Status-Signalisierung mit
%     \cs{FamilyKeyStateProcessed}}%^^A
% \changes{v3.17}{2015/03/11}{interne Wert-Speicherung}%^^A
% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
% Mehrfachfußnoten gibt es dann, wenn zu einer Textstelle mehrere Fußnoten
% hintereinander gesetzt werden. Normalerweise werden die einfach ohne
% Abstand hintereinander geklatscht. Man kann dann aber die beiden Fußnoten
% 1 und 2 beispielsweise nicht von der Fußnote 12 unterscheiden. Besser ist
% es, wenn mehrere Fußnoten automatisch durch ein Trennzeichen getrennt
% werden. Die Funktion ist \textsf{footmisc} entnommen und sollte inklusive
% Ein- und Ausschalten auch zusammen mit diesem Paket funktionieren.
%    \begin{macrocode}
\KOMA@key{footnotes}{%
  \ifx\@footnotemark\scr@saved@footnotemark
  \else
    \ifx\@footnotemark\scr@footnotemark
    \else
%<class>      \ClassWarning{\KOMAClassName}{%
%<package>      \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{.%
%<class>      \KOMAClassFileName
%<package&extend>      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{.%
%<class>      \KOMAClassFileName
%<package&extend>      scrextend.\scr@pkgextension
      }{footnotes}{nomultiple}%
    }{%
      \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}%
    }%
  }%
}
\AtBeginDocument{%
  \ifx\@footnotemark\scr@saved@footnotemark
    \KOMA@kav@removekey{.%
%<class>      \KOMAClassFileName
%<package&extend>      scrextend.\scr@pkgextension
    }{footnotes}%
    \KOMA@kav@add{.%
%<class>    \KOMAClassFileName
%<package&extend>    scrextend.\scr@pkgextension
    }{footnotes}{nomultiple}%
  \else\ifx\@footnotemark\scr@footnotemark
    \KOMA@kav@removekey{.%
%<class>      \KOMAClassFileName
%<package&extend>      scrextend.\scr@pkgextension
    }{footnotes}%
    \KOMA@kav@add{.%
%<class>      \KOMAClassFileName
%<package&extend>      scrextend.\scr@pkgextension
    }{footnotes}{multiple}%
  \fi\fi
}
%    \end{macrocode}
% \begin{macro}{\scr@footmisc@options}
% \changes{v2.98c}{2008/02/14}{Neuer (intern)}%^^A
% Für etwas mehr Kompatibilität mit \textsf{footmisc}, wird die aktuelle
% Einstellung der \texttt{multifootnotes} an das Paket weitergereicht.
%    \begin{macrocode}
\newcommand*{\scr@footmisc@options}{}
\PassOptionsToPackage{\noexpand\scr@footmisc@options}{footmisc}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\scr@saved@footnotemark}
% \changes{v2.98c}{2008/02/01}{Neu (intern)}%^^A
% \begin{macro}{\scr@footnotemark}
% \changes{v2.98c}{2008/02/01}{Neu (intern)}%^^A
%    \begin{macrocode}
\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}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{option}
%
%
% \iffalse
%</option>
%<*body>
% \fi
%
% \subsection{Definitionen für Fußnoten}
%
% \begin{macro}{\footnoterule}
% \changes{v2.3a}{1995/07/08}{\cs{@width} verwendet}
% \changes{v2.8q}{2002/02/06}{\cs{raggedbottom}-Verbesserung
%     eingefügt}
% \changes{v2.95}{2002/01/07}{\texttt{.05fil} statt
%     \texttt{.005fil}}
% \changes{v3.06}{2010/04/03}{die neuen Längenmakros werden genutzt}%^^A
% \changes{v3.07}{2010/09/14}{neues Font-Element \texttt{footnoterule} wird
%     verwendet}
% Im Fall, dass \cs{raggedbottom} verwendet wird, die Fußnotenlinie
% nach unten gedrückt. Dies funktioniert nur dann nicht, wenn
% Abbildungen oder Tabellen mit der Option "`\texttt{b}"' an das Ende
% der Seite gesetzt werden. \cs{raggedbottom} wird daran erkannt, dass
% \cs{@textbottom} nicht \cs{relax} ist. Das kann natürlich auch
% einmal schief gehen, ist dann aber auch nicht ganz so tragisch.
%    \begin{macrocode}
%<*class>
\renewcommand*\footnoterule{%
  \normalsize\ftn@rule@test@values
  \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax
  \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi
  {\usekomafont{footnoterule}{%
      \hrule \@height\ftn@rule@height \@width\ftn@rule@width}}%
  \kern 2.6\p@}
%    \end{macrocode}
% \begin{macro}{\ftn@rule@test@values}
% \changes{v3.06}{2010/04/03}{neu (intern)}%^^A
% \changes{v3.19}{2015/08/24}{nicht in \textsf{scrextend}}%^^A
% Test, ob die Einstellungen für die Längen der Fußnotenlinie halbwegs
% vernünftig sind.
%    \begin{macrocode}
\newcommand*{\ftn@rule@test@values}{%
  \ifdim\ftn@rule@height <\z@
    \ClassWarning{\KOMAClassName}{%
      You might get into trouble, because the\MessageBreak
      height of the footnote rule has a value\MessageBreak
      less than 0%
    }%
  \else
    \ifdim\ftn@rule@height >\dimexpr\skip\footins -2.6\p@\relax
      \ClassWarning{\KOMAClassName}{%
        You might get into trouble, because the\MessageBreak
        height of the footnote rule has a value\MessageBreak
        greater than \the\dimexpr\skip\footins -2.6\p@\relax
      }%
    \fi
  \fi
  \ifdim\ftn@rule@width <\z@
    \ClassWarning{\KOMAClassName}{%
      You might get into trouble, because the width\MessageBreak
      or length of the footnote rule has a value\MessageBreak
      less than 0pt%
    }%
  \else
    \ifdim\ftn@rule@width >\columnwidth
      \ClassWarning{\KOMAClassName}{%
        You might get into trouble, because the width\MessageBreak
        or length of the footnote rule has a value\MessageBreak
        greater than \string\columnwidth
      }%
    \fi
  \fi
}
%    \end{macrocode}
% \end{macro}
% \begin{KOMAfont}{footnoterule}
% \changes{v3.07}{2010/09/14}{\texttt{footnoterule} ist ein eneues
%     Fontelement}
% \changes{v3.19}{2015/08/24}{nicht in \textsf{scrextend}}%^^A
% Damit man die Farbe der Fußnotentrennlinie ändern kann, gibt es nun ein
% eigenes Element dafür. Die Voreinstellung ist jedoch leer.
%    \begin{macrocode}
\newkomafont{footnoterule}{}
%    \end{macrocode}
% \end{KOMAfont}
% \begin{macro}{\ftn@rule@width}
% \changes{v3.06}{2010/04/03}{neu (intern)}%^^A
% \changes{v3.19}{2015/08/24}{nicht in \textsf{scrextend}}%^^A
% Die Länge der Fußnotentrennlinie.
%    \begin{macrocode}
\newcommand*{\ftn@rule@width}{.4\columnwidth}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\ftn@rule@height}
% \changes{v3.06}{2010/04/03}{neu (intern)}%^^A
% \changes{v3.19}{2015/08/24}{nicht in \textsf{scrextend}}%^^A
% Die Höhe der Fußnotentrennlinie (die Tiefe ist immer 0).
%    \begin{macrocode}
\newcommand*{\ftn@rule@height}{.4\p@}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\setfootnoterule}
% \changes{v3.06}{2010/04/03}{neue Anweisung}%^^A
% \changes{v3.19}{2015/08/24}{nicht in \textsf{scrextend}}%^^A
% \changes{v3.28}{2019/11/18}{\cs{ifstr} ersetzt durch \cs{IfArgIsEmpty}}%^^A
% Das erste, optionale Argument ist die Höhe der Linie, das zweite nicht
% optionale die Länge.
%    \begin{macrocode}
\newcommand*{\setfootnoterule}[2][]{%
  \IfArgIsEmpty{#1}{}{%
    \renewcommand*{\ftn@rule@height}{#1}%
  }%
  \IfArgIsEmpty{#2}{}{%
    \renewcommand*{\ftn@rule@width}{#2}%
  }%
  \ftn@rule@test@values
}
%</class>
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{Counter}{footnote}
% Der Fußnotenzähler wird mit \cs{chapter} zurückgesetzt, die Fußnoten
% werden also kapitelweise nummeriert.
%    \begin{macrocode}
%<book|report>\@addtoreset{footnote}{chapter}
%    \end{macrocode}
% \end{Counter}
%
% \begin{macro}{\deffootnote}
% \changes{v2.4l}{1997/02/06}{neu}%^^A
% \changes{v2.95}{2002/07/09}{Absatzeinzug korrigiert}%^^A
% \changes{v2.9l}{2003/01/28}{\cs{edef}\cs{@tempa} ersetzt}
% \changes{v2.9q}{2004/01/31}{\cs{ftn@font} erlaubt aus Gr"unden der
%      Kompatibilität mit dem \textsl{footnote} Paket kein Argument mehr}%^^A
% \changes{v3.22}{2017/01/03}{Neuimplementierung}%^^A
% \changes{v3.23}{2017/03/27}{neues \cs{raggedfootnote} eingefügt}%^^A
% Dieses Makro zur Definition der Gestalt von Fußnoten erlaubt einen
% optionalen und erwartet drei weitere Parameter. Der erste, optionale
% gibt den Einzug der ersten Zeile des Fußnotentextes vom linken Rand
% an. Die Fußnotenmarkierungen werden rechtsbündig in diesen Einzug
% gesetzt. Der zweite, also erste nicht optionale Parameter gibt den
% Einzug jeder weiteren Zeile des Fußnotentextes vom linken Rand
% an. Fehlt der optionale Parameter so ist er gleich diesem. Der
% dritte, also zweite nicht optionale Parameter gibt den zusätzlichen
% Einzug jedes weiteren Absatzes einer Fußnote an. Der letzte
% Parameter schließlich bestimmt die Ausgabe der Fußnotenmarkierung in
% der Fußnote. Diese wird zusätzlich in eine \cs{hbox} gesetzt.
%    \begin{macrocode}
\newcommand\deffootnote[4][]{%
  \expandafter\ifnum\scr@v@is@ge{3.22}\relax
    \long\def\@makefntext##1{%
      \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%
    }%
  \else
%<class>    \ClassInfo{\KOMAClassName}{%
%<package>    \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
%    \end{macrocode}
% \begin{macro}{\@@makefnmark}
% \changes{v2.4l}{1997/02/06}{neu}%^^A
% Makro zum Setzen der Fußnotenmarkierung in der Fußnote:
%    \begin{macrocode}
  \def\@@makefnmark{\hbox{\ftnm@font{#4}}}%
%    \end{macrocode}
% \end{macro}
%    \begin{macrocode}
}
%    \end{macrocode}
% \end{macro}%^^A \@@makefnmark
%
% \begin{macro}{\raggedfootnote}
% \changes{v3.23}{2017/03/27}{neue Anweisung}
% Auf Wunsch von Falk kann man die Ausrichtrung des Fußnotentextes damit
% beeinflussen. Die Voreinstellung ist leer also keine Änderung der
% Ausrichtung.
%    \begin{macrocode}
\newcommand*{\raggedfootnote}{}
%    \end{macrocode}
% \end{macro}%^^A \raggedfootnote
%
% \begin{macro}{\ftn@font}
% \changes{v2.8q}{2001/11/16}{neu (intern)}%^^A
% \begin{macro}{\scr@fnt@footnote}
% \changes{v2.8q}{2001/11/16}{neues Element \texttt{footnote}}
% \begin{macro}{\ftnm@font}
% \changes{v2.8q}{2001/11/16}{neu (intern)}%^^A
% \begin{macro}{\scr@fnt@footnotenumber}
% \changes{v2.8q}{2001/11/16}{neues Element
%      \texttt{footnotenumber}}
% \begin{macro}{\scr@fnt@footnotenlabel}
% \changes{v2.8q}{2001/11/16}{neues Element \texttt{footnotelabel}}
% \begin{macro}{\scr@fnt@instead@footnotetext}
% \changes{v2.8q}{2001/11/16}{neuer Ersatz für Element
%    \texttt{footnotetext}}
% Das erste Element gibt die Schrift an, in der die Fußnote gesetzt
% wird. Davon abweichend kann mit dem zweiten Element die Schriftart
% für die Fußnotennummer getrennt angegeben werden. Aufgrund der
% Definition kann bei letzteren auch ein Makro verwendet werden, das ein
% Argument erwartet.
%    \begin{macrocode}
\newcommand*{\ftn@font}{\normalfont}
\newcommand*{\scr@fnt@footnote}{\ftn@font}
\newcommand*{\ftnm@font}{}
\newcommand*{\scr@fnt@footnotenumber}{\ftnm@font}
\newcommand*{\scr@fnt@footnotelabel}{\ftnm@font}
\newcommand*{\scr@fnt@instead@footnotetext}{footnote}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\deffootnotemark}
% \changes{v2.4l}{1997/02/06}{neu}%^^A
% Makro zur Definition der Fußnotenmarkierung im Text:
%    \begin{macrocode}
\newcommand*\deffootnotemark[1]{%
  \def\@makefnmark{\hbox{\ftntm@font{#1}}}%
}
%    \end{macrocode}
%
% \begin{macro}{\ftntm@font}
% \changes{v2.8q}{2001/11/16}{neu (intern)}%^^A
% \begin{macro}{\scr@fnt@footnotereference}
% \changes{v2.8q}{2001/11/16}{neues Element
%      \texttt{footnotereference}}
% \begin{macro}{\scr@fnt@footnoteref}
% \changes{v2.8q}{2001/11/16}{neues Element \texttt{footnoteref}}
% Dies ist die Schriftart der Fußnotenreferenz im Text. Auch hier kann
% ggf. ein Makro verwendet werden, das ein Argument erwartet.
%    \begin{macrocode}
\newcommand*{\ftntm@font}{}
\newcommand*{\scr@fnt@footnotereference}{\ftntm@font}
\newcommand*{\scr@fnt@footnoteref}{\ftntm@font}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\FN@mf@check}
% \changes{v2.98c}{2008/02/01}{Neu (intern)}%^^A
% Dafür sorgen, dass hier ggf. der Trenner eingefügt wird.
%    \begin{macrocode}
%<package>\providecommand*{\FN@mf@check}{%
%<class>\newcommand*{\FN@mf@check}{%
  \ifdim\lastkern=\multiplefootnotemarker\relax
    \edef\@x@sf{\the\spacefactor}%
    \unkern\multiplefootnoteseparator
    \spacefactor\@x@sf\relax
  \fi
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\scr@mf@prepare}
% \changes{v2.98c}{2008/02/01}{Neu (intern)}%^^A
% Damit |\FN@mf@check| informiert ist, dass es etwas zu tun hat. 
%    \begin{macrocode}
\newcommand*{\scr@mf@prepare}{%
  \kern-\multiplefootnotemarker
  \kern\multiplefootnotemarker\relax
}
% \end{macro}
% \begin{macro}{\F@mf@prepare}
% \changes{v2.98c}{2008/02/14}{Neu (intern)}%^^A
% \changes{v3.25a}{2018/04/17}{Definition wird explizit vorgenommen}%^^A
% Aus Gründen der Kompatibilität mit \textsf{footmisc} wird das dann
% vorsoglich auch noch definiert (und zwar als \cs{relax}, wenn es bisher noch
% nicht definiert ist).
\@ifundefined{FN@mf@prepare}{\let\FN@mf@prepare\relax}{}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@footnotetext}
% \changes{v3.01a}{2008/11/22}{long}%^^A
% \begin{macro}{\scr@saved@footnotetext}
% \changes{v2.98c}{2008/02/01}{Neu (intern)}%^^A
% \changes{v3.01a}{2008/11/22}{long}%^^A
%   Auch hier muss dafür gesorgt werden, dass die Markierung erfolgt.
%    \begin{macrocode}
\newcommand{\scr@saved@footnotetext}{}
\let\scr@saved@footnotetext\@footnotetext
\renewcommand{\@footnotetext}[1]{%
  \scr@saved@footnotetext{#1}%
  \csname FN@mf@prepare\endcsname
}
%    \end{macrocode}
%
%   Es muss auch dafür gesorgt werden, dass \textsf{footmisc} nicht unnötig
%   mit Warnung um sich wirft.
%    \begin{macrocode}
\BeforePackage{footmisc}{%
  \ifx\@footnotemark\scr@footnotemark
    \let\@footnotemark\scr@saved@footnotemark
  \fi
  \let\@footnotetext\scr@saved@footnotetext
}
%    \end{macrocode}
%
% \changes{v3.10}{2011/09/12}{Workaround für die zerstörerische Wirkung von
%   \textsf{setspace}}%
%   Außerdem zerstört das Paket \textsf{setspace} die Erweiterung von
%   \cs{@footnotetext}. Deshalb schalten wir sie vor dem Paket lieber gleich ab
%   und reaktivieren sie anschließend wieder:
%    \begin{macrocode}
\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
  }%
}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\multiplefootnoteseparator}
% \changes{v2.98c}{2008/02/01}{Neu}%^^A
% Das ist der formatierte Separator!
%    \begin{macrocode}
\newcommand*{\multiplefootnoteseparator}{%
  \begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\multfootsep}
% \changes{v2.98c}{2008/02/01}{Neu}%^^A
% Und hier \textsf{footmisc}-kompatibel unformatiert
%    \begin{macrocode}
%<class>\newcommand*{\multfootsep}{,}
%<package>\providecommand*{\multfootsep}{,}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\multiplefootnotemarker}
% \changes{v2.98c}{2008/02/01}{Neu}%^^A
% \changes{v3.19}{2015/08/24}{im Paket mit \cs{providecommand} definieren}%^^A
% Das Markierungskerning wieder \textsf{footmisc}-kompatibel.
%    \begin{macrocode}
%<class>\newcommand*{\multiplefootnotemarker}{3sp}
%<package>\providecommand*{\multiplefootnotemarker}{3sp}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\thefootnotemark}
% \changes{v2.4l}{1997/02/06}{neu}%^^A
% Makro, damit \cs{@thefnmark} auf Anwenderebene verfügbar wird:
%    \begin{macrocode}
%<class>\newcommand*{\thefootnotemark}{\@thefnmark}
%<package>\providecommand*{\thefootnotemark}{\@thefnmark}
%    \end{macrocode}
% \end{macro}
%
% \changes{v2.4l}{1997/02/06}{Verwendung der neuen Makros zur
%    Fußnotengestaltgebung}%^^A
% \begin{macro}{\@makefnmark}
% \changes{v3.10}{2011/09/27}{\textsf{scrextend} redefines \cs{@makefnmark}
%     to use \cs{thefootnotemark}}%^^A
%    \begin{macrocode}
%<*class>
\deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}}
%</class>
%<*package>
\def\reserved@a{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
\ifx\reserved@a\@makefnmark
%</package>
\deffootnotemark{\textsuperscript{\thefootnotemark}}
%<*package>
\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
%</package>
%    \end{macrocode}
% \end{macro}
%
% \subsection{Fußnotenreferenz}
%
% \begin{macro}{\footref}
% \changes{v2.98c}{2008/02/01}{Neue Anweisung}
% \changes{v3.33}{2021/02/24}{classes use \cs{providecommand} because of
%   \LaTeX{} 2021-05-01}
% Damit man nicht nur zu diesem Zweck das Paket \textsf{footmisc} laden muss,
% kann man jetzt auch mit \KOMAScript{} alleine Fußnoten setzen, die
% Referenzen auf andere Fußnoten sind. Der Code stammt einerseits aus footmisc
% andererseits auf der Usenet-Gruppe comp.text.tex. Wer den zuerst hatte, ist
% für mich nicht mehr reproduzierbar. Jedenfalls steht er in footmisc unter
% LPPL und \KOMAScript{} steht ebenfalls unter LPPL. Das sollte also im
% Zweifelsfall nicht das Problem sein.
%    \begin{macrocode}
\providecommand*{\footref}[1]{%
  \begingroup
    \unrestored@protected@xdef\@thefnmark{\ref{#1}}%
  \endgroup
  \@footnotemark
}
%    \end{macrocode}
% \end{macro}
%
% \iffalse
%</body>
% \fi
%
% \Finale
%
\endinput
%
% end of file `scrkernel-footnotes.dtx'
%%% Local Variables:
%%% mode: doctex
%%% TeX-master: t
%%% End:
