无法使用 psfrag 替换 pdf 中的文本

无法使用 psfrag 替换 pdf 中的文本

我使用 Acrobat 11 将 PDF 文件转换为 EPS。虽然我已成功使用 psfrag 在同一个 LaTeX 文档中替换 Matlab R2013a 生成的 EPS 文件中的文本(基本上是替换字体),但我无法在 Acrobat 生成的 EPS 中完成相同的操作。可能是什么原因?我尝试替换的文本是单个单词,在记事本中打开 EPS 文件时我可以看到它。任何提示和建议都将不胜感激。

答案1

在评论中添加了相关的 PostScript 代码:

(Classifiers)
[9.36057 3.95929 6.24078 5.51782 5.51782 3.95929 4.68082 3.95929 6.12003 4.68085 0 ]
xsh

xsh将是文件头中用于xshow字母间距文本的 postscript 命令的定义别名,其间距由方括号中的数字给出。xshow不受支持psfrag(我不明白为什么不支持,我想我们当时只是错过了它)。

因此,你应该能够编辑该命令,只需说

(Classifiers) 
show

然后psfrag就会看到它。

以下示例包含一个使用每种形式的 EPS 文件,然后在指定替换后再次包含它,以Classifiers注意如何替换非字母间距的版本。

在此处输入图片描述

\begin{filecontents}{\jobname.eps}
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 5 295 85 365

/Times-Roman findfont 10 scalefont setfont


10 350 moveto
(Classifiers) [9.36057 3.95929 6.24078 5.51782 5.51782 3.95929 4.68082 3.95929 6.12003 4.68085 0 ] xshow

10 300 moveto
(Classifiers) show

showpage
\end{filecontents}
\documentclass{article}

\usepackage{psfrag}

\begin{document}


1: \fbox{\includegraphics{\jobname.eps}}

\psfrag{Classifiers}{\rotatebox{5}{\textbf{C}\textit{lass}\textsf{ifiers}}}%
2: \fbox{\includegraphics{\jobname.eps}}

\end{document}

相关内容