接上篇~今天我们主要说:
-
单元格的合并
-
单元格的拆分
一、单元格的合并
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、如果同时使用multirow宏包和makecell宏包,那么就会产生一个新的命令\multirowcell命令,则可以在跨行的单元格中任意使用\\命令进行换行了。来举个例子看看吧~
\begin{tabular}{|c|c|}
\hline
\multirowcell{3}{每日\\价格} & 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入门》