Espaçamento em `alignat' e `alignedat'

Espaçamento em `alignat' e `alignedat'

Olá.

Eu estava tentando compor o seguinte sistema de equações:

sistema de equações

Usei o seguinte código para fazer isso:

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

Agora, tenho 2 perguntas:

  1. Existe uma maneira mais natural de adicionar espaçamento entre as colunas?
  2. Por que {} + {}funciona (ou seja, soma os espaços ao redor da +placa)? Consegui por acidente (tempos de desespero exigem medidas desesperadas), mas não tenho ideia de como/por que funciona.

Responder1

O código {}+{}funciona porque adiciona átomos vazios em ambos os lados da operação, garantindo o espaçamento correto.

No entanto, você pode inserir esta fórmula mais facilmente com 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}

Aqui o {}+{}truque também é usado, mas oculto no tipo de coluna temporária B(para Binário).

insira a descrição da imagem aqui

Responder2

Você não precisa de tantos pontos de alinhamento. Na verdade, o número de pontos de alinhamento depende essencialmente do número de pontos verticais que você deseja alinhar. Dou duas possibilidades, com 4 ou 2 pontos de alinhamento (7 ou 3 e comerciais). O alinhamento em si usa o \vdotswithincomando from mathtools, e as chaves vêm do empheqpacote (que carrega mathtools). Você não precisa de um alignedatambiente aninhado em um equation*, alignat*ele fará o trabalho.

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

insira a descrição da imagem aqui

informação relacionada