Date Редакция Категория comp Теги LaTeX / формулы

Изначально в LaTeX для оформления систем уравнений использовалось окружение eqnarray. Затем, в пакете amsmath появилось окружение align, решающее ту же задачу. Так что же лучше использовать?

Применение eqnarray может вызвать ряд проблем, а именно:

  • несоразмерные расстояния вокруг символов отношений;
  • длинные уравнения «наползают» на номера уравнений;
  • проблемы с метками и ссылками.

Рассмотрим следующий пример:

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath} % align

\begin{document}

equation:
\begin{equation*}
  \dot x = v,
\end{equation*}
\begin{equation*}
  \dot v = F(x)
\end{equation*}

eqnarray:
\begin{eqnarray*}
  \dot x &=& v, 
  \dot v &=& F(x)
\end{eqnarray*}

align:
\begin{align*}
  \dot x &= v, 
  \dot v &= F(x)
\end{align*}

\end{document}

eqsys.png

Обратите внимание на расстояния вокруг знака '=' в eqnarray. Вспомнив о том, что eqnarray — это разновидность массива, можно попытаться исправить это, используя \arraycolsep. Но при этом «поплывет» оформление других array-ев, например, матриц.

Так что на вопрос «что лучше использовать для оформления систем уравнений» есть однозначный ответ: избегайте eqnarray, используйте align.

Заметим, что окружение align, как и eqnarray, нумерует каждое уравнение системы. Если нужно, чтобы вся система имела единый номер, используйте окружение aligned совместно с equation. Сравните

align
\begin{align}
  \dot x &= v, 
  \dot v &= F(x)
\end{align}

aligned equation
\begin{equation}
 \begin{aligned}
  \dot x &= v, 
  \dot v &= F(x)
 \end{aligned}
\end{equation}

aligned.png



Комментарии

comments powered by Disqus