4

转换各种图像、位图和矢量以用于 LaTeX 和 PDFLaTeX 文档的首选方法是什么?

有很多方法可以做到这一点,一些利用各种 LaTeX 包中的标准包含,另一些则提供更好的结果。

4

10 回答 10

10

如果您想使用 pdflatex 生成最终输出,则可以将 PDF 图像直接包含到 LaTeX 文档中,但如果您想生成 dvi 文件,则不能。

pdflatex 可以使用 PDF、PNG 和 JPEG

latex/dvips 可以使用 PS、EPS

查看更多详情:

于 2009-03-14T14:06:25.000 回答
5

我将位图转换为 PNG,将矢量图形(例如 SVG)转换为 PDF。pdflatex理解 PNG 和 PDF。

于 2009-03-14T14:01:33.263 回答
2

如果您有一个“PDF 格式”的图像,并且您不想将其包含为 pdf,您可能需要先使用 .pdf 提取完整的图像数据pdfimages。其他转换可能仅以降低的分辨率渲染图像。

于 2009-03-16T00:50:13.400 回答
1

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

要做的“正确”事情在一定程度上取决于您的最终输出。

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

在这种情况下:

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

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

如果您打算使用 .dvi 文件,那么您将需要 .eps 的所有内容。(只要生成边界框文件,就可以 gzip 这些文件)。

如果你小心,你可以做到这两点。我将所有矢量图存储为(压缩的).eps,因为有一些 .pdf 无法做到的事情 .eps 可以。我将所有光栅图形存储为 .png。使用 make,我可以根据需要为 .dvi 或 .pdf 输出动态生成这些规范版本的临时副本。

上面有人指出了文件名问题。你想避免“。” 在文件名中,并始终避免在您的乳胶文件本身中使用后缀。

于 2009-03-31T19:44:20.773 回答
1

我目前首选的方式是使用bmepsepstopdf包含在 MikTeX 中。用于生成 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}
于 2009-03-14T13:57:05.570 回答
1

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

我发现ImageMagick是一种在格式之间转换图像的有用工具。处理位图图像,加上 ps/pdf/eps(带有 ghostscript)和无数其他的。可通过apt,macports等获得。

于 2009-03-16T00:09:35.870 回答
1

我只使用 Encapsulated PostScript (.eps) 图形(首先使用 NetPBM 转换位图),因为无论如何我总是使用 dvips + ps2pdf,然后我使用 \includegraphics{file}。

于 2009-03-14T13:58:41.633 回答
1

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

于 2009-03-17T19:08:57.773 回答
0

我总是包含 PNG 格式的图像。

于 2009-03-14T13:56:08.440 回答
0

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

于 2009-03-17T19:05:43.663 回答