第八章 表格

在论文中,常见的表格有两种形式,即单栏表格和跨栏表格。表格的标题出现在表的上方。表格常用于列举或者对比某一类事物。 表格除了可以在\begin{table}的指令中设置页顶显示或者页底显示(与图的设置类似)以外,表格还可以设置单元格内的对齐方式。 在\begin{tabular}指令中,每一个字母表示一栏,l表示该栏左对齐,c表示居中对齐,r表示右对齐。p{'width'}, n{'width'} 和 b{'width'} 则表示单元格在垂直方向向顶对齐,居中对齐,和向底对齐。一个竖线 | 则表示在两个相邻的单元格之间显示一条竖线,以分割单元格。

7.1. 单栏横向表格

顾名思义,单栏表是展示在单栏中的表格。如果是在双栏格式的论文中,单栏表只会出现在左栏或者右栏中。 单栏横向表格由于受到宽度的限制,栏数不能太多。例如:下图中的表1比较了方法A和方法B的运行时间(单位:秒)和 输出结果(距离)的数值。
图 1. 单栏横向表格。
\begin{table}[h!]
\centering
\caption{Method Comparison.}
\label{tab::single_col}
\begin{tabular}{|m{0.9in}||m{0.9in}|m{0.9in}|}
\hline
& & \\ \hline
\hline
A & 83.6 & 354 \\ \hline
B & 80.2 & 402 \\ \hline
\end{tabular}
\end{table}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

7.2. 单栏纵向表格(一)

当表格的行数较少,栏数较多时,可考虑将表格纵向展示。当表格的内容较少时,可将表格插入在行文之中。如下例所示:
图 2. 单栏纵向表格。
此例的源代码如下。为了能使表格纵向展示,这里引入了adjustbox包(\usepackage {adjustbox})。 然后,在table的环境中(\begin{table}和\end{table}之间),建立了一个adjustbox的环境。 angle=90和center是adjustbox环境的两个参数,分别说明该环境中的内容需要逆时针旋转90度,并在旋转后,居中对齐。 在adjustbox环境中则是一个普通的表格内容。
\usepackage{adjustbox}
...
\begin{table}[t]
\begin{adjustbox}{angle=90, center}
\centering
\begin{tabular}{ccc}\hline
Methods & Time (Seconds) & Cost \\\hline
\hline
Method A & 10 & 100 \\ \hline
Method B & 11 & 120 \\ \hline
Method C & 12 & 130 \\ \hline
Method D & 13 & 140 \\ \hline
Method E & 14 & 150 \\ \hline
Method F & 15 & 150 \\ \hline
Method G & 16 & 160 \\ \hline
Method H & 17 & 170 \\ \hline
Method I & 18 & 180 \\ \hline
Method J & 19 & 190 \\ \hline
\hline
\end{tabular}
\end{adjustbox}
\caption{An example of vertical tables.}
\end{table}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

7.3. 单栏纵向表格(二)

如果纵向表格较大时,需要占满整个单栏(或者双栏:即占满整个页面),那么,可以使用rotating包。如下例所示:
图 3. 单栏纵向表格。
此例使用了rotating包(\usepackage {rotating}),并在表格内容的外部建立了sidewaystable 环境(\begin{sidewaystable}和\end{sidewaystable}之间)。
\usepackage{rotating}
...
\begin{sidewaystable}
\centering
\begin{tabular}{ccc}\hline
Methods & Time (Seconds) & Cost \\ \hline
\hline
Method A & 10 & 100 \\ \hline
Method B & 11 & 120 \\ \hline
Method C & 12 & 130 \\ \hline
Method D & 13 & 140 \\ \hline
Method E & 14 & 150 \\ \hline
Method F & 15 & 160 \\ \hline
Method G & 16 & 170 \\ \hline
Method H & 17 & 180 \\ \hline
Method I & 18 & 190 \\ \hline
Method J & 19 & 200 \\ \hline
\end{tabular}
\caption{An example of vertical tables.}
\end{sidewaystable}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

7.4. 跨栏表格

在双栏格式的论文中,因为单栏表格受到了单栏宽度的限制,在某些情况下,无法将所有数据放在一个表格中。此时,可使用跨栏表格以增加显示的宽度。 跨栏表格会使用论文的整个宽度,因此,可以容纳更多的栏数。如下例所示。跨栏表使用\begin{table*}和\end{table*}环境指令。
图 4. 跨栏表格。
\begin{table*}[h!]
\centering
\caption{Comparison of skyline algorithms.}
\begin{tabular}{|>{\centering\arraybackslash}m{1.5in}|
>{\centering\arraybackslash}m{1.5in}||
>{\centering\arraybackslash}m{1.5in}|c|c|c|}
\hline
& & \\ \hline
\hline
Method A & 0/6/6 & 0/11/11 \\ \hline
Method B & 40/4/44 & 44/8/52 \\ \hline
Method C & 4/5/5 & 11/9/9 \\ \hline
\end{tabular}
\end{table*}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

7.5. 合并单元格

在表格中,如果需要合并单元格,可使用multirow包和multicolumn包。从字面上可以得知,multirow包用于纵向合并单元格, multicolumn包用于横向合并单元格。
图 5. 合并单元格。
\begin{table}[h!]
\centering
\caption{An example of merging cells.}
\begin{tabular}{|c|c||c|c|c|c|c|}
\hline
\multirow{2}{*}{Methods} & \multirow{2}{*}{DBs} &
\multicolumn{4}{c|}{Partitions} & \multirow{2}{*}{Total} \\ \cline{3-6}
& & 1 & 2 & 3 & 4 & \\ \hline
\hline
\multirow{3}{*}{A} & DB1 & 310 & 3 & 7 & 169 & 489 \\ \cline{2-7}
& DB2 & 9 & 3 & 3 & 6 & 21 \\ \cline{2-7}
& DB3 & 835 & 658 & 651 & 836 & 2,980 \\ \hline
\end{tabular}
\end{table}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
上一章
下一章

注册用户登陆后可留言

Copyright  2019 Little Waterdrop, LLC. All Rights Reserved.