% \iffalse %<*internal> \iffalse % %<*readme> _________________ The ftnxtra package v0.1 This package fixes the isuue of footnote inside \caption{}, tabular environment and \section{} like (\chapter{}, \part{}, \subsection{} and etc) commands. ______________ Vafa Khalighi vafa@users.berlios.de Copyright 2009 Distributed under the LaTeX Project Public License % %<*internal> \fi \begingroup % %<*batchfile> \input docstrip.tex \keepsilent \preamble __________________________________ Copyright (C) 2009 Vafa Khalighi License information appended. \endpreamble \postamble Copyright (C) 2009 by Vafa Khalighi Distributable under the LaTeX Project Public License, version 1.3c or higher (your choice). The latest version of this license is at: http://www.latex-project.org/lppl.txt This work is "maintained" (as per LPPL maintenance status) by Vafa Khalighi. This work consists of the file ftnxtra.dtx and the derived files ftnxtra.sty, ftnxtra.ins, and ftnxtra.pdf. \endpostamble \askforoverwritefalse \generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}} % %\endbatchfile %<*internal> \generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}} \nopreamble\nopostamble \generate{\file{README.txt}{\from{\jobname.dtx}{readme}}} \endgroup \immediate\write18{mv README.txt README} \immediate\write18{makeindex -s gind.ist -o \jobname.ind \jobname.idx} \immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo} % % %<*driver> \documentclass{ltxdoc} \EnableCrossrefs \CodelineIndex \RecordChanges \OnlyDescription \begin{document} \DocInput{\jobname.dtx} \end{document} % % % % \fi % % \GetFileInfo{\jobname.sty} % \CheckSum{0} % \makeatletter % % \title{The \textsf{ftnxtra} package} % \author{Vafa Khalighi} % % % \StopEventually{} % % \part{\textsf{\jobname} implementation} %\iffalse %<*package> %\fi % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{ftnxtra}% [2009/10/18 footnote fixes for standard LaTeX] \newtoks\ftnxtra@p@ftn \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]{} \def\@tabular{% \leavevmode \hbox \bgroup \let\@footnotetext\ftnxtra@p@ftntext $\let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} \def\endtabular{\crcr\egroup \egroup $\egroup \the\ftnxtra@p@ftn \global\ftnxtra@p@ftn{}% } \long\def\ftnxtra@p@ftntext#1{% \edef\@tempy{\the\ftnxtra@p@ftn\noexpand\footnotetext[\the\c@footnote]}% \global\ftnxtra@p@ftn\expandafter{\@tempy{#1}}}% \def\@xfloat #1[#2]{% \@nodocument \def \@captype {#1}% \def \@fps {#2}% \@onelevel@sanitize \@fps \def \reserved@b {!}% \ifx \reserved@b \@fps \@fpsadddefault \else \ifx \@fps \@empty \@fpsadddefault \fi \fi \ifhmode \@bsphack \@floatpenalty -\@Mii \else \@floatpenalty-\@Miii \fi \ifinner \@parmoderr\@floatpenalty\z@ \else \@next\@currbox\@freelist {% \@tempcnta \sixt@@n \expandafter \@tfor \expandafter \reserved@a \expandafter :\expandafter =\@fps \do {% \if \reserved@a h% \ifodd \@tempcnta \else \advance \@tempcnta \@ne \fi \fi \if \reserved@a t% \@setfpsbit \tw@ \fi \if \reserved@a b% \@setfpsbit 4% \fi \if \reserved@a p% \@setfpsbit 8% \fi \if \reserved@a !% \ifnum \@tempcnta>15 \advance\@tempcnta -\sixt@@n\relax \fi \fi }% \@tempcntb \csname ftype@\@captype \endcsname \multiply \@tempcntb \@xxxii \advance \@tempcnta \@tempcntb \global \count\@currbox \@tempcnta }% \@fltovf \fi \global \setbox\@currbox \color@vbox \normalcolor \vbox \bgroup \let\@footnotetext\ftnxtra@p@ftntext \hsize\columnwidth \@parboxrestore \@floatboxreset } \def \@endfloatbox{% \par\vskip\z@skip %% \par\vskip\z@ added 15 Dec 87 \@minipagefalse \outer@nobreak \egroup %% end of vbox \the\ftnxtra@p@ftn \global\ftnxtra@p@ftn{}% \color@endbox } % \end{macrocode} %\iffalse % %\fi % % \typeout{*************************************************************} % \typeout{*} % \typeout{* To finish the installation you have to move the following} % \typeout{* file into a directory searched by TeX:} % \typeout{*} % \typeout{* \space\space\space ftnxtra.sty} % \typeout{*} % \typeout{*************************************************************} % \endinput