使用 makecell 时如何为行着色?

使用 makecell 时如何为行着色?

我想给表格的行添加颜色,使其更易于阅读。有些单元格有多行,所以我使用 makecell 包,并计划使用 xcolor 进行着色,但它们发生冲突。示例代码:

\documentclass{article}
\usepackage{makecell}
%\usepackage[table]{xcolor}
\usepackage{bpchem}

\begin{document}
    %\rowcolors[1]{gray!25}{white}
    \begin{tabular}{ccc}
        \BPChem{H\_2O}&\BPChem{H\_3N}&\BPChem{H\_4C}\\
        \makecell{\BPChem{H\_2O\_2}\\unstable}&\BPChem{H\_4N\_2}&\BPChem{H\_6C\_2}\\
        not exists&\makecell{\BPChem{H\_5N\_3}\\unstable}&\BPChem{H\_8C\_3}\\
    \end{tabular}
\end{document}

答案1

\rowcolors命令需要 3 个强制参数。由于我没有 bpchem安装,所以我加载了chemformula,它无论如何都有更简单的复合语法。我擅自将灰色阴影更改为更美观的颜色,并在行顶部添加了一些垂直填充:

\documentclass{article}
\usepackage{makecell}
\usepackage[table, svgnames]{xcolor}
\usepackage{chemformula}

\begin{document}

\begin{table}\setlength\extrarowheight{2pt}
 \rowcolors{1}{Lavender!80!gray}{white}
    \begin{tabular}{ccc}
    \ch{H2O}&\ch{H3N}&\ch{H4C}\\
        \makecell[t]{\ch{H2O2}\\unstable}&\ch{H4N2}&\ch{H6C2}\\
        not exists&\makecell[t]{\ch{H5N3}\\unstable}&\ch{H8C3}\\
    \end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

答案2

使用({NiceTabular}nicematrix将不会在彩色面板中看到任何白线)。

\documentclass{article}
\usepackage{nicematrix}
\usepackage{chemformula}

\begin{document}

\begin{table}\setlength\extrarowheight{2pt}
\begin{NiceTabular}{ccc}
\CodeBefore
\rowcolors{1}{gray!15}{}
\Body
   \ch{H2O}&\ch{H3N}&\ch{H4C}\\
   \Block[t]{}{\ch{H2O2}\\unstable}&\ch{H4N2}&\ch{H6C2}\\
   not exists&\Block[t]{}{\ch{H5N3}\\unstable}&\ch{H8C3}\\
\end{NiceTabular}
\end{table}

\end{document}

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

上述代码的输出

相关内容