两个 vbox 之间的空间

两个 vbox 之间的空间

我有两个 vbox,我希望两个 vbox 之间的间距与两行段落之间的间距完全相同。

\documentclass{report}
\usepackage{lipsum}
\setlength\parindent{0pt}
\linespread{2}
\begin{document}
    \setbox0=\vbox{\lipsum[1]}
    \setbox1=\vbox{\lipsum[2]}
    \unvbox0
    \unvbox1
\end{document}

输出:

图像

答案1

当列表被取消装箱时,TeX 不会重新计算基线到基线的间距,而是直接将框的内容添加到当前列表中。

因此(在可行的情况下)最简单的方法是安排要取消装箱的列表具有正确的间距。在这种情况下,主要控制参数是\prevdepth,如果您强制段落在结束第一个框之前结束,则可以保存并在第二个框的开头\prevdepth设置以强制对第一行进行正确的基线跳跃计算,\prevdepth

在此处输入图片描述

\documentclass{report}
\usepackage{lipsum}
\setlength\parindent{0pt}
\linespread{2}
\begin{document}
    \setbox0=\vbox{\lipsum[1]\par\global\dimen1=\prevdepth}
    \setbox2=\vbox{\prevdepth=\dimen1 \lipsum[2]}
    \unvbox0
    \unvbox2
\end{document}

相关内容