命令 eqref 链接到错误的方程式但显示正确的编号

命令 eqref 链接到错误的方程式但显示正确的编号

我正在尝试引用align环境内环境内的元素subequations。命令正确显示了引用编号 eqref,但单击时指向了错误的方程式。我报告了一个重现该问题的最小样本,我希望得到一些帮助。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\usepackage{amsmath,bm}


\begin{document}
First NLP
\begin{subequations}\label{eq:opt_00}
\begin{align}
   &\min_{\bm{x}} J(\bm{x}) \\
   &\text{subject to:} \nonumber \\
    &\bm{x}_{min} \le \bm{x} \le \bm{x}_{max} \label{eq:opt_kin_bounds}\\
    &\textit{some constraint on } \bm{x} \label{eq:opt_kin_ballistic}
\end{align}
\end{subequations}
Then another NLP
\begin{subequations}\label{eq:opt_0}
\begin{align}
   &\min_{\bm{w}} J(\bm{w}) \\
    &\text{subject to:} \nonumber \\
    &\bm{x}_{i+1}-\bm{\phi}^L_{d\text{-}t}(\bm{x}_i,\bm{u}_i)=\ \bm{0} \quad i=0 \hdots N-1 \label{eq:opt_0_dynamics} \\
    &\bm{x}_0-\bm{x}_{init}= \ \bm{0} \label{eq:opt_0_xinit}\\
    &\bm{x}_N - \bm{x}_{th}=\bm{0} \label{eq:opt_0_xthrow}\\
    &\bm{x}_{min} \le \bm{x}_i \le \bm{x}_{max} \quad i=0 \hdots N \label{eq:opt_0_xbound}\\
    &\bm{u}_{min} \le \bm{u}_i \le \bm{u}_{max} \quad i=0 \hdots N-1 \label{eq:opt_0_ubound}\\
    &\textit{some constraints at } i=0 \hdots N \label{eq:opt_0_bal}.
\end{align}
\end{subequations}
Ref to the constraints \eqref{eq:opt_0_dynamics}, \eqref{eq:opt_0_xinit} are wrong, but \eqref{eq:opt_0_xthrow}, \eqref{eq:opt_0_xbound}, \eqref{eq:opt_0_ubound}, and \eqref{eq:opt_0_bal} are correct.

\end{document}

答案1

解决方案就是将其\usepackage{hyperref}作为最后一个包包含进去,就像在hyperref 使用子方程指向错误方程 如果将来有人需要这个,我会把它留在这里

相关内容