我想將兩個矩陣放置在彼此下方,以便矩陣的列也呈現在彼此下方。我想要的一個例子:
|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}