Espaciado en `alignat' y `alignedat'

Espaciado en `alignat' y `alignedat'

Hola.

Estaba intentando componer el siguiente sistema de ecuaciones:

sistema de ecuaciones

Utilicé el siguiente código para hacerlo:

\begin{equation*}
    \left\{
    \begin{alignedat}{9}
        & b_{1,1} x_2 &&{} + {}&& b_{1,2} x_2 &&{} + {}&& \cdots &&{} + {}&& b_{1,9} x_9 &&{} = {}&& c_1 \\
        & b_{2,1} x_2 &&{} + {}&& b_{2,2} x_2 &&{} + {}&& \cdots &&{} + {}&& b_{2,9} x_9 &&{} = {}&& c_2 \\
        &&& \: \: \vdots &&&& \: \: \vdots &&&& \: \: \vdots &&&& \:\: \vdots \\
        & b_{9,1} x_2 &&{} + {}&& b_{9,2} x_2 &&{} + {}&& \cdots &&{} + {}&& b_{9,9} x_9 &&{} = {}&& c_9
    \end{alignedat}
    \right.
\end{equation*}

Ahora tengo 2 preguntas:

  1. ¿Existe una forma más natural de agregar espacio entre las columnas?
  2. ¿Por qué {} + {}funciona (es decir, agrega los espacios alrededor del +letrero)? Lo obtuve por accidente (tiempos desesperados exigen medidas desesperadas), pero no tengo idea de cómo ni por qué funciona.

Respuesta1

El código {}+{}funciona porque agrega átomos vacíos a cada lado de la operación, asegurando un espaciado correcto.

Sin embargo, puedes ingresar más fácilmente esta fórmula con array:

\documentclass{article}
\usepackage{amsmath}
\usepackage{array}

\begin{document}

\begin{equation*}
\left\{
\setlength{\arraycolsep}{0pt}% no padding
\newcolumntype{B}{>{{}}c<{{}}}
\begin{array}{ l B l B l B l B l }
b_{1,1} x_2 & + & b_{1,2} x_2 & + & \cdots & + & b_{1,9} x_9 & = & c_1 \\
b_{2,1} x_2 & + & b_{2,2} x_2 & + & \cdots & + & b_{2,9} x_9 & = & c_2 \\
  & \vdots && \vdots && \vdots &&  \vdots \\
b_{9,1} x_2 & + & b_{9,2} x_2 & + & \cdots & + & b_{9,9} x_9 & = & c_9
\end{array}
\right.
\end{equation*}

\end{document}

Aquí el {}+{}truco también se utiliza, pero está oculto en el tipo de columna temporal B(para Binario).

ingrese la descripción de la imagen aquí

Respuesta2

No necesitas tantos puntos de alineación. En realidad, la cantidad de puntos de alineación depende esencialmente de la cantidad de puntos verticales que desee alinear. Doy dos posibilidades, con 4 o 2 puntos de alineación (7 o 3 símbolos). La alineación en sí usa el \vdotswithincomando from mathtoolsy las llaves provienen del empheqpaquete (que carga mathtools). No necesita un alignedatentorno anidado en un equation*, alignat*hará el trabajo.

    \documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage[overload]{empheq}

\begin{document}

\begin{alignat*}{4}[left =\empheqlbrace]
     b_{1,1} x_2 &{}+ {}& b_{1,2} x_2 &{} + ⋯ +{} & b_{1,9} x_9 & ={} & c_1 \\
 b_{2,1} x_2 &{}+{} & b_{2,2} x_2 &{} + ⋯ + {}& b_{2,9} x_9 & = & c_2 \\[-1.5ex]
  \vdotswithin{b_{2,1} x_2}&& \vdotswithin{b_{2,2} x_2} && \vdotswithin{b_{2,9} x_9 } &&\vdotswithin{c_2} \\[-1ex]
     b_{9,1} x_2 &{}+ {}& b_{9,2} x_2 &{} + ⋯ + {}& b_{9,9} x_9 & = & c_9
\end{alignat*}

\begin{alignat*}{2}[left =\empheqlbrace]
     b_{1,1} x_2 &{}+ b_{1,2} x_2 + ⋯ + b_{1,9} x_9 & ={} & c_1 \\
 b_{2,1} x_2 &{}+ b_{2,2} x_2 + ⋯ + b_{2,9} x_9 & = {}& c_2 \\[-1.5ex]
  \vdotswithin{b_{2,1} x_2} && \vdotswithin{ = {}} \\[-1ex]
     b_{9,1} x_2 &{}+ b_{9,2} x_2 + ⋯ + b_{9,9} x_9 & = {}& c_9
\end{alignat*}

\end{document} 

ingrese la descripción de la imagen aquí

información relacionada