[pstricks] How to modify the 'Graphics Companion' book example

Denis Girou Denis.Girou at idris.fr
Wed Sep 26 19:52:04 CEST 2001


>>>>> "Szilard" == szilard  <szilard at cs.utwente.nl> writes:

    Szilard> My problem more specifically is in the assigning of separate
    Szilard> names
    Szilard> to all of the elements of a psmatrix (in the book is printed
    Szilard> that all 
    Szilard> cells can be named), but this works only for the first two
    Szilard> elements of the psmatrix. If I insert for instance a
    Szilard> [name=C] before the third 
    Szilard> element of the matrix, then I get a latex error that some
    Szilard> number is missing 
    Szilard> at the end of the psframebox containing the matrix in
    Szilard> question:

    Szilard> -------------------------------------
    Szilard> [2]
    Szilard> ! Missing number, treated as zero.
    Szilard> <to be read again> 
    Szilard>                    n
    Szilard> l.198   }

    Szilard> -------------------------------------

    Szilard> Here is the whole code, if you uncomment the 14th and 16th
    Szilard> lines, the error
    Szilard> will appear:

    Szilard> ...
 
    Szilard> \psframebox[fillstyle=solid,fillcolor=lightgray,framesep=.75]{%
    Szilard>     \rule{1cm}{0pt}
    Szilard>     \begin{psmatrix}[ref=c]
    Szilard>       [name=A]\Show{Goal} & [name=B]\Show{Criteria}\\
    Szilard>       %[name=C]
    Szilard>       \Show{Sub-goal} &
    Szilard>       %[name=D]
    Szilard>       \Show{Justification}
    Szilard>       ...

  Feature, not a bug... This question is not specific to PSTricks and this is
the standard LaTeX behaviour. I clearly agree that is disturbing and that is
must be a common pitfall...

  I explained it rather long time ago in
CTAN/graphics/pstricks/doc/pstricks.bug

% 1. Inside the psmatrix environment, we can't use a parameter for the first
%    column definition if it's not the first row.
%    Reported by <Denis.Girou at idris.fr> in 1995.
%
%    It's a parsing problem, as the parser wait something like [3mm] after the
%    \\ and not something like [name=B].
%
%    In fact, this is the "standard" way in which LaTeX work, and this is
%    the same for the "tabular" environment, for instance.
%
%    Test file:
%
%    \documentclass{article}
%
%    \usepackage{pstricks}
%
%    \begin{document}
%    \begin{psmatrix}
%      [name=A] A \\
%      [name=B] B
%    \end{psmatrix}
%    \end{document}
%
%    Workaround: add [0pt] after the \\ in these cases:
%
%      [name=A] A \\[0pt]
%      [name=B] B


  P.S. My apologizes to everybody for the spamming message I authorize to be
sent on the list few minutes later. This is my error. I must check all waiting
messages sent by non subscribers -or registered people who use another address
than the one they used for subscription...-, decide what to do with them and
make an action for each of them (rather painful!) On this last case, I make a
confusion between two pending messages and authorize the wrong one... Sorry!

D.G.



More information about the PSTricks mailing list