将方程与多个子方程组对齐

将方程与多个子方程组对齐

我通常使用subequations嵌套环境align,这样我就可以使用整齐的 1a、1b、1c 等编号来很好地对齐方程式,这样就没问题了。但现在我仍然希望对齐这些多个方程式,但使用不同的组,例如:

x = a + v     (1)
y = w + bc   (2a)
w = z^2 + g  (2b)
q = o + pq   (3a)
r = s^t      (3b)

为了回答这个问题,我随便用了一些东西。所以,我想要使用我们在对齐环境中使用的相同技术(& 字符)对齐所有这些方程,并保留单独的子方程组。这可能吗?

编辑

因此,在 @Zarko 的帮助下,对齐问题得到了解决(这实际上是我所要求的),但是,如何引用没有字母的方程式呢?我需要这样的东西:

这些方程式\ref{eq:first}显示\ref{eq:last}了一些有趣的事情:

\begin{align}
    x &= a + v   \label{eq:first}               \\
    y &= w + bc   \tag{\addtocounter{equation}{1}\theequation a}      \\
    w &= z^2 + g  \tag{\theequation b}      \\
    q &= o + pq \tag{\addtocounter{equation}{1}\theequation a} \label{eq:last}\\
    r &= s^t \tag{\theequation b}
\end{align}

在这种情况下,\ref{eq:last}将变成!3a,而我只需要3

答案1

尝试

\documentclass{article}
    \usepackage{amsmath}

\newcounter{subeq}
\newcommand{\stags}{
\addtocounter{equation}{+1}
\setcounter{subeq}{0}
                    }
\newcommand{\stag}{%
    \addtocounter{subeq}{1}%
    \theequation\alph{subeq}%
                    }

    \begin{document}
    \begin{align}
x &= a + v                       \label{eq:1}    \\
                \stags
y &= w + bc     \tag{\stag}      \label{eq:2a}   \\
w &= z^2 + g    \tag{\stag}      \label{eq:2b}   \\
q &= o + pq                      \label{eq:3}    \\
                \stags
y &= w + bc     \tag{\stag}      \label{eq:4a}   \\
w &= z^2 + g    \tag{\stag}      \label{eq:4b}

\end{align}
Test of referencing: \eqref{eq:1}, \eqref{eq:2a}, \eqref{eq:2b}, \eqref{eq:3}, \eqref{eq:4a} and \eqref{eq:4b}.
    \end{document}

编辑:第一个解决方案我升级了子方程计数器,并定义了一些新命令,这些命令稍微简化了方程标签的编写。解决方案仍然很粗糙,但它有效。引用也有效......但不像 OP 所希望的那样。(到目前为止)不可能对一个方程使用两个标签或两个标签,因此使用此解决方案您无法引用具有共同引用的子方程。

现在我也进一步简化MWE。

在此处输入图片描述

相关内容