垂直线未穿过所有单元格

垂直线未穿过所有单元格

我正在尝试在 Latex 中重新创建该表:

在此处输入图片描述

我目前的代码是:

\documentclass{article}

\usepackage{multirow}
\usepackage{multicol}

\begin{document}

\begin{table}[h!]
  \centering
  \begin{tabular}{c|cc|cc|cc|cc}
     & \textbf{1} & \textbf{2} & \textbf{3} & \textbf{4} & \textbf{5} & \textbf{6} & \textbf{7} & \textbf{8}\\\hline
    \textbf{A} & \multicolumn{2}{c}{\multirow{8}{*}{a}} & 
    \multicolumn{2}{c}{\multirow{4}{*}{b}} & 
    \multicolumn{2}{c}{\multirow{4}{*}{d}} & 
    \multicolumn{2}{c}{\multirow{4}{*}{f}}\\
    \textbf{B} & & & & & & &\\
    \textbf{C} & & & & & & &\\
    \textbf{D} & & & & & & &\\\cline{4-9}
    \textbf{E} & & &
    \multicolumn{2}{c}{\multirow{4}{*}{c}} & 
    \multicolumn{2}{c}{\multirow{4}{*}{e}} & 
    \multicolumn{2}{c}{\multirow{4}{*}{g}}\\
    \textbf{F} & & & & & & &\\
    \textbf{G} & & & & & & &\\
    \textbf{H} & & & & & & &\\
  \end{tabular}
\end{table}
\end{document}

其输出为:

在此处输入图片描述

但是,垂直线中断了第 2 行和第 6 行,我无法修复。

如何使垂直线穿过所有单元格?

答案1

|在相关的 \multicolumn 序言中添加一个:

\documentclass{article}

\usepackage{multirow}
\usepackage{multicol}

\begin{document}

\begin{table}[h!]
  \centering
  \begin{tabular}{c|cc|cc|cc|cc}
     & \textbf{1} & \textbf{2} & \textbf{3} & \textbf{4} & \textbf{5} & \textbf{6} & \textbf{7} & \textbf{8}\\\hline
    \textbf{A} & \multicolumn{2}{c|}{\multirow{8}{*}{a}} &
    \multicolumn{2}{c|}{\multirow{4}{*}{b}} &
    \multicolumn{2}{c|}{\multirow{4}{*}{d}} &
    \multicolumn{2}{c}{\multirow{4}{*}{f}}\\
    \textbf{B} & & & & & & &\\
    \textbf{C} & & & & & & &\\
    \textbf{D} & & & & & & &\\\cline{4-9}
    \textbf{E} & & &
    \multicolumn{2}{c|}{\multirow{4}{*}{c}} &
    \multicolumn{2}{c|}{\multirow{4}{*}{e}} &
    \multicolumn{2}{c}{\multirow{4}{*}{g}}\\
    \textbf{F} & & & & & & &\\
    \textbf{G} & & & & & & &\\
    \textbf{H} & & & & & & &\\
  \end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

答案2

您可以使用niceamtrix(≥ 5.19 of 2021-07-23) 轻松制作该表。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{>{\bfseries}c|cc|cc|cc|cc}
\RowStyle{\bfseries}
  & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\ \Hline
A & \Block{*-2}{a}  &   & \Block{3-2}{b} & & \Block{3-2}{d} & & \Block{3-2}{f} \\
B \\
C \\
D \\ \cline{4-9}
E & & & \Block{3-2}{c} & & \Block{3-2}{e} & & \Block{3-2}{g} \\
F \\
G \\
H
\end{NiceTabular}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容