了解页面剩余空间(下限?)的可靠方法

了解页面剩余空间(下限?)的可靠方法

为了解决这个问题:

如果没有足够的空间放置它,则自动换行到图中

我需要了解当前页面的剩余空间。

我尝试放置一个大小合适的规则,但是该规则被推到了下一页。知道原因吗?我如何才能准确知道剩余的可用空间?

如果这不可能,至少有没有办法有一个(不太糟糕的)下限,这样我就能保证规则不会被推到下一页?或者也许我可以添加一些惩罚来帮助规则留在这个页面上?

\documentclass{article}

\usepackage{lipsum}
\usepackage{showframe}

\begin{document}

\lipsum[1-3]

\edef\measurepage{\the\dimexpr\pagegoal-\pagetotal\relax} %
\rule{1mm}{\measurepage}

\end{document}

答案1

在此处输入图片描述

\rule是 latex LR 框,因此开始一个新段落,因此从您测量的点下方开始\baselineskip(或按照规则为高)。您可以使用 来抑制它 ,您可能还想考虑最终基线下方的深度,因此\lineskip\nointerlineskip

\documentclass{article}
\usepackage{lipsum}
\usepackage{showframe}
\begin{document}
\lipsum[1-3]
\showoutput
\showboxdepth4

\edef\measurepage{\the\dimexpr\pagegoal-\pagetotal\relax}


\nopagebreak\nointerlineskip
\rule[-\dp\strutbox]{1mm}{\measurepage}

\end{document}

相关内容