latex表格

标准 LaTeX 提供有 array tabular 两个制表环境,它们的完整格式如下:

\begin{array}[表格位置]{列样式} \end{array}

\begin{tabular}[表格位置]{列样式} \end{tabular}

\begin{tabular*}{表格总宽度}[表格位置]{列样式} \end{tabular*}

这两个环境的选项和参数定义是相同的,不过 array 主要用于数组矩阵的排版,且只能用在数学环境中,如 equation 等。

array 宏包扩展了 array 和 tabular 环境功能,主要增加和增强了列样式选项,甚至可编程定义新的列样式;还增加了许多细部微调功能,如改变垂直表格线的粗细 和自动调整表格间隙等。使用该宏包可以排印出外形美观、功能丰富的表格。

该宏包没有任何选项,扩展后的两个环境的列样式选项:

 

选项

说明

l

该列左对齐排列

c

该列居中排列

r

该列右对齐排列

p{ 列宽}

设置该列宽度,文本顶对齐

@{ 声明}

该列每行插入声明中文本

m{ 列宽}

设置该列宽度,文本居中对齐

b{ 列宽 }

设置该列宽度,文本底对齐

>{ 声明 }

声明可以是命令或插入列元素之前的文本

<{ 声明 }

声明可以是命令或插入列元素之后的文本

|

列边或列间加入一条垂直线

!{ 声明 }

用声明要求的样式取代列间垂直线

 

应用举例:

列样式还可设置为:>{\setlength{\parindent}{26pt }}p{ 列宽},对该列文本 行或段落缩排。

源文件  

Frank Mittelbach et al

booktabs

它定义了三条划线命令:\toprule、\midrule 和 \bottomrule,可分别对表格顶部、中部和底部使用不同粗细的水平线,见下例:

它还可以改变表格的行距,使表格尤其是长表格更加美观。

该宏包可与 enfloatthreeparttablerotating 宏包配合使用。同时加载 colortbl 宏包,还可以划彩色格线。

使用 booktabs 宏包应注意:绝不要画垂直线,绝不要画双线 ;如果表格左右两边的内容毫无关联,最好将其分为两个表格而不是用垂直线隔开。另外在排表格时,单位符号应置于列首;相同数据不要用 同上 之类的简称;0.1 不要写成.1

再加载 longtable 宏包,该宏包的三条划线命令也可在跨页长表格中使用。

源文件

Simon Fear  

colortbl

它可以设置表格中数据、文本、行、列、单元格前景和背景以及边框的颜色,从而得到彩色表格。它需要 array 和 color 两个宏包的支持。 它提供了一组着色命令,经常用到是列着色命令,其格式为:

\columncolor[色系]{色名}[左伸出][右伸出]。

常用色系有三原色 rgb 和灰度 gray 两种;被预定义的色名有68个,详见 color 宏包介绍中所附的色标;左右伸出的长度单位可用 pt。

举例说明:

源文件经过 LaTeX、dvips、pspdf 编译后,得到:

源文件

David Carlisle

dcolumn

若表格中一列的数字位数不一且都带有小数点或逗号时,为便于阅读和美观起见,应将这些符号上下对齐,但做起来很麻烦。

该宏包就可解决这一问题,它把小数点或逗号也定义为一列。一般可以直接使用其提供的 D 格式:D{键入符号}{输出符号}{小数点位数},举例说明:

另外也可使用 \newcolumntype 命令自行定义对齐样式。

该宏包是 LaTeX 工具宏包套件之一。

源文件

David Carlisle 

hhline

带框的表格中总会有水平线与垂直线相交,在交点处会出现各种形态,这在标准 LaTeX 表格环境中是不可改变的。该宏包提供了一条 \hhline{ 交点样式} 画线命令,用它可以很好地处理交点形态问题。

编注:从美观角度讲,排版表格要尽可能避免使用垂直线,即尽量不使用该宏包。

源文件

David Carlisle

longtable

在 LaTeX 中的表格是当做一个“盒子”来处理,不能分割,所以无法跨页显示。

该宏包是 LaTeX 工具宏包套件之一,可用于跨页表格。它定义了一个长表环境,只需将tabular 环境改为 longtable 环境,跨页长表格就可自动拆分为多页表格。注意:使用长表环境后,须经两或三次编译,才能得到正确结果。

由于改变了原有输出方式,所以它不能用在 multicolumn 多栏环境或 twocolumn 双栏页面格式中。

源文件

David Carlisle

ltxtable

它将 longtable 和 tabularx 两个宏包合并,两者的功能在 longtable 环境中体现。当调用 ltxtable.tex 时,其实就是加载上述两个宏包。

源文件

David Carlisle

makecell

它提供了一组命令,可使表格中列数据单独定位:居中、靠左或靠右,可将某一列标题旋转90度,可在单元格中划对角线,还可设定表格线段的粗细等。举例:

================================================

猜你喜欢

转载自lc52520.iteye.com/blog/755367