Latex是一个专业论文制作工具,在国外,大多高水平的论文都使用Latex对论文进行排版。Latex以其页面的美观整洁,以及功能的强大受到国际专家学者的重视。
在Latex插入图片对于新手来说是件麻烦的事情,弄不好让人心情急躁。比如,Latex对系统时间检测得比较严,需要将系统时间设置为2005年,否则会出现编译错误:LaTeX source files more than 5 years old!.这是令人比较苦恼的事情,可能是由于使用的CTex不是正版的缘故吧!
插入图片有两种情况,一种是插入位图,一种是插入矢量图。比如要插入数学图像和图表,假如从 Mathematica 软件中导出图片时,记得保存为 pdf 或 eps,它们是矢量格式,插图后不会模糊。无论在Latex插入什么图片,都需要在导言区导入宏包usepackage{graphics},latex最有名的就是支持eps(Encapsulated PostScript)格式的图片的插入,不过Latex对图形插入的格式进行了扩展,比如支持插入pdf格式的图片,需要在导言区插入usepackage{graphicx},一般使用usepackage{graphicx}就能对graphics进行支持。不过需要注意的是插入eps格式的图片时,必须使用latex和dvipdf两个命令,在编辑器WinEdt中有两个按钮;而插入pdf格式的图片时,使用的命令就是pdflatex了,它可以直接将源文件*.tex编译生成*.pdf文件。
本文主要讲述使用graphics宏包插入图片,当然还有其他方法。
在latex中,对于双栏格式的排版,插入一栏图片时,使用的是begin{figure}……end{figure} ,插入双栏图片时需在figure的上标中加入符号“*”,如begin{figure*}……end{figure*}。
1.在latex插入一张图片(占一栏)比较简单,插入一张图片的代码如下:
begin{figure}{h}
centering %使插入的图片居中显示
includegraphics[height=5cm ,width=8cm,angle=0,scale=]{fig.eps}
caption{Example twig query and documents } %插入图片的标题,一般放在图片的下方,放在表格的上方
end{figure}
关键性的语句是:includegraphics[选项]{图片.eps}
选项:
height %指定图片的高度
width %指定图片的宽度
angle %指定图片旋转的角度
还有一个指标叫scale,之缩放图形。
2.在latex插入多张图片(占双栏)就不是那么简单了,笔者知道有两种方法:
法一:使用begin{minipage}[pos]{width} text end{minipage}
begin{figure*}
centering
begin{minipage}[!htbp]{0.3linewidth}
includegraphics[width=1.5in,angle=-90]{52.eps}
%caption{fig1}
label{fig:side:a}
end{minipage}%
begin{minipage}[!htbp]{0.3linewidth}
includegraphics[width=1.5in,angle=-90]{51.eps}
%caption{fig2}
label{fig:side:b}
end{minipage}
begin{minipage}[!htbp]{0.3linewidth}
includegraphics[width=1.5in,angle=-90]{53.eps}
%caption{fig3}
label{fig:side:c}
end{minipage}
caption{3 figure}
end{figure*}
注:笔者不太喜欢这种方法,原因是这种插入方式如果在每个图中使用caption{fig3 name}给图片做注释的时候不是把三个图片当做一个figure,而是每个图片即每个minipage各使用一个fig标记,三个mingpage相当于三个图片了,当然也可以不单独对每个图片写个caption,而是在caption{3 figure}中对每个figure进行解释说明,所以笔者推崇第二种方法。当然,笔者也许不知道如何设置,有望业内人士指教。
法二:使用subfigure命令,但必须在导演区加入usepackage{subfigure},否则无法编译过去。
begin{figure*}[!t]
centering
subfigure[Number of elements read] {includegraphics[height=2in,width=2in,angle=-90]{52.eps}}
subfigure[Size of disk files scanned] {includegraphics[height=2in,width=2in,angle=-90]{51.eps}}
subfigure[Execution time] {includegraphics[height=2in,width=2in,angle=-90]{53.eps}}
caption{ PathStack versus TJFast using XMark data }
label{fig5}
end{figure*}
这种方法很好,即插入三个子图,可以将三个图片合成一个大图,而且每个图片还可以添加caption,即于subfigure[*]中*内进行解释说明。
这样来看,Latex插入图片简直就是噩梦一般。幸好现在很多高手们提供了许多宏包,才使我们脱离了这个苦海。介绍最直接的方法:
graphics是Latex自带的标准宏包,不需要另外下载。用它可以实现大部分插入图形功能,这里主要介绍graphics包。
1 概述
插入图形需要在Latex的导言区写入:
usepackage[devdri, property, …]{graphics}
其中devdri是驱动程序名。可选项请参考文档。这里讲两个最重要的:
pdftex:如果读者使用pdflatex直接从Latex生成pdf,那么在[]中填入这个是再合适不过了,这就要求所有图形都是pdf格式的
dvips:用于直接插入EPS型的图片,便于生成ps文件。
property可以选final或draft。draft不插入图形,只是留出图形的空白位置,可以加快速度。final则真正插入图形。
…表示其他选项,可以参见文档。
2 准备图片
读者可能会插入矢量图(如某些软件生成的图,如Mathematica,Matlab,Origin,CoreDraw)或者位图,不论哪种图形最终都要变成EPS或PDF形式。像Mathematica,Matlab,Origin等软件可以直接把图片保存成EPS和PDF形式。其它软件的图和位图可以用Acrobat转换成EPS或PDF(1页),这个过程很简单,不必细说。
3 插入图片
用下面这个文档作为例子。假设图片已经变成A1.pdf形式,且和tex文件在同一文件夹下,则插入方法为:
…
usepackage[pdftex,final]{graphics}
…
Ok, Figure 1 shows that our conlcusion is reseasonable.par
includegraphics{A1.pdf}
scalebox{0.2}[0.4]{includegraphics[10,10][20,100]{A1.pdf}}
其中,includegraphics是插入图片,[][]中可以填入剪裁区域的坐标;scalebox可以进行缩放,{}表示横向缩放因子,[]表示纵向缩放因子,后者可以不填,表示纵向缩放因子等于横向缩放因子,即保持图形比例不变。
这两个命令就可以满足大部分插入图形的要求了
4 操作图片
如缩放到绝对大小:resizebox;旋转:rotatebox;翻转:reflectbox等等,可以参考文档使用,非常简单。