stackrel/overset 中带有 hyperref 的方程式中有多个脚注

stackrel/overset 中带有 hyperref 的方程式中有多个脚注

我尝试在 align* 环境中将多个脚注放在等号上。使用一个脚注,这很容易:

\begin{align*}
x\overset{\footnotemark}{=}y
\end{align*}
\footnotetext{Comment1}

没关系。所以,我认为当我添加更多脚注时,LaTeX 会自动理解我:

\begin{align*}
x\overset{\footnotemark}{=}y\overset{\footnotemark}{=}z
\end{align*}
\footnotetext{Comment1}
\footnotetext{Comment2}

但当然没有。过了一会儿我修改了它:

\begin{align*}
x\overset{\footnotemark[1]}{=}y\overset{\footnotemark[2]}{=}z
\end{align*}
\footnotetext[1]{Comment1}
\footnotetext[2]{Comment2}

而且它成功了!有点……首先,我使用的是 hyperref,而这些脚注没有链接。其次,当我尝试创建新的脚注时:

\begin{align*}
x\overset{\footnotemark[1]}{=}y\overset{\footnotemark[2]}{=}z
\end{align*}
\footnotetext[1]{Comment1}
\footnotetext[2]{Comment2}

And now for something completely different\footnote{Python, M.}.

它把编号弄乱了。

此外,手动插入脚注不会打印它们:

\begin{align*}
x\overset{\footnote{Comment1}}{=}y\overset{\footnote{Comment2}}{=}z
\end{align*}

(有链接,但没有脚注)。

有没有什么巧妙的方法可以做我想做的事?

答案1

如果不需要超链接,那么这样使用stackengine就足够了:

\documentclass{article}
\usepackage{stackengine}
\usepackage{hyperref}
\textheight 1.5in
\stackMath
\begin{document}
\[
y \stackon[1.5pt]{=}{\setstackgap{S}{0.5pt}%
  \Shortstack{\footnotemark[1] \footnotemark[2] \footnotemark[3]}} x
\footnotetext[1]{Comment 1}
\footnotetext[2]{Comment 2}
\footnotetext[3]{Comment 3}
\]
\end{document}

在此处输入图片描述

就超链接而言,我可以编译以下代码:

\documentclass{article}
\usepackage[usestackEOL]{stackengine}
\usepackage{hyperref}
\textheight 1.5in
\stackMath
\begin{document}
\[
y \stackon[1.5pt]{=}{\Shortstack{\footnote{Comment 1}\\\footnote{Comment 2}}} x
\]
\end{document}

尽管超链接出现在等号上方,但其编号错误,并且没有指向页面底部的任何有意义的文本。

相关内容