高度相同的盒子

高度相同的盒子

我正在寻找一种简单的方法来使以下框具有相同的高度。

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

在此处输入图片描述

相关内容