我已经使用 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 更新。直到使用:latex
auto-pst-pdf
pstricks
pstricks-pdf
auto-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}