%% %% This is file `footmisc.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% footmisc.dtx (with options: `package') %% %% This is a generated file. %% %% Copyright (c) 1995-2011 Robin Fairbairns %% Copyright (c) 2018-2022 Robin Fairbairns, Frank Mittelbach %% %% This file was generated from file(s) of the LaTeX `footmisc Bundle'. %% -------------------------------------------------------------------- %% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. %% %% This work has the LPPL maintenance status 'maintained'. %% %% This file may only be distributed together with a copy of the LaTeX %% `footmisc Bundle'. You may however distribute the `footmisc Bundle' %% without such generated files. %% %% The newest sources can be found below %% %% https://github.com/FrankMittelbach/fmitex-footmisc/ %% %% where one can also log issues in case there are any. %% %% File: footmisc.dtx (C) Copyright 1995-2011 Robin Fairbairns %% (C) Copyright 2018-2022 Frank Mittelbach \NeedsTeXFormat{LaTeX2e} \providecommand\DeclareRelease[3]{} \providecommand\DeclareCurrentRelease[2]{} \DeclareRelease{v5}{2011-06-06}{footmisc-2011-06-06.sty} \DeclareCurrentRelease{}{2022-02-14} \ProvidesPackage{footmisc}% [2022/03/08 v6.0d a miscellany of footnote facilities% ] \NeedsTeXFormat{LaTeX2e}[2020/10/01] \newtoks\FN@temptoken \providecommand\protected@writeaux{% \protected@write\@auxout } \def\l@advance@macro{\@@dvance@macro\edef} \def\@@dvance@macro#1#2#3{\expandafter\@tempcnta#2\relax \advance\@tempcnta#3\relax #1#2{\the\@tempcnta}% } \let\@advance@macro\l@advance@macro \newdimen\footnotemargin \footnotemargin1.8em\relax \DeclareOption{symbol}{\renewcommand\thefootnote{\fnsymbol{footnote}}} \newif\ifFN@robust \FN@robustfalse \DeclareOption{symbol*}{% \renewcommand\thefootnote{\@fnsymbol\c@footnote}% \FN@robusttrue \AtEndOfPackage{\setfnsymbol{lamport*-robust}}% } \newif\ifFN@para \FN@parafalse \DeclareOption{para}{\ifFN@sidefn \PackageError{footmisc}{Option "\CurrentOption" incompatible with option "side"}% {I shall ignore "\CurrentOption"}% \else \FN@paratrue \fi } \newif\ifFN@sidefn \FN@sidefnfalse \DeclareOption{side}{\ifFN@para \PackageError{footmisc}{Option "\CurrentOption" incompatible with option "para"}% {I shall ignore "\CurrentOption"}% \else \FN@sidefntrue \fi } \let\footnotelayout\@empty \DeclareOption{ragged}{% \@ifundefined{RaggedRight}% {\renewcommand\footnotelayout{\linepenalty50 \raggedright}}% {\renewcommand\footnotelayout{\linepenalty50 \RaggedRight}}% } \newif\ifFN@perpage \FN@perpagefalse \DeclareOption{perpage}{% \FN@perpagetrue } \newif\ifFN@fixskip \FN@fixskipfalse \let\FN@bottomcases\thr@@ \newif\ifFN@abovefloats \FN@abovefloatstrue \DeclareOption{bottom}{% \let\FN@bottomcases\@ne \FN@abovefloatsfalse \FN@fixskiptrue } \DeclareOption{bottomfloats}{% \let\FN@bottomcases\tw@ \FN@abovefloatstrue \FN@fixskiptrue } \DeclareOption{abovefloats}{\FN@abovefloatstrue \FN@fixskiptrue} \DeclareOption{belowfloats}{\FN@abovefloatsfalse \FN@fixskiptrue} \DeclareOption{marginal}{% \footnotemargin-0.8em\relax } \DeclareOption{flushmargin}{% \footnotemargin0pt\relax } \newif\ifFN@hangfoot \FN@hangfootfalse \DeclareOption{hang}{% \FN@hangfoottrue } \newcommand*\hangfootparskip{0.5\baselineskip} \newcommand*\hangfootparindent{0em}% \DeclareOption{norule}{% \renewcommand\footnoterule{}% \advance\skip\footins 4\p@\@plus2\p@\relax } \DeclareOption{splitrule}{% \gdef\split@prev{0} \let\pagefootnoterule\footnoterule \let\mpfootnoterule\footnoterule \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} \def\footnoterule{\relax \ifx \@listdepth\@mplistdepth \mpfootnoterule \else \ifnum\split@prev=\z@ \pagefootnoterule \else \splitfootnoterule \fi \xdef\split@prev{\the\insertpenalties}% \fi }% } \newif\ifFN@stablefootnote \FN@stablefootnotefalse \DeclareOption{stable}{\FN@stablefootnotetrue} \newif\ifFN@multiplefootnote \FN@multiplefootnotefalse \DeclareOption{multiple}{\FN@multiplefootnotetrue} \ProcessOptions \def \@makecol {% \@kernel@before@cclv \setbox\@outputbox \box\@cclv \@outputbox@removebskip \let\@elt\relax \xdef\@freelist{\@freelist\@midlist}% \global \let \@midlist \@empty \@makecol@appendblocks \ifvbox\@kludgeins \@makespecialcolbox \else \@makenormalcolbox \fi \global \maxdepth \@maxdepth } \newdimen\@outputbox@depth \def \@makenormalcolbox {% \setbox\@outputbox \vbox to\@colht {% \@texttop \@outputbox@depth \dp\@outputbox \unvbox \@outputbox \vskip -\@outputbox@depth \@textbottom }% } \def \@makespecialcolbox {% \@outputbox@append {\vskip-\@outputbox@depth}% \@tempdima \@colht \ifdim \wd\@kludgeins>\z@ \advance \@tempdima -\ht\@outputbox \advance \@tempdima \pageshrink \setbox\@outputbox \vbox to \@colht {% \unvbox\@outputbox \vskip \@tempdima \@textbottom }% \else \advance \@tempdima -\ht\@kludgeins \setbox \@outputbox \vbox to \@colht {% \vbox to \@tempdima {% \unvbox\@outputbox \@textbottom}% \vss}% \fi {\setbox \@tempboxa \box \@kludgeins}% } \ifFN@fixskip \def\@outputbox@removebskip{% \ifx\@textbottom\relax \else \@outputbox@append{% \@tempskipa\lastskip \ifnum \gluestretchorder\@tempskipa>\z@ \vskip-\@tempskipa \xdef\@outputbox@reinsertbskip {\noexpand\@outputbox@append{\vskip\the\@tempskipa}}% \else \global\let\@outputbox@reinsertbskip\relax \fi }% \fi } \let\@outputbox@reinsertbskip\relax \else \let\@outputbox@removebskip \relax \let\@outputbox@reinsertbskip\relax \fi \providecommand\@kernel@before@cclv{} \providecommand\@kernel@before@footins{} \def\@outputbox@append #1{% \setbox\@outputbox \vbox {% \boxmaxdepth \@maxdepth \@outputbox@depth\dp\@outputbox % if needed in #1 \unvbox \@outputbox #1% }% } \def\@outputbox@appendfootnotes {% \ifvoid\footins \else \@makecol@handlesplitfootnotes \@makecol@preparefootinshook \@outputbox@append{% \vskip \skip\footins \@kernel@before@footins \color@begingroup \normalcolor \footnoterule \csname pdfcolfoot@current\endcsname \unvbox \footins \color@endgroup }% \fi } \let \@outputbox@attachfloats \@combinefloats \def \@outputbox@attachtopfloats {% \ifx \@toplist\@empty \else \@cflt \fi } \def \@outputbox@attachbottomfloats {% \ifx \@botlist\@empty \else \@cflb \fi } \def\@makecol@handlesplitfootnotes {% \ifnum\insertpenalties>\z@ \@makecol@splitfootnotemessagehook \fi } \let \@makecol@splitfootnotemessagehook \@empty \let \@makecol@preparefootinshook \@empty \ifFN@para \def\@makecol@preparefootinshook {% \global\setbox\footins\vbox{\FN@makefootnoteparagraph}% } \fi \def\@if@flushbottom@TF{% \ifx\@textbottom\relax \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi } \def\@if@footnotes@TF{% \ifvoid\footins \expandafter\@secondoftwo \else \expandafter\@firstoftwo \fi } \def\@if@bfloats@TF{% \ifx \@botlist\@empty \expandafter\@secondoftwo \else \expandafter\@firstoftwo \fi } \ifcase \FN@bottomcases\relax \ERROR \or \ifFN@abovefloats \def\@makecol@appendblocks {% \@if@footnotes@TF {\@outputbox@append{\vfill}}% {\@if@bfloats@TF{\@outputbox@append{\vfill}}% {\@outputbox@reinsertbskip}}% \@outputbox@appendfootnotes \@outputbox@attachfloats } \else \def\@makecol@appendblocks {% \@outputbox@attachfloats \@if@footnotes@TF {\@outputbox@append{\vfill}}% {\@outputbox@reinsertbskip}% \@outputbox@appendfootnotes } \fi \or \ifFN@abovefloats \def\@makecol@appendblocks {% \@outputbox@appendfootnotes \@if@bfloats@TF {\@outputbox@append{\vfill}}% {\@outputbox@reinsertbskip}% \@outputbox@attachfloats } \else \def\@makecol@appendblocks {% \@if@footnotes@TF {\@outputbox@append{\vfill}}% {\@if@bfloats@TF{\@outputbox@append{\vfill}}% {\@outputbox@reinsertbskip}}% \@outputbox@attachfloats \@outputbox@appendfootnotes } \fi \or \ifFN@abovefloats \def\@makecol@appendblocks {% \@outputbox@appendfootnotes \@outputbox@attachfloats \@outputbox@reinsertbskip } \else \def\@makecol@appendblocks {% \@outputbox@attachfloats \@outputbox@appendfootnotes \@outputbox@reinsertbskip } \fi \else \ERROR \fi \newif\ifFN@setspace \@ifpackageloaded{setspace}{% \FN@setspacetrue \@ifclassloaded{memoir}{% \let\FN@baselinestretch\m@m@singlespace }{% \let\FN@baselinestretch\setspace@singlespace }% }{% \FN@setspacefalse } \ifFN@para \long\def\FN@footnotetext#1{% \insert\footins{% \ifFN@setspace \let\baselinestretch\FN@baselinestretch \fi \reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty\@MM \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}% \color@begingroup \setbox\FN@tempboxa\hbox{% \@makefntext{\ignorespaces#1\strut \penalty-10\relax \hskip\footglue }% end of \@makefntext parameter }% end of \hbox \dp\FN@tempboxa\z@ \ht\FN@tempboxa\dimexpr\wd\FN@tempboxa *% \footnotebaselineskip / \columnwidth\relax \box\FN@tempboxa \color@endgroup }% \FN@mf@prepare } \else \ifFN@sidefn \long\def\FN@footnotetext#1{% \marginpar{% \ifFN@setspace \let\baselinestretch\FN@baselinestretch \fi \reset@font\footnotesize \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{% \ignorespaces#1% }% \color@endgroup }% \FN@mf@prepare }% \else \long\def\FN@footnotetext#1{% \insert\footins{% \ifFN@setspace \let\baselinestretch\FN@baselinestretch \fi \reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty\@MM \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{% \rule\z@\footnotesep \ignorespaces#1\@finalstrut\strutbox }% \color@endgroup }% \FN@mf@prepare }% \fi \fi \ifFN@para \let\FN@tempboxa\@tempboxa \newbox\FN@tempboxb \newbox\FN@tempboxc \newskip\footglue \footglue=1em plus.3em minus.3em \long\def\@makefntext#1{\leavevmode \@makefnmark\nobreak \hskip.5em\relax#1% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newdimen\footnotebaselineskip {% \footnotesize \global \footnotebaselineskip=\normalbaselineskip } \long\def\FN@makefootnoteparagraph{\unvbox\footins \FN@makehboxofhboxes \setbox\FN@tempboxa=\hbox{\unhbox\FN@tempboxa \FN@removehboxes}% \FN@setfootnoteparawidth \@parboxrestore \baselineskip=\footnotebaselineskip \noindent \rule{\z@}{\footnotesep}% \unhbox\FN@tempboxa\par } \def\FN@makehboxofhboxes{\setbox\FN@tempboxa=\hbox{}% \loop \setbox\FN@tempboxb=\lastbox \ifhbox\FN@tempboxb \setbox\FN@tempboxa=\hbox{\box\FN@tempboxb\unhbox\FN@tempboxa}% \repeat } \def\FN@removehboxes{\setbox\FN@tempboxa=\lastbox \ifhbox \FN@tempboxa{\FN@removehboxes}% \unhbox\FN@tempboxa \fi } \fi \@ifpackageloaded{multicol} {\def\FN@setfootnoteparawidth {\hsize\ifnum\doublecol@number>\@ne \textwidth \else \columnwidth \fi}} {\def\FN@setfootnoteparawidth{\hsize\columnwidth}} \ifFN@perpage \RequirePackage{perpage} \MakePerPage{footnote} \def\@stpelt#1{\global\csname c@#1\endcsname \m@ne \stepcounter{#1}% \pp@fix@MakePerPage{#1}% } \def\pp@fix@MakePerPage#1{% \ifnum \value{#1}>\z@ \addtocounter{#1}\m@ne\fi } \def\pp@cl@end@iii\stepcounter#1\pp@fix@MakePerPage#2{} \fi \ifFN@para \else \long\def\@makefntext#1{% \ifFN@hangfoot \bgroup \setbox\@tempboxa\hbox{% \ifdim\footnotemargin>0pt \hb@xt@\footnotemargin{\@makefnmark\hss}% \else \@makefnmark \fi }% \leftmargin\wd\@tempboxa \rightmargin\z@ \linewidth \columnwidth \advance \linewidth -\leftmargin \parshape \@ne \leftmargin \linewidth \footnotesize \@setpar{{\@@par}}% \leavevmode \llap{\box\@tempboxa}% \parskip\hangfootparskip\relax \parindent\hangfootparindent\relax \else \parindent1em \noindent \ifdim\footnotemargin>\z@ \hb@xt@ \footnotemargin{\hss\@makefnmark}% \else \ifdim\footnotemargin=\z@ \llap{\@makefnmark}% \else \llap{\hb@xt@ -\footnotemargin{\@makefnmark\hss}}% \fi \fi \fi \footnotelayout#1% \ifFN@hangfoot \par\egroup \fi } \fi \ifFN@multiplefootnote \providecommand*{\multiplefootnotemarker}{3sp} \providecommand*{\multfootsep}{,} \newcommand*\FN@footnotemark{% \leavevmode \ifhmode \edef\@x@sf{\the\spacefactor}% \FN@mf@check \nobreak \fi \@makefnmark \FN@mf@prepare \ifhmode\spacefactor\@x@sf\fi \relax } \def\FN@mf@prepare{% \kern-\multiplefootnotemarker \kern\multiplefootnotemarker\relax } \def\FN@mf@check{% \ifdim\lastkern=\multiplefootnotemarker\relax \edef\@x@sf{\the\spacefactor}% \unkern \textsuperscript{\multfootsep}% \spacefactor\@x@sf\relax \fi } \else \let\FN@mf@prepare\relax \let\FN@footnotemark\@footnotemark \fi \ifFN@stablefootnote \let\FN@sf@@footnote\footnote \def\footnote{\ifx\protect\@typeset@protect \expandafter\FN@sf@@footnote \else \expandafter\FN@sf@gobble@opt \fi } \edef\FN@sf@gobble@opt{\noexpand\protect \expandafter\noexpand\csname FN@sf@gobble@opt \endcsname} \expandafter\def\csname FN@sf@gobble@opt \endcsname{% \@ifnextchar[%] \FN@sf@gobble@twobracket \@gobble } \def\FN@sf@gobble@twobracket[#1]#2{} \let\FN@sf@@footnotemark\footnotemark \def\footnotemark{\ifx\protect\@typeset@protect \expandafter\FN@sf@@footnotemark \else \expandafter\FN@sf@gobble@optonly \fi } \edef\FN@sf@gobble@optonly{\noexpand\protect \expandafter\noexpand\csname FN@sf@gobble@optonly \endcsname} \expandafter\def\csname FN@sf@gobble@optonly \endcsname{% \@ifnextchar[%] \FN@sf@gobble@bracket {}% } \def\FN@sf@gobble@bracket[#1]{} \fi \newcommand\setfnsymbol[1]{% \@bsphack \@ifundefined{FN@fnsymbol@#1}% {% \PackageError{footmisc}{Symbol style "#1" not known}% \@eha }{% \expandafter\let\expandafter\@fnsymbol\csname FN@fnsymbol@#1\endcsname }% \@esphack } \let\FN@fnsymbol@lamport\@fnsymbol \newif\if@tempswb \DeclareDocumentCommand\DefineFNsymbols {smO{text}m}{% \expandafter\ifx\csname FN@fnsymbol@#2\endcsname\relax \PackageInfo{footmisc}{Declaring symbol style #2}% \else \PackageWarning{footmisc}{Redeclaring symbol style #2}% \fi \toks@{}% \def\@tempb{\end}% \FN@build@symboldef#4\end \def\@tempc{math}% \def\@tempd{#3}% \expandafter\xdef\csname FN@fnsymbol@#2\endcsname##1{% \ifx\@tempc\@tempd \noexpand\ensuremath \else \noexpand\nfss@text \fi {% \noexpand\ifcase##1% \the\toks@ \noexpand\else \IfBooleanTF#1{\noexpand\@ctrerr}% {\noexpand\FN@orange##1}% \noexpand\fi }% }% } \def\FN@build@symboldef#1{% \def\@tempa{#1}% \ifx\@tempa\@tempb \else \toks@\expandafter{\the\toks@\or#1}% \expandafter\FN@build@symboldef \fi } \DeclareDocumentCommand\DefineFNsymbolsTM {smm}{% \expandafter\ifx\csname FN@fnsymbol@#2\endcsname\relax \PackageInfo{footmisc}{Declaring symbol style #2}% \else \PackageWarning{footmisc}{Redeclaring symbol style #2}% \fi \toks@{}% \def\@tempb{\end}% \FN@build@symboldefTM#3\end\@null \expandafter\xdef\csname FN@fnsymbol@#2\endcsname##1{% \noexpand\ifcase##1% \the\toks@ \noexpand\else \IfBooleanTF#1{\noexpand\@ctrerr}% {\noexpand\FN@orange##1}% \noexpand\fi }% } \def\FN@build@symboldefTM#1#2{% \def\@tempa{#1}% \ifx\@tempa\@tempb \else \toks@\expandafter{\the\toks@\or\TextOrMath{#1}{#2}}% \expandafter\FN@build@symboldefTM \fi } \def\FN@orange#1{% \ifFN@robust \@arabic#1% \@bsphack \PackageInfo{footmisc}{Footnote number \number#1 out of range}% \protect\@fnsymbol@orange \@esphack \else \@ctrerr \fi } \global\let\@diagnose@fnsymbol@orange\relax \AtEndDocument{\@diagnose@fnsymbol@orange} \def\@fnsymbol@orange{% \gdef\@diagnose@fnsymbol@orange{% \PackageWarningNoLine{footmisc}{Some footnote number(s) were out of range \MessageBreak see log for details% }% }% } \DefineFNsymbolsTM{bringhurst}{% \textasteriskcentered *% \textdagger \dagger \textdaggerdbl \ddagger \textsection \mathsection \textbardbl \|% \textparagraph \mathparagraph }% \DefineFNsymbolsTM{chicago}{% \textasteriskcentered *% \textdagger \dagger \textdaggerdbl \ddagger \textsection \mathsection \textbardbl \|% \#\#% }% \DefineFNsymbolsTM{wiley}{% \textasteriskcentered *% {\textasteriskcentered\textasteriskcentered}{**}% \textdagger \dagger \textdaggerdbl \ddagger \textsection \mathsection \textparagraph \mathparagraph \textbardbl \|% }% \DefineFNsymbolsTM{lamport-robust}{% \textasteriskcentered *% \textdagger \dagger \textdaggerdbl \ddagger \textsection \mathsection \textparagraph \mathparagraph \textbardbl \|% {\textasteriskcentered\textasteriskcentered}{**}% {\textdagger\textdagger}{\dagger\dagger}% {\textdaggerdbl\textdaggerdbl}{\ddagger\ddagger}% } \DefineFNsymbolsTM*{lamport*}{% \textasteriskcentered *% \textdagger \dagger \textdaggerdbl \ddagger \textsection \mathsection \textparagraph \mathparagraph \textbardbl \|% {\textasteriskcentered\textasteriskcentered}{**}% {\textdagger\textdagger}{\dagger\dagger}% {\textdaggerdbl\textdaggerdbl}{\ddagger\ddagger}% {\textsection\textsection}{\mathsection\mathsection}% {\textparagraph\textparagraph}{\mathparagraph\mathparagraph}% {\textasteriskcentered\textasteriskcentered\textasteriskcentered}{***}% {\textdagger\textdagger\textdagger}{\dagger\dagger\dagger}% {\textdaggerdbl\textdaggerdbl\textdaggerdbl}{\ddagger\ddagger\ddagger}% {\textsection\textsection\textsection}%% {\mathsection\mathsection\mathsection}% {\textparagraph\textparagraph\textparagraph}%% {\mathparagraph\mathparagraph\mathparagraph}% } \setfnsymbol{lamport*} \DefineFNsymbolsTM{lamport*-robust}{% \textasteriskcentered *% \textdagger \dagger \textdaggerdbl \ddagger \textsection \mathsection \textparagraph \mathparagraph \textbardbl \|% {\textasteriskcentered\textasteriskcentered}{**}% {\textdagger\textdagger}{\dagger\dagger}% {\textdaggerdbl\textdaggerdbl}{\ddagger\ddagger}% {\textsection\textsection}{\mathsection\mathsection}% {\textparagraph\textparagraph}{\mathparagraph\mathparagraph}% {\textasteriskcentered\textasteriskcentered\textasteriskcentered}{***}% {\textdagger\textdagger\textdagger}{\dagger\dagger\dagger}% {\textdaggerdbl\textdaggerdbl\textdaggerdbl}{\ddagger\ddagger\ddagger}% {\textsection\textsection\textsection}%% {\mathsection\mathsection\mathsection}% {\textparagraph\textparagraph\textparagraph}%% {\mathparagraph\mathparagraph\mathparagraph}% } \newcommand\mpfootnotemark{% \@ifnextchar[% \@xmpfootnotemark {% \stepcounter\@mpfn \protected@xdef\@thefnmark{\thempfn}% \@footnotemark }% } \def\@xmpfootnotemark[#1]{% \begingroup \csname c@\@mpfn\endcsname #1\relax \unrestored@protected@xdef\@thefnmark{\thempfn}% \endgroup \@footnotemark } \@ifpackageloaded{hyperref}{% \let\H@@footnotetext\FN@footnotetext \let\H@@footnotemark\FN@footnotemark }{% \let \@footnotetext \FN@footnotetext \let\@footnotemark \FN@footnotemark } \endinput %% %% End of file `footmisc.sty'.