如何使所有 \parbox 具有相同的高度

如何使所有 \parbox 具有相同的高度

运行以下 MWE 将得到丑陋的排版,我认为这是由于所有这些的高度不同造成的\parbox

\parbox我的问题是:由于无法预见所有内容,如何使\parbox同一行中的所有内容具有相同的高度(例如,最高框的高度),而没有多余或较少的垂直空间。

梅威瑟:

\documentclass[a4paper]{article}
\usepackage{xcolor}
\begin{document}
\fboxsep=0pt
\fbox{%
  \colorbox{yellow!30}{\fbox{\parbox[c]{.5in}{M}}}
  \colorbox{yellow!30}{\fbox{\parbox[c]{1in}{M\\M}}}
  \colorbox{yellow!30}{\fbox{\parbox[c]{1.5in}{M\\M\\M}}}
  \colorbox{yellow!30}{\fbox{\parbox[c]{2in}{M\\M\\M}}}% 
}
\end{document}

答案1

找到最高盒子的高度可能很棘手。一种解决方案是将所有盒子放在一个保存框内。请注意,总高度等于高度(基线以上)加上深度(基线以下)。

\documentclass[a4paper]{article}
\usepackage{xcolor}

\newlength{\maxheight}

\begin{document}
\sbox0{\parbox[c]{.5in}{M}\parbox[c]{1in}{M\\M}\parbox[c]{1.5in}{M\\M\\M}}%
\setlength{\maxheight}{\dimexpr \ht0+\dp0}%
\fboxsep=0pt
\noindent\fbox{%
  \colorbox{yellow!30}{\fbox{\parbox[c][\maxheight][c]{.5in}{M}}}
  \colorbox{yellow!30}{\fbox{\parbox[c][\maxheight][c]{1in}{M\\M}}}
  \colorbox{yellow!30}{\fbox{\parbox[c][\maxheight][c]{1.5in}{M\\M\\M}}}
  \colorbox{yellow!30}{\fbox{\parbox[c][\maxheight][c]{2in}{M\\M\\M}}}% 
}
\end{document}

答案2

\documentclass[a4paper]{article}
\usepackage[table]{xcolor}
\begin{document}

\begin{tabular}{|l |l |l |l |}\hline
\rowcolor{yellow}
 \parbox{.5in}{M} &
 \parbox{1in}{M\\M} &
 \parbox{1.5in}{M\\M\\M} &
 \parbox{2in}{M\\M\\M} \\\hline
\end{tabular}
\end{document}

在此处输入图片描述

相关内容