From e2e5362d3c0112460bc8b48d5aeb6bcb9d3176a1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:56:03 +0000 Subject: footmisc git-svn-id: svn://tug.org/texlive/trunk@933 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/footmisc/footmisc.sty | 865 ++++++++++++++++++++++ 1 file changed, 865 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/footmisc/footmisc.sty (limited to 'Master/texmf-dist/tex/latex/footmisc') diff --git a/Master/texmf-dist/tex/latex/footmisc/footmisc.sty b/Master/texmf-dist/tex/latex/footmisc/footmisc.sty new file mode 100644 index 00000000000..35ab7d7a5ca --- /dev/null +++ b/Master/texmf-dist/tex/latex/footmisc/footmisc.sty @@ -0,0 +1,865 @@ +%% +%% 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