我想将两个矩阵放在一起,这样矩阵的列也可以放在一起。下面是我想要的示例:
|100 200|
A=| 30 3 |
| 1 119|
b=[ 1 0 ]
我尝试过这个:
\begin{align*}
A= &\begin{vmatrix}
100 & 200 \\
30 & 3\\
1 & 119
\end{vmatrix}\\
b= &\begin{bmatrix}
1 & 0
\end{bmatrix}
\end{align*}
...但它只对齐了 = 符号,而不是两个矩阵的列。有什么诀窍吗?提前致谢!
答案1
我认为数字应该在相应的列中右对齐。如果是这样,你可以
使用
{vmatrix*}[r]
环境并采用适当选择的指令用不可见的零\phantom
“填充”行向量中的数字;或者b
加载
siunitx
包并在环境中使用其S
列类型array
。
\documentclass{article}
\usepackage{mathtools}% for 'vmatrix*' and 'align*' env.
\usepackage{siunitx} % for 'S' column type
\begin{document}
\begin{align*}
A&= \begin{vmatrix*}[r]
100 & 200 \\
30 & 3\\
1 & 119
\end{vmatrix*}\\
b&= \begin{vmatrix*}[r]
\phantom{00}1 & \phantom{00}0
\end{vmatrix*}
\end{align*}
\begin{align*}
A&= \left\lvert
\begin{array}{@{}*{2}{S[table-format=3.0]}@{}}
100 & 200 \\
30 & 3\\
1 & 119
\end{array}
\right\rvert\\
b&= \left\lvert
\begin{array}{@{}*{2}{S[table-format=3.0]}@{}}
1 & 0
\end{array}
\right\rvert
\end{align*}
\end{document}
答案2
扩展 Mico 的解决方案,使用起来比较棘手bmatrix
,因为括号越长,宽度就越宽。我使用保存框来测量宽度,而不必输入两次代码。
\documentclass{article}
\usepackage{mathtools}% for 'bmatrix*'
\usepackage{array}
\usepackage{collcell}
\newlength{\mywidth}
\settowidth{\mywidth}{$222$}% adjust to fit
\newcommand{\Rcolumn}[1]{\mathmakebox[\mywidth][r]{#1}}
\newcolumntype{R}{>{\collectcell\Rcolumn}c<{\endcollectcell}}
\newsavebox{\tempbox}
\begin{document}
\savebox{\tempbox}{$\displaystyle \begin{bmatrix*}[R]
100 & 200 \\
30 & 3\\
1 & 119
\end{bmatrix*}$}
\begin{align*}
A&= \usebox{\tempbox}\\
b&= \mathmakebox[\wd\tempbox][c]{\begin{bmatrix*}[R]
1 & 0
\end{bmatrix*}}
\end{align*}
\end{document}