我之前在 stackoverflow.com 上发过这篇文章,有人建议我在这里发。因此,提前为交叉发布道歉。
我在 ubuntu 10.04 中使用 LaTeX 构建使用 的 TeX 文件\includegraphics
。我没有指定文件扩展名以允许 latex 自动决定。我包含的每个图像都有.pdf
和文件。.eps
我的问题是,如果我使用 构建,pdflatex
一切都会正常。但是,如果我使用 构建,latex
则会收到以下形式的错误:
! LaTeX Error: Cannot determine size of graphic in images/DetailedArch.pdf
(no BoundingBox).
我以为运行latex
会自动选择文件的 EPS 版本。如果我.eps
在\includegraphics
命令中指定扩展名,一切都会正常进行。我尝试了各种选项,例如使用,\ifpdf
但未能找到解决方案。
我注意到的一点是,在 Ubuntu 10.04 中latex
有一个链接pdftex
——不确定这是否是问题的一部分。
答案1
最好的方法是声明要使用的图形扩展\DeclareGraphicsExtensions
,并且在包含图像时不提供扩展名:
\usepackage{graphicx}
\usepackage{ifpdf}
\ifpdf
\DeclareGraphicsExtensions{.pdf,.png,.jpg}
\else
\DeclareGraphicsExtensions{.eps}
\fi
% In the document:
\includegraphics{image_name}% no extension!
我个人放弃了这种双重编译的东西,只用了好pdflatex
几年。如果你需要 PS 相关的东西,有一些软件包可以帮到你。
答案2
扩展及其顺序在图形包的驱动程序文件中声明。例如,标准 dvips 驱动程序包含
\def\Gin@extensions{.eps,.ps,.eps.gz,.ps.gz,.eps.Z}
这意味着如果使用该驱动程序,.pdf
图形将不会被使用。
您的文档使用哪种驱动程序取决于您的文档和系统。制作一个最小示例来演示您的问题,并将其与 latex 运行的日志文件一起展示给我们。