![为什么 pdflatex 不能打印 EPS 图形?](https://linux22.com/image/231529/%E4%B8%BA%E4%BB%80%E4%B9%88%20pdflatex%20%E4%B8%8D%E8%83%BD%E6%89%93%E5%8D%B0%20EPS%20%E5%9B%BE%E5%BD%A2%EF%BC%9F.png)
我的论文中的图片是 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 的默认设置。
你需要:
\usepackage{epstopdf}
在序言中- 包含不带扩展名的图形,例如
\includegraphics{picture}
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。