如何删除表格规则周围的空白

如何删除表格规则周围的空白

我正在尝试制作一个彩色表格,但分隔线和边框线会产生空白,破坏表格的美观。我希望删除它们。

在此处输入图片描述

这是我正在使用的代码

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

相关内容