next up previous contents index
Next: 14. Psfrag 宏包 Up: 13.3 非 EPS 图形文件 Previous: 13.3.1 GIF 的例子

13.3.2 对非 EPS 图形的直接支持

虽然 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 的图形, 也还是有几个例外:
  1. 如果 dvips 编译时用了参数 -Demtex,它将支持 一些 EmTEX 的 \special 命令,允许直接插入 PCX, BMP 或  MSP 位图。
  2. Macintosh 下的共享 TEX/LATEX 软件 Oztex2.1 中, DVI 到 PS 的 转换程序 OzDVIPS 允许通过 \special 命令来使用  MacPaint 和 PICT 文件。详见 http://www.kagi.com/authors/akt/oztex.html
  3. 一些商业版本的 LATEX 支持非 EPS 的图形。
    1. Macintosh 下的 Textures 支持 PICT 图形。详见 http://www.bluesky.com/
    2. Y&Y 的 Windows 版本的 TEX 中, DVI 到 PS 的转换程序  DVIPSONE 支持 TIFF 图形。详见 http://www.YandY.com/
即使上述方法中, TEX 仍然无法直接从二进制的图形文件中获得 其图形的大小。为使 LATEX 能正确地给所插入的图形分配空间, 使用者必须用 .bb 文件或在 \includegraphics 中 用 bb 选项给出图形的大小。


Wang Lei
2000-04-15