我试图删除最后一行和顶部/底部规则之间的空白,并且我已经找到了一些解决方案,但我无法让它们工作:
我能够得到这个工作的唯一方法是通过下面的例子,因为直接应用上面链接的代码导致了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 的解决方案都可以正常工作。