以下代码排版了三变量线性方程组。为什么第二个加号前有多余的空格?
\documentclass[10pt]{amsart}
\usepackage{mathtools,array}
\begin{document}
\begin{equation*}
\left\{
\begin{array}{@{} r@{}l r@{}l @{}l}
a_{1,1}x_{1,1} & {}+{} a_{1,2}x_{1,2} & {}+{} & a_{1,3}x_{1,3} & {}={} c_{1} \\
a_{2,1}x_{2,1} & {}+{} a_{2,2}x_{2,2} & {}+{} & a_{3,1}x_{2,3} & {}={} c_{2} \\
a_{3,1}x_{3,1} & {}+{} a_{3,2}x_{3,2} & {}+{} & a_{3,3}x_{3,3} & {}={} c_{3}
\end{array}
\right.
.
\end{equation*}
\end{document}
答案1
一种可能性array
是将列之间的“空间”设置为所需的二进制/关系运算符。即,
\documentclass[10pt]{amsart}
\usepackage{array}
\begin{document}
\begin{equation*}
\left\{
\begin{array}{@{} l @{{}+{}} l @{{}+{}} l @{{}={}} l @{}}
a_{1,1}x_{1,1} & a_{1,2}x_{1,2} & a_{1,3}x_{1,3} & c_{1}, \\
a_{2,1}x_{2,1} & a_{2,2}x_{2,2} & a_{3,1}x_{2,3} & c_{2}, \\
a_{3,1}x_{3,1} & a_{3,2}x_{3,2} & a_{3,3}x_{3,3} & c_{3}.
\end{array}
\right.
\end{equation*}
\end{document}
这样做的好处是不需要很多列。缺点是源代码不太清晰。
答案2
第 2 列和第 3 列之间有通常的列间距,因为您忘记了@{}
它们之间的间距。
实际上,这里不需要数组,因为所有行仍然具有相同的宽度。
\documentclass[10pt]{amsart}
\begin{document}
\begin{equation*}
\begin{cases}
a_{1,1}x_{1,1} + a_{1,2}x_{1,2} + a_{1,3}x_{1,3} = c_{1} \\
a_{2,1}x_{2,1} + a_{2,2}x_{2,2} + a_{3,1}x_{2,3} = c_{2} \\
a_{3,1}x_{3,1} + a_{3,2}x_{3,2} + a_{3,3}x_{3,3} = c_{3}
\end{cases}
\end{equation*}
\end{document}
我不会在 后面加句号cases
,因为它会不知从何处垂下。
对于一般的线性系统,您可以使用autoaligne
:
\documentclass[10pt]{amsart}
\usepackage{autoaligne}
\begin{document}
\begin{equation*}
\left\{
\aavcoeff{1.5}
\autoaligne{
23x_1 + 3x_2 + x_3 = 8 \\
8x_1 - 44x_2 + 12x_3 = \-2 \\
\-2x_1 + x_2 + x_{3,3} = 42
}
\right.
\end{equation*}
\end{document}
答案3
这里有一些更通用的对齐,而不必使用@{}
列间空间(仅\setlength{\arraycolsep}{0pt}
):
\documentclass{article}
\usepackage{amsmath,array}
\begin{document}
\begin{equation*}
\left\{
\setlength{\arraycolsep}{0pt}
\begin{array}{ r>{{}}l >{{}}l >{{}}l }
a_{1,1} x_{1,1} & + a_{1,2} x_{1,2} & + a_{1,3} x_{1,3} & = c_1 \\
a_{2,1} x_{2,1} & + a_{2,2} x_{2,2} & + a_{3,1} x_{2,3} & = c_2 \\
a_{3,1} x_{3,1} & + a_{3,2} x_{3,2} & + a_{3,3} x_{3,3} & = c_3
\end{array}
\right.
\end{equation*}
\begin{equation*}
\left\{
\setlength{\arraycolsep}{0pt}
\begin{array}{ r>{{}}l >{{}}l >{{}}l }
a x_{1,1} & + a_{1,2} x_{1,2} & + a_{1,3} x_{1,3} & = c_1 \\
a_{2,1} x_{2,1} & + b x_{2,2} & + a_{3,1} x_{2,3} & = c_2 \\
a_{3,1} x_{3,1} & + a_{3,2} x_{3,2} & + c x_{3,3} & = c_3
\end{array}
\right.
\end{equation*}
\begin{equation*}
\left\{
\setlength{\arraycolsep}{0pt}
\begin{array}{ r >{{}}c<{{}} r >{{}}c<{{}} r >{{}}l }
a x_{1,1} & + & a_{1,2} x_{1,2} & + & a_{1,3} x_{1,3} & = c_1 \\
a_{2,1} x_{2,1} & + & b x_{2,2} & + & a_{3,1} x_{2,3} & = c_2 \\
a_{3,1} x_{3,1} & + & a_{3,2} x_{3,2} & + & c x_{3,3} & = c_3
\end{array}
\right.
\end{equation*}
\end{document}
答案4
alignat
用和编写线性系统要简单得多empheq
(不要加载,mathtools
因为empheq
它会这样做):
\documentclass[10pt]{amsart}
\usepackage{empheq}
\begin{document}
\begin{empheq}[left=\empheqlbrace]{alignat*=3}
a_{1,1}x_{1,1} & + {}& a_{1,2}x_{1,2} & +{} & a_{1,3}x_{1,3} & = c_{1} \\
a_{2,1}x_{2,1} & + {}& a_{2,2}x_{2,2} & +{} & a_{3,1}x_{2,3} & = c_{2} \\
a_{3,1}x_{3,1} & + {}& a_{3,2}x_{3,2} & +{} & a_{3,3}x_{3,3} & = c_{3}
\end{empheq}
\end{document}