테이블 질문: 셀의 색상이 클라인을 가리는 것을 어떻게 막나요?

테이블 질문: 셀의 색상이 클라인을 가리는 것을 어떻게 막나요?

두 개의 큰 열로 그룹화되는 네 개의 열이 있는 테이블이 있습니다. 패키지를 사용하고 있습니다 tabularx. 해당 열 위에 선을 배치하기 위해 입력하면 \cline{2-5}표에 색상이 없으면 표시되지만 셀의 색상은 일단 표시되면 숨겨집니다. 나는 이 문제에 대한 많은 게시물을 보았지만 대부분의 게시물이 이 문제를 테이블의 시작 부분이 아닌 테이블 내에서 더 깊이 관련하고 있으며 내 문제를 해결하기 위한 예제를 조작할 수 없다는 것을 발견했습니다. 피드백과 전문가의 조언에 감사드립니다. 다음은 내 코드의 실제 예제입니다.

\documentclass{article}
\usepackage{tabularx,booktabs}
\usepackage{tabularx,colortbl}
\usepackage{color, colortbl}
\usepackage[table,xcdraw]{xcolor}
\definecolor{Gray}{gray}{0.9}
\definecolor{yellow}{rgb}{1,0.98,0.46}
\usepackage{multirow, hhline}
\newcolumntype{Y}{>{\centering\arraybackslash}X}

\begin{document}

\begin{tabularx}{\textwidth}{ |l| *{4}{Y|} }
\cline{2-5}

   \multicolumn{1}{c|}{} 
 \rowcolor{Gray}
 & \multicolumn{2}{c|}{\textbf{Number of Dogs}}  
 & \multicolumn{2}{c|}{\textbf{Dogs Per Household}}\\
\hline
\rowcolor{Gray}
 \textbf{Group and Home} & \textbf{2022} & \textbf{2023} & \textbf{2022} & \textbf{2023} \\
\hline
 {\cellcolor{yellow}1}  & 2 &  2 &  1.24 & 1.42 \\ \hline
 {\cellcolor{yellow}2}  &  5 & 45 &  1.15 &  1.13 \\ \hline
 {\cellcolor{yellow}3}  &  3 & 3 & 1.03 &  1.01 \\ \hline

\end{tabularx}
\end{document}

여기 사진이 있습니다. 2~5열 위의 맨 윗줄이 없는 것을 볼 수 있습니다.여기에 이미지 설명을 입력하세요

답변1

의 .{NiceTabular}nicematrix

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}

\begin{document}

\renewcommand{\arraystretch}{1.3}
\begin{NiceTabular}{>{\columncolor{yellow!50}}l*{4}{X[c]}}[hvlines,corners]
\RowStyle[nb-rows=2,rowcolor=gray!15]{\bfseries}
 & \Block{1-2}{Number of Dogs}  
 && \Block{1-2}{Dogs Per Household} \\
 Group and Home & 2022 & 2023 & 2022  &  2023  \\
             1  &  2   &  2   &  1.24  & 1.42  \\ 
             2  &  5   & 45   &   1.15 &  1.13 \\ 
             3  &  3   & 3    &  1.03  &  1.01 \\ 
\end{NiceTabular}

\end{document}

여러 가지 편집이 필요합니다.

위 코드의 출력

답변2

@DavidCarlisle의 제안에 대해 자세히 설명하려면 이 작은 테이블에서 수직 및 수평 규칙을 모두 제거하는 것이 좋습니다. 오른쪽 가장자리를 따라 수직 눈금자를 제공하고 아래쪽 가장자리를 따라 수평 눈금자를 제공하는 것이 절대적으로 중요하다고 생각하는 경우 지시문을 사용하여 \arrayrulecolor이러한 규칙을 렌더링하여 Gray시각적으로 눈에 띄지 않게 할 수 있습니다.

\textbf또한 눈에 띄는 강조 장치로 색상을 사용하고 있으므로 헤더의 지시문 을 제거할 수 있습니다 . 물론 혼합 및 불일치 시각적 은유를 피하십시오.

여기에 이미지 설명을 입력하세요

\documentclass{article}

\usepackage{tabularx,ragged2e}
\newcolumntype{C}{>{\Centering}X}
\setlength\extrarowheight{2pt} % for a less-cramped "look"

\usepackage[table,xcdraw]{xcolor}
\definecolor{Gray}{gray}{0.9}
\definecolor{yellow}{rgb}{1,0.98,0.46}

\begin{document}

\arrayrulecolor{Gray}
\noindent % <-- don't forget this directive
\begin{tabularx}{\textwidth}{ l CCCC |}  
\rowcolor{Gray}
Group and Home & 
\multicolumn{2}{c}{Number of Dogs} & 
\multicolumn{2}{c}{Dogs Per Household}\\

\rowcolor{Gray}
& 2022 & 2023 & 2022 & 2023 \\

\cellcolor{yellow} 1 & 2 &  2 & 1.24 & 1.42 \\
\cellcolor{yellow} 2 & 5 & 45 & 1.15 & 1.13 \\ 
\cellcolor{yellow} 3 & 3 &  3 & 1.03 & 1.01 \\ 
\cline{2-5}
\end{tabularx}

\end{document}

답변3

의견에서 제안한 대로 \hhline.

\documentclass{article}
\usepackage{tabularx,booktabs}
\usepackage[table,xcdraw]{xcolor}
\usepackage{hhline}

\definecolor{Gray}{gray}{0.9}
\definecolor{yellow}{rgb}{1,0.98,0.46}
\newcolumntype{Y}{>{\centering\arraybackslash}X}

\begin{document}

\begin{table}[htp]

\begin{tabularx}{\textwidth}{ |l| *{4}{Y|} }
\hhline{~|-|-|-|-|}
\rowcolor{Gray}
\multicolumn{1}{c|}{\cellcolor{white}} 
 & \multicolumn{2}{c|}{\textbf{Number of Dogs}}  
 & \multicolumn{2}{c|}{\textbf{Dogs Per Household}}\\
\hline
\rowcolor{Gray}
\textbf{Group and Home} & \textbf{2022} & \textbf{2023} & \textbf{2022} & \textbf{2023} \\
\hline
\cellcolor{yellow}1 & 2 &  2 & 1.24 & 1.42 \\ \hline
\cellcolor{yellow}2 & 5 & 45 & 1.15 & 1.13 \\ \hline
\cellcolor{yellow}3 & 3 &  3 & 1.03 & 1.01 \\ \hline
\end{tabularx}

\caption{A colorful table}
\end{table}

\begin{table}[htp]
\centering
\setlength{\tabcolsep}{0pt}

\begin{tabular*}{0.75\textwidth}{@{\extracolsep{\fill}} l c c c c}
\toprule
Groups and Home &
\multicolumn{4}{c}{Number of Dogs} \\
\cmidrule{2-5}
& \multicolumn{2}{c}{Absolute} & \multicolumn{2}{c}{\makebox[0pt]{per Household}} \\
\cmidrule{2-3} \cmidrule{4-5}
& 2022 & 2023 & 2022 & 2023 \\
\midrule
1  & 2 &  2 & 1.24 & 1.42 \\
2  & 5 & 45 & 1.15 & 1.13 \\
3  & 3 &  3 & 1.03 & 1.01 \\
\bottomrule
\end{tabular*}

\caption{A less fanciful table}

\end{table}

\end{document}

참고 \rowcolor하세요~ 전에 \multicolumn.

나는 또한 보시다시피 덜 공상적인 실현을 제안합니다. 유일한 트릭은 마지막 열에 들어가는 너비가 너무 커지는 것을 방지하기 위해 너비가 0인 상자를 사용하는 것입니다.

여기에 이미지 설명을 입력하세요

마지막 코멘트: 코드

\usepackage{tabularx,booktabs}
\usepackage{tabularx,colortbl}
\usepackage{color, colortbl}
\usepackage[table,xcdraw]{xcolor}

와 정확히 똑같다

\usepackage{tabularx,booktabs}
\usepackage[table,xcdraw]{xcolor}

관련 정보