我正在尝试创建一个包含分数的表格,并且每隔一行都涂上颜色。由于分数的存在,我不得不将表格中的行分开,但这似乎与行的着色相冲突,现在着色不起作用了。
以下是我目前的代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{color, colortbl}
\definecolor{Gray}{gray}{0.9}
\def\xstrut{\rule[-2ex]{0pt}{5ex}}
\usepackage{booktabs}
\usepackage{cellspace}
\setlength\cellspacetoplimit{3pt}
\setlength\cellspacebottomlimit{3pt}
\usepackage{makecell}
\setcellgapes{3pt}
\begin{document}
\begin{table}[!htbp]
\centering\makegapedcells
\setlength{\tabcolsep}{1em}
\begin{tabular}{c | cc | cc}
\toprule
\textbf{Parameters} & \multicolumn{2}{c|}{A} & \multicolumn{2}{c}{B} \\ \midrule
\rowcolor{Gray} $(2, n, 3)$ & $\displaystyle \dfrac{2}{3}$ & $\displaystyle \dfrac{3}{2}$ & $\displaystyle \dfrac{2}{3}$ & $\displaystyle \dfrac{3}{2}$ \\
$(2, n, 4)$ & $\displaystyle \dfrac{3}{4}$ & $\displaystyle \dfrac{4}{3}$ & $\displaystyle \dfrac{3}{4}$ & $\displaystyle \dfrac{4}{3}$ \\
\rowcolor{Gray} $(4, n, 8)$ & $\displaystyle \dfrac{1}{4}$ & $\displaystyle 4$ & $\displaystyle \dfrac{5}{8}$ & $\displaystyle \dfrac{8}{5}$ \\ \bottomrule
\end{tabular}
\caption{Comparison of A and B}
\label{tab:results}
\end{table}
\end{document}
生成下表:
我对此很满意,但我希望第二行和第四行有阴影。
任何帮助将非常感激。
答案1
表格中的(部分)和颜色确实存在问题makecell
。 也存在问题booktabs
:规则有一些垂直填充,这会在彩色行的顶部和底部产生白色条纹。 最简单的解决方案是抑制彩色表格中的这种填充,并将其替换为通过 获得的自定义填充cellspace
。
在下面的代码中,我color
用xcolor
和选项替换了旧的包[table]
,这使得加载变得colortbl
没有必要,并使用命令添加了新的功能\rowcolors
:
\documentclass{article}
\usepackage{amsmath}
\usepackage[table, svgnames]{xcolor}
\definecolor{Gray}{gray}{0.9}
\def\xstrut{\rule[-2ex]{0pt}{5ex}}
\usepackage{booktabs}
\usepackage{cellspace}
\setlength\cellspacetoplimit{3pt}
\setlength\cellspacebottomlimit{3pt}
\begin{document}
\begin{table}[!htbp]
\centering%
\setlength{\tabcolsep}{1em}
\setlength\aboverulesep{0pt}
\setlength\belowrulesep{0pt}
\rowcolors{1}{}{Gray}
\begin{tabular}{Sc | ScSc | cc}
\toprule
\textbf{Parameters} & \multicolumn{2}{c|}{A} & \multicolumn{2}{c}{B} \\ \midrule
$(2, n, 3)$ & $\displaystyle \dfrac{2}{3}$ & $\displaystyle \dfrac{3}{2}$ & $\displaystyle \dfrac{2}{3}$ & $\displaystyle \dfrac{3}{2}$ \\
$(2, n, 4)$ & $\displaystyle \dfrac{3}{4}$ & $\displaystyle \dfrac{4}{3}$ & $\displaystyle \dfrac{3}{4}$ & $\displaystyle \dfrac{4}{3}$ \\
$(4, n, 8)$ & $\displaystyle \dfrac{1}{4}$ & $\displaystyle 4$ & $\displaystyle \dfrac{5}{8}$ & $\displaystyle \dfrac{8}{5}$ \\ \bottomrule
\end{tabular}
\caption{Comparison of A and B}
\label{tab:results}
\end{table}
\end{document}
答案2
{NiceTabular}
您可以使用轻松制作该表格nicematrix
。在该环境中,您可以绘制与 规则兼容的垂直线booktabs
(即使这完全不符合 的精神booktabs
)。您可以使用 工具以 兼容的方式为行着色,booktabs
并且您有一个内置键cell-space-limits
(不需要cellspace
)。
\documentclass{article}
\usepackage{nicematrix}
\usepackage{booktabs}
\begin{document}
\begin{table}[!htbp]
\centering
\setlength{\tabcolsep}{1em}
\begin{NiceTabular}{c|cc|cc}[cell-space-limits=3pt]
\CodeBefore
\rowcolors[gray]{1}{}{0.9}
\Body
\toprule
\textbf{Parameters} & \Block{1-2}{A} && \Block{1-2}{B} \\ \midrule
$(2, n, 3)$ & $\dfrac{2}{3}$ & $\dfrac{3}{2}$ & $\dfrac{2}{3}$ & $\dfrac{3}{2}$ \\
$(2, n, 4)$ & $\dfrac{3}{4}$ & $\dfrac{4}{3}$ & $\dfrac{3}{4}$ & $\dfrac{4}{3}$ \\
$(4, n, 8)$ & $\dfrac{1}{4}$ & $4$ & $\dfrac{5}{8}$ & $\dfrac{8}{5}$ \\ \bottomrule
\end{NiceTabular}
\caption{Comparison of A and B}
\label{tab:results}
\end{table}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。