摘要
本课讲授如何排出读起来毫不费力的表格。它说明什么是表格,即按行又按列阅读的文字,以及表格何时比列表或插图更合适;介绍 tabular 环境,包括列说明符 l、c、r 和 p{width},单元格之间的 & 和每行末尾的 \\;展示由竖线和 \hline 构成的网格,并解释它为何妨碍阅读;介绍 booktabs 宏包的横线,即 \toprule、\midrule、\bottomrule、带裁剪的 \cmidrule 和 \addlinespace,以及专业表格的规范;用 siunitx 的 S 列把数字右对齐或按小数点对齐,并用 @{} 去掉两侧的列间距;把单位放进表头,用 \makecell 拆分过长的表头,用 \raggedright 和 \arraybackslash 在段落列中排文字;比较 \arraystretch、\tabcolsep 与 booktabs 的间距;最后阅读最常见错误的真实日志,包括那些不给出任何警告的错误。
学习目标
- 判断一组数据应当用表格、列表还是插图来呈现,并根据读者查阅它的方式说明理由。
- 用
tabular排出表格,为每一列选择与其内容相符的字母,并预测给定源代码的排版结果。 - 用 booktabs 的横线重做网格表格,不用竖线和双线,并把单位放进表头。
- 用 siunitx 把数字列按小数点对齐,根据数据设定合适的
table-format,并预见某个数值超出格式时会发生什么。 - 根据日志或排版结果诊断表格的典型错误,并识别那些编译时不给出警告的错误。
什么是表格
表格是在两个方向上阅读的文字。每一行汇集关于一个对象(一种化学元素、一个国家、一个年份)的已知信息;每一列汇集所有对象的同一种性质(质量、人口、价格)。读者很少把表格从头读到尾:他寻找一行,顺着一列看下去,比较两个相邻的数。由此得出评判表格的标准:好的表格让人能找到一个数值并把它与相邻的数值比较,而眼睛不会被任何非信息的东西绊住。
如果是这样,那么表格就不是一切数据的自然形式。当数据只有一个维度(一系列步骤、一组要求)时,合适的形式是列表,从上往下读,不需要分列。当重要的不是每个数值而是整体的形状(一个趋势、一个极大值、两个量之间的关系)时,合适的形式是插图,因为眼睛一眼就能看出斜率,而从一列数字中则要费力推断。当读者需要数值本身及其各位数字,并且数据在两个维度上交叉时,表格才是合适的。
本课中的表格直接放在正文里,作为一个普通的块,或者用 center 环境居中。在讲浮动图形与表格的那一课中,表格将获得标题、编号以及在表格目录中的位置;这里学的是表格内部的排版,这一点不会改变。
正在加载内容…
已完成
登录账户以保存您的进度