为什么我无法在 MikTeX 上运行带有 auto-pst-pdf(和裁剪)的 pstricks?

为什么我无法在 MikTeX 上运行带有 auto-pst-pdf(和裁剪)的 pstricks?
\documentclass{minimal}
\usepackage[pdf]{pstricks}

\begin{document}

\begin{pspicture}(-5.25,-5.25)(5.25,5.25)%
  \pscircle*[linecolor=cyan]{5}
  \psgrid[subgriddiv=0,gridcolor=lightgray,gridlabels=0pt]
  \Huge\sffamily\bfseries
  \rput(-4.5,4.5){A} \rput(4.5,4.5){B}
  \rput(-4.5,-4.5){C}\rput(4.5,-4.5){D}
  \rput(0,0){auto-pst-pdf}
  \rmfamily
  \rput(0,-3.8){PSTricks}
  \rput(0,3.8){\LaTeX}
\end{pspicture}

\end{document}

我使用以下命令运行它:

pdflatex -shell-escape Test.tex > log.txt 2>&1

但标准输出显示:

PDFCROP 1.33, 2012/02/01 - Copyright (c) 2002-2012 by Heiko Oberdiek.
!!! Error: Ghostscript exited with error code 1!

使用时也会发生同样的情况\usepackage{pstricks} \usepackage{auto-pst-pdf}

如果我使用\usepackage{pstricks} \usepackage[crop=off]{auto-pst-pdf}那么它就有效!

我使用 Windows 7 x64、MikTeX 2.9 x86(完整系统)和最新的软件包,安装了最新的 ActivePerl x86,还应用了pdfcrop 修复(因为相关问题之前已经出现过)。

您可以在日志中看到以下所有详细信息:标准输出测试日志, 和测试-autopp.log

有任何想法吗?

更新:我尝试手动运行 pdfcrop,但出现了同样的错误。当我使用 --debug 运行它时,我发现它找不到 Ghostscript 可执行文件gswin32c.exe。我查看了 MikTeX bin/ 文件夹,因为我以为它在那里,但实际上它不在。我必须单独安装 Ghostscript 吗?

答案1

我用 miktex 2.9 做了一些测试:只有当路径中有外部文件时, auto-pst-pdfwithpdfcrop才对我有用perl。不需要外部 ghostscript。这是“最小工作路径”(我猜需要 windows 路径cmd.exe):

Path=J:\MiKTeX2.9\miktex\bin;C:\WINDOWS\system32;J:\Perl\bin;

答案2

我真的不知道为什么,但我不得不单独安装 Ghostscript,以便 pdfcrop 可以使用 gswin32c.exe。我以为它包含在 MikTeX 中(不应该吗?)。

另一点需要注意的是:虽然我的最小示例现在可以工作了,但我无法让它适用于更大的文档。我发现两者之间似乎存在一些(不想要的?)差异

\usepackage{pstricks,auto-pst-pdf}

\usepackage[pdf]{pstricks}

只有第一个有效!对于第二个,我得到了奇怪的 Ghostscript 错误:

Error: /typecheck in --div--
Operand stack:
   1   0   0.0   -0.0367123   a   65781.8
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1926   1   3   %oparray_pop   1925   1   3   %oparray_pop   1909   1   3   %oparray_pop   1803   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   --nostringval--   4   --nostringval--   %repeat_continue   --nostringval--
Dictionary stack:
   --dict:1169/1684(ro)(G)--   --dict:0/20(G)--   --dict:122/200(L)--   --dict:104/300(L)--
Current allocation mode is local
Current file position is 167839

相关内容