为什么 pdflatex 不能打印 EPS 图形?

为什么 pdflatex 不能打印 EPS 图形?

我的论文中的图片是 EPS 格式。如果我执行pdflatex获取论文的 PDF 版本,则不会显示这些图片。我必须使用命令排版latex,然后使用将 DVI 文件转换为 PDF dvipdf

为什么不pdflatex支持EPS数据?

答案1

EPS 不仅仅是一种图像格式:它是一门完整的编程语言。DVI 模式包含 EPS 图像的方式是在输出中为它们留出空间。如果您查看 DVI,您会发现 EPS 图像实际上并未添加到其中:查看 DVI 时必须存在它们才能进行适当的解释。当您将 DVI 转换为 EPS 格式(或直接转换为 PDF)时,处理 EPS 的是转换工具,而不是 TeX。(通常的 DVI 路线使用 GhostScript:它确实包含解释 EPS 文件的所有代码。)

直接生成 PDF 时,图像必须由 pdfTeX 正确包含。它不包含 EPS 解释器(这太复杂了),而是需要先使用其他工具(可能是 GhostScript)来制作 PDF 文件以供包含。PDF 文件使用与 EPS 相同的一些概念,但 pdfTeX 可以成功使用。

答案2

是的,可以,并且它将成为 TeXLive2010 的默认设置。

你需要:

  1. \usepackage{epstopdf}在序言中
  2. 包含不带扩展名的图形,例如\includegraphics{picture}
  3. pdflatex -shell-escape或者在 Windows 上启用 write18

答案3

我在 Windows 7 上使用 TeXStudio 2.5.1,发现我需要以下\usepackage{epstopdf}我的序言中的这句话\usepackage{graphicx}...不确定它为什么很重要,但它确实有效。

答案4

似乎没有必要指定不带 eps 扩展名的文件名。它无论如何都可以工作(在 TexLive 2009 上)。此外,-shell-escape似乎也不需要开关 - 在 Debian/Ubuntu 上,即使没有它,输出也很好。– donatello 12 月 3 日 19:13

我只需要\usepackage{epstopdf}。我有带 MikTeX 的 Windows7。

相关内容