两个彩色表格行之间的分割行距离

两个彩色表格行之间的分割行距离

我想在行间添加一些空间,以提高我的 booktabs 表的可读性。我已经为每隔一行着色,但无法实现行数相等和列文本居中。我在新行后添加了 3pt 距离,但这似乎不是正确的解决方案。

这是我的代码:

\documentclass[a4paper, 12pt]{article}
\usepackage{color}
\usepackage{longtable}
\usepackage{colortbl}
\usepackage{booktabs}
\definecolor{hellgrau}{gray}{0.9}
\newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}}

\begin{document}
\begin{longtable}[c]{>{\kern-\tabcolsep}lll<{\kern-\tabcolsep}}\toprule
\ra{1.3}
A & B & C \\
\midrule
\endhead
A & B & C \\[3pt]
\rowcolor{hellgrau}
A & B & C \\[3pt]
A & B & C \\[3pt]
\rowcolor{hellgrau}
A & B & C \\[3pt]
A & B & C \\[3pt]
\bottomrule
\end{longtable}
\end{document}

结果表

答案1

你应该发出指令\ra{1.3} \begin{longtable}. 如果需要,使用\begingroup\endgroup来本地化 的范围\ra{1.3}

在此处输入图片描述

\documentclass[a4paper, 12pt]{article}
\usepackage[table]{xcolor}
\usepackage{longtable}
\usepackage{booktabs}
\definecolor{hellgrau}{gray}{0.9}
\newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}}

\begin{document}
\begingroup % localize effect of the following instruction
\ra{1.3}
\begin{longtable}{>{\kern-\tabcolsep}lll<{\kern-\tabcolsep}}
\toprule
A & B & C \\
\midrule
\endhead
\bottomrule
\endfoot

A & B & C \\
\rowcolor{hellgrau}
A & B & C \\
A & B & C \\
\rowcolor{hellgrau}
A & B & C \\
A & B & C \\
\end{longtable}
\endgroup 
\end{document}

答案2

我建议您改用cellspace包;它定义了以字母 S 为前缀的限定符的列中单元格顶部和底部的最小垂直填充。这会产生一个稍微简单的代码(无需加载,color因为colortbl它会这样做):

\documentclass[a4paper, 12pt]{article}

\usepackage{longtable}
\usepackage{colortbl}
\usepackage{booktabs}
\definecolor{hellgrau}{gray}{0.9}

\usepackage{cellspace}
\setlength\cellspacetoplimit{3pt}
\setlength\cellspacebottomlimit{3pt}

\begin{document}

\begin{longtable}[c]{>{\kern-\tabcolsep}*{3}{Sl}<{\kern-\tabcolsep}}\toprule
A & B & C \\
\midrule\addlinespace[2pt]
\endhead
A & B & C \\
\rowcolor{hellgrau}
A & B & C \\
A & B & C \\
\rowcolor{hellgrau}
A & B & C \\
A & B & C \\
\bottomrule
\end{longtable}

\end{document} 

在此处输入图片描述

相关内容