为什么我的矩阵列未正确对齐?(左侧或右侧空格)

为什么我的矩阵列未正确对齐?(左侧或右侧空格)

如果我将 & 放在右侧,右侧就会出现空格。如果我将 & 放在左侧,左侧就会出现空格。我找不到有关此问题的任何信息。我​​只希望我的矩阵看起来和其他人的一样正常!

\[
\begin{bmatrix}
 1 & -2 & 0 & \\
 5 & 0 & 1 & \\
 1 & 2 & -1 & 
\end{bmatrix}
\begin{bmatrix} & x \\ & y \\ & z \end{bmatrix} = 
\begin{bmatrix} & 4 \\ & 7 \\ & 3 \end{bmatrix} 
\]

在此处输入图片描述

答案1

我只希望我的矩阵看起来和其他人的一样正常!

您没有定义“看起来正常”对您来说意味着什么,所以我猜您不想要空格并且想要整数在列内右对齐,即,就好像它们的隐式小数标记是对齐的一样。

amsmath软件包提供了几个简化矩阵输入的环境。其中包括matrix(无包围)、pmatrix(用圆形包围)正方形bmatrixb球拍)和vmatrix(由垂直线)。其设置的一个优点是,您不必预先指定列数;LaTeX 可以根据给定的输入自动确定列数。列分隔符是,就像和环境&中的情况一样。要输入列向量,请确保不使用字符,而只使用换行符指令。arraytabular&\\

这些环境的列默认居中。如果您想左对齐或右对齐矩阵中的所有列,我建议您加载包mathtools(包的超集amsmath)并使用其上述环境的“星号”变体。例如,\begin{bmatrix*}[r] ...\end{bmatrix*}` 告诉 LaTeX 右对齐所有列的内容。

我有预感你真正想要的是这个。我说得对吗?

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[
\begin{bmatrix*}[r]
   1 & -2 &  0 \\
   5 &  0 &  1 \\
   1 &  2 & -1  
\end{bmatrix*}
\begin{bmatrix} x \\ y \\ z \end{bmatrix} 
= 
\begin{bmatrix} 4 \\ 7 \\ 3 \end{bmatrix} 
\]
\end{document}

答案2

您已定义 4 列

\begin{bmatrix}
 1 & -2 & 0 & \\
 5 & 0 & 1 & \\
 1 & 2 & -1 & 
\end{bmatrix}

和 2 列

\begin{bmatrix} 
& x \\ & y \\ & z 
\end{bmatrix} = 
\begin{bmatrix} 
& 4 \\ & 7 \\ & 3 
\end{bmatrix}, 

因此 Latex 会为每个空列留出空间。

答案3

使用该包,spalign您可以获得与@Mico相同的答案。事实上,如果我添加这个MWE:

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{spalign}


\begin{document}
\[ \spaligndelims{[}{]}\spalignmat[r]{1 -2 0; 5 0 1;1 2 -1}\spaligndelims{[}{]}\spalignvector{x; y; z} =\spaligndelims{[}{]}\spalignvector{4; 7; 3}\]
\end{document}

你将会拥有:

在此处输入图片描述

对于矩阵,您始终可以选择[r](参见\spalignmat[r]),我已将命令\spaligndelims{[}{]}切换到方括号。此包不使用 and,&\\它对空格非常敏感。事实上,要分隔数组的元素,您需要插入空格。

相关内容