![f515b9f89249d7c150de7e6ff2e6d9ee.png](https://i-blog.csdnimg.cn/blog_migrate/f012ea3f3af03e6995db910ca8e3ef95.jpeg)
在介绍完如何在LaTeX中插入图片之后,我们接下来进入表格的环节。在这个环节,我觉得首先我们需要再重新认识一下浮动体。
之前在讲图片的时候,我们就把figure
环境叫做浮动体。那么,这个东西究竟是什么呢?
还是拿设计衣服做比较吧。我们在衣服上想加一些装饰物,比如说,加上一朵绣花。那么,我们需要的,不仅是一朵绣花,还需要一个别针,绣花串在别针上,别针别在衣服上。而且,为了颜色的搭配,不同颜色的绣花还要对应颜色的别针。绣花在衣服上的位置就是由别针决定的,而我们也可以直接由别针的颜色来推断出绣花的颜色。那么,别针就相当于一个浮动体,绣花是我们要添加的主体。在图片插入中,figure
环境就是一个别针,includegraphics[]{}
就是绣花。我们插入的是图片还是表格,这就相当于绣花的颜色,但LaTeX并不是根据绣花的颜色来进行判断,而是根据别针的颜色,即浮动体的种类来进行判断的。下面,我们就来通过具体的表格语句来体会这个含义吧:
如果我们想在LaTeX中插入一个2乘2的表格,里面的元素分别是
float
宏包,即在导言区中加入
usepackage{float}
然后,在正文中想要插入表格的位置写上如下代码:
begin{table}[H]
centering
caption{Title of table}
begin{tabular}{|c|c|}hline
a11&a12hline
a21&a22hline
end{tabular}
end{table}
根据这个代码和上面的讨论,我们有:table
环境是别针,tabular
环境是绣花,也就是主体。关于table
环境我们没什么要重点讨论的。下面我们来看tabular
环境。
首先,在begin{tabular}
后有{|c|c|}
。这里的|
是shift+, 也就是回车键上方的键。这是什么意思呢?一个|
代表表格中的一个竖线嘛,一个c
代表一列。比如说,如果我们是{c|c}
,那么排版出来的表格只有中间的一条竖线,没有两侧的边框线(不过标准论文里建议表格是没有最左和最右两个框线的)。此外,c
代表对齐方式,有l
, c
, r
三种,分别表示当前列左对齐,居中,右对齐。
那么,有没有对单独一个单元格的设置方法呢?方法是有的,但是不太优雅,用的是multicolumn{}{}{}
指令。比如说,我要设置当前单元格有左框线无右框线,内容右对齐,那么就在对应的位置写上multicolumn{1}{|r}{xxx}
, 其中xxx
是当前单元格的内容。
此外,每一行还有&
, hline
和. 每个
&
的作用是分列,一个&
代表一列。而则代表断行。
hline
的作用是在当前行的上方增加一条上框线。此外,还有cline{}
可以指定从第几列到第几列有上框线。
此外,对于caption中的设置,我们也可以仿照图片使用caption
宏包,只不过此时是captionsetup[table]{...}
.
重要!!重要!!!
这些表格具体的设置我们其实都不需要熟练掌握,只需要知道即可。这一切,多亏了excel2latex. 运用这个插件,你就可以在Excel中编辑好表格,然后直接转化为对应的LaTeX代码。 在数学建模的过程中,我们经常会遇到数十行,内容为八位小数,还有合并的单元格的表格。这些表格手打肯定不现实,所以excel2latex这个插件是十分常用的。
接下来,就讨论一些特殊的表格
过长表格
有的表格可能有数十行,一页肯定放不下。但是,用上述的方法产生的表格只能在一页。因此,我们需要使用宏包longtable
. 即在导言区中加入
usepackage{longtable}
接着,我们在要插入长表格的地方加入语句
begin{longtable}{|c|c|c|}
caption{Title of long table}hline
content of table
end{longtable}
其中,content of table
就是原来写在tabular
环境中的东西。
过宽表格
对于过宽的表格,我们可以类似于过宽图片使用adjustbox
宏包,但方法略微繁琐,可以用texdoc看该宏包的使用说明。我常用的方法则是另一种:
begin{table}[H]
caption{Title of too wide table}
makebox[textwidth][c]{
begin{tabular}{cccccccccccccccccccc}
Content of table
end{tabular}
}
end{table}
即将tabular
整个放入makebox
的参数之中。