使用自定义标签更正(子)方程式的超链接锚点

使用自定义标签更正(子)方程式的超链接锚点

在此示例中:

\documentclass{article}

\usepackage{amsmath}
\usepackage{hyperref}

% https://tex.stackexchange.com/a/412381:
\makeatletter
\newcommand{\linkdest}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
\makeatother

\begin{document}

\begin{subequations}
    \begin{align}
        1 + 1 &= 2 \text{.} \linkdest{htar:target1}{\tag{T1}} \\
        2 + 2 &= 4 \text{.} \label{eq:equation1}
    \end{align}
\end{subequations}

\noindent eq.~\hyperlink{htar:target1}{T1}.

\noindent eq.~\ref{eq:equation1}.

\end{document}

超级链接1a指向公式标签的开头,如下图所示。不幸的是,链接T1为带有手动标记的方程式创建的标记指向方程式的末尾,而不是实际标记。可以测试超链接的目标,例如,通过单击放大的 PDF 查看器中的链接。

实际结果

如何纠正指向自定义标签的此类链接的锚点以实现如下图所示的结果?

期望结果

答案1

将目标放入标签内:

\documentclass{article}

\usepackage{amsmath}
\usepackage{hyperref}

% https://tex.stackexchange.com/a/412381:
\makeatletter
\newcommand{\linkdest}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
\makeatother

\begin{document}

\begin{subequations}
    \begin{align}
        1 + 1 &= 2 \text{.} \tag{\linkdest{htar:target1}{T1}} \\
        2 + 2 &= 4 \text{.} \label{eq:equation1}
    \end{align}
\end{subequations}

\noindent eq.~\hyperlink{htar:target1}{T1}.

\noindent eq.~\ref{eq:equation1}.

\end{document}

相关内容