我正在寻找一种方法来使我的\parbox
es 保持最小高度,类似于CSSmin-height
例如
\mhparbox{\textwidth}{3cm}{...}
可以确保无论 中出现什么文本...
,生成的框都会至少占据 3cm 的垂直空间。是否存在这样的包,或者是否有使用 的解决方案\savebox
?
答案1
\documentclass{article}
\begin{document}
\sbox{0}{\parbox{.5\textwidth}{one two three}}
\ifdim\dimexpr\ht0+\dp0<3cm
\dp0\dimexpr3cm-\ht0\fi
\fbox{\usebox{0}}
\end{document}
答案2
这真让人沮丧:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikz\node[draw,minimum height=3cm,text width=0.5\textwidth,inner sep=1pt] {one two three\\four five six};
\end{document}
答案3
带有包的替代解决方案tcolorbox
。对于不可破坏的框,可以定义一个定义要应用的最小高度的height from=height1 to height2
位置height1
。如果文本没有填满框,height1
但如果文本较长,则框会使用所需的空间。
\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}
\newtcolorbox{mybox}[1][]{%
sharp corners, height from=3cm to 20cm, #1
}
\begin{document}
\begin{mybox}
This is a short text
\end{mybox}
\begin{mybox}
\lipsum[1]
\end{mybox}
\end{document}
答案4
[height]
一个简单的方法是在命令中指定可选参数,\parbox
如下所示:\parbox[][<height>][t]{<width>}{ }
以下是 MWE:
\documentclass{article}
\begin{document}
\fbox{\parbox[][3cm][t]{\textwidth}{This is a box.}}
The text is under this parbox.
\end{document}
对于那些感兴趣的人,以下是其他可选参数的作用:
1:给出帕尔博相对于周围材料。支持的值:c、m、t、b.m:与 c 作用相同。
3:给出文本内部的位置帕尔博. 支持的值:吨,氯,乙,S.s:垂直拉伸文本。
c:居中,t:顶部,b:底部。