Color de celda que se superpone a los bordes de las celdas

Color de celda que se superpone a los bordes de las celdas

Este código hace que los bordes desaparezcan en las celdas coloreadas. ¿Cómo recupero las fronteras? Lo he intentado hhliney esto no funciona.

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

Respuesta1

Este es un problema conocido con \cline{...}y colortbl. En tales situaciones, las líneas del paquete hhlineson útiles:

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

ingrese la descripción de la imagen aquí

Respuesta2

El paquete nicematrixtiene herramientas diseñadas para abordar ese tipo de problema.

En su código, lo reemplacé {tabular}por {NiceTabular}con la clave color-inside(esa clave especifica que habrá instrucciones de color en la tabla).

Por supuesto, he cargado nicematrix(y descargado) varios paquetes no utilizados.

El resultado es el esperado.

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

Salida del primer código.

Sin embargo, el resultado no es perfecto (hay un pequeño problema de conexión entre dos reglas).

nicematrixtiene herramientas para las reglas que evitarán ese problema.

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

Salida del segundo código.

información relacionada