我正在尝试引用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 使用子方程指向错误方程
如果将来有人需要这个,我会把它留在这里