Slager 人人都是论文高手
图表的制作是许多LaTeX用户比较烦恼的问题,但同时也是最迷人的部分,教程将会分两部分进行。
接上篇~今天我们主要说:
-
单元格的合并
-
单元格的拆分
单元格的合并
1、multicolumn命令
通常用于合并一行中几个不同列的单元格,适合排版跨列的标头。其基本语法格式:
multicolumn{项数}{新列格式}{名称}
项数:表格的总项数;新列格式:被合并单元格的内容的格式;名称:被合并单元格的内容名称。
例如:
begin{tabular}{| r | r | r |}
hline
multicolumn{3}{| c |}{价格}\ hline
苹果 & 橘子 & 梨子 \ hline
17 & 20 &15 \ hline
end{tabular}
这边需要注意的是multicolumn
命令后的列格式里只能有一个 c 或 l 或 r 或 p{宽} 等。
multicolumn
命令不仅可以合并多列,也可以合并同一列表格的内容。
举个例子:
begin{tabular}{|c|c|}
hline
multicolumn{1}{|c|}{进价}&multicolumn{1}{c|}{售价}\
hline
5 & 7 \7 & 10 \8 & 12\ hline
end{tabular}
可以看到,同一列的每行单元格都被合并了。
注意看multicolumn{1}{c|}{售价}
这段,列格式说明中使用的是c|
,而不是|c|
,是因为在前面的进价部分,我们已经有列的竖线了,此时这边不能再增加一条新的竖线。
2、cline命令
用来说明表格线起止和终止的列号命令,可以画出一些不完全或间断的横线。
例如:
begin{tabular}{|r|r|r|}
hline
& multicolumn{2}{c|}{成绩}\ cline{2-3}
姓名 & 语文 & 数学 \ hline
大明 & 97 & 99 \ hline
王二 & 85 & 92 \ hline
end{tabular}
cline
后的{2-3}
则代表画出第二列和第三列的横线 ,从而将成绩和学科名合并在同一行了。
但是cline
画线在行数是偶数时并不正确,例如“姓名”并不是在表格的中间。
此时可以使用multirow宏包提供的multirow
命令排版跨行的表项名称。使用该宏包时需要在导言区加载宏包。
multirow
命令较常用的基本语法格式:
multirow{行数}*{内容名称}
我们将上一个例子修改一下看看吧!
%导言区 usepackage{multirow}
begin{tabular}{|c|c|c|}
hline
multirow{2}*{姓名}
&multicolumn{2}{c|}{成绩}\ cline{2-3}
& 语文 & 数学 \ hline
大明 & 97 & 99 \ hline
王二 & 85 & 92 \ hline
end{tabular}
“姓名”居中了,这样单元格看起来就美观多了~
3、makecell命令
可以单独的控制单元格内的内容,从而可以在单元格内使用 \ 进行任意的换行。但是也需要在导言区加载makecell宏包。
%导言区 usepackage{makecell}
begin{tabular}{|r|r|}
hline
makecell{25日\最高温度}&makecell{25日\最低温度}\ hline
35℃ & 28℃ \ hline
end{tabular}
4、multirowcell命令
如果同时使用multirow宏包和makecell宏包,那么就会产生一个新的命令multirowcell
命令,则可以在跨行的单元格中任意使用 \ 命令进行换行了。
来举个例子看看吧~
begin{tabular}{|c|c|}
hline
& 52 \
cline{2-2} & 35 \
cline{2-2} & 59 \
hline
end{tabular}
完美!
单元格的拆分
1、vline命令
可以在某一行内画一条只占一行高度的分割线,用来拆分某一行已有的表项。
例如:
begin{tabular}{|c|}
hline
红 \ hline
红 vline 黄 \ hline
红 vline 黄 vline 蓝 \ hline
end{tabular}
例子中可以发现,vline
命令使用在内容前,相当于一个竖线,但是使用vline
命令命令拆分表项不易掌握间距。
可以尝试使用嵌套的表格,也就是将3个表格嵌套在一起,注意需在列格式说明的两侧使用@{},避免间距和竖线。
举个例子:
begin{tabular}{|c|}
hline
红 \ hline
begin{tabular}{@{}c | c @{}}红 & 蓝 end{tabular} \ hline
begin{tabular}{@{}c | c | c @{}}红 & 蓝 & 黄 end{tabular} \ hline
end{tabular}
通过例子,可以看到使用了3次tabular环境,这就是嵌套的表格~
2、diagbox命令
常见的三线表头的表格可以使用这个命令,从而对表格进行斜线分割。
diagbox
命令需要调用刘海洋老师编写的diagbox宏包,基本语法格式如下:
diagbox[]{左}{中}{右}
通常[]中可以使用 width 和 height 设置表头的高度和宽度,但使用的不多。
举个例子:
begin{tabular}{|c|*{4}{c|}}
hline
diagbox{姓名}{数量}{项目}&手机&笔记本&台式机&平板\
hline
张三&20&25&30&20\ hline
李四&30&20&35&20\ hline
王二&25&30&50&35\ hline
end{tabular}
表格的分享就到此结束啦,对于一些基础的表格设计应该不在话下啦~希望分享对大家有所帮助!
同时可以在评论区留言讨论,也可以分享自己的一些见解~
参考书籍:刘海洋老师的《LaTeX入门》
发表评论