Как исправить это выравнивание среды немного neater?
Вопрос
Я пишу описание того, как рекурсивные функции применяются в списках с использованием align
окружающая среда от amsmath
в латекс. Вот код:
\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*}
Или мой попробуй усилить читабельность. Вставлен \quad
S там:
\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*}
Это просто не выглядит красиво. Вот быстрая картина последнего:
http://havu.viuhka.fi/kuvat/aligneNv.png.
Это практически как читаемое, так и эстемовые, но не совсем.
Как сделать пробел меньше? И любые другие советы, которые вы можете получить, ценится!
Решение
Как насчет использования табличной среды вместо выравнивания, с которой вы можете легче контролировать выравнивание столбцов? Я лично понравился результаты:
\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}
Вызывает набор направо на образование (визуально говоря) вверх номинальной формы треугольника. Я также заменил Quad с ; , Quad казался слишком много, а ; Не хватает ... места там.
Я кратко подумал, что делал то же самое с суммами в своей колонке, но решил, что рост суммы вправо »был визуально более эффективной.