如何使用多行调整多行单元格输入

如何使用多行调整多行单元格输入

当我尝试此代码时:

\documentclass{article}
\usepackage{multirow, }

\begin{document}

\begin{table}[htb]
\centering
\begin{tabular}{|c|c|c|c|c|c|}
\hline
  & \multirow{2}{*}
  {\begin{tabular}{@{}c@{}} 1, 2, 3, 4, 5,\\ 6, 7, 8, 9, 10, \\ 11, 12, 13, 14, 15, \\16, 17, 18, 19, 20,\\ 21, 63, 64, 65, 66,\\ 72, 75, 76, 78, 79 \end{tabular}} & &  &  & \\ \cline{3-6}
    &  &  &  & &  \\
\hline
\end{tabular}
\end{table}

\end{document}

它产生了这个:

Overfull \vbox (48.0pt too high) detected

移除\multirow{2}{*}会导致单元格垂直错位。如何修复?

答案1

可能有很多方法可以“修复”这个问题。一种方法是 (a) 更改\multirow{2}{*}\multirow{6}{*}并 (b) 添加四行

    &  &  &  &  &  \\ \cline{3-6}

到外部环境。(仅当需要添加部分水平线时才需要tabular这些指令。)\cline{3-6}

在此处输入图片描述

\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{table}[htb]
\centering
\begin{tabular}{|c|c|c|c|c|c|}
\hline
  & \multirow{2}{*}
  {\begin{tabular}{@{}c@{}} 
        1, 2, 3, 4, 5,\\ 6, 7, 8, 9, 10, \\ 11, 12, 13, 14, 15, \\
        16, 17, 18, 19, 20,\\ 21, 63, 64, 65, 66,\\ 72, 75, 76, 78, 79 
   \end{tabular}} 
       &  &  &  &  \\ \cline{3-6}
    &  &  &  &  &  \\ \cline{3-6}
    &  &  &  &  &  \\ \cline{3-6}
    &  &  &  &  &  \\ \cline{3-6}
    &  &  &  &  &  \\ \cline{3-6}
    &  &  &  &  &  \\ \hline
\end{tabular}
\end{table}
\end{document}

附录:您在评论中指出“不可能”(允许?)添加额外行。我假设您指的是第一列和第 3 至第 6 列,因为第 2 列有六行通过建设。要创建一个结构,其中第 1 列和第 3 至第 6 列恰好有两行,可以放置三个单独的tabular结构并排并使用[t]位置说明符将较小的 s 顶部对齐tabular。有了这样的设置,甚至不需要加载包multirow

在此处输入图片描述

\documentclass{article}
\begin{document}

\begin{table}[ht!]
\centering
\begin{tabular}[t]{|c} % 1 column, 2 rows
  \hline
  \\ 
  \\ \hline 
\end{tabular}%
\begin{tabular}[t]{|c|}% 1 column, 6 rows
  \hline
  1, 2, 3, 4, 5,\\ 6, 7, 8, 9, 10, \\ 
  11, 12, 13, 14, 15, \\ 16, 17, 18, 19, 20,\\
  21, 63, 64, 65, 66, \\ 72, 75, 76, 78, 79 \\ \hline
\end{tabular}%
\begin{tabular}[t]{c|c|c|c|} % 4 columns, 2 rows
  \hline
  & & & \\ \hline
  & & & \\ \hline
\end{tabular}
\end{table}
\end{document} 

答案2

你也可以只用两行来完成。每行后面添加一些合适的空间。

\documentclass{article}
\usepackage{multirow, }

\begin{document}

\begin{table}[htb]
\centering
\begin{tabular}{|c|c|c|c|c|c|}
\hline
  & \multirow{2}{*}
  {\begin{tabular}{@{}c@{}} 
    1, 2, 3, 4, 5,  \\ 
    6, 7, 8, 9, 10, \\ 
    11, 12, 13, 14, 15, \\
    16, 17, 18, 19, 20,\\ 
    21, 63, 64, 65, 66,\\ 
    72, 75, 76, 78, 79 
  \end{tabular}}
       &  &  &  & \\[5.5ex] \cline{3-6}
    &  &  &  & &  \\[5.5ex]
\hline
\end{tabular}
\end{table}

\end{document}

在此处输入图片描述

我已经用于5.5ex每一行。

答案3

事实上,我自己也意识到了:

\documentclass{article}
\usepackage{multirow, }

\begin{document}

\begin{table}[htb]
\centering
\begin{tabular}{|c|c|c|c|c|c|}
\hline
  & \multirow{2}{*}
  {\begin{tabular}{@{}c@{}} 1, 2, 3, 4, 5,\\ 6, 7, 8, 9, 10, \\ 11, 12, 13, 14, 15, \\16, 17, 18, 19, 20,\\ 21, 63, 64, 65, 66,\\ 72, 75, 76, 78, 79 \end{tabular}} 
    & &  &  & \\ &  &  &  & &  \\ &  &  &  & &  \\ \cline{3-6}
    &  &  &  & &  \\ &  &  &  & &  \\ &  &  &  & &  \\
\hline
\end{tabular}
\end{table}

\end{document}

功劳归于米科关于我们应该增加行数的建议。

相关内容