У меня есть система уравнений, разделенная на несколько строк с окружением 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
использует предоставленный пользователем номер уравнения, а счетчик уравнения не увеличивается (или увеличивается и уменьшается).