\includegraphics:把图片放进来
插图要先在导言区加载 graphicx 宏包,然后用 \includegraphics[选项]{文件名} 插入。最常用的选项是宽度:\includegraphics[width=0.6\textwidth]{photo} 表示「宽度取版心宽度的 60%」。
\textwidth 是一个代表版心宽度的变量,用它来定相对宽度,无论纸张换多大,图片比例都合适——这比写死「8cm」要稳健得多。文件名一般不带扩展名。
本例使用 example-image:它是 TeX Live 自带的一张占位图,专门用来演示和测试,所以你不需要准备任何素材就能编译成功。
figure 浮动体:图片的家
单独一行 \includegraphics 能显示图片,但它不会编号、也没法加图注。正规做法是把图片放进 figure 环境——它叫浮动体。
figure 里通常有三样东西:\centering 让图片居中;\includegraphics 插入图片;\caption{...} 生成图注并自动编号。再加上 \label{fig:...},正文就能用 \ref 引用图号,写法与第 4 课完全一致。
图注的位置有讲究:\caption 写在图片下方,就是「图 1:说明」;写在图片上方,编号仍会自动生成,但位置在图的上方。惯例是表格的说明在上、图片的说明在下。
位置参数:图片为什么「跑」到别处了
你可能已经发现,figure 没有老老实实待在源码所在的位置——它可能跳到了页顶或下一页。这不是 bug,而是浮动机制:LaTeX 认为正文排版优先,会为浮动体寻找一个「看起来更专业」的位置,以填满页面、避免大片空白。
方括号里的字母是给 LaTeX 的位置提示(注意是提示,不是命令):h = here(此处)、t = top(页顶)、b = bottom(页底)、p = 单独一页、! = 忽略美学限制、强制按此优先级摆放。
实践建议:写 [htbp]——让它依次尝试此处、页顶、页底、单独页。如果确实需要图片就在原地不动,用 \usepackage{float} 宏包并提供 [H] 参数(大写 H,代表 Here 且不浮动)。
报错 File `xxx.png' not found:文件名或扩展名写错了,或者文件不在编译目录里。注意 LaTeX 对文件名大小写敏感,尽量用英文名、避免空格和中文名。
图片跑到别的页去了:这是正常的浮动行为。想「钉死」在原地,用 float 宏包的 [H] 参数。
引用显示成「图 ??」:说明 \label 没生效。检查两点——\label 是否写在 \caption 之后、\ref 的记号拼写是否一致。
插图三件套:加载 graphicx → \includegraphics[width=...]{文件} → 放进 figure 浮动体。
figure = \centering + 图片 + \caption + \label;位置参数 [htbp] 只是建议,[H](float 宏包)才能钉死。
记住 \label 必须在 \caption 之后。下一课我们把「对齐成块」这套语法用到新场景——表格。