为什么没有 pdffrag 包?

为什么没有 pdffrag 包?

psfrag包裹已经存在十多年了*并且易于使用:

\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{psfrag}% http://ctan.org/pkg/psfrag
...
\psfrag{<tag>}{<LaTeX text>}% <tag> -> <LaTeX text>
\includegraphics{image}

缺点是需要latex-> dvips->ps2pdf编译路径才能生成 PDF 格式的输出。为什么在 下没有这样简单/直接的对应方法pdflatex?即通过替换上述代码摘录中psfrag的所有对 的引用。pdffrag

* psfrag版本 3.04CTAN 上的日期为 1998 年 4 月 11 日。

答案1

首先,介绍一下背景知识。使用传统的 (La)TeX,在 TeX 端包含 EPS 文件相对简单。LaTeX 采取的方法是读取 EPS(文本文件)以找到边界框,然后留出足够的空间让其出现在输出中。使用 链接包含在 DVI 文件中\special,TeX 引擎就完成了。实际渲染 EPS 文件的工作留给了驱动程序。

psfrag所做的就是在 EPS 文件加载过程中读取一个附加的标头,以及实际进行更改的搜索和替换材料。因此,这项工作仍未由 TeX 完成。

切换到 pdf(La)TeX,直接生成 PDF 意味着编写 PDF 文件。这需要适当的引擎支持,但更重要的是必须以正确的方式包含 PDF 图形。与 EPS 格式不同,无法“插入”标题以在任何包含的 PDF 文件中进行替换。因此,它需要引擎支持(原始)才能在 PDF 中进行任何替换。(此外,PDF 文件与 EPS 文件不同,不是纯文本,因此简单的搜索和替换操作实际上是不可能的。)

相关内容