-
Notifications
You must be signed in to change notification settings - Fork 163
插入表格
TeX系统对表格的支持不够好。虽然作为宏语言,理论上任何表格也都能制作,但通过命令编写表格显然不如可视化工具更加便捷。人们常用Excel制作出看起来很复杂很好看的表格,但其实大多数表格都可以简化。。《中国高等学校自然科学学报编排规范(修订版)》中讲到:表应精心设计,为使表的结构简洁,建议采用三线表,必要时可加辅助线。所以模板对简单表格定义了方便的三线表命令。对于复杂表格模板推荐用可视化工具制作成矢量图,然后模板提供了专门的命令将图片插入论文并配以表格的题头。由于是矢量图,所以其打印质量和用TeX命令制作出的表格无异。
插入三线表的命令如下:
\threelinetable[建议位置]{引用标签}{宽度}{对齐方式}{表标题}
{项目&频率&技术\\}
{
802.11b\tnote{a} & 2.4GHz & DSSS \\
蓝牙 & 2.4GHz & FHSS \\
HomeRF & 2.4GHz & FHSS \\
}
{\item[a] 这里还可以添加脚注!}
首先注意上面的很多行其实是一条命令。\threelinetable
命令具有8个参数。其中第1个参数是可选参数“建议位置”,它和插入图片命令的参数含义相同,是控制浮动体位置的。后面用大括号{}包围的7个参数都是必选参数,在TeX中{}包围的都是必选参数,它们是不能省略的。即使没有添加脚注,最后一个大括号也不能删去,而应该空置如{}。
引用标签同插图的引用标签功能一致,其中不能有中文。宽度参数可写做形如“0.4\textwidth”,表示行宽的0.4倍。对齐方式中应写“lcrX”四个字母的组合,每个字母对应表格的一列,表示该列的对齐方式。如果有4列,则对齐方式可写做“lcrX”,表示第一列左对齐,第二列居中对齐,第三列右对齐,第四列以表格的剩余宽度自动换行。X可以有多个,则多个列平均分配剩余宽度。
上面代码中的第2行是三线表的表头。后面的大括号中是表格的其余内容。简单说,TeX的表格中用&符号分隔单元格,用换行命令\\表示一行的结束。
三线表的表头如果改为:
{&\multicolumn{总列数减1}{c}{内容}\\
\cmidrule[0.05em]{辅助线开始列号-辅助线终止列号}
项目&频率&技术\\
}
则可以实现在表头中插入辅助线的效果。模板范例example的插入表格一节中有示例,可以对照tuition.tex
源代码学习。
关于TeX表格的详细内容请自行从LaTeX的书籍中学习。模板定义的\threelinetable
命令其中包装的是tabularx表格环境。
如果需要插入比较长的表格,在一页排版不下的情况下,应使用下面的命令。特别注意,如果表格能在一页中放置下,不要使用这个超长三线表,否则会导致排版错误。超长三线表并不是浮动体,会在插入的位置原地插入表格。
\longthreelinetable{引用标签}{表标题}{列数}{对齐方式}
{
项目&频率&技术\\
}{
802.11b&2.4GHz&DSSS\\
...很多行
802.11b&2.4GHz&DSSS\\
}
超长三线表不支持脚注。
(目前不推荐,因为有表格的表题名与上段的间距过小的问题)
如果上面的命令依然不能满足需求,则有两种方法制作更为复杂的表格。如果不熟悉LaTeX的通用表格命令,可以选择下面万能插图表格方法介绍的方法。如果能够运用LaTeX通用表格命令,则只需要注意表格字号、整体居中、带有标题,即可使你的表格满足规范要求。所以你的表格环境应该至少包含如下命令:
\begin{table}
\zihao{5}
\centering
\caption{}
\end{table}
如果想制作和模板定义的三线表风格一致的表格,可以参考模板的源代码中\threelinetable
命令的定义。使用相同的三线表宏包和线的粗细。
这里贴一篇讲解LaTeX表格的博客作为参考:http://blog.sina.com.cn/s/blog_5e16f1770100gi3m.html。其推荐的英文文档Tables in LATEX2ε: Packages and Methods内容非常全面。
如果你能熟练运用Excel绘制表格,那这个方法就非常好用了。首先不管你用什么工具制作的表格,它应该肯定能导出成pdf格式。制作时注意字体应该是宋体五号字,同时和插入图片中图片大小讲的一样,要控制好表格的宽度,使之不超出版心宽度,然后才能以原始大小插入论文中,才能保证表格中字号的正确性。如果是用Excel绘制的表格,提醒你Excel在另存为pdf时可以选择保存选定区域,这样你就不用再为表格去白边了。否则,几乎肯定要用到图片去白边的方法先去掉表格四周的空白再插入。
插入的命令和插图命令参数完全一致,因为它实际上就是在插入图片:
\pictable[建议位置]{表标题}{宽度}{文件名}
注意不要用截图等方式获取表格图片,标量图中的文字在打印时会和其他文字有区别。另存为pdf格式是最好的。
网上无数教程都会告诉大家,使用slashbox
宏,然而,遗憾的是,我大成电的仓库并没有这个宏,请选择ustc
的仓库进行下载。