软件包 epstopdf 警告:不支持除 pdftex.def 之外的其他驱动程序

软件包 epstopdf 警告:不支持除 pdftex.def 之外的其他驱动程序
  1. 当我尝试制作 4x4 子图时,出现此错误。我做过很多这样的子图,从来没有出现过错误。在此之前的子图运行良好,但我现在正在做的子图出现此错误。一切看起来都很好,我认为图形环境中根本没有错误!有什么想法吗?当我尝试编译文件时,出现此错误,并且没有生成 pdf!

更新:这是产生问题的代码片段。有人知道原因吗?

\begin{figure}
\centering
\subfloat[][\emph.]
{\includegraphics[width=.4\textwidth]{IdarkResponsivitythicknessLe1310b}} \quad
\subfloat[][\emph.]
{\includegraphics[width=.4\textwidth]{IdarkResponsivitythicknessLe1550bigfiber}}\quad
\subfloat[][\emph.]
{\includegraphics[width=.4\textwidth]{IdarkResponsivitythicknessLh1310b}} \quad
\subfloat[][\emph.]
{\includegraphics[width=.4\textwidth]{IdarkResponsivitythicknessLh1550bigfiber}} 

\caption{Idark.}
\label{SRtLeLh13101550}
\end{figure}

答案1

该警告在包加载时抛出epstopdf-base (由包加载epstopdf):

\begingroup
  \def\x{pdftex.def}%
  \ifx\Gin@driver\x
  \else
    \@PackageWarningNoLine{epstopdf}{%
      Drivers other than `pdftex.def' are not supported%
    }%
    \endgroup
    \newcommand*{\epstopdfsetup}[1]{}%
    \expandafter\ETE@AtEnd
  \fi%
\endgroup

包加载的最晚时间是在 内\begin{document},即 LaTeX 序言结束的时间。因此,之后的任何代码都无关紧要。

如果你是不是在 PDF 模式下使用 pdfTeX(或 LuaTeX),那么该包epstopdf就没什么用了。例如,dvips 可以直接包含 EPS 文件,但不知道如何处理 PDF 文件。此外,运行外部转换器的方法也大不相同,它们由驱动程序 dvips 运行,而不是在 LaTeX 作业内部运行。

对于除 pdfTeX 之外的其他驱动程序,可以忽略警告,因为包的自动结束是正确的。此外,唯一的命令\epstopdfsetup被重新定义为忽略其参数。

或者可以添加 PDF 模式下对 pdfTeX 的检查:

\usepackage{ifpdf}
\ifpdf
  \usepackage{epstopdf}
\fi

如果 TeX 文档依赖于与 pdfTeX 不同的驱动程序(可能是因为文档使用了类似 的包) ,那么可以删除pstricks的加载。epstopdf

不是太旧的 TeX 发行版 TeX Live 或 MiKTeX 附带了graphics.cfg包的配置文件graphicx,该文件会epstopdf(-base)自动加载,但前提是检测到 PDF 模式下的 pdfTeX 并且启用了所需的 shell 转义功能。

相关内容