Мой сосед по квартире использует \flalign
для всех своих уравнений LaTeX, и после размышлений это становится понятным. Разве среда \equation
не просто более ограничительная? Есть ли когда-нибудь преимущество в использовании \equation
среды?
Это просто то, что \flalign
требует amsmath
пакет?
решение1
Какэгрегупомянул в своем комментарии, что при использовании equation
и flalign
есть разница в вертикальном интервале вокруг формулы, если строка текста непосредственно перед ней останавливается перед математическим выражением. В следующем примере это можно увидеть, используя некоторые визуальные указания, нарисованные с помощью TikZ:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\newcommand\myline[2][red]{%
\draw[#1] ([yshift=#2]current page.west) -- ([yshift=#2]current page.east);
}
\begin{document}
Short line
\begin{equation}
a=b
\end{equation}
Short line
\begin{flalign}
a=b
\end{flalign}
Short line
A not so short line of text for the example
\begin{equation}
a=b
\end{equation}
A not so short line of text for the example
\begin{flalign}
a=b
\end{flalign}
A not so short line of text for the example
\begin{tikzpicture}[remember picture,overlay]
\myline{262}
\myline{250}
\myline[blue]{232}
\myline[blue]{210}
\myline{177}
\myline{154}
\myline[blue]{132}
\myline[blue]{111}
\end{tikzpicture}
\end{document}
Красные правила соответствуют equation
, а синие — flalign
.
Разница в интервалах объясняется тем, что для equation
среды применяются разные длины, контролирующие вертикальный интервал вокруг формулы, в зависимости от того, заканчивается ли строка перед формулой или нет.
Существует четыре длины, регулирующие вертикальное расстояние вокруг отображаемых уравнений: \abovedisplayskip
, \belowdisplayskip
, \abovedisplayshortskip
, \belowdisplayshortskip
. Их значения по умолчанию для article
класса at 10pt
следующие:
\abovedisplayskip=10pt plus 2pt minus 5pt
\belowdisplayskip=10pt plus 2pt minus 5pt
\abovedisplayshortskip=0pt plus 3pt
\belowdisplayshortskip=6pt plus 3pt minus 3pt
Сокращенные варианты будут применяться для equation
, но не для flalign
, если текстовая строка непосредственно перед формулой заканчивается до нее.
Итак, в чем преимущество использования equation
? Ну, когда строка заканчивается перед формулой, equation
вокруг формулы будет меньше вертикального пространства, поэтому выражение (помните, что в данном случае мы рассматриваем однострочное выражение) не будет выглядеть слишком оторванным от окружающего текста.