儲存格顏色與儲存格邊框重疊

儲存格顏色與儲存格邊框重疊

此程式碼使彩色單元格中的邊框消失。如何恢復邊框?已經嘗試過了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

Thuis 是 和 的已知\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}by替換{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}

第二段程式碼的輸出

相關內容