summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx539
1 files changed, 239 insertions, 300 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx b/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx
index a13091ba47..4866277af2 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-footnotes.dtx
-% Copyright (c) Markus Kohm, 2002-2021
+% Copyright (c) Markus Kohm, 2002-2022
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -17,54 +17,17 @@
% 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 $
+%%% From File: $Id: scrkernel-footnotes.dtx 3711 2022-02-16 09:57:02Z 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) $
+ \filedate$Date: 2022-02-16 10:57:02 +0100 (Mi, 16. Feb 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 1962 $
+ \filerevision$Revision: 3711 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-footnotes.dtx}%
@@ -73,60 +36,66 @@
(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}
-
+\documentclass[USenglish]{koma-script-source-doc}
+\usepackage{babel}
+\setcounter{StandardModuleDepth}{2}
\begin{document}
- \maketitle
- \tableofcontents
- \DocInput{\filename}
+\DocInput{scrkernel-footnotes.dtx}
\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}
+% \fi^^A meta-comment
+%
+% \changes{v2.95}{2002/07/01}{new by splitting \file{scrclass.dtx}}
+% \changes{v3.36}{2022/02/16}{switch over from \cls*{scrdoc} to
+% \cls*{koma-script-source-doc}}
+% \changes{v3.36}{2022/02/16}{whole implementation documentation in English}
+%
+% \GetFileInfo{scrkernel-footnotes.dtx}
+% \title{Index Code of the
+% \href{https://komascript.de}{\KOMAScript} Classes}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Revision \fileversion{} of \filedate}
+% \maketitle
+% \begin{abstract}
+% The code for footnotes with \KOMAScript{} classes in
+% \file{scrkernel-footnotes.dtx} is somehow different from the code of the
+% standard classes. It provides several options and other configuration
+% possibilities. The initial change bases on a comment in the documented
+% \LaTeX{} kernel, \file{source2e.pdf}. But this was long ago and almost
+% everything has been changed meanwhile.
+% \end{abstract}
+% \tableofcontents
+%
+% \section{User Manual}
+%
+% You can find the user documentation the commands implemented here in the
+% \KOMAScript{} manual, either the German \file{scrguide} or the English
+% \file{scrguien}.
+%
+% \MaybeStop{\PrintIndex}
%
-% \iffalse
-%<*option>
-% \fi
+% \section{Implementation of Footnotes}
%
-% \subsection{Option}
+% \subsection{Options}
%
% \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.
+% \changes{v2.98c}{2008/02/01}{new value \opt{multiple}}
+% \changes{v3.10}{2011/09/13}{\cs{let} replaced by \cs{def} fixes the using as
+% a class option}
+% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyStateProcessed}}
+% \changes{v3.17}{2015/03/11}{internal value storage}
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% Multiple footnotes mean, that there are more than one footnote at the same
+% place in the text. Usually this would result in a sequence of numbers (or
+% other footnote signes) not seperated anyhow. So you would not be able, e.g.,
+% if 12 means footnote number 1 and footnote number 2 or footnote number 12. A
+% better solution is to add automatic separation characters between such
+% footnote marks. The functionality has been made similar and compatible with
+% \pkg{footmisc} version 5.x. So it should be compatible with that
+% package. Even switching on and off should also work in case of using the
+% package.
% \begin{macrocode}
+%<*option>
\KOMA@key{footnotes}{%
\ifx\@footnotemark\scr@saved@footnotemark
\else
@@ -188,18 +157,16 @@
}
% \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.
+% \changes{v2.98c}{2008/02/14}{added}
+% For better compatibility \opt{footnotes=multiple} will be passed as
+% \opt{multiple} to package \pkg{footmisc} using a \KOMAScript-internal macro.
% \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{macro}{\scr@saved@footnotemark,\scr@footnotemark}
+% \changes{v2.98c}{2008/02/01}{added}
% \begin{macrocode}
\newcommand*{\scr@saved@footnotemark}{%
\leavevmode
@@ -216,35 +183,27 @@
\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.
+% \end{macrocode}
+% \end{macro}^^A \scr@saved@footnotemark,\scr@footnotemark
+% \end{option}^^A footnotes
+%
+%
+% \subsection{Commands and macros for footnotes}
+%
+% \begin{command}{\footnoterule}
+% \changes{v2.3a}{1995/07/08}{using \cs{@width}}
+% \changes{v2.8q}{2002/02/06}{\cs{raggedbottom} changed}
+% \changes{v2.95}{2002/01/07}{\texttt{.05fil} instead of \texttt{.005fil}}
+% \changes{v3.06}{2010/04/03}{using new length macros}
+% \changes{v3.07}{2010/09/14}{using new font element \fnt{footnoterule}}
+% \changes{v3.19}{2015/08/24}{not with \pkg*{scrextend}}
+% In case of \cs{raggedbottom} the footnote rule is moved downwards. Note,
+% that this does not work, if there is a bottom placed float. The indication
+% of using \cs{raggedbottom} is, \cs{@textbottom} is not \cs{relax}. This can
+% fail, but nevertheless is an improvement.
% \begin{macrocode}
+%<*body>
%<*class>
\renewcommand*\footnoterule{%
\normalsize\ftn@rule@test@values
@@ -255,10 +214,8 @@
\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.
+% \changes{v3.06}{2010/04/03}{added}
+% Plausibility test for the lengths of the rule.
% \begin{macrocode}
\newcommand*{\ftn@rule@test@values}{%
\ifdim\ftn@rule@height <\z@
@@ -293,39 +250,39 @@
\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.
+% \end{macro}^^A \ftn@rule@test@values
+% \begin{fontelement}{footnoterule}
+% \changes{v3.07}{2010/09/14}{added}
+% \changes{v3.19}{2015/08/24}{not with \pkg*{scrextend}}
+% To be able to change the color of the rule, we are using a font element. The
+% default is empty.
% \begin{macrocode}
\newkomafont{footnoterule}{}
% \end{macrocode}
-% \end{KOMAfont}
+% \end{fontelement}
% \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.
+% \changes{v3.06}{2010/04/03}{added}
+% \changes{v3.19}{2015/08/24}{not with \pkg*{scrextend}}
+% The length of the footnote rule.
% \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).
+% \changes{v3.06}{2010/04/03}{added}
+% \changes{v3.19}{2015/08/24}{not with \pkg*{scrextend}}
+% The height of the footnote rule (depth is always 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{command}{\setfootnoterule}
+% \changes{v3.06}{2010/04/03}{added}
+% \changes{v3.19}{2015/08/24}{not with \pkg*{scrextend}}
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} replaced by \cs{IfArgIsEmpty}}
+% The first optional argument (\texttt{\#1}) it the height of the line. If it
+% is missing, the height is not changed. The first mandatory argument
+% (\texttt{\#2}) is the length of the line.
% \begin{macrocode}
\newcommand*{\setfootnoterule}[2][]{%
\IfArgIsEmpty{#1}{}{%
@@ -338,40 +295,44 @@
}
%</class>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{command}^^A \setfootnoterule
+% \end{command}^^A \footnoterule
%
-% \begin{Counter}{footnote}
-% Der Fußnotenzähler wird mit \cs{chapter} zurückgesetzt, die Fußnoten
-% werden also kapitelweise nummeriert.
+% \begin{counter}{footnote}
+% The footnote counter is reset with every \cs{chapter}. So the numbering is
+% per chapter.
% \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.
+% \end{counter}
+%
+% \begin{command}{\deffootnote}
+% \changes{v2.4l}{1997/02/06}{added}
+% \changes{v2.95}{2002/07/09}{paragraph indent fixed}
+% \changes{v2.9l}{2003/01/28}{\cs{edef}\cs{@tempa} replaced}
+% \changes{v2.9q}{2004/01/31}{\cs{ftn@font} does not support an argument
+% because of compatibility with \pkg{footnote}}
+% \changes{v3.22}{2017/01/03}{completely new implementation}
+% \changes{v3.23}{2017/03/27}{using \cs{raggedfootnote}}
+% \changes{v3.36}{2022/02/16}{hooks added}
+% This command defines the formatting of footnotes. The arguments are:
+% \begin{description}
+% \item[\oarg{first indent}:] the indent of the text of the first line of the
+% footnote,
+% \item[\marg{indent}:] the indent from the second line of the footnote,
+% \item[\marg{paragraph indent}:] the indent of the first line of a paragraph
+% if the footnote has more than one paragraph.
+% \item[\marg{mark code}:] the code of the footnote mark in the footnote (for
+% the mark in the text see \cs{deffootnotemark}).
+% \end{description}
+% The \meta{mark code} is additionally encapsulated in a \cs{hbox} of
+% with \meta{first indent}. If \meta{first indent} is not given it is set to
+% \meta{indent}.
% \begin{macrocode}
\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{%
@@ -382,6 +343,7 @@
\hskip \dimexpr #1-#2\relax
}%
\ftn@font\hbox to \z@{\hss\@@makefnmark}##1%
+ \ExecuteDoHook{footnote/text/end}%
}%
\else
%<class> \ClassInfo{\KOMAClassName}{%
@@ -414,92 +376,75 @@
\fi
% \end{macrocode}
% \begin{macro}{\@@makefnmark}
-% \changes{v2.4l}{1997/02/06}{neu}%^^A
-% Makro zum Setzen der Fußnotenmarkierung in der Fußnote:
+% \changes{v2.4l}{1997/02/06}{added}
+% Used to set the mark at the beginning of the footnote. Here we add the font
+% element.
% \begin{macrocode}
\def\@@makefnmark{\hbox{\ftnm@font{#4}}}%
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \@@makefnmark
% \begin{macrocode}
}
% \end{macrocode}
-% \end{macro}%^^A \@@makefnmark
+% \end{command}^^A \deffootnote
%
% \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.
+% \changes{v3.23}{2017/03/27}{added}
+% Falk requested a new feature: Being able to change the
+% alignment/justification of the footnote text. The default is to change
+% nothing.
% \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.
+% \end{macro}^^A \raggedfootnote
+%
+% \begin{fontelement}{footnotelabel,footnotetext,footnote}
+% \begin{fontelement}{footnotenumber}
+% \changes{v3.36}{2022/02/16}{real alias of \fnt{footnotelabel}}
+% \begin{macro}{\ftn@font,\scr@fnt@footnote,\ftnm@font,\scr@fnt@footnotelabel}
+% \changes{v2.8q}{2001/11/16}{added}
+% There are two new font elements with two aliases. They are not defined using
+% \cs{newkomafont}, because they have to use not the default font commands but
+% another one compatible with \pkg{footnote}.
% \begin{macrocode}
\newcommand*{\ftn@font}{\normalfont}
\newcommand*{\scr@fnt@footnote}{\ftn@font}
\newcommand*{\ftnm@font}{}
-\newcommand*{\scr@fnt@footnotenumber}{\ftnm@font}
+\aliaskomafont{footnotenumber}{footnotelabel}
\newcommand*{\scr@fnt@footnotelabel}{\ftnm@font}
-\newcommand*{\scr@fnt@instead@footnotetext}{footnote}
+\aliaskomafont{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:
+% \end{macro}^^A \fnt@font,\scr@fnt@footnote … \scr@fnt@footnotelabel
+% \end{fontelement}^^A footnotenumber
+% \end{fontelement}^^A footnotelabel,footnotetext,footnote
+%
+% \begin{command}{\deffootnotemark}
+% \changes{v2.4l}{1997/02/06}{added}
+% The definition of the footnote mark in the text can also changed. The
+% default is the usual definition extended by the font element.
% \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{fontelement}{footnotereference}
+% \begin{fontelement}{footnotemark,footnoteref}
+% \changes{v3.36}{2022/02/16}{real alias of \fnt{footnotereference}}
+% \begin{macro}{\ftntm@font,\scr@fnt@footnotereference}
+% \changes{v2.8q}{2001/11/16}{added}
+% The font element of the footnote mark in the text and two aliases.
% \begin{macrocode}
\newcommand*{\ftntm@font}{}
\newcommand*{\scr@fnt@footnotereference}{\ftntm@font}
-\newcommand*{\scr@fnt@footnoteref}{\ftntm@font}
+\aliaskomafont{footnoteref}{footnotereference}
+\aliaskomafont{footnotemark}{footnotereference}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
+% \end{macro}^^A \ftntm@font,\scr@fnt@footnotereference
+% \end{fontelement}^^A footnotemark,footnoteref
+% \end{fontelement}^^A footnotereference
% \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.
+% \changes{v2.98c}{2008/02/01}{added}
+% Detect multiple footnotes by \cs{lastkern} and add the separator.
% \begin{macrocode}
%<package>\providecommand*{\FN@mf@check}{%
%<class>\newcommand*{\FN@mf@check}{%
@@ -510,33 +455,33 @@
\fi
}
% \end{macrocode}
-% \end{macro}
-%
+% \end{macro}^^A \FN@mf@check
% \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.
+% \changes{v2.98c}{2008/02/01}{added}
+% Add the kern to detect multiple footnotes without change of the resulting kern.
% \begin{macrocode}
\newcommand*{\scr@mf@prepare}{%
\kern-\multiplefootnotemarker
\kern\multiplefootnotemarker\relax
}
-% \end{macro}
+% \end{macrocode}
+% \end{macro}^^A \scr@mf@prepare
% \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).
+% \changes{v2.98c}{2008/02/14}{added}
+% \changes{v3.25a}{2018/04/17}{explicit definition}
+% To stay compatible with \pkg{footmisc} we define this too (but \cs{relax}
+% and only if not defined before).
+% \begin{macrocode}
\@ifundefined{FN@mf@prepare}{\let\FN@mf@prepare\relax}{}
% \end{macrocode}
-% \end{macro}
-%
+% \end{macro}^^A \F@mf@prepare
% \begin{macro}{\@footnotetext}
-% \changes{v3.01a}{2008/11/22}{long}%^^A
+% \changes{v3.01a}{2008/11/22}{long}
% \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.
+% \changes{v2.98c}{2008/02/01}{added}
+% \changes{v3.01a}{2008/11/22}{long}
+% We have to add the multiple footnote preparation to the definition of
+% \cs{@footnotetext}.
% \begin{macrocode}
\newcommand{\scr@saved@footnotetext}{}
\let\scr@saved@footnotetext\@footnotetext
@@ -545,9 +490,8 @@
\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.
+% And \pkg{footmisc} should not warn because of a not expected definition of
+% \cs{@footnotemark}.
% \begin{macrocode}
\BeforePackage{footmisc}{%
\ifx\@footnotemark\scr@footnotemark
@@ -556,12 +500,10 @@
\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:
+% \changes{v3.10}{2011/09/12}{\pkg{setspace} workaround}
+% \pkg{setspace} also needs a workaround, because it redefines
+% \cs{@footnotemark} without respect of other definitions. So we use out
+% definition instead and add a \texttt{footnote/text/begin} do-hook.
% \begin{macrocode}
\BeforePackage{setspace}{%
\let\@footnotetext\scr@saved@footnotetext
@@ -574,52 +516,52 @@
}%
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A \scr@saved@footnotetext
+% \end{macro}^^A \@footnotetext
+% \end{command}^^A \deffootnotemark
%
-% \begin{macro}{\multiplefootnoteseparator}
-% \changes{v2.98c}{2008/02/01}{Neu}%^^A
-% Das ist der formatierte Separator!
+% \begin{command}{\multiplefootnoteseparator}
+% \changes{v2.98c}{2008/02/01}{added}
+% The multiple footnote separation marker with all formatting needed.
% \begin{macrocode}
\newcommand*{\multiplefootnoteseparator}{%
\begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\multfootsep}
-% \changes{v2.98c}{2008/02/01}{Neu}%^^A
-% Und hier \textsf{footmisc}-kompatibel unformatiert
+% \begin{command}{\multfootsep}
+% \changes{v2.98c}{2008/02/01}{added}
+% The \pkg{footmisc} compatible separation without formatting.
% \begin{macrocode}
%<class>\newcommand*{\multfootsep}{,}
%<package>\providecommand*{\multfootsep}{,}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \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{command}{\multiplefootnotemarker}
+% \changes{v2.98c}{2008/02/01}{added}
+% \changes{v3.19}{2015/08/24}{\pkg*{scrextend} uses \cs{providecommand}}
+% The kerning of the marker also \pkg{footmisc} compatible.
% \begin{macrocode}
%<class>\newcommand*{\multiplefootnotemarker}{3sp}
%<package>\providecommand*{\multiplefootnotemarker}{3sp}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\thefootnotemark}
-% \changes{v2.4l}{1997/02/06}{neu}%^^A
-% Makro, damit \cs{@thefnmark} auf Anwenderebene verfügbar wird:
+% \begin{command}{\thefootnotemark}
+% \changes{v2.4l}{1997/02/06}{added}
+% User level command using \cs{@thefnmark}.
% \begin{macrocode}
%<class>\newcommand*{\thefootnotemark}{\@thefnmark}
%<package>\providecommand*{\thefootnotemark}{\@thefnmark}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \changes{v2.4l}{1997/02/06}{Verwendung der neuen Makros zur
-% Fußnotengestaltgebung}%^^A
+% \changes{v2.4l}{1997/02/06}{initialization using \cs{deffootnotemark}}
% \begin{macro}{\@makefnmark}
-% \changes{v3.10}{2011/09/27}{\textsf{scrextend} redefines \cs{@makefnmark}
-% to use \cs{thefootnotemark}}%^^A
+% \changes{v3.10}{2011/09/27}{\pkg*{scrextend} redefines \cs{@makefnmark}
+% to use \cs{thefootnotemark}}
% \begin{macrocode}
%<*class>
\deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}}
@@ -658,19 +600,15 @@
% \end{macrocode}
% \end{macro}
%
-% \subsection{Fußnotenreferenz}
+% \subsection{Referencing footnote labels}
%
-% \begin{macro}{\footref}
-% \changes{v2.98c}{2008/02/01}{Neue Anweisung}
-% \changes{v3.33}{2021/02/24}{classes use \cs{providecommand} because of
+% \begin{command}{\footref}
+% \changes{v2.98c}{2008/02/01}{added}
+% \changes{v3.33}{2021/02/24}{using \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.
+% \KOMAScript{} 3 provides this command for more more than 13 longer than
+% the \LaTeX{} kernel. It is compatible with \pkg{footmisc} but has also been
+% published for free in the Usenet.
% \begin{macrocode}
\providecommand*{\footref}[1]{%
\begingroup
@@ -678,19 +616,20 @@
\endgroup
\@footnotemark
}
+%</body>
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \iffalse
-%</body>
-% \fi
%
% \Finale
-%
+% \PrintChanges
+%
\endinput
-%
-% end of file `scrkernel-footnotes.dtx'
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
+% Local Variables:
+% mode: doctex
+% ispell-local-dictionary: "en_US"
+% eval: (flyspell-mode 1)
+% TeX-master: t
+% TeX-engine: luatex-dev
+% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx"))
+% End: