如何将各种图片,包括位图和矢量图,转换为适用于LaTeX和PDFLaTeX文档的格式?
有许多方法可以实现此目的,其中一些利用各种LaTeX软件包中的标准插入项,而另一些则可以获得更好的结果。
如果你想使用pdflatex生成最终输出,那么你可以直接将PDF图像包含在LaTeX文档中,但是如果你想生成dvi文件,则不行。
pdflatex可以使用PDF、PNG和JPEG格式的图像。
latex/dvips可以使用PS和EPS格式的图像。
更多详情请参见:
我将位图转换为PNG格式,将矢量图形(例如SVG)转换为PDF格式。pdflatex可以同时识别PNG和PDF格式。
如果您有一张“作为PDF”的图片,并且不想将其作为PDF包含在内,您可能想先使用pdfimages
提取完整的图像数据。其他转换可能只会以降低分辨率的方式呈现图像。
我目前首选的方法是使用MikTeX中包含的bmeps
和epstopdf
。用于生成png图像的pdf和eps版本。
在一个名为convertimage.bat
的文件中,
bmeps -p3 -c -e8f -tpng %1.png > %1.eps
epstopdf %1.eps
使用方法:将其包含在路径中,并编写convertimage.bat filenameminusextension
在文档中包含如下:
\begin{figure}[h]
\begin{center}
\includegraphics[scale=0.25]{path/to/fileminuxextension}
\caption{My caption here}
\label{somelabelforreference}
\end{center}
\end{figure}
基本问题是,a)您希望以不同的方式处理光栅和矢量图像,b)这会引入潜在的陷阱。
“正确”的做法有点取决于您的最终输出。
如果您的最终输出将是.pdf文件,并且您不需要pstricks或其他任何东西,那么现在您最好直接使用pdflatex来生成文件。
在这种情况下:
如果您不执行上述操作,则您的光栅图像将被转换为jpeg并可能获得压缩伪影。如果可以选择输出,则png是最佳选择。
如果您要生成.dvi文件,则需要使用.eps文件。(只要您生成一个边界框文件,就可以对这些文件进行gzip压缩)。
如果你小心一点,你可以两者兼备。我将所有的矢量图形存储为(压缩).eps格式,因为有一些.pdf无法完成的任务是.eps能够完成的。我将所有的光栅图形存储为.png格式。使用make命令,我可以在需要输出.dvi或.pdf时,动态生成这些经过规范化的临时副本。
上面有人提到了文件名问题。你要避免在文件名中使用“.”,并避免在latex文件本身中使用后缀。
我只使用封装的PostScript(.eps)图像(首先使用NetPBM将位图转换),因为我总是使用dvips+ps2pdf,然后进行\includegraphics{file}操作。
正如John D. Cook所说,您可用的图像格式取决于您使用的是latex
还是pdflatex
。
我发现ImageMagick是一个有用的工具,可以在各种格式之间转换图像。它可以处理位图图像,以及ps/pdf/eps(使用ghostscript)和其他无数格式。可以通过apt
、macports
等方式获得。
我使用Mac电脑,因此使用GraphicConverter加载图像并导出为PDF格式。当我绘制图表时,我使用Omnigraffle,它可以让我导出为PDF格式。在Windows上,我曾经使用支持EPS的Visio,我也没有嵌入问题。
我总是使用PNG格式的图片。
\includegraphics
在pdf中包含图像(您必须包含graphix
包)。