如何告诉 LaTeX 自动跨页面拆分文本及其方程式(和多个方程式)?

如何告诉 LaTeX 自动跨页面拆分文本及其方程式(和多个方程式)?

管理垂直间距时,LaTeX 经常将方程式及其上方的文本行移至下一页。此行为可能会在上一页留下较大的空白(取决于序言设置)。我想避免这些空白没有可变的垂直空间文本行之间或文本与公式之间。因此,我希望 LaTeX 将文本行保留在页面底部,并将下一个公式推到第二页(而不将其文本行放在正上方)。

作为一种选择,如果底部没有脚注,那么文本行及其公式可以占据为脚注保留的底部空间。

另外,我希望 LaTeX 能够自动在页面上拆分多个方程式,仅适用于对齐和收集环境。

我该怎么做?这里有一个 MWE 代码可供使用:

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[nomath]{lmodern}
\usepackage[total={6in,10in},left=1.5in,top=0.5in,includehead,includefoot]{geometry}
\usepackage[nodisplayskipstretch]{setspace}
\setstretch{1.1}
\raggedbottom % Without this option, vertical spacings may be ugly... 
\usepackage{microtype}
% To reduce hyphenations:
\pretolerance=5000
\tolerance=9000
\emergencystretch=0pt
\righthyphenmin=4
\lefthyphenmin=4
\usepackage[bottom]{footmisc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage{mathrsfs}
\usepackage{upgreek}
\usepackage{tensor}
\usepackage{stmaryrd}

\usepackage{blindtext}

\begin{document}
\frontmatter
\tableofcontents
\mainmatter

% Space around equations:
\setlength{\abovedisplayskip}{2ex}
\setlength{\abovedisplayshortskip}{0pt}
\setlength{\belowdisplayskip}{\abovedisplayskip}
\setlength{\belowdisplayshortskip}{\belowdisplayskip}
\setlength{\jot}{3ex}

\chapter{Some chapter title}

\blindtext[1]:
    \begin{equation}
        E = m c^2.
    \end{equation}
\blindtext[1]:
    \begin{equation}
        E = m c^2.
    \end{equation}
A few words of text and an equation:
    \begin{equation}
        E = m c^2.
    \end{equation}
A few words of text and an equation:
    \begin{equation}
        E = m c^2.
    \end{equation}
A few words of text and an equation:
    \begin{align}
        E &= m c^2, \\
        E &= \hbar \omega.
    \end{align}
A few words of text and an equation:
    \begin{equation}
        E = m c^2.
    \end{equation}

\end{document}

答案1

amsmath有一个\allowdisplaybreaks命令允许多行显示分割在一页上。

为了在没有脚注的页面上留出额外的空间,您无法轻松地实现自动化,但在任何特殊情况下,您可以使用

\enlargethispage{2\baselineskip}

或者您想要允许的任意额外空间。

相关内容