From 9de72d0a6eb200219df4ab55cdf3e4a3b8101dae Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 22 Jan 2014 01:15:59 +0000 Subject: tablefootnote (21jan14) git-svn-id: svn://tug.org/texlive/trunk@32752 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/tablefootnote/README | 15 +- .../latex/tablefootnote/tablefootnote-example.pdf | Bin 146690 -> 146485 bytes .../latex/tablefootnote/tablefootnote-example.tex | 6 +- .../doc/latex/tablefootnote/tablefootnote.pdf | Bin 354676 -> 357543 bytes .../source/latex/tablefootnote/tablefootnote.drv | 4 +- .../source/latex/tablefootnote/tablefootnote.dtx | 262 +++++++++++---------- .../source/latex/tablefootnote/tablefootnote.ins | 6 +- .../tex/latex/tablefootnote/tablefootnote.sty | 230 +++++++++--------- 8 files changed, 276 insertions(+), 247 deletions(-) diff --git a/Master/texmf-dist/doc/latex/tablefootnote/README b/Master/texmf-dist/doc/latex/tablefootnote/README index 5cdb7bade19..d502fdf5b07 100644 --- a/Master/texmf-dist/doc/latex/tablefootnote/README +++ b/Master/texmf-dist/doc/latex/tablefootnote/README @@ -1,4 +1,4 @@ -README for tablefootnote package, 2014/01/08, v1.1a +README for tablefootnote package, 2014/01/20, v1.1b TABLE OF CONTENTS @@ -18,8 +18,7 @@ TABLE OF CONTENTS ============== This LaTeX package provides the command \tablefootnote{...} -(and \tablefootnote[...]{...}) to be used in a table -or sidewaystable environment. +to be used in a table or sidewaystable environment. In those environments \footnote{...} would not work and would need to be replaced by \footnotemark in the (sideways)table and \footnotetext{...} after the @@ -30,10 +29,10 @@ adjusted manually. Then still the hyperlinks in a (sideways)table would not work. When the footnotebackref package is used, \footnotemark and \footnotetext{...} would need to be redefined. -Just using \tablefootnote{...} (or \tablefootnote[...]{...}) -in the (sideways)table does all this automatically. -(Compatibility with the footnotebackref package was achieved -without redefining \footnotemark or \footnotetext.) +Just using \tablefootnote{...} in the (sideways)table does +all this automatically. (Compatibility with the +footnotebackref package was achieved without redefining +\footnotemark or \footnotetext.) Redefining \footnote was not done as to not create conflicts with other packages. This material is subject to the LaTeX Project Public License @@ -121,7 +120,6 @@ g) Copy the documentation files to tablefootnote loads other packages: * letltxmacro, http://ctan.org/pkg/letltxmacro * ltxcmds, http://ctan.org/pkg/ltxcmds -* xifthen, http://ctan.org/pkg/xifthen When the etoolbox package is available, it is used: * etoolbox, http://ctan.org/pkg/etoolbox (All packages possibly load further packages. @@ -199,5 +197,6 @@ Bug reports can be send to the maintainer: or footnotes at all - all hyperreferences in rotated content are misplaced). Using pdflatex does not result in any problem here. + Problem found by Arno Trautmann, 2011/11/15. Ideas for solutions are welcome! \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote-example.pdf b/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote-example.pdf index dff010eb1c0..7b35069f86c 100644 Binary files a/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote-example.pdf and b/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote-example.pdf differ diff --git a/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote-example.tex b/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote-example.tex index d329854f3ef..0848d736d5a 100644 --- a/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote-example.tex +++ b/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote-example.tex @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: tablefootnote -%% Version: 2014/01/08 v1.1a +%% Version: 2014/01/20 v1.1b %% %% Copyright (C) 2011 - 2014 by %% H.-Martin M"unch @@ -69,7 +69,7 @@ % package are needed (or the urls must be removed before compiling). \usepackage{footnotebackref}[2012/07/01]% v1.0 -\usepackage{tablefootnote}[2014/01/08]% v1.1a +\usepackage{tablefootnote}[2014/01/20]% v1.1b \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% \listfiles @@ -78,7 +78,7 @@ \section*{Example for tablefootnote} This example demonstrates the use of package\newline -\textsf{tablefootnote}, v1.1a as of 2014/01/08 (HMM).\newline +\textsf{tablefootnote}, v1.1b as of 2014/01/20 (HMM).\newline There were no options used. (The package provides no options.)\newline \textbf{The \texttt{tablefootnote-example.tex} needs to be compiled diff --git a/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote.pdf b/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote.pdf index 5096f1797b8..d5203c871c9 100644 Binary files a/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote.pdf and b/Master/texmf-dist/doc/latex/tablefootnote/tablefootnote.pdf differ diff --git a/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.drv b/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.drv index d71ec462aef..177dbeddaf4 100644 --- a/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.drv +++ b/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.drv @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: tablefootnote -%% Version: 2014/01/08 v1.1a +%% Version: 2014/01/20 v1.1b %% %% Copyright (C) 2011 - 2014 by %% H.-Martin M"unch @@ -43,7 +43,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesFile{tablefootnote.drv}% - [2014/01/08 v1.1a Table foot notes (HMM)] + [2014/01/20 v1.1b Table foot notes (HMM)] \documentclass{ltxdoc}[2007/11/11]% v2.0u \usepackage{holtxdoc}[2012/03/21]% v0.24 %% tablefootnote may work with earlier versions of LaTeX2e and those diff --git a/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.dtx b/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.dtx index 162ea0e73f5..1f4227d9280 100644 --- a/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.dtx +++ b/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % % File: tablefootnote.dtx -% Version: 2014/01/08 v1.1a +% Version: 2014/01/20 v1.1b % % Copyright (C) 2011 - 2014 by % H.-Martin M"unch @@ -84,7 +84,7 @@ \input docstrip.tex \Msg{******************************************************************} \Msg{* Installation *} -\Msg{* Package: tablefootnote 2014/01/08 v1.1a Table foot notes (HMM) *} +\Msg{* Package: tablefootnote 2014/01/20 v1.1b Table foot notes (HMM) *} \Msg{******************************************************************} \keepsilent @@ -96,7 +96,7 @@ This is a generated file. Project: tablefootnote -Version: 2014/01/08 v1.1a +Version: 2014/01/20 v1.1b Copyright (C) 2011 - 2014 by H.-Martin M"unch @@ -183,7 +183,7 @@ In memoriam Tommy Muench + 2014/01/02. %<*driver> \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesFile{tablefootnote.drv}% - [2014/01/08 v1.1a Table foot notes (HMM)] + [2014/01/20 v1.1b Table foot notes (HMM)] \documentclass{ltxdoc}[2007/11/11]% v2.0u \usepackage{holtxdoc}[2012/03/21]% v0.24 %% tablefootnote may work with earlier versions of LaTeX2e and those @@ -223,7 +223,7 @@ In memoriam Tommy Muench + 2014/01/02. % % \fi % -% \CheckSum{595} +% \CheckSum{626} % % \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 @@ -273,7 +273,7 @@ In memoriam Tommy Muench + 2014/01/02. % \DoNotIndex{\value,\arabic,\hline,\text,\caption,\centering,\clear,\url} % % \title{The \xpackage{tablefootnote} package} -% \date{2014/01/08 v1.1a} +% \date{2014/01/20 v1.1b} % \author{H.-Martin M\"{u}nch\\\xemail{Martin.Muench at Uni-Bonn.de}} % % \maketitle @@ -502,7 +502,7 @@ In memoriam Tommy Muench + 2014/01/02. % package are needed (or the urls must be removed before compiling). \usepackage{footnotebackref}[2012/07/01]% v1.0 -\usepackage{tablefootnote}[2014/01/08]% v1.1a +\usepackage{tablefootnote}[2014/01/20]% v1.1b \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% \listfiles @@ -511,7 +511,7 @@ In memoriam Tommy Muench + 2014/01/02. \section*{Example for tablefootnote} This example demonstrates the use of package\newline -\textsf{tablefootnote}, v1.1a as of 2014/01/08 (HMM).\newline +\textsf{tablefootnote}, v1.1b as of 2014/01/20 (HMM).\newline There were no options used. (The package provides no options.)\newline \textbf{The \texttt{tablefootnote-example.tex} needs to be compiled @@ -687,7 +687,7 @@ package. % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[2011/06/27] -\ProvidesPackage{tablefootnote}[2014/01/08 v1.1a +\ProvidesPackage{tablefootnote}[2014/01/20 v1.1b Table foot notes (HMM)] % \end{macrocode} % @@ -756,6 +756,116 @@ package. \def\tfn@fmpw{\relax}% f_oot_m_isc_p_ara_w_arn-switch \def\tfn@fnbr{0}% f_oot_n_ote_b_ack_r_ef(erence package) +% \end{macrocode} +% +% We need some wrappers for the used |\ifHy@hyperfootnotes|: +% +% \begin{macrocode} + +\newcommand{\tfnhra}{% + \ifHy@hyperfootnotes%% + \raisebox{\ht\strutbox}{\hypertarget{tfn:\theHfootnote}{}}% + \fi% + } + +\newcommand{\tfnhrb}[1]{% + \ifHy@hyperfootnotes% + \edef\tfn@thn{\arabic{Hfootnote}}% + \fi% + \setcounter{footnote}{#1} + \ifHy@hyperfootnotes% + \setcounter{Hfootnote}{#1}% + \fi% + \tfn@updateHyper% +} + +\newcommand{\tfnhrc}[1]{% + {\ifHy@hyperfootnotes% + \raisebox{\ht\strutbox}{\hypertarget{tfn:#1}{}}% + \fi% + }{}% +} + +\newcommand{\tfnhrd}{% + \ifHy@hyperfootnotes% + \setcounter{Hfootnote}{\tfn@thn}% + \fi% + \tfn@updateHyper% +} + +\newcommand{\tfnhre}[1]{% +\ifHy@hyperfootnotes% + \hyperlink{tfn:#1}{\footnotemark[#1]}% + \else% + \footnotemark[#1]% + \fi% +} + +\newcommand{\tfnhrf}{% + \ifHy@hyperfootnotes% + \hyper@makecurrent{Hfootnote}% + \fi% +} + +\newcommand{\tfnhrg}{% + \ifHy@hyperfootnotes% + \addtocounter{Hfootnote}{\tfn@footnotetablecount}% + \fi% +} + +\newcommand{\tfnhrh}{% + \ifHy@hyperfootnotes% + \addtocounter{Hfootnote}{+1}% + \fi% +} + + +\newcommand{\tfnhri}[2]{% +\ifHy@hyperfootnotes% + \footnotetext[#1]{% + \raisebox{\ht\strutbox}{\hypertarget{tfn:#1}{}}#2}% + \else% + \footnotetext[#1]{#2}% + \fi% +} + +\newcommand{\tfnhrj}{% + \ifHy@hyperfootnotes% + \addtocounter{Hfootnote}{-1}% + \fi% +} + +\newcommand{\tfnhrk}{% + \ifHy@hyperfootnotes% + \ifluatex% + \PackageWarningNoLine{tablefootnote}{% + LuaTeX and hyperref package used:\MessageBreak% + Hyperreferences in rotated content\MessageBreak% + will be misplaced\MessageBreak% + regardless of tablefootnote package.\MessageBreak% + The text to be printed will be OK% + }% + \fi% + \fi% +} + +\newcommand{\tfnhrl}{% + \ifHy@hyperfootnotes% + \relax% + \else% + \PackageError{tablefootnote}{% + footnotebackref but not hyperfootnotes}{% + The footnotebackref package is used\MessageBreak% + but the hyperfootnotes option of the hyperref package% + \MessageBreak% + was set to false.\MessageBreak% + Either enable hyperfootnotes or do not use footnotebackref.% + \MessageBreak% + Loading of the tablefootnote package will be aborted.% + }% + \endinput% + \fi% +} % \end{macrocode} % @@ -839,14 +949,7 @@ package. {% footnotebackref not loaded }% }% - {\ltx@ifpackageloaded{hyperref}% - {\ifHy@hyperfootnotes% - \hyperlink{tfn:#1}{\footnotemark[#1]}% - \else% - \footnotemark[#1]% - \fi% - }% - {\footnotemark[#1]}% + {\ltx@ifpackageloaded{hyperref}{\tfnhre{#1}}{\footnotemark[#1]}% \ltx@ifpackageloaded{footnotebackref}% {\raisebox{\ht\strutbox}{\hypertarget{tfn:m#1}{}}}% {% footnotebackref not loaded @@ -896,9 +999,7 @@ package. % hyperref package by Heiko Oberdiek, 2011/10/01, v6.82j. % Newer versions of that package are available at CTAN. \global\let\Hy@saved@currentHref\@currentHref% - \ifHy@hyperfootnotes% - \hyper@makecurrent{Hfootnote}% - \fi% + \tfnhrf% \global\let\Hy@footnote@currentHref\@currentHref% \global\let\@currentHref\Hy@saved@currentHref% } @@ -923,12 +1024,7 @@ package. % be reset (when the footnotes are hyperlinked). % % \begin{macrocode} - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \addtocounter{Hfootnote}{\tfn@footnotetablecount}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrg\tfn@updateHyper}{}% \fi% % \end{macrocode} % @@ -937,41 +1033,20 @@ package. % % \begin{macrocode} \addtocounter{footnote}{+1}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \addtocounter{Hfootnote}{+1}% - \fi% + \ltx@ifpackageloaded{hyperref}{\tfnhrh\tfn@updateHyper}{}% % \end{macrocode} % % The \xpackage{hyperref} package was not expecting this kind of change of the % |(H)footnote| numbers, therefore some code-lines are missing here which can be % found at other places in that same package and are called by this command. -% -% \begin{macrocode} - \tfn@updateHyper% -% \end{macrocode} -% % When \xpackage{hyperref} is not loaded, nothing is to be done here. % -% \begin{macrocode} - }{}% -% \end{macrocode} -% % The |\footnotetext[...]{...}| places the foot note text as usual. % % \begin{macrocode} \ifx\tfn@swt\tfn@footnotezero% - \ifthenelse{\isempty{#1}}% - {\footnotetext{#2}}% - {\ltx@ifpackageloaded{hyperref}% - {\ifHy@hyperfootnotes% - \footnotetext[#1]{% - \raisebox{\ht\strutbox}{\hypertarget{tfn:#1}{}}#2}% - \else% - \footnotetext[#1]{#2}% - \fi% - }{\footnotetext[#1]{#2}}% - }% + \ifthenelse{\isempty{#1}}{\footnotetext{#2}}{% + \ltx@ifpackageloaded{hyperref}{\tfnhri{#1}{#2}}{\footnotetext[#1]{#2}}}% \else% % \end{macrocode} % @@ -1039,44 +1114,18 @@ package. \ifthenelse{\isempty{#1}}% {\footnotetext{% \hbox{\@textsuperscript{\normalfont\thefootnote}}% - \ltx@ifpackageloaded{hyperref}% - {\ifHy@hyperfootnotes%% - \raisebox{\ht\strutbox}{% - \hypertarget{tfn:\theHfootnote}{}}% - \fi% - }% - {\relax}% + \ltx@ifpackageloaded{hyperref}{\tfnhra}{}% \thinspace% #2}% }{\edef\tfn@tfn{\arabic{footnote}}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \edef\tfn@thn{\arabic{Hfootnote}}% - \fi% - }{}% else \relax - \setcounter{footnote}{#1} - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \setcounter{Hfootnote}{#1}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrb{#1}}{\setcounter{footnote}{#1}}% \footnotetext{% \hbox{\@textsuperscript{\normalfont #1}}% - \ltx@ifpackageloaded{hyperref}% - {\ifHy@hyperfootnotes% - \raisebox{\ht\strutbox}{\hypertarget{tfn:#1}{}}% - \fi% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrc{#1}}{}% \thinspace% #2}% \setcounter{footnote}{\tfn@tfn}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \setcounter{Hfootnote}{\tfn@thn}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrd}{}% }% }% \fi% @@ -1140,24 +1189,14 @@ package. \ifthenelse{\isempty{#1}}{\relax}{% \ltx@GlobalPrependToMacro{\tfn@tablefootnoteprintout}{% \addtocounter{footnote}{+1}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \addtocounter{Hfootnote}{+1}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrh\tfn@updateHyper}{}% }% }% \ltx@GlobalAppendToMacro{\tfn@tablefootnoteprintout}{% \tfn@footnotetext[#1]{#2}% \ifthenelse{\isempty{#1}}{\relax}{% \addtocounter{footnote}{-1}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \addtocounter{Hfootnote}{-1}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrj\tfn@updateHyper}{}% }% }% \gdef\tfn@fnt{1}% @@ -1400,20 +1439,7 @@ package. % by \textsc{Arno Trautmann}, 2011/11/15 -- thanks! % % \begin{macrocode} - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \ifluatex% - \PackageWarningNoLine{tablefootnote}{% - LuaTeX and hyperref package used:\MessageBreak% - Hyperreferences in rotated content\MessageBreak% - will be misplaced\MessageBreak% - regardless of tablefootnote package.\MessageBreak% - The text to be printed will be OK% - }% - \fi% - \fi% - }{% else \relax - }% + \ltx@ifpackageloaded{hyperref}{\tfnhrk}{}% % \end{macrocode} % % \pagebreak @@ -1423,22 +1449,8 @@ package. % % \begin{macrocode} \ltx@ifpackageloaded{footnotebackref}{% - \ltx@ifpackageloaded{hyperref}{ - \ifHy@hyperfootnotes% - \relax% - \else% - \PackageError{tablefootnote}{% - footnotebackref but not hyperfootnotes}{% - The footnotebackref package is used\MessageBreak% - but the hyperfootnotes option of the hyperref package% - \MessageBreak% - was set to false.\MessageBreak% - Either enable hyperfootnotes or do not use footnotebackref.% - \MessageBreak% - Loading of the tablefootnote package will be aborted.% - }% - \endinput% - \fi% + \ltx@ifpackageloaded{hyperref}{% + \tfnhrl% }{\PackageError{tablefootnote}{footnotebackref but not hyperref}{% The footnotebackref package is used\MessageBreak% but not the hyperref package.\MessageBreak% @@ -1524,7 +1536,7 @@ package. % \item[-] package \xpackage{hyperref}, 2012/11/06, v6.83m, % \url{http://ctan.org/pkg/hyperref} % -% \item[-] package \xpackage{tablefootnote}, 2014/01/08, v1.1a,\\ +% \item[-] package \xpackage{tablefootnote}, 2014/01/20, v1.1b,\\ % \url{http://ctan.org/pkg/tablefootnote}\\ % (Well, it is the example file for this package, and because you % are reading the documentation for the \xpackage{tablefootnote} package, @@ -1836,6 +1848,10 @@ package. % 2014/01/02 -- thanks!) % \item A lot of details. % \end{Version} +% \begin{Version}{2014/01/20 v1.1b} +% \item Bug fix: Package was broken when \xpackage{hyperref} was not used. +% (Bug reported by \textsc{Sverre Stausland Johnsen} -- thanks!) +% \end{Version} % \end{History} % % \bigskip diff --git a/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.ins b/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.ins index 24260960eb4..5d0f9661ede 100644 --- a/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.ins +++ b/Master/texmf-dist/source/latex/tablefootnote/tablefootnote.ins @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: tablefootnote -%% Version: 2014/01/08 v1.1a +%% Version: 2014/01/20 v1.1b %% %% Copyright (C) 2011 - 2014 by %% H.-Martin M"unch @@ -44,7 +44,7 @@ \input docstrip.tex \Msg{******************************************************************} \Msg{* Installation *} -\Msg{* Package: tablefootnote 2014/01/08 v1.1a Table foot notes (HMM) *} +\Msg{* Package: tablefootnote 2014/01/20 v1.1b Table foot notes (HMM) *} \Msg{******************************************************************} \keepsilent @@ -56,7 +56,7 @@ This is a generated file. Project: tablefootnote -Version: 2014/01/08 v1.1a +Version: 2014/01/20 v1.1b Copyright (C) 2011 - 2014 by H.-Martin M"unch diff --git a/Master/texmf-dist/tex/latex/tablefootnote/tablefootnote.sty b/Master/texmf-dist/tex/latex/tablefootnote/tablefootnote.sty index 4d958b32486..a7217741367 100644 --- a/Master/texmf-dist/tex/latex/tablefootnote/tablefootnote.sty +++ b/Master/texmf-dist/tex/latex/tablefootnote/tablefootnote.sty @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: tablefootnote -%% Version: 2014/01/08 v1.1a +%% Version: 2014/01/20 v1.1b %% %% Copyright (C) 2011 - 2014 by %% H.-Martin M"unch @@ -42,7 +42,7 @@ %% In memoriam Tommy Muench + 2014/01/02. %% \NeedsTeXFormat{LaTeX2e}[2011/06/27] -\ProvidesPackage{tablefootnote}[2014/01/08 v1.1a +\ProvidesPackage{tablefootnote}[2014/01/20 v1.1b Table foot notes (HMM)] %% Provides the \tablefootnote{...} command %% for footnotes in (sideways)tables. @@ -79,6 +79,111 @@ \def\tfn@fmpw{\relax}% f_oot_m_isc_p_ara_w_arn-switch \def\tfn@fnbr{0}% f_oot_n_ote_b_ack_r_ef(erence package) + +\newcommand{\tfnhra}{% + \ifHy@hyperfootnotes%% + \raisebox{\ht\strutbox}{\hypertarget{tfn:\theHfootnote}{}}% + \fi% + } + +\newcommand{\tfnhrb}[1]{% + \ifHy@hyperfootnotes% + \edef\tfn@thn{\arabic{Hfootnote}}% + \fi% + \setcounter{footnote}{#1} + \ifHy@hyperfootnotes% + \setcounter{Hfootnote}{#1}% + \fi% + \tfn@updateHyper% +} + +\newcommand{\tfnhrc}[1]{% + {\ifHy@hyperfootnotes% + \raisebox{\ht\strutbox}{\hypertarget{tfn:#1}{}}% + \fi% + }{}% +} + +\newcommand{\tfnhrd}{% + \ifHy@hyperfootnotes% + \setcounter{Hfootnote}{\tfn@thn}% + \fi% + \tfn@updateHyper% +} + +\newcommand{\tfnhre}[1]{% +\ifHy@hyperfootnotes% + \hyperlink{tfn:#1}{\footnotemark[#1]}% + \else% + \footnotemark[#1]% + \fi% +} + +\newcommand{\tfnhrf}{% + \ifHy@hyperfootnotes% + \hyper@makecurrent{Hfootnote}% + \fi% +} + +\newcommand{\tfnhrg}{% + \ifHy@hyperfootnotes% + \addtocounter{Hfootnote}{\tfn@footnotetablecount}% + \fi% +} + +\newcommand{\tfnhrh}{% + \ifHy@hyperfootnotes% + \addtocounter{Hfootnote}{+1}% + \fi% +} + +\newcommand{\tfnhri}[2]{% +\ifHy@hyperfootnotes% + \footnotetext[#1]{% + \raisebox{\ht\strutbox}{\hypertarget{tfn:#1}{}}#2}% + \else% + \footnotetext[#1]{#2}% + \fi% +} + +\newcommand{\tfnhrj}{% + \ifHy@hyperfootnotes% + \addtocounter{Hfootnote}{-1}% + \fi% +} + +\newcommand{\tfnhrk}{% + \ifHy@hyperfootnotes% + \ifluatex% + \PackageWarningNoLine{tablefootnote}{% + LuaTeX and hyperref package used:\MessageBreak% + Hyperreferences in rotated content\MessageBreak% + will be misplaced\MessageBreak% + regardless of tablefootnote package.\MessageBreak% + The text to be printed will be OK% + }% + \fi% + \fi% +} + +\newcommand{\tfnhrl}{% + \ifHy@hyperfootnotes% + \relax% + \else% + \PackageError{tablefootnote}{% + footnotebackref but not hyperfootnotes}{% + The footnotebackref package is used\MessageBreak% + but the hyperfootnotes option of the hyperref package% + \MessageBreak% + was set to false.\MessageBreak% + Either enable hyperfootnotes or do not use footnotebackref.% + \MessageBreak% + Loading of the tablefootnote package will be aborted.% + }% + \endinput% + \fi% +} + \ltx@ifpackageloaded{footnotebackref}{% \gdef\tfn@fnbr{1}% \ifx\FootnoteBackref@symbol\empty% @@ -134,14 +239,7 @@ {% footnotebackref not loaded }% }% - {\ltx@ifpackageloaded{hyperref}% - {\ifHy@hyperfootnotes% - \hyperlink{tfn:#1}{\footnotemark[#1]}% - \else% - \footnotemark[#1]% - \fi% - }% - {\footnotemark[#1]}% + {\ltx@ifpackageloaded{hyperref}{\tfnhre{#1}}{\footnotemark[#1]}% \ltx@ifpackageloaded{footnotebackref}% {\raisebox{\ht\strutbox}{\hypertarget{tfn:m#1}{}}}% {% footnotebackref not loaded @@ -170,9 +268,7 @@ % hyperref package by Heiko Oberdiek, 2011/10/01, v6.82j. % Newer versions of that package are available at CTAN. \global\let\Hy@saved@currentHref\@currentHref% - \ifHy@hyperfootnotes% - \hyper@makecurrent{Hfootnote}% - \fi% + \tfnhrf% \global\let\Hy@footnote@currentHref\@currentHref% \global\let\@currentHref\Hy@saved@currentHref% } @@ -181,32 +277,13 @@ \ifx\tfn@footnotetableprint\tfn@footnotezero% % This is the first footnotetext after the (sideways)table. \addtocounter{footnote}{\tfn@footnotetablecount}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \addtocounter{Hfootnote}{\tfn@footnotetablecount}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrg\tfn@updateHyper}{}% \fi% \addtocounter{footnote}{+1}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \addtocounter{Hfootnote}{+1}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrh\tfn@updateHyper}{}% \ifx\tfn@swt\tfn@footnotezero% - \ifthenelse{\isempty{#1}}% - {\footnotetext{#2}}% - {\ltx@ifpackageloaded{hyperref}% - {\ifHy@hyperfootnotes% - \footnotetext[#1]{% - \raisebox{\ht\strutbox}{\hypertarget{tfn:#1}{}}#2}% - \else% - \footnotetext[#1]{#2}% - \fi% - }{\footnotetext[#1]{#2}}% - }% + \ifthenelse{\isempty{#1}}{\footnotetext{#2}}{% + \ltx@ifpackageloaded{hyperref}{\tfnhri{#1}{#2}}{\footnotetext[#1]{#2}}}% \else% \ifx\tfn@footnotetableprint\tfn@footnotezero% \gdef\tfn@fmpw{\tfn@footmiscparawarn}% @@ -252,44 +329,18 @@ \ifthenelse{\isempty{#1}}% {\footnotetext{% \hbox{\@textsuperscript{\normalfont\thefootnote}}% - \ltx@ifpackageloaded{hyperref}% - {\ifHy@hyperfootnotes%% - \raisebox{\ht\strutbox}{% - \hypertarget{tfn:\theHfootnote}{}}% - \fi% - }% - {\relax}% + \ltx@ifpackageloaded{hyperref}{\tfnhra}{}% \thinspace% #2}% }{\edef\tfn@tfn{\arabic{footnote}}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \edef\tfn@thn{\arabic{Hfootnote}}% - \fi% - }{}% else \relax - \setcounter{footnote}{#1} - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \setcounter{Hfootnote}{#1}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrb{#1}}{\setcounter{footnote}{#1}}% \footnotetext{% \hbox{\@textsuperscript{\normalfont #1}}% - \ltx@ifpackageloaded{hyperref}% - {\ifHy@hyperfootnotes% - \raisebox{\ht\strutbox}{\hypertarget{tfn:#1}{}}% - \fi% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrc{#1}}{}% \thinspace% #2}% \setcounter{footnote}{\tfn@tfn}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \setcounter{Hfootnote}{\tfn@thn}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrd}{}% }% }% \fi% @@ -311,24 +362,14 @@ \ifthenelse{\isempty{#1}}{\relax}{% \ltx@GlobalPrependToMacro{\tfn@tablefootnoteprintout}{% \addtocounter{footnote}{+1}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \addtocounter{Hfootnote}{+1}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrh\tfn@updateHyper}{}% }% }% \ltx@GlobalAppendToMacro{\tfn@tablefootnoteprintout}{% \tfn@footnotetext[#1]{#2}% \ifthenelse{\isempty{#1}}{\relax}{% \addtocounter{footnote}{-1}% - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \addtocounter{Hfootnote}{-1}% - \fi% - \tfn@updateHyper% - }{}% + \ltx@ifpackageloaded{hyperref}{\tfnhrj\tfn@updateHyper}{}% }% }% \gdef\tfn@fnt{1}% @@ -486,37 +527,10 @@ \fi% }{% else \relax } - \ltx@ifpackageloaded{hyperref}{% - \ifHy@hyperfootnotes% - \ifluatex% - \PackageWarningNoLine{tablefootnote}{% - LuaTeX and hyperref package used:\MessageBreak% - Hyperreferences in rotated content\MessageBreak% - will be misplaced\MessageBreak% - regardless of tablefootnote package.\MessageBreak% - The text to be printed will be OK% - }% - \fi% - \fi% - }{% else \relax - }% + \ltx@ifpackageloaded{hyperref}{\tfnhrk}{}% \ltx@ifpackageloaded{footnotebackref}{% - \ltx@ifpackageloaded{hyperref}{ - \ifHy@hyperfootnotes% - \relax% - \else% - \PackageError{tablefootnote}{% - footnotebackref but not hyperfootnotes}{% - The footnotebackref package is used\MessageBreak% - but the hyperfootnotes option of the hyperref package% - \MessageBreak% - was set to false.\MessageBreak% - Either enable hyperfootnotes or do not use footnotebackref.% - \MessageBreak% - Loading of the tablefootnote package will be aborted.% - }% - \endinput% - \fi% + \ltx@ifpackageloaded{hyperref}{% + \tfnhrl% }{\PackageError{tablefootnote}{footnotebackref but not hyperref}{% The footnotebackref package is used\MessageBreak% but not the hyperref package.\MessageBreak% -- cgit v1.2.3