如何将图像(如PDF文件)转换为可在LaTeX文档中使用的格式?

4

如何将各种图片,包括位图和矢量图,转换为适用于LaTeX和PDFLaTeX文档的格式?

有许多方法可以实现此目的,其中一些利用各种LaTeX软件包中的标准插入项,而另一些则可以获得更好的结果。

10个回答

10

如果你想使用pdflatex生成最终输出,那么你可以直接将PDF图像包含在LaTeX文档中,但是如果你想生成dvi文件,则不行。

pdflatex可以使用PDF、PNG和JPEG格式的图像。

latex/dvips可以使用PS和EPS格式的图像。

更多详情请参见:


5

我将位图转换为PNG格式,将矢量图形(例如SVG)转换为PDF格式。pdflatex可以同时识别PNG和PDF格式。


2

如果您有一张“作为PDF”的图片,并且不想将其作为PDF包含在内,您可能想先使用pdfimages提取完整的图像数据。其他转换可能只会以降低分辨率的方式呈现图像。


1

我目前首选的方法是使用MikTeX中包含的bmepsepstopdf。用于生成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}

1

基本问题是,a)您希望以不同的方式处理光栅和矢量图像,b)这会引入潜在的陷阱。

“正确”的做法有点取决于您的最终输出。

如果您的最终输出将是.pdf文件,并且您不需要pstricks或其他任何东西,那么现在您最好直接使用pdflatex来生成文件。

在这种情况下:

  • 将所有矢量图形存储为.pdf
  • 将所有光栅图像存储为.png(如果它们最初是jpeg,则为.jpeg)
  • 使用graphicx包和\includegraphics{filename-without-suffix}

如果您不执行上述操作,则您的光栅图像将被转换为jpeg并可能获得压缩伪影。如果可以选择输出,则png是最佳选择。

如果您要生成.dvi文件,则需要使用.eps文件。(只要您生成一个边界框文件,就可以对这些文件进行gzip压缩)。

如果你小心一点,你可以两者兼备。我将所有的矢量图形存储为(压缩).eps格式,因为有一些.pdf无法完成的任务是.eps能够完成的。我将所有的光栅图形存储为.png格式。使用make命令,我可以在需要输出.dvi或.pdf时,动态生成这些经过规范化的临时副本。

上面有人提到了文件名问题。你要避免在文件名中使用“.”,并避免在latex文件本身中使用后缀。


1

我只使用封装的PostScript(.eps)图像(首先使用NetPBM将位图转换),因为我总是使用dvips+ps2pdf,然后进行\includegraphics{file}操作。


1

正如John D. Cook所说,您可用的图像格式取决于您使用的是latex还是pdflatex

我发现ImageMagick是一个有用的工具,可以在各种格式之间转换图像。它可以处理位图图像,以及ps/pdf/eps(使用ghostscript)和其他无数格式。可以通过aptmacports等方式获得。


1

我使用Mac电脑,因此使用GraphicConverter加载图像并导出为PDF格式。当我绘制图表时,我使用Omnigraffle,它可以让我导出为PDF格式。在Windows上,我曾经使用支持EPS的Visio,我也没有嵌入问题。


0

我总是使用PNG格式的图片。


将矢量图形转换为PNG格式并不是一个好主意,结果会很丑。 - Kaarel
1
该问题涉及位图和矢量图像;-1 没有理由。我给了+1。 - ShreevatsaR

0
如果您使用pdflatex编译代码,那么您也可以使用\includegraphics在pdf中包含图像(您必须包含graphix包)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接