表格


在LaTeX中一个简单的两行三列的表格如下:

\begin{tabular}{|c|c|c|}
\hline
列1 & 列2 & 列3 \\
\hline
列1 & 列2 & 列3 \\
\hline
\end{tabular}
列与列之间用“&”分隔,用“\\”结束一行,“\hline”用于在行之间画横线, “{|c|c|c|}”表明在列与列之间画竖线,并且列居中对齐。

实际上

\begin{tabular}
\end{tabular}
的完整形式是:
\begin{tabular}[位置]{列格式}
\end{tabular}
其中“位置”连同方括号是可选项,如果不写,按缺省值。它指的是表格相对于 包围它的文本基线的垂直位置,有三个值:“t”表示顶部看齐,“c”表示中心 看齐,“b”表示底部看齐,“c”是缺省值。“列格式”中可以用“|”表示列间的 竖线,“c”表示列居中对齐,“r”表示右对齐,“l”表示左对齐。列分隔符除了 竖线,还可以是“@{表达式}”,列间的距离会被“表达式”取代。这一点可以被 用来压缩列间距离:
\begin{tabular}{@{} l @{}}
\hline
注意我的两端与上下横线是对齐的\\
\hline
\end{tabular}
还可以用来进行小数点对齐:
\begin{tabular}{r @{.} l}
\hline
3 & 1415 \\
\hline
31 & 415 \\
\hline
\end{tabular}
如果打算在列中排版一个段落,可以用“p{宽度}”:
\begin{tabular}{|c|c|p{5cm}|}
\hline
列1 & 列2 & 列3是一个5厘米宽的段落 \\
\hline
\end{tabular}
其中宽度单位可以是cm、mm、pt、inch、sp、bp等。

LaTeX将自动决定上述命令定义的表格宽度,有时你可能需要固定 宽度的表格:

\begin{tabular*}{表格宽度}[位置]{列格式}
\end{tabular*}
其中宽度单位可以是cm、mm、pt、inch、sp、bp等。

在秀文LaTeX编辑器中,表格以源代码形式展现。行尾的双斜杠可以不必输入,保存时系统会自动补上。 表格的两个版本之间切换可以用右键菜单。

当表格太大,在当前页放不下时,你可能希望LaTeX自己找一个合适的地方 来放置表格,你可以这样:

\begin{table}[位置]
\begin{tabular}{列格式}
\end{tabular}
\caption{表格的标题}
\end{table}
其中“位置”连同方括号是可选项,如果不写,按缺省值。它决定了LaTeX在哪儿放置表格:“h”表示 就在此处,“t”表示在页的顶部,“b”表示在页的底部,“p”表示在一个专门的页。在秀文LaTeX编辑 器中该命令以源代码形式展现。把文本光标放在表格中,点击右键,可以在菜单中看到该命令。

如果我们需要一个跨越多列的列,可以用命令:

\multicolumn{列数}{对齐方式}{列的内容}
其中“对齐方式”为:“c”表示列居中对齐,“r”表示右对齐,“l”表示左对齐。 比如:
\begin{tabular}{|c|c|c|}
\hline
列1 & \multicolumn{2}{c}{列2、3} \\
\hline
\end{tabular}

命令:

\cline{起始列-结束列}
可以从起始列到结束列画一条横线。比如:
\begin{tabular}{|c|c|c|}
\hline
列1 & 列2 & 列3 \\
\cline{2-3}
列1 & \multicolumn{2}{c}{列2、3} \\
\hline
\end{tabular}

上述命令画出的表格不能跨页,为了画出跨页的表格,需要使用包“longtable”:

\usepackage{longtable}
它定义了命令
\begin{longtable}{列格式}
\end{longtable}
其中“列格式”与前面的一样。

“\hline”命令画出的横线粗细都是一致的,为了在不同的行之间画出不同粗细的 线,“booktabs”包提供了不同的画线命令:

\toprule[线宽]画顶部线
\midrule[线宽]画中间线
\bottomrule[线宽]画底部线
\cmidrule[线宽](去空隙){起始列-结束列}画中间线
其中线宽单位可以是cm、mm、pt、inch、sp、bp等。“去空隙”:“r”表示 去除右侧空隙,“l”表示去左侧空隙。也可以在字母后精确指出去除多少, 如“l{.75em}”。比如:
\begin{tabular}{|c|c|c|}
\toprule
列1 & 列2 & 列3 \\
\midrule
列1 & 列2 & 列3 \\
\bottomrule
\end{tabular}
为了使用这些命令,请在导言中加入:
\usepackage{booktabs}

或许你还想画彩色的表格,这要用到“colortbl”包:

\usepackage{colortbl}
为了使用这个包,你需要先了解颜色的表示:
[gray]{值}
[rgb]{r值 g值 b值}
[cmyk]{c值 m值 y值 k值}
或者
{驱动预先定义的颜色名字}
如果你想指定列的颜色,可以用命令:
\columncolor[颜色模型]{值}[左边突出长度][右边突出长度]
这条命令用在“列格式”中,且以一个“>”号开始。比如:
\begin{tabular}{|>columncolor[gray]{0.75}[.5\tabcolsep][.5\tabcolsep]c
|>columncolor[gray]{0.5}c|c|}

\hline
列1 & 列2 & 列3 \\
\hline
列1 & 列2 & 列3 \\
\hline
\end{tabular}
指定行颜色可以用命令
\rowcolor[颜色模型]{值}
比如:
\begin{tabular}{|c|c|c|}
\rowcolor[gray]{0.9}
列1 & 列2 & 列3 \\
\rowcolor[gray]{0.5}
列1 & 列2 & 列3 \\
\end{tabular}
直接指定单元格颜色,可以把命令
\cellcolor[颜色模型]{值}
直接放在单元格中。


目录