diff options
author | Karl Berry <karl@freefriends.org> | 2009-09-17 23:35:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-09-17 23:35:53 +0000 |
commit | 6a05fdfc8d72fa5ce0ab6b1a63e2ce09f9a7f6a6 (patch) | |
tree | f23186156d13f47f53c67f2c64500d9f5060fbf0 /Master/texmf-dist/tex/generic | |
parent | bde8571a27fc85283eec8adc43a126bb2bf927fa (diff) |
pst-tree update (17sep09)
git-svn-id: svn://tug.org/texlive/trunk@15349 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-tree/pst-tree.tex | 917 |
1 files changed, 480 insertions, 437 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-tree/pst-tree.tex b/Master/texmf-dist/tex/generic/pst-tree/pst-tree.tex index 140d18cbc6d..88ab3c11641 100644 --- a/Master/texmf-dist/tex/generic/pst-tree/pst-tree.tex +++ b/Master/texmf-dist/tex/generic/pst-tree/pst-tree.tex @@ -1,7 +1,7 @@ -%% pst-tree.tex +%% $Id: pst-tree.tex 133 2009-09-17 05:53:56Z herbert $ %% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu. %% COPYRIGHT 2000-2003 by Denis Girou. -%% Copyright 2004-2009 Herbert Voss +%% Copyright 2004-2010 Herbert Voss % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -24,25 +24,24 @@ \ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi\relax \ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi % -\def\fileversion{1.10} -\def\filedate{2008/12/12} -\message{ v\fileversion, \filedate} +\def\fileversion{1.11} +\def\filedate{2009/09/17} +\message{ v\fileversion, \filedate (tvz,dg,hv)} % \edef\TheAtCode{\the\catcode`\@} \catcode`\@=11 % \pst@addfams{pst-tree} -\NormalCoor \newbox\pstree@rootbox \newbox\pstree@box \def\pstree@succrow{% -\ifpstreeflip - \def\pssubtree@vertical{\pssubtree@vertical@vflip}% -\else - \def\pssubtree@vertical{\pssubtree@vertical@v}% -\fi + \ifpstreeflip\def\pssubtree@vertical{\pssubtree@vertical@vflip}% + \else\def\pssubtree@vertical{\pssubtree@vertical@v}\fi +% \def\pstree@node{\pstree@node@v}% +% \def\pssubtree@horizontal{\pssubtree@horizontal@v}}% +% \def\pssubtree@vertical@v{% \vrule height \pst@dimc depth \pst@dimd width \z@ \ifnum\psnodecnt=\z@ @@ -59,8 +58,8 @@ \pstree@theleftprofile\pstree@theleftprofile \fi \box\pstree@box - \global\advance\psnodecnt 1\relax% -}% + \global\advance\psnodecnt 1\relax}% +% \def\pssubtree@vertical@vflip{% \vrule height \pst@dimc depth \pst@dimd width \z@ \ifnum\psnodecnt=\z@ @@ -77,12 +76,12 @@ \pstree@therightprofile\pstree@therightprofile \fi \box\pstree@box - \global\advance\psnodecnt 1\relax% -}% + \global\advance\psnodecnt 1\relax}% +% \def\pstree@node@v{% \edef\pstree@leftprofile{\psk@thistreenodesize\pst@dima,\pstree@stop,}% \edef\pstree@rightprofile{\psk@thistreenodesize\pst@dimb,\pstree@stop,}% - \pssubtree@vertical}% + \pssubtree@vertical} % \def\pssubtree@horizontal@v{% \pstree@max\pstree@upprofile\pst@cntg @@ -96,26 +95,25 @@ % \def\pstree@tightfit#1#2{% \pst@cnth=\z@ - \edef\treenext{\noexpand\pstree@@tightfit#1\noexpand\@nil#2\noexpand\@nil}% - \treenext + \edef\next{\noexpand\pstree@@tightfit#1\noexpand\@nil#2\noexpand\@nil}% + \next \advance\pst@cnth\psk@thistreesep\relax \advance\pst@cnth\pstree@tspace\relax \gdef\pstree@tspace{\z@}} % \def\pstree@@tightfit#1,#2\@nil#3,#4\@nil{% \ifnum#1=\pstree@stop - \let\treenext\relax + \let\next\relax \else - \ifnum#3=\pstree@stop - \let\treenext\relax + \ifnum#3=\pstree@stop\let\next\relax \else \pst@cntg=#1 \advance\pst@cntg#3 - \ifnum\pst@cntg>\pst@cnth \pst@cnth=\pst@cntg\fi - \def\treenext{\pstree@@tightfit#2\@nil#4\@nil}% + \ifnum\pst@cntg>\pst@cnth\pst@cnth=\pst@cntg\fi + \def\next{\pstree@@tightfit#2\@nil#4\@nil}% \fi \fi - \treenext} + \next} % \def\pstree@loosefit#1#2{% \pstree@max{#1}\pst@cnth @@ -145,35 +143,34 @@ % \def\pstree@zip#1#2#3{% \def\pst@tempg{}% - \edef\treenext{\noexpand\pstree@@zip#1\noexpand\@nil#2\noexpand\@nil}% - \treenext + \edef\next{\noexpand\pstree@@zip#1\noexpand\@nil#2\noexpand\@nil}% + \next \global\let#3\pst@tempg} % \def\pstree@@zip#1,#2\@nil#3,#4\@nil{% \ifnum#1=\pstree@stop \edef\pst@tempg{\pst@tempg#3,#4}% - \let\treenext\relax + \let\next\relax \else \ifnum#3=\pstree@stop \pst@cntg=#1 \advance\pst@cntg-\pst@cnth \edef\pst@tempg{\pst@tempg\the\pst@cntg,}% - \def\treenext{\pstree@@zip#2\@nil\pstree@stop,\@nil}% + \def\next{\pstree@@zip#2\@nil\pstree@stop,\@nil}% \else \edef\pst@tempg{\pst@tempg#3,}% - \def\treenext{\pstree@@zip#2\@nil#4\@nil}% + \def\next{\pstree@@zip#2\@nil#4\@nil}% \fi \fi - \treenext} + \next} % \def\pstree@max#1#2{% \pst@cntg=\z@ - \expandafter\pstree@@max#1% - #2=\pst@cntg}% + \expandafter\pstree@@max#1#2=\pst@cntg}% % \def\pstree@@max#1,{% - \ifnum#1=\pstree@stop \else - \ifnum#1>\pst@cntg \pst@cntg=#1\fi + \ifnum#1=\pstree@stop\else + \ifnum#1>\pst@cntg \pst@cntg=#1 \fi \expandafter\pstree@@max \fi} % @@ -183,7 +180,7 @@ \xdef#1{\pst@tempg\pstree@stop,}} % \def\pstree@@add#1,{% - \ifnum#1=\pstree@stop \else + \ifnum#1=\pstree@stop\else \pst@cnth=#1 \advance\pst@cnth\pst@cntg \xdef\pst@tempg{\pst@tempg\the\pst@cnth,}% @@ -210,7 +207,66 @@ \def\pstree@ii{% \ifnum\pstreelevel=\z@ \let\pstree@savedshortput\pst@shortput - \psset@shortput{tab}% + \psset{shortput=tab}% + \else + \pst@@killglue + \fi + \begingroup + \begingroup + \def\pstree@node{% + \xdef\pstree@next{% + \noexpand\@psttrue + \noexpand\def\noexpand\pst@tempa{\number\pst@dima}% + \noexpand\def\noexpand\pst@tempb{\number\pst@dimb}% + \noexpand\def\noexpand\pst@tempc{\number\pst@dimc}% + \noexpand\def\noexpand\pst@tempd{\number\pst@dimd}}% + \box\pstree@box}% + \def\pssubtree@horizontal{\pssubtree@horizontal@o}% + \def\pssubtree@vertical{\pssubtree@vertical@o}% + \global\let\pstree@next\relax + \pst@makebox\pstree@iii} +% +\def\pstree@iii{% + \global\setbox\pst@boxg=\box\pst@hbox + \endgroup + \setbox\pstree@rootbox=\box\pst@boxg + \@pstfalse + \pstree@next + \if@pst + \ifdim\wd\pstree@rootbox=\z@\else + \@pstrickserr{Extraneous space in root node}\@ehpa + \typeout{===>\the\wd\pst@hbox (rootbox)} + \wd\pstree@rootbox=\z@ + \fi + \else + \@pstrickserr{Missing or bad root node + (level \the\pstreelevel, node \the\psnodecnt)}\@ehpa + \def\pstree@next{% + \def\pst@tempa{0}% + \def\pst@tempb{0}% + \def\pst@tempc{0}% + \def\pst@tempd{0}}% + \wd\pstree@rootbox=\z@ + \fi + \pstree@savevalues + \begingroup + \pstree@initsuccvalues + \pstree@setlevelpar + \pstree@do} +% +\def\pstree{\def\pst@par{}\pst@object{pstree}} +\def\pstree@i{\def\pstree@makebox{\pst@@makebox}\pstree@ii} +% +\def\psTree{\def\pst@par{}\pst@object{psTree}} +\def\psTree@i{\def\pstree@makebox{\pst@makelongbox}\pstree@ii} +% hv --begin 1.00 2007-01-03 make it LaTeX-compatible +%\def\endpsTree{\pst@endlongbox\ignorespaces} +\def\endpsTree{\pst@endlongbox\csname ignorespacesafterend\endcsname} +% hv --end +\def\pstree@ii{% + \ifnum\pstreelevel=\z@ + \let\pstree@savedshortput\pst@shortput + \psset{shortput=tab}% \else \pst@@killglue \fi @@ -256,6 +312,7 @@ \pstree@initsuccvalues \pstree@setlevelpar \pstree@do} + % \def\pstree@setlevelpar{% \advance\pstreelevel1 @@ -265,18 +322,11 @@ \let\psk@thistreenodesize\relax \csname pstreehook\romannumeral\pstreelevel\endcsname \use@par - \ifx\psk@thistreesep\relax - \let\psk@thistreesep\psk@treesep - \fi - \ifx\psk@thistreenodesize\relax - \let\psk@thistreenodesize\psk@treenodesize - \fi - \ifx\psk@thistreefit\relax - \let\psk@thistreefit\psk@treefit - \fi - \ifx\psk@thislevelsep\relax - \let\psk@thislevelsep\psk@levelsep - \let\psk@thislevelsepmode\psk@levelsepmode + \ifx\psk@thistreesep\relax \let\psk@thistreesep\psk@treesep\fi + \ifx\psk@thistreenodesize\relax \let\psk@thistreenodesize\psk@treenodesize\fi + \ifx\psk@thistreefit\relax \let\psk@thistreefit\psk@treefit\fi + \ifx\psk@thislevelsep\relax \let\psk@thislevelsep\psk@levelsep + \let\psk@thislevelsepmode\psk@levelsepmode \fi \ifnum\psk@treemode=\pstree@predmode\else \global\advance\pstreecnt1 @@ -289,11 +339,7 @@ \advance\pst@dimg\pst@cntg sp \edef\psk@thislevelsep{\number\pst@dimg sp}% \fi - \ifnum\psk@treemode>1 - \def\pst@tposflip{1 sub neg }% - \else - \def\pst@tposflip{}% - \fi + \ifnum\psk@treemode>1 \def\pst@tposflip{1 sub neg }\else\def\pst@tposflip{}\fi \ifx\pstree@bboxadjust\@empty\else \xdef\pstree@treebboxadjust{% \pstree@bboxadjust @@ -305,164 +351,157 @@ \def\pstree@predmode{-1} \def\pstree@savevalues{% \edef\pstree@restorevalues{% - \noexpand\gdef\noexpand\pstree@theleftprofile{\pstree@theleftprofile}% - \noexpand\gdef\noexpand\pstree@therightprofile{\pstree@therightprofile}% - \noexpand\gdef\noexpand\pstree@theupprofile{\pstree@theupprofile}% - \noexpand\gdef\noexpand\pstree@thedownprofile{\pstree@thedownprofile}% - \noexpand\gdef\noexpand\pstree@tspace{\pstree@tspace}% - \noexpand\gdef\noexpand\pssucc{\pssucc}% - \global\psnodecnt=\the\psnodecnt\relax - \global\pstree@cnt=\the\pstree@cnt\relax}% + \noexpand\gdef\noexpand\pstree@theleftprofile{\pstree@theleftprofile}% + \noexpand\gdef\noexpand\pstree@therightprofile{\pstree@therightprofile}% + \noexpand\gdef\noexpand\pstree@theupprofile{\pstree@theupprofile}% + \noexpand\gdef\noexpand\pstree@thedownprofile{\pstree@thedownprofile}% + \noexpand\gdef\noexpand\pstree@tspace{\pstree@tspace}% + \noexpand\gdef\noexpand\pssucc{\pssucc}% + \global\psnodecnt=\the\psnodecnt\relax + \global\pstree@cnt=\the\pstree@cnt\relax}% \let\pstree@savebboxadjust\pstree@treebboxadjust} -% -\def\pstree@initsuccvalues{% - \def\pstree@therightprofile{\pstree@stop,}% - \let\pstree@theleftprofile\pstree@therightprofile - \let\pstree@theupprofile\pstree@therightprofile - \let\pstree@thedownprofile\pstree@therightprofile - \psnodecnt=\z@ - \pstree@cnt\z@ - \gdef\pstree@tspace{\z@}% - \let\pspred\pssucc} -% -\def\pssucc{T} -\pstree@initsuccvalues -\def\pstree@down{% - \pstree@succrow - \pstree@makebox{\pstree@vertical{\lower}}} -\def\pstree@up{% - \pstree@succrow - \pstree@makebox{\pstree@vertical{\raise}}} -\def\pstree@levelsepadjust#1#2{% + \def\pstree@initsuccvalues{% + \def\pstree@therightprofile{\pstree@stop,}% + \let\pstree@theleftprofile\pstree@therightprofile + \let\pstree@theupprofile\pstree@therightprofile + \let\pstree@thedownprofile\pstree@therightprofile + \psnodecnt=\z@ + \pstree@cnt\z@ + \gdef\pstree@tspace{\z@}% + \let\pspred\pssucc} + \def\pssucc{T} + \pstree@initsuccvalues + \def\pstree@down{% + \pstree@succrow + \pstree@makebox{\pstree@vertical{\lower}}} + \def\pstree@up{% + \pstree@succrow + \pstree@makebox{\pstree@vertical{\raise}}} + \def\pstree@levelsepadjust#1#2{% % DG/SR modification begin - May 14, 1997 - Patch 1 % Problem with levelsep=*... %\pst@cntg=0\@nameuse{pstree@levelsepadjust-#1}% -\pst@cntg=0\@nameuse{pstree@levelsepadjust-#1} + \pst@cntg=0\@nameuse{pstree@levelsepadjust-#1} % DG/SR modification end -\ifnum#2>\pst@cntg -\expandafter\xdef\csname pstree@levelsepadjust-#1\endcsname -{#2}% -\fi} + \ifnum#2>\pst@cntg + \expandafter\xdef\csname pstree@levelsepadjust-#1\endcsname{#2}% + \fi} % DG/SR modification begin - October 28, 1999 - Patch 5 - For plain TeX -\ifx\@undefined\@auxout\newwrite\@auxout\fi + \ifx\@undefined\@auxout\newwrite\@auxout\fi % DG/SR modification end -\def\pstree@initlevelsepadjust{% -\@ifundefined{@latexerr}{% -\immediate\openin1 \jobname.pst -\ifeof1 \else -\input \jobname.pst -\fi -\immediate\closein1 -\csname newwrite\endcsname\pstree@auxout -\immediate\openout\pstree@auxout \jobname.pst }% -{\let\pstree@auxout\@auxout}% -\global\let\pstree@initlevelsepadjust\relax} -\newcount\pstree@stop -\pstree@stop=-987654321 -\def\pstree@vertical#1{% -\pst@cntg=\ifpstreeflip-\fi\wd\pst@hbox -\divide\pst@cntg 2 -\pstree@add\pstree@theleftprofile -\pstree@add\pstree@therightprofile -\pst@dimg=\psk@thislevelsep\relax -\ifx\psk@thislevelsepmode\relax -\pstree@vertlevelsepadjust{#1}% -\fi -\global\setbox\pstree@box=\hbox{% -\vrule height \pst@tempc sp depth \pst@tempd sp width \z@ -\unhbox\pstree@rootbox -#1\pst@dimg\hbox to\z@{\hss\unhbox\pst@hbox\hss}}% -\if@skiplevel -\skiplevel@vertical -\else -\endgroup -\fi -\edef\pstree@leftprofile{\pst@tempa,\pstree@theleftprofile}% -\edef\pstree@rightprofile{\pst@tempb,\pstree@therightprofile}% -\pst@dimc=\ht\pstree@box -\pst@dimd=\dp\pstree@box -\ifpsshowbbox -\pstree@max\pstree@leftprofile\pst@cntg -\pst@dima=\pst@cntg sp -\pstree@max\pstree@rightprofile\pst@cntg -\pst@dimb=\pst@cntg sp -\pstree@showbbox -\fi -\dp\pstree@box=\z@ -\ht\pstree@box=\z@ -\pstree@restorevalues -\pssubtree@vertical -\global\let\pstree@treebboxadjust\pstree@savebboxadjust -\endgroup -\ifnum\pstreelevel>\z@\expandafter\ignorespaces\fi} + \def\pstree@initlevelsepadjust{% + \@ifundefined{@latexerr}{% + \immediate\openin1 \jobname.pst + \ifeof1 \else\input \jobname.pst\fi + \immediate\closein1 + \csname newwrite\endcsname\pstree@auxout + \immediate\openout\pstree@auxout \jobname.pst }{\let\pstree@auxout\@auxout}% + \global\let\pstree@initlevelsepadjust\relax} + \newcount\pstree@stop + \pstree@stop=-987654321 + \def\pstree@vertical#1{% + \pst@cntg=\ifpstreeflip-\fi\wd\pst@hbox + \divide\pst@cntg 2 + \pstree@add\pstree@theleftprofile + \pstree@add\pstree@therightprofile + \pst@dimg=\psk@thislevelsep\relax + \ifx\psk@thislevelsepmode\relax \pstree@vertlevelsepadjust{#1}\fi + \global\setbox\pstree@box=\hbox{% + \vrule height \pst@tempc sp depth \pst@tempd sp width \z@ + \unhbox\pstree@rootbox + #1\pst@dimg\hbox to\z@{\hss\unhbox\pst@hbox\hss}}% + \if@skiplevel\skiplevel@vertical\else\endgroup\fi + \edef\pstree@leftprofile{\pst@tempa,\pstree@theleftprofile}% + \edef\pstree@rightprofile{\pst@tempb,\pstree@therightprofile}% + \pst@dimc=\ht\pstree@box + \pst@dimd=\dp\pstree@box + \ifpsshowbbox + \pstree@max\pstree@leftprofile\pst@cntg + \pst@dima=\pst@cntg sp + \pstree@max\pstree@rightprofile\pst@cntg + \pst@dimb=\pst@cntg sp + \pstree@showbbox + \fi + \dp\pstree@box=\z@ + \ht\pstree@box=\z@ + \pstree@restorevalues + \pssubtree@vertical + \global\let\pstree@treebboxadjust\pstree@savebboxadjust + \endgroup + \ifnum\pstreelevel>\z@\expandafter\ignorespaces\fi} +% \def\pstree@vertlevelsepadjust#1{% -\ifx\if@filesw\iffalse\else -\ifx#1\lower -\pst@dimh=\pst@tempd sp -\advance\pst@dimh\ht\pst@hbox -\else -\pst@dimh=\pst@tempc sp -\advance\pst@dimh\dp\pst@hbox -\fi -\immediate\write\@auxout{% -\string\pstree@levelsepadjust -{\pstree@thetree-\the\pstreelevel}{\number\pst@dimh}}% -\fi} + \ifx\if@filesw\iffalse\else + \ifx#1\lower + \pst@dimh=\pst@tempd sp + \advance\pst@dimh\ht\pst@hbox + \else + \pst@dimh=\pst@tempc sp + \advance\pst@dimh\dp\pst@hbox + \fi + \immediate\write\@auxout{% + \string\pstree@levelsepadjust{\pstree@thetree-\the\pstreelevel}{\number\pst@dimh}}% + \fi} +% \def\pstree@succcolumn{% -\def\pssubtree@vertical{\pssubtree@vertical@h}% -\def\pssubtree@horizontal{\pssubtree@horizontal@h}% -\def\pstree@node{\pstree@node@h}}% -\def\pssubtree@horizontal@h{% -\xdef\pstree@theleftprofile{\number\pst@dima,\pstree@theleftprofile}% -\xdef\pstree@therightprofile{\number\pst@dimb,\pstree@therightprofile}% -\ifnum\psnodecnt=\z@ -\global\let\pstree@theupprofile\pstree@upprofile -\global\let\pstree@thedownprofile\pstree@downprofile -\box\pstree@box -\else -\ifpstreeflip -\pssubtree@horizontal@@hflip -\else -\pssubtree@horizontal@@h -\fi -\fi -\global\advance\psnodecnt 1\relax} + \def\pssubtree@vertical{\pssubtree@vertical@h}% + \def\pssubtree@horizontal{\pssubtree@horizontal@h}% + \def\pstree@node{\pstree@node@h}}% +% + \def\pssubtree@horizontal@h{% + \xdef\pstree@theleftprofile{\number\pst@dima,\pstree@theleftprofile}% + \xdef\pstree@therightprofile{\number\pst@dimb,\pstree@therightprofile}% + \ifnum\psnodecnt=\z@ + \global\let\pstree@theupprofile\pstree@upprofile + \global\let\pstree@thedownprofile\pstree@downprofile + \box\pstree@box + \else + \ifpstreeflip\pssubtree@horizontal@@hflip\else\pssubtree@horizontal@@h\fi + \fi + \global\advance\psnodecnt 1\relax} +% \def\pssubtree@horizontal@@h{% -\psk@thistreefit\pstree@thedownprofile\pstree@upprofile -\global\advance\pstree@cnt\pst@cnth -\lower\the\pstree@cnt sp\box\pstree@box -\pstree@zip\pstree@thedownprofile\pstree@downprofile\pstree@thedownprofile -\pst@cnth=\pstree@cnt -\pstree@zip\pstree@upprofile\pstree@theupprofile\pstree@theupprofile} + \psk@thistreefit\pstree@thedownprofile\pstree@upprofile + \global\advance\pstree@cnt\pst@cnth + \lower\the\pstree@cnt sp\box\pstree@box + \pstree@zip\pstree@thedownprofile\pstree@downprofile\pstree@thedownprofile + \pst@cnth=\pstree@cnt + \pstree@zip\pstree@upprofile\pstree@theupprofile\pstree@theupprofile} +% \def\pssubtree@horizontal@@hflip{% -\psk@thistreefit\pstree@theupprofile\pstree@downprofile -\global\advance\pstree@cnt\pst@cnth -\raise\the\pstree@cnt sp\box\pstree@box -\pstree@zip\pstree@theupprofile\pstree@upprofile\pstree@theupprofile -\pst@cnth=\pstree@cnt -\pstree@zip\pstree@downprofile\pstree@thedownprofile\pstree@thedownprofile} + \psk@thistreefit\pstree@theupprofile\pstree@downprofile + \global\advance\pstree@cnt\pst@cnth + \raise\the\pstree@cnt sp\box\pstree@box + \pstree@zip\pstree@theupprofile\pstree@upprofile\pstree@theupprofile + \pst@cnth=\pstree@cnt + \pstree@zip\pstree@downprofile\pstree@thedownprofile\pstree@thedownprofile} +% \def\pstree@node@h{% -\edef\pstree@upprofile{\psk@thistreenodesize\pst@dimc,\pstree@stop,}% -\edef\pstree@downprofile{\psk@thistreenodesize\pst@dimd,\pstree@stop,}% -\pssubtree@horizontal@h}% + \edef\pstree@upprofile{\psk@thistreenodesize\pst@dimc,\pstree@stop,}% + \edef\pstree@downprofile{\psk@thistreenodesize\pst@dimd,\pstree@stop,}% + \pssubtree@horizontal@h}% +% \def\pssubtree@vertical@h{% -\pstree@max\pstree@leftprofile\pst@cntg -\pst@dima=\pst@cntg sp -\pstree@max\pstree@rightprofile\pst@cntg -\pst@dimb=\pst@cntg sp -\pstree@treebboxadjust -\edef\pstree@upprofile{\number\pst@dimc,\pstree@stop,}% -\edef\pstree@downprofile{\number\pst@dimd,\pstree@stop,}% -\pssubtree@horizontal@h}% + \pstree@max\pstree@leftprofile\pst@cntg + \pst@dima=\pst@cntg sp + \pstree@max\pstree@rightprofile\pst@cntg + \pst@dimb=\pst@cntg sp + \pstree@treebboxadjust + \edef\pstree@upprofile{\number\pst@dimc,\pstree@stop,}% + \edef\pstree@downprofile{\number\pst@dimd,\pstree@stop,}% + \pssubtree@horizontal@h}% +% \newif\if@psrighttree \def\pstree@right{% -\@psrighttreetrue -\pstree@succcolumn -\pstree@makebox\pstree@horizontal} + \@psrighttreetrue + \pstree@succcolumn + \pstree@makebox\pstree@horizontal} +% \def\pstree@left{% -\@psrighttreefalse -\pstree@succcolumn -\pstree@makebox\pstree@horizontal} + \@psrighttreefalse + \pstree@succcolumn + \pstree@makebox\pstree@horizontal} +% \def\pstree@horizontal{% \ifdim\wd\pst@hbox=\z@\else \@pstrickserr{Extraneous space in tree successors}\@ehpa @@ -507,33 +546,33 @@ \wd\pstree@box=\z@ \ifpsshowbbox \pstree@max\pstree@upprofile\pst@cntg -\pst@dimc=\pst@cntg sp -\pstree@max\pstree@downprofile\pst@cntg -\pst@dimd=\pst@cntg sp -\pstree@showbbox -\fi -\pstree@restorevalues -\pssubtree@horizontal -\endgroup -\ifnum\pstreelevel>\z@\expandafter\ignorespaces\fi} + \pst@dimc=\pst@cntg sp + \pstree@max\pstree@downprofile\pst@cntg + \pst@dimd=\pst@cntg sp + \pstree@showbbox + \fi + \pstree@restorevalues + \pssubtree@horizontal + \endgroup + \ifnum\pstreelevel>\z@\expandafter\ignorespaces\fi} +% % DG/SR modification begin - Sep. 24, 1997 - Patch 2 %\def\pstree@horizlevelsepadjust#1{% \def\pstree@horizlevelsepadjust{% % DG/SR modification end -\ifx\if@filesw\iffalse\else -\if@psrighttree -\pst@dimh=\pst@tempb sp -\pstree@max\pstree@theleftprofile\pst@cntg -\advance\pst@dimh\pst@cntg sp -\else -\pst@dimh=\pst@tempa sp -\pstree@max\pstree@therightprofile\pst@cntg -\advance\pst@dimh\pst@cntg sp -\fi -\immediate\write\@auxout{% -\string\pstree@levelsepadjust -{\pstree@thetree-\the\pstreelevel}{\number\pst@dimh}}% -\fi} + \ifx\if@filesw\iffalse\else + \if@psrighttree + \pst@dimh=\pst@tempb sp + \pstree@max\pstree@theleftprofile\pst@cntg + \advance\pst@dimh\pst@cntg sp + \else + \pst@dimh=\pst@tempa sp + \pstree@max\pstree@therightprofile\pst@cntg + \advance\pst@dimh\pst@cntg sp + \fi + \immediate\write\@auxout{% + \string\pstree@levelsepadjust{\pstree@thetree-\the\pstreelevel}{\number\pst@dimh}}% + \fi} % \define@key[psset]{pst-tree}{treemode}[0]{% \pst@cntg=\ifx#1U\@empty2\else\ifx#1R\@empty1\else\ifx#1L\@empty3\else0\fi\fi\fi @@ -602,35 +641,39 @@ \psset[pst-tree]{treeflip=false} % \def\pstree@node@o{% -\leavevmode -\hbox{% -\vrule height \pst@dimc depth \pst@dimd width \z@ -\kern\pst@dima -\box\pstree@box -\kern\pst@dimb}} + \leavevmode + \hbox{% + \vrule height \pst@dimc depth \pst@dimd width \z@ + \kern\pst@dima + \box\pstree@box + \kern\pst@dimb}} +% \def\pssubtree@vertical@o{% -\pstree@max\pstree@leftprofile\pst@cntg -\pst@dima=\pst@cntg sp -\pstree@max\pstree@rightprofile\pst@cntg -\pst@dimb=\pst@cntg sp -\pstree@treebboxadjust -\pstree@node} + \pstree@max\pstree@leftprofile\pst@cntg + \pst@dima=\pst@cntg sp + \pstree@max\pstree@rightprofile\pst@cntg + \pst@dimb=\pst@cntg sp + \pstree@treebboxadjust + \pstree@node} +% \def\pssubtree@horizontal@o{% -\pstree@max\pstree@upprofile\pst@cntg -\pst@dimc=\pst@cntg sp -\pstree@max\pstree@downprofile\pst@cntg -\pst@dimd=\pst@cntg sp -\pstree@treebboxadjust -\pstree@node} + \pstree@max\pstree@upprofile\pst@cntg + \pst@dimc=\pst@cntg sp + \pstree@max\pstree@downprofile\pst@cntg + \pst@dimd=\pst@cntg sp + \pstree@treebboxadjust + \pstree@node} +% \def\pstree@outer{% -\def\pstree@node{\pstree@node@o}% -\def\pssubtree@vertical{\pssubtree@vertical@o}% -\def\pssubtree@horizontal{\pssubtree@horizontal@o}% -\pstreelevel=\z@ -\def\pstree@predmode{-1}% -\def\pst@tposflip{}% -\let\pst@thisbox\relax -\let\pst@shortput\pstree@savedshortput} + \def\pstree@node{\pstree@node@o}% + \def\pssubtree@vertical{\pssubtree@vertical@o}% + \def\pssubtree@horizontal{\pssubtree@horizontal@o}% + \pstreelevel=\z@ + \def\pstree@predmode{-1}% + \def\pst@tposflip{}% + \let\pst@thisbox\relax + \let\pst@shortput\pstree@savedshortput} +% \let\pstree@savedshortput\ignorespaces \pstree@outer % @@ -638,10 +681,10 @@ \psset[pst-tree]{showbbox=false} % \def\pstree@showbbox{% -\setbox\pstree@box=\hbox{% -\psframe[linewidth=0,linecolor=black,linestyle=solid,fillstyle=none]% -(-\pst@dima,-\pst@dimd)(\pst@dimb,\pst@dimc)% -\box\pstree@box}}% + \setbox\pstree@box=\hbox{% + \psframe[linewidth=0,linecolor=black,linestyle=solid,fillstyle=none]% + (-\pst@dima,-\pst@dimd)(\pst@dimb,\pst@dimc)% + \box\pstree@box}}% % \define@key[psset]{pst-tree}{edge}[\ncline]{% \def\psedge{#1}% @@ -650,36 +693,38 @@ % \def\pspred{T} \def\pstree@makenodebox{% -\pst@@killglue -\let\pst@thispsbox\pstree@outer -\pst@makebox} + \pst@@killglue + \let\pst@thispsbox\pstree@outer + \pst@makebox} +% \def\begin@treenode{% -\pst@@killglue -\begingroup -\use@par -\global\let\pstree@edge\psedge -\xdef\pssucc{\pspred-\the\psnodecnt}} -\def\MakeShortTnput#1{% -\def\end@treenode{\@ifnextchar#1{\tnput@}{\end@@treenode}}} + \pst@@killglue + \begingroup + \use@par + \global\let\pstree@edge\psedge + \xdef\pssucc{\pspred-\the\psnodecnt}} +% +\def\MakeShortTnput#1{\def\end@treenode{\@ifnextchar#1{\tnput@}{\end@@treenode}}} \MakeShortTnput{~} +% \def\end@@treenode{% -\pstree@bboxadjust -\gdef\pstree@bboxadjust{}% -\ifpsshowbbox\pstree@showbbox\fi -\pstree@node -\endgroup -\ifnum\pstreelevel>\z@ -\pstree@edge{\pspred}{\pssucc}% -\expandafter\pst@shortput -\else -\expandafter\ignorespaces -\fi} + \pstree@bboxadjust + \gdef\pstree@bboxadjust{}% + \ifpsshowbbox\pstree@showbbox\fi + \pstree@node + \endgroup + \ifnum\pstreelevel>\z@ + \pstree@edge{\pspred}{\pssucc}% + \expandafter\pst@shortput + \else + \expandafter\ignorespaces + \fi} +% \def\pstree@bboxadjust{} \def\pstree@setbboxadjust#1#2{% -\pssetlength\pst@dimg{#1}% -\xdef\pstree@bboxadjust{% -\pstree@bboxadjust -#2\number\pst@dimg sp\relax}} + \pssetlength\pst@dimg{#1}% + \xdef\pstree@bboxadjust{% + \pstree@bboxadjust#2\number\pst@dimg sp\relax}} % \define@key[psset]{pst-tree}{bbl}{\pstree@setbboxadjust{#1}{\pst@dima=}} \define@key[psset]{pst-tree}{bbr}{\pstree@setbboxadjust{#1}{\pst@dimb=}} @@ -693,39 +738,43 @@ \let\pstree@treebboxadjust\relax \def\Tn{\def\pst@par{}\pst@object{Tn}} \def\Tn@i{% -\pst@@killglue -\global\let\pssucc\pspred -\begingroup -\pst@dima=\z@ -\pst@dimb=\z@ -\pst@dimc=\z@ -\pst@dimd=\z@ -\setbox\pstree@box=\hbox{}%% -\pstree@node -\endgroup -\ignorespaces} + \pst@@killglue + \global\let\pssucc\pspred + \begingroup + \pst@dima=\z@ + \pst@dimb=\z@ + \pst@dimc=\z@ + \pst@dimd=\z@ + \setbox\pstree@box=\hbox{}%% + \pstree@node + \endgroup + \ignorespaces} +% \def\Tp{\def\pst@par{}\pst@object{Tp}} \def\Tp@i{% -\begin@treenode -\pst@dima=\z@ -\pst@dimb=\z@ -\pst@dimc=\z@ -\pst@dimd=\z@ -\setbox\pstree@box=\hbox{% -\pst@newnode{\pssucc}{10}{0 0 }{\tx@InitPnode}}% -\end@treenode} + \begin@treenode + \pst@dima=\z@ + \pst@dimb=\z@ + \pst@dimc=\z@ + \pst@dimd=\z@ + \setbox\pstree@box=\hbox{% + \pst@newnode{\pssucc}{10}{0 0 }{\tx@InitPnode}}% + \end@treenode} +% \def\Tc{\def\pst@par{}\pst@object{Tc}} \def\Tc@i#1{% -\begin@treenode -\pssetlength\pst@dima{#1}% -\pst@dimb=\pst@dima -\pst@dimc=\pst@dima -\pst@dimd=\pst@dima -\nodealignfalse -\setbox\pstree@box=\hbox{\cnode@ii(\z@,\z@){#1}{\pssucc}}% -\end@treenode} + \begin@treenode + \pssetlength\pst@dima{#1}% + \pst@dimb=\pst@dima + \pst@dimc=\pst@dima + \pst@dimd=\pst@dima + \nodealignfalse + \setbox\pstree@box=\hbox{\cnode@ii(\z@,\z@){#1}{\pssucc}}% + \end@treenode} +% \def\TC{\def\pst@par{}\pst@object{TC}} \def\TC@i{\Tc@i{\psk@radius}} +% \def\Toval{\def\pst@par{}\pst@object{Toval}} \def\Toval@i{\pstree@makenodebox{\Toval@ii\ovalnode@ii}} \def\Toval@ii#1{% @@ -752,8 +801,10 @@ % \def\Tf{\def\pst@par{}\pst@object{Tf}} \def\Tf@i{\Toval@ii{\fnode@ii()}} +% \def\Tdia{\def\pst@par{}\pst@object{Tdia}} \def\Tdia@i{\pstree@makenodebox{\Toval@ii\dianode@ii}} +% \def\Ttri{\def\pst@par{}\pst@object{Ttri}} \def\Ttri@i{\pstree@makenodebox{\Ttri@ii}} \def\Ttri@ii{% @@ -778,7 +829,7 @@ \def\Tr@ii#1{% \begin@treenode \def\pstree@nodehook{% - \xdef\pstree@next{\pst@dima=\number\pst@dima sp\relax}}% + \xdef\pstree@next{\pst@dima=\number\pst@dima sp\relax}}% \nodealigntrue \setbox\pstree@box\hbox{#1\pssucc}% \pstree@next @@ -798,55 +849,55 @@ % DG modification end \def\Tdot{\def\pst@par{}\pst@object{Tdot}} \def\Tdot@i{% -\begin@treenode -\def\pstree@nodehook{\xdef\pstree@next{% -\pst@dima=\number\pst@dima sp\relax -\pst@dimc=\number\pst@dimb sp\relax}}% -\nodealignfalse -\setbox\pstree@box=\hbox{\dotnode@ii(\z@,\z@)\pssucc}% -\pstree@next -\pst@dimb=\pst@dima -\pst@dimd=\pst@dimc -\end@treenode} + \begin@treenode + \def\pstree@nodehook{\xdef\pstree@next{% + \pst@dima=\number\pst@dima sp\relax + \pst@dimc=\number\pst@dimb sp\relax}}% + \nodealignfalse + \setbox\pstree@box=\hbox{\dotnode@ii(\z@,\z@)\pssucc}% + \pstree@next + \pst@dimb=\pst@dima + \pst@dimd=\pst@dimc + \end@treenode} % \define@key[psset]{pst-tree}{fansize}[1cm]{\pst@@getlength{#1}\psk@fansize} \psset[pst-tree]{fansize=1cm} -% \def\Tfan{\def\pst@par{}\pst@object{Tfan}} \def\Tfan@i{% -\addto@par{edge=none}% -\begin@treenode -\solid@star -\pst@dimb=\psk@fansize -\pst@dimd=\pslinewidth -\advance\pst@dimb-\pst@dimd -\divide\pst@dimb 2 -\divide\pst@dimd 2 -\ifodd\psk@treemode\relax -\pst@dima=\pst@dimd -\pst@dimc=\pst@dimb -\else -\pst@dima=\pst@dimb -\pst@dimc=\pst@dimd -\fi -\setbox\pstree@box=\hbox{% -\pst@newnode{\pssucc}{16}{}{% -/Y 0 def -/X 0 def -/l \pst@number\pst@dima def -/r l def -/u \pst@number\pst@dimc def -/d u def -/NodePos { \tx@GetRnodePos } def}% -\def\pst@linetype{1}% -\nc@object{Closed}{\pspred}{\pssucc}{.5}{% -tx@Dict begin \psline@iii pop end -/w \pst@number\pst@dimb CLW 2 div sub def -/m \ifodd\psk@treemode false \else true \fi def -\tx@Tfan}}% -\pst@dimb=\pst@dima -\pst@dimd=\pst@dimc -\end@treenode} + \addto@par{edge=none}% + \begin@treenode + \solid@star + \pst@dimb=\psk@fansize + \pst@dimd=\pslinewidth + \advance\pst@dimb-\pst@dimd + \divide\pst@dimb 2 + \divide\pst@dimd 2 + \ifodd\psk@treemode\relax + \pst@dima=\pst@dimd + \pst@dimc=\pst@dimb + \else + \pst@dima=\pst@dimb + \pst@dimc=\pst@dimd + \fi + \setbox\pstree@box=\hbox{% + \pst@newnode{\pssucc}{16}{}{% + /Y 0 def + /X 0 def + /l \pst@number\pst@dima def + /r l def + /u \pst@number\pst@dimc def + /d u def + /NodePos { \tx@GetRnodePos } def}% + \def\pst@linetype{1}% + \nc@object{Closed}{\pspred}{\pssucc}{.5}{% + tx@Dict begin \psline@iii pop end + /w \pst@number\pst@dimb CLW 2 div sub def + /m \ifodd\psk@treemode false \else true \fi def + \tx@Tfan}}% + \pst@dimb=\pst@dima + \pst@dimd=\pst@dimc + \end@treenode} +% \define@key[psset]{pst-tree}{tnsep}[{}]{% \def\pst@tempg{#1}% \ifx\pst@tempg\@empty @@ -880,108 +931,99 @@ tx@Dict begin \psline@iii pop end \def\tnput@#1{\def\pst@par{}\pst@object{tnput}} \def\tnput@i{\pstree@makenodebox{\tnput@ii}} \def\tnput@ii{% -\begingroup -\use@par -\xdef\treenext{% -\if@star\noexpand\pst@starbox\fi -\noexpand\def\noexpand\psk@thistndepth{\psk@tndepth}% -\noexpand\def\noexpand\psk@thistnheight{\psk@tnheight}% -\noexpand\def\noexpand\psk@thistnyref{\psk@tnyref}% -\noexpand\def\noexpand\psk@thistnsep{\psk@tnsep}% -\expandafter\noexpand\csname pstree@tnput@\psk@tnpos\endcsname}% -\endgroup -\treenext -\end@treenode} + \begingroup + \use@par + \xdef\next{% + \if@star\noexpand\pst@starbox\fi + \noexpand\def\noexpand\psk@thistndepth{\psk@tndepth}% + \noexpand\def\noexpand\psk@thistnheight{\psk@tnheight}% + \noexpand\def\noexpand\psk@thistnyref{\psk@tnyref}% + \noexpand\def\noexpand\psk@thistnsep{\psk@tnsep}% + \expandafter\noexpand\csname pstree@tnput@\psk@tnpos\endcsname}% + \endgroup + \next + \end@treenode} +% \@namedef{pstree@tnput@b}{% \pstree@tnput@@v\pst@dimd\ht\dp\lower\psk@thistnheight} \@namedef{pstree@tnput@a}{% \pstree@tnput@@v\pst@dimc\dp\ht\raise\psk@thistndepth} +% \def\pstree@tnput@@v#1#2#3#4#5{% -\pst@dimh=\wd\pst@hbox -\pst@dimg=\psk@href\pst@dimh -\advance\pst@dimg\pst@dimh -\divide\pst@dimg 2 -\advance\pst@dimh-\pst@dimg -\ifdim\pst@dimg>\pst@dima -\pst@dima=\pst@dimg -\fi -\ifdim\pst@dimh>\pst@dimb -\pst@dimb=\pst@dimh -\fi -\pst@dimh=\psk@thistnsep\relax -\ifdim\pst@dimh<\z@ -\pst@dimh=-\pst@dimh -\else -\advance\pst@dimh#1% -\fi -\pssetlength\dimen@{#5}% -\ifdim\dimen@>#2\pst@hbox -\advance\pst@dimh\dimen@\relax -\else -\advance\pst@dimh#2\pst@hbox -\fi -\setbox\pstree@box=\hbox{% -\box\pstree@box -#4\pst@dimh\hbox to\z@{\kern-\pst@dimg\unhbox\pst@hbox\hss}}% -#1=#3\pstree@box -\dp\pstree@box=\z@ -\ht\pstree@box=\z@} + \pst@dimh=\wd\pst@hbox + \pst@dimg=\psk@href\pst@dimh + \advance\pst@dimg\pst@dimh + \divide\pst@dimg 2 + \advance\pst@dimh-\pst@dimg + \ifdim\pst@dimg>\pst@dima \pst@dima=\pst@dimg\fi + \ifdim\pst@dimh>\pst@dimb \pst@dimb=\pst@dimh\fi + \pst@dimh=\psk@thistnsep\relax + \ifdim\pst@dimh<\z@ \pst@dimh=-\pst@dimh + \else\advance\pst@dimh#1\fi + \pssetlength\dimen@{#5}% + \ifdim\dimen@>#2\pst@hbox + \advance\pst@dimh\dimen@\relax + \else + \advance\pst@dimh#2\pst@hbox + \fi + \setbox\pstree@box=\hbox{% + \box\pstree@box + #4\pst@dimh\hbox to\z@{\kern-\pst@dimg\unhbox\pst@hbox\hss}}% + #1=#3\pstree@box + \dp\pstree@box=\z@ + \ht\pstree@box=\z@} +% \@namedef{pstree@tnput@l}{% -\pstree@tnput@@h\pst@dima{% -\hss -\lower\pst@dimg\box\pst@hbox -\kern\pst@dimh -\box\pstree@box}} + \pstree@tnput@@h\pst@dima{% + \hss + \lower\pst@dimg\box\pst@hbox + \kern\pst@dimh + \box\pstree@box}} +% \@namedef{pstree@tnput@r}{% -\pstree@tnput@@h\pst@dimb{% -\box\pstree@box -\kern\pst@dimh -\lower\pst@dimg\box\pst@hbox -\hss}}% + \pstree@tnput@@h\pst@dimb{% + \box\pstree@box + \kern\pst@dimh + \lower\pst@dimg\box\pst@hbox + \hss}}% +% \def\pstree@tnput@@h#1#2{% -\ifx\psk@thistnyref\@empty -\pssetlength\pst@dimg\psk@vref -\else -\pst@dimg=\ht\pst@hbox -\advance\pst@dimg\dp\pst@hbox -\pst@dimg=\psk@thistnyref\pst@dimg -\advance\pst@dimg-\dp\pst@hbox -\fi -\pst@dimh=\psk@thistnsep\relax -\ifdim\pst@dimh<\z@ -\pst@dimh=-\pst@dimh -\else -\advance\pst@dimh#1% -\fi -#1=\pst@dimh -\advance#1\wd\pst@hbox -\setbox\pstree@box=\hbox to\z@{#2}% -\ifdim\ht\pstree@box>\pst@dimc -\pst@dimc=\ht\pstree@box -\fi -\ifdim\dp\pstree@box>\pst@dimd -\pst@dimd=\dp\pstree@box -\fi -\dp\pstree@box=\z@ -\ht\pstree@box=\z@} + \ifx\psk@thistnyref\@empty + \pssetlength\pst@dimg\psk@vref + \else + \pst@dimg=\ht\pst@hbox + \advance\pst@dimg\dp\pst@hbox + \pst@dimg=\psk@thistnyref\pst@dimg + \advance\pst@dimg-\dp\pst@hbox + \fi + \pst@dimh=\psk@thistnsep\relax + \ifdim\pst@dimh<\z@ \pst@dimh=-\pst@dimh\else\advance\pst@dimh#1\fi + #1=\pst@dimh + \advance#1\wd\pst@hbox + \setbox\pstree@box=\hbox to\z@{#2}% + \ifdim\ht\pstree@box>\pst@dimc \pst@dimc=\ht\pstree@box\fi + \ifdim\dp\pstree@box>\pst@dimd \pst@dimd=\dp\pstree@box\fi + \dp\pstree@box=\z@ + \ht\pstree@box=\z@} +% \newif\if@skiplevel \def\skiplevel{\def\pst@par{}\pst@object{skiplevel}} \def\skiplevel@i{\def\pstree@makebox{\pst@@makebox}\skiplevel@ii} \def\skiplevel@ii{% -\pst@@killglue -\begingroup -\let\pssucc\pspred -\def\pst@tempa{0}% -\def\pst@tempb{0}% -\def\pst@tempc{0}% -\def\pst@tempd{0}% -\setbox\pstree@rootbox=\hbox{}% -\pstree@savevalues -\begingroup -\pstree@initsuccvalues -\pstree@setlevelpar -\@skipleveltrue -\pstree@do} + \pst@@killglue + \begingroup + \let\pssucc\pspred + \def\pst@tempa{0}% + \def\pst@tempb{0}% + \def\pst@tempc{0}% + \def\pst@tempd{0}% + \setbox\pstree@rootbox=\hbox{}% + \pstree@savevalues + \begingroup + \pstree@initsuccvalues + \pstree@setlevelpar + \@skipleveltrue + \pstree@do} % DG/SR modification begin - Aug. 31, 1999 - Patch 4 %\def\pstree@gettop#1{\expandafter\pstree@@gettop#1\@nil} %\def\pstree@@gettop#1,#2\@nil{#1} @@ -1004,6 +1046,7 @@ tx@Dict begin \psline@iii pop end \noexpand\def\noexpand\pst@tempd{\number\pst@dimd}}% \endgroup \pstree@next} +% \def\skiplevel@vertical{% % DG/SR modification begin - Aug. 31, 1999 - Patch 4 %\pst@dima=\pstree@gettop\pstree@theleftprofile sp @@ -1022,6 +1065,7 @@ tx@Dict begin \psline@iii pop end \noexpand\def\noexpand\pst@tempb{\number\pst@dimb}}% \endgroup \pstree@next} +% \def\skiplevels{\def\pst@par{}\pst@object{skiplevels}} \def\skiplevels@i#1{% \pst@@killglue @@ -1040,9 +1084,8 @@ tx@Dict begin \psline@iii pop end \expandafter\def\expandafter\endskiplevels\expandafter{% \endskiplevels\endgroup\ignorespaces} \ignorespaces} - +% \catcode`\@=\TheAtCode\relax - \endinput %% %% END: pst-tree.tex |