8.5 表格进阶
经典三线表
在学术论文里,表格用的是三线表,我之前的文章1.5 LaTex表格,没有讲三线表怎么画。
三线表有专门的宏包,booktabs,booktables提供了三个核心命令。\toprule,定义顶线宽度,\midrule定义中线宽度,\bottomrule定义底线宽度。以下是一个例子:
\begin{table}[htbp]\caption{传感器参数表}\label{tab:sensor} % 定义标签\begin{tabular}{lcc}\toprule参数 & 值 & 单位 \\\midrule$\alpha$ & 0.05 & m/s² \\\bottomrule\end{tabular}
\end{table}如表\ref{tab:sensor}所示,传感器参数...(详见第\pageref{tab:sensor}页)。
编译效果:
视觉分层colortbl
前文讲述了列颜色\rowcolor命令,但是列颜色呢?colortbl提供了行颜色、列颜色、单元格颜色,边框颜色,下面我用一个例子,讲完这些颜色命令:
\documentclass{article}
\usepackage[table]{xcolor} % 加载xcolor(包含colortbl)
\usepackage{array} % 支持列格式定义
\usepackage{hhline} % 复杂边框颜色控制% 定义颜色
\definecolor{col1}{RGB}{230,240,200} % 列背景色
\definecolor{row1}{RGB}{200,220,240} % 行背景色
\definecolor{cell1}{RGB}{255,200,200} % 单元格背景色\begin{document}% 全局设置\setlength{\arrayrulewidth}{2pt} % 边框宽度\arrayrulecolor{blue!80!black} % 边框颜色(深蓝)\doublerulesepcolor{yellow!50} % 双线间隔颜色(浅黄)\setlength{\doublerulesep}{4pt} % 双线间隔宽度% 定义列格式:第一列固定颜色,第二列右对齐\newcolumntype{C}{>{\columncolor{col1}}c} % 列颜色\newcolumntype{R}{>{\raggedleft\arraybackslash}p{2cm}}\begin{tabular}{||C|R|C||} % 表格使用双线边框||\hhline{||--||} % 顶部双线(颜色由全局设置控制)\rowcolor{row1} % 第一行颜色(覆盖列颜色)Header 1 & \cellcolor{cell1}Header 2 & Header 3 \\ \hhline{:=:=:b:=:} % 彩色双线分隔标题与内容\rowcolor{green!30} % 第二行颜色A & B & \cellcolor{red!20}C \\ % 单元格颜色\rowcolor{white} % 恢复默认行颜色D & E & F \\\hhline{||--||} % 底部双线\end{tabular}\end{document}
用到的命令:
- \columncolor 列颜色
- \rowcolor 行颜色
- \cellcolor 单元格颜色
- \arrayrulecolor 单元格颜色
- \doublerulesepcolor 双线间隔颜色
- 效果如下: