diff options
Diffstat (limited to 'Master/texmf-dist/dvips/pstricks/pstricks.pro')
-rw-r--r-- | Master/texmf-dist/dvips/pstricks/pstricks.pro | 91 |
1 files changed, 16 insertions, 75 deletions
diff --git a/Master/texmf-dist/dvips/pstricks/pstricks.pro b/Master/texmf-dist/dvips/pstricks/pstricks.pro index 282032abc0d..007f1ddfc47 100644 --- a/Master/texmf-dist/dvips/pstricks/pstricks.pro +++ b/Master/texmf-dist/dvips/pstricks/pstricks.pro @@ -1,7 +1,7 @@ -% $Id: pstricks.pro 700 2012-08-13 21:04:25Z herbert $ +% $Id: pstricks.pro 714 2012-10-16 14:28:29Z herbert $ % %% PostScript prologue for pstricks.tex. -%% Version 1.16, 2012/09/07 +%% Version 1.15, 2012/10/16 %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives @@ -14,21 +14,6 @@ systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if systemdict /.setblendmode known not {/.setblendmode { pop } def } if systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if % -/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian -/setRand { realtime srand } def -/Rand { rand 4294967295 div } def % a real random number -/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter -/Pyth2 { % Pythagoras, xA yA xB yB - 3 -1 roll % xA xB yB yA - sub % xA xB yB-yA - 3 1 roll % yB-yA xA xB - sub % yB-yA xA-xB - Pyth } def -/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees -/DegtoRad { Pi mul 180 div } bind def % viceversa -/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root - pop pop 0 }{ sqrt exch atan} ifelse } def -% /tx@Dict 200 dict def % the main PSTricks dictionary tx@Dict begin /ADict 25 dict def % The arrow dictionaray @@ -44,16 +29,24 @@ tx@Dict begin /Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments /Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known /ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) -/Div { % control the division - dup 0 eq { pop 0 lt { -1e30 } % -y/0 - { 1e30 } ifelse } % +y/0 - { div } ifelse } def +/Div { dup 0 eq { pop } { div } ifelse } def % control the division /tan { dup cos abs 1.e-10 lt { pop 1.e10 } % return 1.e10 as infinit { dup sin exch cos div } ifelse % default sin/cos } def /Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def /NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number %----------------- hv added 20050516 --------------- /PiDiv2 1.57079632680 def /Pi 3.14159265359 def @@ -61,6 +54,8 @@ tx@Dict begin /Euler 2.71828182846 def %/e Euler bind def % +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa %----------------- hv end--------------------------- /PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def % @@ -1100,60 +1095,6 @@ dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifel /IfVisible true def } def % -%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%% -%%%%% ### bubblesort ### -%% syntax : array bubblesort --> array2 trie par ordre croissant -%% code de Bill Casselman -%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ -/bubblesort { -4 dict begin - /a exch def - /n a length 1 sub def - n 0 gt { - % at this point only the n+1 items in the bottom of a remain to - % the sorted largest item in that blocks is to be moved up into - % position n - n { - 0 1 n 1 sub { - /i exch def - a i get a i 1 add get gt { - % if a[i] > a[i+1] swap a[i] and a[i+1] - a i 1 add - a i get - a i a i 1 add get - % set new a[i] = old a[i+1] - put - % set new a[i+1] = old a[i] - put - } if - } for - /n n 1 sub def - } repeat - } if - a -end -} def -% -% -/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 - 0 1 index { length add } forall - string - 0 3 2 roll - { 3 copy putinterval length add }forall - pop -} bind def -% -/dot2comma {% on stack a string (...) - 2 dict begin - /Output exch def - 0 1 Output length 1 sub { - /Index exch def - Output Index get 46 eq { Output Index 44 put } if - } for - Output - end -} def -% end %-----------------------------------------------------------------------------% % |