我有一个矩阵,其条目很长,必须分成多行。所需的断点是+
每个矩阵元素中分隔项的运算符。以下代码说明了我面临的问题:+
每个矩阵元素第二行中的运算符显示为一元运算符而不是二元运算符。这可以改变吗?
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[\begin{bmatrix}
a + b & e + f \\
+c + d & +g + h \\[6pt]
i + j & m + n \\
+k + l & +o + p \\
\end{bmatrix}\]
\end{document}
我最希望的是,每个术语都与其下方的相应术语垂直对齐(例如,a+b
与 垂直对齐c+d
),并将附加+
符号放在左侧,并与随后的术语适当间隔开c
(即,遵循与二元运算符一致的间距)。
另外,为了澄清顶部两行和底部两行分别构成单行,我在第二行和第三行之间引入了空格(在第二个矩阵行的[6pt]
结束之后添加\\
)。有没有更好的方法来选择性地引入空格?
最后,与我手动用分隔符分隔长行相比,是否有更自动化的方法在矩阵环境中实现换行\\
?谢谢。
答案1
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[\begin{bmatrix*}[r]
a + b & e + f \\
{}+c + d & {}+g + h \\[6pt]
i + j & m + n \\
{}+k + l & {}+o + p \\
\end{bmatrix*}\]
\end{document}
答案2
要将运算符从一元运算符改为二元运算符,请在其前面放置一个空组,例如{}+c+d
。您可以使用\phantom
命令来正确获得垂直对齐:\phantom{{}+{}}a+b
请参阅第 3.7.1 节LaTeX 的简单介绍。