Как исправить это выравнивание среды немного аккуратнее? - PullRequest
0 голосов
/ 29 октября 2010

Я пишу описание того, как рекурсивные функции применяются в списках с использованием среды align из amsmath в LaTeX.Вот код:

\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

Он почти одновременно читабелен и эстетичен, но не совсем.

Как уменьшить зазор?И любые другие советы, которые вы можете иметь, приветствуются!

1 Ответ

1 голос
/ 30 октября 2010

Как насчет использования табличной среды вместо выравнивания, с помощью которой вы можете легче контролировать выравнивание столбцов?Мне лично понравились результаты:

\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 показался слишком большим, а \;недостаточно ... места там.

Я кратко подумал сделать то же самое с суммами в их собственной колонке, но решил, что суммы, "растущие вправо", визуально более эффективны.

...