我使用 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}