Removendo algumas linhas da tabela

Removendo algumas linhas da tabela
\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}

Como posso remover linhas como nas imagens abaixo?

insira a descrição da imagem aqui

Além disso, como posso levantar um pouco a primeira linha horizontal? O resultado final deverá ser:

insira a descrição da imagem aqui

Responder1

Receio que sejam necessárias quatro medidas diferentes:

  1. Remova a linha vertical com \multicolumn{1}{c|}{}.
  2. Remova a linha horizontal (segmento) com \cline{2-4}.
  3. Adicione um pouco de espaço à etiqueta mais longa na parte superior.
  4. Se você não quiser as linhas verticais "internas" para a maior parte da tabela, eu as adicionaria especificamente para o cabeçalho.

Resultado:

\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}

exemplo de saída

Responder2

Aqui está uma solução usando 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}

insira a descrição da imagem aqui

Responder3

Você poderia usar \multicolumne \clinepara obter a saída desejada:

\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}

Na minha opinião, você também pode omitir completamente as linhas verticais do cabeçalho, e também a borda superior, esquerda e direita, dando

\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}

Responder4

Com {NiceTabular}de nicematrix. Nesse ambiente, você tem uma chave hvlinesque desenha todas as regras exceto nos blocos (especificados por \Blocke nos cantos vazios (especificados pela chave corners).

\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}

Saída do código acima

informação relacionada