From 4c58353a4b347b0bbcd4d52c7f9750e09139bc5d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 26 Jan 2009 00:39:32 +0000 Subject: pstricks tree support now in own package (25jan09) git-svn-id: svn://tug.org/texlive/trunk@11977 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/generic/pstricks/pst-tree.tex | 1015 -------------------- 1 file changed, 1015 deletions(-) delete mode 100644 Master/texmf-dist/tex/generic/pstricks/pst-tree.tex (limited to 'Master/texmf-dist/tex/generic/pstricks') diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-tree.tex b/Master/texmf-dist/tex/generic/pstricks/pst-tree.tex deleted file mode 100644 index 3a4a578ee49..00000000000 --- a/Master/texmf-dist/tex/generic/pstricks/pst-tree.tex +++ /dev/null @@ -1,1015 +0,0 @@ -%% pst-tree.tex -%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu. -%% COPYRIGHT 2000-2003 by Denis Girou. -%% Copyright 2004-2008 Herbert Voss -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2003/12/01 or later. -% -% This work has the LPPL maintenance status "maintained". -% -% This Current Maintainer of this work is Herbert Voss -% -% This work consists of the file pstricks.tex, PostScript macros -% for Generic TeX. -% See the PSTricks User's Guide for description. -% -\csname PSTreeLoaded\endcsname -\let\PSTreeLoaded\endinput -\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi\relax -\def\fileversion{1.01} -\def\filedate{2007/06/26} -\message{ v\fileversion, \filedate} -% -\edef\TheAtCode{\the\catcode`\@} -\catcode`\@=11 -% -\newbox\pstree@rootbox -\newbox\pstree@box -\def\pstree@succrow{% -\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@ - \global\let\pstree@theleftprofile\pstree@leftprofile - \global\let\pstree@therightprofile\pstree@rightprofile - \else - \psk@thistreefit\pstree@therightprofile\pstree@leftprofile - \kern\the\pst@cnth sp - \pstree@zip\pstree@therightprofile - \pstree@rightprofile\pstree@therightprofile - \global\advance\pstree@cnt\pst@cnth - \pst@cnth=\pstree@cnt - \pstree@zip\pstree@leftprofile - \pstree@theleftprofile\pstree@theleftprofile - \fi - \box\pstree@box - \global\advance\psnodecnt 1\relax% -}% -\def\pssubtree@vertical@vflip{% - \vrule height \pst@dimc depth \pst@dimd width \z@ - \ifnum\psnodecnt=\z@ - \global\let\pstree@theleftprofile\pstree@leftprofile - \global\let\pstree@therightprofile\pstree@rightprofile - \else - \psk@thistreefit\pstree@theleftprofile\pstree@rightprofile - \kern-\pst@cnth sp - \pstree@zip\pstree@theleftprofile - \pstree@leftprofile\pstree@theleftprofile - \global\advance\pstree@cnt\pst@cnth - \pst@cnth=\pstree@cnt - \pstree@zip\pstree@rightprofile - \pstree@therightprofile\pstree@therightprofile - \fi - \box\pstree@box - \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}% -\def\pssubtree@horizontal@v{% -\pstree@max\pstree@upprofile\pst@cntg -\pst@dimc=\pst@cntg sp -\pstree@max\pstree@downprofile\pst@cntg -\pst@dimd=\pst@cntg sp -\pstree@treebboxadjust -\edef\pstree@leftprofile{\number\pst@dima,\pstree@stop,}% -\edef\pstree@rightprofile{\number\pst@dimb,\pstree@stop,}% -\pssubtree@vertical}% -\def\pstree@tightfit#1#2{% -\pst@cnth=\z@ -\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\next\relax -\else -\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\next{\pstree@@tightfit#2\@nil#4\@nil}% -\fi -\fi -\next} -\def\pstree@loosefit#1#2{% -\pstree@max{#1}\pst@cnth -\pstree@max{#2}\pst@cntg -\advance\pst@cnth\pst@cntg -\advance\pst@cnth\psk@thistreesep\relax -\advance\pst@cnth\pstree@tspace\relax -\gdef\pstree@tspace{\z@}} -\def\tspace#1{% -\pst@@killglue -\pssetlength\pst@dimg{#1}% -\xdef\pstree@tspace{\number\pst@dimg}% -\ignorespaces} -\def\psset@treefit#1{% -\@ifundefined{pstree@#1fit}% -{\@pstrickserr{Bad `treefit' parameter value: `#1'}\@ehpa}% -{\expandafter\let\expandafter\psk@treefit\csname pstree@#1fit\endcsname}} -\psset@treefit{tight} -\def\psset@thistreefit#1{% -\@ifundefined{pstree@#1fit}% -{\@pstrickserr{Bad `treefit' parameter value: `#1'}\@ehpa}% -{\expandafter\let\expandafter\psk@thistreefit -\csname pstree@#1fit\endcsname}} -\psset@treefit{tight} -\def\pstree@zip#1#2#3{% -\def\pst@tempg{}% -\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\next\relax -\else -\ifnum#3=\pstree@stop -\pst@cntg=#1 -\advance\pst@cntg-\pst@cnth -\edef\pst@tempg{\pst@tempg\the\pst@cntg,}% -\def\next{\pstree@@zip#2\@nil\pstree@stop,\@nil}% -\else -\edef\pst@tempg{\pst@tempg#3,}% -\def\next{\pstree@@zip#2\@nil#4\@nil}% -\fi -\fi -\next} -\def\pstree@max#1#2{% -\pst@cntg=\z@ -\expandafter\pstree@@max#1% -#2=\pst@cntg}% -\def\pstree@@max#1,{% -\ifnum#1=\pstree@stop\else -\ifnum#1>\pst@cntg \pst@cntg=#1 \fi -\expandafter\pstree@@max -\fi} -\def\pstree@add#1{% -\def\pst@tempg{}% -\expandafter\pstree@@add#1% -\xdef#1{\pst@tempg\pstree@stop,}} -\def\pstree@@add#1,{% -\ifnum#1=\pstree@stop\else -\pst@cnth=#1 -\advance\pst@cnth\pst@cntg -\xdef\pst@tempg{\pst@tempg\the\pst@cnth,}% -\expandafter\pstree@@add -\fi} -\newcount\psnodecnt -\let\c@psnodecnt\psnodecnt -\newcount\pstreelevel -\let\c@pstreelevel\pstreelevel -\newcount\pstreecnt -\let\c@pstreecnt\pstreecnt -\newcount\pstree@cnt -% -\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 - \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@setlevelpar{% - \advance\pstreelevel1 - \let\psk@thislevelsep\relax - \let\psk@thistreesep\relax - \let\psk@thistreefit\relax - \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 - \fi - \ifnum\psk@treemode=\pstree@predmode\else - \global\advance\pstreecnt1 - \edef\pstree@thetree{\the\pstreecnt}% - \let\pstree@predmode\psk@treemode - \fi - \ifx\psk@thislevelsepmode\relax - \pst@dimg=\psk@thislevelsep\relax - \pst@cntg=0\@nameuse{pstree@levelsepadjust-\pstree@thetree-\the\pstreelevel}% - \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 - \ifx\pstree@bboxadjust\@empty\else - \xdef\pstree@treebboxadjust{% - \pstree@bboxadjust - \ifpsshowbbox\noexpand\pstree@showbbox\fi}% - \gdef\pstree@bboxadjust{}% - \fi - \let\pst@thispsbox\@skiplevelfalse} -% -\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}% - \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{% -% 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} -% DG/SR modification end -\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 -% 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@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} -\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@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} -\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} -\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}% -\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}% -\newif\if@psrighttree -\def\pstree@right{% -\@psrighttreetrue -\pstree@succcolumn -\pstree@makebox\pstree@horizontal} -\def\pstree@left{% -\@psrighttreefalse -\pstree@succcolumn -\pstree@makebox\pstree@horizontal} -\def\pstree@horizontal{% - \ifdim\wd\pst@hbox=\z@\else - \@pstrickserr{Extraneous space in tree successors}\@ehpa - \typeout{===>\the\wd\pst@hbox (hbox)} - \fi - \pst@cntg=\ifpstreeflip\ht\else\dp\fi\pst@hbox - \divide\pst@cntg 2 - \pstree@add\pstree@theupprofile - \pstree@add\pstree@thedownprofile -% DG/SR modification begin - Sep. 24, 1997 - Patch 3 -%\ifx\psk@thislevelsepmode\relax -%\pstree@horizlevelsepadjust -%\fi -% DG/SR modification end - \pst@dimg\psk@thislevelsep\relax - \global\setbox\pstree@box=\hbox{% - \unhbox\pstree@rootbox - \kern\if@psrighttree\else-\fi\pst@dimg - \ifpstreeflip\lower\else\raise\fi\pst@cntg sp\box\pst@hbox}% -% DG/SR modification begin - Sep. 24, 1997 - Patch 3 - \ifx\psk@thislevelsepmode\relax - \pstree@horizlevelsepadjust - \fi -% DG/SR modification end - \if@psrighttree - \pst@dimh=\pst@dimg - \pstree@max\pstree@therightprofile\pst@cntg - \global\advance\pst@dimh\pst@cntg sp - \global\pst@dimg=\pst@tempa sp - \else - \pstree@max\pstree@theleftprofile\pst@cntg - \global\advance\pst@dimg\pst@cntg sp - \global\pst@dimh=\pst@tempb sp - \fi - \if@skiplevel\skiplevel@horizontal\else\endgroup\fi - \pst@dima=\pst@dimg - \pst@dimb=\pst@dimh - \edef\pstree@upprofile{\pst@tempc,\pstree@theupprofile}% - \edef\pstree@downprofile{\pst@tempd,\pstree@thedownprofile}% - \dp\pstree@box=\z@ - \ht\pstree@box=\z@ - \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} -% 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} -\def\psset@treemode#1{% -\pst@cntg= -\ifx#1U\@empty2\else\ifx#1R\@empty1\else\ifx#1L\@empty3\else0\fi\fi\fi -\relax -\edef\psk@treemode{\the\pst@cntg}% -\ifcase\pst@cntg -\let\pstree@do\pstree@down -\or -\let\pstree@do\pstree@right -\or -\let\pstree@do\pstree@up -\or -\let\pstree@do\pstree@left -\fi} -\def\psk@treemode{0} -\let\pstree@do\pstree@down -\def\psset@treesep#1{% -\pssetlength\pst@dimg{#1}% -\edef\psk@treesep{\number\pst@dimg}}% -\psset@treesep{.75cm} -\def\psset@thistreesep#1{% -\pssetlength\pst@dimg{#1}% -\edef\psk@thistreesep{\number\pst@dimg}}% -\def\psset@treenodesize#1{% -\pssetlength\pst@dimg{#1}% -\ifdim\pst@dimg<\z@ -\let\psk@treenodesize\number -\else -\edef\psk@treenodesize{\number\pst@dimg\noexpand\@gobble}% -\fi} -\psset@treenodesize{-1pt} -\def\psset@thistreenodesize#1{% -\pssetlength\pst@dimg{#1}% -\ifdim\pst@dimg<\z@ -\let\psk@thistreenodesize\number -\else -\edef\psk@thistreenodesize{\number\pst@dimg\noexpand\@gobble}% -\fi} -\def\psset@levelsep#1{% -\pst@expandafter{\pst@ifstar\psset@@levelsep}{#1}\@nil} -\def\psset@@levelsep#1\@nil{% -\pst@@getlength{#1}\psk@levelsep -\if@star -\pstree@initlevelsepadjust -\let\psk@levelsepmode\relax -\else -\def\psk@levelsepmode{}% -\fi} -\psset@levelsep{2cm} -\def\psset@thislevelsep#1{% -\pst@expandafter{\pst@ifstar\psset@@thislevelsep}{#1}\@nil} -\def\psset@@thislevelsep#1\@nil{% -\pst@@getlength{#1}\psk@thislevelsep -\if@star -\pstree@initlevelsepadjust -\let\psk@thislevelsepmode\relax -\else -\def\psk@thislevelsepmode{}% -\fi} -\newif\ifpstreeflip -\def\psset@treeflip#1{\@nameuse{pstreeflip#1}} -\psset@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}} -\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} -\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} -\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} -\let\pstree@savedshortput\ignorespaces -\pstree@outer -\newif\ifpsshowbbox -\def\psset@showbbox#1{\@nameuse{psshowbbox#1}}% -\psset@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}}% -\def\psset@edge#1{% -\def\psedge{#1}% -\ifx\psedge\@none -\def\psedge##1##2{}% -\fi} -\psset@edge{\ncline} -\def\pspred{T} -\def\pstree@makenodebox{% -\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}}} -\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} -\def\pstree@bboxadjust{} -\def\pstree@setbboxadjust#1#2{% -\pssetlength\pst@dimg{#1}% -\xdef\pstree@bboxadjust{% -\pstree@bboxadjust -#2\number\pst@dimg sp\relax}} -\def\psset@bbl#1{\pstree@setbboxadjust{#1}{\pst@dima=}} -\def\psset@bbr#1{\pstree@setbboxadjust{#1}{\pst@dimb=}} -\def\psset@bbh#1{\pstree@setbboxadjust{#1}{\pst@dimc=}} -\def\psset@bbd#1{\pstree@setbboxadjust{#1}{\pst@dimd=}} -\def\psset@xbbl#1{\pstree@setbboxadjust{#1}{\advance\pst@dima}} -\def\psset@xbbr#1{\pstree@setbboxadjust{#1}{\advance\pst@dimb}} -\def\psset@xbbh#1{\pstree@setbboxadjust{#1}{\advance\pst@dimc}} -\def\psset@xbbd#1{\pstree@setbboxadjust{#1}{\advance\pst@dimd}} -\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} -\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} -\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} -\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{% - \begin@treenode - \nodealigntrue - \setbox\pstree@box=\hbox{#1\pssucc}% - \pst@dima=\wd\pstree@box - \divide\pst@dima 2 - \pst@dimb=\pst@dima - \pst@dimc=\ht\pstree@box - \pst@dimd=\dp\pstree@box - \setbox\pstree@box=\hbox to\z@{\hss\unhbox\pstree@box\hss}% - \dp\pstree@box=\z@ - \ht\pstree@box=\z@ - \end@treenode% -} -% -\def\Tcircle{\def\pst@par{}\pst@object{Tcircle}} -\def\Tcircle@i{\pstree@makenodebox{\Toval@ii\circlenode@ii}} -% DG/SR modification begin - Mar. 7, 2003 - Patch 6 -\def\TCircle{\pst@object{TCircle}} -\def\TCircle@i{\pst@@killglue\pst@makebox{\Toval@ii\Circlenode@ii}} -% DG/SR modification end -% -\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{% - \begin@treenode - \nodealigntrue - \setbox\pstree@box=\hbox{\trinode@ii\pssucc}% - \pst@dima=\pst@dimg % Set by \pst@triboxsep - \pst@dimb=\wd\pstree@box - \advance\pst@dimb-\pst@dima - \pst@dimc=\ht\pstree@box - \pst@dimd=\dp\pstree@box - \setbox\pstree@box=\hbox to\z@{\hss\unhbox\pstree@box\hss}% - \dp\pstree@box=\z@ - \ht\pstree@box=\z@ - \end@treenode% -} -\def\Tr{\def\pst@par{}\pst@object{Tr}} -% SR modification begin - Oct. 27, 1996 -%\def\Tr@i{\pstree@makenodebox{\Tr@ii{\begingroup\rnode@ii}}} -\def\Tr@i{\pstree@makenodebox{\Tr@ii{\rnode@iii\rnode@iv}}} -% SR modification end -\def\Tr@ii#1{% -\begin@treenode -\def\pstree@nodehook{% -\xdef\pstree@next{\pst@dima=\number\pst@dima sp\relax}}% -\nodealigntrue -\setbox\pstree@box\hbox{#1\pssucc}% -\pstree@next -\pst@dimb=\wd\pstree@box -\advance\pst@dimb-\pst@dima -\pst@dimc=\ht\pstree@box -\pst@dimd=\dp\pstree@box -\setbox\pstree@box\hbox to\z@{\kern-\pst@dima\unhbox\pstree@box\hss}% -\ht\pstree@box=\z@ -\dp\pstree@box=\z@ -\end@treenode} -\def\TR{\def\pst@par{}\pst@object{TR}} -% DG modification begin - Oct. 25, 1996 -%\def\TR@i{\pstree@makenodebox{\Tr@ii{\Rnode@ii}}} -\def\TR@i{\pstree@makenodebox{\Tr@ii{\rnode@iii\Rnode@ii}}} -% 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} -\def\psset@fansize#1{\pst@@getlength{#1}\psk@fansize} -\psset@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} -\def\psset@tnsep#1{% -\def\pst@tempg{#1}% -\ifx\pst@tempg\@empty -\def\psk@tnsep{\number\pslabelsep sp}% -\else -\pst@@getlength{#1}\psk@tnsep -\fi} -\psset@tnsep{} -\def\psset@tnyref#1{\def\psk@tnyref{#1}}% -\psset@tnyref{} -\def\psset@tnheight#1{\edef\psk@tnheight{#1}} -\psset@tnheight{\ht\strutbox} -\def\psset@tndepth#1{\edef\psk@tndepth{#1}} -\psset@tndepth{\dp\strutbox} -\def\psset@tnpos#1{% -\def\pst@tempg{#1}% -\ifx\pst@tempg\@empty -\def\psk@tnpos{% -\ifcase\psk@treemode b\or r\or a\or l\fi}% -\else -\@ifundefined{pstree@tnput@#1}% -{\@pstrickserr{Bad tnpos: `#1'}\@ehpa}% -{\edef\psk@tnpos{#1}}% -\fi} -\psset@tnpos{} -\def\tnput@#1{\def\pst@par{}\pst@object{tnput}} -\def\tnput@i{\pstree@makenodebox{\tnput@ii}} -\def\tnput@ii{% -\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@} -\@namedef{pstree@tnput@l}{% -\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}}% -\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@} -\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} -% 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} -% DG/SR modification end -\def\skiplevel@horizontal{% -% DG/SR modification begin - Aug. 31, 1999 - Patch 4 -%\pst@dimc=\pstree@gettop\pstree@theupprofile sp -%\pst@dimd=\pstree@gettop\pstree@thedownprofile sp - \edef\pstree@upprofile{\pst@tempc,\pstree@theupprofile}% - \edef\pstree@downprofile{\pst@tempd,\pstree@thedownprofile}% - \pstree@max\pstree@upprofile\pst@cntg - \pst@dimc=\pst@cntg sp - \pstree@max\pstree@downprofile\pst@cntg - \pst@dimd=\pst@cntg sp -% DG/SR modification end - \pstree@treebboxadjust - \gdef\pstree@treebboxadjust{}% - \xdef\pstree@next{% - \noexpand\def\noexpand\pst@tempc{\number\pst@dimc}% - \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 -%\pst@dimb=\pstree@gettop\pstree@therightprofile sp - \edef\pstree@leftprofile{\pst@tempa,\pstree@theleftprofile}% - \edef\pstree@rightprofile{\pst@tempb,\pstree@therightprofile}% - \pstree@max\pstree@leftprofile\pst@cntg - \pst@dima=\pst@cntg sp - \pstree@max\pstree@rightprofile\pst@cntg - \pst@dimb=\pst@cntg sp -% DG/SR modification end - \pstree@treebboxadjust - \gdef\pstree@treebboxadjust{}% - \xdef\pstree@next{% - \noexpand\def\noexpand\pst@tempa{\number\pst@dima}% - \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 - \begingroup - \pst@cnta=#1\relax - \edef\skiplevels@num{\the\pst@cnta}% - \def\pstree@makebox{\pst@makelongbox}% - \def\endskiplevels{}% - \loop - \ifnum\pst@cnta>\z@ - \advance\pst@cnta-1 - \expandafter\def\expandafter\endskiplevels\expandafter{% - \endskiplevels\pst@endlongbox} - \skiplevel@ii - \repeat - \expandafter\def\expandafter\endskiplevels\expandafter{% - \endskiplevels\endgroup\ignorespaces} - \ignorespaces} - -\catcode`\@=\TheAtCode\relax - -\endinput -%% -%% END: pst-tree.tex -- cgit v1.2.3