同一标题/图片/表格/公式中的多个脚注并使用 hyperref
这个问题与同一标题/图片/表格/公式中的多个脚注并使用 hyperref 因为我想颁发赏金,所以我在这里更清楚地指定了问题,并提供了一个需要修复才能获得赏金的示例,没有任何错误,也没有任何警告。
% !TeX TS-program = pdflatex
% !TeX encoding = UTF-8
% !TeX spellcheck = en_US
% !BIB TS-program = bibtex
%LaTeX=>PDF
\documentclass[a4paper]{report}
\usepackage{lipsum} %enables \lipsum
\renewcommand{\baselinestretch}{1.24}
\usepackage[english]{babel} %enables \lipsum
\usepackage{pdflscape} % enables \begin{landscape}...\end{landscape}
\usepackage{tablefootnote}
\usepackage{hyperref} % enables \href{}{} and \url
\begin{document}
%Problem A1: Multiple footnotes in figurecaption
\begin{figure}[htb]
\caption[123]{A\footnote{\label{first}some footnote}B\tablefootnote{4}
X\footnotemark{} Y\footnotemark{} Z\footnotemark{}}
\end{figure}
\addtocounter{footnote}{-3} %3=n
\stepcounter{footnote}\footnotetext{a}
\stepcounter{footnote}\footnotetext{b}
\stepcounter{footnote}\footnotetext{c}
%Problem A2: Multiple footnotes in tablecaption
\begin{table}[htb]
\caption[123]{A\footnote{\label{table}some footnote}B\tablefootnote{4}
X\footnotemark{} Y\footnotemark{} Z\footnotemark{}}
\begin{tabular}{p{\hsize}}
some table
\end{tabular}
\end{table}
\addtocounter{footnote}{-3} %3=n
\stepcounter{footnote}\footnotetext{a}
\stepcounter{footnote}\footnotetext{b}
\stepcounter{footnote}\footnotetext{c}
%Problem A3: Multiple footnotes in euqation
\begin{eqnarray}
A
&\stackrel{\footnotemark}{=}&
B\cr
&\stackrel{\footnotemark}{=}&
C
\end{eqnarray}
%Problem B: (not working Workaround for A2): multiple footnotes in a table, with workaround tablefoote creates footnote on different page
\begin{landscape}
%some previous pages with landscape
\clearpage
\begin{table}[htb]
\begin{tabular}{p{\hsize}}
\lipsum[1-3]\footnote{test0}\tablefootnote{test1}\footnote{test2}
\end{tabular}
\end{table}\clearpage
%further pages with landscape
\end{landscape}
\end{document}
问题 A1、A2、A3 是同一个问题,其中超引用脚注一次用于图形,一次用于表格,一次用于公式。问题 B 可能建议使用 tablefootnote (表格:脚注出现在上一页),但它显示了表格脚注不起作用的一个例子。
我收到两个不同的警告:
pdfTeX warning (ext4): destination with the same identifier (name{Hfootnote. }) has been already used, duplicate ignored
和
pdfTeX warning (dest): name{Hfootnote. } has been referenced but does not exist, replaced by a fixed one
满足以下要求,获得赏金(我也对其他解决方案感兴趣)
- 因为它应该在不同的计算机上工作,所以不允许更改 LaTeX 的二进制文件。
- 它应该用 pdflatex 来编译。
- 它必须使用超链接,并且脚注标记应该链接到脚注文本。
答案1
问题 A:已解决
此组合包:
对我来说效果很好(下面的 MWE)。它似乎允许在figures
、tables
和内添加任意数量的脚注equations
,而无需手动更新脚注计数器。
问题 B:未解决
唯一需要注意的是:问题 B没有得到解决——footnotetext
可能仍然出现在与 不同的页面上footnotemark
。然而,这是一个知名但令人惊讶的是,这个问题尚未解决。恕我直言,由于它很少发生,所以不值得修复,我相信读者能够弄清楚 ;)
问题 C:引用方程式中的脚注。
如下所示,您无法引用方程式内定义的脚注,因为链接\label
指向方程式,而不是脚注。
我觉得在方程式里加脚注很奇怪,而且有些人会同意,所以我可能会重新考虑这是否绝对必要。
平均能量损失
代码
% !TeX TS-program = pdflatex
% !TeX encoding = UTF-8
% !TeX spellcheck = en_US
% !BIB TS-program = bibtex
%LaTeX=>PDF
\documentclass[12pt]{report}
% solution-related packages
\usepackage{hyperref,tablefootnote,footnotehyper}
\hypersetup{colorlinks}
% formatting stuff
\renewcommand{\baselinestretch}{1.24}
\usepackage{amsmath,booktabs,mwe,pdflscape}
\usepackage[margin=3cm]{geometry}
\setlength{\belowcaptionskip}{\abovecaptionskip}
\begin{document}
Reference the labeled footnote in the figure: \ref{fig-note};
\dots and in the table: \ref{tab-note};
\dots but not in the equation: \ref{eqn-note}.
% Problem A1: solved using tablefootnote -> tablefootnote
% while this is a figure, it still seems to work
\begin{figure}[htb]
\centering
\includegraphics[width=0.3\textwidth]{example-image}
\caption[123]{Figure caption with notes:
A\tablefootnote{\label{fig-note}figure note labeled}
X\tablefootnote{figure note a}
Y\tablefootnote{figure note b}}
\end{figure}
% Problem A2: solved using tablefootnote -> tablefootnote
\begin{table}[htb]
\centering
\caption[123]{Table caption with notes:
A\tablefootnote{\label{tab-note}table note labeled}
X\tablefootnote{table note a}
Y\tablefootnote{table note b}}
\begin{tabular}{cccccc}\toprule
A & B & C & D & E & E \\\midrule
1 & 1 & 2 & 3 & 5 & 8 \\\bottomrule
\end{tabular}
\end{table}
% Problem A3: solved using footnotehyper -> savenotes
\begin{savenotes}
\begin{align}
A &\stackrel{\footnote{\label{eqn-note}equation note labeled}}{=} B\\
&\stackrel{\footnote{equation note a}}{=} C\\
&\stackrel{\footnote{equation note b}}{=} D
\end{align}
\end{savenotes}
% Problem B: someone write a damned package for this already
% we can usually avoid this problem unless
% the footnotes are right near the page-break like this
\begin{landscape}
\clearpage
\begin{table}[htb]
\begin{tabular}{p{0.95\hsize}}
\lipsum[1-3]
\tablefootnote{test 1}
\tablefootnote{test 2}
\tablefootnote{test 3}
\end{tabular}
\end{table}
\clearpage
\end{landscape}
\end{document}