为什么我的 Mathematica 图形不能与 PSFrag 一起使用?

为什么我的 Mathematica 图形不能与 PSFrag 一起使用?

我创建了一个图像数学由于某种原因,使用 PSFrag 时某些标签无法被替换。

具体来说,数学代码

image = Plot[Sin[x], {x, 0, 2 π}, PlotLabel-> "label"]
Export[NotebookDirectory<>"image.eps",image]

将创建图像

在此处输入图片描述

label原则上,以下 PSFrag 代码应该用格式良好的替换标签$\sin(x)$

\documentclass{article}
\usepackage{graphicx}
\usepackage{psfrag}

\begin{document}

  \psfrag{label}{$\sin(x)$}
  \includegraphics[width=\textwidth]{image.eps}

\end{document}

确实,非常相似的版本可以在example.epsPSFrag 包的文档中提供的图像上使用。但是,我的驱动程序没有替换标签dvips。出了什么问题?

答案1

原来这是数学的导出协议到 EPS。如果您直接在文本编辑器中检查此类文件,则与标签相对应的代码已被拆分为单个字母:

(l) N
P
p
3 10.5 m
(a) N
P
p
7.797 10.5 m
(b) N
P
p
13.203 10.5 m
(e) N
P
p
18 10.5 m
(l) N

也就是说,PSFrag 要寻找的字符串被拆分为、、和(label)五个不同的单字符串。(l)(a)(b)(e)(l)

要解决这个问题,只需用适当的方法更改上面引用的代码(label),或者将标签更改为单个字符。

答案2

您可能还想尝试MathPSFrag,过去我曾在这方面取得过很多成功。

它会自动创建(可定制的)psfrag标签每一个图像中的字符串。

相关内容