胶水凝固后,可以用盒子代替吗?

胶水凝固后,可以用盒子代替吗?

问题正如所问。我打算使用的情况是使用类似 minipage 的东西,但其高度可以使用 glue 来设置,而不仅仅是 dimen。

当页面很容易分割时,我可以直接使用它\textheight来划分内容,但有时页面上会有多余的文本,我真正想指示 TeX 做的只是如何使用页面上的剩余空间,除了我已经输入的内容。我认为这样做的方法是将胶水放在内容所在的框之间,一旦胶水凝固,就用相同尺寸的框替换胶水。

答案1

不是直接测量,而是使用 etex,您可以测量胶水流向何处,并在下次运行中制作一个相同尺寸的盒子:

enter image description here

\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}

相关内容