我对如何使用 \parbox 的“stretch”可选参数有些困惑。它是否应该在确定大小的框内均匀分布文本行?
如果我像这样编码:
\documentclass{article}
\begin{document}
Text
\fbox{\parbox[c][15cm][s]{5cm}{I want to stretch this text inside this box}}
\end{document}
这是我得到的结果:
我还尝试了 \parbox,并得到了一些意想不到的结果。在下面的代码中,我只是从上一个测试中删除了对齐可选参数(默认为中心):
\documentclass{article}
\begin{document}
Text
\fbox{\parbox[15cm][s]{5cm}{I want to stretch this text inside this box}}
\end{document}
结果出来了:
这让我很困惑,因为我认为删除第一个可选参数只会将其置于默认状态。我也不明白为什么强制参数中的文本被字母“s”取代,这是第三个可选参数中“stretch”的快捷方式。
另一项测试:
\documentclass{article}
\begin{document}
Text
\fbox{\parbox[15cm]{5cm}{I want to stretch this text inside this box}}
\end{document}
这让我想到:
在最后一个中,我删除了拉伸可选参数,但没有绘制框的高度。
为什么我会得到这些结果?我对 TeX 还只是个初学者,所以我可能忽略了可选参数使用的明显要点。
答案1
和
\parbox[c][3cm][s]{5cm}{I want to stretch this text inside this box}
盒子里没有弹性胶水,你确实收到了警告
Underfull \vbox (badness 10000) detected
如果您希望第一行位于顶部,第二行位于底部,则需要使行间粘连可拉伸:
\documentclass{article}
\begin{document}
\fbox{\parbox[c][3cm][s]{5cm}{
\setlength{\baselineskip}{1\baselineskip plus 1fil}
I want to stretch this text inside this box
}}
\end{document}
为了指定第二个(和第三个)可选参数,您必须指定第一个。因此
\parbox[3cm]{5cm}{...}
给出的结果与 相同\parbox{5cm}{...}
;不幸的是,LaTeX 不会检查第一个可选参数的内容,该参数应该只是c
(默认)t
或b
。如果它与其中任何一个不同,则会被默默忽略。
如果不指定第三个可选参数,则默认与第一个相同。
答案2
那里有很多问题;-)
是否应该在确定大小的框内均匀分布文本行?
不,它本身不添加任何胶水,因此它依靠内容物中的任何弹性胶水来填充所需的空间,
这让我很困惑,因为我认为删除第一个可选参数
您没有删除第一个可选参数,而是将其值从 更改c
为15cm
。