如何计算当前页面剩余空间

如何计算当前页面剩余空间

有没有办法计算当前页面的剩余空间并发出可选命令?

答案1

查看needspace包。它可能会做你需要的事情,或者至少为你想做的事情提供灵感 :-) 也就是说,\pagegoal\pagetotal寄存器应该会有所帮助。

答案2

在 ConTeXt 中,\testpage[n]检查是否有足够的空间容纳n线条。

答案3

这里有一个小例子,演示了所接受的答案\pagetotal等的行为方式——请注意,它们似乎只有在\par(单击可查看高分辨率图像)之后才会发生变化:

测试05a.png

以下是所用的代码:

\documentclass{article}

% http://www.tug.org/utilities/plain/cseq.html#pagedepth-rp
\def\tpageitemsB{%
  \the\pagetotal;%
  \the\pagegoal;%
  \the\pagedepth;%
  \the\pagestretch;%
  \the\pageshrink;%
  \the\pagefilstretch;%
  \the\pagefillstretch;%
  \the\pagefilllstretch%
}
\begin{document}

\tpageitemsB: ligula aliquet magna,  \\
\tpageitemsB:  Morbi ac orci et nisl \\
\tpageitemsB: Suspendisse ut massa.  \\
\tpageitemsB: a nulla. Cum sociis na \\
\tpageitemsB: dis parturient montes, \\
\tpageitemsB: Aliquam tincidunt urna \\
\tpageitemsB: vestibulum turpis. Pel \\
\tpageitemsB: mauris.                \\

\noindent
\tpageitemsB: Nulla malesuada porttitor  \par\noindent
\tpageitemsB: congue non, volutpat       \par\noindent
\tpageitemsB: libero. Vi- vamus viverra  \par\noindent
\tpageitemsB: nonummy pel- lentesque     \par\noindent
\tpageitemsB: semper elit. Proin fer     \par\noindent
\tpageitemsB: diam turpis, molestie vita \par\noindent
\tpageitemsB: nec, leo. Maecenas lacinia \\
\tpageitemsB: eleifend at, accumsan nec, \\
\tpageitemsB: Morbi blandit ligula feugi \\
\tpageitemsB: consequat lorem. Sed lacin \\
\tpageitemsB: Pellentesque tincidunt pur \\
\tpageitemsB: non enim. Praesent euis    \\
\tpageitemsB: mobibendum quam in telus.  \\
\tpageitemsB: lectus. Donec et mi. Nam v \\
\tpageitemsB: Vestibu- lum pellentesque  \\
\tpageitemsB:\\
\tpageitemsB: Quisque ullamcorper placer \\
\tpageitemsB: Morbi vel justo vitae lacu \\
\tpageitemsB: Lorem ipsum do- lor sit am \\
\tpageitemsB: adipiscing elit. In hac ha \\
\tpageitemsB: Integer tempus convallis a \\
\tpageitemsB: Nunc elementum fermentum w \\
\tpageitemsB: imperdiet, enim sed gravid \\
\tpageitemsB: odio placerat quam, ac pul \\
\tpageitemsB: enim. Nunc vitae tortor. P \\
\tpageitemsB: amet nisl. Vi- vamus quis  \\
\tpageitemsB: vehicula.                  \\

\noindent
\tpageitemsB: Fusce mauris. Vestibulum l \\
\tpageitemsB: Sed bibendum, nulla a fauc \\
\tpageitemsB: ultricies tellus, ac venen \\
\tpageitemsB: Vestibulum diam. Aliquam p \\
\tpageitemsB: sagittis posuere, turpis l \\
\tpageitemsB: hendrerit risus eros eget  \\
\tpageitemsB: erat in sapien mattis port \\
\tpageitemsB: porttitor. Nulla facilisi. \\
\tpageitemsB: com- modo facilisis. Morbi \\
\tpageitemsB: dignissim inter- dum, just \\
\tpageitemsB: et vehicula libero dui cur \\
\tpageitemsB: ligula sed lacus. Duis cur \\
\tpageitemsB: ac magna. Cras nulla. Null \\
\tpageitemsB: leo. Quisque egestas wisi  \\

\end{document}

相关内容