[pstricks] Bug in pstricks-add?

Christoph Bersch usenet at bersch.net
Tue Oct 10 10:05:15 CEST 2006


the first small error is in line 1272 of pstricks-add.tex (v2.80), which
should be

  \psLDNode(#1)(#2){#3}{@temp at lnput}

instead of

  \psLDNode(A)(B){#3}{@temp at lnput}

With this correction the following code does not work properly:


The file compiles fine, but when viewing the output with gv, I get the
following postscript error:

Error: /typecheck in subGPL Ghostscript 8.01: Unrecoverable error, exit
code 1

Operand stack:
   142.264   -0.000130008   -0.00013121   142.264   ()   Alpha
-0.00013121   ()
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--
--nostringval--   2   %stopped_push   --nostringval--   --nostringval--
  --nostringval--   false   1   %stopped_push   1   3   %oparray_pop   1
  3   %oparray_pop   1   3   %oparray_pop   1   3   %oparray_pop
.runexec2   --nostringval--   --nostringval--   --nostringval--   2
%stopped_push   --nostringval--   --nostringval--

\listfiles gives the following

 *File List*
 article.cls    2001/04/21 v1.4e Standard LaTeX document class
  size10.clo    2001/04/21 v1.4e Standard LaTeX file (size option)
pstricks-add.sty    2005/03/03 package wrapper for pstricks-add.tex (hv)
pstricks.sty    2005/10/07 v0.25 LaTeX wrapper for `PSTricks' (RN,HV)
pstricks.tex    2006/04/29 v1.14c `PSTricks' (tvz)
  xcolor.sty    2004/07/04 v2.00 LaTeX color extensions (UK)
   color.cfg    2001/08/31 v1.1 color configuration of teTeX/TeXLive
   dvips.def    1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
pstricks-add.tex    2006/09/25 v2.80 `PSTricks-add' (hv)
pst-xkey.tex    2005/11/25 v1.6 PSTricks specialization of xkeyval (HA)
 xkeyval.sty    2005/11/25 v2.5e package option processing (HA)
 xkeyval.tex    2005/11/25 v2.5e key=value parser (HA)

If I copy the relevant code for \nlput from pstricks-add.tex (line 1253
to 1276) and do not include pstricks-add.sty, it works. Maybe this helps
to find the bug.
The following code (with the mentioned copying) works properly:

% #1: node A  #2: node B  #3: dimen measured from A  #4: node name
  \pst at getcoor{#1}\pst at tempA%
  \pst at getcoor{#2}\pst at tempB%
  \pssetlength\pst at dima{#3}%
    \pst at tempA /YA exch \pst at number\psyunit div def
    /XA exch \pst at number\psxunit div def
    \pst at tempB /YB exch \pst at number\psyunit div def
    /XB exch \pst at number\psxunit div def
    /dx XB XA sub def
    /dy YB YA sub def
    /angle dy dx Atan def
    /length \pst at number\pst at dima \pst at number\psunit div def
    XA length angle cos mul add YA length angle sin mul add ){#4}%
\def\nlput{\pst at object{nlput}}
\def\nlput at i(#1)(#2)#3#4{%
  \begin at SpecialObj
  \psLDNode(#1)(#2){#3}{@temp at lnput}
  \pcline[linestyle=none](#1)(@temp at lnput)%
  \end at SpecialObj
} %

Thanks for your help

More information about the PSTricks mailing list