테이블에서 일부 줄 제거

테이블에서 일부 줄 제거
\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\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}

위 코드의 출력

관련 정보