在 LaTeX 中插图,首先要生成 .eps
格式的图片,有三种方法:
pdf
格式的图片,用 Inkscape
调整大小并保存为 eps
格式;.eps
格式;NOTE:如果 visio 画图保存为 pdf 出现失真,解决办法是先保存为 .jpg
图片,选择打印机600*600
,然后再用 shell 将 jpg 转换为 eps(第三种方法)
\usepackage{graphicx}
\usepackage{epstopdf}
将 .eps
图片和自己的 .tex
文件放在同一目录下,向 LaTeX 插入代码:
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.2]{girl.eps}
\caption{figure title}
\label{figure}
\end{figure}
解释一下每一句的功能:
\begin{figure} ~ \end{figure}
是固定用法,只要插入图片,就需要有这么一对儿;方括号 []
内是控制参数,控制了整幅图的位置;\centering
表示将图片居中显示;\includegraphics{}
用于插入一张图片,花括号 {}
内就是图片的名称,方括号 []
内同样是控制参数,但这里控制的是图片的显示大小;\caption{}
是这幅图的图例信息;\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]
。在导言区添加宏包:
\usepackage{subfigure}
\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]
\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
加 []
就可以。
\begin{figure}[htbp]
\centering
\subfigure[figure 1]
{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\subfigure[figure 2]
{
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
\begin{minipage}[b]{.3\linewidth}
\centering
\includegraphics[scale=0.1]{girl.eps}
\end{minipage}
}
\caption{figure title}
\end{figure}
这里将每一行图片作为一个 subfigure
,所以只会有两个图例说明。
\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 上的官方说明文档:minipage.html
在论文排版为双栏时,需要跨栏放置图片,只需要在 \begin{figure}
和 {\end{figure}}
上带星号 *
即可。
【实现代码】
\begin{figure*}
\centering
\includegraphics[width=0.75\textwidth]{girl.eps}
\caption{figure title}
\end{figure*}
图标题格式
论文里可能要求图片标题为 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}