在单个方程式中多次使用 stackrel 内的脚注

在单个方程式中多次使用 stackrel 内的脚注

当我想在某个操作符上面放置脚注时,我通常会使用类似这样的方法

\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}

相关内容