多行文本过高导致 \vbox 溢出

多行文本过高导致 \vbox 溢出

这是我在这里的第一篇帖子。我正在努力解决 \vbox 过满警告的问题。这是由表格的三行单元格引起的,而它\multirow只有两个单行单元格。事实上,在我的主文档中使用\\[0.5cm]效果很好,但仍然会产生警告。

在 MWE 中,它的表内边距也很糟糕。

我将非常感激您的帮助。谢谢!

\documentclass[a4paper,12pt]{report}
\usepackage{tabularx}
\usepackage{multirow}
\begin{document}
\begin{table}[ht]
    \footnotesize
        \begin{tabularx}{\textwidth}{c | m{1.9cm} | X X | X X | X X | m{1.7cm} }
        blabla & blabla & \multicolumn{2}{c|}{blabla} & \multicolumn{2}{c|}{blabla} & \multicolumn{2}{c|}{blabla} & blabla \\ \hline
        & & \multicolumn{6}{ c| }{Name} & \multirow{2}{1.7cm}{Some pretty long text} \\ \cline{3-8}
        & & 1 & 2 & 3 & 4 & 5 & 6  & \\ \hline
        \end{tabularx}
\end{table}
\end{document}

在此处输入图片描述

答案1

扩展@GonzaloMedina 的评论,由于列宽是固定的,并且有三行文本可用(概念上),因此使文本适合三行的一种方法就是插入垂直规则,以扩展第二行和第三行。这不会消除溢出的框,但它们会使表格看起来不错。

我提出了两个解决方案。一个没有垂直线,一个有花哨的规则,通过booktabs

\documentclass[a4paper,12pt]{report}
\usepackage{tabularx, booktabs}
\usepackage{multirow}
\begin{document}
\begin{table}
    \footnotesize
        \begin{tabularx}{\textwidth}{@{}c m{1.9cm} *{6}{X}   m{1.7cm}@{} }
        \toprule
        blabla & blabla & \multicolumn{2}{c}{blabla} & \multicolumn{2}{c}{blabla} & \multicolumn{2}{c}{blabla} & blabla \\ \midrule
      \rule[1.5ex]{0pt}{2.5ex}  &\rule[1.5ex]{0pt}{2.5ex} & \multicolumn{6}{ c}{Name} & \multirow{2}{1.7cm}{Some pretty long text} \\ 
        & \rule[1.5ex]{0pt}{2.5ex}& 1 & 2 & 3 & 4 & 5 & 6  & \\ \bottomrule
        \end{tabularx}
\end{table}
\end{document}

在此处输入图片描述

第二个将规则添加到原始表中,但我觉得更丑(因为垂直分隔符不利于可读性,而太多的水平规则会使表格变得更庞大)

\documentclass[a4paper,12pt]{report}
\usepackage{tabularx}
\usepackage{multirow}
\begin{document}
\begin{table}[ht]
    \footnotesize
        \begin{tabularx}{\textwidth}{c | m{1.9cm} | X X | X X | X X | m{1.7cm} }
        blabla & blabla & \multicolumn{2}{c|}{blabla} & \multicolumn{2}{c|}{blabla} & \multicolumn{2}{c|}{blabla} & blabla \\ \hline
        &\rule[1.5ex]{0pt}{2.5ex} & \multicolumn{6}{ c| }{Name} & \multirow{2}{1.7cm}{Some pretty long text} \\ \cline{3-8}
        &\rule[1.5ex]{0pt}{2.5ex} & 1 & 2 & 3 & 4 & 5 & 6  & \\ \hline
        \end{tabularx}
\end{table}
\end{document}

在此处输入图片描述

相关内容