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

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

Я редактирую довольно длинный текст, содержащий много уравнений и плавающих чисел, и столкнулся с проблемой с alignи gatherокружениями.

МВЭ:

\documentclass[preview]{standalone}
\usepackage{amsmath}
\begin{document}

Paragraph one. Lorem ipsum dolor sit amet, consecuteur adipiscing elit.

\begin{gather*}
 \boxed{\sum_{x=1}^{N} A_x} \\
 \boxed{\sum_{x=1}^{N} A_x}
\end{gather*}

Paragraph two. Lorem ipsum dolor sit amet, consecuteur adipiscing elit.

\end{document}

Результат:

введите описание изображения здесь

Слишком много вертикального пространства между первым абзацем и уравнением, как будто был вставлен дополнительный пустой абзац. Если я удалю пустую строку между первым абзацем и математическим окружением, дополнительного пространства не будет, но страница не может быть разорвана в этой точке, и я часто заканчиваю с сиротами. Дополнительного пространства нет, когда я использую окружение equationили \[ \]:

\documentclass[preview]{standalone}
\usepackage{amsmath}
\begin{document}

Paragraph one. Lorem ipsum dolor sit amet, consecuteur adipiscing elit.

\[ \boxed{\sum_{x=1}^{N} A_x} \]
\[ \boxed{\sum_{x=1}^{N} A_x} \]

Paragraph two. Lorem ipsum dolor sit amet, consecuteur adipiscing elit.

\end{document}

Результат:

введите описание изображения здесь

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

решение1

Страницы никогда не должны начинаться с отображаемого уравнения, которое не является продолжением отображения на предыдущей странице (и этот случай должен быть своего рода крайней мерой).

Вы можете автоматически разрешить разрывы страниц внутри многострочных отображений выравнивания, выполнив команду

\allowdisplaybreaks

( amsmathкоманда) в преамбуле документа, но TeX никогда не разобьет страницу перед отображением, если только вы сами не придумаете какую-нибудь грязную штуку.

Никогда не оставляйте пустую строку перед дисплеем.

решение2

Я нашел решение, и никаких реальных обоснований запрета на разрывы страниц до отображения уравнения не было дано, поэтому я оставляю заметку для других, кто может увидеть этот вопрос.

Чтобы разрешить разрыв перед определенным отображаемым уравнением, но избавиться от лишнего вертикального пробела, введите \pagebreak[0]вместо первой пустой строки:

\documentclass[preview]{standalone}
\usepackage{amsmath}
\begin{document}

Paragraph one. Lorem ipsum dolor sit amet, consecuteur adipiscing elit.
\pagebreak[0]
\begin{gather*}
 \boxed{\sum_{x=1}^{N} A_x} \\
 \boxed{\sum_{x=1}^{N} A_x}
\end{gather*}

Paragraph two. Lorem ipsum dolor sit amet, consecuteur adipiscing elit.

\end{document}

Чтобы разрешить перерывы везде, переопределите \predisplaypenaltyв преамбуле:

\makeatletter
\predisplaypenalty=\@medpenalty
\makeatother

Оба эти способа допускают разрывы страниц.

Связанный контент