LaTeX 入门 · 第3篇 图表与浮动体

1431 字
7 分钟
LaTeX 入门 · 第3篇 图表与浮动体

1. 表格:tabular 环境#

LaTeX 排表格的核心是 tabular 环境。基本结构:

\begin{tabular}{列说明符}
单元格 & 单元格 & ... \\
\hline
单元格 & 单元格 & ... \\
\end{tabular}
  • 列说明符:每个字母代表一列的对齐方式,竖线 | 表示画竖线;
  • & 分隔同一行的单元格;
  • \\ 结束一行;
  • \hline 画一条水平线。

1.1 列说明符#

说明符含义
l该列左对齐
c该列居中
r该列右对齐
p{宽度}该列固定宽度,文字自动换行(顶端对齐)
|在两列之间画竖线

例如 {|l|c|r|} 表示三列(左/中/右对齐),列间有竖线,两侧也有竖线。

\begin{tabular}{|l|c|r|}
\hline
姓名 & 年龄 & 成绩 \\
\hline
张三 & 20 & 95 \\
李四 & 21 & 88 \\
王五 & 19 & 92 \\
\hline
\end{tabular}

渲染效果:

tabular 表格与三线表
tabular 表格与三线表

1.2 三线表:booktabs 宏包#

学术论文里最常用的是三线表——只有顶线、中线、底线,没有竖线,视觉更干净。这需要 booktabs 宏包,用三条命令替代 \hline

命令作用
\toprule顶部粗线
\midrule中线(表头与数据之间)
\bottomrule底部粗线
\usepackage{booktabs} % 导言区加载
\begin{tabular}{lcr}
\toprule
姓名 & 年龄 & 成绩 \\
\midrule
张三 & 20 & 95 \\
李四 & 21 & 88 \\
王五 & 19 & 92 \\
\bottomrule
\end{tabular}

三线表的效果见上图右半部分。booktabs 还提供 \cmidrule{2-4} 用于画部分列的下划线(类似 \cline,但更精致)。

1.3 跨列与跨行#

  • 跨列\multicolumn{列数}{列说明符}{内容},原生支持;
  • 跨行\multirow{行数}{宽度}{内容},需要 multirow 宏包,宽度通常用 * 表示自动。
\usepackage{booktabs}
\usepackage{multirow}
\begin{tabular}{cccc}
\toprule
& \multicolumn{3}{c}{科目} \\
\cmidrule{2-4}
姓名 & 语文 & 数学 & 英语 \\
\midrule
张三 & 90 & 95 & 88 \\
李四 & 85 & 92 & 91 \\
\multirow{2}{*}{合计} & 175 & 187 & 179 \\
& \multicolumn{3}{c}{541} \\
\bottomrule
\end{tabular}

渲染效果:

跨列与跨行的表格
跨列与跨行的表格

\multicolumn 也常用来单独修改某一格的对齐方式,如 \multicolumn{1}{c}{内容} 把当前格改为居中。

1.4 表格行距#

表格行太挤时,用 \arraystretch 命令调整行高倍数:

\renewcommand{\arraystretch}{1.5} % 行高变为 1.5 倍

放在表格之前即可影响其后的表格。也可以在单行用 \\[6pt] 增加该行下方的额外间距。


2. 插入图片:graphicx 宏包#

插入图片用 graphicx 宏包的 \includegraphics 命令。导言区加载:

\usepackage{graphicx}

正文区插入:

\includegraphics[width=0.5\textwidth]{sample-figure.pdf}
\documentclass{ctexart}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=0.5\textwidth]{sample-figure.pdf}
\end{document}

渲染效果:

插入图片的效果
插入图片的效果

2.1 常用选项#

\includegraphics 的可选参数(方括号内)控制图片大小和位置:

选项含义
width=...指定宽度,高度按比例缩放。常用 \textwidth\linewidth 的分数
height=...指定高度
scale=...缩放倍数,如 scale=0.5
angle=...旋转角度(顺时针)
trim=L B R T裁剪图片四周(左下右上),需配合 clip

实际中最常用的是 width=0.x\textwidth,按正文宽度的比例设置图片宽度。

2.2 支持的图片格式#

不同编译器支持的格式:

编译器支持格式
pdflatex.pdf.png.jpg
xelatex.pdf.png.jpg.eps

传统 LaTeX(latex + dvips)使用 .eps,但现在 pdflatex / xelatex 已是主流,.pdf 和位图格式(.png.jpg)直接可用。

2.3 图片搜索路径#

如果图片放在子目录(如 figures/),可以在导言区用 \graphicspath 声明搜索路径,这样 \includegraphics 里就不用写完整路径:

\graphicspath{{figures/}{logo/}} % 注意每个路径用花括号包裹
\includegraphics{logo} % 会自动在 figures/ 和 logo/ 下查找

3. 浮动体:figure 与 table#

直接把图片或表格放在正文中,位置往往不理想(可能跨页、打断文字流)。LaTeX 的解决方式是浮动体——把图表交给系统,由它根据排版约束自动选择最佳位置。

3.1 figure 和 table 环境#

\begin{figure}[位置选项]
\centering
\includegraphics[width=0.4\textwidth]{sample-figure.pdf}
\caption{一张示例图}\label{fig:sample}
\end{figure}
\begin{table}[位置选项]
\centering
\caption{一张示例表}\label{tab:sample}
\begin{tabular}{lc}
\hline
项目 & 数值 \\
\hline
A & 100 \\
\hline
\end{tabular}
\end{table}

一个完整的浮动体示例:

figure 与 table 浮动体
figure 与 table 浮动体

浮动体的标准结构是四要素:

  1. \begin{figure} / \begin{table} 开始环境,方括号里写位置选项;
  2. \centering 让内容居中;
  3. \includegraphics(图)或 tabular(表)放实际内容;
  4. \caption{...} 加标题——图标题在图下方,表标题在表上方(这是排版惯例);
  5. \label{...} 紧跟在 \caption 之后,用于交叉引用。

3.2 位置选项#

方括号里的位置选项告诉 LaTeX 这个浮动体允许出现在哪些位置:

选项含义
hhere,当前位置(代码所在处)
ttop,页面顶部
bbottom,页面底部
p独立成页的浮动体页面
!忽略部分排版限制(如强制放在 h)

组合使用如 [htbp] 表示”尽量在当前位置,否则顶部、底部、独立页都行”。顺序只是偏好,LaTeX 会综合考虑所有允许的位置。

实际经验:[htbp] 是最常用的组合。如果浮动体怎么都不听话地乱跑,多半是同一页浮动体太多,或正文太少——LaTeX 是在努力避免大面积留白。

3.3 交叉引用浮动体#

浮动体必须配 \caption\label 才能被引用:

  • \caption 自动生成编号(图 1、表 1 等);
  • \label 要写在 \caption 之后,否则引用会出错;
  • \ref{fig:sample} 引用图号,\pageref{fig:sample} 引用页码。

如上图示例中的 如图~\ref{fig:sample} 所示 会渲染成 如图 1 所示


4. 小结#

这一篇覆盖了文档中插入图表的全部要素:

  • 表格tabular 环境的列说明符(l/c/r/p)、\hlinebooktabs 三线表、\multicolumn / \multirow 跨列跨行;
  • 图片graphicx 宏包的 \includegraphicswidth/height/scale 选项、\graphicspath 搜索路径;
  • 浮动体figure / table 环境的四要素(环境 + \centering + 内容 + \caption/\label)、位置选项 [htbp]、交叉引用。

下一篇进入 LaTeX 最擅长的领域——数学公式。


本系列基于《一份(不太)简短的 LaTeX2e 介绍》(lshort-zh-cn)整理,辅以实战讲解和渲染示例。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
LaTeX 入门 · 第3篇 图表与浮动体
https://xingyun8.fun/posts/latex-tables-figures/
作者
nanashi
发布于
2026-07-08
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
nanashi
众生皆苦,唯有自渡
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
20
分类
3
标签
37
总字数
27,069
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.8
文章许可
CC BY-NC-SA 4.0