问题正如所问。我打算使用的情况是使用类似 minipage 的东西,但其高度可以使用 glue 来设置,而不仅仅是 dimen。
当页面很容易分割时,我可以直接使用它\textheight
来划分内容,但有时页面上会有多余的文本,我真正想指示 TeX 做的只是如何使用页面上的剩余空间,除了我已经输入的内容。我认为这样做的方法是将胶水放在内容所在的框之间,一旦胶水凝固,就用相同尺寸的框替换胶水。
答案1
不是直接测量,而是使用 etex,您可以测量胶水流向何处,并在下次运行中制作一个相同尺寸的盒子:
\documentclass{article}
\makeatletter
\def\zz#1{\pdfsavepos\write\@auxout{\gdef\string#1{\the\pdflastypos}}}
\makeatother
\begin{document}
\section{ZZZZ}
zzzz
\[z=z\]
zzz
\noindent\zz{\zzA}\begin{picture}(0,0)
\put(0,0){%
\fbox{\begin{minipage}[t]%
[\dimexpr\ifx\zzA\undefined\textheight\else
\zzA sp - \zzB sp -2\fboxrule-2\fboxsep\fi\relax]%
{\dimexpr\textwidth-2\fboxrule-2\fboxsep\relax}
zzz zzz
\end{minipage}}}
\end{picture}
\vspace{\fill}
zz\zz{\zzB} zzzz
\begin{itemize}
\item zzzz
\end{itemize}
\end{document}