答案1
无需使用empheq
, 就\left\{
足够了。
实际上,我可以建议两种更简单的方法来输入您的方程式。
\documentclass{article}
\usepackage{amsmath,siunitx}
\numberwithin{equation}{section}
\sisetup{output-decimal-marker={,}}
\begin{document}
\setcounter{section}{1}\setcounter{equation}{3}
\begin{equation}
\left\{
\setlength{\arraycolsep}{0pt}%
\renewcommand{\arraystretch}{1.2}%
\begin{array}{ *{5}{ r >{{}}c<{{}} } r }
x_1 &=& & & \num{0.25} x_2 &+& \num{0.25} x_3 & & &+& 50 \\
x_2 &=& \num{0.25} x_1 &+& & & &+& \num{0.25} x_4 &+& 50 \\
x_3 &=& \num{0.25} x_1 &+& & & &+& \num{0.25} x_4 &+& 25 \\
x_4 &=& & & \num{0.25} x_2 &+& \num{0.25} x_3 & & &+& 25
\end{array}
\right.
\end{equation}
\begin{equation}
\begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{bmatrix} =
\begin{bmatrix}
0 & \num{0.25} & \num{0.25} & 0 \\
\num{0.25} & 0 & 0 & \num{0.25} \\
\num{0.25} & 0 & 0 & \num{0.25} \\
0 & \num{0.25} & \num{0.25} & 0
\end{bmatrix}
\begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{bmatrix} +
\begin{bmatrix} 50 \\ 50 \\ 25 \\ 25 \end{bmatrix}
\end{equation}
\end{document}
有什么魔力*{5}{ r >{{}}c<{{}} }
?
一般来说,*{<number>}{<col specs>}
告诉 LaTeX 我们想要<number>
的副本<col specs>
;例如,*{12}{c}
表示十二个居中列,*{4}{lc}
表示四对左对齐和居中对齐的列(因此总共八列)。
如果我们计算列数,我们会发现我们需要其中的十一列,但前十列是右对齐(对于多项式项)和中心对齐(对于运算或关系符号)的列对。
但是,我们希望操作或关系符号周围有适当的空间,这可以通过键入{}+{}
或 来实现{}={}
。但是,我们可以做得更好!如果我们将列指定为
>{x} c <{y}
(array
需要该包),我们告诉 LaTeX,最终居中的列中的每个条目前面x
和后面都会有y
。所以我们可以这样做>{{}}c<{{}}
,然后就完成了!在列中输入+
或将得到和。=
{}+{}
{}={}
在由我打开的组中,\left\{
我将的列间距设置为零array
,因此只会出现在运算和关系符号周围按之前指定的方式插入的空格。此外,为了模拟等,数组内部的行间距应用了因子 1.2 cases
。aligned
答案2
我找到了!只需嵌套alignedat
在 内即可equation
empheq
。我认为:
alignedat
将方程式归为一类equation
数字
\begin{empheq}[left = \empheqlbrace]{equation}\begin{alignedat}{5}
x_1 &= & & \num{0.25} x_2 &{}+{}& \num{0.25} x_3 & & &{}+{}& 50 \\
x_2 &= \num{0.25} x_1 &{}+{}& & & &{}+{}& \num{0.25} x_4 &{}+{}& 50 \\
x_3 &= \num{0.25} x_1 &{}+{}& & & &{}+{}& \num{0.25} x_4 &{}+{}& 25 \\
x_4 &= & & \num{0.25} x_2 &{}+{}& \num{0.25} x_3 & & &{}+{}& 25
\end{alignedat}\end{empheq}
结果(就是上面的图片,我在更新问题之前找到了答案):