Como consertar esse ambiente alinhado um pouco mais inteiro?
Pergunta
Estou escrevendo uma descrição de como as funções recursivas são aplicadas em listas usando o align
ambiente de amsmath
em látex. Aqui está o código:
\begin{align*}
& \reduce (+, 0, & [1, 2, 3, 4]) \\
= & \reduce (+, 0 + 1, & [2, 3, 4]) \\
= & \reduce (+, 0 + 1 + 2, & [3, 4]) \\
= & \reduce (+, 0 + 1 + 2 + 3, & [4]) \\
= & \reduce (+, 0 + 1 + 2 + 3 + 4, & []) \\
= & 0 + 1 + 2 + 3 + 4\\
= & 10
\end{align*}
Ou minha tentativa de melhorar a legibilidade. Inserido \quad
está lá:
\begin{align*}
& \reduce (+,\quad 0, & [1, 2, 3, 4]) \\
=& \reduce (+,\quad 0 + 1, & [2, 3, 4]) \\
=& \reduce (+,\quad 0 + 1 + 2, & [3, 4]) \\
=& \reduce (+,\quad 0 + 1 + 2 + 3, & [4]) \\
=& \reduce (+,\quad 0 + 1 + 2 + 3 + 4, & []) \\
=& 0 + 1 + 2 + 3 + 4\\
=& 10
\end{align*}
Simplesmente não parece bom. Aqui está uma imagem rápida deste último:
http://havu.viuhka.fi/kuvat/alignenv.png
É quase legível e estético, mas não exatamente.
Como tornar a lacuna menor? E quaisquer outras dicas que você possa ter são apreciadas!
Solução
Que tal usar um ambiente tabular em vez de alinhar, com o qual você pode controlar mais facilmente o alinhamento das colunas? Eu pessoalmente gostei dos resultados de:
\begin{tabular}{ r l c }
& reduce(+,\;\, 0, & [1, 2, 3, 4]) \\
=& reduce(+,\;\, 0 + 1, & [2, 3, 4]) \\
=& reduce(+,\;\, 0 + 1 + 2, & [3, 4]) \\
=& reduce(+,\;\, 0 + 1 + 2 + 3, & [4]) \\
=& reduce(+,\;\, 0 + 1 + 2 + 3 + 4, & []) \\
=& 0 + 1 + 2 + 3 + 4\\
=& 10
\end{tabular}
Causa o conjunto à direita de formar (visualmente falando) uma forma de triângulo de cabeça para baixo. Eu também substituí quad por ; , quad parecia demais e ; Não é o suficiente ... espaço lá.
Eu pensei brevemente em fazer o mesmo com as somas em sua própria coluna, mas decidi que as somas 'crescendo à direita' eram visualmente mais eficazes.