두 행렬의 요소를 수평으로 정렬하는 방법은 무엇입니까?

두 행렬의 요소를 수평으로 정렬하는 방법은 무엇입니까?

행렬의 열도 서로 아래에 렌더링되도록 두 개의 행렬을 서로 아래에 배치하고 싶습니다. 내가 갖고 싶은 예는 다음과 같습니다.

  |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보이지 않는 0으로 "채우기"합니다. 또는

  • 패키지를 로드 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}

데모

관련 정보