我正在尝试制作一个彩色表格,但分隔线和边框线会产生空白,破坏表格的美观。我希望删除它们。
这是我正在使用的代码
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{hhline}
\usepackage[table]{xcolor}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{l*8cl}
\toprule
\rowcolor[HTML]{A4CAF6}
\multicolumn{1}{c}{\cellcolor[HTML]{A4CAF6}} & \multicolumn{8}{c}{\cellcolor[HTML]{A4CAF6}Temperatura $[^{\circ}C]$} & \cellcolor[HTML]{A4CAF6} \\ \cmidrule(lr){2-9}
\rowcolor[HTML]{A4CAF6}
\multicolumn{1}{c}{\multirow{-2}{*}{\cellcolor[HTML]{A4CAF6}Propiedad}} & 25 & 50 & 100 & 150 & 200 & 250 & 300 & 350 & \multirow{-2}{*}{\cellcolor[HTML]{A4CAF6}Referencia} \\
\rowcolor[HTML]{FFFFC7}
$Rp_{0,2} [MPa]$ & & & & & & & & & \\
\rowcolor[HTML]{CFCFCF}
$UTS [MPa]$ & & & & & & & & & \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
答案1
使用最新版本nicematrix
(2020/05/08 4.0),您可以轻松获得结果(需要多次编译)。
\documentclass{article}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{nicematrix}
\definecolor{myblue}{HTML}{A4CAF6}
\definecolor{myyellow}{HTML}{FFFFC7}
\definecolor{mygray}{HTML}{CFCFCF}
\begin{document}
\begin{table}[h]
\centering
\begin{NiceTabular}{L*{8}{C}L}[code-before = \rowcolor{myblue}{1,2} \rowcolor{myyellow}{3} \rowcolor{mygray}{4}]
\toprule
\multirow{2}{*}{Propiedad} & \multicolumn{8}{C}{Temperatura [\si{\celsius}]} & \multirow{2}{*}{Referencia}\\
\cmidrule{2-9}
& 25 & 50 & 100 & 150 & 200 & 250 & 300 & 350 \\
R\textsubscript{p0,2} [\si{\mega\pascal}] \\
UTS [\si{\mega\pascal}] \\
\bottomrule
\end{NiceTabular}
\end{table}
\end{document}
答案2
这是我的建议。为了去除白线,您可以使用\hhline{>{\arrayrulecolor[HTML]{A4CAF6}}->{\arrayrulecolor{black}}-------->{\arrayrulecolor[HTML]{A4CAF6}}->{\arrayrulecolor{black}}}
。这将用与背景颜色相同的线条填充白色间隙。
我建议不要一遍又一遍地重复 HTML 颜色定义,而是在序言中定义颜色,并在整个文档中使用这种预定义的颜色。如果您以后决定更改颜色,这将使事情变得容易得多。然后,您只需在序言中更改定义,而不必更改每个单元格的颜色。在下面的 MWE 中,我使用了这种全局定义的颜色。
我还添加了siunitx
单位为 °C 和 MPa 的包。我还更改了 Rp0,2 和 UTS 的代码(假设它们对应于屈服强度和极限拉伸强度),因为不建议使用数学模式进行缩写。如果您希望 UTS 以斜体显示,请使用\textit{UTS}
。
对于第二个表格,我添加了cellspace
包以便在每个单元格中的文本上方和下方添加一些垂直空间,以避免与水平线重叠。
\documentclass{article}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{hhline}
\usepackage[table]{xcolor}
\usepackage{siunitx}
\definecolor{myblue}{HTML}{A4CAF6}
\definecolor{myyellow}{HTML}{FFFFC7}
\definecolor{mygray}{HTML}{CFCFCF}
\usepackage[column=0]{cellspace}
\setlength\cellspacetoplimit{0.5\tabcolsep}
\setlength\cellspacebottomlimit{\cellspacetoplimit}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{l*8cl}
\hline
\rowcolor[HTML]{A4CAF6}
\multicolumn{1}{c}{\cellcolor{myblue}} & \multicolumn{8}{c}{\cellcolor{myblue}Temperatura [\si{\celsius}]} & \cellcolor{myblue} \\
\hhline{>{\arrayrulecolor{myblue}}->{\arrayrulecolor{black}}-------->{\arrayrulecolor{myblue}}->{\arrayrulecolor{black}}}
\rowcolor{myblue}
\multicolumn{1}{c}{\multirow{-2}{*}{\cellcolor{myblue}Propiedad}} & 25 & 50 & 100 & 150 & 200 & 250 & 300 & 350 & \multirow{-2}{*}{\cellcolor{myblue}Referencia} \\
\rowcolor{myyellow}
R\textsubscript{p0,2} [\si{\mega\pascal}] & & & & & & & & & \\
\rowcolor{mygray}
UTS [\si{\mega\pascal}] & & & & & & & & & \\ \hline
\end{tabular}
\end{table}
\begin{table}[h]
\centering
\begin{tabular}{0l*{8}{0c}0l}
\hline
\rowcolor[HTML]{A4CAF6}
\multicolumn{1}{c}{\cellcolor{myblue}} & \multicolumn{8}{c}{\cellcolor{myblue}Temperatura [\si{\celsius}]} & \cellcolor{myblue} \\
\hhline{>{\arrayrulecolor{myblue}}->{\arrayrulecolor{black}}-------->{\arrayrulecolor{myblue}}->{\arrayrulecolor{black}}}
\rowcolor{myblue}
\multicolumn{1}{c}{\multirow{-2}{*}{\cellcolor{myblue}Propiedad}} & 25 & 50 & 100 & 150 & 200 & 250 & 300 & 350 & \multirow{-2}{*}{\cellcolor{myblue}Referencia} \\
\rowcolor{myyellow}
R\textsubscript{p0,2} [\si{\mega\pascal}] & & & & & & & & & \\
\rowcolor{mygray}
UTS [\si{\mega\pascal}] & & & & & & & & & \\ \hline
\end{tabular}
\end{table}
\end{document}