导读
LaTeX是我们科研过程中,非常重要的编写论文的工具。掌握LaTeX的基本用法,是科研人员必备的技能。
学LaTeX的过程中,遇到很多坑,总结一下,写一份简易教程,方便大家入门LaTeX并能够方便使用LaTeX编写论文。
本篇文章我们一起来了解LaTeX中表格的模板各个部分、表格的引用、常用表格类型的写法以及在线表格生成工具。
如果你还没有配置好LaTeX环境,那就先阅读下面的文章吧!
LaTeX简易教程 | 01 LaTeX介绍与软件安装
如果你不知道如何下载模板,对模板结构不清晰,可以阅读下面的文章,我们以IEEE trans 的模板为例讲解LaTeX的模板下载和结构详解。
LaTeX简易教程 | 02 LaTeX模板下载与结构详解
前两篇文章,我们讲解了如何在文章中插入公式和图片。
LaTeX简易教程 | 03 一篇文章讲通LaTeX公式与特殊字母(文末有福利)
LaTeX简易教程 | 04 一篇文章讲通LaTeX图片的排版、引用与格式
接下来让我们一起走进今天的文章吧!
1
LaTeX表格总述
1、LaTeX表格包
在论文中,经常需要插入一些图片,
LaTeX的所有包文件都要写在\ documentclass命令之后和\begin{document}之前。
在本文中,我们会用到的包文件有:
\usepackage{booktabs} %%三线表
\usepackage{diagbox} %%斜线表头
\usepackage{multirow} %%合并单元格
2、模板中的插入图片
LaTeX模板中给我们提供了插入表格的模板,在我们上篇文章中,图片的模板下面:
%\begin{table}[!t]
%% increase table row spacing, adjust to taste
%\renewcommand{\arraystretch}{1.3}
% if using array.sty, it might be a good idea to tweak the value of
% \extrarowheight as needed to properly center the text within the cells
%\caption{An Example of a Table}
%\label{table_example}
%\centering
%% Some packages, such as MDW tools, offer better commands for making tables
%% than the plain LaTeX2e tabular which is used here.
%\begin{tabular}{|c||c|}
%\hline
%One & Two\\
%\hline
%Three & Four\\
%\hline
%\end{tabular}
%\end{table}
2
表格模板讲解
1、模板语句和效果
我们就以上面的示例为例来讲解,将注释符号和解释去掉,就剩下了下面的内容:
\begin{table}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{An Example of a Table}
\label{table_example}
\centering
\begin{tabular}{|c||c|}
\hline
One & Two \\
\hline
Three & Four\\
\hline
\end{tabular}
\end{table}
我们渲染之后的结果表格如下:
2、详细讲解
表格和图片很多地方都是一致的,我们就简单说一下,不一样的地方我们着重讲解。
接下来我们详细讲解下每个部分:
1、框架
\begin{table}[!t]
\end{table}
整体大框架明确了表格的开始(\begin)和结束(\end)的位置,table说明插入的是图片。[!t]是表格的摆放格式,所有的格式和图片一致,具体请看下面的文章:
LaTeX简易教程 | 04 一篇文章讲通LaTeX图片的排版、引用与格式
一般来说我们都遵循模板中的样式。其中!就表明,会严格按照我们设定的格式来排版。
2、行高
\renewcommand{\arraystretch}{1.3}
这一段设置的是表格的行高。如果我们将1.3改为3,就变成了如下的样子:
3、标题与标签
\caption{An Example of a Table}
\label{table_example}
caption是图像的标题。{}中就是标题的具体内容,标题还会有编号,一般都是自动编号。label是标签,标签主要是在引用的时候会用到。
4、居中
\centering
centering表示将表格居中显示。
但是如果表格的宽度超过了当前排的宽度,他就会越过去:
如果是这样我们就要将图片设置为页面浮动格式了,需要在上面框架的table后面添加*,和图片相同。结果如下:
5、表格内容
\begin{tabular}{|c||c|}
\hline
One & Two \\
\hline
Three & Four\\
\hline
\end{tabular}
这一整块就是表格的内容了。下面的语句表示表格内容的开始和结束:
\begin{tabular}{|c||c|}
\end{tabular}
下面的语句表示的是表格中内容的样式和竖边框线。有两个c,说明这个表格有两列,第一个c的左边有一个竖线,说明表格有左边框线,两个c之间有两个竖线,说明中间的分隔线是双线,后面c的右面有一个竖线,说明表格有右边框线:
{|c||c|}
我们可以把c换成l或r:
(1)l:l表示left,即左对齐。
(2)c:c表示center,即居中。
(3)r:r表示right,即右对齐。
hline表示该边框是有实线的,如果没有hline,就表示这行没有边框横线。
如果我们希望部分有实线,部分没有呢?
我们可以使用如下方式:
\cline{a-b}
这表示从第a列到第b列的有该实线,如果是一段一段的,我们就对每一段连续的使用上面的代码。例如:
我们希望在第二行横线的第三和第五列有,那么我们就要这样写:
\begin{table}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{An Example of a Table}
\label{table_example}
\centering
\begin{tabular}{ccccc}
\hline
A & B & C & D & E \\
\cline{3-3} \cline{5-5} %从第三列到第三列和从第五列到第五列
1 & 2 & 3 & 4 & 5 \\
1 & 2 & 3 & 4 & 5 \\
\hline
\end{tabular}
\end{table}
表格中的每一列的内容,要用&隔开,一行结束,要加\\符号。
3、表格的引用
表格的引用要用到命令ref,例如我们要调用上面的图片,就可以这样调用:
As show in table \ref{table_example},
命令大括号中的就是表格的标签,执行结果如下:
3
常用表格类型实现
接下来给大家讲解一些论文中常用的表格的实现。
1、三线表
三线表是非常常用的表,根据上面的模板,我们可以很简单写出一个三线表的示例:
\begin{table}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{Case I}
\label{I}
\centering
\begin{tabular}{ccccc}
\hline
A & B & C & D & E \\
\hline
1 & 2 & 3 & 4 & 5 \\
1 & 2 & 3 & 4 & 5 \\
\hline
\end{tabular}
\end{table}
这个是最简单的三线表。如果我们希望最上面和最下面的横线更粗一些呢?
这个时候,我们就需要用到一个包:
\usepackage{booktabs}
然后改写代码中的横线部分:
\begin{table}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{Case I}
\label{I}
\centering
\begin{tabular}{ccccc}
\toprule %顶部横线
A & B & C & D & E \\
\midrule %中间横线
1 & 2 & 3 & 4 & 5 \\
1 & 2 & 3 & 4 & 5 \\
\bottomrule %底部横线
\end{tabular}
\end{table}
结果如下:
2、斜线表头
斜线表头需要用到一个包。
\usepackage{diagbox}
斜线表头主要是一个单元格分成两块或三块:
\diagbox{A1}{A2} %%分两块,分别是A1和A2
\diagbox{A1}{A2}{A3} %%分三块,分别是A1、A2和A3
然后我们把这个当成一个单元格写进去即可。
举个例子:
\begin{table}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{An Example of a Table}
\label{table_example}
\centering
\begin{tabular}{|c|c|c|c|c|}
\hline
\diagbox{A1}{A2}{A3} & B & C & D & E \\
\hline
a1 & 1 & 2 & 3 & 4\\
\hline
a2 & 1 & 2 & 3 & 4\\
\hline
\end{tabular}
\end{table}
执行结果如下:
3、单元格的合并
单元格的合并需要用到一个包。
\usepackage{multirow}
我们直接以一个例子来讲解:
\begin{table}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{An Example of a Table}
\label{table_example}
\centering
\begin{tabular}{|c|c|c|c|c|}
\hline
\multicolumn{2}{|c|}{\multirow{2}{*}{A}} & \multicolumn{3}{c|}{B} \\
\cline{3-5}
\multicolumn{2}{|c|}{} & B1 & B2 & B3 \\
\hline
1 & 2 & 3 & 4 & 5 \\
\hline
\end{tabular}
\end{table}
在这里例子中,我们通过看tabular中的& 和\\ 就知道这是一个三行五列的表格。
最后一行就是前面讲的内容,主要是第一行的两个核第二行的第一个。
我们发现,第一行只有一个&,说明第一行只有两个单元格,第二行有3个&,说明第二行有4个单元格。
我们看第一行的第一个单元格中的内容:
\multicolumn{2}{|c|}{\multirow{2}{*}{A}}
这里用到两个命令:
\multicolumn{}{}{}
\multirow{}{}{}
第一个命令是多列合并,第二个命令是多行合并,如果是嵌套使用,那就是多行多列合并。
每个大括号内容的含义如下:
(1)第一个大括号是要合并的数量,用到第一个命令中就是要合并多少列,用到第二个命令中就是要合并多少行。
(2)第二个大括号是行中每列数据的格式及对应的边框线。合并行的格式一般都默认是遵循前面的,写*。
(3)第三个大括号是当前单元格的内容。
上面示例的执行结果如下:
4
在线表格生成器
自己写多麻烦,直接生成不就好啦!
对于初学者,我们最好的入门方式,就是找一个辅助,比如男朋友或者女朋友!毕竟今天是七夕!
祝大家七夕快乐!
(对,你没看错,就是恋爱粉)
当然,如果男/女朋友也不会,怎么办?那我们就找在线表格生成工具!
这里给大家推荐两个比较好用的:
https://www.tablesgenerator.com
https://table.6cm.co/
我们以第一个为例,来看一下如何生成:
我们进入主页面是这样的:
我们选中样式生成区,然后选择样式选择区的样式,就可以看到相关样式的结果,点击下面的Generate按钮,就可以生成对应的LaTeX代码。
例如我们生成一下上面的合并单元格的例子:
我们先在样式生成区自己绘制我们想要的样式,然后点击Generate:
然后就会生成如下的代码:
它会提示我们要引入什么包,我们把这个包添加到之前说的位置即可。
然后我们把tabular中的部分替换掉模板中的内容:
\begin{table}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{An Example of a Table}
\label{table_example}
\centering
\begin{tabular}{|c|c|c|c|c|}
\hline
\multirow{3}{*}{A} & & \multicolumn{3}{c|}{B} \\ \cline{2-5}
& & B1 & B2 & B3 \\ \cline{2-5}
& 2 & 3 & 4 & 5 \\ \hline
\end{tabular}
\end{table}
5
下节更精彩
这一节我们学习了LaTeX的表格相关知识,包括表格模板讲解,表格的引用,常用表格的写法以及在线表格生成工具!
下一节,我们将继续深入文章,讲解LaTeX中的算法,包括算法需要引用的包,算法的模板推荐,算法模板讲解,算法的引用以及改写。
长按二维码关注
标签:LaTeX,begin,表格,04,tabular,hline,table From: https://blog.51cto.com/u_12001271/5973635