O que está acontecendo neste ambiente de alinhamento? [duplicado]

Nov 25 2020

Em meu entendimento, o argumento de alignatera o número de colunas, e que usamos &para separá-las. Tentei o seguinte código:

\begin{alignat*}{3} \quad & P_{2}(x) &= (2)(2x-1)(x-1)-20x(x-1)+4x(2x-1)\\ \implies & \quad &= \boxed{-8x^{2}+10x+2} \end{alignat*}

que tem três colunas visíveis. No entanto, isso não funciona e produz espaçamentos estranhos. Remexendo ao redor, descobri que os códigos a seguir alcançam a aparência que eu queria originalmente (a única diferença é o duplo &&):

\begin{alignat*}{3} \quad & P_{2}(x) &&= (2)(2x-1)(x-1)-20x(x-1)+4x(2x-1)\\ \implies & \quad &&= \boxed{-8x^{2}+10x+2.} \end{alignat*}

O que estou entendendo mal aqui?

Respostas

2 Vincent Nov 25 2020 at 22:42

Como funciona o número de colunas

Como afirmado em amsmath's documentação (pp. 8),

Um ambiente variante alignatpermite que o espaço horizontal entre as equações seja especificado explicitamente. Este ambiente recebe um argumento, o número de "colunas de equação" (o número de pares de colunas alinhadas à direita-esquerda; o argumento é o número de pares): conte o número máximo de &s em qualquer linha, some 1 e divida por 2 .

Como funciona o alinhamento

Cada coluna de equação é alinhada em uma &e separada da próxima por outra &. Outra maneira de dizer isso é que, se você pensar em seu ambiente como um array, as colunas do array estão alternativamente alinhadas à direita e à esquerda. Isso é um tanto estranho de explicar porque é preciso distinguir entre “colunas de equação” e colunas do ambiente se você pensar nisso como um array. Um par dessas colunas de matriz forma uma coluna de equação.

De volta aos seus exemplos

Aqui está o alignatambiente do seu primeiro exemplo.

\begin{alignat*}{3} \quad & P_{2}(x) &= (2)(2x-1)(x-1)-20x(x-1)+4x(2x-1)\\ \implies & \quad &= \boxed{-8x^{2}+10x+2} \end{alignat*}

Aqui você especifica três colunas de equação, mas apenas duas são de fato usadas: uma para o \impliese outra onde as igualdades são colocadas. Na verdade, você usa três &s, então usando o cálculo da documentação, obtemos duas colunas.

A primeira coluna da equação é apenas, esquematicamente,

   \quad P_{2}(x)
\implies \quad

Ele está alinhado à esquerda P_{2}(x)e à direita do \implies. Em cada linha, a segunda &separa a primeira coluna da equação da próxima, que é apenas

= (2)(2x-1)(x-1)-20x(x-1)+4x(2x-1)
= \boxed{-8x^{2}+10x+2}

e que está alinhado à direita, pois é a primeira parte de um par que forma uma coluna de equação.

Seu segundo exemplo é exatamente o mesmo, exceto que a segunda coluna da equação agora está alinhada no sinal de igual, uma vez que as equações são colocadas na segunda parte do par, o que faz com que toda a coluna da equação, a primeira parte esteja vazia. O alinhamento parece bom, mas na verdade só porque alignatnão coloca nenhum espaço entre as colunas.

Eu acho que faria mais sentido colocar a P_{2}(x)parte na segunda coluna da equação também, com apenas a parte \impliesna primeira.

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{2} & & P_{2}(x) &= (2)(2x-1)(x-1)-20x(x-1)+4x(2x-1)\\ & \implies & &= \boxed{-8x^{2}+10x+2} \end{alignat*}
\end{document}

A saída é a mesma do seu segundo exemplo, mas o código é realmente mais consistente com o conteúdo das equações.