多列多行表格中的颜色-如何实现?

多列多行表格中的颜色-如何实现?

还有一个问题,这次是关于表格着色。这是我在您的帮助下得到的表格代码:

\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{table}[h]
\begin{tabular}{*{6}{|c}|}
\cline{3-6}
\multicolumn{2}{c|}{} & M1          & M2            & M3           & M4            \\ \hline
\multirow{3}{*}{A1}  & a1 \quad a2 & 0,3 \quad 0,5 & 0,1 \quad 0,2 & 0,3 \quad 0,8 & 0,4 \quad 0,7 \\
                     & b           & 3             & 2             & 0,1           & 1             \\
                     & c           & 1             & 0             & -5            & 3             \\ \hline
\multirow{3}{*}{A2}  & a1 \quad a2 & 0,3 \quad 0,5 & 0,1 \quad 0,2 & 4 \quad 2     & 0,1 \quad 0,2 \\
                     & b           & 3             & 2             & 0,1           & 1             \\
                     & c           & 1             & 0             & -5            & -2            \\ \hline
 \multirow{3}{*}{A3} & a1 \quad a2 & 0,3 \quad 0,5 & 0,1 \quad 0,2 & 4 \quad 2     & 0,1 \quad 0,2 \\
                     & b           & 3             & 2             & 0,1           & 1             \\
                     & c           & 1             & 0             & -5            & -2            \\ \hline
\end{tabular}
\end{table}
\end{document} 

我怎样才能将表格着色成如下所示的样子?提前致谢。

http://i.imgur.com/AY3XwgY.png

答案1

有点复杂...

\documentclass{article}
\usepackage{multirow}
\usepackage[table]{xcolor}
\begin{document}
\begin{table}[h]
\begin{tabular}{|*{2}{>{\columncolor{black}\color{white}}c}*{4}{|c}|}
\cline{3-6}
\rowcolor{black}\multicolumn{2}{c|}{\cellcolor{white}{}} 
                     & \textcolor{white}{M1}          
                     & \textcolor{white}{M2}            
                     & \textcolor{white}{M3}           
                     & \textcolor{white}{M4}            \\ \hline
                     & a1 \quad a2 & 0,3 \quad 0,5 & 0,1 \quad 0,2 & 0,3 \quad 0,8 & 0,4 \quad 0,7 \\
                     & b           & 3             & 2             & 0,1           & 1             \\
\multirow{-3}{*}{A1} & c           & 1             & 0             & -5            & 3             \\ \hline  
                     & a1 \quad a2 & 0,3 \quad 0,5 & 0,1 \quad 0,2 & 4 \quad 2     & 0,1 \quad 0,2 \\
                     & b           & 3             & 2             & 0,1           & 1             \\
\multirow{-3}{*}{A2} & c           & 1             & 0             & -5            & -2            \\ \hline
                     & a1 \quad a2 & 0,3 \quad 0,5 & 0,1 \quad 0,2 & 4 \quad 2     & 0,1 \quad 0,2 \\
                     & b           & 3             & 2             & 0,1           & 1             \\
\multirow{-3}{*}{A3} & c           & 1             & 0             & -5            & -2            \\ \hline
\end{tabular}
\end{table}
\end{document} 

在此处输入图片描述

答案2

解决方案包括makecell(允许在单元格中换行)、cellspace(单元格上方和下方有更好的垂直间距)和hhline(允许多色水平线):

\documentclass{article}

\usepackage{amsmath}
\usepackage{multirow, makecell, colortbl, hhline}
\usepackage{xcolor}
\usepackage{cellspace}
\setlength\cellspacetoplimit{3pt}
\setlength\cellspacebottomlimit{3pt}

\begin{document}
\begin{table}[h]
\setlength\tabcolsep{10pt}\setlength\arrayrulewidth{1pt}
\sffamily\bfseries
\begin{tabular}{>{\columncolor{black}\color{white}}c!{\color{white}\vline width1pt} >{\columncolor{black}\color{white}}c *{4}{Sc|}}
\cline{3-6}
\rowcolor{black} \multicolumn{2}{c|}{\cellcolor{white}} & \color{white}M1 &\color{white} M2 &\color{white} M3 & \color{white}M4 \\
\hhline{>{\arrayrulecolor{white}}-->{\arrayrulecolor{black}}|----}
\makebox[1cm]{A1}& \makecell{a1 \quad a2\\b\\c} & \makecell{0,3 \quad 0,5\\3\\1} &\makecell{ 0,1 \quad 0,2\\2\\0} &\makecell{ 0,3 \quad 0,8\\0.1\\$ \boldsymbol - $5} & \makecell{0,4 \quad 0,7\\1\\3} \\
\hhline{>{\arrayrulecolor{white}}-->{\arrayrulecolor{black}}----}
A2 & \makecell{a1 \quad a2\\b\\c} & \makecell{0,3 \quad 0,5\\3\\1} & \makecell{0,1 \quad 0,2\\2\\0} & \makecell{4 \quad 2\\0.1\\$ \boldsymbol - $5} & \makecell{0,1 \quad 0,2\\1\\-2} \\
\hhline{>{\arrayrulecolor{white}}-->{\arrayrulecolor{black}}----}
A3 & \makecell{a1 \quad a2\\b\\c} & \makecell{0,3 \quad 0,5\\3\\1} & \makecell{0,1 \quad 0,2\\2\\0} & \makecell{4 \quad 2\\0.1\\$\boldsymbol - $5} & \makecell{0,1 \quad 0,2\\1\\$\boldsymbol - $2} \\
\hhline{>{\arrayrulecolor{white}}-->{\arrayrulecolor{black}}----}
\end{tabular}
\end{table}
\end{document} 

在此处输入图片描述

答案3

使用。{NiceTabular}无论nicematrix您使用哪种 PDF 查看器,我们都不会看到细白线。

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}

\begin{document}

\begin{table}
\begin{NiceTabular}{*{2}{>{\columncolor{black}\color{white}\sffamily}c}cccc}[vlines,corners=NW,colortbl-like]
\rowcolor{black}\RowStyle{\color{white}\sffamily}
                &             & M1            & M2            & M3            & M4            \\ \Hline
\Block{3-1}{A1} & a1 \quad a2 & 0,3 \quad 0,5 & 0,1 \quad 0,2 & 0,3 \quad 0,8 & 0,4 \quad 0,7 \\
                & b           & 3             & 2             & 0,1           & 1             \\
                & c           & 1             & 0             & -5            & 3             \\ \Hline  
\Block{3-1}{A2} & a1 \quad a2 & 0,3 \quad 0,5 & 0,1 \quad 0,2 & 4 \quad 2     & 0,1 \quad 0,2 \\
                & b           & 3             & 2             & 0,1           & 1             \\
                & c           & 1             & 0             & -5            & -2            \\ \Hline
\Block{3-1}{A3} & a1 \quad a2 & 0,3 \quad 0,5 & 0,1 \quad 0,2 & 4 \quad 2     & 0,1 \quad 0,2 \\
                & b           & 3             & 2             & 0,1           & 1             \\
                & c           & 1             & 0             & -5            & -2            \\ \Hline
\end{NiceTabular}
\end{table}

\end{document} 

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容