我用pdflatex
它来编译包含 EPS 图形和 PSTricks 的源文件。我处理这个问题的标准方法是使用auto-pst-pdf
。我一直使用 TeXstudio 在 Windows 下编译文件,没有问题。最近,我在 MacTeX 2013 下尝试使用 TeXstudio 2.6.4 进行同样的操作,但没有成功,错误消息
sh:latex:未找到命令。
我知道首先auto-pst-pdf
运行latex
++ ,但我不明白为什么运行会遇到麻烦。dvips
ps2pdf
latex
顺便说一句,TeXShop 运行该文件没有问题。
最小示例:当我使用 Winedt 或 Texstudio 时,此代码在 Windows(使用 MikTeX)下运行良好。如果我使用 Texshop,它也可以与 MacTex 一起正常运行,但如果我在 Mac 上使用 texstudio 运行它,则会出错。它返回一个 pdf 文件,其中有一个空白方块而不是图形。
\documentclass{article}
\usepackage{graphicx}
\usepackage{microtype}
\usepackage{auto-pst-pdf}
\begin{document}
This is a test. The following figure should be processed OK when PdfLaTeX is run.
\bigskip
\includegraphics[width=5in]{fig4.eps}
\end{document}
答案1
要诊断您的问题,请尝试使用pdflatex -shell-escape filename.tex
。
% this input file name is filename.tex
% compile it with pdflatex -shell-escape filename.tex
\documentclass[preview,border=12pt]{standalone}
\usepackage{filecontents}
\begin{filecontents*}{temporary.tex}
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{graphicx}
\newsavebox\IBox
\savebox\IBox{\includegraphics{example-image-a.eps}}
\psset{xunit=\wd\IBox,yunit=\ht\IBox}
\begin{document}
\begin{pspicture}[showgrid=top](1,1)
\rput[bl](0,0){\usebox\IBox}
\end{pspicture}
\end{document}
\end{filecontents*}
\usepackage{graphicx,pgffor}
\edef\AutoRotateOff{-dAutoRotatePages=/None}
\foreach \compiler/\ext in {latex/tex,dvips/dvi,ps2pdf \AutoRotateOff/ps}{\immediate\write18{\compiler\space temporary.\ext}}
\begin{document}
This is a test. The following figure should be processed OK when PdfLaTeX is run.
\bigskip
\includegraphics{temporary.pdf}% extension is not necessary
\end{document}
如果你得到以下信息,则表明你的编辑器有问题。
答案2
确保您还安装了pdfcrop包。它会安装一个小的 Perl 脚本来将生成的 PDF 裁剪为其边界框大小,以便可以将其包含在主 LaTeX 文档中。
答案3
尝试
\usepackage[crop=off]{auto-pst-pdf}