删除顶部/底部规则下方/上方的间距

删除顶部/底部规则下方/上方的间距

我试图删除最后一行和顶部/底部规则之间的空白,并且我已经找到了一些解决方案,但我无法让它们工作:

表格行颜色覆盖文本

结合 \rowcolor 和 \cmidrule

我能够得到这个工作的唯一方法是通过下面的例子,因为直接应用上面链接的代码导致了missing noalign

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

\ra{1.3}
\begin{document}
\begin{longtable}{>{\kern-\tabcolsep}lll<{\kern-\tabcolsep}}
\toprule
A & B & C \\
\midrule
\endhead
A & B & C \\
\rowcolor{hellgrau}
A & B & C \\
A & B & C \\
\rowcolor{hellgrau}
A & B & C\\
\specialrule{0.08em}{0pt}{-0.08em}
\arrayrulecolor{black}\\
\caption{Caption}
\label{tab:table}
\end{longtable}
\end{document}

缺点是它重复了标题的距离并且看起来非常恶心所以我不能将其视为解决方案。

结果

答案1

就像这样?使用 longtable 时,标题必须写在inside表格中。顺便说一句,传统上,表格标题放在above表格中(而图形标题放在图形下方)。

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

\begin{document}

\begin{longtable}{>{\kern-\tabcolsep}lll<{\kern-\tabcolsep}}
  \toprule
  A & B & C \\
  \midrule
  \endhead
  \bottomrule\addlinespace[\belowrulesep]
  \arrayrulecolor{black}%\\
  \caption{Caption}
  \label{tab:table}
  \endlastfoot
  A & B & C \\
  \rowcolor{rowgray}
  A & B & C \\
  A & B & C \\
  \rowcolor{rowgray}
  A & B & C \vspace{-\aboverulesep}
\end{longtable}

\end{document} 

在此处输入图片描述

答案2

我完全没有找到根本问题所在。Misplaced \noalign. \caption错误是由我从未使用过的包含项引起的\usepackage{arydshln},因此我不认为错误是由那里引起的。除此之外,我的初始解决方案以及@Bernard 的解决方案都可以正常工作。

相关内容