Miktex pdflatex 不再编译 pstricks 命令

Miktex pdflatex 不再编译 pstricks 命令

我已经使用 MikTex 2.9 的 pdflatex 好几年了,示例代码类似于:

 \documentclass{standalone}
 \usepackage[pdf]{pstricks}
 \usepackage{pst-all}
 \begin{document}
 \psset{xunit=1cm}
 \begin{pspicture}(0,0)(4, 4)
 \psaxes{-}(0,0)(0,0)(4,4)[$x$,0][$y$,0]       
 \end{pspicture}
 \end{document}

这将生成一个独立的 PDF 文件,然后我会使用 \includegraphics 将其带入主文档。

不过,在最近更新(然后重新安装)MikTex 2.9 后,此代码不再编译。编译输出与原始编译基本相同,直到触发以下错误:

<C:/Program Files (x86)/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmmi10.pfb>
<C:/Program Files (x86)/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmr10.pfb>
[1] 
Error: /typecheck in --div--
Operand stack:
   1   0   0.0   TeXcolorgray   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--   5   --nostringval--   %repeat_continue   --nostringval--
Dictionary stack:
   --dict:1169/1684(ro)(G)--   --dict:0/20(G)--   --dict:167/200(L)--   --dict:180/300(L)--
Current allocation mode is local
Current file position is 174298
MiKTeX GPL Ghostscript 9.05: Unrecoverable error, exit code 1
PDFCROP 1.38, 2012/11/02 - Copyright (c) 2002-2012 by Heiko Oberdiek.

!!! Warning: Empty Bounding Box is returned by Ghostscript!
!!!   Page 1: 0 0 0 0
!!! Either there is a problem with the page or with Ghostscript.
!!! Recovery is tried by embedding the page in its original size.

==> 1 page written on `sample-pics.pdf'.
"-------------------------------------------------"
"auto-pst-pdf: End auxiliary LaTeX compilation"
"-------------------------------------------------"

然后后来,

 (C:\Users\aableson\AppData\Roaming\MiKTeX\2.9\tex\context\base\supp-pdf.mkii
 [Loading MPS to PDF converter (version 2006.09.02).]
 )
 ! Undefined control sequence.
 <recently read> \c@lor@to@ps 

 l.7 \psaxes{-}(0,0)(0,0)(4,4)[$x$,0][$y$,0]

 ? OK, entering \batchmode

摘要:一年多来,MikTeX 的 pdflatex 编译上述文件毫无问题,并生成了可用的 PDF。现在,安装新版 MikTeX 后,pdflatex 不再编译。[文件仍可在安装了旧版本的计算机上编译]

两者使用的命令:pdflatex --enable-write18 sample.tex


欢迎提出任何关于发生了什么变化以及如何修复此问题的建议。在压力之下,我愿意使用 xetex 或其他工具之一开发新的工作流程,但我更希望能够一步完成从 emacs 编辑到 PDF 的转换。谢谢,

艾伦

答案1

几个月来我一直遇到同样的问题。 一定有什么变化了pstricks。我的解决方案是删除该pdf选项,并将其替换为该选项的功能:加载auto-pst-pdf 普斯特里克。

答案2

使用独立类时,您的示例会因选项与预览冲突而失败并出现另一个错误。通过文章,我可以重现您的错误,这是由于 pstricks 中的一个错误:括号太多,因此它会成组加载 auto-pst-pdf。可以使用以下代码演示该问题:

\documentclass{article}
\usepackage{pstricks}
{\usepackage{auto-pst-pdf}}
\usepackage{pst-all}

 \begin{document}
 \psset{xunit=1cm}
 \begin{pspicture}(0,0)(4, 4)
 \psaxes{-}(0,0)(0,0)(4,4)[$x$,0][$y$,0]
 \end{pspicture}
 \end{document}

您应该提交一个错误报告。

答案3

standalone将 documentclass与 package 一起使用没有任何实际意义。两者都将 在后台auto-pst-pdf运行。但是,从内部加载有一些特殊情况,这会使事情变得复杂。我创建了一个新文件 ,使加载更容易。它应该可用于明天的 TeXLive 更新。直到使用:latexauto-pst-pdfpstrickspstricks-pdfauto-pst-pdf

\documentclass[border=10pt]{standalone}
 \usepackage{auto-pst-pdf}
 \usepackage{pst-all}
 \begin{document}
 \psset{xunit=1cm}
 \begin{pspicture}(0,0)(4, 4)
 \psaxes(0,0)(0,0)(4,4)[$x$,0][$y$,0]       
 \end{pspicture}
 \end{document}

相关内容