有没有办法定义一个新命令,以便现有的
\includegraphics[scale=x]{fig_name}
变成
\includegraphics[scale=x]{fig_name.eps}
对于任何 x 和 fig_name?这是为了将 eps 自动转换为 pdf,因为 eps 可能会导致 xdvipdfmx 出现内存不足问题:https://tex.stackexchange.com/questions/169029/xdvipdfmx-out-of-memory。
答案1
如果全部您的用法不包括使用文件扩展名,那么您可以简单地执行
\usepackage{graphicx,letltxmacro}
\LetLtxMacro{\oldincludegraphics}{\includegraphics}
\renewcommand{\includegraphics}[2][]{\oldincludegraphics[#1]{#2.eps}}
这将改变
\includegraphics[*]{**}
到
\includegraphics[*]{**.eps}
指某东西的用途letltxmacro
是必需的,以便处理可选参数\includegraphics
。请参阅何时使用\LetLtxMacro
?
或者,也许更简单,你可以使用
\DeclareGraphicsExtensions{.eps}