Zellenfarbe überlappende Zellränder

Zellenfarbe überlappende Zellränder

Dieser Code lässt die Ränder in den farbigen Zellen verschwinden. Wie bekomme ich die Ränder zurück? Habe es versucht, hhlineaber es funktioniert nicht.

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

Antwort1

Dies ist ein bekanntes Problem mit \cline{...}und colortbl. In solchen Situationen hhlinesind Zeilen aus dem Paket hilfreich:

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

Bildbeschreibung hier eingeben

Antwort2

Das Paket nicematrixenthält Tools zur Lösung dieser Art von Problemen.

{tabular}In Ihrem Code habe ich „ by“ durch {NiceTabular}den Schlüssel ersetzt color-inside(dieser Schlüssel gibt an, dass die Tabelle Farbanweisungen enthalten soll).

Natürlich habe ich nicematrixmehrere unbenutzte Pakete geladen (und entladen).

Die Ausgabe ist wie erwartet.

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

Ausgabe des ersten Codes

Allerdings ist das Ergebnis nicht perfekt (es gibt ein kleines Verbindungsproblem zwischen zwei Regeln).

nicematrixverfügt über Tools für die Regeln, die dieses Problem vermeiden.

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

Ausgabe des zweiten Codes

verwandte Informationen