|
\DeclareGraphicsRule 命令指定 \includegraphics 如何按照文件的扩展名 来对图形文件进行操作。可以允许有多个 \DeclareGraphicsRule 命令。 \DeclareGraphicsRule{ext}{type}{sizefile}{command}
例如:
\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1}
指定任何以 .eps.gz 为扩展名的文件为压缩 EPS 文件,该文件
的 BoundingBox 信息存放在扩展名为 .eps.bb 的文件中,并 用命令 gunzip
-c 来解压缩(因为 LATEX 不能从压缩文件中
读取 BoundingBox 信息,所以 BoundingBox 行必须存放到一非压缩文件中)。 \DeclareGraphicsRule 命令允许使用 * 代表任何未知扩展名,
例如:
\DeclareGraphicsRule{*}{eps}{*}{}
会导致所有未知扩展名的文件都被认为是 EPS 文件,比方说 file.EPS
就被当做 EPS 文件。 这里文件名里第一个句点 以后的部分都被认为是文件的扩展名,这样做是为了能够 正确地识别压缩的 EPS 文件(扩展名为 .eps.gz)等。为了避免
混淆,文件的基本名中不要使用句点。否则 file.name.eps.gz 会让 \includegraphics 寻找扩展名为 .name.eps.gz 所对应的规则,
由于这样的规则很有可能不存在,结果导致使用未知扩展名所对应的规则。 例外的情形是该文件的格式正好是缺省格式,如未知扩展名的文件 都被认为是 EPS 文件时,那么 file.name.eps 就能被正确地识别。
为方便起见,根据不同的图形驱动选项 9.2 预定义了不同的缺省图形规则。例如使用 dvips 图形驱动选项
时,缺省图形规则为:
\DeclareGraphicsRule{.eps}{eps}{.eps}{}
\DeclareGraphicsRule{.ps}{eps}{.ps}{}
\DeclareGraphicsRule{.pz}{eps}{.bb}{`gunzip -c #1}
\DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{`gunzip -c #1}
\DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{`gunzip -c #1}
\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1}
\DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{`gunzip -c #1}
\DeclareGraphicsRule{.pcx}{bmp}{}{}
\DeclareGraphicsRule{.bmp}{bmp}{}{}
\DeclareGraphicsRule{.msp}{bmp}{}{}
\DeclareGraphicsRule{*}{eps}{*}{}
前面两个命令定义扩展名为 .eps 和 .ps 的文件为 EPS 文件,
它们后面的五个命令定义了压缩 EPS 文件的扩展名和解压命令, 接下来的三个命令定义了位图文件的扩展名(见第 13.3 节),
最后一个命令设定未知扩展名的文件为 EPS 文件。 |