文章目录
- @ 图片格式
- 1. 插入图片的基本框架
- 2. 并排插入图片
- 3. 多行多列排版
- 4. 跨栏放置图片
- 5. 其他细节
@ 图片格式
在 LaTeX 中插图,首先要生成 .eps
格式的图片,有三种方法:
- 利用 visio 画图,另存为
pdf
格式的图片,用Inkscape
或Adobe Acrobat
调整大小并保存为eps
格式(可参考:visio画图并保存为eps格式); - 已有 png 或 jpg 格式的图片,在图片目录下,按住 shift+鼠标右键,选择 在此处打开命令窗口(在此处打开 PowerShell 窗口),然后在终端窗口输入:bmeps -c ,其中 -c 是让图片彩色输出,old 为原图,new 为转换的 eps 格式的图;
- 利用 matlab 画图,可直接另存为
.eps
格式;
NOTE:如果 visio 画图保存为 pdf 出现失真,解决办法是先保存为 .jpg
图片,选择打印机600*600
,然后再用 shell 将 jpg 转换为 eps(第三种方法)
1. 插入图片的基本框架
在导言区添加宏包:
\usepackage{graphicx}
\usepackage{epstopdf}
将 .eps
图片和自己的 .tex
文件放在同一目录下,向 LaTeX 插入代码:
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.2]{girl.eps}
\caption{figure title}
\label{figure}
\end{figure}
解释一下每一句的功能:
-
Line 1:
\begin{figure} ~ \end{figure}
是固定用法,只要插入图片,就需要有这么一对儿;方括号[]
内是控制参数,控制了整幅图的位置; -
Line 2:
\centering
表示将图片居中显示; -
Line 3:
\includegraphics{}
用于插入一张图片,花括号{}
内就是图片的名称,方括号[]
内同样是控制参数,但这里控制的是图片的显示大小; -
Line 4:
\caption{}
是这幅图的图例信息; -
Line 5:
\label{}
是这幅图的标签,在写论文时需要在正文中引用,这时候用标签直接来引就省去了一些不必要的麻烦;
图片位置控制参数:
\begin{figure}[htbp]
-
[h]
表示当前位置(here),也就是说图片将放在你设置的当前位置,但是如果这一页的空间不足以放下这个图片,此时图片会转到下一页; -
[t]
顶端(top),此时优先将图片放置在页面的顶部; -
[b]
底部(bottom)此时优先将图片放置在页面底部; -
[p]
将图片设置为浮动状态,系统会自动排版图片的位置; - 一般推荐这几个参数结合使用,比如:
[ht]
、[htbp]
,此时这几种位置具有优先级。
图片大小控制参数:
\includegraphics[scale=0.2]{girl.eps}
-
[scale]
,表示按原图比例缩放,比如scale=0.2
表示将原图缩小 5 倍,如果要放大只需要将 scale 设置为大于 1 即可; - 还可以直接设置图片宽高,比如
[height = 1cm, width = 2cm]
。
2. 并排插入图片
在导言区添加宏包:
\usepackage{subfigure}
(1)插入多张图片,显示为一横排:
【实现代码】
\begin{figure}[htbp]
\centering
\subfigure
{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\subfigure
{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\subfigure
{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\caption{figure title}
\end{figure}
注意:这里 minipage
后的 {.3\linewidth}
很重要,需要你根据自己一行图片的多少来设置,.3
等价于 0.3
,表示了该张图片会占当前行的空间比例,上例有三张图片,那么可以让每张图片占 30% 的空间,这样排版出来是比较好看的。假如设置为 0.5
,那么第三张图片由于该行放不下,会自动换到第二行。另外,如果要对图片进行换行,只需要在两个 subfigure
中间加一个空行即可。
(2)为每张图片添加单独的序号:上例其余代码不变,只需要在 subfigure
后加一个方括号 []
即可。
【实现代码】
\subfigure[]
\subfigure[]
注意:subfigure 的序号是按顺序自动编排并显示的,也就是方括号内不需要填内容。
(3)为每张图片添加单独的描述信息:给 subfigure
后的方括号 []
内填写描述信息即可。
【实现代码】
\subfigure[figure 1]
\subfigure[figure 2]
3. 多行多列排版
(1)实现多行多列放置图片:
【实现代码】
\begin{figure}[htbp]
\centering
\subfigure{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\subfigure{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\subfigure{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\subfigure{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\subfigure{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\subfigure{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\caption{figure title}
\end{figure}
这里就是简单地叠加 subfigure,控制一行放几张图片的关键还是在于 minipage
的 {.3\linewidth}
,设置为 .3
就意味着一行至多放三张,后面的图片会自动换行。
这里将每张图片作为了一个 subfigure
,如果有必要为每张图添加单独的序号或图例说明,根据前面讲的给 subfigure
加 []
就可以。
(2)图片分组显示 [横排]:
【实现代码】
\begin{figure}[htbp]
\centering
\subfigure[figure 1]
{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{}
\end{minipage}
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{}
\end{minipage}
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{}
\end{minipage}
}
\subfigure[figure 2]
{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{}
\end{minipage}
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{}
\end{minipage}
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{}
\end{minipage}
}
\caption{figure title}
\end{figure}
这里将每一行图片作为一个 subfigure
,所以只会有两个图例说明。
(3)图片分组显示 [竖排]:
【实现代码】
\begin{figure}[htbp]
\centering
\subfigure[figure 1]
{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps} \\
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\subfigure[figure 2]
{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps} \\
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\subfigure[figure 3]
{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps} \\
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\caption{figure title}
\end{figure}
subfigure
没有换行功能,所以要实现一个 subfigure 中包含多张垂直排版的图片,可以在 minipage
中使用多个 \includegraphics
,在除了最后一个之外的后面都加上换行符 \\
即可。
从以上能看出来,
-
figure
是整幅图像,有唯一的序号及描述信息(\caption); -
subfigure
是子图,可以有自己的序号和描述信息,figure 可包含多个 subfigure; -
minipage
一般放在 subfigure 里,没有自己的序号和描述信息,一个 subfigure 可包含多个 minipage;
【附】minipage 在 LaTex 上的官方说明文档:
4. 跨栏放置图片
在论文排版为双栏时,需要跨栏放置图片,只需要在 \begin{figure}
和 {\end{figure}}
上带星号 *
即可。
【实现代码】
\begin{figure*}
\centering
\includegraphics[width=0.75\textwidth]{girl.eps}
\caption{figure title}
\end{figure*}
5. 其他细节
图标题格式
论文里可能要求图片标题为 Fig. 1.
,而有的模版生成出来的是 Figure. 1.
,此时只需要在 \begin{document}
后面放上 caption 的格式控制命令:
\begin{document}\sloppy
\captionsetup[figure]{labelfont={bf},name={Fig.},labelsep=period}
bf
表示加粗,name
是要显示的名字,labelsep
是名称和序号之间的分隔符,period
表示用句号分隔,space
表示用空格分隔,没有参数就默认使用冒号分隔。
对于表格也同理,修改自己需要的 name
即可:
\captionsetup[table]{labelfont={bf},name={Table},labelsep=period}