当我想在某个操作符上面放置脚注时,我通常会使用类似这样的方法
\begin{equation}
2 + 2 \stackrel{\footnotemark}{=} 4
\end{equation}
\footnotetext{it's trivial.}
只要我在等式中只使用一次,它就可以正常工作。如果我尝试使用它两次,则两个脚注都会用更大的计数器编号,如下所示:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
%
\begin{equation}
1 \stackrel{\footnotemark}{=} 1 \stackrel{\footnotemark}{=} 1
\end{equation}
\footnotetext{is equal to}
\footnotetext{is the same as}
%
\end{document}
在接受的答案中stackrel/overset 中带有 hyperref 的方程式中有多个脚注,解决方法是使用包stackon
中的命令stackengine
。但是,这有一些缺点:
1)超链接不起作用;
2)以下计数器没有正确的数字,如本例所示:
\begin{equation}
1 \stackon[1pt]{=}{\Shortstack{\footnotemark[1]}} 1 \stackon[1pt]{=}{\Shortstack{\footnotemark[2]}} 1
\end{equation}
\footnotetext[1]{is equal to}
\footnotetext[2]{is the same as}
%
\footnote{a third footnote, with the wrong counter.}
3)删除等号前后的空格:
所以我的问题是:有没有办法在继续使用的同时解决这个问题stackrel
?
答案1
\footnotemark
如有疑问,请使用保存箱。我不知道为什么这样做有效,但我怀疑这与同步和的计数器有关\footnotetext
。
\documentclass{article}
\usepackage{hyperref}
\newsavebox{\footboxa}% reserve global box registers
\newsavebox{\footboxb}
\begin{document}
%
\sbox\footboxa{\footnotemark}\footnotetext{is equal to}%
\sbox\footboxb{\footnotemark}\footnotetext{is the same as}%
\begin{equation}
1 \stackrel{\usebox\footboxa}{=} 1 \stackrel{\usebox\footboxb}{=} 1
\end{equation}
%
\end{document}