![高度相同的盒子](https://linux22.com/image/295612/%E9%AB%98%E5%BA%A6%E7%9B%B8%E5%90%8C%E7%9A%84%E7%9B%92%E5%AD%90.png)
我正在寻找一种简单的方法来使以下框具有相同的高度。
\documentclass{article}
\setlength{\parindent}{0pt}
\begin{document}
\fbox{\hbox to 0.3\linewidth{\vbox{test}}}%
\hfill
\fbox{\hbox to 0.3\linewidth{\vbox{test\par{}test\par{}test}}}%
\hfill
\fbox{\hbox to 0.3\linewidth{\vbox{test\par{}test}}}
\end{document}
我曾尝试计算箱子的最大高度并将其与包装一起设置,settobox
但我想知道是否有更简单的方法。请注意,我事先不知道任何箱子的高度,并且我正在寻找一种当箱子超过三个时也能缩放的方法。
答案1
\documentclass{article}
\begin{document}
\fbox{\parbox[b][2.5\baselineskip]{0.3\linewidth}{test}}
\fbox{\parbox[b][2.5\baselineskip]{0.3\linewidth}{test\par{}test\par{}test}}
\fbox{\parbox[b][2.5\baselineskip]{0.3\linewidth}{test\par{}test}}
\end{document}
\parbox[<vpos>][<height>]{<width>}{<contents>}
或者对于需要测试的可变高度:
\documentclass{article}
\newsavebox\VBox
\begin{document}
\savebox\VBox{\parbox{0.3\linewidth}{test\par test\par test\par}}
\noindent
\fbox{\parbox[b][\dimexpr\ht\VBox+\dp\VBox]{0.3\linewidth}{test}}
\fbox{\parbox[b][\dimexpr\ht\VBox+\dp\VBox]{0.3\linewidth}{test\par test\par test}}
\fbox{\parbox[b][\dimexpr\ht\VBox+\dp\VBox]{0.3\linewidth}{test\par test}}
\end{document}
答案2
tcolorbox
如果您愿意,这可能是 的另一项工作。其选项equal height group
允许将一组框设置为相同的高度。下面的示例代码生成了一种新的 ,\fbox
称为\mybox
。它有一个可选参数,用于指定另一个等高组(如果您有多个)。
当然,我的例子是具体的,但该选项可以用于任意数量的框,不需要xparse
我用于示例。当前版本3.12 (2014/07/29)
在文档。
注意:该示例必须编译两次。
\documentclass{article}
\usepackage[xparse]{tcolorbox}
\usepackage{lipsum}
\setlength{\parindent}{0pt}
\begin{document}
\NewTotalTColorBox{\mybox}{ O{once} +m }{size=fbox,sharp corners,
colframe=blue!50!black,colback=yellow!10!white,
width=0.3\linewidth,nobeforeafter,equal height group=#1}{#2}
\mybox{test}%
\hfill
\mybox{test\par{}test\par{}test}%
\hfill
\mybox{test\par{}test}\par
\bigskip
{
\footnotesize
\mybox[other]{\lipsum[1]}%
\hfill
\mybox[other]{\lipsum[2]}%
\hfill
\mybox[other]{\lipsum[3]}\par
}
\end{document}