登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
科技
›
$\LaTeX{}$之图片使用
$\LaTeX{}$之图片使用
[ 复制链接 ]
即息极
2025-9-10 09:28:17
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
本文介绍了在 \(\LaTeX{}\) 中插入图片的基本语法和一些常用的技巧,并且给出了一些在排版中常用的模板样例。
基本语法
\(\LaTeX{}\) 本身不支持插图功能,需要由 graphicx 宏包辅助支持。
使用 \(\textrm{latex + dvipdfmx}\) 编译命令时,调用 graphicx 宏包时要指定 \(\textrm{dvipdfmx}\) 选项;而使用 \(\textrm{pdflatex}\) 或 \(\textrm{xelatex}\) 命令编译时不需要。
不同编译命令支持的图片格式种类各异,见下表。这个表格也能解答诸如“为什么 \(\textrm{.eps}\) 格式图片在 \(\textrm{pdflatex}\) 编译命令下出错”之类的问题。本表格也再一次说明,使用 \(\textrm{xelatex}\) 命令是最推荐的方式。
在调用了 graphicx 宏包以后,就可以使用 \includegraphics 命令加载图片了:
\includegraphics[⟨options⟩]{⟨filename⟩}
复制代码
其中 为图片文件名,文件名可能需要用相对路径或绝对路径表示。图片文件的扩展名一般可不写。另外一定要注意,
文件名里既不要有空格也不要有多余的英文点号
,否则宏包在解析文件名的过程中会出错。
另外
graphicx 宏包还提供了 graphicspath 命令,用于声明一个或多个图片文件存放的目录
,使用这些目录里的图片时可不用写路径:
% 假设主要的图片放在 figures 子目录下,标志放在 logo 子目录下
\graphicspath{{figures/}{logo/}}
复制代码
在 \includegraphics 命令的可选参数 中可以使用 = 的形式,常用的参数如下:
graphicx 宏包也支持 \(\textrm{draft}\)/\(\textrm{final}\) 选项。当 graphicx 宏包或文档类指定 \(\textrm{draft}\) 选项时,图片将不会被实际插入,取而代之的是一个包含文件名的与原图片等大的方框。(
加快编译过程
)
并排和子图表
时常有在一个浮动体里面放置多张图的用法。最简单的用法就是直接并排放置,也可以通过分段或者换行命令 \\ 排版多行多列的图片。以下为示意代码,效果大致如图所示。
\begin{figure}[htbp]
\centering
\includegraphics[width=...]{...}
\qquad
\includegraphics[width=...]{...} \\[...pt]
\includegraphics[width=...]{...}
\caption{...}
\end{figure}
复制代码
由于标题是横跨一行的,用 \caption 命令为每个图片单独生成标题就需要借助前文提到的 parbox 或者 \(\textrm{minipage}\) 环境,将标题限制在盒子内。效果见图所示。
\begin{figure}[htbp]
\centering
\begin{minipage}{...}
\centering
\includegraphics[width=...]{...}
\caption{...}
\end{minipage}
\qquad
\begin{minipage}{...}
\centering
\includegraphics[width=...]{...}
\caption{...}
\end{minipage}
\end{figure}
复制代码
当需要更进一步,给每个图片定义小标题时,就要用到 subcaption 宏包的功能了。这里仅举一例,效果见图。更详细的用法请参考 subcaption 宏包的帮助文档。
\begin{figure}[htbp]
\centering
\begin{subfigure}{...}
\centering
\includegraphics[width=...]{...}
\caption{...}
\end{subfigure}
\qquad
\begin{subfigure}{...}
\centering
\includegraphics[width=...]{...}
\caption{...}
\end{subfigure}
\end{figure}
复制代码
subcaption 依赖上文提到过的 caption 宏包,因此也支持子图表标题样式的定制。并排子图表的功能也可通过 subfig 宏包的 subfloat 命令实现,具体请参考宏包文档。
示例模板
并排子图
% \usepackage{graphicx}
% \usepackage{subcaption}
% \usepackage{float}
\begin{figure}[H]
\centering
% 第一行:2个子图
\begin{subfigure}[b]{0.48\textwidth}
\includegraphics[width=\linewidth]{tree}
\caption{子图1}
\end{subfigure}
\hfill % 填充水平间距
\begin{subfigure}[b]{0.48\textwidth}
\includegraphics[width=\linewidth]{tree}
\caption{子图2}
\end{subfigure}
% 第二行:2个子图
\begin{subfigure}[b]{0.48\textwidth}
\includegraphics[width=\linewidth]{tree}
\caption{子图3}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.48\textwidth}
\includegraphics[width=\linewidth]{tree}
\caption{子图4}
\end{subfigure}
% 第三行:单独居中的子图
% \vspace{0.5cm} % 调整垂直间距
\centering
\begin{subfigure}[c]{0.48\textwidth}
\includegraphics[width=\linewidth]{tree}
\caption{子图5}
\end{subfigure}
\caption{整体标题}
\label{fig:my_figure}
\end{figure}
复制代码
上一下二
% \usepackage{graphicx}
% \usepackage{subcaption}
% \usepackage{float}
\begin{figure}[H]
\centering
\begin{subfigure}[b]{0.8\textwidth}
\includegraphics[width=\linewidth]{tree}
\caption{Diagram.}\label{fig:1a}
\end{subfigure}
%\vspace{0.5cm} % 调整垂直间距
\begin{subfigure}[b]{0.48\textwidth}
\includegraphics[width=\linewidth]{tree}
\caption{Grid.}\label{fig:1b}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.48\textwidth}
\includegraphics[width=\linewidth]{tree}
\caption{Arrangement.}\label{fig:1c}
\end{subfigure}
\caption{Structural.}
\label{fig:1}
\end{figure}
复制代码
边注旋转加图片
% \usepackage{graphicx}
% \usepackage{subcaption}
% \usepackage{float}
\begin{figure}[H]
\centering
% 三行四列子图布局
\begin{tabular}{rcccc}
% 第一行
\rotatebox{90}{10dB} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree} % 替换为你的图片
%\caption{子图1}
\label{fig:sub1}
\end{subfigure} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
%\caption{子图2}
\label{fig:sub2}
\end{subfigure} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
%\caption{子图3}
\label{fig:sub3}
\end{subfigure} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
%\caption{子图4}
\label{fig:sub4}
\end{subfigure} \\
% 第二行
\rotatebox{90}{10dB} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
%\caption{子图5}
\label{fig:sub5}
\end{subfigure} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
%\caption{子图6}
\label{fig:sub6}
\end{subfigure} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
%\caption{子图7}
\label{fig:sub7}
\end{subfigure} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
%\caption{子图8}
\label{fig:sub8}
\end{subfigure} \\
% 第三行
\rotatebox{90}{10dB} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
\caption{a}
\label{fig:sub9}
\end{subfigure} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
\caption{b}
\label{fig:sub10}
\end{subfigure} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
\caption{c}
\label{fig:sub11}
\end{subfigure} &
\begin{subfigure}[c]{0.23\textwidth}
\centering
\includegraphics[width=\linewidth]{tree}
\caption{d}
\label{fig:sub12}
\end{subfigure}
\end{tabular}
\caption{边注旋转加图片}
\label{fig:grid}
\end{figure}
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
LaTeX
图片
使用
相关帖子
新项目为什么推荐使用WebFlux,而非SpringMVC?
Linux Mint下使用vscode编译C++代码
使用i2s遇到的问题
使用_mm_stream_si128加速 Memory-Bound
一步一步学习使用LiveBindings(15)TListView进阶使用
VUE中使用AXIOS包装API代理
短视频 / 图片不够清?SeedVR2.5 超分操作指南,一键拉满画质
K8S 中使用 YAML 安装 ECK
OpenCVSharp:学习连通性检测的使用
如何使用 vxe-gantt table 甘特图来实现多个维度视图展示
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
新项目为什么推荐使用WebFlux,而非SpringMVC?
0
924
各卧唯
2025-12-09
安全
Linux Mint下使用vscode编译C++代码
1
721
聊账
2025-12-10
安全
使用i2s遇到的问题
0
366
肇默步
2025-12-11
业界
使用_mm_stream_si128加速 Memory-Bound
1
277
卓卞恻
2025-12-11
业界
一步一步学习使用LiveBindings(15)TListView进阶使用
0
279
徙办
2025-12-12
安全
VUE中使用AXIOS包装API代理
0
524
峰邑
2025-12-12
业界
短视频 / 图片不够清?SeedVR2.5 超分操作指南,一键拉满画质
0
926
焦听云
2025-12-12
业界
K8S 中使用 YAML 安装 ECK
0
723
全跺俚
2025-12-12
业界
OpenCVSharp:学习连通性检测的使用
0
150
颜清华
2025-12-13
代码
如何使用 vxe-gantt table 甘特图来实现多个维度视图展示
0
777
晚能
2025-12-13
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
即息极
2025-9-10 09:28:17
关注
0
粉丝关注
18
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845356
3934307807
991123
4
xiangqian
638210
5
韶又彤
9999
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
198
北京上门收画服务权威推荐榜单
215
关于renpy游戏小范围QQ群内部测试的一个思
20
Java关键字解析之abstract:抽象的本质、规
445
10GB vs 600MB:我们弃用 GitLab,选择了这
163
Python 潮流周刊#131:从零开始构建智能体
872
flask基础知识深入——会话管理:Flask Ses
106
推荐几款免费免登录无损高质量图片压缩工具
640
玩转 | q群智能聊天机器人 —— MaiBot(麦
992
offline meta-RL | 近期工作速读记录
662
C#AI系列(5): C#离线实现高效OCR
196
这才是vibe coding正确的打开方式 - 手把手
547
huggingface_hub 1.0 正式版现已发布:开源
5
读捍卫隐私05数字照片
832
嵌入式系统内存魔法之分散加载
746
嵌入式系统内存魔法之分散加载
131
【Java】ThreadLocal源码解析
33
观察者模式,发布/订阅模式,与回调函数
700
用 GPT-5.2 Vibe Coding,做了一个可以“玩
938
上海专业防水补漏服务:国家一级资质,免费
359
基于深度学习的无人机视角检测系统演示与介