?? foundations.ps
字號:
dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt {pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dupstringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg}{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i iw add def } repeat grestore gsave n 0 gt% DG/SR modification begin - Nov. 7, 1997 - Patch 1%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }% DG/SR modification end{ 2 setlinecap } ifelse /i y1 def /f x1 dx muln 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx ndiv 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvsdup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto gexch t L stroke /i i h add def } repeat grestore } def/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 01 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x addexch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div cmul 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/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 }def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngledup a add ] cvx def } def/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ]cvx def } def/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b sabs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c bdiv 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 smul 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 addexch } def/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def} if } ifelse } def/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnitneg exch neg exch idtransform T moveto } def /BOL { BeginOL } def/IfVisible true def } defend% END pstricks.pro%%EndProcSet%%BeginProcSet: pst-dots.pro%!PS-Adobe-2.0%%Title: Dot Font for PSTricks 97 - Version 97, 93/05/07.%%Creator: Timothy Van Zandt <tvz@Princeton.EDU>%%Creation Date: May 7, 199310 dict dup begin /FontType 3 def /FontMatrix [ .001 0 0 .001 0 0 ] def /FontBBox [ 0 0 0 0 ] def /Encoding 256 array def 0 1 255 { Encoding exch /.notdef put } for Encoding dup (b) 0 get /Bullet put dup (c) 0 get /Circle put dup (C) 0 get /BoldCircle put dup (u) 0 get /SolidTriangle put dup (t) 0 get /Triangle put dup (T) 0 get /BoldTriangle put dup (r) 0 get /SolidSquare put dup (s) 0 get /Square put dup (S) 0 get /BoldSquare put dup (q) 0 get /SolidPentagon put dup (p) 0 get /Pentagon put (P) 0 get /BoldPentagon put /Metrics 13 dict def Metrics begin /Bullet 1000 def /Circle 1000 def /BoldCircle 1000 def /SolidTriangle 1344 def /Triangle 1344 def /BoldTriangle 1344 def /SolidSquare 886 def /Square 886 def /BoldSquare 886 def /SolidPentagon 1093.2 def /Pentagon 1093.2 def /BoldPentagon 1093.2 def /.notdef 0 def end /BBoxes 13 dict def BBoxes begin /Circle { -550 -550 550 550 } def /BoldCircle /Circle load def /Bullet /Circle load def /Triangle { -571.5 -330 571.5 660 } def /BoldTriangle /Triangle load def /SolidTriangle /Triangle load def /Square { -450 -450 450 450 } def /BoldSquare /Square load def /SolidSquare /Square load def /Pentagon { -546.6 -465 546.6 574.7 } def /BoldPentagon /Pentagon load def /SolidPentagon /Pentagon load def /.notdef { 0 0 0 0 } def end /CharProcs 20 dict def CharProcs begin /Adjust { 2 copy dtransform floor .5 add exch floor .5 add exch idtransform 3 -1 roll div 3 1 roll exch div exch scale } def /CirclePath { 0 0 500 0 360 arc closepath } def /Bullet { 500 500 Adjust CirclePath fill } def /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath } def /SolidTriangle { TrianglePath fill } def /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath } def /SolidSquare { SquarePath fill } def /Square { SquarePath .89 .89 scale SquarePath eofill } def /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def /PentagonPath { -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto 0 574.7 lineto -546.6 177.6 lineto closepath } def /SolidPentagon { PentagonPath fill } def /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def /.notdef { } def end /BuildGlyph { exch begin Metrics 1 index get exec 0 BBoxes 3 index get exec setcachedevice CharProcs begin load exec end end } def /BuildChar { 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind defend/PSTricksDotFont exch definefont pop% END pst-dots.pro%%EndProcSet%%BeginProcSet: pst-node.pro%!% PostScript prologue for pst-node.tex.% Version 97 patch 1, 97/05/09.% For copying restrictions, see pstricks.tex.%/tx@NodeDict 400 dict def tx@NodeDict begintx@Dict begin /T /translate load def end/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def }if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next endgrestore } 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 exchSin 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 } { dxdup 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 dupCos mul exch Sin mul } def/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w hmul 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 /dED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def dsub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atansin def /NodePos { TriNodePos } def } def/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Coshh mul Atan dup cos ww mul exch sin hh mul } def/GetCenter { begin X Y NodeMtrx transform CM itransform end } def/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { DistDist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg }{ 0 Dist Sin mul } ifelse } ifelse Do } def/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransformexch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrxdtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED popXYPos } ifelse } def/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1roll sin mul sub exch } ifelse } def/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleAAddOffset yA add /yA1 ED xA add /xA1 ED } def/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleBAddOffset yB add /yB1 ED xB add /xB1 ED } def/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmAAngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do EDArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED} ifelse } def/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmBAngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do EDArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED} ifelse } def/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict bknown and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yAED /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 submul 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 3mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bxsub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul muladd cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul addy0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mulmul 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 yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def/NAngle yyB yyA sub xxB xxA sub Atan def } def/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB 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 xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def/NAngle yyB yyA sub xxB xxA sub Atan def } def/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomarkVPosEnd } def/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvxdef grestore exec /LPutVar /SaveLPutVar load def } def/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add defGetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -