在方程组推导中,对每个方程都进行了编号,如 (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}
难点在于既要使用 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}
\]}
效果如下:
这里的大括号是对齐的
不过编号的位置需要设置,这里使用一个 \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}
如果在括号处对齐则需要半手动调整间距了:
% \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'}
括号处是对齐的:
仿照雾月@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}