我很困惑为什么 XeLaTeX 可以从包含 PSTricks 代码、PNG、JPEG、PDF、EPS 图像的输入文件生成 pdf 输出。这是我第一次使用 XeLaTeX,我真的很惊讶我可以在同一输入文件中导入多种不同格式的图像。
通常我使用 latex-dvips-ps2pdf 编译包含 PSTricks 代码和仅 EPS 图像的输入文件。如果我有 PNG、JPEG 和 PDF 图像,我必须提前转换它们以获得 EPS 版本。
不幸的是,XeLaTeX 的运行速度比 latex-dvips-ps2pdf 慢。我不知道为什么。在幕后,XeLaTeX 在编译带有 PSTricks 代码、jpeg、png、eps、pdf 图像的输入文件时实际上执行了哪些步骤?
答案1
JPEG、PNG 和 PDF 是 PDF 格式直接支持的,因此它们直接受支持xdvipdfmx
。xetex
程序读取图像文件以确定边界框并生成文件.xdv
,然后xdvipdfmx
程序将图像数据放入 PDF 输出文件中。
PDF 格式不支持 PostScript 流,因此 EPS 文件被转换为 PDF 格式,然后放入 PDF 输出文件。xdvipdfmx
调用 GhostScript 来完成这个操作。
PSTricks 包还调用 GhostScript 来渲染 PostScript 代码。所需的代码位于 中xdvipdfmx.con
。Herbert 可能会给出更多解释。
答案2
XeTeX 输出一个xdv
文件(扩展 DVI),该文件通过管道传输,xdvipdfmx
可以理解 Postscript 特殊功能并能够包含 EPS、PDF、PNG 和 JPEG 文件。
您还可以使用latex+dvipdfmx
以包括PSTricks 文件以及EPS、PDF、PNG 和 JPEG 文件。这需要通过图形 和 PSTtricks选项dvipdfm
(dvipdfmx
是的扩展版本dvipdfm
)。
注意:似乎“latex+dvipdfmx”不能包含 PSTtricks。:(