删除表中的某些行

删除表中的某些行
\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{|c|c|c|c|}
\hline
&
\begin{sideways}ABCD\end{sideways} &
\begin{sideways}EFGH\end{sideways} &
\begin{sideways}IJKL\end{sideways} \\ \hline
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
DD & 2 & 3 & 4 \\ \hline
\end{tabular}
\caption{Tmp}
\label{tab:tmp}
\end{table}
\end{document}

我怎样才能删除如下图所示的线条?

在此处输入图片描述

另外,我怎样才能将第一条水平线稍微向上提升一点?最终结果应该是:

在此处输入图片描述

答案1

我认为有必要采取四种不同的措施:

  1. 用 删除垂直线\multicolumn{1}{c|}{}
  2. 用 删除水平线(段)\cline{2-4}
  3. 在顶部最长的标签上添加一点空间。
  4. 如果您不想要表格大部分的“内部”垂直线,我会专门在表格头部添加它们。

结果:

\begin{tabular}{|c|ccc|}
  \cline{2-4}
  \multicolumn{1}{c|}{}&
  \multicolumn{1}{c|}{\begin{sideways}ABCD\hspace*{1mm}\end{sideways}} &
  \multicolumn{1}{c|}{\begin{sideways}EFGH\end{sideways}} &
  \begin{sideways}IJKL\end{sideways} \\ \hline
  AA & 2 & 3 & 4 \\
  BB & 2 & 3 & 4 \\
  CC & 2 & 3 & 4 \\
  DD & 2 & 3 & 4 \\ \hline
\end{tabular}

输出示例

答案2

这是一个使用 的解决方案tabularray

\documentclass{article}

\usepackage{graphicx}
\usepackage{xcolor}

\usepackage{tabularray}

\begin{document}

\begin{tblr}{
    colspec      = {*{4}{c}},
    vline{1}     = {2-4}{0.9pt},
    vline{2,5}   = 0.9pt,
    vline{3-4}   = {1}{0.9pt},
    hline{1}     = {2-5}{0.9pt},
    hline{2,5}   = 0.9pt,
    cell{1}{2-4} = {cmd={\rotatebox[origin=c]{90}}}
}
       & ABCD
       & EFGH 
       & IJKL  \\ 
    AA & 2 & 3 & 4  \\ 
    BB & 2 & 3 & 4  \\ 
    CC & 2 & 3 & 4  \\ 
\end{tblr}

\end{document}

在此处输入图片描述

答案3

您可以使用\multicolumn\cline来获得所需的输出:

\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{|c|ccc|}
\cline{2-4}
\multicolumn{1}{c}{}&
\multicolumn{1}{|c|}{\begin{sideways}ABCD\end{sideways}} &
\multicolumn{1}{c|}{\begin{sideways}EFGH\end{sideways}} &
\multicolumn{1}{c|}{\begin{sideways}IJKL\end{sideways}} \\ \hline
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
DD & 2 & 3 & 4 \\ \hline
\end{tabular}
\caption{Tmp}
\label{tab:tmp}
\end{table}
\end{document}

我认为你也可以完全省略标题中的垂直线,以及顶部、左侧和右侧的边框,从而

\begin{tabular}{c|ccc}
\multicolumn{1}{c}{}&
\multicolumn{1}{|c}{\begin{sideways}ABCD\end{sideways}} &
\multicolumn{1}{c}{\begin{sideways}EFGH\end{sideways}} &
\multicolumn{1}{c}{\begin{sideways}IJKL\end{sideways}} \\ \hline
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
DD & 2 & 3 & 4 \\ \hline
\end{tabular}

答案4

使用。在该环境中,您有一个键,它绘制除块(由 指定)和空角落(由键 指定)之外的{NiceTabular}所有规则。nicematrixhvlines\Blockcorners

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{cccc}[hvlines,corners=NW] % NW = north-west
\RowStyle{\rotate}
       & ABCD \;
       & EFGH 
       & IJKL  \\ 
\Block{3-1}{}
    AA & \Block{3-3}{}
         2 & 3 & 4  \\ 
    BB & 2 & 3 & 4  \\ 
    CC & 2 & 3 & 4  \\ 
\end{NiceTabular}

\end{document}

上述代码的输出

相关内容