表格顶部的“松散”单元格

表格顶部的“松散”单元格

我正在尝试创建我在 Word 中制作的这个表格,但似乎无法获取顶部的两个单元格。有没有办法创建这个表格?

单词表 以下是我目前所掌握的信息:

\begin{table}[h]
    \begin{tabular}{| p{3cm} | p{1cm} | p{1cm} | p{1cm} | p{4cm} | p{1cm} | p{1cm} | p{1cm} |}
    \hline
     1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
    \hline
     1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
    \hline
    \end{tabular}
\end{table}

答案1

为了实现这一点,您可以使用\cline不应覆盖所有列的水平规则,并\multicolumn覆盖您不想有垂直规则的列的定义以及您想要连接在一起的列的定义。

关于合并单元格宽度计算的简短说明:我们将合并单元格的单个宽度相加,但实际宽度会更大,缺少的是添加到列的每一侧的填充(3 列意味着宽度为 6 个填充\tabcolsep,新列的填充为 2 -> 4\tabcolsep)。现在,如果您不加载包,array表格的垂直规则不会占用任何空间,我们就完成了。但是一旦array加载,情况就会发生变化。所以如果,并且仅当array加载后您还必须\arrayrulewidth为每个垂直规则添加,否则这些规则将位于连接的列之间(因此在这种情况下如果加载2\arrayrulewidth则需要添加)。array

以下内容未加载,array因此2\arrayrulewidth被省略。

\documentclass[border=3.14]{standalone}

\begin{document}
\begin{tabular}{| p{3cm} | p{1cm} | p{1cm} | p{1cm} | 
                  p{4cm} | p{1cm} | p{1cm} | p{1cm} |}
  \cline{2-4}
  \cline{6-8}
  \multicolumn{1}{c}{} & 
  \multicolumn{3}{|p{\dimexpr3cm+4\tabcolsep\relax}|}{aaa}
  & & 
  \multicolumn{3}{|p{\dimexpr3cm+4\tabcolsep\relax}|}{bbb} \\
  \hline
   1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
  \hline
   1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
  \hline
\end{tabular}
\end{document}

在此处输入图片描述

答案2

这样tabularray您就不会遇到计算多列单元格宽度的问题:

\documentclass[border=3.14]{standalone}
\usepackage{xcolor}
\usepackage{tabularray}

\begin{document}
\begin{tblr}{hline{2-Z} = {1-Z}{solid},
             vline{2-Z} = {1-Z}{solid},
             vline{1} = {2-Z}{solid},
             colspec  = {Q[wd=3cm,l] *{3}{Q[wd=1cm,l]} Q[wd=4cm,l] *{3}{Q[wd=1cm,l]}},
             row{Z} = {bg=gray9},             }
  \cline{2-4}
  \cline{6-8}
    & \SetCell[c=3]{l}  
        &   &   &   &   \SetCell[c=3]{l}  
                        &   &   \\  
    &   &   &   &   &   &   &   \\
    &   &   &   &   &   &   &   \\
    &   &   &   &   &   &   &   \\
\end{tblr}
\end{document}

在此处输入图片描述

答案3

你可以在 Word 中做到这一点并不意味着应该复制它……

无论如何,您不应该p对此应用程序使用列,而是w使用列(array需要包)。

\documentclass{article}
\usepackage{array}

\newlength{\tunit}
\setlength{\tunit}{0.5cm}

\begin{document}

\begin{tabular}{
 | w{l}{3\tunit} |
   w{c}{1\tunit} |
   w{c}{1\tunit} |
   w{c}{1\tunit} |
   w{l}{4\tunit} |
   w{c}{1\tunit} |
   w{c}{1\tunit} |
   w{c}{1\tunit} |
}
\cline{2-4} \cline{6-8}
\multicolumn{1}{c|}{} &
\multicolumn{3}{c|}{aaa} &
\multicolumn{1}{c|}{} &
\multicolumn{3}{c|}{bbb} \\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
\end{tabular}

\end{document}

注意,不需要计算。我只是引入了长度的参数,因为 13 厘米太大了。

在此处输入图片描述

您可以根据自己的喜好修改单元格对齐方式。

答案4

与。{NiceTabular}nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}
  [first-row,hvlines]
  {w{l}{15mm}w{c}{5mm}w{c}{5mm}w{c}{5mm}w{l}{20mm}w{c}{5mm}w{c}{5mm}w{c}{5mm}}
& \Block[draw]{1-3}{aaa} &&&& \Block[draw]{1-3}{bbb} \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\end{NiceTabular}

\end{document}

上述代码的输出

相关内容