如何在 subeqnarray 中引用一个子方程?

如何在 subeqnarray 中引用一个子方程?

我定义了以下 subeqnarray

\documentclass{article}
\begin{document} 
    \begin{subeqnarray}
    & a_1+b_1=c_1, \label{eq:subeq1} \\
    & a_2+b_2=c_2, \label{eq:subeq2} \\
    & a_3+b_3=c_3. \label{eq:subeq3}
    \end{subeqnarray}
\end{document} 

我如何引用其中一个方程,比如 subeq2。我用过\ref{eq:subeq2},但它只给出了一个没有 b 的数字。我想要的是 (eq-number b)。或者还有其他方法可以实现我的目标吗?

答案1

我会不是使用subeqnarray环境。相反,我会(a)加载数学包装和(b)将align环境嵌套在subequations环境中。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath} % for "align" and "subequations" environments and "\eqref" macro
\setlength\textwidth{3in} % just for this example
\begin{document} 
\begin{subequations}
\begin{align}
    & a_1+b_1=c_1, \label{eq:subeq1} \\
    & a_2+b_2=c_2, \label{eq:subeq2} \\
    & a_3+b_3=c_3. \label{eq:subeq3}
\end{align}
\end{subequations}

A cross-reference to equation \eqref{eq:subeq1}.
\end{document} 

答案2

我坚决支持米科的建议他的回答关于切换到 提供的环境之一amsmath。但是,如果您决定继续使用subeqnarray,则需要使用\slabel而不是标准\label命令来获取交叉引用中的正确字符串:

\documentclass{article}
\usepackage{subeqnarray}

\begin{document} 
Some cross-references to subequations~\ref{eq:subeq1}, \ref{eq:subeq2} and~\ref{eq:subeq3}.
    \begin{subeqnarray}
    & a_1+b_1=c_1, \slabel{eq:subeq1} \\
    & a_2+b_2=c_2, \slabel{eq:subeq2} \\
    & a_3+b_3=c_3. \slabel{eq:subeq3}
    \end{subeqnarray}
\end{document}

在此处输入图片描述

另外,如果您加载amsmath,那么您可以使用\eqref它来自动获取交叉引用周围的括号,但同样,如果您加载amsmath,请切​​换到它提供的环境之一。

相关内容