等式、Onehalfspacing 和 Underfull \vbox

等式、Onehalfspacing 和 Underfull \vbox

我遇到了“onehalfspacing 文档”的问题。每当我在此文档中使用数学环境时,latex 都会通知“\output 处于活动状态 [] 时,\vbox 未满(不良率 10000)。”我认为文本和数学环境之间的另一个间距与 onehalfspacing 不同,存在问题。是否存在针对整个文档的全局解决方案来修复这些 vbox 问题?

我知道 \raggedbottom 可以防止 latex 将文本拉伸至页面底部。但是这样一来,页面底部就会出现间隙。

这是一个 MWE(问题发生的地方,但并不像其他情况那么严重):

\documentclass{scrbook}
\usepackage{setspace}
\onehalfspacing
\AfterTOCHead{\singlespacing}
\KOMAoptions{DIV=current}
\usepackage{amsmath}
\recalctypearea
%\raggedbottom

%Some text:
 \newcommand{\sometext}{Aureh eurhg urg uhre uh uig iugh iugril giuzz geiu griugrq u gru grilu 
 geluig igru iuegg iu eh iuu gru grilu geluig igru iuehg uh uig iugh iugr geiu griugrq u gru grilu gel
 uig igru iuegg iu gruhg rg uhg ug r gr
}

\begin{document}
hallo
\begin{equation*}
 K(y,\varepsilon)\subseteq k(y,\varepsilon)\subseteq K(y,p\varepsilon).
\end{equation*}
% Some random text:
\sometext\sometext\sometext\sometext\sometext\sometext\sometext\sometext
\sometext\sometext\sometext\sometext\sometext\sometext\sometext\sometext
\end{document}

答案1

我认为问题已经解决了。

  1. 正如 Ruixi Zhang 所建议的,我们必须\KOMAoptions{DIV=current}在之后添加\onehalfspacing以重新计算文本区域。然后行数和文本区域再次匹配。但这并不能解决数学环境中的 vBox 问题。

  2. 数学环境的问题在于,而不是\usepackage{setspace}\onehalfspacing重新\usepackage{setspace}定义命令\setdisplayskipstretch。因此,\usepackage{setspace}需要一些 latex 关于数学环境的灵活性(要在我的 MWE 中看到这一点,请删除\onehalfspacing和添加\usepackage{showframe}(以及更多文本)。然后使用 see,\flushbottom不起作用。)。有关解释,请参阅 Ben Mares 的回答方程式和双倍行距。因此我\setdisplayskipstretch通过 将其恢复为默认值\usepackage{setspace}\setdisplayskipstretch{}。这解决了数学环境的 vBox 问题。我不知道这是否会引起其他问题,但到目前为止一切都运行良好。

相关内容