Удаление некоторых строк в таблице

Удаление некоторых строк в таблице
\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}из nicematrix. В этой среде у вас есть ключ hvlines, который рисует все правила, исключенные в блоках (указанных ключом ) \Blockи в пустых углах (указанных ключом 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}

Вывод кода выше

Связанный контент