尝试包含 .eps 时出现未定义错误

尝试包含 .eps 时出现未定义错误
\documentclass{book}
\usepackage{graphicx}
\usepackage{epstopdf}
\begin{document}
\includegraphics*[50pt,500pt][400pt,750pt]{figs/ch3/pda_anbn.eps}
\end{document}

Error says the \includegraphics line is undefined. I'm using Miktex 2.9.

Specifically the error message is "! Undefined control sequence.<argument> ...onverted-to.pdf image\GPT@AttrShort\ifx \GPT@print \ltx@empty... ...500pt][400pt,750pt]{figs/ch3/pda_anbn.eps}".

注意:我看到 pdf 正在同一文件夹中从 eps 生成。因此 epstopdf 正在运行。可能是 includegraphics 语法有问题?

答案1

pdfTeX 由 TeX 和生成 PDF 的驱动程序部分组成。因此,它能够检测所包含图像文件的边界/媒体框。手动指定边界框没有多大意义:

  • 用户必须确定边界框值。PNG 文件的边界框是什么?十页 PDF 文件的第五页的边界框是什么?

  • 如果图像文件没有扩展名,并且有多个具有不同内部边界框的选择,那么边界框是什么?

  • 如果图像文件发生变化,会发生什么情况?谁来更新 TeX 文件中的边界框数据?

  • 如何处理舍入误差?

  • 如果指定的边界框与实际边界框不同,那么用户“撒谎”的解释是什么?

因此,驱动程序pdftex.def不支持手动指定边界框,因为没有必要。如果用户想要保留图像的一部分,可以使用选项viewporttrim以更简洁的方式指定此愿望。选项bb被视为viewport带有警告。

尽管如此,两个可选参数形式的实际错误\includegraphics是一个错误。修复必须用更好的错误消息或与 option 类似的行为来替换它bb。(我还没有分析内部原理。)

相关内容