如实实现将不同行的方程组编号垂直对齐?

发布于 2021-11-20 10:30:23

在方程组推导中,对每个方程都进行了编号,如 (1), (2),以便在推导时引用。
这个编号使用 \tag 来实现适合。由由于在方程组对齐时,使用了 alignedat,导致无法使用 \tag。而如果手工写 (1) ,怎么才能实现将 (1') 和 (1) 垂直对齐?

在外侧,使用 align* (也可以考虑使用表格)实现方程组之间的对齐。

\documentclass[UTF8,11pt]{ctexart}
\usepackage{amsmath}
\begin{document}

\begin{align*}
  &\left\{
    \begin{alignedat}{3}
        x   & +{} & 3y = 11, & \qquad & (1)\\
        2x  & -{} & y = -9   &  &(2)
    \end{alignedat}
  \right. \\
  result & \left\{
    \begin{alignedat}{3}
        x &   &   = x_1, & \qquad & (1')\\
          &   & y = y_1  &  &(2')
    \end{alignedat}
  \right. \\
\end{align*}
\end{document}

查看更多

关注者
0
被浏览
1.8k
雾月
雾月 2021-11-21
这家伙很懒,什么也没写!

难点在于既要使用 alignat 环境(包含编号),又要有大括号,又要跨括号对齐。任意两点其实都不算难,但是三点都要实现就比较麻烦了。这里提供两种并不优雅的解决方案。

一个是使用 array 环境。

% \usepackage{array,multirow}
{\renewcommand\arraystretch{1.3}\[
\begin{array}{r@{} *{2}{r@{}>{{}}c<{{}}@{}} l@{\qquad}r} %% @{} 为了去除间距
\multirow{2}*{$\biggl\{\biggr.$}& x  & + & 3y & = & 11 & (1) \\
                                & 2x & - & y  & = & -9 & (2) \\
\multirow{2}*{result$\biggl\{\biggr.$} & x & = & x_1 &&& (1') \\
                                       & y & = & y_1 &&& (2')
\end{array}
\]}

效果如下:
image.png
这里的大括号是对齐的
image.png
不过编号的位置需要设置,这里使用一个 \quad

另一个就是使用 empheq 宏包的 empheq 环境,该宏包属于 mathtools 的一部分,(详细用法查看其参考文档)。
实际上,不要求括号处对齐是比较容易实现的:

% \usepackage{amsmath,empheq}
\begin{empheq}[left={ }\empheqlbrace]{alignat*=2}
x  &+{}& 3y &= 11, \tag{1} \\
2x &-{}&  y &= -9 \tag{2}
\end{empheq}

\begin{empheq}[left=\llap{result}\empheqlbrace]{align*}
x&=x_1, \tag{1'} \\
y&=y_1 \tag{2'}
\end{empheq}

image.png

如果在括号处对齐则需要半手动调整间距了:

% \usepackage{amsmath,empheq}
\newdimen\tmpadim
\newdimen\tmpbdim
%% 这两个是为了计算宽度
\settowidth\tmpadim{$
  \begin{alignedat}{2}
    x  &+{}& 3y &= 11, \\
    2x &-{}&  y &= -9 
  \end{alignedat}
$}
\settowidth\tmpbdim{$
  \begin{aligned}
    x &= x_1, \\
    y &= y_1
  \end{aligned}
$}

\begin{empheq}[left={ }\empheqlbrace]{alignat*=2}
x  &+{}& 3y &= 11, \tag{1}\label{eq:1} \\
2x &-{}&  y &= -9 \tag{2}
\end{empheq}

\begin{empheq}[left=\llap{result}\empheqlbrace]{align*}
x&=x_1, \hspace{\dimexpr\tmpadim-\tmpbdim} \tag{1'}\label{eq:1'} \\ % 插入一个间距
y&=y_1 \tag{2'}
\end{empheq}

\eqref{eq:1} and \eqref{eq:1'}

image.png
括号处是对齐的:
image.png

8 个回答
数海拾贝
数海拾贝 2021-11-21
这家伙很懒,什么也没写!

应该是这样把

LaTeXStudio
LaTeXStudio 2021-11-21
这家伙很懒,什么也没写!

看看这里:
image.png

乙醇
乙醇 2021-11-23
这家伙很懒,什么也没写!

仿照雾月@u10307 的做法, 我用 tabularray 实现了一下, 更简洁一些

\documentclass{article}
\usepackage{tabularray}
\usepackage{amsmath}
\begin{document}
    \[
        \begin{tblr}{
            colspec     =   {rrrrrrr},
            column{Z}   =   {8cm},
            columns     =   {rightsep=2pt, leftsep=2pt},
            column{1}   =   {rightsep=0pt},
            column{2}   =   {leftsep=0pt},
            cell{1}{1}  =   {r = 2, c = 1}{m},
            cell{3}{1}  =   {r = 2, c = 1}{m}
        }
            \bigg\{   & x  & + & 3y & = & 11 & (1) \\
                      & 2x & - & y  & = & -9 & (2)\\
            \text{result }\bigg\{   & x & &   & = & x_1 & (1') \\
                                   &   & & y & = & y_1 & (2')
        \end{tblr}
    \]
\end{document}

image.png

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览