我们可以使用makecell命令对表格单元格中的数据进行一些变换的控制。我们可以使用 命令进行换行,也可以使用p{(宽度)}选项控制列表的宽度
使用makecell 命令我们需要在导言区添加usepackage{makecell}才能正常编译通过。makecell命令的内容是默认居中对齐的,也可以选用选项t,b,l,r,c等分别控制表格单元格中的格式。
举个例子:
代码如下:
documentclass[UTF8]{ctexart}
usepackage{makecell}
begin{document}
begin{tabular}{|r|r|}
hline
makecell{处理前\ 数据} & makecell{处理后 \ 数据} \ hline
1234 & 5678 \
hline
end{tabular}
end{document}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
makecell 宏包这种表项分行常用在表头中。在Latex中还单独定义了类似的thead命令,它产生的字体较小,上下间距较大的单元更适合文字较多的多行表头使用。
先贴代码
begin{tabular}{|r|r|}
hline
thead{处理前 \ 数据} & thead{处理后 \ 数据} \
hline
1234 & 5678 \
hline
end{tabular}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
documentclass[UTF8]{ctexart}
usepackage{makecell}
begin{tabular}{|r|r|}
hline
thead{处理前 \ 数据} & thead{处理后 \ 数据} \
hline
1234 & 5678 \
hline
end{tabular}
end{document}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
我们可以对比一下使用makecell 和使用thead之前表格的区别:
直观的感受就是字体变小了。
在makecell的rothead 命令则相当于旋转了90° 的thead命令,这个命令还依赖rotating宏包,在我们使用rothead时需要给旋转表头的宽度rotheadsize赋值,否则就会就没有我们想要的效果
表头的字体由theadfont 命令控制
例如:
documentclass[UTF8]{ctexart}
usepackage{makecell,rotating}
begin{document}
settowidthrotheadsize{theadfont 数学课}
begin{tabular}{|c|c|}
hline
thead{姓名} & rothead{数学课\成绩} \
hline
Hebe & 100 \
hline
end{tabular}
end{document}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
可以得到的效果如下所示:
如果我们想要画下面的表格:
代码如下:
documentclass[UTF8]{ctexart}
usepackage{makecell,rotating,multirow,diagbox}
begin{document}
begin{tabular}{|c|*{4}{c}|}
hline
diagbox{序号1}{序号2} & 我 & 爱 & hebe & 哈哈 \
hline
数字 & 1 & 2 & 3 & 4 \
hline
数字 & 2 & 4 & 6 & 8 \
hline
end{tabular}
end{document}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
都学了这么多,下面是我们的DIY时间,我们总结一下我写论文时候用到的一些表格,下次大家用到的时候直接拿去用吧。
documentclass[UTF8]{ctexart}
usepackage{makecell,multirow,diagbox}
begin{document}
begin{tabular}{|c|c|c|c|c|c|}
hline
multirow{2}*{} & system & multicolumn{2}{c|}{4.0} & multicolumn{2}{c|}{6.0} \
cline{2-6}
& Device & D1 & D2 & D3 & D4 \
hline
multirow{2}*{Runtime} & 600 byte & 12/23/34 & 23/2/1 & 12/1/2 & 1/2/3 \
cline{2-6}
& 1000 byte & 12 & 21 & 12 & 12 \
hline
multirow{2}*{System} & 600 byte & 12 & 23 & 12 & 1 \
cline{2-6}
& 1000 byte & 12 & 21 & 12 & 12 \
hline
end{tabular}
end{document}