From 3e8e2ea55ae43a6463f8f1d793f132e09fa951ce Mon Sep 17 00:00:00 2001
From: Mateusz Kwiatkowski <mati.rewa@gmail.com>
Date: Wed, 25 Jun 2025 11:16:10 +0000
Subject: Update on Overleaf.

---
 vu-cs-standard-thesis/footmisc.sty | 866 +++++++++++++++++++++++++++++++++++++
 1 file changed, 866 insertions(+)
 create mode 100644 vu-cs-standard-thesis/footmisc.sty

(limited to 'vu-cs-standard-thesis/footmisc.sty')

diff --git a/vu-cs-standard-thesis/footmisc.sty b/vu-cs-standard-thesis/footmisc.sty
new file mode 100644
index 0000000..137599c
--- /dev/null
+++ b/vu-cs-standard-thesis/footmisc.sty
@@ -0,0 +1,866 @@
+%%
+%% This is file `footmisc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% footmisc.dtx  (with options: `package')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from footmisc.sty.
+%% 
+%% For distribution of the original source see the terms
+%% for copying and modification in the file footmisc.dtx.
+%% 
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% This is footmisc.dtx, and it's -*-LaTeX-*- text
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{footmisc}%
+        [2005/03/17 v5.3d
+     a miscellany of footnote facilities%
+                   ]% $Id: footmisc.dtx,v 4.20 2005/03/17 13:41:58 rf Exp rf $
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\newtoks\FN@temptoken
+\providecommand\protected@writeaux{%
+  \protected@write\@auxout
+}%    \end{macrocode}
+\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
+\newif\ifFN@etex
+\ifx\dimexpr\undefined
+  \FN@etexfalse
+\else
+  \FN@etextrue
+\fi
+\newdimen\footnotemargin
+\footnotemargin1.8em\relax
+\DeclareOption{symbol}{\renewcommand\thefootnote{\fnsymbol{footnote}}}
+\DeclareOption{symbol*}{%
+  \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+  \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\relax
+\DeclareOption{ragged}{%
+  \@ifundefined{RaggedRight}%
+    {\def\footnotelayout{\linepenalty50 \raggedright}}%
+    {\def\footnotelayout{\linepenalty50 \RaggedRight}}%
+}
+\newif\ifFN@perpage
+\FN@perpagefalse
+\DeclareOption{perpage}{%
+  \FN@perpagetrue
+}
+\newif\ifFN@bottom  \FN@bottomfalse
+\DeclareOption{bottom}{%
+  \FN@bottomtrue
+}
+\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
+\let  \if@tempswa  \ifFN@bottom
+\ifFN@para    \@tempswatrue \fi
+\if@tempswa
+  \@ifl@t@r\fmtversion{2003/12/01}{%
+    \CheckCommand*\@makecol{\ifvoid \footins
+        \setbox\@outputbox \box\@cclv
+      \else
+        \setbox\@outputbox \vbox{%
+          \boxmaxdepth\@maxdepth
+          \@tempdima\dp\@cclv
+          \unvbox\@cclv
+          \vskip \skip\footins
+          \color@begingroup
+            \normalcolor\footnoterule
+            \unvbox\footins
+          \color@endgroup
+        }%
+      \fi
+      \let \@elt \relax
+      \xdef\@freelist{\@freelist\@midlist}%
+      \global\let\@midlist\@empty
+      \@combinefloats
+      \ifvbox\@kludgeins
+        \@makespecialcolbox
+      \else
+        \setbox\@outputbox \vbox to\@colht{%
+          \@texttop \dimen@\dp\@outputbox
+          \unvbox\@outputbox
+          \vskip -\dimen@\@textbottom
+        }%
+      \fi
+      \global\maxdepth\@maxdepth
+    }
+  }{%
+    \@ifl@t@r\fmtversion{1999/12/01}{%
+      \CheckCommand*\@makecol{\ifvoid \footins
+          \setbox\@outputbox \box\@cclv
+        \else
+          \setbox\@outputbox \vbox{%
+            \boxmaxdepth\@maxdepth
+            \@tempdima\dp\@cclv
+            \unvbox\@cclv
+            \vskip \skip\footins
+            \color@begingroup
+              \normalcolor\footnoterule
+              \unvbox\footins
+            \color@endgroup
+          }%
+        \fi
+        \xdef\@freelist{\@freelist\@midlist}%
+        \global\let\@midlist\@empty
+        \@combinefloats
+        \ifvbox\@kludgeins
+          \@makespecialcolbox
+        \else
+          \setbox\@outputbox \vbox to\@colht{%
+            \@texttop \dimen@\dp\@outputbox
+            \unvbox\@outputbox
+            \vskip -\dimen@\@textbottom
+          }%
+        \fi
+        \global\maxdepth\@maxdepth
+      }
+    }{%
+      \CheckCommand*\@makecol{\ifvoid \footins
+        \setbox\@outputbox \box\@cclv
+      \else
+        \setbox\@outputbox \vbox{%
+          \boxmaxdepth\@maxdepth
+          \unvbox\@cclv
+          \vskip \skip\footins
+          \color@begingroup
+            \normalcolor\footnoterule
+            \unvbox\footins
+          \color@endgroup
+        }%
+      \fi
+      \xdef\@freelist{\@freelist\@midlist}%
+      \global\let\@midlist\@empty
+      \@combinefloats
+      \ifvbox\@kludgeins
+        \@makespecialcolbox
+      \else
+        \setbox\@outputbox \vbox to\@colht{%
+          \@texttop \dimen@\dp\@outputbox
+          \unvbox\@outputbox
+          \vskip -\dimen@\@textbottom
+        }%
+      \fi
+      \global\maxdepth\@maxdepth
+    }
+  }
+}
+  \ifFN@para
+    \FN@temptoken{%
+      \toks@\expandafter{\the\toks@
+        \vskip\skip\footins
+        \color@begingroup
+          \normalcolor\footnoterule
+          \global\setbox\FN@tempboxc\vbox{\makefootnoteparagraph}%
+          \unvbox\FN@tempboxc
+        \color@endgroup
+      }%
+    }%
+  \else
+    \FN@temptoken{%
+      \toks@\expandafter{\the\toks@
+        \vskip\skip\footins
+        \color@begingroup
+          \normalcolor\footnoterule
+          \unvbox\footins
+        \color@endgroup
+      }%
+    }%
+  \fi
+  \ifFN@bottom
+    \toks@{\setbox\@outputbox \box\@cclv
+      \xdef\@freelist{\@freelist\@midlist}%
+      \global\let\@midlist\@empty
+      \@combinefloats
+      \ifvoid\footins
+      \else
+        \setbox\@outputbox \vbox\bgroup
+          \boxmaxdepth\@maxdepth
+          \unvbox\@outputbox
+          \vfill\relax
+    }
+    \the\FN@temptoken
+    \toks@\expandafter{\the\toks@\egroup\fi}
+  \else
+    \toks@{\ifvoid\footins
+        \setbox\@outputbox\box\@cclv
+      \else
+        \setbox\@outputbox \vbox\bgroup
+        \boxmaxdepth\@maxdepth
+        \unvbox\@cclv
+    }
+    \the\FN@temptoken
+    \toks@\expandafter{\the\toks@
+      \egroup
+      \fi
+      \xdef\@freelist{\@freelist\@midlist}%
+      \global\let\@midlist\@empty
+      \@combinefloats
+    }%
+  \fi
+  \toks@\expandafter{\the\toks@
+    \ifvbox\@kludgeins
+      \@makespecialcolbox
+    \else
+      \setbox\@outputbox \vbox to\@colht{%
+        \@texttop \dimen@\dp\@outputbox
+        \unvbox\@outputbox
+        \vskip -\dimen@\@textbottom
+      }%
+    \fi
+    \global\maxdepth\@maxdepth
+  }
+  \edef\@makecol{\the\toks@}
+\fi
+\newif\ifFN@setspace
+\@ifpackageloaded{setspace}{%
+  \FN@setspacetrue
+  \CheckCommand\@footnotetext[1]{%
+    \insert\footins{%
+      \def\baselinestretch {\setspace@singlespace}%
+      \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@setspacefalse
+  \@ifl@t@r\fmtversion{1997/12/01}{%
+    \CheckCommand\@footnotetext[1]{%
+      \insert\footins{%
+        \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
+      }%
+    }%
+  }{%
+    \CheckCommand\@footnotetext[1]{%
+      \insert\footins{%
+        \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
+      }%
+    }%
+  }%
+}
+\ifFN@para
+  \renewcommand\@footnotetext[1]{%
+    \insert\footins{%
+      \ifFN@setspace
+        \def\baselinestretch {\setspace@singlespace}%
+      \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=0pt
+        \ifFN@etex
+          \ht\FN@tempboxa=\dimexpr\wd\FN@tempboxa *
+                          \footnotebaselineskip / \columnwidth\relax
+        \else
+          \ht\FN@tempboxa=\fudgefactor\wd\FN@tempboxa
+        \fi
+        \box\FN@tempboxa
+      \color@endgroup
+    }%
+    \FN@mf@prepare
+  }
+\else
+  \ifFN@sidefn
+    \renewcommand\@footnotetext[1]{%
+      \marginpar{%
+        \ifFN@setspace
+          \def\baselinestretch {\setspace@singlespace}%
+        \fi
+        \reset@font\footnotesize
+        \protected@edef\@currentlabel{%
+          \csname p@footnote\endcsname\@thefnmark
+        }%
+        \color@begingroup
+          \@makefntext{%
+            \ignorespaces#1%
+          }%
+        \color@endgroup
+      }%
+      \FN@mf@prepare
+    }%
+  \else
+    \renewcommand\@footnotetext[1]{%
+      \insert\footins{%
+        \ifFN@setspace
+          \def\baselinestretch {\setspace@singlespace}%
+        \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
+  }
+  \ifFN@etex
+  \else
+    \@tempdima=\footnotebaselineskip \multiply\@tempdima by 1024
+    \divide \@tempdima by \columnwidth \multiply\@tempdima by 64
+    \xdef\fudgefactor{\strip@pt\@tempdima }%
+  \fi
+  \long\def\makefootnoteparagraph{\unvbox\footins \makehboxofhboxes
+    \setbox\FN@tempboxa=\hbox{\unhbox\FN@tempboxa \removehboxes}
+    \hsize\columnwidth
+    \@parboxrestore
+    \baselineskip=\footnotebaselineskip
+    \noindent
+    \rule{\z@}{\footnotesep}%
+    \unhbox\FN@tempboxa\par
+  }
+  \def\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\removehboxes{\setbox\FN@tempboxa=\lastbox
+    \ifhbox
+      \FN@tempboxa{\removehboxes}%
+      \unhbox\FN@tempboxa
+    \fi
+  }
+\fi
+\newif\ifFN@pp@footnotehint
+\newcounter{pp@next@reset}%
+\newif\ifFN@pp@towrite
+\FN@pp@towritefalse
+\ifFN@perpage
+  \CheckCommand*\footnote{\@ifnextchar [%]
+    \@xfootnote
+    {%
+      \stepcounter\@mpfn \protected@xdef\@thefnmark{\thempfn}%
+      \@footnotemark \@footnotetext
+    }%
+  }
+  \renewcommand*\footnote{\@ifnextchar [%]
+    \@xfootnote
+    {%
+      \stepcounter\@mpfn \protected@xdef\@thefnmark{\thempfn}%
+      \FN@pp@footnote\@footnotemark
+      \ifFN@pp@towrite
+        \FN@pp@writetemp
+        \FN@pp@towritefalse
+      \fi
+      \@footnotetext
+    }%
+  }
+  \CheckCommand*\footnotemark{%
+    \@ifnextchar [%]
+    \@xfootnotemark
+    {%
+      \stepcounter{footnote}%
+      \protected@xdef\@thefnmark{\thefootnote}%
+      \@footnotemark
+    }%
+  }
+  \renewcommand*\footnotemark{%
+    \@ifnextchar [%]
+    \@xfootnotemark
+    {%
+      \stepcounter{footnote}%
+      \protected@xdef\@thefnmark{\thefootnote}%
+      \FN@pp@footnote\@footnotemark
+      \ifFN@pp@towrite
+        \FN@pp@writetemp
+        \FN@pp@towritefalse
+      \fi
+    }%
+  }
+  \gdef\FN@pp@initial@stab{\@addtoreset{footnote}{page}}
+  \AtBeginDocument{\FN@pp@initial@stab}
+  \newcounter{@fnserial}
+  \def\FN@pp@cpage{0}
+  \FN@pp@footnotehinttrue
+  \newcommand{\footnotehint}{%
+    \setcounter{footnote}{0}%
+    \protected@writeaux\relax{\protect\FN@pp@footnotehinttrue}%
+    \@tempcnta\c@@fnserial
+    \advance\@tempcnta\@ne
+    \global\c@pp@next@reset\@tempcnta
+  }
+  \AtBeginDocument{\protected@writeaux\relax{%
+      \protect\providecommand{\protect\FN@pp@footnotehinttrue}{}%
+    }%
+  }
+\def\FN@pp@lastfoot{-1}
+  \newcommand{\FN@pp@footnote@aux}[2]{%
+    \ifnum\FN@pp@lastfoot<#1
+      \ifFN@pp@footnotehint
+        \FN@pp@resetfn{#1}{#2}%
+        \FN@pp@footnotehintfalse
+      \else
+        \gdef\@tempa{#2}%
+        \ifx\@tempa\FN@pp@cpage
+        \else
+          \FN@pp@resetfn{#1}{#2}%
+        \fi
+      \fi
+      \def\FN@pp@lastfoot{#1}%
+    \fi
+    \global\let\FN@pp@initial@stab\relax
+  }
+  \newcommand{\FN@pp@resetfn}[2]{%
+    \gdef\FN@pp@cpage{#2}%
+    \expandafter\gdef
+      \csname FN@pp@next-\FN@pp@prev@foot\endcsname{#1}%
+    \def\FN@pp@prev@foot{#1}%
+    \expandafter\xdef
+      \csname FN@pp@next-\FN@pp@prev@foot\endcsname{\the\@MM}%
+  }
+  \newcommand{\FN@pp@prev@foot}{root}
+  \AtBeginDocument{\protected@writeaux\relax{%
+      \protect\providecommand{\protect\FN@pp@footnote@aux}[2]{}}%
+    \c@pp@next@reset\@ne
+  }
+  \AtEndDocument{\let\FN@pp@footnote@aux\FN@pp@footnote@endaux
+    \def\FN@pp@lastfoot{-1}%
+    \FN@pp@footnotehintfalse
+    \renewcommand{\FN@pp@prev@foot}{root}
+  }
+  \newcommand{\FN@pp@footnote@endaux}[2]{%
+    \ifnum\FN@pp@lastfoot<#1
+      \ifFN@pp@footnotehint
+        \FN@pp@resetfn@end{#1}{#2}%
+        \FN@pp@footnotehintfalse
+      \else
+        \gdef\@tempa{#2}%
+        \ifx\@tempa\FN@pp@cpage
+        \else
+          \FN@pp@resetfn@end{#1}{#2}%
+        \fi
+      \fi
+      \def\FN@pp@lastfoot{#1}%
+    \fi
+  }
+  \newcommand{\FN@pp@resetfn@end}[2]{%
+    \def\@tempa{#1}%
+    \expandafter\ifx\csname FN@pp@next-\FN@pp@prev@foot\endcsname\@tempa%
+    \else
+      \@tempswatrue
+    \fi
+    \gdef\FN@pp@prev@foot{#1}%
+    \gdef\FN@pp@cpage{#2}%
+  }
+\let\FN@pp@@clearpage\clearpage
+\renewcommand{\clearpage}{\footnotehint\FN@pp@@clearpage}
+\def\FN@pp@footnote{%
+  \if@minipage\else
+    \global\advance\c@@fnserial\@ne
+    \if@filesw
+      \xdef\FN@pp@writetemp{%
+        \noexpand\protected@writeaux\relax{%
+          \string\FN@pp@footnote@aux
+            {\the\c@@fnserial}{\noexpand\thepage}%
+        }%
+      }%
+      \FN@pp@towritetrue
+    \fi
+    \ifnum\c@pp@next@reset>\c@@fnserial
+    \else
+      \global\expandafter\csname c@\@mpfn\endcsname\@ne
+      \protected@xdef\@thefnmark{\thempfn}%
+      \expandafter\let\expandafter\@tempa
+        \csname FN@pp@next-\number\c@pp@next@reset\endcsname
+      \ifx\@tempa\relax
+        \global\c@pp@next@reset\@MM
+      \else
+        \global\c@pp@next@reset\@tempa
+      \fi
+    \fi
+  \fi
+}
+\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
+      \parskip\hangfootparskip\relax
+      \parindent\hangfootparindent\relax
+      \@setpar{{\@@par}}%
+      \leavevmode
+      \llap{\box\@tempboxa}%
+    \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}{,}
+  \CheckCommand*\@footnotemark{%
+    \leavevmode
+    \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
+    \@makefnmark
+    \ifhmode\spacefactor\@x@sf\fi
+    \relax
+  }
+  \renewcommand*\@footnotemark{%
+    \leavevmode
+    \ifhmode
+      \edef\@x@sf{\the\spacefactor}%
+      \FN@mf@check
+      \nobreak
+    \fi
+    \@makefnmark
+    \ifFN@pp@towrite
+      \FN@pp@writetemp
+      \FN@pp@towritefalse
+    \fi
+    \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
+\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
+\newcommand{\DefineFNsymbols}{%
+        \@ifstar{\@tempswbtrue\@DefineFNsymbols}%
+                {\@tempswbfalse\@DefineFNsymbols}%
+}
+\newcommand{\@DefineFNsymbols}[1]{%
+  \@ifnextchar[% ]
+    {\@DefineFNsymbols@{#1}}{\@DefineFNsymbols@{#1}[math]}%
+}
+\def\@DefineFNsymbols@#1[#2]#3{%
+  \expandafter\ifx\csname FN@fnsymbol@#1\endcsname\relax
+    \PackageInfo{footmisc}{Declaring symbol style #1}%
+  \else
+    \PackageWarning{footmisc}{Redeclaring symbol style #1}%
+  \fi
+  \toks@{}%
+  \def\@tempb{\end}%
+  \FN@build@symboldef#3\end
+  \def\@tempc{math}%
+  \def\@tempd{#2}%
+  \expandafter\xdef\csname FN@fnsymbol@#1\endcsname##1{%
+    \ifx\@tempc\@tempd
+      \noexpand\ensuremath
+    \else
+      \noexpand\nfss@text
+    \fi
+    {%
+      \noexpand\ifcase##1%
+      \the\toks@
+      \noexpand\else
+      \if@tempswb
+        \noexpand\@ctrerr
+      \else
+        \noexpand\@arabic##1\noexpand\FN@orange##1%
+      \fi
+      \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
+}
+\def\FN@orange#1{%
+  \@bsphack
+  \PackageInfo{footmisc}{Footnote number \number#1 out of range}%
+  \protect\@fnsymbol@orange
+  \@esphack
+}
+\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%
+    }%
+  }%
+}
+\DefineFNsymbols*{bringhurst}{*\dagger\ddagger\S\|\P}%
+\DefineFNsymbols*{chicago}{*\dagger\ddagger\S\|\#}%
+\DefineFNsymbols*{wiley}{*{**}\dagger\ddagger\S\P\|}%
+\DefineFNsymbols{lamport-robust}{*\dagger\ddagger
+  \mathsection\mathparagraph\|%
+  {**}{\dagger\dagger}{\ddagger\ddagger}%
+}
+\DefineFNsymbols*{lamport*}{*\dagger\ddagger
+  \mathsection\mathparagraph\|%
+  {**}{\dagger\dagger}{\ddagger\ddagger}%
+  {\mathsection\mathsection}{\mathparagraph\mathparagraph}%
+  {*{*}*}{\dagger\dagger\dagger}{\ddagger\ddagger\ddagger}%
+  {\mathsection\mathsection\mathsection}%
+  {\mathparagraph\mathparagraph\mathparagraph}%
+}
+\setfnsymbol{lamport*}
+\DefineFNsymbols{lamport*-robust}{*\dagger\ddagger
+  \mathsection\mathparagraph\|%
+  {**}{\dagger\dagger}{\ddagger\ddagger}%
+  {\mathsection\mathsection}{\mathparagraph\mathparagraph}%
+  {*{*}*}{\dagger\dagger\dagger}{\ddagger\ddagger\ddagger}%
+  {\mathsection\mathsection\mathsection}%
+  {\mathparagraph\mathparagraph\mathparagraph}%
+}
+\providecommand*{\footref}[1]{%
+  \begingroup
+    \unrestored@protected@xdef\@thefnmark{\ref{#1}}%
+  \endgroup
+  \@footnotemark
+}
+\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
+}
+\endinput
+%%
+%% End of file `footmisc.sty'.
+
-- 
cgit v1.2.3

