%!PS-Adobe-2.0 %%Creator: dvips 5.491 Copyright 1986, 1992 Radical Eye Software %%Title: doc.dvi %%Pages: 26 1 %%BoundingBox: 0 0 612 792 %%DocumentFonts: Times-Roman Helvetica-Bold Helvetica Helvetica-Oblique %%+ Times-Italic Helvetica-BoldOblique Times-Bold Symbol %%EndComments %DVIPSCommandLine: dvips -p26 -Pport doc -o pst-doc2.ps %%BeginProcSet: tex.pro %! /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N} B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[0 -1 1 0 0 0] concat}if 72 Resolution div 72 VResolution div neg scale isls{Resolution hsize -72 div mul 0 TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{ CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N} B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/FV}{/RV}ifelse load def pop}N /eop{SI restore showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook} if /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval (NeXT)eq or}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /FV{gsave transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{-3 M} B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{p 2 w} B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginProcSet: pstricks.pro %! % PostScript prologue for pstricks.tex. % Created 1993/3/12. Source file was pstricks.doc % Version 0.93a, 93/03/12. % For use with Rokicki's dvips. /tx@Dict 200 dict def tx@Dict begin /ADict 25 dict def /CM { matrix currentmatrix } bind def /SLW /setlinewidth load def /CLW /currentlinewidth load def /CP /currentpoint load def /ED { exch def } bind def /L /lineto load def /T /translate load def /Atan { /atan load stopped { pop pop 0 } if } def /Div { dup 0 eq { pop } { div } ifelse } def /NET { neg exch neg exch T } def /Pyth { dup mul exch dup mul add sqrt } def /PtoC { 2 copy cos mul 3 1 roll sin mul } def /PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def /PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } pathforall z } def /STP { .996264 dup scale } def /STV { SDict begin normalscale end STP } def /DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul /y ED x mul /x ED x 0 eq y 0 eq and { /x 1 def /y 1 def } if [ y x ] 1 a sub y mul setdash stroke } def /DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt { /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if ] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 setlinecap stroke } def /LineFill { abs CLW add /a ED gsave clip pathbbox a Div ceiling /y2 ED /x2 ED a Div floor /y1 ED /x1 ED /n y2 y1 sub 1 add cvi def /y1 a y1 mul def newpath 2 setlinecap n { currentstrokeadjust == x1 y1 moveto x2 y1 L stroke /y1 y1 a add def } repeat grestore } def /LineFill { abs CLW add /a ED gsave clip pathbbox a Div ceiling /y2 ED /x2 ED a Div floor /y1 ED /x1 ED /n y2 y1 sub 1 add cvi def /y1 a y1 mul def newpath 2 setlinecap systemdict /currentstrokeadjust known { currentstrokeadjust } { false } ifelse { /t { } def } { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform } bind def } ifelse n { x1 y1 t moveto x2 y1 t L stroke /y1 y1 a add def } repeat grestore } def /BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg exch 3 index sub exch Atan rotate newpath } def /EndArrow { @mtrx setmatrix CP grestore end } def /Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore } def /Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 CLW moveto } def /Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 CLW moveto } def /RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW 2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } def /Shadow { [ { /moveto load } { /lineto load } { /curveto load } { /closepath load } pathforall ] cvx newpath 3 1 roll T exec } def /SD { 0 360 arc fill } def /SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def /ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def /SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def /NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch cvi def } def /NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def /Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def /Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } ifelse { pop } repeat a } def /CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq and { pop pop /n n 1 sub def } if } def /Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto Lineto pop pop closepath } ifelse } def /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth def } def /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth def } def /CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def /y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul m mul neg def } def /IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } def /BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def /NC { CC x1 y1 x2 y2 x y curveto } def /EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def /BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def /NAC { x2 y2 x y curveto CC x1 y1 } def /EAC { x2 y2 x y ArrowB curveto pop pop } def /OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def n { NC } repeat EOC } ifelse } def /AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload /Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def /ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } repeat closepath pop pop } ifelse } def /EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def /Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 y1 lineto closepath } def /OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse /b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } ifelse } def /Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add /y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse } def /Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def } def /Grid { /a 4 string def /b ED /d ED /n ED cvi dup 1 lt { pop 1 } if /c ED c div dup 0 eq { pop 1 } if /cy ED c div dup 0 eq { pop 1 } if /cx ED cy div cvi /y ED cx div cvi /x ED cy div cvi /y2 ED cx div cvi /x2 ED cy div cvi /y1 ED cx div cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def /Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } if gsave n 0 gt { 1 setlinecap [ 0 cy n div ] 0 setdash } { 2 setlinecap } ifelse /c x1 def /i 500 w mul x1 add def /e y cy mul def /f y1 cy mul def /g y2 cy mul def x1 cx mul 0 T { newpath 0 e moveto b 0 gt { gsave d c a cvs dup stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} {z1} ifelse rmoveto show grestore } if 0 f moveto 0 g L stroke cx w mul 0 T c x2 eq c i eq or {exit} if /c c w add def } loop grestore gsave n 0 gt { 1 setlinecap [ 0 cx n div ] 0 setdash } { 2 setlinecap } ifelse /c y1 def /i 500 h mul y1 add def /e x cx mul def /f x1 cx mul def /g x2 cx mul def 0 y1 cy mul T { newpath e 0 moveto b 0 gt { gsave d c a cvs dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt {z1} {b neg} ifelse rmoveto show grestore } if f 0 moveto g 0 L stroke 0 cy h mul T c y2 eq c i eq or {exit} if /c c h add def } loop grestore } def /ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c mul neg d } def /Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def /Rot { CP CP translate 3 -1 roll neg rotate NET } def /PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def /PutBegin { /lmtrx [ tx@Dict /lmtrx known { lmtrx aload pop } if CM ] def CP 4 2 roll T moveto } def /PutEnd { CP /lmtrx [ lmtrx aload pop setmatrix ] def moveto } def /Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse } def /UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q { x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add exch } def /BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { CP OLUnit T moveto /IfVisible true def } if } { IfVisible { CP OLUnit NET moveto /IfVisible false def } if } ifelse } def /InitOL { /OLUnit [ gsave CM STV 2890.79999 dup moveto setmatrix CP grestore ] cvx def /BOL { BeginOL } def /IfVisible true def } def end %%EndProcSet %%BeginProcSet: psn-beta.pro %! % PostScript prologue for psn-beta.tex. % Created 1993/4/16. Source file was psn-beta.doc % Version 0.93a, 93/03/12. % For use with Rokicki's dvips. /tx@NodeDict 400 dict def tx@NodeDict begin tx@Dict begin /T /translate load def end /NewNode { dict dup 3 -1 roll ED begin /NodeMtrx CM def } def /InitPnode { /Y ED /X ED /NodePos { Nodesep Cos mul Nodesep Sin mul } def } def /InitCnode { /r ED /Y ED /X ED /NodePos { Nodesep r add dup Cos mul exch Sin mul } def } def /GetRnodePos { Cos 0 gt { /dx r Nodesep add def } { /dx l Nodesep sub def } ifelse Sin 0 gt { /dy u Nodesep add def } { /dy d Nodesep sub def } ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse } def /InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED /NodePos { GetRnodePos } def } def /DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div Nodesep add dup Cos mul exch Sin mul } def /TriNodePos { Sin s lt { d Nodesep sub dup Cos mul Sin Div exch } { w h mul w Sin mul h Cos abs mul add Div Nodesep add dup Cos mul exch Sin mul } ifelse } def /InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan sin def /NodePos { TriNodePos } def } def /OvalNodePos { /ww w Nodesep add def /hh h Nodesep add def Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul } def /GetCenter { begin X Y NodeMtrx transform CM itransform end } def /AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse } def /GetEdge { begin /Nodesep ED dup 1 0 NodeMtrx dtransform CM idtransform exch atan sub dup sin /Sin ED cos /Cos ED Nodesep 0 ge { NodePos } { Nodesep neg dup Cos mul exch Sin mul } ifelse Y add exch X add exch NodeMtrx transform CM itransform end 4 2 roll AddOffset } def /GetPos { OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED OffsetB AngleB NodesepB nodeB GetEdge /y2 ED /x2 ED } def /GetArmA { armA 0 lt { xA yA OffsetA AngleA AddOffset } { x1 y1 } ifelse armA abs AngleA sin mul add /y1a ED armA abs AngleA cos mul add /x1a ED } def /GetArmB { armB 0 lt { xB yB OffsetB AngleB AddOffset } { x2 y2 } ifelse armB abs AngleB sin mul add /y2a ED armB abs AngleB cos mul add /x2a ED } def /InitNC { /b ED /a ED /NodesepB ED /NodesepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b known and dup { /nodeA a load def /nodeB b load def nodeA GetCenter /yA ED /xA ED nodeB GetCenter /yB ED /xB ED } if } def /LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def /LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop } repeat LPutLine cleartomark } def /BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def /HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def } def /HPosEnd { /X Y yA sub yB yA sub Div xB xA sub mul xA add def /NAngle yB yA sub xB xA sub Atan def } def /HPutLine { HPosBegin /yA ED /xA ED /yB ED /xB ED HPosEnd } def /HPutLines { HPosBegin yB yA ge { /check { ge } def } { /check { lt } def } ifelse mark xB yB LPutVar { dup Y check { exit } { /yA ED /xA ED } ifelse } loop /yB ED /xB ED cleartomark HPosEnd } def /VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def } def /VPosEnd { /Y X xA sub xB xA sub Div yB yA sub mul yA add def /NAngle yB yA sub xB xA sub Atan def } def /VPutLine { VPosBegin /yA ED /xA ED /yB ED /xB ED VPosEnd } def /VPutLines { VPosBegin xB xA ge { /check { ge } def } { /check { lt } def } ifelse mark xB yB LPutVar { 1 index X check { exit } { /yA ED /xA ED } ifelse } loop /yB ED /xB ED cleartomark VPosEnd } def /HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx def grestore exec /LPutVar /SaveLPutVar load def } def /NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def GetPos /LPutVar [ x2 y2 x1 y1 ] cvx def /LPutPos { LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { LPutVar VPutLine } def LPutVar } def /NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop end } def /NCCurve { GetPos x1 x2 sub y1 y2 sub Pyth 2 div dup 3 -1 roll mul /armA ED mul /armB ED GetArmA GetArmB x1a y1a x1 y1 tx@Dict begin ArrowA end x2a y2a x2 y2 tx@Dict begin ArrowB end curveto /LPutVar [ x1 y1 x1a y1a x2a y2a x2 y2 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def /NCAngles { GetPos GetArmA GetArmB /mtrx AngleA matrix rotate def x1a y1a mtrx transform pop x2a y2a mtrx transform exch pop mtrx itransform /y0 ED /x0 ED mark armB 0 ne { x2 y2 } if x2a y2a x0 y0 x1a y1a armA 0 ne { x1 y1 } if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a y2a x0 y0 x1a y1a x1 y1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCAngle { GetPos GetArmB /mtrx AngleA matrix rotate def x2a y2a mtrx itransform pop x1 y1 mtrx itransform exch pop mtrx transform /y0 ED /x0 ED mark armB 0 ne { x2 y2 } if x2a y2a x0 y0 x1 y1 tx@Dict begin false Line end /LPutVar [ x2 y2 x2a y2a x0 y0 x1 y1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCBar { GetPos GetArmA GetArmB /mtrx AngleA matrix rotate def x1a y1a mtrx itransform pop x2a y2a mtrx itransform pop sub dup 0 mtrx transform 3 -1 roll 0 gt { /y2a exch y2a add def /x2a exch x2a add def } { /y1a exch neg y1a add def /x1a exch neg x1a add def } ifelse mark armB 0 ne { x2 y2 } if x2a y2a x1a y1a armA 0 ne { x1 y1 } if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a y2a x1a y1a x1 y1 ] cvx def /LPutPos { LPutVar LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCDiag { GetPos GetArmA GetArmB mark armB 0 ne { x2 y2 } if x2a y2a x1a y1a armA 0 ne { x1 y1 } if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a y2a x1a y1a x1 y1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCDiagg { OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED GetArmA yB y1a sub xB x1a sub Atan 180 add /AngleB ED OffsetB AngleB NodesepB nodeB GetEdge /y2 ED /x2 ED mark x2 y2 x1a y1a armA 0 ne { x1 y1 } if tx@Dict begin false Line end /LPutVar [ x2 y2 x1a y1a x1 y1] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCLoop { GetPos GetArmA GetArmB /mtrx AngleA matrix rotate def x1a y1a mtrx transform loopsize add /y1b ED /x1b ED /x2b x2a y2a mtrx transform pop def x2b y1b mtrx itransform /y2b ED /x2b ED x1b y1b mtrx itransform /y1b ED /x1b ED mark armB 0 ne { x2 y2 } if x2a y2a x2b y2b x1b y1b x1a y1a armA 0 ne { x1 y1 } if tx@Dict begin false Line end /LPutVar [ x2 y2 x2a y2a x2b y2b x1b y1b x1a y1a x1 y1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def /NCCircle { 0 0 NodesepA nodeA GetEdge pop xA sub 2 div dup 2 exp r r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add exch 2 copy /LPutVar [ 4 2 roll r a ] def /LPutPos { LPutVar aload pop t 360 mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add 3 1 roll add exch 3 -1 roll } def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r Div def /y ED /x ED } def /NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB 180 add def GetPos /dx d AngleB sin mul def /dy d AngleB cos mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def /LPutVar [ x1 hx add y1 hy add x2 hx add y2 hy add x2 dx add y2 dy add x1 dx add y1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos { xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar tx@Dict begin false Polygon end } def /NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def /x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def GetPos /AngleA tA 180 add yA y1 sub xA x1 sub Pyth c mul sub def /AngleB tB 180 add yB y2 sub xB x2 sub Pyth c mul add def l 0 eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn } { x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def 0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos { LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC } { t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { LPutPos } def } def /Tfan { /AngleA yB yA sub xB xA sub Atan def OffsetA AngleA NodesepA nodeA GetEdge /y1 ED /x1 ED w x1 xB sub y1 yB sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul y1 add /y1 ED AngleA cos mul x1 add /x1 ED /LPutVar [ x1 y1 m { xB w add yB xB w sub yB } { xB yB w sub xB yB w add } ifelse x1 y1 ] cvx def /LPutPos { LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } { pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin /ArrowA { moveto } def /ArrowB { } def false Line closepath end } def /LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg exch X sub neg exch moveto setmatrix CP grestore } def /LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse LPutCoor } def /HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg } if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop } ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED } def /VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop } ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED } def end %%EndProcSet %%BeginProcSet: texps.pro %! TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{ FontMatrix 0 get div Metrics 0 get div def}ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict end definefont 3 -1 roll makefont /setfont load]cvx def}def /ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def /ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro %! TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X /rwiSeen true N}B /@rhi {10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{ }N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale false def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{ SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{ rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}N /@fedspecial{end}B /li{lineto}B /rl{ rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 40258431 52099146 1000 300 300 @start /Fa 134[29 6[19 5[16 6[25 29 25 1[25 14[38 1[32 1[41 1[35 19[29 2[29 29 29 29 29 29 1[14 19 14 2[19 19 40[{}23 57.600342 /Times-Roman rf /Fb 139[16 19 21 2[24 2[13 2[13 27 24 1[21 27 36[24 63[{}11 48.000336 /Times-Bold rf /Fc 140[47 33 12[47 16[52 84[{}4 85.007408 /Helvetica-Bold rf /Fd 182[102 73[{}1 368.041595 /Helvetica-Bold rf /Fe 138[19 9 17 11 1[19 19 19 1[8 2[8 2[9 19 2[19 19 97[{}13 34.166969 /Helvetica-Oblique rf /Ff 130[11 1[11 5[19 9 3[19 3[8 14[9 9 9 8[25 5[19 27[19 3[9 2[11 11 40[{}15 34.166969 /Helvetica rf /Fg 138[21 11 3[21 3[9 15[9 9[25 4[28 21 76[{}8 34.166969 /Helvetica-Bold rf /Fh 134[20 20 29 20 20 11 16 13 20 20 20 20 31 11 20 1[11 20 20 13 18 20 18 20 18 12[24 22 2[22 6[13 26[10 13 10 44[{}31 40.000278 /Times-Roman rf /Fi 199[14 56[{}1 28.000196 /Times-Roman rf /Fj 199[16 3[16 1[16 16 49[{}4 32.000225 /Times-Roman rf /Fk 139[14 25 16 1[27 27 27 1[11 2[11 1[27 14 27 2[27 27 97[{}13 49.200378 /Helvetica-Oblique rf /Fl 130[16 1[16 29[14 1[14 48[19 42[{}5 49.200378 /Helvetica rf /Fm 136[55 39 43 24 39 27 1[43 43 43 63 20 2[20 1[43 1[39 43 39 43 39 12[43 4[55 51 8[47 51 11[39 39 39 39 39 39 39 39 49[{}31 70.862267 /Helvetica-Bold rf /Fn 152[22 15 19 22 19 22 19 18[32 1[27 32 2[32 72[{}11 43.800289 /Times-Roman rf /Fo 138[32 19 7[16 5[19 25 3[29 28[41 9[19 58[{}8 57.600342 /Times-Bold rf /Fp 134[27 3[30 16 27 19 1[30 30 30 44 14 2[14 30 30 16 27 30 27 30 27 11[35 2[35 5[30 7[35 17[27 27 1[14 4[19 16 16 40[{}29 49.200378 /Helvetica-BoldOblique rf /Fq 59[16 20[30 30 48[19 1[19 25 27 27 38 27 30 16 27 19 1[30 30 30 44 14 27 1[14 30 30 16 27 30 27 30 27 4[14 7[30 33 35 4[41 9[35 35 35 3[29 5[27 1[27 2[27 27 2[14 16 3[16 16 40[{}46 49.200378 /Helvetica-Bold rf /Fr 138[21 10 19 12 1[21 21 21 31 8 2[8 21 21 1[21 21 19 21 21 12[23 4[29 27 31 7[25 27 10[21 21 21 21 21 21 21 21 21 21 48[{}33 37.412769 /Helvetica rf /Fs 1 3 df<800002C0000660000C3000181800300C00600600C003018001830000C600006C00003800 003800006C0000C6000183000301800600C00C006018003030001860000CC00006800002171878 9727>2 D E /Ft 134[14 14 6[16 16 7[16 16 9 11[18 90[{}8 32.000225 /Times-Italic rf /Fu 133[19 21 21 32 21 24 13 19 19 1[24 24 24 35 13 21 13 13 24 24 13 21 24 21 24 24 6[27 27 29 1[29 35 9[32 21 1[35 4[32 4[32 1[32 13[12 46[{}37 48.000336 /Times-Italic rf /Fv 136[29 1[23 11 20 14 1[23 23 23 34 9 2[9 1[23 11 23 23 20 23 23 30[27 27 23[14 14 40[{}22 41.000366 /Helvetica-Oblique rf /Fw 59[14 14 20[20 48[14 11 14 20 20 20 29 20 23 11 20 14 23 23 23 23 34 9 20 9 9 23 23 11 23 23 20 23 23 1[23 1[11 11 11 25 27 27 2[29 25 27 29 1[27 32 29 34 23 27 20 1[29 2[27 29 29 27 27 2[24 24 24 1[11 23 23 23 23 23 23 23 23 23 23 1[11 14 11 1[16 14 14 1[27 36 23 23 35[{}80 41.000366 /Helvetica rf /Fx 80[25 25 51[20 23 23 1[23 25 14 23 16 1[25 25 25 36 11 23 1[11 25 25 14 23 25 23 25 23 4[11 7[25 1[29 4[34 25 8[29 1[29 3[24 12[23 48[{}34 41.000366 /Helvetica-Bold rf /Fy 59[16 9[21 10[27 27 3[21 47[21 24 24 35 24 24 13 19 16 24 24 24 24 37 13 24 13 13 24 24 16 21 24 21 24 21 6[29 35 35 45 35 35 29 27 32 1[27 35 35 43 29 2[16 35 1[27 29 35 32 32 35 5[13 13 3[24 1[24 1[24 24 24 13 12 16 12 2[16 16 16 39[{}67 48.000336 /Times-Roman rf /Fz 72[22 19[26 163[{}2 48.249817 /Symbol rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%EndSetup %%Page: 26 1 0 bop 591 50 a Fy(As)7 b(an)g(alignment)g(environment,)j Fx(\\psmatrix)d Fy(is)g(similar)g(to)g(AMS-T)1717 61 y(E)1741 50 y(X')m(s)g Fw(\\matrix)p Fy(.)591 110 y(There)12 b(is)h(no)f(ar)o(gument)h(for)f (specifying)h(the)g(columns.)18 b(Instead,)13 b(you)f(can)h(just)591 170 y(use)8 b(as)h(many)h(columns)f(as)g(you)g(need.)16 b(The)10 b(entries)f(are)h(horizontally)g(centered.)591 230 y(Rows)g(are)j(ended)f(by) g Fw(\\\\)p Fy(.)18 b Fx(\\psmatrix)11 b Fy(can)i(be)f(used)f(in)h(or)g(out)g (of)g(math)h(mode.)591 320 y(Our)f(\256rst)h(example)h(wasn')o(t)g(very)f (interesting,)h(because)g(we)f(didn')o(t)h(make)g(use)591 380 y(of)f(the)i(nodes.)22 b(Actually)m(,)15 b(each)f(entry)g(is)g(a)g(node.)23 b(The)14 b(name)h(of)f(the)g(node)g(in)591 440 y(row)h Fv(row)20 b Fy(and)d(column)f Fv(col)k Fy(is)d Fw({)p Fv(row)t Fw(,)p Fv(col)s Fw(})p Fy(,)g(with)f(no)h(spaces.)30 b(Let')m(s)17 b(see)f(some)591 500 y(node)11 b(connections:)548 882 y tx@Dict begin gsave STV CP T 7.55716 0.0 7.29219 3.64609 3.61267 tx@NodeDict begin /TheNodeM-1-1-2 16 NewNode InitRnode end end grestore end Fu(X)402 1119 y tx@Dict begin gsave STV CP T 7.55716 0.0 6.91202 3.45601 3.61267 tx@NodeDict begin /TheNodeM-1-2-1 16 NewNode InitRnode end end grestore end Fu(Y)550 1119 y tx@Dict begin gsave STV CP T 7.55716 0.0 6.69315 3.34657 3.61267 tx@NodeDict begin /TheNodeM-1-2-2 16 NewNode InitRnode end end grestore end Fu(Z)579 1104 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-1-2 /TheNodeM-1-2-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 579 1104 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.5936 def /r 1.5936 def /h 1.67888 def /d 5.20628 def /flag true def HPutAdjust LPutCoor end PutBegin end 572 1119 a Ft(f)579 1104 y tx@Dict begin PutEnd end 579 1104 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-1-2 /TheNodeM-1-2-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 579 1104 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.92001 def /r 1.92001 def /h -0.26035 def /d 5.20628 def /flag false def HPutAdjust LPutCoor end PutBegin end 571 1119 a Ft(g)579 1104 y tx@Dict begin PutEnd end 579 1104 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-2-1 /TheNodeM-1-2-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 3.0 -2 0 add DotLine grestore grestore end 579 1104 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.92001 def /r 1.92001 def /h 1.67888 def /d 3.68947 def /flag false def VPutAdjust LPutCoor end PutBegin end 571 1119 a Ft(h)579 1104 y tx@Dict begin PutEnd end 712 607 a Fw($)712 667 y(\\psmatrix[colsep=1cm])803 727 y(&)23 b(X)g(\\\\)758 788 y(Y)g(&)g(Z)712 848 y(\\endpsmatrix)712 908 y(\\everypsbox{\\scriptstyle}\045)712 968 y (\\psset{nodesep=3pt,arrows=->})712 1028 y(\\ncline{1,2}{2,1})712 1089 y(\\tlput{f})712 1149 y(\\ncline{1,2}{2,2})712 1209 y(\\trput{g})712 1269 y(\\ncline[linestyle=dotted]{2,1}{2,2})712 1329 y(\\tbput{h})712 1390 y($)591 1525 y Fy(Y)-5 b(ou)14 b(can)h(include)h(the)g(node)f (connections)g(inside)g(the)h Fx(\\psmatrix)p Fy(,)f(in)g(the)g(last)591 1586 y(entry)10 b(and)h(right)f(before)h Fx(\\endpsmatrix)p Fy(.)16 b(One)10 b(advantage)h(to)f(doing)g(this)h(is)f(that)591 1646 y Fx(shortput=tab)f Fy(is)j(the)h(default)f(within)g(a)h Fx(\\psmatrix)p Fy(.)18 1947 y tx@Dict begin gsave STV CP T 7.55716 0.21887 8.60548 4.30273 3.61267 tx@NodeDict begin /TheNodeM-1-1-1 16 NewNode InitRnode end end grestore end Fu(U)231 2185 y tx@Dict begin gsave STV CP T 7.55716 1.79999 33.8329 16.91644 3.61267 tx@NodeDict begin /TheNodeM-1-2-2 16 NewNode InitRnode end end grestore end Fu(X)f Fs(\002)311 2192 y Ft(Z)342 2185 y Fu(Y)548 2185 y tx@Dict begin gsave STV CP T 7.55716 0.0 7.29219 3.64609 3.61267 tx@NodeDict begin /TheNodeM-1-2-3 16 NewNode InitRnode end end grestore end Fu(X)287 2422 y tx@Dict begin gsave STV CP T 7.55716 0.0 6.91202 3.45601 3.61267 tx@NodeDict begin /TheNodeM-1-3-2 16 NewNode InitRnode end end grestore end Fu(Y)550 2422 y tx@Dict begin gsave STV CP T 7.55716 0.0 6.69315 3.34657 3.61267 tx@NodeDict begin /TheNodeM-1-3-3 16 NewNode InitRnode end end grestore end Fu(Z)578 2422 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-1-1 /TheNodeM-1-2-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 578 2422 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.70497 def /r 1.70497 def /h -0.26035 def /d 5.20628 def /flag false def VPutAdjust LPutCoor end PutBegin end 571 2437 a Ft(y)578 2422 y tx@Dict begin PutEnd end 578 2422 a tx@Dict begin gsave STV newpath 2.6 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-1-1 /TheNodeM-1-2-3 InitNC { NCLine } if end gsave 2.6 SLW 0. setgray 5.0 3.0 0 0 add DashLine grestore gsave 1.0 SLW 1. setgray stroke grestore gsave grestore grestore end 578 2422 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.728 def /r 1.728 def /h -0.26035 def /d 3.68947 def /flag true def VPutAdjust LPutCoor end PutBegin end 571 2437 a Ft(x)578 2422 y tx@Dict begin PutEnd end 578 2422 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-2-2 /TheNodeM-1-3-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 578 2422 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.92001 def /r 1.92001 def /h -0.26035 def /d 5.20628 def /flag true def HPutAdjust LPutCoor end PutBegin end 570 2437 a Ft(q)578 2422 y tx@Dict begin PutEnd end 578 2422 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-2-2 /TheNodeM-1-2-3 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 578 2422 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.92001 def /r 1.92001 def /h -0.26035 def /d 5.20628 def /flag false def VPutAdjust LPutCoor end PutBegin end 570 2437 a Ft(p)578 2422 y tx@Dict begin PutEnd end 578 2422 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-2-3 /TheNodeM-1-3-3 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 578 2422 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.5936 def /r 1.5936 def /h 1.67888 def /d 5.20628 def /flag false def HPutAdjust LPutCoor end PutBegin end 571 2437 a Ft(f)578 2422 y tx@Dict begin PutEnd end 578 2422 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-3-2 /TheNodeM-1-3-3 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 578 2422 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.92001 def /r 1.92001 def /h -0.26035 def /d 5.20628 def /flag false def VPutAdjust LPutCoor end PutBegin end 570 2437 a Ft(g)578 2422 y tx@Dict begin PutEnd end 712 1761 a Fw($)758 1821 y(\\begin{psmatrix})803 1881 y(U)24 b(\\\\)849 1941 y(&)45 b(X\\times_Z)24 b(Y)f(&)g(X)g(\\\\)849 2002 y(&)136 b(Y)159 b(&)23 b(Z)803 2062 y(\\psset{arrows=->,nodesep=3pt})803 2122 y(\\everypsbox{\\scriptstyle})803 2182 y(\\ncline{1,1}{2,2}_{y})803 2242 y(\\ncline[doubleline=true,linestyle=dashed]{-}{1)o(,1}{2,3})o(\303{)o (x})803 2303 y(\\ncline{2,2}{3,2}<{q})803 2363 y(\\ncline{2,2}{2,3}_{p})803 2423 y(\\ncline{2,3}{3,3}>{f})803 2483 y(\\ncline{3,2}{3,3}_{g})758 2543 y(\\end{psmatrix})712 2604 y($)591 2828 y Fr(Mathematical)10 b(diagrams)f(and)h(graphs)733 b(26)p eop %%Page: 27 2 1 bop 591 50 a Fy(Y)-5 b(ou)11 b(can)h(change)h(the)f(kind)g(of)g(nodes)f (that)i(are)g(made)f(by)g(setting)g(the)712 181 y Fq(mnode=)p Fp(type)692 b Fo(Default:)19 b Fq(R)591 311 y Fy(parameter)m(.)40 b(V)-5 b(alid)19 b(types)g(are)g Fw(R)p Fy(,)h Fw(r)p Fy(,)g Fw(C)p Fy(,)f Fw(f)p Fy(,)j Fw(p)p Fy(,)e Fw(circle)p Fy(,)h Fw(oval)p Fy(,)g Fw(dia)p Fy(,)f Fw(tri)p Fy(,)h Fw(dot)e Fy(and)591 372 y Fw(none)p Fy(,)10 b(standing)h(for)h Fx(\\Rnode)p Fy(,)g Fx(\\rnode)p Fy(,)f Fx(\\Cnode)p Fy(,)h Fx(\\fnode)p Fy(,)f Fx(\\pnode)p Fy(,)g Fx(\\circlenode)p Fy(,)591 432 y Fx(\\ovalnode)p Fy(,)17 b Fx(\\dotnode)f Fy(and)g(no)g(node,)i(respectively)m(.)31 b(Note)17 b(that)g(for)f(circles,)591 492 y(you)11 b(use)h Fx(mnode=C)g Fy(and)g(set)g(the)h(radius)e(with)h(the)h Fx(radius)e Fy(parameter)m(.)591 581 y(For)g(example:)338 833 y tx@Dict begin gsave STV CP T 8.31749 2 div 7.7818 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeM-1-1-2 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 8.31749 2 div 7.7818 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(A)143 1093 y tx@Dict begin gsave STV CP T 7.68388 2 div 7.7818 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeM-1-2-1 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 7.68388 2 div 7.7818 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(B)341 1093 y tx@Dict begin gsave STV CP T 7.03876 2 div 7.7818 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeM-1-2-2 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 7.03876 2 div 7.7818 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(E)536 1093 y tx@Dict begin gsave STV CP T 7.68388 2 div 7.7818 0.15552 add 2 div 2 copy 0.15552 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeM-1-2-3 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 7.68388 2 div 7.7818 0.15552 add 2 div 2 copy 0.15552 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(C)338 1353 y tx@Dict begin gsave STV CP T 8.31749 2 div 7.7818 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeM-1-3-2 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 8.31749 2 div 7.7818 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(D)591 1337 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeM-1-2-2 /TheNodeM-1-2-3 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 591 1337 a tx@Dict begin tx@NodeDict begin /t 0.75 def LPut end PutBegin end 591 1337 a tx@Dict begin { 3.0 tx@Dict /NCLW known { NCLW add } if 4.66736 4.57275 0.08934 NAngle 90 add /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 581 1346 a Fn(a)591 1337 y tx@Dict begin PutEnd end 591 1337 a tx@Dict begin PutEnd end 591 1337 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeM-1-2-2 /TheNodeM-1-2-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 591 1337 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 591 1337 a tx@Dict begin { 3.0 tx@Dict /NCLW known { NCLW add } if 5.25603 7.10089 0.08934 NAngle 90 add /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 580 1351 a Fn(b)591 1337 y tx@Dict begin PutEnd end 591 1337 a tx@Dict begin PutEnd end 591 1337 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeM-1-3-2 /TheNodeM-1-2-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 591 1337 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 591 1337 a tx@Dict begin { 3.0 tx@Dict /NCLW known { NCLW add } if 4.66736 4.81978 0.08934 NAngle 90 add /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 581 1346 a Fn(c)591 1337 y tx@Dict begin PutEnd end 591 1337 a tx@Dict begin PutEnd end 591 1337 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { /ArrowBc [ 6 2 roll ] cvx def ArrowBc BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeM-1-3-2 /TheNodeM-1-1-2 InitNC { yB yA sub xB xA sub Atan dup -40. add /AngleA ED -40. sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 3.0 2 mul CLW add SLW 1. setgray stroke grestore gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore gsave ArrowBc ArrowB pop pop pop pop grestore grestore end 591 1337 a tx@Dict begin tx@NodeDict begin /t 0.3 def LPut end PutBegin end 591 1337 a tx@Dict begin { 3.0 tx@Dict /NCLW known { NCLW add } if 5.25603 7.10089 0.1419 NAngle 90 sub /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 580 1351 a Fn(d)591 1337 y tx@Dict begin PutEnd end 591 1337 a tx@Dict begin PutEnd end 591 1337 a tx@Dict begin tx@NodeDict begin /t 0.7 def LPut end PutBegin end 591 1337 a tx@Dict begin { 3.0 tx@Dict /NCLW known { NCLW add } if 4.66736 4.57275 0.08934 NAngle 90 add /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 581 1346 a Fn(e)591 1337 y tx@Dict begin PutEnd end 591 1337 a tx@Dict begin PutEnd end 591 1337 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeM-1-1-2 /TheNodeM-1-2-1 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA ED 12. sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 591 1337 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 591 1337 a tx@Dict begin { 3.0 tx@Dict /NCLW known { NCLW add } if 3.50052 7.10089 0.0 NAngle 90 add /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 584 1351 a Fn(f)591 1337 y tx@Dict begin PutEnd end 591 1337 a tx@Dict begin PutEnd end 591 1337 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeM-1-2-1 /TheNodeM-1-1-2 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA ED 12. sub 180 add /AngleB ED 0.67 0.67 NCCurve } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 591 1337 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 591 1337 a tx@Dict begin { 3.0 tx@Dict /NCLW known { NCLW add } if 5.25603 4.81978 2.2706 NAngle 90 add /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 580 1342 a Fn(g)591 1337 y tx@Dict begin PutEnd end 591 1337 a tx@Dict begin PutEnd end 712 696 a Fw(\\psmatrix[mnode=circle,colsep=1])803 756 y(&)23 b(A)g(\\\\)758 817 y(B)g(&)g(E)g(&)g(C)g(\\\\)803 877 y(&)g(D)g(&)712 937 y(\\endpsmatrix)712 997 y(\\psset{shortput=nab,arrows=->,labelsep=3pt})712 1057 y(\\small)712 1117 y(\\ncline{2,2}{2,3}\303[npos=.75]{a})712 1178 y(\\ncline{2,2}{2,1}\303{b})712 1238 y(\\ncline{3,2}{2,1}\303{c})712 1298 y(\\ncarc[arcangle=-40,border=3p)o(t]{3,2}{1)o(,2})758 1358 y(_[npos=.3]{d}\303[npos=.7]{e})712 1418 y (\\ncarc[arcangle=12]{1,2}{2,1}\303{f})712 1479 y (\\ncarc[arcangle=12]{2,1}{1,2}\303{g)o(})591 1618 y Fy(Note)13 b(that)g(a)h(node)f(is)g(made)g(only)g(for)g(the)h(non-empty)f(entries.)21 b(Y)-5 b(ou)12 b(can)i(also)591 1679 y(specify)e(a)g(node)g(for)f(the)i (empty)f(entries)h(by)f(setting)g(the)712 1809 y Fq(emnode=)p Fp(type)583 b Fo(Default:)20 b Fq(none)591 1940 y Fy(parameter)m(.)591 2029 y(Y)-5 b(ou)18 b(can)h(change)g(parameters)g(for)g(a)g(single)f(entry)h (by)g(starting)g(with)g(entry)591 2090 y(with)12 b(the)h(parameter)h (changes,)f(enclosed)g(in)g(square)g(brackets.)19 b(Note)13 b(that)g(the)591 2150 y(changes)g(af)o(fect)i(the)g(way)e(the)i(node)e(is)h (made,)h(but)f(not)g(contents)g(of)g(the)h(entry)591 2210 y(\(use)c Fx(\\psset)g Fy(for)h(this)g(purpose\).)k(For)c(example:)591 2828 y Fr(Mathematical)e(diagrams)f(and)h(graphs)733 b(27)p eop %%Page: 28 3 2 bop 526 197 a tx@Dict begin gsave STV CP T 7.29219 2 div 7.55716 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeM-1-1-2 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 7.29219 2 div 7.55716 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fu(X)357 434 y tx@Dict begin gsave STV CP T 7.55716 0.0 6.91202 3.45601 3.61267 tx@NodeDict begin /TheNodeM-1-2-1 16 NewNode InitRnode end end grestore end Fu(Y)527 434 y tx@Dict begin gsave STV CP T 7.55716 0.0 6.69315 3.34657 3.61267 tx@NodeDict begin /TheNodeM-1-2-2 16 NewNode InitRnode end end grestore end Fu(Z)579 419 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-1-2 /TheNodeM-1-2-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 579 419 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-1-2 /TheNodeM-1-2-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 579 419 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeM-1-2-1 /TheNodeM-1-2-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 3.0 -2 0 add DotLine grestore grestore end 712 31 a Fw($)712 92 y(\\psmatrix[colsep=1cm])803 152 y(&)23 b([mnode=circle])g (X)g(\\\\)758 212 y(Y)g(&)g(Z)712 272 y(\\endpsmatrix)712 332 y(\\psset{nodesep=3pt,arrows=->})712 393 y(\\ncline{1,2}{2,1})712 453 y(\\ncline{1,2}{2,2})712 513 y(\\ncline[linestyle=dotted]{2,1}{2,2})712 573 y($)591 703 y Fy(If)16 b(you)g(want)g(your)g(entry)h(to)f(begin)h(with)f (a)g Fw([)h Fy(that)g(is)f(not)h(meant)g(to)f(indicate)591 764 y(parameter)d(changes,)f(the)g(precede)h(it)f(by)g Fw({})p Fy(.)591 852 y(Y)-5 b(ou)11 b(can)h(assign)g(your)g(own)f(name)h(to)h(a)f (node)g(by)f(setting)i(the)712 977 y Fq(name=)p Fp(name)732 b Fo(Default:)591 1102 y Fy(parameter)16 b(at)g(the)g(beginning)g(of)g(the)f (entry)m(,)i(as)e(described)h(above.)28 b(Y)-5 b(ou)15 b(can)591 1163 y(still)d(refer)h(to)f(the)g(node)g(by)g Fw({)p Fv(row)t Fw(,)p Fv(col)s Fw(})p Fy(,)g(but)g(here)g(are)h(a)f(few)f(reasons)h(for)g (giving)591 1223 y(your)f(own)g(name)i(to)f(a)g(node:)665 1348 y Fz(\267)25 b Fy(The)13 b(name)f(may)h(be)f(easier)g(to)g(keep)h(track)f (of;)665 1448 y Fz(\267)25 b Fy(Unlike)10 b(the)g Fw({)p Fv(row)t Fw(,)p Fv(col)s Fw(})g Fy(names,)g(the)g(names)g(you)f(give)h(remain)g(valid) h(even)712 1508 y(when)h(you)g(add)g(extra)g(rows)f(or)h(columns)g(to)g(your) g(matrix.)665 1608 y Fz(\267)25 b Fy(The)11 b(names)f(remain)h(valid)f(even)g (when)g(you)g(start)g(a)g(new)g Fx(\\psmatrix)f Fy(that)712 1669 y(reuses)j(the)g Fw({)p Fv(row)t Fw(,)p Fv(col)s Fw(})g Fy(names.)591 1794 y(Here)f(a)i(few)e(more)h(things)g(you)g(should)g(know:) 665 1919 y Fz(\267)25 b Fy(The)13 b(baselines)f(of)f(the)i(nodes)e(pass)g (through)h(the)g(centers)g(of)g(the)g(nodes.)712 1979 y Fx(\\psmatrix)g Fy(achieves)h(this)f(by)f(setting)i(the)820 2079 y Fq(nodealign=)p Fp(true/false)319 b Fo(Default:)20 b Fq(false)712 2179 y Fy(parameter)h(to)f Fw(true)p Fy(.)38 b(Y)-5 b(ou)19 b(can)h(also)f(set)h(this)f(parameter)i (outside)e(of)712 2240 y Fx(\\psmatrix)12 b Fy(when)g(you)f(want)h(this)g (kind)g(of)g(alignment.)665 2340 y Fz(\267)25 b Fy(Y)-5 b(ou)12 b(can)g(left)h(or)f(right-justify)g(the)h(nodes)e(by)h(setting)g(the)820 2440 y Fq(mcol=)p Fp(l/r/c)650 b Fo(Default:)20 b Fq(c)712 2540 y Fy(parameter)m(.)f Fw(l)p Fy(,)12 b Fw(r)g Fy(and)g Fw(c)g Fy(stand)g(for)g Fw(left)p Fy(,)g Fw(right)g Fy(and)g Fw(center)p Fy(,)f(respectively)m(.)665 2640 y Fz(\267)25 b Fy(The)13 b(space)f(between)g(rows)f(and)h(columns)g(is)g(set)g(by)g(the)591 2828 y Fr(Mathematical)e(diagrams)f(and)h(graphs)733 b(28)p eop %%Page: 29 4 3 bop 820 50 a Fq(rowsep=)p Fp(dim)482 b Fo(Default:)20 b Fq(1.5cm)820 110 y(colsep=)p Fp(dim)498 b Fo(Default:)20 b Fq(1.5cm)712 212 y Fy(parameters.)665 313 y Fz(\267)25 b Fy(If)12 b(you)g(want)g(all)h (the)f(nodes)g(to)g(have)g(a)g(\256xed)g(with,)g(set)820 415 y Fq(mnodesize=)p Fp(dim)448 b Fo(Default:)20 b Fq(-1pt)712 517 y Fy(to)13 b(a)f(positive)g(value.)665 619 y Fz(\267)25 b Fy(If)14 b Fx(\\psmatrix)f Fy(is)g(used)g(in)h(math)g(mode,)f(all)i(the)e (entries)h(are)g(set)g(in)f(math)712 679 y(mode,)19 b(but)f(you)f(can)h (switch)f(a)g(single)h(entry)g(out)f(of)g(math)h(mode)g(by)712 739 y(starting)13 b(and)f(ending)g(the)g(entry)h(with)f Fw($)p Fy(.)665 841 y Fz(\267)25 b Fy(The)11 b(radius)g(of)f(the)h Fw(c)g Fx(mnode)g Fy(\(corresponding)f(to)h Fx(\\cnode)p Fy(\))f(is)g(set)h (by)f(the)820 942 y Fq(radius=)p Fp(dim)571 b Fo(Default:)20 b Fq(2pt)712 1044 y Fy(parameter)m(.)665 1146 y Fz(\267)25 b Fy(Like)17 b(in)g(L)882 1140 y(a)896 1146 y(T)917 1161 y(E)940 1146 y(X,)f(you)g(can)g(end)h(a)f(row)g(with)g Fw(\\\\[)p Fv(dim)q Fw(])h Fy(to)f(insert)h(an)f(extra)712 1206 y(space)d Fv(dim)f Fy(between)h(rows.)665 1308 y Fz(\267)25 b Fy(The)16 b(command)f Fw(\\psrowhookii)g Fy(is)g(executed,)h(if)g(de\256ned,)f(at)g(the)h(begin-) 712 1368 y(ning)9 b(of)f(every)h(entry)g(in)g(row)f Fw(ii)g Fy(\(row)g(2\),)h(and)g(the)g(command)g Fw(\\pscolhookv)712 1428 y Fy(is)16 b(executed)h(at)f(athe)g(beginning)g(of)g(every)f(entry)h(in) g(column)g Fw(v)g Fy(\(etc.\).)712 1488 y(Y)-5 b(ou)12 b(can)h(use)f(these)h (hooks,)f(for)g(example,)h(to)g(change)f(the)h(spacing)g(be-)712 1548 y(tween)h(two)f(columns,)g(or)g(to)h(use)e(a)i(special)g Fx(mnode)f Fy(for)g(all)h(the)f(entries)712 1609 y(in)g(a)f(particular)h(row) m(.)665 1710 y Fz(\267)25 b Fy(An)14 b(entry)g(can)g(itself)g(be)g(a)g(node.) 23 b(Y)-5 b(ou)13 b(might)h(do)g(this)g(if)g(you)f(want)h(an)712 1770 y(entry)f(to)f(have)g(two)g(shapes.)665 1872 y Fz(\267)25 b Fy(If)15 b(you)f(want)h(an)f(entry)h(to)g(stretch)g(across)f(several)h(\()p Fv(int)t Fy(\))f(columns,)h(use)712 1932 y(the)820 2049 y Fq(\\psspan{)p Fp(int)t Fq(})712 2150 y Fu(at)i(the)g(end)f(of)h(the)g(entry)p Fy(.)30 b(This)17 b(is)f(like)h(Plain)g(T)1569 2161 y(E)1592 2150 y(X')m(s)f Fx(\\multispan)p Fy(,)i(or)712 2210 y(L)724 2204 y(a)738 2210 y(T)759 2225 y(E)783 2210 y(X')m(s)8 b Fx(\\multicolumn)p Fy(,)j(but)e(the)h(template)g(for)f(the)h(current)f(column)g(\(the)712 2271 y(\256rst)15 b(column)g(that)g(is)g(spanned\))g(is)f(still)i(used.)25 b(If)15 b(you)f(want)h(wipe)g(out)712 2331 y(the)j(template)h(as)e(well,)i (use)d Fw(\\multispan{)p Fv(int)t Fw(})h Fu(at)g(the)h(beginning)f(of)g(the) 712 2391 y(entry)12 b Fy(instead.)18 b(If)12 b(you)f(just)h(want)g(to)g(wipe) f(out)h(the)g(template,)i(use)d Fw(\\omit)712 2451 y Fy(before)i(the)f(entry) m(.)591 2828 y Fr(Mathematical)e(diagrams)f(and)h(graphs)733 b(29)p eop %%Page: 30 5 4 bop 665 50 a Fz(\267)25 b Fx(\\psmatrix)13 b Fy(can)g(be)g(nested,)h(but)f (then)g(all)g(node)g(connections)h(and)f(other)712 110 y(references)f(to)f (the)g(nodes)f(in)h(the)h Fw({)p Fv(row)t Fw(,)p Fv(col)s Fw(})e Fy(form)h(for)g(the)g(nested)g(matrix)712 170 y Fu(must)21 b(go)g(inside)h Fy(the)f Fx(\\psmatrix)p Fy(.)45 b(This)22 b(is)f(how)f(PST)n(ricks)h(decides)712 230 y(which)e(matrix)g(you)f(are)g (referring)h(to.)36 b(It)18 b(is)g(still)h(neatest)g(to)g(put)f(all)712 291 y(the)f(node)f(connections)g(towards)f(the)h(end;)j(just)d(be)g(sure)f (to)h(put)g(them)712 351 y(before)e Fx(\\endpsmatrix)p Fy(.)21 b(Be)14 b(careful)g(also)g(not)g(to)f(refer)h(to)g(a)g(node)f(until)712 411 y(it)g(actually)g(appears.)k(The)12 b(whole)g(matrix)g(can)g(itself)h(go) e(inside)h(a)g(node,)712 471 y(and)g(node)f(connections)h(can)g(be)g(made)g (as)f(usual.)17 b(This)12 b(is)f(not)h(the)g(same)712 531 y(as)j(connecting)g (nodes)g(from)f(two)h(dif)o(ferent)g Fx(\\psmatrix)p Fy(')m(s.)25 b(T)m(o)14 b(do)h(this,)712 592 y(you)c(must)f(give)h(the)g(nodes)f(names)g (and)h(refer)f(to)h(them)g(by)f(these)h(names.)366 789 y Fm(12)71 b(Obsolete)19 b(put)h(commands)591 910 y Fy(This)f(is)g(old)h(documentation,) i(but)e(these)g(commands)f(will)h(continue)g(to)g(be)591 970 y(supported.)591 1059 y(There)11 b(is)g(also)f(an)h(obsolete)g(command)h Fx(\\Lput)f Fy(for)f(putting)h(labels)h(next)f(to)g(node)591 1120 y(connections.)17 b(The)c(syntax)e(is)712 1250 y Fw(\\Lput{)p Fv(labelsep)q Fw(}[)p Fv(refpoint)t Fw(]{)p Fv(rotation)q Fw(}\()o Fv(pos)q Fw(\){)o Fv(stuff)6 b Fw(})591 1381 y Fy(It)12 b(is)g(a)g (combination)h(of)f Fx(\\Rput)g Fy(and)g Fx(\\lput)p Fy(,)g(equivalent)h(to) 712 1512 y Fw(\\lput\()p Fv(pos)q Fw(\){\\Rput{)p Fv(labelsep)q Fw(}[)p Fv(refpoint)t Fw(]{)p Fv(rotation)q Fw(})o(\(0)o(,0\){)p Fv(stuff)6 b Fw(}})591 1643 y Fx(\\Mput)16 b Fy(is)g(a)h(short)f(version)g (of)h Fx(\\Lput)f Fy(with)g(no)h Fw({)p Fv(rotation)q Fw(})d Fy(or)j Fw(\()p Fv(pos)q Fw(\))e Fy(ar)o(gument.)591 1703 y Fx(\\Lput)f Fy(and)g Fx(\\Mput)h Fy(remain)g(part)g(of)f(PST)n(ricks)g(only)h (for)f(backwards)g(compati-)591 1763 y(bility)m(.)591 1852 y(Here)d(are)i(the)f(node)g(label)h(commands:)591 1983 y Fq(\\lput)p Fl(*[)p Fk(refpoint)t Fl(]{)p Fk(rotation)q Fl(})p Fq(\()p Fp(pos)p Fq(\){)p Fp(stuf)o(f)6 b Fq(})712 2064 y Fy(The)15 b Fw(l)g Fy(stands)f(for)g(\252label\272.)26 b(Here)14 b(is)h(an)f(example)i (illustrating)f(the)g(use)712 2124 y(of)d(the)g(optional)h(star)f(and)g Fw(:)p Fv(angle)g Fy(with)g Fx(\\lput)p Fy(,)g(as)f(well)h(as)g(the)g(use)g (of)f(the)712 2184 y Fx(offset)g Fy(parameter)i(with)f Fx(\\pcline)p Fy(:)118 2533 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray [ 113.81097 0.0 113.81097 56.90549 0.0 0.0 /Lineto /lineto load def false Polygon gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 118 2533 a tx@Dict begin gsave STV CP T 0.0 0.0 tx@NodeDict begin /TheNode@@A 10 NewNode InitPnode end end grestore end 118 2533 a tx@Dict begin gsave STV CP T 113.81097 56.90549 tx@NodeDict begin /TheNode@@B 10 NewNode InitPnode end end grestore end 118 2533 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { BeginArrow 2.0 5. Tbar EndArrow moveto } def /ArrowB { BeginArrow 2.0 5. Tbar EndArrow } def /NCLW CLW def tx@NodeDict begin 12.0 12.0 neg 0.0 0.0 /TheNode@@A /TheNode@@B InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 118 2533 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 118 2533 a tx@Dict begin NAngle tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def end 50 2544 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 1. setgray 0. true 3.0 neg 5.48833 neg 35.63637 10.7818 .5 Frame gsave 1. setgray fill grestore end @endspecial Fy(Length)118 2533 y tx@Dict begin /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def end 118 2533 a tx@Dict begin PutEnd end 712 2347 a Fw(\\pspolygon\(0,0\)\(4,2\)\(4,0\))712 2407 y(\\pcline[of)o(fset=12pt]{|-|}\(0,0\)\(4,2\))712 2468 y(\\lput*{:U}{Length})591 2828 y Fr(Obsolete)d(put)h(commands)911 b(30)p eop %%Page: 31 6 5 bop 712 50 a Fy(\(Remember)15 b(that)f(with)f(the)h Fw(put)g Fy(commands,)g(you)f(can)h(omit)g(the)g(coor)o(-)712 110 y(dinate)h(if)e(you) h(include)g(the)g(angle)g(of)f(rotation.)22 b(Y)-5 b(ou)13 b(are)h(likely)g(to)g(use)712 170 y(this)f(feature)f(with)g(the)h(node)f (label)g(commands.\))712 251 y(W)n(ith)g Fx(\\lput)f Fy(and)f Fx(\\rput)p Fy(,)h(you)f(have)h(a)g(lot)g(of)g(control)g(over)f(the)h (position)g(of)712 311 y(the)i(label.)18 b(E.g.,)118 624 y tx@Dict begin gsave STV CP T 0.0 0.0 tx@NodeDict begin /TheNode@@A 10 NewNode InitPnode end end grestore end 118 624 a tx@Dict begin gsave STV CP T 113.81097 56.90549 tx@NodeDict begin /TheNode@@B 10 NewNode InitPnode end end grestore end 118 624 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNode@@A /TheNode@@B InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 118 624 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 118 624 a tx@Dict begin NAngle tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def end 118 577 a tx@Dict begin mark RAngle /a ED cleartomark a neg tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def end 25 593 a Fy(label)118 577 y tx@Dict begin /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def end 118 624 a tx@Dict begin /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def end 118 624 a tx@Dict begin PutEnd end 712 487 a Fw(\\pcline\(0,0\)\(4,2\)) 712 547 y(\\lput{:U}{\\rput[r]{N}\(0,.4\){label}})712 747 y Fy(puts)j(the)g(label)h(upright)f(on)g(the)g(page,)j(with)d(right)g(side)g (located)h(.4)712 807 y(centimeters)11 b(\252above\272)f(the)f(position)g Fw(.5)g Fy(of)g(the)h(node)f(connection)h(\(above)712 867 y(if)17 b(the)f(node)g(connection)h(points)f(to)g(the)g(right\).)30 b(However)n(,)16 b(the)g Fx(\\aput)712 927 y Fy(and)f Fx(\\bput)f Fy(commands)g(described)h(below)f(handle)h(the)f(most)g(common)712 988 y(cases)e(without)g Fx(\\rput)p Fy(.)1086 969 y Fj(8)591 1089 y Fq(\\aput)p Fl(*[)p Fk(labelsep)q Fl(]{)p Fk(angle)q Fl(})p Fq(\()p Fp(pos)p Fq(\){)p Fp(stuff)6 b Fq(})712 1170 y Fv(stuff)23 b Fy(is)16 b(positioned)g(distance)g Fx(\\pslabelsep)g Fu(above)f Fy(the)i(node)e(connec-)712 1230 y(tion,)10 b(given)e(the)h (convention)g(that)g(node)f(connections)h(point)f(to)h(the)g(right.)712 1291 y Fw(\\aput)j Fy(is)g(a)g(node-connection)h(variant)g(of)f Fx(\\uput)p Fy(.)17 b(For)11 b(example:)118 1604 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray [ 113.81097 0.0 113.81097 56.90549 0.0 0.0 /Lineto /lineto load def false Polygon gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 118 1604 a tx@Dict begin gsave STV CP T 0.0 0.0 tx@NodeDict begin /TheNode@@A 10 NewNode InitPnode end end grestore end 118 1604 a tx@Dict begin gsave STV CP T 113.81097 56.90549 tx@NodeDict begin /TheNode@@B 10 NewNode InitPnode end end grestore end 118 1604 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNode@@A /TheNode@@B InitNC { NCLine } if end grestore end 118 1604 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 118 1604 a tx@Dict begin NAngle tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def end 118 1604 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 55.0314 7.7818 2.48833 NAngle 90 add NAngle sub /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 4 1615 a Fy(Hypotenuse)118 1604 y tx@Dict begin PutEnd end 118 1604 a tx@Dict begin /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def end 118 1604 a tx@Dict begin PutEnd end 712 1436 a Fw(\\pspolygon\(0,0\)\(4,2\)\(4,0\))712 1496 y(\\pcline[linestyle=none]\(0,0\)\(4,2\))712 1556 y (\\aput{:U}{Hypotenuse})591 1726 y Fq(\\bput)p Fl(*[)p Fk(labelsep)q Fl(]{)p Fk(angle)q Fl(})p Fq(\()p Fp(pos)p Fq(\){)p Fp(stuf)o(f)c Fq(})712 1807 y Fy(This)14 b(is)f(like)h Fx(\\aput)p Fy(,)f(but)g Fv(stuff)20 b Fy(is)14 b(positioned)f Fu(below)h Fy(the)f(node)g(connec-)712 1867 y(tion.)591 1998 y(It)e(is)g(fairly)h(common)g(to)f(want)h(to)f(use)g (the)h(default)g(position)f(and)h(rotation)g(with)591 2058 y(these)k(node)g(connections,)i(but)e(you)g(have)h(to)f(include)h(at)g(least) g(one)f(of)h(these)591 2118 y(ar)o(guments.)g(Therefore,)c(PST)n(ricks)e (contains)i(some)e(variants:)p 591 2163 544 2 v 646 2193 a Fi(8)662 2208 y Fh(There)g(is)f(also)f(an)i(obsolete)e(command)h Fg(\\Lput)g Fh(for)h(putting)g(labels)e(next)h(to)h(node)f(connec-)591 2258 y(tions.)j(The)d(syntax)f(is)698 2329 y Ff(\\Lput{)p Fe(labelsep)q Ff(}[)p Fe(refpoint)s Ff(]{)p Fe(rotation)q Ff(}\()p Fe(pos)q Ff(\){)p Fe(stuf)q(f)c Ff(})630 2399 y Fh(It)11 b(is)e(a)h(combination)f(of)h Fg(\\Rput)g Fh(and)g Fg(\\lput)p Fh(,)h(equivalent)d(to)698 2470 y Ff(\\lput\()p Fe(pos)q Ff(\){\\Rput{)p Fe(labelsep)q Ff(}[)p Fe(refpoint)s Ff(]{)p Fe(rotat)q(ion)q Ff(}\(0,0\){)p Fe(st)q(uff)e Ff(}})630 2540 y Fg(\\Mput)15 b Fh(is)f(a)g(short)g(version)f (of)h Fg(\\Lput)h Fh(with)f(no)g Ff({)p Fe(rotation)q Ff(})h Fh(or)f Ff(\()p Fe(pos)q Ff(\))g Fh(ar)o(gument.)27 b Fg(\\Lput)14 b Fh(and)591 2590 y Fg(\\Mput)c Fh(remain)g(part)g(of)g(PST)o(ricks)g(only)f (for)i(backwards)d(compatibility)m(.)591 2828 y Fr(Obsolete)h(put)h(commands) 911 b(31)p eop %%Page: 32 7 6 bop 712 50 a Fq(\\mput)p Fl(*[)p Fk(refpoint)t Fl(])p Fq({)p Fp(stuf)o(f)6 b Fq(})712 125 y(\\Aput)p Fl(*[)p Fk(labelsep)q Fl(])p Fq({)p Fp(stuf)o(f)g Fq(})712 199 y(\\Bput)p Fl(*[)p Fk(labelsep)q Fl(])p Fq({)p Fp(stuf)o(f)g Fq(})591 330 y Fy(of)12 b Fx(\\lput)p Fy(,)g Fx(\\aput)g Fy(and)g Fx(\\bput)p Fy(,)g(respectively)m (,)h(that)g(have)f(no)g(angle)h(or)f(positioning)591 390 y(ar)o(gument.)18 b(For)11 b(example:)118 711 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 0 360 arc fill end @endspecial 118 711 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeA 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 113.81097 56.90549 3.0 0 360 arc fill end @endspecial 118 711 a tx@Dict begin gsave STV CP T 113.81097 56.90549 3.0 tx@NodeDict begin /TheNodeB 11 NewNode InitCnode end end grestore end 118 711 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeA /TheNodeB InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 118 711 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 106 728 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 1. setgray 0. true 3.0 neg 3.0 neg 8.76004 10.7818 .5 Frame gsave 1. setgray fill grestore end @endspecial Fy(1)118 711 y tx@Dict begin PutEnd end 712 514 a Fw(\\cnode*\(0,0\){3pt}{A})712 574 y(\\cnode*\(4,2\){3pt}{B})712 634 y(\\ncline[nodesep=3pt]{A}{B})712 694 y(\\mput*{1})591 842 y Fy(Here)g(is)h(another:)118 1154 y tx@Dict begin gsave STV CP T 0.0 0.0 tx@NodeDict begin /TheNode@@A 10 NewNode InitPnode end end grestore end 118 1154 a tx@Dict begin gsave STV CP T 113.81097 56.90549 tx@NodeDict begin /TheNode@@B 10 NewNode InitPnode end end grestore end 118 1154 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow moveto } def /ArrowB { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNode@@A /TheNode@@B InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 118 1154 a tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin end 118 1154 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 26.2312 7.7818 0.09792 NAngle 90 add /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 64 1170 a Fy(Label)118 1154 y tx@Dict begin PutEnd end 118 1154 a tx@Dict begin PutEnd end 712 1016 a Fw(\\pcline{<->}\(0,0\)\(4,2\))712 1076 y(\\Aput{Label})591 2828 y Fr(Obsolete)d(put)h(commands)911 b(32)p eop %%Page: 33 8 7 bop 291 265 a Fd(II)591 182 y Fc(T)-5 b(rees)366 584 y Fm(13)71 b(Overview)591 705 y Fy(The)12 b(node)g(and)h(node)f(connections)h(are)f (perfect)h(tools)f(for)g(making)h(trees.)18 b(The)325 729 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray [ 31.29819 -15.6491 31.29819 14.22636 -6.25954 14.22636 -6.25954 18.4941 -25.03864 18.4941 -25.03864 14.22636 -31.29819 14.22636 -31.29819 -15.6491 /r 2.0 def /Lineto { Arcto } def false Polygon gsave 3.0 45. PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1. setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 251 747 a Fq(pstree)591 765 y Fy(\256le)12 b Fw(pstree.tex)h Fy(/)h Fw(pstree.sty)f Fy(contains)g(a)g(high-level)h(interface)g(for)f(positioning)591 825 y(the)f(nodes)f(in)i(a)f(tree.)591 914 y(The)g(main)g(tree)h(macro)g(is) 712 1054 y Fq(\\pstree{)p Fp(\(root\)node)r Fq(}{)p Fp(\(sub\)tre)q(es)k(and) d(\(terminal\)nodes)r Fq(})591 1179 y Fy(This)e(positions)f(the)i(root)f (node)g(above)g(its)g(successors.)374 1309 y tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0 14 NewNode /X 9.27942 def /Y 3.34946 def /w 16.92111 def /h 8.67459 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0 360 16.92111 CLW 2 div sub 8.67459 CLW 2 div sub 9.27942 3.34946 /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(root)255 1531 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 255 1531 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 255 1531 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 360 1531 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 360 1531 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 465 1531 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 465 1531 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 570 1531 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-3 11 NewNode InitCnode end end grestore end 570 1531 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-3 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 1410 a Fw(\\pstree{\\T)-5 b(oval{root}}{\\TC*)22 b(\\TC*)h(\\TC*)h(\\TC*})591 1665 y Fx(\\pstree)12 b Fy(produces)h(a)g(box)h(that)g(encloses)f(all)h(the)g (nodes,)f(and)h(whose)e(baseline)591 1725 y(passes)f(through)g(the)i(center)g (of)e(the)i(root)f(node.)591 1814 y(For)k(most)h(of)g(the)g(nodes)g (described)g(in)h(Section)f(6)g(\(e.g.,)h Fx(\\ovalnode)p Fy(\),)g(there)591 1874 y(is)f(a)g(variant)h(for)f(use)g(within)g(a)h(tree)g(\(e.g.,)g Fx(\\T)m(oval)p Fy(\).)33 b(Note)17 b(that)h(there)g(is)f(no)591 1934 y(distinction)g(between)g(a)g(terminal)h(node)e(and)h(a)f(root)h(node,)h (other)e(than)h(their)591 1994 y(position)12 b(in)g(the)g Fx(\\pstree)f Fy(command.)591 2083 y(A)g(tree,)i(when)e(included)i(in)f(the)g(list)h(or)f (successors,)e(becomes)j(a)f(subtree.)461 2159 y tx@Dict begin gsave STV CP T 0 0 tx@NodeDict begin /TheNodeT-0 10 NewNode InitPnode end end grestore end 352 2395 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 352 2395 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 352 2395 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 109 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 461 2395 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 461 2395 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 408 2632 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 408 2632 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 408 2632 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 106 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 514 2632 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 514 2632 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 570 2395 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 570 2395 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 570 2395 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 2320 a Fw(\\pstree{\\Tp}{\045)758 2380 y(\\TC*)758 2440 y(\\pstree{\\T)-5 b(c{3pt}}{\\TC*)22 b(\\TC*})758 2501 y(\\TC*})591 2828 y Fr(T)o(rees)1221 b(33)p eop %%Page: 34 9 8 bop 366 51 a Fm(14)71 b(T)l(ree)20 b(Nodes)591 172 y Fy(For)11 b(most)h(nodes)f(described)h(in)g(Section)g(6,)g(you)f(can)h(add)g(strip)g Fw(node)f Fy(from)g(the)591 233 y(end)j(of)g(the)h(name)g(and)f(add)h Fw(T)f Fy(add)g(the)h(beginning)g(to)f(obtain)h(a)g(node)f(for)g(use)591 293 y(in)g(trees.)24 b(The)14 b(syntax)g(of)g(a)g(tree)h(node)f(is)g(the)h (same)f(as)g(of)g(its)g(corresponding)591 353 y(\252normal\272)e(node,)g (except)h(that:)665 484 y Fz(\267)25 b Fy(there)14 b(is)e(always)h(an)f (optional)i(ar)o(gument)f(for)g(setting)g(graphics)f(param-)712 544 y(eters,)h(even)f(if)g(the)g(original)h(node)f(did)g(not)g(have)h(one,) 665 646 y Fz(\267)25 b Fy(there)13 b(is)f(no)g(ar)o(gument)g(for)g (specifying)g(the)h(name)f(of)g(the)g(node,)g(and)665 747 y Fz(\267)25 b Fy(there)13 b(is)f(never)g(a)g(coordinate)h(ar)o(gument)g(for)e (positioning)i(the)f(node.)665 849 y Fz(\267)25 b Fy(to)13 b(set)f(the)g(reference)h(point)f(with)g Fx(\\T)n(r)p Fy(,)g(set)g(the)h Fx(ref)e Fy(parameter)m(.)591 980 y(Here)g(is)h(the)h(list)f(of)g(such)g (tree)g(nodes:)712 1125 y Fq(\\Tp)p Fl(*[)p Fk(par)5 b Fl(])712 1200 y Fq(\\T)l(c)p Fl(*[)p Fk(par)g Fl(])p Fq({)p Fp(dim)q Fq(})712 1274 y(\\TC)p Fl(*[)p Fk(par)g Fl(])712 1349 y Fq(\\Tf)p Fl(*[)p Fk(par)g Fl(])712 1424 y Fq(\\Tdot)p Fl(*[)p Fk(par)g Fl(])712 1499 y Fq(\\T)m(r)p Fl(*[)p Fk(par)g Fl(])p Fq({)p Fp(stuf)o(f)h Fq(})712 1573 y(\\TR)p Fl(*[)p Fk(par)f Fl(])p Fq({)p Fp(stuf)o(f)h Fq(})712 1648 y(\\T)l(circle)p Fl(*[)p Fk(par)f Fl(])p Fq({)p Fp(stuf)o(f)h Fq(})712 1723 y(\\T)l(oval)p Fl(*[)p Fk(par)f Fl(])p Fq({)p Fp(stuf)o(f)h Fq(})712 1798 y(\\Tdia)p Fl(*[)p Fk(par)f Fl(])p Fq({)p Fp(stuf)o(f)h Fq(})712 1872 y(\\Ttri)p Fl(*[)p Fk(par)f Fl(])p Fq({)p Fp(stuf)o(f)h Fq(})591 2003 y Fx(\\Rnode)13 b Fy(is)f(a)h(good)g(choice)g(when)g(you)f (want)h(the)g(baselines)g(of)g(the)g(text)g(in)g(the)591 2063 y(nodes)e(to)h(line)h(up)f(horizontally)m(.)441 2221 y tx@Dict begin gsave STV CP T 7.29219 2 div 7.55716 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 7.29219 2 div 7.55716 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fu(X)328 2456 y tx@Dict begin gsave STV CP T 11.76196 0.0 7.29219 3.64609 3.61267 tx@NodeDict begin /TheNodeT-0-0 16 NewNode InitRnode end end grestore end 335 2438 a Fy(\304)335 2447 y(\304)328 2456 y Fu(X)344 2441 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 3.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 447 2456 a tx@Dict begin gsave STV CP T 5.0285 0.11519 5.18402 2.59201 3.61267 tx@NodeDict begin /TheNodeT-0-1 16 NewNode InitRnode end end grestore end Fu(x)458 2441 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 3.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 557 2456 a tx@Dict begin gsave STV CP T 5.0285 2.39041 5.11491 2.55745 3.61267 tx@NodeDict begin /TheNodeT-0-2 16 NewNode InitRnode end end grestore end Fu(y)568 2441 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 3.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 735 2180 a Fw($)735 2240 y(\\pstree[nodesepB=3pt]{\\T)-5 b(circle{X}}{\045)781 2300 y(\\TR{\\tilde{\\tilde{X}}})781 2360 y(\\TR{x})781 2420 y(\\TR{y}})735 2481 y($)591 2617 y Fy(Compare)12 b(the)g(preceding)h(example)g(with)f(the)g (next)g(one,)g(which)g(uses)f Fx(\\rnode)p Fy(:)591 2828 y Fr(T)o(ree)e(Nodes)1122 b(34)p eop %%Page: 35 10 9 bop 441 73 a tx@Dict begin gsave STV CP T 7.29219 2 div 7.55716 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 7.29219 2 div 7.55716 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fu(X)328 318 y tx@Dict begin gsave STV CP T 11.76196 0.0 7.29219 3.64609 5.88098 tx@NodeDict begin /TheNodeT-0-0 16 NewNode InitRnode end end grestore end 335 299 a Fy(\304)335 308 y(\304)328 318 y Fu(X)344 293 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 3.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 447 304 a tx@Dict begin gsave STV CP T 5.0285 0.11519 5.18402 2.59201 2.45665 tx@NodeDict begin /TheNodeT-0-1 16 NewNode InitRnode end end grestore end Fu(x)458 293 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 3.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 557 298 a tx@Dict begin gsave STV CP T 5.0285 2.39041 5.11491 2.55745 1.31905 tx@NodeDict begin /TheNodeT-0-2 16 NewNode InitRnode end end grestore end Fu(y)568 293 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 3.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 735 31 a Fw($)735 92 y(\\pstree[nodesepB=3pt]{\\T)-5 b(circle{X}}{\045)781 152 y(\\T)n(r{\\tilde{\\tilde{X}}})781 212 y(\\T)n(r{x})781 272 y(\\T)n(r{y}})735 332 y($)591 468 y Fy(There)12 b(is)g(also)g(a)g(null)g (tree)h(node)712 614 y Fq(\\Tn)591 744 y Fy(It)f(is)g(meant)g(to)h(be)f(just) g(a)g(place)h(holder)m(.)370 838 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 370 838 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 271 1074 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 271 1074 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 271 1074 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 223 1310 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 223 1310 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0-0 11 NewNode InitCnode end end grestore end 223 1310 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeT-0-0 /TheNodeT-0-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 469 1074 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 469 1074 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 469 1074 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 417 1310 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 417 1310 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 417 1310 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 522 1310 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 522 1310 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 570 1546 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 570 1546 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1-1 11 NewNode InitCnode end end grestore end 570 1546 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 3.0 /TheNodeT-0-1-1 /TheNodeT-0-1-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 1082 a Fw (\\pstree[nodesep=3pt]{\\TC*}{\045)758 1142 y(\\pstree{\\TC*}{\\TC*)23 b(\\Tn})758 1202 y(\\pstree{\\TC*}{\045)803 1263 y(\\TC*)803 1323 y(\\pstree{\\TC*}{\\Tn\\TC*}}})591 1685 y Fy(Actually)m(,)12 b(if)g(I)g(was)f(going)h(to)g(do)g(this)g(a)g(lot)h(I)f(would)f(de\256ne)h (some)g(short-cuts:)712 1816 y Fw(\\def\\mytree{\\pstree{\\TC*}})712 1876 y(\\def\\ltree#1{\\mytree{#1\\Tn}})712 1937 y (\\def\\rtree#1{\\mytree{\\Tn#1}})712 1997 y(\\psset{nodesep=3pt})712 2057 y(\\mytree{\045)758 2117 y(\\ltree{\\TC*})758 2177 y(\\mytree{\045)803 2237 y(\\TC*)803 2298 y(\\rtree{\\TC*}}})591 2428 y Fy(There)j(is)g(also)f(a) h(special)h(tree)f(node)g(that)h(doesn')o(t)e(have)h(a)g(\252normal\272)h (version)591 2489 y(and)c(that)g(can')o(t)h(be)f(used)g(as)f(the)i(root)f (node)g(of)g(a)g(whole)g(tree:)712 2634 y Fq(\\Tfan)p Fl(*[)p Fk(par)5 b Fl(])591 2828 y Fr(T)o(ree)k(Nodes)1122 b(35)p eop %%Page: 36 11 10 bop 591 50 a Fy(This)12 b(draws)f(a)h(triangle)h(whose)e(base)h(is)712 169 y Fq(fansize=)p Fp(dim)636 b Fo(Default:)20 b Fq(1cm)591 288 y Fy(and)8 b(whose)f(opposite)i(corner)f(is)h(the)f(predecessor)h(node,)g (adjusted)f(by)g(the)h(value)591 348 y(of)i Fx(nodesepA)h Fy(and)g Fx(offsetA)p Fy(.)e(For)i(example:)341 489 y tx@Dict begin gsave STV CP T 15.35626 2 div 7.7818 0.09792 add 2 div 2 copy 0.09792 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 15.35626 2 div 7.7818 0.09792 add 2 div 2 copy 0.09792 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(foo)224 710 y tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0-0 16 NewNode /Y 0 def /X 0 def /l 13.82637 def /r l def /u 0.4 def /d u def /NodePos { GetRnodePos } def end end grestore end 224 710 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /w 13.82637 CLW 2 div sub def /m true def Tfan } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 378 710 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0-1 14 NewNode 0 0 /Y ED /X ED /d .5 .5 sub CLW mul neg def /r 2.0 d add def /l r neg def /u 2.0 d add def /d u neg def /NodePos { GetRnodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 0. setgray /x2 2.0 CLW .5 mul sub def /y2 2.0 CLW .5 mul sub def 0 0 2 copy y2 sub /y1 ED x2 sub /x1 ED y2 add /y2 ED x2 add /x2 ED 0. true 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse gsave 0. setgray fill grestore end @endspecial 378 710 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 475 726 a tx@Dict begin gsave STV CP T 11.5818 3.89792 22.31114 11.15556 3.84193 tx@NodeDict begin /TheNodeT-0-2 16 NewNode InitRnode end end grestore end 16 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.5 true 3.8 neg 3.89792 neg 18.51114 11.5818 .5 Frame gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(bar)521 710 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 521 946 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0-2-0 16 NewNode /Y 0 def /X 0 def /l 13.82637 def /r l def /u 0.4 def /d u def /NodePos { GetRnodePos } def end end grestore end 521 946 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-2 /TheNodeT-0-2-0 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /w 13.82637 CLW 2 div sub def /m true def Tfan } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 605 a Fw(\\pstree{\\T)-5 b(circle{foo}}{\045)758 665 y(\\Tfan)758 725 y(\\Tf*[framesize=4pt])758 785 y(\\pstree{\\T)n (r{\\psframebox[framearc=.5]{bar}}}{)o(\\Tfan}})591 1067 y Fy(Here)11 b(is)h(another)h(example)g(illustrating)g(that)g(a)f Fx(\\Tfan)f Fy(can)i(have)f(successors:)412 1208 y tx@Dict begin gsave STV CP T 15.35626 2 div 7.7818 0.09792 add 2 div 2 copy 0.09792 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 15.35626 2 div 7.7818 0.09792 add 2 div 2 copy 0.09792 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(foo)444 1428 y tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0-0 16 NewNode /Y 0 def /X 0 def /l 14.22636 def /r l def /u 0.0 def /d u def /NodePos { GetRnodePos } def end end grestore end 444 1428 a tx@Dict begin gsave STV newpath 0.0 SLW 0. setgray /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { tx@Dict begin /r 2.84544 def /Lineto { Arcto } def false pop end /w 14.22636 CLW 2 div sub def /m true def Tfan } if end gsave 0. setgray fill grestore grestore end 367 1664 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 367 1664 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0-0 11 NewNode InitCnode end end grestore end 367 1664 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0 /TheNodeT-0-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 521 1664 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0-0-1 16 NewNode /Y 0 def /X 0 def /l 13.82637 def /r l def /u 0.4 def /d u def /NodePos { GetRnodePos } def end end grestore end 521 1664 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0 /TheNodeT-0-0-1 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /w 13.82637 CLW 2 div sub def /m true def Tfan } if end gsave 0.8 SLW 0. setgray 5.0 3.0 1 DashLine grestore grestore end 712 1326 a Fw(\\pstree{\\T)-5 b(circle{foo}}{\045)758 1387 y(\\pstree{\\Tfan*[linearc=.1]}{\045)803 1447 y(\\T)g(c*{2pt})803 1507 y(\\Tfan[linestyle=dashed]}})366 1866 y Fm(15)71 b(T)l(rees)591 1986 y Fy(This)18 b(section)h(describes)g(several)g(graphics)g(parameters)h (for)e Fx(\\pstree)p Fy(.)36 b(Any)591 2046 y(settings)13 b(of)h(graphics)g (parameters)g(for)g Fx(\\pstree)f Fy(af)o(fects)h(all)g(of)g(its)g (successors,)591 2106 y(including)e(subtrees.)17 b(but)12 b(not)g(the)h(root) f(node.)591 2194 y(The)712 2313 y Fq(treemode=)p Fp(R/L/U/D)591 b Fo(Default:)591 2432 y Fy(parameter)16 b(controls)g(the)f(direction)i(in)e (which)h(the)g(tree)g(grows.)26 b Fw(R)p Fy(,)16 b Fw(L)p Fy(,)f Fw(U)h Fy(and)591 2492 y Fw(D)f Fy(stand)g(for)g(\252right\272,)h (\252left\272,)h(\252up\272)e(and)g(\252down\272,)h(respectively)m(.)27 b(When)15 b(you)591 2552 y(change)d(the)g Fx(treemode)p Fy(,)f(the)h Fx(treemode)f Fy(of)h(all)h(nested)f(trees)g(changes)g(as)g(well.)591 2640 y(For)f(example,)i(here)f(is)g(a)g(tree)h(that)f(grows)f(up,)h(and)g (then)g(to)h(the)f(left:)591 2828 y Fr(T)o(rees)1221 b(36)p eop %%Page: 37 12 11 bop 484 334 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 484 334 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 389 98 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 389 98 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 389 98 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 2.0 2.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 153 53 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0-0-0 14 NewNode 0.0 0.0 /Y ED /X ED /w 3.0 def /h 3.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 6.0 0. CLW mul add 2 div def /Symbol 0. [1.44928 0.0 0.0 1.44928 -0.562319 -0.478261] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 153 53 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 2.0 2.0 /TheNodeT-0-0 /TheNodeT-0-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 153 142 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0-0-1 14 NewNode 0.0 0.0 /Y ED /X ED /w 3.0 def /h 3.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 6.0 0. CLW mul add 2 div def /Symbol 0. [1.44928 0.0 0.0 1.44928 -0.562319 -0.478261] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 153 53 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 2.0 2.0 /TheNodeT-0-0 /TheNodeT-0-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 490 98 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0-1 14 NewNode 0.0 0.0 /Y ED /X ED /w 3.0 def /h 3.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 6.0 0. CLW mul add 2 div def /Symbol 0. [1.44928 0.0 0.0 1.44928 -0.562319 -0.478261] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 490 98 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 2.0 2.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 579 98 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0-2 14 NewNode 0.0 0.0 /Y ED /X ED /w 3.0 def /h 3.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 6.0 0. CLW mul add 2 div def /Symbol 0. [1.44928 0.0 0.0 1.44928 -0.562319 -0.478261] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 579 98 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 2.0 2.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 30 a Fw(\\pstree[treemode=U,dotstyle=oplus,dotsize=6pt,)758 90 y(nodesep=2pt]{\\T)-5 b(c{3pt}}{\045)758 150 y(\\pstree[treemode=L]{\\T)g (c{3pt}}{\045)803 211 y(\\Tdot)803 271 y(\\Tdot})758 331 y(\\Tdot)758 391 y(\\Tdot})591 510 y Fy(When)15 b(the)h(tree)g(goes)f(up)h(or)f(down,)g (the)h(successors)f(are)g(lined)h(up)g(from)f(left)591 570 y(to)f(right)h(in)g(the)g(order)f(they)h(appear)g(in)g Fx(\\pstree)p Fy(')m(s)f(ar)o(gument.)25 b(When)15 b(the)g(tree)591 630 y(goes)c(left)h(or) f(right,)h(the)g(successors)e(are)i(lined)g(up)f(from)g(top)h(to)g(bottom.)17 b(As)11 b(an)591 690 y(afterthought,)h(you)g(might)g(want)g(to)h(\257ip)e (the)i(order)f(of)f(the)i(nodes.)k(The)712 800 y Fq(tree\257ip=)p Fp(true/false)496 b Fo(Default:)20 b Fq(false)591 910 y Fy(let')m(s)12 b(you)g(do)g(this.)591 996 y(A)h(tree)i(can)f(also)g(be)g(root)g(node.)23 b(This)14 b(is)g(useful)g(when)f(the)h(nested)h(tree)f(goes)591 1056 y(of)o(f)g(in)h(a)g(dif)o(ferent)h(direction.)26 b(If)15 b Fv(treeB)h Fy(is)f(the)g(root)g(node)f(of)h Fv(treeA)p Fy(,)f(then)h(the) 591 1116 y(root)d(of)f Fv(treeB)j Fy(is)e(also)g(the)g(root)g(node)g Fv(treeA)p Fy(.)437 1257 y tx@Dict begin gsave STV CP T 18.55884 2 div 6.79684 0.09792 add 2 div 2 copy 0.09792 sub 4 2 roll Pyth 3.0 add 0.8 add tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 18.55884 2 div 6.79684 0.09792 add 2 div 2 copy 0.09792 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(root)224 1259 y tx@Dict begin gsave STV CP T 7.7818 0.0 7.68388 3.84193 3.8909 tx@NodeDict begin /TheNodeT-0-0 16 NewNode InitRnode end end grestore end Fy(B)240 1243 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 373 1495 a tx@Dict begin gsave STV CP T 7.7818 0.0 14.07753 7.03876 3.8909 tx@NodeDict begin /TheNodeT-0-0 16 NewNode InitRnode end end grestore end Fy(A1)402 1479 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 520 1495 a tx@Dict begin gsave STV CP T 7.7818 0.0 14.07753 7.03876 3.8909 tx@NodeDict begin /TheNodeT-0-1 16 NewNode InitRnode end end grestore end Fy(A2)549 1479 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 1201 a Fw(\\pstree{\045)758 1261 y(\\pstree[treemode=L]{\\T)-5 b(circle{root}}{\045)803 1321 y(\\T)n(r{B}}\045)758 1381 y(}{\045)803 1441 y(\\T)n(r{A1})803 1502 y(\\T)n(r{A2}})591 1620 y Fy(A)11 b(node)h(can)g(also)g(contain)h(a)f (tree,)h(but)f(that)h(is)e(another)i(story)m(.)591 1706 y(The)f(distance)h (between)f(successors)f(and)h(between)g(levels)g(is)g(given)h(by)e(the)712 1816 y Fq(treesep=)p Fp(dim)588 b Fo(Default:)20 b Fq(.75cm)712 1876 y(levelsep=)p Fp(*dim)590 b Fo(Default:)20 b Fq(2cm)591 1986 y Fy(parameters.)591 2072 y(The)h(distance)h(between)g(successors)e (takes)i(into)g(account)g(the)f(size)h(of)f(the)591 2132 y(nodes,)14 b(but)g(the)h(distance)f(between)h(levels)g(does)e(not,)i(at)g(least)f(by)g (default.)25 b(If)591 2193 y(you)18 b(include)h(the)h(optional)f Fw(*)g Fy(when)f(setting)h Fx(levelsep)p Fy(,)h(the)f(level)h(sep)e(is)h(in) 591 2253 y(addition)d(to)g(the)g(size)h(of)e(the)h(nodes.)29 b(However)n(,)16 b(PST)n(ricks)f(needs)h(a)g(second)591 2313 y(run)11 b(through)g(T)847 2324 y(E)870 2313 y(X)g(\(without)g(any)g(changes) h(between)f(runs\))g(to)g(get)h(the)g(spacing)591 2373 y(right,)f(and)f(it)h (writes)g(to)g(the)f Fw(.aux)h Fy(\256le)g(with)f(L)1331 2367 y(a)1345 2373 y(T)1366 2388 y(E)1390 2373 y(X,)g(and)h(to)f(the)h(\256le)g Fw(\\jobname.pst)591 2433 y Fy(with)g(other)g(macro)h(packages.)17 b(\(Even)11 b(then,)h(there)f(is)g(no)g(guarantee)h(it)g(will)f(get)591 2494 y(the)h(spacing)g(right.\))591 2580 y(Here)17 b(are)g(two)g(exaggerated) h(examples)f(that)h(illustrates)g(the)g(dif)o(ference)g(be-)591 2640 y(tween)12 b(relative)h(and)f(absolute)g(spacing)g(between)h(levels:)591 2828 y Fr(T)o(rees)1221 b(37)p eop %%Page: 38 13 12 bop 461 27 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 461 27 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 352 145 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 352 145 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 352 145 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 109 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 461 145 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 461 145 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 381 263 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 15.0 0 360 arc fill end @endspecial 381 263 a tx@Dict begin gsave STV CP T 0.0 0.0 15.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 381 263 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 160 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 541 263 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 541 263 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 570 145 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 570 145 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 570 145 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 30 a Fw(\\pstree[levelsep=1cm,radius=2pt]{\\T)-5 b(c{3pt}}{\045)758 90 y(\\TC*)758 150 y(\\pstree{\\T)g(c{3pt}}{\045)803 211 y(\\T)g(c*{15pt})803 271 y(\\TC*})758 331 y(\\TC*})461 431 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 461 431 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 352 574 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 352 574 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 352 574 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 109 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 461 574 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 461 574 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 381 767 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 15.0 0 360 arc fill end @endspecial 381 767 a tx@Dict begin gsave STV CP T 0.0 0.0 15.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 381 767 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 160 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 541 767 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 541 767 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 570 574 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 570 574 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 570 574 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 454 a Fw(\\psset{levelsep=*1cm,radius=2pt})712 514 y(\\pstree{\\T)g(c{3pt}}{\045)758 574 y(\\TC*)758 634 y(\\pstree{\\T)g (c{3pt}}{\045)803 694 y(\\T)g(c*{15pt})803 755 y(\\TC*})758 815 y(\\TC*})591 964 y Fy(If)11 b(you)h(set)g(the)712 1088 y Fq(treenodesize=)p Fp(dim)511 b Fo(Default:)20 b Fq(-1pt)591 1212 y Fy(to)f(a)g(non-negative)g(value,)i(then)e(PST)n(ricks)g(uses)f Fx(treenodesize)f Fy(as)i(a)g(\256xed)591 1272 y(size)c(of)h(the)f (successors)g(\(in)g(the)h(direction)h(of)e(their)h(neighbors,)g(i.e.,)h(a)e (\256xed)591 1332 y(width)h(for)h(vertical)h(trees)f(and)g(a)f(\256xed)h (height/depth)h(for)e(horizontal)i(trees\).)591 1393 y(For)10 b(example,)i(sometimes)g(it)g(is)f(esthetically)h(pleasing)g(to)f(smooth)g (over)g(small)591 1453 y(variations)h(in)g(the)h(sizes)f(of)f(the)i(nodes.)k (Compare)385 1544 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 385 1544 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 235 1795 a tx@Dict begin gsave STV CP T 7.55716 2.39041 3.30624 1.65312 3.61267 tx@NodeDict begin /TheNodeT-0-0 16 NewNode InitRnode end end grestore end Fu(j)242 1780 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 -8.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 338 1795 a tx@Dict begin gsave STV CP T 7.55716 1.79999 12.02391 6.01195 3.61267 tx@NodeDict begin /TheNodeT-0-1 16 NewNode InitRnode end end grestore end Fu(K)370 1802 y Fj(4)363 1780 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 -8.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 476 1795 a tx@Dict begin gsave STV CP T 5.87523 2.39041 24.67244 12.33621 3.61267 tx@NodeDict begin /TheNodeT-0-2 16 NewNode InitRnode end end grestore end Fu(x)d(>)g(y)527 1780 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 -8.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 1588 a Fw(\\pstree[nodesepB=-8pt]{\\T)-5 b(c{3pt}}{\045)758 1649 y(\\TR{$j$}\045)758 1709 y(\\TR{$K_4$}\045)758 1769 y(\\TR{$x>y$}})591 1929 y Fy(with)401 2010 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 401 2010 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 265 2261 a tx@Dict begin gsave STV CP T 7.55716 2.39041 3.30624 1.65312 3.61267 tx@NodeDict begin /TheNodeT-0-0 16 NewNode InitRnode end end grestore end Fu(j)272 2246 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 -8.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 376 2261 a tx@Dict begin gsave STV CP T 7.55716 1.79999 12.02391 6.01195 3.61267 tx@NodeDict begin /TheNodeT-0-1 16 NewNode InitRnode end end grestore end Fu(K)408 2268 y Fj(4)401 2246 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 -8.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 480 2261 a tx@Dict begin gsave STV CP T 5.87523 2.39041 24.67244 12.33621 3.61267 tx@NodeDict begin /TheNodeT-0-2 16 NewNode InitRnode end end grestore end Fu(x)14 b(>)g(y)531 2246 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 -8.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 2055 a Fw(\\pstree[treenodesize=.4cm,treesep=.3cm,nodesepB=-8pt]{\\T)-5 b(c{3pt}}{\045)758 2115 y(\\TR{$j$}\045)758 2175 y(\\TR{$K_4$}\045)758 2235 y(\\TR{$x>y$}})591 2395 y Fy(A)10 b(subtree')m(s)h(pro\256le)g(varies)g (from)g(level)g(to)g(level.)18 b Fx(\\pstree)10 b Fy(has)h(two)f(modes)h(for) 591 2456 y(\256tting)h(subtrees)f(together:)591 2580 y Fb(tight)24 b Fy(W)n(ith)16 b(tight)h(\256t,)g(the)f(subtrees)g(are)g(\256t)g(together)g (so)g(that)g(the)h(minimum)712 2640 y(distance)c(on)f(any)g(level)h(is)f Fx(treesep)p Fy(.)j(This)d(is)g(the)g(default.)591 2828 y Fr(T)o(rees)1221 b(38)p eop %%Page: 39 14 13 bop 591 50 a Fb(loose)24 b Fy(W)n(ith)10 b(loose)g(\256t,)g(the)g (distance)h(between)f(the)g(subtrees')g(bounding)f(boxes)712 110 y(is)16 b Fx(treesep)p Fy(.)25 b(Except)16 b(when)f(you)g(have)h (exceptionally)h(lar)o(ge)f(interme-)712 170 y(diate)g(nodes,)e(the)g(ef)o (fect)h(is)f(that)h(the)g(horizontal)g(distance)g(\(or)e(vertical)712 230 y(distance,)18 b(for)e(horizontal)g(trees\))g(between)g(all)h(the)f (terminal)i(nodes)d(is)712 291 y(the)e(same.)591 403 y(Y)-5 b(ou)11 b(select)i(the)f(mode)h(with)f(the)712 515 y Fq(tree\256t=)p Fp(tight/loose)499 b Fo(Default:)20 b Fq(tight)591 627 y Fy(parameter)m(.)929 794 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 929 794 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 877 1030 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 877 1030 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 877 1030 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 982 1030 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 982 1030 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 822 1267 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 822 1267 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 822 1267 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 717 1503 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 717 1503 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0-0 11 NewNode InitCnode end end grestore end 717 1503 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-0 /TheNodeT-0-1-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 822 1503 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0-1 11 NewNode InitCnode end end grestore end 822 1503 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-0 /TheNodeT-0-1-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 927 1503 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0-2 11 NewNode InitCnode end end grestore end 927 1503 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-0 /TheNodeT-0-1-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 931 1267 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 931 1267 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 931 1267 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 106 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1037 1267 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-2 11 NewNode InitCnode end end grestore end 1037 1267 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1142 1267 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-3 11 NewNode InitCnode end end grestore end 1142 1267 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-3 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1605 794 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1605 794 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 1395 1030 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1395 1030 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 1395 1030 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 420 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1815 1030 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 1815 1030 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1605 1267 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1605 1267 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 1605 1267 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1500 1503 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1500 1503 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0-0 11 NewNode InitCnode end end grestore end 1500 1503 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-0 /TheNodeT-0-1-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1605 1503 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0-1 11 NewNode InitCnode end end grestore end 1605 1503 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-0 /TheNodeT-0-1-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1710 1503 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0-2 11 NewNode InitCnode end end grestore end 1710 1503 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-0 /TheNodeT-0-1-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1815 1267 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1815 1267 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 1815 1267 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 106 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1921 1267 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-2 11 NewNode InitCnode end end grestore end 1921 1267 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 2026 1267 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-3 11 NewNode InitCnode end end grestore end 2026 1267 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-3 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 817 1562 a Fx(tree\256t=tight)543 b(tree\256t=loose)591 1672 y Fy(As)10 b(noted)i(at)f(the)h(beginning)g(of)f(this)g(section,)h(parameter)h(changes)e (made)h(with)591 1732 y Fx(\\pstree)e Fy(af)o(fect)i(all)g(subtrees.)17 b(However)n(,)11 b(there)h(are)f(variants)h(of)f(some)g(of)h(these)591 1792 y(parameters)i(for)f(making)h(local)h(changes,)f(i.e,)g(changes)f(that)i (af)o(fects)f(only)f(the)591 1852 y(current)f(level:)712 1965 y Fq(thistreesep=)p Fp(dim)640 b Fo(Default:)712 2025 y Fq(thistreenodesize=) p Fp(dim)514 b Fo(Default:)712 2085 y Fq(thistree\256t=)p Fp(tight/loose)k Fo(Default:)712 2145 y Fq(thislevelsep=)p Fp(*dim)601 b Fo(Default:)591 2257 y Fy(For)11 b(example:)339 2336 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 0 360 arc fill end @endspecial 339 2336 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 160 2395 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 160 2395 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 160 2395 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 107 2632 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 107 2632 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0-0 11 NewNode InitCnode end end grestore end 107 2632 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0 /TheNodeT-0-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 212 2632 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0-1 11 NewNode InitCnode end end grestore end 212 2632 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0 /TheNodeT-0-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 518 2395 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 518 2395 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 518 2395 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 465 2632 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 465 2632 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 465 2632 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 570 2632 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 570 2632 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 2432 a Fw (\\pstree[thislevelsep=.5cm,thistreesep=2cm,radius=2pt]{\\T)-5 b(c*{3pt}}{\045)803 2492 y(\\pstree{\\TC*}{\\TC*)23 b(\\TC*})803 2553 y(\\pstree{\\TC*}{\\TC*)g(\\TC*}})591 2828 y Fr(T)o(rees)1221 b(39)p eop %%Page: 40 15 14 bop 591 50 a Fy(There)12 b(are)f(some)h(things)f(you)h(may)f(want)h(set)g (uniformly)f(across)g(a)h(level)h(in)e(the)591 110 y(tree,)g(such)f(as)h(the) g Fx(levelsep)p Fy(.)16 b(At)10 b(level)i Fv(n)q Fy(,)e(the)h(command)h Fw(\\pstreehook)p Fv(roman\(n\))591 170 y Fy(\(e.g.,)d Fw(\\pstreehookii)p Fy(\))f(is)g(executed,)i(if)f(it)g(is)f(de\256ned)h(\(the)g(root)f(node)h(of) f(the)h(whole)591 230 y(tree)i(is)h(level)g(0,)f(the)h(successor)e(tree)i (objects)g(and)f(the)h(node)f(connections)h(from)591 291 y(the)19 b(root)g(node)h(to)f(these)g(successors)f(is)i(level)g(1,)h(etc.\).)39 b(In)19 b(the)h(following)591 351 y(example,)15 b(the)f Fx(levelsep)e Fy(is)i(changed)g(for)f(level)i(2,)e(without)h(having)g(to)g(set)f(the)591 411 y Fx(thislevelsep)d Fy(parameter)j(for)f(each)h(of)e(the)i(three)f (subtrees)g(that)h(make)f(of)g(level)591 471 y(2:)712 588 y Fw(\\[)758 648 y(\\def\\pstreehookiii{\\psset{thislevelsep=3cm}})758 709 y(\\pstree[treemode=R,levelsep=1cm,radius=2pt]{\\T)-5 b(c{4pt}}{\045)803 769 y(\\pstree{\\TC*}{\045)849 829 y(\\pstree{\\TC*}{\\T)n(r{X_1})21 b(\\T)n(r{X_2}})849 889 y(\\pstree{\\TC*}{\\T)n(r{Y_1})g(\\T)n(r{Y_2}}})803 949 y(\\pstree{\\TC*}{\045)849 1010 y(\\pstree{\\TC*}{\\T)n(r{K_1})g(\\T)n (r{K_2}})849 1070 y(\\pstree{\\TC*}{\\T)n(r{J_1})g(\\T)n(r{J_2}}}})712 1130 y(\\])970 1701 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 4.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 970 1701 a tx@Dict begin gsave STV CP T 0.0 0.0 4.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 1088 1446 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1088 1446 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 1088 1446 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1206 1319 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1206 1319 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0-0 11 NewNode InitCnode end end grestore end 1206 1319 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0 /TheNodeT-0-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1537 1267 a tx@Dict begin gsave STV CP T 7.55716 1.79999 11.37878 5.68939 2.87859 tx@NodeDict begin /TheNodeT-0-0-0-0 16 NewNode InitRnode end end grestore end Fu(X)1566 1274 y Fj(1)1561 1255 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0-0 /TheNodeT-0-0-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1537 1395 a tx@Dict begin gsave STV CP T 7.55716 1.79999 11.37878 5.68939 2.87859 tx@NodeDict begin /TheNodeT-0-0-0-1 16 NewNode InitRnode end end grestore end Fu(X)1566 1402 y Fj(2)1561 1255 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0-0 /TheNodeT-0-0-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1206 1574 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1206 1574 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0-1 11 NewNode InitCnode end end grestore end 1206 1574 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0 /TheNodeT-0-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1538 1522 a tx@Dict begin gsave STV CP T 7.55716 1.79999 10.74518 5.37259 2.87859 tx@NodeDict begin /TheNodeT-0-0-1-0 16 NewNode InitRnode end end grestore end Fu(Y)1565 1529 y Fj(1)1561 1510 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0-1 /TheNodeT-0-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1539 1650 a tx@Dict begin gsave STV CP T 7.55716 1.79999 10.74518 5.37259 2.87859 tx@NodeDict begin /TheNodeT-0-0-1-1 16 NewNode InitRnode end end grestore end Fu(Y)1566 1657 y Fj(2)1561 1510 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0-1 /TheNodeT-0-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1088 1956 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1088 1956 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 1088 1956 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1206 1829 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1206 1829 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 1206 1829 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1536 1777 a tx@Dict begin gsave STV CP T 7.55716 1.79999 12.02391 6.01195 2.87859 tx@NodeDict begin /TheNodeT-0-1-0-0 16 NewNode InitRnode end end grestore end Fu(K)1568 1784 y Fj(1)1561 1765 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-0 /TheNodeT-0-1-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1536 1904 a tx@Dict begin gsave STV CP T 7.55716 1.79999 12.02391 6.01195 2.87859 tx@NodeDict begin /TheNodeT-0-1-0-1 16 NewNode InitRnode end end grestore end Fu(K)1568 1911 y Fj(2)1561 1765 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-0 /TheNodeT-0-1-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1206 2084 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1206 2084 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 1206 2084 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1541 2032 a tx@Dict begin gsave STV CP T 7.55716 1.79999 9.45494 4.72746 2.87859 tx@NodeDict begin /TheNodeT-0-1-1-0 16 NewNode InitRnode end end grestore end Fu(J)1562 2039 y Fj(1)1561 2020 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-1 /TheNodeT-0-1-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1541 2159 a tx@Dict begin gsave STV CP T 7.55716 1.79999 9.45494 4.72746 2.87859 tx@NodeDict begin /TheNodeT-0-1-1-1 16 NewNode InitRnode end end grestore end Fu(J)1562 2166 y Fj(2)1561 2020 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-1 /TheNodeT-0-1-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 366 2400 a Fm(16)71 b(Edges)591 2520 y Fy(A)13 b(tree)h(node)f(is)g(really)i(a)e(composite)h(object.)23 b(In)13 b(addition)h(to)g(creating)g(a)g(new)591 2580 y(node,)c(it)g(also)f(draws)g (a)h(node)g(connection)g(between)g(itself)h(and)e(its)h(predecessor)n(,)591 2640 y(if)i(there)g(is)g(one.)591 2828 y Fr(Edges)1209 b(40)p eop %%Page: 41 16 15 bop 591 50 a Fy(When)18 b(a)g(tree)g(node)g(has)g(made)h(the)f(new)g (node,)h(the)f(command)h Fx(\\pssucc)e Fy(is)591 110 y(equal)d(to)g(the)g (name)g(of)f(this)h(node,)g(and)g Fx(\\pspred)f Fy(is)h(equal)g(to)g(the)g (name)g(of)g(its)591 170 y(predecessor)m(.)j(Then)12 b(the)g(tree)h(node)f (executes)712 301 y Fw(\\psedge{\\pspred}{\\pssucc})591 432 y Fy(Y)-5 b(ou)15 b(can)h(de\256ne)g Fx(\\psedge)g Fy(to)g(make)g(whatever)g (node)g(connection)h(you)f(want)591 492 y(\(see)i(Section)g Fb(??)p Fy(\).)35 b(For)17 b(example,)k(here)d(I)g(use)g Fx(\\ncdiag)p Fy(,)h(with)f Fx(armA=0)p Fy(,)i(to)591 552 y(get)f(all)h(the)g(node)g (connections)f(to)h(emanate)h(from)e(the)h(same)f(point)h(in)f(the)591 612 y(predecessor:)712 743 y Fw (\\def\\psedge{\\ncdiag[armA=0,angleB=180,armB=1cm]})712 803 y(\045)24 b(Or:)e(\\renewcommand{\\psedge}{)e(...)k(})712 863 y(\\pstree[treemode=R,levelsep=3.5cm,framesep=2pt]{\\T)-5 b(c{6pt}}{\045)758 924 y(\\small)23 b(\\T)-5 b(circle{N})24 b(\\T)-5 b(circle{K})23 b(\\T)-5 b(circle{H})24 b(\\T)-5 b(circle{L}})1065 1285 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 6.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1065 1285 a tx@Dict begin gsave STV CP T 0.0 0.0 6.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 1462 1067 a tx@Dict begin gsave STV CP T 7.5897 2 div 7.10089 0.1419 add 2 div 2 copy 0.1419 sub 4 2 roll Pyth 2.0 add 0.8 add tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 7.5897 2 div 7.10089 0.1419 add 2 div 2 copy 0.1419 sub 4 2 roll Pyth 2.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fn(N)1478 1053 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /AngleA 0. def /AngleB 180. def /armA 0.0 def /armB 28.45274 def NCDiag } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1462 1223 a tx@Dict begin gsave STV CP T 7.5897 2 div 7.10089 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 2.0 add 0.8 add tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 7.5897 2 div 7.10089 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 2.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fn(K)1478 1053 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /AngleA 0. def /AngleB 180. def /armA 0.0 def /armB 28.45274 def NCDiag } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1462 1378 a tx@Dict begin gsave STV CP T 7.5897 2 div 7.10089 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 2.0 add 0.8 add tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 7.5897 2 div 7.10089 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 2.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fn(H)1478 1053 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /AngleA 0. def /AngleB 180. def /armA 0.0 def /armB 28.45274 def NCDiag } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1465 1532 a tx@Dict begin gsave STV CP T 6.42287 2 div 7.10089 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 2.0 add 0.8 add tx@NodeDict begin /TheNodeT-0-3 11 NewNode InitCnode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 6.42287 2 div 7.10089 0.0 add 2 div 2 copy 0.0 sub 4 2 roll Pyth 2.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fn(L)1478 1053 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-3 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /AngleA 0. def /AngleB 180. def /armA 0.0 def /armB 28.45274 def NCDiag } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 591 1668 a Fy(Here)15 b(is)h(another)g(example)h(with)f Fx(\\ncdiagg)p Fy(.)29 b(Note)16 b(the)g(use)g(of)f(negative)i(the)591 1728 y Fx(armA)12 b Fy(value)h(so)f (that)h(the)g(corners)f(of)g(the)h(edges)f(are)g(vertically)i(aligned,)g (even)591 1789 y(though)d(the)i(nodes)e(have)i(dif)o(ferent)f(sizes:)712 1919 y Fw($)712 1980 y(\\def\\psedge#1#2{\\ncdiagg[angleA=180)o(,)20 b(armA=-3cm,)758 2040 y(nodesep=4pt]{#2}{#1)o(}})712 2100 y(\045)k(Or:)e (\\renewcommand{\\psedge}[2]{)e(...)k(})712 2160 y(\\pstree[treemode=R,)f (levelsep=5cm]{\\T)-5 b(c{3pt}}{\045)758 2220 y(\\T)n(r{z_1\\leq)22 b(y})758 2281 y(\\T)n(r{z_1,)g(xbbl=15pt,)758 1374 y(xbbr=15pt,)g(levelsep=2.5cm]{\\Tdia{root}}{\045)758 1434 y($)758 1494 y(\\TR[edge={\\ncbar[angle=180]}]{x})758 1554 y(\\TR{y})758 1614 y(\\TR[edge=\\ncbar]{z})758 1675 y($})330 1857 y tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0 14 NewNode 50.71408 24.78677 -3.89792 0 18.55884 6.79684 0.09792 InitTriNode end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /Lineto /lineto load def false pop .5 50.71408 24.78677 0 -90 mul 9.27942 -3.89792 /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx setmatrix gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial Fy(root)166 2198 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 166 2198 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 166 2198 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 0.0 /TheNodeT-0-0 /TheNodeT-0 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /AngleA 90. def /AngleB -90. def /armA 10.0 def /armB 28.45274 def NCAngle } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 135 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 301 2198 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 301 2198 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 0.0 /TheNodeT-0-1 /TheNodeT-0 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /AngleA 90. def /AngleB -90. def /armA 10.0 def /armB 28.45274 def NCAngle } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 135 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 436 2198 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 436 2198 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 0.0 /TheNodeT-0-2 /TheNodeT-0 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /AngleA 90. def /AngleB -90. def /armA 10.0 def /armB 28.45274 def NCAngle } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 134 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 570 2198 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-3 11 NewNode InitCnode end end grestore end 570 2198 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { BeginArrow false 0.4 1.4 1.5 2. Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 3.0 0.0 /TheNodeT-0-3 /TheNodeT-0 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /AngleA 90. def /AngleB -90. def /armA 10.0 def /armB 28.45274 def NCAngle } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 1908 a Fw(\\psset{armB=1cm,)i(levelsep=3cm,)f (treesep=1cm,)758 1969 y(angleB=-90,)e(angleA=90,)h(arrows=<-,)f (nodesepA=3pt})712 2029 y(\\def\\psedge#1#2{\\ncangle{#2}{)o(#1})o(})712 2089 y(\\pstree[radius=2pt]{\\Ttri{root}}{\\TC*)g(\\TC*)j(\\TC*)f(\\TC*})366 2403 y Fm(17)71 b(Edge)20 b(and)g(node)g(labels)591 2524 y Fy(Right)10 b(after)g(a)g(node,)g(an)g(edge)g(has)g(typically)h(been)f (drawn,)g(and)g(you)f(can)i(attach)591 2585 y(labels)h(using)g Fx(\\ncput)19 b(\\tlput)p Fy(,)12 b(etc.)591 2828 y Fr(Edge)d(and)g(node)h (labels)955 b(43)p eop %%Page: 44 19 18 bop 591 50 a Fy(W)n(ith)14 b Fx(\\tlput)p Fy(,)f Fx(\\trput)p Fy(,)g Fx(\\taput)f Fy(and)h Fx(\\tbput)p Fy(,)g(you)g(can)h(align)g(the)f (labels)h(vertically)591 110 y(or)h(horizontally)m(,)j(just)d(like)i(the)f (nodes.)28 b(This)15 b(can)h(look)g(nice,)h(at)f(least)h(if)e(the)591 170 y(slopes)c(of)h(the)g(node)g(connections)h(are)f(not)g(too)g(dif)o (ferent.)461 255 y tx@Dict begin gsave STV CP T 0 0 tx@NodeDict begin /TheNodeT-0 10 NewNode InitPnode end end grestore end 352 491 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 352 491 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 352 491 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 352 491 a tx@Dict begin tx@NodeDict begin /t 0.6 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 2.88002 def /r 2.88002 def /h 4.16913 def /d 3.61267 def /flag true def HPutAdjust LPutCoor end PutBegin end 340 506 a Fy(k)352 491 y tx@Dict begin PutEnd end 109 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 461 491 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 461 491 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 461 491 a tx@Dict begin tx@NodeDict begin /t 0.6 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 3.0 NCLW add def /l 1.91809 def /r 1.91809 def /h 1.66928 def /d 3.61267 def /flag true def HPutAdjust LPutCoor end PutBegin end 453 506 a Fy(r)461 491 y tx@Dict begin PutEnd end 408 728 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 408 728 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 408 728 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 408 728 a tx@Dict begin tx@NodeDict begin /t 0.6 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.60129 def /r 1.60129 def /h 4.16913 def /d 6.101 def /flag true def HPutAdjust LPutCoor end PutBegin end 401 743 a Fy(j)408 728 y tx@Dict begin PutEnd end 106 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 514 728 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 514 728 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 514 728 a tx@Dict begin tx@NodeDict begin /t 0.6 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.60129 def /r 1.60129 def /h 1.39856 def /d 3.61267 def /flag false def HPutAdjust LPutCoor end PutBegin end 507 743 a Fy(i)514 728 y tx@Dict begin PutEnd end 570 491 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 570 491 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 570 491 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 570 491 a tx@Dict begin tx@NodeDict begin /t 0.6 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 4.48131 def /r 4.48131 def /h 1.66928 def /d 3.61267 def /flag false def HPutAdjust LPutCoor end PutBegin end 551 506 a Fy(m)570 491 y tx@Dict begin PutEnd end 712 326 a Fw (\\pstree[radius=2pt]{\\Tp}{\045)758 386 y(\\psset{tpos=.6})758 446 y(\\TC*)23 b(\\tlput{k})758 506 y(\\pstree{\\T)-5 b(c{3pt})22 b(\\tlput[labelsep=3pt]{r}}{\045)803 566 y(\\TC*)i(\\tlput{j})803 626 y(\\TC*)g(\\trput{i}})758 687 y(\\TC*)f(\\trput{m}})591 867 y Fy(W)n(ithin)12 b(trees,)f(the)h Fx(tpos)e Fy(parameter)j(measures)e (this)g(distance)h(from)f(the)h(prede-)591 927 y(cessor)i(to)h(the)g (successor)n(,)g(whatever)g(the)g(orientation)h(of)f(the)g(true.)26 b(\(Outside)591 987 y(of)13 b(trees)h(it)g(measures)g(the)g(distance)h(from)e (the)i(top)e(to)h(bottom)h(or)e(left)i(to)e(right)591 1047 y(nodes.\))591 1137 y(PST)n(ricks)e(also)h(sets)g Fx(shortput=tab)d Fy(within)j(trees.)18 b(This)12 b(is)f(a)i(special)f Fx(shortput)591 1197 y Fy(option)21 b(that)g(should)f(not)h(be)g(used)g(outside)g(of)f (trees.)44 b(It)21 b(implements)h(the)591 1257 y(following)11 b(abbreviations,)i(which)f(depend)g(of)g(the)g(orientation)h(of)f(the)g (true:)1255 1393 y(Short)f(for:)1055 1465 y Fu(Char)-5 b(.)56 b(V)-5 b(ert.)58 b(Horiz.)1100 1545 y Fw(\303)98 b Fx(\\tlput)57 b(\\taput)1096 1618 y Fw(_)91 b Fx(\\trput)52 b(\\tbput)591 1746 y Fy(\(The)12 b(scheme)g(is)g(reversed)g(if)g Fx(tree\257ip=true)p Fy(.\))80 2211 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 80 2211 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 435 2074 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 435 2074 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 435 2074 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 435 2074 a tx@Dict begin tx@NodeDict begin /t 0.6 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 13.75497 def /r 13.75497 def /h 4.16913 def /d 3.71059 def /flag true def VPutAdjust LPutCoor end PutBegin end 378 2089 a Fy(above)435 2074 y tx@Dict begin PutEnd end 382 1838 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 382 1838 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0-0 11 NewNode InitCnode end end grestore end 382 1838 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0 /TheNodeT-0-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 382 1838 a tx@Dict begin tx@NodeDict begin /t 0.6 1 sub neg def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 7.67812 def /r 7.67812 def /h 4.16913 def /d 3.71059 def /flag true def HPutAdjust LPutCoor end PutBegin end 350 1853 a Fy(left)382 1838 y tx@Dict begin PutEnd end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 487 1838 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0-1 11 NewNode InitCnode end end grestore end 487 1838 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-0 /TheNodeT-0-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 487 1838 a tx@Dict begin tx@NodeDict begin /t 0.6 1 sub neg def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 10.8807 def /r 10.8807 def /h 4.16913 def /d 6.101 def /flag false def HPutAdjust LPutCoor end PutBegin end 442 1853 a Fy(right)487 1838 y tx@Dict begin PutEnd end 435 2213 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 435 2213 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 435 2074 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 435 2074 a tx@Dict begin tx@NodeDict begin /t 0.6 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 13.75497 def /r 13.75497 def /h 4.16913 def /d 3.71059 def /flag true def VPutAdjust LPutCoor end PutBegin end 378 2089 a Fy(above)435 2074 y tx@Dict begin PutEnd end 274 x @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 435 2348 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 435 2074 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 435 2074 a tx@Dict begin tx@NodeDict begin /t 0.6 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 14.07753 def /r 14.07753 def /h 4.16913 def /d 3.71059 def /flag false def VPutAdjust LPutCoor end PutBegin end 376 2089 a Fy(below)435 2074 y tx@Dict begin PutEnd end 712 1893 a Fw(\\psset{tpos=.6})712 1953 y(\\pstree[treemode=R,)23 b(thistreesep=1cm,)758 2013 y(thislevelsep=3cm,radius=2pt]{\\T)-5 b(c{3pt}}{\045)758 2074 y(\\pstree[treemode=U,)22 b(xbbr=20pt]{\\T)-5 b(c{3pt}\303{above}}{\045)803 2134 y(\\TC*\303{left})803 2194 y(\\TC*_{right}})758 2254 y(\\TC*\303{above})758 2314 y(\\TC*_{below}})591 2487 y Fy(Y)g(ou)11 b(can)h(change)h(the)f(character)h(abbreviations)g(with) 712 2632 y Fq(\\MakeShortT)l(ab{)p Fp(char1)p Fq(}{)p Fp(char2)t Fq(})591 2828 y Fr(Edge)c(and)g(node)h(labels)955 b(44)p eop %%Page: 45 20 19 bop 591 50 a Fy(The)12 b Fw(\\n*put)g Fy(commands)g(can)g(also)g(give)g (good)g(results:)212 307 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 212 307 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 566 170 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 566 170 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 566 170 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 566 170 a tx@Dict begin tx@NodeDict begin /t 0.6 def LPut end PutBegin end 566 170 a tx@Dict begin NAngle tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def end 566 170 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 27.50995 7.7818 0.09792 NAngle 90 add NAngle sub /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 509 186 a Fy(above)566 170 y tx@Dict begin PutEnd end 566 170 a tx@Dict begin /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def end 566 170 a tx@Dict begin PutEnd end 139 x @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 566 309 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 566 170 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 566 170 a tx@Dict begin tx@NodeDict begin /t 0.6 def LPut end PutBegin end 566 170 a tx@Dict begin NAngle tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def end 566 170 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 27.50995 7.7818 0.09792 NAngle 90 add NAngle sub /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 509 186 a Fy(above)566 170 y tx@Dict begin PutEnd end 566 170 a tx@Dict begin /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def end 566 170 a tx@Dict begin PutEnd end 274 x @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 566 444 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 566 170 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 566 170 a tx@Dict begin tx@NodeDict begin /t 0.6 def LPut end PutBegin end 566 170 a tx@Dict begin NAngle tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def end 566 170 a tx@Dict begin { 5.0 tx@Dict /NCLW known { NCLW add } if 28.15506 7.7818 0.09792 NAngle 90 sub NAngle sub /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse exch pop add a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 508 186 a Fy(below)566 170 y tx@Dict begin PutEnd end 566 170 a tx@Dict begin /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def end 566 170 a tx@Dict begin PutEnd end 712 165 a Fw(\\psset{npos=.6,nrot=:U})712 225 y(\\pstree[treemode=R,)23 b(thistreesep=1cm,)758 285 y (thislevelsep=3cm]{\\T)-5 b(c{3pt}}{\045)758 345 y(\\T)g (c{3pt}\\naput{above})758 406 y(\\T)g(c*{2pt}\\naput{above})758 466 y(\\T)g(c*{2pt}\\nbput{below}})591 605 y Fy(Y)g(ou)14 b(can)i(put)f (labels)h(on)e(the)i(nodes)f(using)f Fx(\\nput)p Fy(.)27 b(However)n(,)15 b Fx(\\pstree)f Fy(won')o(t)591 666 y(take)e(these)g(labels)h(into)f(account) h(when)f(calculating)h(the)g(bounding)e(boxes.)591 755 y(There)h(is)f(a)h (special)h(node)e(label)i(option)f(for)f(trees)h(that)g(does)g(keep)g(track)g (of)f(the)591 815 y(bounding)g(boxes:)712 960 y Fq(\304)p Fl(*[)p Fk(par)5 b Fl(])p Fq({)p Fp(stuf)o(f)h Fq(})591 1091 y Fy(Call)12 b(this)g(a)g(\252tree)h(node)f(label\272.)591 1180 y(Put)17 b(a)i(tree)f(node)g(label)h(right)g(after)f(the)h(node)f(to)g(which)g(it)h (applies,)h(before)591 1241 y(any)14 b(node)h(connection)g(labels)h(\(but)e (node)h(connection)g(labels,)h(including)f(the)591 1301 y(short)k(forms,)j (can)e(follow)g(a)g(tree)h(node)e(label\).)42 b(The)21 b(label)g(is)f (positioned)591 1361 y(directly)d(below)g(the)g(node)f(in)h(vertical)h (trees,)g(and)f(similarly)h(in)f(other)g(trees.)591 1421 y(For)11 b(example:)407 1519 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 407 1519 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 407 1519 a tx@Dict begin { tx@NodeDict begin tx@NodeDict /TheNodeT-0 known { 0.0 45. 5.0 /TheNodeT-0 load GetEdge } { CP } ifelse end } PutCoor PutBegin end 407 1519 a tx@Dict begin { 0.0 18.55884 6.79684 0.09792 45. /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q { x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add exch } PutCoor PutBegin end 368 1533 a Fy(root)407 1519 y tx@Dict begin PutEnd end 407 1519 a tx@Dict begin PutEnd end 246 1755 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 246 1755 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 234 1826 a Fu(h)246 1755 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 109 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 355 1755 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 348 1826 a Fu(i)355 1755 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 460 1755 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 453 1826 a Fu(j)460 1755 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 108 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 568 1755 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-3 11 NewNode InitCnode end end grestore end 557 1826 a Fu(k)568 1755 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-3 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 1652 a Fw(\\pstree[radius=2pt]{\\T)-5 b(c{3pt}\\nput{45}{\\pssucc}{root}}{)758 1712 y(\\TC*\304{$h$})21 b(\\TC*\304{$i$})h(\\TC*\304{$j$})g(\\TC*\304{$k$}})591 1967 y Fy(Note)10 b(that)i(there)f(is)g(no)f(\252long)h(form\272)g(for)g(this)g (tree)g(node)g(label.)18 b(However)n(,)10 b(you)591 2027 y(can)i(change)g (the)h(single)f(character)h(used)f(to)g(delimit)h(the)g(label)g(with)712 2172 y Fq(\\MakeShortTnput{)p Fp(char1)p Fq(})591 2303 y Fy(If)k(you)g (\256nd)f(it)i(confusing)f(to)h(use)f(a)g(single)h(character)n(,)i(you)d(can) g(also)h(use)f(a)591 2363 y(command)12 b(sequence.)18 b(E.g.,)712 2494 y Fw(\\MakeShortTnput{\\tnput})591 2828 y Fr(Edge)9 b(and)g(node)h (labels)955 b(45)p eop %%Page: 46 21 20 bop 591 50 a Fy(Y)-5 b(ou)16 b(can)h(have)f(multiple)i(labels,)g(but)f (each)g(successive)g(label)g(is)g(positioned)591 110 y(relative)h(to)f(the)g (bounding)f(box)g(that)i(includes)f(the)g(previous)f(labels.)32 b(Thus,)591 170 y(the)13 b(order)f(in)h(which)g(the)g(labels)g(are)g(placed)h (makes)f(a)g(dif)o(ference,)g(and)g(not)g(all)591 230 y(combinations)f(will)h (produce)f(satisfactory)g(results.)591 319 y(Y)-5 b(ou)12 b(will)i(probably)f (\256nd)g(that)h(the)g(tree)g(node)f(label)i(works)d(well)h(for)g(terminal) 591 379 y(nodes,)k(without)g(your)g(intervention.)32 b(However)n(,)18 b(you)e(can)i(control)f(the)g(tree)591 439 y(node)11 b(labels)i(be)f(setting) h(several)f(parameters.)591 527 y(T)m(o)d(position)g(the)h(label)g(on)f(any)h (side)f(of)g(the)h(node)f(\()p Fw(l)p Fy(eft,)h Fw(r)p Fy(ight,)g Fw(a)p Fy(bove)f(or)g Fw(b)p Fy(elow\),)591 587 y(set:)712 711 y Fq(tnpos=)p Fp(l/r/a/b)723 b Fo(Default:)362 877 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 64.43336 neg 52.10216 18.69476 .5 Frame gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 106 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 468 877 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 429 844 a Fy(root)362 1129 y Fu(h)415 1114 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 415 1114 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 415 1114 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 520 1114 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 550 1129 a Fu(i)520 1114 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 893 a Fw(\\psframebox{\045)758 953 y(\\pstree{\\T)-5 b(c{3pt}\304[tnpos=a,tndepth=0pt]{root}}{)803 1013 y(\\TC*\304[tnpos=l]{$h$}) 803 1073 y(\\TC*\304[tnpos=r]{$i$}}})591 1279 y Fy(When)17 b(you)h(leave)g(the)g(ar)o(gument)h(empty)m(,)g(which)f(is)f(the)h(default,)i (PST)n(ricks)591 1339 y(chooses)11 b(the)h(label)h(position)f(is)g (automatically)m(.)591 1427 y(T)m(o)f(change)i(the)f(distance)h(between)f (the)g(node)g(and)g(the)h(label,)g(set)712 1551 y Fq(tnsep=)p Fp(dim)770 b Fo(Default:)591 1675 y Fy(When)17 b(you)h(leave)g(the)g(ar)o (gument)h(empty)m(,)g(which)f(is)f(the)h(default,)i(PST)n(ricks)591 1735 y(uses)12 b(the)i(value)g(of)f Fx(labelsep)p Fy(.)21 b(When)14 b(the)g(value)g(is)f(negative,)i(the)f(distance)g(is)591 1795 y(measured)e(from)g(the)g(center)h(of)f(the)g(node.)591 1883 y(When)f(labels)h(are)f(positioned)h(below)f(a)h(node,)f(the)g(label)i(is)e (given)g(a)h(minimum)591 1943 y(height)g(of)712 2067 y Fq(tnheight=)p Fp(dim)437 b Fo(Default:)20 b Fq(\\ht\\strutbox)591 2191 y Fy(Thus,)15 b(if)h(you)f(add)h(labels)g(to)g(several)f(nodes)g(that)i(are)f (horizontally)g(aligned,)591 2251 y(and)9 b(if)h(either)h(these)e(nodes)h (have)g(the)g(same)f(depth)h(or)g Fx(tnsep)e Fy(is)i(negative,)h(and)f(if)591 2311 y(the)h(height)h(of)f(each)h(of)f(the)h(labels)f(is)g(no)h(more)f(than)h Fx(tnheight)p Fy(,)e(then)i(the)f(labels)591 2371 y(will)g(also)g(be)g (aligned)h(by)f(their)h(baselines.)17 b(The)12 b(default)g(is)f Fw(\\ht\\strutbox)p Fy(,)h(which)591 2431 y(in)g(most)h(T)767 2442 y(E)790 2431 y(X)f(formats)h(is)f(the)h(height)g(of)g(a)f(typical)i (line)f(of)g(text)g(in)f(the)h(current)591 2492 y(font.)k(Note)12 b(that)g(the)h(value)f(of)g Fx(tnheight)f Fy(is)h(not)g(evaluated)h(until)g (it)g(is)e(used.)591 2580 y(The)i(positioning)g(is)g(similar)g(for)g(labels)h (that)f(go)g(below)g(a)g(node.)20 b(The)13 b(label)h(is)591 2640 y(given)e(a)g(minimum)h Fu(depth)f Fy(of)591 2828 y Fr(Edge)d(and)g (node)h(labels)955 b(46)p eop %%Page: 47 22 21 bop 712 50 a Fq(tndepth=)p Fp(dim)438 b Fo(Default:)20 b Fq(\\dp\\strutbox)591 172 y Fy(For)12 b(labels)i(positioned)g(above)f(or)g (below)m(,)g(the)h(horizontal)g(reference)g(point)g(of)591 232 y(the)g(label,)i(i.e.,)f(the)g(point)g(in)f(the)h(label)g(directly)h (above)e(or)g(below)g(the)h(center)591 292 y(of)c(the)i(node,)f(is)f(set)i (by)e(the)i Fx(href)e Fy(parameter)m(.)591 380 y(When)i(labels)g(are)g (positioned)g(on)g(the)g(left)h(or)f(right,)g(the)g(right)h(or)e(left)i(edge) f(of)591 441 y(the)f(label)h(is)f(positioned)g(distance)h Fx(tnsep)e Fy(from)h(the)g(node.)18 b(The)12 b(vertical)h(point)591 501 y(that)f(is)g(aligned)h(with)f(the)g(center)h(of)f(the)g(node)g(is)g(set)g (by)712 623 y Fq(tnyref=)p Fp(num)749 b Fo(Default:)591 745 y Fy(When)13 b(you)f(leave)i(this)f(empty)m(,)h Fx(vref)d Fy(is)i(used)g (instead.)20 b(Recall)14 b(that)g Fx(vref)e Fy(gives)591 805 y(the)f(vertical)h Fu(distance)g Fy(from)f(the)g(baseline.)18 b(Otherwise,)11 b(the)g Fx(tnyref)f Fy(parameter)591 865 y(works)j(like)i (the)f Fx(yref)g Fy(parameter)n(,)i(giving)e(the)h(fraction)g(of)f(the)h (distance)g(from)591 926 y(the)d(bottom)g(to)h(the)f(top)g(of)g(the)g(label.) 366 1120 y Fm(18)71 b(Details)591 1240 y Fy(Both)17 b Fx(\\pstree)p Fy(')m(s)g(root)h(node)g(ar)o(gument)h(and)f(successors)e(ar)o(gument)j(are)f (pro-)591 1300 y(cessed)c(as)h(LR-boxes,)h(and)f(so)f(everything)i(in)f (Appendix)g Fb(??)p Fy(,)h(including)f(the)591 1361 y(treatment)e(of)e(math)h (and)g(verbatim)h(text,)f(applies,)g(except)h(the)f(following.)17 b(Be-)591 1421 y(cause)10 b Fx(\\pstree)g Fy(has)g(two)g(ar)o(guments,)h(you) g(cannot)g(use)f Fx(\\pslongbox)g Fy(to)h(de\256ne)g(a)591 1481 y(\252long\272)f(version)h(of)f Fx(\\pstree)p Fy(.)15 b(However)n(,)10 b(there)h(is)g(a)f(variant)h Fx(\\psT)n(ree)f Fy(of)g Fx(\\pstree)591 1541 y Fy(whose)h(syntax)h(is:)712 1678 y Fq(\\psT)m(ree{)p Fp(root)j(node)r Fq(})f Fp(successors)j Fq(\\endpsT)m(ree)591 1800 y Fy(For)11 b(example:)473 1889 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 473 1889 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 364 2125 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 364 2125 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 364 2125 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 109 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 473 2125 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 473 2125 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 420 2361 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 420 2361 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 420 2361 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 106 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 526 2361 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 526 2361 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 582 2125 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 582 2125 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 582 2125 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 1923 a Fw(\\psT)n(ree{\\T)-5 b(c{3pt}})758 1983 y(\\TC*)758 2043 y(\\psT)n(ree{\\T)g(c{3pt}})803 2103 y(\\TC*)803 2164 y(\\TC*)758 2224 y(\\endpsT)n(ree)758 2284 y(\\TC*)712 2344 y(\\endpsT)n(ree)591 2492 y Fy(L)603 2486 y(a)617 2492 y(T)638 2507 y(E)661 2492 y(X)12 b(purists)f(can)h(write)h Fw(\\begin{psT)n(ree})d Fy(and)i Fw(\\end{psT)n(ree})e Fy(instead.)591 2580 y(PST)n(ricks)h(does)g(a)h(pretty)g(good)f(job)g(of)h(positioning)g(the) f(nodes)h(and)f(creating)i(a)591 2640 y(box)f(whose)g(size)h(is)f(close)h(to) g(the)g(true)g(bounding)f(box)g(of)h(the)g(tree.)20 b(However)n(,)591 2828 y Fr(Details)1202 b(47)p eop %%Page: 48 23 22 bop 591 50 a Fy(PST)n(ricks)8 b(does)h(not)g(take)g(into)h(account)f(the)h (node)f(connections)g(or)g(labels)g(when)591 110 y(calculating)k(the)g (bounding)e(boxes,)h(except)h(the)f(tree)h(node)f(labels.)591 196 y(If,)h(for)g(this)h(or)f(other)h(reasons,)f(you)h(want)f(to)h(\256ne)f (tune)h(the)g(bounding)f(box)g(of)591 256 y(the)f(nodes,)f(you)h(can)g(set)h (the)f(following)g(parameters:)712 363 y Fq(bbl=)p Fp(dim)826 b Fo(Default:)712 423 y Fq(bbr=)p Fp(dim)821 b Fo(Default:)712 484 y Fq(bbh=)p Fp(dim)810 b Fo(Default:)712 544 y Fq(bbd=)p Fp(dim)g Fo(Default:)712 604 y Fq(xbbl=)p Fp(dim)799 b Fo(Default:)712 664 y Fq(xbbr=)p Fp(dim)794 b Fo(Default:)712 724 y Fq(xbbh=)p Fp(dim)783 b Fo(Default:)712 785 y Fq(xbbd=)p Fp(dim)g Fo(Default:)591 892 y Fy(The)12 b Fw(x)g Fy(versions)f(increase)i(the)f(bounding)g(box)f(by)h Fv(dim)q Fy(,)f(and)h(the)h(others)e(set)h(the)591 952 y(bounding)j(box)g(to) g Fv(dim)q Fy(.)27 b(There)16 b(is)f(one)g(parameter)i(for)e(each)h (direction)g(from)591 1012 y(the)c(center)h(of)f(the)g(node,)g Fb(l)p Fy(eft,)g Fb(r)p Fy(ight,)h Fb(h)p Fy(eight,)f(and)g Fb(d)p Fy(epth.)591 1098 y(These)f(parameters)g(af)o(fect)h(trees)g(and)f (nodes,)f(and)h(subtrees)g(that)h(switch)e(direc-)591 1158 y(tions,)j(but)g(not)h(subtrees)f(that)h(go)f(in)g(the)h(same)f(direction)h (as)g(their)f(parent)h(tree)591 1218 y(\(such)d(subtrees)g(have)h(a)g (pro\256le)g(rather)g(than)g(a)g(bounding)f(box,)h(and)f(should)h(be)591 1279 y(adjusted)g(by)g(changing)g(the)g(bounding)g(boxes)f(of)h(the)h (constituent)f(nodes\).)591 1364 y(Save)c(any)h(\256ddling)g(with)f(the)i (bounding)e(box)h(until)g(you)g(are)g(otherwise)f(\256nished)591 1425 y(with)k(the)g(tree.)591 1511 y(Y)-5 b(ou)11 b(can)h(see)g(the)h (bounding)e(boxes)h(by)g(setting)g(the)712 1618 y Fq(showbbox=)p Fp(true/false)417 b Fo(Default:)20 b Fq(false)591 1725 y Fy(parameter)14 b(to)f Fw(true)p Fy(.)19 b(T)m(o)12 b(see)h(the)g(bounding)g(boxes)f(of)h (all)h(the)f(nodes)f(in)h(a)g(tree,)591 1785 y(you)e(have)h(to)h(set)f(this)g (parameter)h(before)f(the)g(tree.)591 1871 y(In)f(the)i(following)f(example,) h(the)f(labels)h(stick)f(out)g(of)g(the)g(bounding)g(box:)473 2186 y @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 0. setgray 0. true -25.86475 -5.0 25.54219 61.07463 .5 Frame gsave 0.0 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 0. setgray 0. true -5.0 -5.0 5.0 5.0 .5 Frame gsave 0.0 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 5.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 473 2186 a tx@Dict begin gsave STV CP T 0.0 0.0 5.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 397 1950 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 0. setgray 0. true -7.67813 -3.71059 7.67813 4.16913 .5 Frame gsave 0.0 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 365 1965 a tx@Dict begin gsave STV CP T 7.7818 0.09792 15.35626 7.67813 3.61267 tx@NodeDict begin /TheNodeT-0-0 16 NewNode InitRnode end end grestore end Fy(foo)397 1950 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 397 1950 a tx@Dict begin tx@NodeDict begin /t 0.6 1 sub neg def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 7.67812 def /r 7.67812 def /h 4.16913 def /d 3.71059 def /flag true def HPutAdjust LPutCoor end PutBegin end 365 1965 a Fy(left)397 1950 y tx@Dict begin PutEnd end 151 w @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 0. setgray 0. true -7.35556 -3.71059 7.35558 4.16913 .5 Frame gsave 0.0 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 517 1965 a tx@Dict begin gsave STV CP T 7.7818 0.09792 14.71114 7.35556 3.61267 tx@NodeDict begin /TheNodeT-0-1 16 NewNode InitRnode end end grestore end Fy(bar)548 1950 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 548 1950 a tx@Dict begin tx@NodeDict begin /t 0.6 1 sub neg def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 10.8807 def /r 10.8807 def /h 4.16913 def /d 6.101 def /flag false def HPutAdjust LPutCoor end PutBegin end 503 1965 a Fy(right)548 1950 y tx@Dict begin PutEnd end 712 1990 a Fw(\\psset{tpos=.6,showbbox=true})712 2050 y (\\pstree[treemode=U]{\\T)-5 b(c{5pt}}{\045)758 2110 y(\\TR{foo}\303{left}) 758 2170 y(\\TR{bar}_{right}})591 2314 y Fy(Here)11 b(is)h(how)g(we)f(\256x)h (it:)414 2619 y @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 0. setgray 0. true -33.86475 -5.0 39.54219 61.07463 .5 Frame gsave 0.0 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 0. setgray 0. true -25.86475 -5.0 25.54219 61.07463 .5 Frame gsave 0.0 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 0. setgray 0. true -5.0 -5.0 5.0 5.0 .5 Frame gsave 0.0 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 5.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 414 2619 a tx@Dict begin gsave STV CP T 0.0 0.0 5.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 339 2383 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 0. setgray 0. true -7.67813 -3.71059 7.67813 4.16913 .5 Frame gsave 0.0 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 307 2398 a tx@Dict begin gsave STV CP T 7.7818 0.09792 15.35626 7.67813 3.61267 tx@NodeDict begin /TheNodeT-0-0 16 NewNode InitRnode end end grestore end Fy(foo)339 2383 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 339 2383 a tx@Dict begin tx@NodeDict begin /t 0.6 1 sub neg def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 7.67812 def /r 7.67812 def /h 4.16913 def /d 3.71059 def /flag true def HPutAdjust LPutCoor end PutBegin end 307 2398 a Fy(left)339 2383 y tx@Dict begin PutEnd end 151 w @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW 0. setgray 0. true -7.35556 -3.71059 7.35558 4.16913 .5 Frame gsave 0.0 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 459 2398 a tx@Dict begin gsave STV CP T 7.7818 0.09792 14.71114 7.35556 3.61267 tx@NodeDict begin /TheNodeT-0-1 16 NewNode InitRnode end end grestore end Fy(bar)490 2383 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 490 2383 a tx@Dict begin tx@NodeDict begin /t 0.6 1 sub neg def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 10.8807 def /r 10.8807 def /h 4.16913 def /d 6.101 def /flag false def HPutAdjust LPutCoor end PutBegin end 445 2398 a Fy(right)490 2383 y tx@Dict begin PutEnd end 712 2423 a Fw (\\psset{tpos=.6,showbbox=true})712 2483 y (\\pstree[treemode=U,xbbl=8pt,xbbr=14pt]{\\T)-5 b(c{5pt}}{\045)758 2543 y(\\TR{foo}\303{left})758 2604 y(\\TR{bar}_{right}})591 2828 y Fr(Details)1202 b(48)p eop %%Page: 49 24 23 bop 591 50 a Fy(Now)10 b(we)i(can)h(frame)f(the)g(tree:)210 441 y @beginspecial @setspecial tx@Dict begin STP newpath 1.5 SLW 0. setgray 14.0 false 15.5 neg 20.5 neg 88.90694 76.57463 .5 Frame gsave 0.75 setgray fill grestore gsave 1.5 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 140 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 5.0 .5 CLW mul sub 0 360 arc closepath gsave 1.0 2 mul CLW add SLW 1. setgray stroke grestore gsave 1. setgray fill grestore gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 350 441 a tx@Dict begin gsave STV CP T 0.0 0.0 5.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 243 219 a tx@Dict begin gsave STV CP T 7.7818 0.09792 15.35626 7.67813 3.61267 tx@NodeDict begin /TheNodeT-0-0 16 NewNode InitRnode end end grestore end Fy(foo)275 204 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 3.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 1.0 2 mul CLW add SLW 1. setgray stroke grestore gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore gsave grestore grestore end 275 204 a tx@Dict begin tx@NodeDict begin /t 0.6 1 sub neg def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 7.67812 def /r 7.67812 def /h 4.16913 def /d 3.71059 def /flag true def HPutAdjust LPutCoor end PutBegin end 243 219 a Fy(left)275 204 y tx@Dict begin PutEnd end 395 219 a tx@Dict begin gsave STV CP T 7.7818 0.09792 14.71114 7.35556 3.61267 tx@NodeDict begin /TheNodeT-0-1 16 NewNode InitRnode end end grestore end Fy(bar)426 204 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 3.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 1.0 2 mul CLW add SLW 1. setgray stroke grestore gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore gsave grestore grestore end 426 204 a tx@Dict begin tx@NodeDict begin /t 0.6 1 sub neg def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 10.8807 def /r 10.8807 def /h 4.16913 def /d 6.101 def /flag false def HPutAdjust LPutCoor end PutBegin end 381 219 a Fy(right)426 204 y tx@Dict begin PutEnd end 712 154 a Fw (\\psframebox[\256llstyle=solid,\256llcolor=lightgray)m(,framesep=14pt,)758 214 y(linearc=14pt,cornersize=absolute,linewidth=1.5pt]{\045)758 275 y(\\psset{tpos=.6,border=1pt,nodesepB=3pt})758 335 y (\\pstree[treemode=U,xbbl=8pt,xbbr=14pt]{\045)803 395 y(\\T)-5 b(c[\256llcolor=white,\256llst)q(yle=solid]{5pt}}{\045)803 455 y(\\TR*{foo}\303{left})803 515 y(\\TR*{bar}_{right}}})591 654 y Fy(W)l(e)11 b(would)f(have)h(gotten)h(the)f(same)g(result)g(by)g (changing)g(the)g(bounding)f(box)h(of)591 714 y(the)h(two)g(terminal)h (nodes.)591 803 y(Y)-5 b(ou)11 b(can)h(also)g(adjust)h(the)f(distance)h (between)f(successors)f(with)h(the)712 946 y Fq(\\tspace{)p Fp(dim)q Fq(})591 1074 y Fy(command.)389 1164 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 389 1164 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 209 1400 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 209 1400 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-0 11 NewNode InitCnode end end grestore end 209 1400 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 423 1415 a tx@Dict begin gsave STV CP T 7.55716 1.79999 12.02391 6.01195 3.61267 tx@NodeDict begin /TheNodeT-0-1 16 NewNode InitRnode end end grestore end Fu(K)455 1422 y Fj(4)448 1400 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 122 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 570 1400 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-2 11 NewNode InitCnode end end grestore end 570 1400 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 712 1177 a Fw(\\pstree{\\T)-5 b(c{3pt}}{\045)758 1237 y(\\T)g(c*{2pt}\045)758 1297 y(\\tspace{1cm})758 1358 y(\\TR*{$K_4$}\045)758 1418 y(\\T)g(c*{2pt}})591 1555 y Fy(T)m(o)11 b(skip)h(levels,)g(use)712 1698 y Fq(\\skiplevel)p Fl(*[)p Fk(par)5 b Fl(])p Fq({)p Fp(nodes)14 b(or)g(subtrees)r Fq(})712 1773 y(\\skiplevels)p Fl(*[)p Fk(par)5 b Fl(])p Fq({)p Fp(int)t Fq(})k Fp(nodes)g(or)g(subtrees)j Fq(\\endskiplevels)591 1901 y Fy(These)g(are)g(kind)g(of)g(like)h(subtrees,)e(but)h(with)g(no)g(root)g (node.)712 2029 y Fw(\\pstree[treemode=R,levelsep=1.8,radius=2pt]{\\T)-5 b(c{3pt}}{)758 2090 y(\\skiplevel{\\Tfan})758 2150 y(\\pstree{\\T)g(c{3pt}}{) 803 2210 y(\\TC*)826 2270 y(\\skiplevels{2})849 2330 y(\\pstree{\\T)g (c{3pt}}{\\TC*)22 b(\\TC*})849 2390 y(\\TC*)803 2451 y(\\endskiplevels)803 2511 y(\\pstree{\\T)-5 b(c{3pt}}{)849 2571 y(\\TC*)849 2631 y(\\TC*}}})591 2828 y Fr(Details)1202 b(49)p eop %%Page: 50 25 24 bop 740 253 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 740 253 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0 11 NewNode InitCnode end end grestore end 1165 57 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-0-0 16 NewNode /Y 0 def /X 0 def /l 0.4 def /r l def /u 13.82637 def /d u def /NodePos { GetRnodePos } def end end grestore end 1165 57 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-0 InitNC { tx@Dict begin /Lineto /lineto load def false pop end /w 13.82637 CLW 2 div sub def /m false def Tfan } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 953 448 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 953 448 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-1 11 NewNode InitCnode end end grestore end 953 448 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0 /TheNodeT-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1165 212 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1165 212 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 1165 212 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1591 369 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1591 369 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-1-0 11 NewNode InitCnode end end grestore end 1591 369 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1803 317 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1803 317 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0-0 11 NewNode InitCnode end end grestore end 1803 317 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-0 /TheNodeT-0-1-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 105 x @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1803 422 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-0-1 11 NewNode InitCnode end end grestore end 1803 317 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-0 /TheNodeT-0-1-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1591 527 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1591 527 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-1 11 NewNode InitCnode end end grestore end 1591 369 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1165 685 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 3.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1165 685 a tx@Dict begin gsave STV CP T 0.0 0.0 3.0 tx@NodeDict begin /TheNodeT-0-1-2 11 NewNode InitCnode end end grestore end 1165 685 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1 /TheNodeT-0-1-2 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1378 632 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1378 632 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-2-0 11 NewNode InitCnode end end grestore end 1378 632 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-2 /TheNodeT-0-1-2-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 106 x @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.0 0 360 arc fill end @endspecial 1378 738 a tx@Dict begin gsave STV CP T 0.0 0.0 2.0 tx@NodeDict begin /TheNodeT-0-1-2-1 11 NewNode InitCnode end end grestore end 1378 632 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-0-1-2 /TheNodeT-0-1-2-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 591 865 a Fy(The)13 b(pro\256le)g(at)h(the)g(missing)f(levels)h(is)f(the)h(same)g(as)f(at)h(the)g (\256rst)e(non-missing)591 926 y(level.)39 b(Y)-5 b(ou)19 b(can)h(adjust)f (this)g(with)g(the)h(bounding)f(box)g(parameters.)39 b(Y)-5 b(ou)591 986 y(get)16 b(greatest)h(control)g(if)f(you)g(use)g(nested)h Fx(\\skiplevel)f Fy(commands)g(instead)h(of)591 1046 y Fx(\\skiplevels)p Fy(.)712 1189 y Fw(\\large)712 1249 y(\\psset{radius=6pt,)23 b(dotsize=4pt})712 1310 y (\\pstree[thislevelsep=0,edge=none,levelsep=2.5cm]{\\Tn}{\045)758 1370 y(\\pstree{\\TR{Player)f(1}}{\\pstree{\\TR{Player)f(2}}{\\TR{Player)h (3}}})758 1430 y(\\psset{edge=\\ncline})758 1490 y(\\pstree)803 1550 y({\\pstree[treemode=R]{\\TC}{\\Tdot)g(\304{\(0,0,0\)})f(\303{N}}}{\045) 803 1611 y(\\pstree{\\TC[name=A])i(\303{L}}{\045)849 1671 y(\\Tdot)g (\304{\(-10,10.-10\))o(})d(\303{l})849 1731 y(\\pstree{\\TC[name=C])j (_{r}}{\045)894 1791 y(\\Tdot)g(\304{\(3,8,-4\)})d(\303{c})894 1851 y(\\Tdot)j(\304{\(-8,3,4\)})d(_{d}}})803 1911 y(\\pstree{\\TC[name=B])j (_{R}}{\045)849 1972 y(\\Tdot)g(\304{\(10,-10.0\)})c(\303{l})849 2032 y(\\pstree{\\TC[name=D]_{r}}{\045)894 2092 y(\\Tdot)k(\304{\(4,8,-3\)})d (\303{c})894 2152 y(\\Tdot)j(\304{\(0,-5,0\)})d(_{d}}})803 2212 y(}})712 2273 y (\\ncbox[linearc=.3,boxsize=.3,linestyle=dashed,nodesep=.4]{A}{B})712 2333 y(\\ncarcbox[linearc=.3,boxsize=.3,linestyle=dashed,)758 2393 y(arcangle=25,nodesep=.4]{D}{C})591 2828 y Fr(Details)1202 b(50)p eop %%Page: 51 26 25 bop 591 68 a tx@Dict begin gsave STV CP T 9.33817 2.986 45.68852 22.84425 4.33519 tx@NodeDict begin /TheNodeT-0 16 NewNode InitRnode end end grestore end Fa(Player)15 b(1)591 363 y tx@Dict begin gsave STV CP T 9.33817 2.986 45.68852 22.84425 4.33519 tx@NodeDict begin /TheNodeT-0-0 16 NewNode InitRnode end end grestore end Fa(Player)g(2)591 658 y tx@Dict begin gsave STV CP T 9.33817 2.986 45.68852 22.84425 4.33519 tx@NodeDict begin /TheNodeT-0-0-0 16 NewNode InitRnode end end grestore end Fa(Player)g(3)1400 50 y @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 6.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1400 50 a tx@Dict begin gsave STV CP T 0.0 0.0 6.0 tx@NodeDict begin /TheNodeT-1 11 NewNode InitCnode end end grestore end 1400 50 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT /TheNodeT-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1695 50 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-1-0 14 NewNode 0.0 0.0 /Y ED /X ED /w 2.0 def /h 2.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 4.0 0. CLW mul add 2 div def /Symbol 0. [2.77778 0.0 0.0 2.77778 -0.638889 -0.813889] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 1716 68 a Fa(\(0,0,0\))1695 50 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1 /TheNodeT-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1695 50 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 4.9905 def /r 4.9905 def /h 5.00298 def /d 4.5218 def /flag true def VPutAdjust LPutCoor end PutBegin end 1674 68 a Fa(N)1695 50 y tx@Dict begin PutEnd end 1133 345 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 6.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1133 345 a tx@Dict begin gsave STV CP T 0.0 0.0 6.0 tx@NodeDict begin /TheNodeT-1-0 11 NewNode InitCnode end /TheNodeA /TheNodeT-1-0 load def end grestore end 1133 345 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1 /TheNodeT-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1133 345 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 4.22325 def /r 4.22325 def /h 5.00298 def /d 4.33519 def /flag true def HPutAdjust LPutCoor end PutBegin end 1115 363 a Fa(L)1133 345 y tx@Dict begin PutEnd end 1007 640 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-1-0-0 14 NewNode 0.0 0.0 /Y ED /X ED /w 2.0 def /h 2.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 4.0 0. CLW mul add 2 div def /Symbol 0. [2.77778 0.0 0.0 2.77778 -0.638889 -0.813889] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 869 713 a Fa(\(-10,10.-10\))1007 640 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1-0 /TheNodeT-1-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1007 640 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.92154 def /r 1.92154 def /h 5.00298 def /d 4.33519 def /flag true def HPutAdjust LPutCoor end PutBegin end 999 658 a Fa(l)1007 640 y tx@Dict begin PutEnd end 253 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 6.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1260 640 a tx@Dict begin gsave STV CP T 0.0 0.0 6.0 tx@NodeDict begin /TheNodeT-1-0-1 11 NewNode InitCnode end /TheNodeC /TheNodeT-1-0-1 load def end grestore end 1260 640 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1-0 /TheNodeT-1-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1260 640 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 2.3017 def /r 2.3017 def /h 2.00314 def /d 4.33519 def /flag false def HPutAdjust LPutCoor end PutBegin end 1250 658 a Fa(r)1260 640 y tx@Dict begin PutEnd end 1129 936 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-1-0-1-0 14 NewNode 0.0 0.0 /Y ED /X ED /w 2.0 def /h 2.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 4.0 0. CLW mul add 2 div def /Symbol 0. [2.77778 0.0 0.0 2.77778 -0.638889 -0.813889] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 1043 1009 a Fa(\(3,8,-4\))1129 936 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1-0-1 /TheNodeT-1-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1129 936 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 3.06894 def /r 3.06894 def /h 2.00314 def /d 4.45268 def /flag true def HPutAdjust LPutCoor end PutBegin end 1116 954 a Fa(c)1129 936 y tx@Dict begin PutEnd end 1390 936 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-1-0-1-1 14 NewNode 0.0 0.0 /Y ED /X ED /w 2.0 def /h 2.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 4.0 0. CLW mul add 2 div def /Symbol 0. [2.77778 0.0 0.0 2.77778 -0.638889 -0.813889] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 1304 1009 a Fa(\(-8,3,4\))1390 936 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1-0-1 /TheNodeT-1-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1390 936 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 3.45601 def /r 3.45601 def /h 5.00298 def /d 4.5218 def /flag false def HPutAdjust LPutCoor end PutBegin end 1376 954 a Fa(d)1390 936 y tx@Dict begin PutEnd end 1667 345 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 6.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1667 345 a tx@Dict begin gsave STV CP T 0.0 0.0 6.0 tx@NodeDict begin /TheNodeT-1-1 11 NewNode InitCnode end /TheNodeB /TheNodeT-1-1 load def end grestore end 1667 345 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1 /TheNodeT-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1667 345 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 4.61032 def /r 4.61032 def /h 5.00298 def /d 4.33519 def /flag false def HPutAdjust LPutCoor end PutBegin end 1648 363 a Fa(R)1667 345 y tx@Dict begin PutEnd end 1553 640 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-1-1-0 14 NewNode 0.0 0.0 /Y ED /X ED /w 2.0 def /h 2.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 4.0 0. CLW mul add 2 div def /Symbol 0. [2.77778 0.0 0.0 2.77778 -0.638889 -0.813889] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 1438 713 a Fa(\(10,-10.0\))1553 640 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1-1 /TheNodeT-1-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1553 640 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 1.92154 def /r 1.92154 def /h 5.00298 def /d 4.33519 def /flag true def HPutAdjust LPutCoor end PutBegin end 1545 658 a Fa(l)1553 640 y tx@Dict begin PutEnd end 228 w @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 6.0 .5 CLW mul sub 0 360 arc closepath gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1781 640 a tx@Dict begin gsave STV CP T 0.0 0.0 6.0 tx@NodeDict begin /TheNodeT-1-1-1 11 NewNode InitCnode end /TheNodeD /TheNodeT-1-1-1 load def end grestore end 1781 640 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1-1 /TheNodeT-1-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1781 640 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 2.3017 def /r 2.3017 def /h 2.00314 def /d 4.33519 def /flag false def HPutAdjust LPutCoor end PutBegin end 1771 658 a Fa(r)1781 640 y tx@Dict begin PutEnd end 1651 936 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-1-1-1-0 14 NewNode 0.0 0.0 /Y ED /X ED /w 2.0 def /h 2.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 4.0 0. CLW mul add 2 div def /Symbol 0. [2.77778 0.0 0.0 2.77778 -0.638889 -0.813889] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 1565 1009 a Fa(\(4,8,-3\))1651 936 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1-1-1 /TheNodeT-1-1-1-0 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1651 936 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 3.06894 def /r 3.06894 def /h 2.00314 def /d 4.45268 def /flag true def HPutAdjust LPutCoor end PutBegin end 1638 954 a Fa(c)1651 936 y tx@Dict begin PutEnd end 1911 936 a tx@Dict begin gsave STV CP T tx@NodeDict begin /TheNodeT-1-1-1-1 14 NewNode 0.0 0.0 /Y ED /X ED /w 2.0 def /h 2.0 def /NodePos { OvalNodePos } def end end grestore end @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 4.0 0. CLW mul add 2 div def /Symbol 0. [2.77778 0.0 0.0 2.77778 -0.638889 -0.813889] DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont { moveto 0 show } dup 1 4 -1 roll put bind /Dot ED 0.0 0.0 Dot end @endspecial 1825 1009 a Fa(\(0,-5,0\))1911 936 y tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 /TheNodeT-1-1-1 /TheNodeT-1-1-1-1 InitNC { NCLine } if end gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore grestore end 1911 936 a tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 3.45601 def /r 3.45601 def /h 5.00298 def /d 4.5218 def /flag false def HPutAdjust LPutCoor end PutBegin end 1897 954 a Fa(d)1911 936 y tx@Dict begin PutEnd end 1270 1023 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 11.38092 11.38092 /TheNodeA /TheNodeB InitNC { tx@Dict begin /r 8.5359 def /Lineto { Arcto } def false pop end 8.5359 8.5359 NCBox } if end gsave 0.8 SLW 0. setgray 5.0 3.0 2 DashLine grestore grestore end 1270 1023 a tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 11.38092 11.38092 /TheNodeD /TheNodeC InitNC { 25. 8.5359 8.5359 8.5359 NCArcBox } if end gsave 0.8 SLW 0. setgray 5.0 3.0 1 DashLine grestore grestore end 591 2828 a Fr(Details)1202 b(51)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF