4.LaTeX表格样式与常⽤表格类型
LaTeX 表格格式与常⽤表格类型
  在论⽂写作过程中,经常需要通过表格化的⽅式呈现⼀些数据,LaTeX 所有的宏包⽂件都要写在 \documentclass 命令之后和
\begin{document} 之前。在本⽂中,会⽤到与 LaTeX 表格相关的宏包如下:
\documentclass{article}
\usepackage{booktabs}  %% 三线表
\usepackage{diagbox}  %% 斜线表头
\usepackage{multirow}  %% 合并单元格
\begin{document}
\title{ ... }
\author{ ... }
\date{...}
\maketitle
...
\end{document}
1. 表格的基本使⽤
表格的基本模板详解:
\begin{table}[!h]
\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}
效果如下:
表格和图⽚的插⼊很多地⽅都是⼀致的,下⾯我们说⼀下不同的语法:
1、框架
\begin{table}[!h]
\end{table}
整体⼤框架明确了表格的开始 (\begin) 和结束 (\end) 的位置,table 说明插⼊的是图⽚。[!h] 是表格的摆放格式,所有的格式和图⽚⼀致。
1. [h] 当前位置(here):h 表⽰你在编写的时候中在哪⾥,论⽂最终显⽰图⽚的位置就在哪⾥,但是如果这⼀页的空间不⾜以放下这个图
⽚,此时图⽚会转到下⼀页;
2. [t] 顶端(top):t 表⽰优先将图⽚放置在页⾯对应排的顶部;
3. [b] 底端(bottom):b 表⽰优先将图⽚放置在页⾯对应排的底部;
4. [p] 浮动:将图⽚设置为浮动状态,系统会⾃动排版图⽚的位置;
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|} 表⽰的是表格中内容的样式和竖边框线。有两个 columns,说明这个表格有两列,第⼀个 columns 的左边有⼀个竖线,说明表格有左边框线,两个 columns 之间有两个竖线,说明中间的分隔线是双线,后⾯ columns 的右⾯有⼀个竖线,说明表格有右边框线。
我们还可以把 c 换成 l 或者 r:
1. l:l 表⽰ left,即左对齐;
2. c:c 表⽰ center,即居中;
3. r:r 表⽰ right,即右对齐;
hline 表⽰该边框是有实线的,如果没有 hline,就表⽰这⾏没有边框横线。
如果我们希望部分有实线,部分没有呢?
我们希望在第⼆⾏的第 1 列、第 3 列 和第 5 列有横向,可以这样写:
\cline{1-1} \cline{3-3} \cline{5-5};
\centering
\begin{tabular}{c c c c c}
\hline
A &
B &
C &
D &
E \\
\cline{1-1} \cline{3-3} \cline{5-5}
1 &
2 &
3 &
4 &
5 \\
1 &
2 &
3 &
4 &
5 \\
\hline
\end{tabular}
\end{table*}
说明:表格中的每⼀列的内容,要⽤ & 隔开,⼀⾏结束,要⽤ \\ 符号换⾏。
2. 表格的引⽤
表格的引⽤要⽤到命令 ref,例如我们要引⽤上⾯的表格,就可以这样调⽤:
As show in tabel \ref{table_example}, it explains that ...
3. 常⽤表格类型
1、三线表
三线表是常⽤的⼀类表格,根据上⾯介绍的表格的基础模板,我们可以很简单写出⼀个三线表的⽰例:
\begin{table}[!h]
\renewcommand{\arraystretch}{1.2}
\caption{An Example of a Table}
\label{table_example}
\centering
\begin{tabular}{c c c c c}
\hline
A &
B &
C &
D &
E \\
\hline
1 &
2 &
3 &
4 &
5 \\
1 &
2 &
3 &
4 &
table设置内边框
5 \\
\hline
\end{tabular}
\end{table}
这个是最简单的三线表,如果我们希望最上⾯和最下⾯的横线更粗⼀些呢?
导⼊三线表的宏包:\usepackage{booktabs}
然后改写代码中横线的部分:
\centering
\begin{tabular}{c c c c c}
\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}[!h]
\renewcommand{\arraystretch}{1.2}
\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 & 2 & 3 & 4 & 5 \\
\hline
a2 & 2 & 3 & 4 & 5 \\
\hline
a3 & 2 & 3 & 4 & 5 \\
\hline
\end{tabular}
\end{table}
执⾏的效果如下:
3、单元格的合并
单元格的合并需要⽤到⼀个包:\usepackage{multirow}直接通过⼀个例⼦来讲解:
\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}
从分隔符 & 与 换⾏符 \\ 的数⽬,我们就知道这个是⼀个三⾏五列的表格。我们发现,第⼀⾏只有⼀个 & ,说明第⼀⾏只有两个单元格,第⼆⾏有3个 & ,说明第⼆⾏有4个单元格。
\multicolumn{2}{|c|}{\multirow{2}{*}{A}}
⽤到了两个命令:
1. \multicolumn{}{}{};
2. \multirow{}{}{};
第⼀个命令是多列合并,第⼆个命令是多⾏合并,如果是嵌套使⽤,那就是多⾏多列合并。
每个⼤括号内容的含义如下:
第⼀个⼤括号是要合并的数量,⽤到第⼀个命令中就是要合并多少列,⽤到第⼆个命令中就是要合并多少⾏。
第⼆个⼤括号是⾏中每列数据的格式及对应的边框线。合并⾏的格式⼀般都默认是遵循前⾯的,写*。
第三个⼤括号是当前单元格的内容。
这种合并⽅式读起来很⿇烦,⽽且很不容易理解,别说是读者了,作者写起来也感觉⾮常复杂,那么这种单元格合并是否有⽐较好的解决办法呢?有的!
Step1:选择表格⼤⼩;
点击【Column】和【Row】可以在选择的表格中向左、向右添加列,向上、向下添加⾏,还包括表格的基本样式(边框、⽂字居中、加粗等)
Step2:合并和分割单元格,选中对应的⾏或列上的单元格,【merge cells】;
Step3:然后点击⼀键⽣成即可;
这⼀部分的笔记整理成PDF上传到了,提取码:6666. --来⾃百度⽹盘超级会员V2的分享

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。