更新:现在可以正常工作。代码如下:
% !TeX Program = pdfLaTeX+MakeIndex+BibTeX+ShellExtension
\documentclass{article}
\usepackage{pstool}
\usepackage[utf8]{inputenx}
\begin{document}
\begin{figure}
\psfragfig{trial}{\psfrag{[ev]}{$damn$}}
\end{figure}
\end{document}
我不知道为什么(这已经成为一种习惯),但我不得不使用新下载的版本trial.eps
(并删除所有辅助文件)。看起来,与不同epstopdf
,pstools
不添加后缀,它可能会破坏原始文件(但大多数情况下,我不知道)。现在我要尝试编写一些更有用的东西,看看什么样的复杂程度会破坏它。
更新:我有一个加载几个包的序言,正如 Ian Thompson 建议的那样,唯一导致问题的是epstopdf
,这是我没有想到的,因为pstool
的文档状态(第 2 页):epstopdf
并且pstool
兼容,但前提是先epstopdf
加载。
老问题:
我正在研究一个简单的例子,取自上一个问题。
我在 MiKTeX 2.9 上使用 TeXworks 并且使用 pdfLaTeX 进行编译。
该文件trial.eps
位于名为 graphicxstuff 的子文件夹中。
我没有使用任何宏文件,只使用里面的命令\psfragfig
。pdf
输出显示带有可选文本的矢量图像,但[MP]
尚未被替换$M_A$!
,而且图像尚未调整大小。
梅威瑟:
\documentclass{article}
\usepackage[utf8]{inputenx}
\usepackage{graphicx}
\graphicspath{{graphicxstuff/}}
\usepackage[update,prepend]{epstopdf}
\usepackage{pstool}
\usepackage[margin=.5in,parindent=1em]{caption}
\begin{document}
\begin{figure}[h!]
\psfragfig*[width=3cm]{graphicxstuff/trial}{%
\psfrag{[Mp]}{$M_A$!}%
}
\caption{This is the caption}
\end{figure}
\end{document}
甚至不
\documentclass{article}
\usepackage[utf8]{inputenx}
\usepackage{pstool}
\begin{document}
\psfragfig{trial}{\psfrag{[Mp]}{A}}
\end{document}
对我来说很管用。这次用 epstopdf 进行编译
(使用 epstopdf 我不需要启用 shell 扩展)。
不知道为什么(现在这已经成为一种习惯)但是trial.eps
现在似乎坏了,irfanview 无法打开它,即使是刚从 CTAN 下载的。
答案1
这种情况很复杂:有很多种排列组合,你得到的结果不仅取决于是否启用了 shell 转义、加载了哪些包(以及加载了哪些选项,和不仅取决于您之前尝试过的操作,还取决于您之前尝试过的操作。最后一个复杂因素是,epstopdf
和pstool
将尝试生成pdf
图形的版本,并且根据已经存在的文件,其行为可能会有所不同。
根据pstool 包文档,您必须
epstopdf
在 之前加载pstool
。我知道您在示例中已经这样做了,但为了其他可能阅读本文的人的利益,值得明确说明这一点。您必须启用 shell 转义。如果没有它,
pstool
就没有发挥其魔力所需的权限,因此转换由 执行epstopdf
,而 无法处理psfrag
命令。您不能使用
prepend
选项epstopdf
;这似乎会停止pstool
工作。我不确定这是否是一个错误,但我会在答案后添加一条评论以提醒软件包作者(我不知道 @ 是否在答案中起作用)。我倾向于将选项 [process=all] 添加到
pstool
,至少在您尝试使一切正常运行时。如果没有它,更改大小然后重新编译不会有任何效果。
以下操作可在我的计算机上运行,前提是启用了 shell 转义(无论之前尝试过什么,也不管存在哪些文件)。
\documentclass{article}
\usepackage{graphicx}
\usepackage[update]{epstopdf}
\usepackage[process=all]{pstool}
\begin{document}
\begin{figure}[h!]
\psfragfig[width=7cm]{trial}{\psfrag{[Mp]}{$M_A$!}}
\caption{This is the caption}
\end{figure}
\end{document}
现在,我似乎记得在一座标有 Arch Stanton 的坟墓里有一些贵重物品。我最好去调查一下。