[pstricks] \pstVerb scope
Michelle Baert
m.baert at free.fr
Thu Jan 17 10:28:16 CET 2008
Hi Herbert,
Thanks for "PSTricks 2008", it looks great !
My pst-erd project is well progressing.
I renamed things (tell me if there could be a conflict):
--
% ------- Crow's Foot Arrowheads names
% on - zero or more: ring and crow's foot
% in - one or more: dash and crow's foot
% oi - zero or one : ring and dash
% ii - exactly one : dash and dash
\edef\pst at arrowtable{\pst at arrowtable,no-on,ni-in,io-oi,ii-ii}
\psset at crowarrowsize{2pt 5}
\psset at crowarrowlength{10}
\psset at crowarrowinset{.4}
% main arrowhead routine:
%CrowFoot(reverse, optional, unique, inset, length, dim, num)
\pst at def{CrowFoot}<...>
...
% 1..N cardinality (end)
\@namedef{psas at in}{%
false false false \psk at crowarrowinset\space \psk at crowarrowlength
\space \psk at crowarrowsize\space \tx at CrowFoot
}
...
--
The tx at CrowFoot ps code receives arguments set for
each arrowhead "flavor", and calls subroutines: ring, dash, fork .
To minimize footprint, I define them in the ADict dictionary, which,
as far as I understood, is designed for that.
But there I have problems:
When I use \pstVerb to include this ps code defining subroutines,
it works fine on first document page it is used, but then I get
ghostscript /undefined error.
Debugging the ps file produced by latex, it looks like all definitions I
made in \pstVerb block where cleared when starting a new page (maybe at
@endspecial ?). What's wrong ?
I could avoid this problem when replacing the \pstVerb block with
\pstheader{pst-erd.pro}. Is it the right way to do it ?
Looking at section 8 of pst-code.pdf, and page 2 of "Inside PSTricks",
I'd think the most portable way would be to use \ps at def, but:
When defined with ps at def{routine}, ps code is, on my system, replicated
in ps output for each invocation of tx at routine . I'd prefer
to have a tx at routine ps procedure defined, but I don't know how to do
this, without modifying pstricks distribution itself.
Your help would be greatly appreciated.
--
Best regards,
Michelle Baert
More information about the PSTricks
mailing list