LaTeX 编辑部
  
主 页 在线教程 常用宏包 实用模板 资料下载 网上资源 联系我们 来访留言    


字体
符号
语言文字
页面设置
目录标题
注释索引
参考文献
图形
表格
数学
物理化学电子
抄录
浮动体处理 
幻灯片制作
引用与链接
辅助工具 
宏包编写与解包
 

array

标准 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度,可在单元格中划对角线,还可设定表格线段的粗细等。举例:

 

源文件

Olga Lapko

 

multienum

很多教科书的末尾都附有简短的习题答案,这些答案一般按行排列,其编号与习题编号是一致的,这样便于查找答案。

该宏包提供一个环境:multienumerate,使用它可创建多列编号数组,即在一行中可以排列多个编号数组项,并可多行排列。数组项既可连续编号,也可设定为奇数或偶数编号(因为有些教材只给出奇数或偶数习题答案);每行排列数组项的个数也能设定。

Dennis Kletzing

 

multirow

利用该宏包提供的的命令,可在 tabular 环境中很方便地排版表格里的跨行文本数据,还可以设置表格中文本的对齐方式。  

Jerry Leichter

中文说明

 

slashbox

它可以在表格的单元格中画一条对角线,线上线下都可以输入文本,一般用于标识行列项目。  举例  源文件

Toru Sato

 

supertabular

在标准 LaTeX 的表格环境 tabular 中,表格长度不能超过一页,否则会出现溢出信息。

该宏包提供了一个 supertabular 环境,是对 tabular 环境的扩充。它能不断地计算表格长度,当排版到页面底部时,自动结束 tabular 环境,而在下一页再自动生成一个新的 tabular 环境,将剩余表格放入其中。

使用该宏包排版长表格时,要用所提供的生成命令专门设计表头,具体方法可参考本文中的示例。

源文件

Johannes Braams and Theo Jurriens

 

tabularx

要排版固定宽度的表格可使用此宏包,它提供了新的表格环境 tabular*、tabularx,它能根据所给表格的总宽度自动计算特定表格列的宽度,表格列间距维持内设值,各特定列的宽度自动调整。

源文件

David Carlisle

 

threeparttable

该宏包可以在表格之后增加表格注释,解决了为表格标题或表格参数做注释的问题。它提供了一个 threeparttable 环境,在这个环境中仍可使用 tabular 环境排版表格;在排版表格注释时,先用命令 \tnote{标识符} 在需要注释处作上标识符号,再在表格的下方使用命令 \tablenotes[标识符] 来排版注释;标识符可以是数字或是符号等,参见本文第4页中的示例。

Donald Arseneau