在常规表格中,我尝试删除第一列之前和最后一列之后的小水平空间,就像使用booktabs
带有选项的包实现的@{}
那样。我该怎么做?请编译以下代码:
\documentclass[fleqn,11pt]{book}
\usepackage{booktabs}
\begin{document}
\begin{table}[!ht]\centering
\begin{tabular}{@{}llr@{}} \toprule
Gnat & per gram & 13.65 \\
Gnu & stuffed & 92.50 \\ \bottomrule
\end{tabular}
\end{table}
\begin{table}[!ht]\centering
\begin{tabular}{llr} \toprule
Gnat & per gram & 13.65 \\
Gnu & stuffed & 92.50 \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
答案1
@{}
中的规范适用tabular
于任何表。它并不特定于booktabs
包。
下面是一个使用\fbox
es 围绕表格来显示边界的示例。
\documentclass{article}
\begin{document}
\fbox{\begin{tabular}{ll}
foo & bar\\
bar & foo
\end{tabular}}
\fbox{\begin{tabular}{@{}ll@{}}
foo & bar\\
bar & foo
\end{tabular}}
\end{document}
答案2
这彩色表格命令\columncolor
并向\rowcolor
彩色单元格添加悬垂以连接它们;悬垂的默认值为\tabcolsep
;如果按列着色,则可以将左悬垂和右悬垂指定为可选参数\columncolor
;因为\rowcolor
它更困难,因为一行中的所有单元格都使用相同的悬垂:
\setlength{\tabcolsep}{1pt}
\begin{tabular}{l<{\hspace{2pt}}
>{\hspace{2pt}}l<{\hspace{2pt}}
>{\hspace{2pt}}r}
\toprule
\rowcolor{green}
Gnat & per gram & 13.65 \\
\rowcolor{blue}
Gnu & stuffed & 92.50 \\
\bottomrule
\end{tabular}
换句话说,您\tabcolsep
可以通过手动插入空格来模拟列之间的空间。对于彩色行,我会坚持\tabcolsep
在表格前后保留正常空间。