在hyperref 文档,有一个相当神秘的建议用来gather
代替equation
。
“情况
equation
尚不明朗,因为没人有兴趣调查”
我理解为什么eqnarray
不推荐,但这是我第一次听说有问题equation
?如何解释?
答案1
这一切在历史中都有些失落,但是在使用hyperref
许多带标签的东西时,需要有某种东西来在最终的 pdf 中创建一个可以跳转到的目的地。
这些不可见节点在某些情况下会影响间距,这是 TeX 中一个长期存在的问题。特别是,它们会阻止一个宏回顾并“看到”最后添加的垂直空间。您会看到类似的\color
影响间距的问题(通常通过使用来解决\textcolor
)。
equation
是 TeX 原始$$
构造周围的一个非常薄的包装器,因此对于在方程式上方添加垂直空间的位置(相对于 hyperref 想要注入的任何 whatsit 节点)几乎没有提供控制。
相反,amsmath
环境已经抓取整个环境,测量宽度和对齐点,然后通过 tex 宏构建显示以插入主页,因此 hyperref 对注入 hyperref 节点的位置有更多的控制权。
话虽如此,该评论已经过时,可能意味着也可能不意味着当前的超链接代码确实存在问题equation
。
答案2
我也不推荐这种解决方案,我很高兴equation
使用hyperref
我能想到的唯一一个是这个奇怪的小东西
\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage[colorlinks]{hyperref}
%\let\equation\gather
%\let\endequation\endgather
\begin{document}
\begin{equation}
test \nonumber
\end{equation}
\begin{gather}
test
\end{gather}
\end{document}
如果不进行更改,equation
您将收到此警告:
pdfTeX warning (ext4): destination with the same identifier (name{eq
uation.0.1}) has been already used, duplicate ignored
\AtBegShi@Output ...ipout \box \AtBeginShipoutBox
\fi \fi
l.19 \end{document}
equation
如果你不知道+ 的组合\nonumber
在以下情况下存在问题,那么调试起来会很麻烦:hyperref
如果你知道它们有问题,那么只需找到它们并移除\nonumber
并替换equation
为equation*
我想知道是否还有其他原因