%PDF- %PDF-
| Direktori : /proc/self/root/usr/share/texlive/texmf-dist/tex/latex/mdwtools/ |
| Current File : //proc/self/root/usr/share/texlive/texmf-dist/tex/latex/mdwtools/footnote.sty |
%%
%% This is file `footnote.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% footnote.dtx (with options: `package')
%%
%% IMPORTANT NOTICE
%%
%% footnote package -- Save footnotes around boxing environments
%% Copyright (c) 1996 Mark Wooding
%%
%% This program is free software; you can redistribute it and/or modify
%% it under the terms of the GNU General Public License as published by
%% the Free Software Foundation; either version 2 of the License, or
%% (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful,
%% but WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
%% GNU General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{footnote}
[1997/01/28 1.13 Save footnotes around boxes]
%% \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 \~}
%%
\ifx\fn@notes\@@undefined%
\newbox\fn@notes%
\fi
\newdimen\fn@width
\let\fn@colwidth\columnwidth
\newif\if@savingnotes
\def\fn@startnote{%
\hsize\fn@colwidth%
\interlinepenalty\interfootnotelinepenalty%
\reset@font\footnotesize%
\floatingpenalty\@MM% Is this right???
\@parboxrestore%
\protected@edef\@currentlabel{\csname p@\@mpfn\endcsname\@thefnmark}%
\color@begingroup%
}
\let\fn@endnote\color@endgroup
\def\fn@fntext#1{%
\ifx\ifmeasuring@\@@undefined%
\expandafter\@secondoftwo\else\expandafter\@iden%
\fi%
{\ifmeasuring@\expandafter\@gobble\else\expandafter\@iden\fi}%
{%
\global\setbox\fn@notes\vbox{%
\unvbox\fn@notes%
\fn@startnote%
\@makefntext{%
\rule\z@\footnotesep%
\ignorespaces%
#1%
\@finalstrut\strutbox%
}%
\fn@endnote%
}%
}%
}
\def\savenotes{%
\begingroup%
\if@savingnotes\else%
\@savingnotestrue%
\let\@footnotetext\fn@fntext%
\let\@mpfootnotetext\fn@fntext%
\fn@width\columnwidth%
\let\fn@colwidth\fn@width%
\global\setbox\fn@notes\box\voidb@x%
\let\fn@thempfn\thempfn%
\let\fn@mpfn\@mpfn%
\ifx\@minipagerestore\relax\let\@minipagerestore\@empty\fi%
\expandafter\def\expandafter\@minipagerestore\expandafter{%
\@minipagerestore%
\let\thempfn\fn@thempfn%
\let\@mpfn\fn@mpfn%
}%
\fi%
}
\def\spewnotes{%
\endgroup%
\if@savingnotes\else\ifvoid\fn@notes\else\begingroup%
\let\@makefntext\@empty%
\let\@finalstrut\@gobble%
\let\rule\@gobbletwo%
\@footnotetext{\unvbox\fn@notes}%
\endgroup\fi\fi%
}
\let\endsavenotes\spewnotes
\def\fn@getmark#1#2{%
\begingroup%
\@ifnextchar[%
{\fn@getmark@i{#1}}%
{#1\fn@getmark@ii{#2}}%
}
\def\fn@getmark@i#1[#2]{%
\csname c@\@mpfn\endcsname#2%
\fn@getmark@ii%
}
\def\fn@getmark@ii#1{%
\unrestored@protected@xdef\@thefnmark{\thempfn}%
\endgroup%
#1%
}
\def\fn@startfntext{%
\setbox\z@\vbox\bgroup%
\fn@startnote%
\fn@prefntext%
\rule\z@\footnotesep%
\ignorespaces%
}
\def\fn@endfntext{%
\@finalstrut\strutbox%
\fn@postfntext%
\egroup%
\begingroup%
\let\@makefntext\@empty%
\let\@finalstrut\@gobble%
\let\rule\@gobbletwo%
\@footnotetext{\unvbox\z@}%
\endgroup%
}
\let\fn@latex@@footnote\footnote
\def\fn@footnote{footnote}
\def\footnote{%
\ifx\@currenvir\fn@footnote%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
\fi%
{\fn@getmark{\stepcounter\@mpfn}%
{\leavevmode\unskip\@footnotemark\fn@startfntext}}%
{\fn@latex@@footnote}%
}
\let\endfootnote\fn@endfntext
\def\fn@footnotetext{footnotetext}
\let\fn@latex@@footnotetext\footnotetext
\def\footnotetext{%
\ifx\@currenvir\fn@footnotetext%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
\fi%
{\fn@getmark{}\fn@startfntext}%
{\fn@latex@@footnotetext}%
}
\let\endfootnotetext\endfootnote
\long\def\@tempa#1\@@#2\@@@{\def\fn@prefntext{#1}\def\fn@postfntext{#2}}
\expandafter\@tempa\@makefntext\@@\@@@
\def\makesavenoteenv{\@ifnextchar[\fn@msne@ii\fn@msne@i}
\def\fn@msne@i#1{%
\expandafter\let\csname msne$#1\expandafter\endcsname%
\csname #1\endcsname%
\expandafter\let\csname endmsne$#1\expandafter\endcsname%
\csname end#1\endcsname%
\fn@msne@ii[#1]{msne$#1}%
}
\def\fn@msne@ii[#1]#2{%
\expandafter\edef\csname#1\endcsname{%
\noexpand\savenotes%
\expandafter\noexpand\csname#2\endcsname%
}%
\expandafter\edef\csname end#1\endcsname{%
\expandafter\noexpand\csname end#2\endcsname%
\noexpand\expandafter%
\noexpand\spewnotes%
\noexpand\if@endpe\noexpand\@endpetrue\noexpand\fi%
}%
}
\makesavenoteenv[minipage*]{minipage}
\let\fn@parbox\parbox
\def\parbox{\@ifnextchar[{\fn@parbox@i{}}{\fn@parbox@ii{}}}
\def\fn@parbox@i#1[#2]{%
\@ifnextchar[{\fn@parbox@i{#1[#2]}}{\fn@parbox@ii{#1[#2]}}%
}
\long\def\fn@parbox@ii#1#2#3{\savenotes\fn@parbox#1{#2}{#3}\spewnotes}
\endinput
%%
%% End of file `footnote.sty'.