¿Cómo alinear elementos de dos matrices horizontalmente?

¿Cómo alinear elementos de dos matrices horizontalmente?

Me gustaría colocar dos matrices una debajo de la otra para que las columnas de las matrices también se representen una debajo de la otra. Un ejemplo de lo que me gustaría tener:

  |100 200|
A=| 30  3 |
  | 1  119|

b=[ 1   0 ]

He probado esto:

\begin{align*}
    A= &\begin{vmatrix}
        100 & 200 \\
        30 & 3\\
        1 & 119
    \end{vmatrix}\\
    b= &\begin{bmatrix}
        1 & 0
    \end{bmatrix}
\end{align*}

...pero sólo alinea los signos =, pero no las columnas de las dos matrices. ¿Cuál es el truco? ¡Gracias de antemano!

Respuesta1

Supongo que los números deberían estar alineados a la derecha en las columnas respectivas. Si ese es el caso, podrías

  • utilizar {vmatrix*}[r]entornos y emplear \phantomdirectivas elegidas adecuadamente para "rellenar" los números en el bvector de fila con ceros invisibles; o

  • cargue el siunitxpaquete y use su Stipo de columna dentro de arraylos entornos.

ingrese la descripción de la imagen aquí

\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}

Respuesta2

Ampliando la solución de Mico, el problema del uso bmatrixes que los soportes se ensanchan a medida que crecen. Utilizo un cuadro de guardado para medir el ancho sin tener que ingresar el código dos veces.

\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}

manifestación

información relacionada