禁忌行之间的水平规则周围的垂直空间,同时保持颜色

禁忌行之间的水平规则周围的垂直空间,同时保持颜色

我想增加禁忌表中水平规则前后的垂直空间,但希望规则下方和上方单元格中的颜色不被破坏,而是继续贯穿规则。

这是我的尝试。第一个水平规则(绿色)没有足够的垂直空间,因此我尝试了红色和蓝色水平规则中所示的几种方法,但在这两种情况下,我都得到了中间的白色空间,我希望颜色从上方的单元格直接穿过下方的单元格。此外,红色规则实际上在其上方和下方都没有足够的空间。补充:第 1 行和第 2 行之间的垂直间距不应更改,因为它们之间没有规则。也可能是不同的水平规则需要不同的垂直间距,因此理想情况下应该可以根据规则控制间距。

\documentclass{article}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{booktabs}
\usepackage{tabu}
\begin{document}

\begin{center}
\begin{tabu}{X>{\columncolor{blue}}XXX}
1 & 2 & a & b\\
1 & 2 & a & b\\
\tabucline[green]-
1 & 2 & a & b\\
\arrayrulecolor{red}
\cmidrule(r{1.0ex}){1-2}\cmidrule(l{1.0ex}){3-4}
1 & 2 & \cellcolor{green}a & b\\
\addlinespace
\tabucline[blue]-
\addlinespace
1 & 2 & \cellcolor{green}a & b\\
\end{tabu}
\end{center}
\end{document}

输出:

截屏

答案1

这是你想要的吗?

\documentclass{article}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{booktabs}
\usepackage{adjustbox}
\usepackage{tabu}
\begin{document}
\belowrulesep=0pt
\aboverulesep=0pt

\begin{center}
\begin{tabu}{X>{\columncolor{blue}}XXX}
1 & 2 & a & b\\
1 & 2 & a & b\\
\tabucline[green]-
1 & 2 & a & b\\
\arrayrulecolor{red}
\cmidrule(r{2.0ex}){1-2}\cmidrule(l{2.0ex}){3-4}
\adjustbox{margin=0pt 10pt 0pt 0pt}{1} & 2 & \cellcolor{green}a & b\\
\tabucline[blue]-
\adjustbox{margin=0pt 0pt 0pt 10pt}{1} & 2 & \cellcolor{green}a & b\\
\end{tabu}
\end{center}
\end{document}

这更像是一种黑客行为,而不是真正的解决方案。我使用adjustbox在单元格内添加边距,并删除cmidrule周围的空间...

相关内容