diff options
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx')
-rw-r--r-- | macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx | 539 |
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: |