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