我无法让简单的psfrag
变电站运行,并且想知道我是否缺少某个可以让它们工作的选项或偏好。
我使用 LyX 按文档构建,但我尝试的几乎每个工具都存在同样的问题。我能够进行替换的唯一方法是使用Typeset > TeX and DVI
MWE 在 TeXShop 中进行选择。但这不是我构建实际文档的地方,而且我认为我无法(可能也不想)在我实际工作的 LyX 中进行等效更改。
有没有什么方法可以修改下面的代码以便使用 pdflatex 进行替换(如果这甚至相关的话)?
\documentclass{scrartcl}
\usepackage{pstool}
\usepackage{psfrag}
\usepackage{tikz}
\begin{document}
\psfragfig*{graphA}{
\psfrag{X}{$\epsilon$}
}
\psfragfig{graphA}{
\psfrag{X}{$\pi$}
}
\psfragfig!{graphA}{
\psfrag{X}{Q}
}
\psfrag{X}{Help}
\includegraphics{graphA}
\end{document}
答案1
为了在直接编译 tex-->pdf 时获得正确排版的 psfrag(和 pstricks)内容,您应该使用包auto-pst-pdf
,该包在第一次运行中创建一个文件\jobname-pics.pdf
,该文件收集所有转换为 pdf 并嵌入 pstricks 内容的 eps 文件。
你只需要\usepackage{auto-pst-pdf}
在前言中。
如果-pics.pdf
创建了它并且你不再更改图片,你可以将选项 [off] 设置为调用\usepackage[off]{auto-pst-pdf}
以获得更快的编译速度。
给出一个工作示例:
\documentclass{article}
\usepackage{auto-pst-pdf}
\usepackage{graphicx}
\usepackage{psfrag}
\begin{document}
Some text
{
\psfrag{P1}{$P_1$}\psfrag{a}{\alpha}
\includegraphics[width=0.5\textwidth]{TestEps}
}
{
\psfrag{P1}{$Q=P_1$}
\includegraphics[width=0.5\textwidth]{TestEps}
}
\end{document}
答案2
正如您现在所知,psfrag
需要latex->dvips
链条并且不能与一起使用pdflatex
。
一种可能的(不太好的)解决方法是创建一个最小文档,其中仅包含该图形并用于psfrag
替换标签,然后使用latex->dvips->pstopdf
(或者可能是latex->dvipdfm
)编译该文档,以获得pdf
仅包含该图形的文件。您还可以使用preview
包创建一个页面大小与所含图形大小完全匹配的 pdf。
一旦您通过这种方式创建了 pdf 图形,您就可以通过将其导入到您的“主”文件中\includegraphics
,并使用它pdflatex
来处理该文件。