表格中颜色上的 Tikz 符号

表格中颜色上的 Tikz 符号

我正在使用 tikz 包来创建复选标记和叉号,但如果我给行着色,那么它们只能被部分看到。

在此处输入图片描述

这是一个最小的工作示例:


\documentclass[table]{article}
\usepackage{graphicx, xcolor} % Required for inserting images
\usepackage{tabularx,booktabs}
\usepackage{amsmath,amsfonts,amssymb,amscd,amsthm}
\usepackage{multirow}
\usepackage{array}
\usepackage{multicol}

\definecolor{DarkGreen}{rgb}{0.0, 0.5, 0.0}
\definecolor{DarkRed}{rgb}{0.76, 0.13, 0.28}
\definecolor{lavender}{rgb}{0.9, 0.9, 0.98}
\usepackage{tikz}

\def\checkmark{\color{DarkGreen}\tikz\fill[scale=0.4](0,.35) -- (.25,0) -- (1,.7) -- (.25,.15) -- cycle;} 
\def\cross{\color{DarkRed}$\mathbin{\tikz [x=1.4ex,y=1.4ex,line width=.2ex, red] \draw (0,0) -- (1,1) (0,1) -- (1,0);}$}

\begin{document}


\begin{table}[]
\begin{tabular}{lccccc}
\toprule
                                          & \multicolumn{3}{c}{\textbf{Proteins}}                           & \textbf{CHs}    & \multicolumn{1}{l}{}   \\ \cline{2-5}
\multicolumn{1}{c}{\textbf{DES}}          & \textit{BCA Microplate} & \textit{BCA 1 mL} & \textit{Bradford} & \textit{Dubois} & \textit{\textbf{Apt?}} \\ \toprule
\rowcolor{lavender}
\textit{ChCl:Lactic acid}                 & -22,6\%                 & 13,2\%            & 15,0\%            & 4,3\%           & \multirow{2}{*}{\checkmark}   \\
\rowcolor{lavender}
\textit{ChCl:Lactic acid}                 & -32,0\%                 & 6,3\%             & -7,5\%            & 12,9\%          &                        \\
\textit{ChCl:2Lactic acid}                & -43,6\%                 & 8,3\%             & 10,8\%            & 11,9\%          & \multirow{2}{*}{\checkmark}   \\
\textit{ChCl:2Lactic acid}                & -46,7\%                 & -2,0\%            & -3,1\%            & 20,8\%          &                        \\
\rowcolor{lavender}
\textit{ChCl:3Lactic Acid}                & -41,7\%                 & 6,4\%             & 5,9\%             & 12,9\%          & \multirow{2}{*}{\checkmark}   \\
\rowcolor{lavender}
\textit{ChCl:3Lactic Acid}                & -51,1\%                 & -1,6\%            & 3,9\%             & 35,1\%          &                        \\
\textit{ChCl:6Lactic Acid}                & -57,3\%                 & -3,3\%            & 3,1\%             & 42,9\%          & \multirow{2}{*}{\cross}    \\
\textit{ChCl:6Lactic Acid}                & -54,6\%                 & -1,1\%            & 6,4\%             & 28,0\%          &                        \\ \bottomrule
\end{tabular}
\end{table}


\end{document}

答案1

一个简单的解决方案是将对勾和叉号从顶行移至底行,并使用\multirow{-2}{*}{\checkmark}向上连接相关单元格。这样,它们就不会被底行的背景颜色覆盖。

我建议使用\cmidrule而不是 ,\cline因为它可以提供更好的间距。此外,您可能希望使用印刷正确的减号。

\documentclass[table]{article}
\usepackage{tikz}
\usepackage{booktabs}
\usepackage{multirow}

\definecolor{DarkGreen}{rgb}{0.0, 0.5, 0.0}
\definecolor{DarkRed}{rgb}{0.76, 0.13, 0.28}
\definecolor{lavender}{rgb}{0.9, 0.9, 0.98}

\newcommand\checkmark{\color{DarkGreen}$\mathbin{\tikz\fill[scale=0.4](0,.35) -- (.25,0) -- (1,.7) -- (.25,.15) -- cycle;}$} 
\newcommand\cross{\color{DarkRed}$\mathbin{\tikz[x=1.4ex,y=1.4ex,line width=.2ex, red]\draw (0,0) -- (1,1) (0,1) -- (1,0);}$}

\begin{document}
\begin{table}
\begin{tabular}{ l *{4}{r} c }
\toprule
                                 & \multicolumn{3}{c}{\textbf{Proteins}}                           & \multicolumn{1}{c}{\textbf{CHs}} &       \\ \cmidrule(r){2-4} \cmidrule{5-5}
\multicolumn{1}{c}{\textbf{DES}} & \textit{BCA Microplate} & \textit{BCA 1 mL} & \textit{Bradford} & \textit{Dubois} & \textit{\textbf{Apt?}} \\ \toprule
\rowcolor{lavender}
\textit{ChCl:Lactic acid}        & $-$22,6\,\%             & 13,2\,\%          & 15,0\,\%          & 4,3\,\%         &                        \\
\rowcolor{lavender}
\textit{ChCl:Lactic acid}        & $-$32,0\,\%             & 6,3\,\%           & $-$7,5\,\%        & 12,9\,\%        & \multirow{-2}{*}{\checkmark} \\
\textit{ChCl:2Lactic acid}       & $-$43,6\,\%             & 8,3\,\%           & 10,8\,\%          & 11,9\,\%        &                        \\
\textit{ChCl:2Lactic acid}       & $-$46,7\,\%             & $-$2,0\,\%        & $-$3,1\,\%        & 20,8\,\%        & \multirow{-2}{*}{\checkmark} \\
\rowcolor{lavender}
\textit{ChCl:3Lactic Acid}       & $-$41,7\,\%             & 6,4\,\%           & 5,9\,\%           & 12,9\,\%        &                        \\
\rowcolor{lavender}
\textit{ChCl:3Lactic Acid}       & $-$51,1\,\%             & $-$1,6\,\%        & 3,9\,\%           & 35,1\,\%        & \multirow{-2}{*}{\checkmark} \\
\textit{ChCl:6Lactic Acid}       & $-$57,3\,\%             & $-$3,3\,\%        & 3,1\,\%           & 42,9\,\%        &                        \\
\textit{ChCl:6Lactic Acid}       & $-$54,6\,\%             & $-$1,1\,\%        & 6,4\,\%           & 28,0\,\%        & \multirow{-2}{*}{\cross} \\ \bottomrule
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

答案2

{NiceTabular}以下是使用构建该表的一种方法nicematrix

\documentclass{article}
\usepackage{nicematrix}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{siunitx}

\definecolor{DarkGreen}{rgb}{0.0, 0.5, 0.0}
\definecolor{DarkRed}{rgb}{0.76, 0.13, 0.28}
\definecolor{lavender}{rgb}{0.9, 0.9, 0.98}
\def\checkmark{\color{DarkGreen}\tikz\fill[scale=0.4](0,.35) -- (.25,0) -- (1,.7) -- (.25,.15) -- cycle;} 
\def\cross{\color{DarkRed}$\mathbin{\tikz [x=1.4ex,y=1.4ex,line width=.2ex, red] \draw (0,0) -- (1,1) (0,1) -- (1,0);}$}

\begin{document}

\begin{table}[]
\begin{NiceTabular}{>{\itshape}lSSSSc}[color-inside]
\toprule
 & \Block{1-3}{\textbf{Proteins (\%)}} &&& \textbf{CHs (\%)}    &   \\ \cmidrule{2-5}
\Block[c]{}{\normalfont\textbf{DES}} & \textit{BCA Microplate} & \textit{BCA 1 mL} & \textit{Bradford} & \textit{Dubois} & \textit{\textbf{Apt?}} \\ \toprule
\rowlistcolors{lavender, = , , }
ChCl:Lactic acid  & -22,6 & 13,2 & 15,0 & 4,3  & \Block{2-1}{\checkmark}   \\
ChCl:Lactic acid  & -32,0 & 6,3  & -7,5 & 12,9 &                        \\
ChCl:2Lactic acid & -43,6 & 8,3  & 10,8 & 11,9 & \Block{2-1}{\checkmark}   \\
ChCl:2Lactic acid & -46,7 & -2,0 & -3,1 & 20,8 &                        \\
ChCl:3Lactic Acid & -41,7 & 6,4  & 5,9  & 12,9 & \Block{2-1}{\checkmark}   \\
ChCl:3Lactic Acid & -51,1 & -1,6 & 3,9  & 35,1 &                        \\
ChCl:6Lactic Acid & -57,3 & -3,3 & 3,1  & 42,9 & \Block{2-1}{\cross}    \\
ChCl:6Lactic Acid & -54,6 & -1,1 & 6,4  & 28,0 &                        \\ \bottomrule
\end{NiceTabular}
\end{table}

\end{document}

上述代码的输出

相关内容