
이 코드는 색칠된 셀에서 테두리를 사라지게 만듭니다. 국경을 어떻게 되돌릴 수 있나요? 시도해 보았지만 hhline
작동하지 않습니다.
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{graphicx}
\begin{document}
\begin{table}
\resizebox{\textwidth}{!}{%
\begin{tabular}{lll}
\multicolumn{1}{c}{\textbf{Table}} & \multicolumn{1}{c}{\textbf{}} & \\
& a & b \\ \cline{2-3}
\multicolumn{1}{l|}{a} & \multicolumn{1}{l|}{\cellcolor[HTML] {FE0000}\textit{}} & \multicolumn{1}{l|}{} \\ \hline
\multicolumn{1}{|l|}{\textit{b}} & \multicolumn{1}{l|}{\cellcolor[HTML] {CD9934}} & \multicolumn{1}{l|}{} \\ \hline
\end{tabular}%
}
\caption{My caption}
\label{my-label}
\end{table}
\end{document}
답변1
\cline{...}
Thuis는 및 의 알려진 문제입니다 colortbl
. 이러한 상황에서는 패키지의 라인이 hhline
편리합니다.
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{graphicx}
\usepackage{hhline}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}
\begin{document}
\begin{table}
\resizebox{\textwidth}{!}{%
\begin{tabular}{r|c|c|}
\mc{\textbf{Table}} & \mc{} & \mc{} \\
\mc{} & \mc{a} & \mc{b} \\
\hhline{~|-|-|}
\textit{a} & \cellcolor[HTML]{FE0000} & \\
\hhline{~|-|-|}
\textit{b} & \cellcolor[HTML]{CD9934} & \\
\hhline{~|-|-|}
\end{tabular}%
}
or
\resizebox{\textwidth}{!}{%
\begin{tabular}{|r|c|c|}
\mc{\textbf{Table}} & \mc{} & \mc{} \\
\mc{} & \mc{a} & \mc{b} \\
\hhline{-|-|-|}
\textit{a} & \cellcolor[HTML]{FE0000} & \\
\hhline{-|-|-|}
\textit{b} & \cellcolor[HTML]{CD9934} & \\
\hhline{-|-|-|}
\end{tabular}%
}
\caption{My caption}
\label{my-label}
\end{table}
\end{document}
답변2
패키지에는 nicematrix
이러한 종류의 문제를 해결하도록 설계된 도구가 있습니다.
귀하의 코드에서 를 키 (해당 키는 표에 색상 지침이 있음을 지정함) {tabular}
로 대체했습니다 .{NiceTabular}
color-inside
물론, nicematrix
사용하지 않은 여러 패키지를 로드했습니다(그리고 언로드했습니다).
출력은 예상대로입니다.
\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\begin{table}
\resizebox{\textwidth}{!}{%
\begin{NiceTabular}{lll}[color-inside]
\multicolumn{1}{c}{\textbf{Table}} & \multicolumn{1}{c}{\textbf{}} & \\
& a & b \\ \cline{2-3}
\multicolumn{1}{l|}{a} & \multicolumn{1}{l|}{\cellcolor[HTML]{FE0000}\textit{}} & \multicolumn{1}{l|}{} \\ \hline
\multicolumn{1}{|l|}{\textit{b}} & \multicolumn{1}{l|}{\cellcolor[HTML]{CD9934}} & \multicolumn{1}{l|}{} \\ \hline
\end{NiceTabular}%
}
\caption{My caption}
\label{my-label}
\end{table}
\end{document}
그러나 출력은 완벽하지 않습니다(두 규칙 간의 연결에 작은 문제가 있음).
nicematrix
해당 문제를 방지할 수 있는 규칙 도구가 있습니다.
\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\begin{table}
\resizebox{\textwidth}{!}{%
\begin{NiceTabular}{lll}[color-inside]
\Block[c]{}{\textbf{Table}} \\
& a & b \\
a & \Block[hvlines]{1-2}{} \cellcolor[HTML]{FE0000} \\
\Block[hvlines]{1-3}{}
\textit{b} & \cellcolor[HTML]{CD9934} \\
\end{NiceTabular}%
}
\caption{My caption}
\label{my-label}
\end{table}
\end{document}