セルの境界線と重なるセルの色

セルの境界線と重なるセルの色

このコードにより、色付きセルの境界線が消えます。境界線を元に戻すにはどうしたらいいでしょうか? 試してみましたが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{...}これは、 およびに関する既知の問題です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}

最初のコードの出力

ただし、出力は完璧ではありません (2 つのルール間の接続に小さな問題があります)。

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}

2番目のコードの出力

関連情報