Как сделать так, чтобы гиперссылки указывали на верхнюю часть уравнения?

Как сделать так, чтобы гиперссылки указывали на верхнюю часть уравнения?

У меня есть система уравнений, разделенная на несколько строк с окружением splitи ссылкой на них, которую я хотел бы указать на верхнюю часть системы уравнений. Вот мой MWE:

\documentclass{article}
\usepackage{amsmath}
\usepackage{hyperref}

\begin{document}
    \begin{equation}\label{mylabel}
    \begin{split}
    \tau y + \nabla \phi(x)=0 \\
    D^{-1} y - x=0 \\
    y^T x \leq 1
    \end{split}
    \end{equation}

    The conditions \eqref{mylabel}...
\end{document}

Однако когда я нажимаю на гиперссылку в выходном PDF-файле, она направляет меня в середину уравнения, а не в его начало.

Я уже знаю этот пакет hypcap, но он работает только в плавающих средах...

решение1

Альтернативой является помещение \refstepcounterвнутрь уравнения, при условии, что оно \lableстоит ПЕРЕД \tag.

\documentclass{article}
\usepackage{amsmath}
\usepackage{hyperref}

\begin{document}
  \raisebox{\dimexpr-\abovedisplayskip-\baselineskip}[0pt][0pt]%
  {\hbox{\refstepcounter{equation}\label{mylabel}}}%
    \begin{equation*}
    \begin{split}
    \tau y + \nabla \phi(x)=0 \\
    D^{-1} y - x=0 \\
    y^T x \leq 1
    \end{split}\tag{\theequation}
    \end{equation*}

    The conditions \eqref{mylabel}...
\end{document}

Версия hyperref \refstepcounterпомещает a \hypertargetв это место. Версия hyperref \labelсохраняет значение последнего счетчика, увеличенного на , \refstepcounterвместе с \thepage, \@currentlabelи \@currentHref. \tagиспользует предоставленный пользователем номер уравнения, а счетчик уравнения не увеличивается (или увеличивается и уменьшается).

Связанный контент