summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/ftnxtra/ftnxtra.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-11-22 19:07:27 +0000
committerKarl Berry <karl@freefriends.org>2009-11-22 19:07:27 +0000
commit399ce2319873dee49aa4eda7159bda16e4f6645c (patch)
treec51378865256c2d6da5a4ebf8b0c09f47c0a2127 /Master/texmf-dist/source/latex/ftnxtra/ftnxtra.dtx
parentf416cde919529b4cc1dbde7a502981b7665cb0cf (diff)
new latex package ftnxtra (17oct09)
git-svn-id: svn://tug.org/texlive/trunk@16126 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/ftnxtra/ftnxtra.dtx')
-rw-r--r--Master/texmf-dist/source/latex/ftnxtra/ftnxtra.dtx233
1 files changed, 233 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/ftnxtra/ftnxtra.dtx b/Master/texmf-dist/source/latex/ftnxtra/ftnxtra.dtx
new file mode 100644
index 00000000000..ec606234ad8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/ftnxtra/ftnxtra.dtx
@@ -0,0 +1,233 @@
+% \iffalse
+%<*internal>
+\iffalse
+%</internal>
+%<*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
+%</readme>
+%<*internal>
+\fi
+\begingroup
+%</internal>
+%<*batchfile>
+\input docstrip.tex
+\keepsilent
+\preamble
+
+ __________________________________
+ Copyright (C) 2009 Vafa Khalighi
+
+ License information appended.
+
+
+\endpreamble
+\postamble
+
+Copyright (C) 2009 by Vafa Khalighi <vafa@users.berlios.de>
+
+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}}}
+%</batchfile>
+%<batchfile>\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}
+%</internal>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\OnlyDescription
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+%
+%
+% \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
+%</package>
+%\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