虽然 LATEX 和 dvips 不断地被要求直接支持非 EPS 图形并使
得如同 EPS 图形一样简单方便。的确,这样做会带来不少方便,但却存在 着不少问题。
- 因为 LATEX 是通过从 EPS 文件中读取 BoundingBox 来确定图形
文件的大小的,加上 LATEX 只能读取 ASCII 文件,所以其它的非 EPS 图形
文件(绝大多数是二进制文件)会阻碍 LATEX 获取图形大小的信息。
- 进一步讲,支持非 EPS 图形要求 dvips 具有图形格式转换的
能力(GIF-to-PS, TIFF-to-PS, 等)。这需要大量的编程和维护工作。
有鉴于此, dvips 提供调用外部图形转换程序的机制而不是
直接支持非 EPS 图形文件。这种机制允许 LATEX 通过设置
\DeclareGraphicsRule 来使 dvips 调用指定的外部图形转换程序。
这样使用者可自己选择图形转换程序, dvips 也不用捆绑 一些图形转换功能,从而比直接支持非 EPS 图形文件更具灵活性。
仅管 LATEX 和 dvips 一般不支持直接插入非 EPS 的图形,
也还是有几个例外:
- 如果 dvips 编译时用了参数 -Demtex,它将支持
一些 EmTEX 的 \special 命令,允许直接插入 PCX,
BMP 或 MSP 位图。
- Macintosh 下的共享 TEX/LATEX 软件 Oztex2.1 中, DVI 到 PS 的
转换程序 OzDVIPS 允许通过 \special 命令来使用
MacPaint 和 PICT 文件。详见 http://www.kagi.com/authors/akt/oztex.html
- 一些商业版本的 LATEX 支持非 EPS 的图形。
- Macintosh 下的 Textures 支持 PICT 图形。详见
http://www.bluesky.com/
- Y&Y 的 Windows 版本的 TEX 中, DVI 到 PS 的转换程序
DVIPSONE 支持 TIFF 图形。详见 http://www.YandY.com/
即使上述方法中, TEX 仍然无法直接从二进制的图形文件中获得
其图形的大小。为使 LATEX 能正确地给所插入的图形分配空间,
使用者必须用 .bb 文件或在 \includegraphics 中
用 bb 选项给出图形的大小。 |