diff options
37 files changed, 5400 insertions, 3995 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks/Changes.generic b/Master/texmf-dist/doc/generic/pstricks/Changes.generic index 61c9f508c17..f81d8cb198d 100644 --- a/Master/texmf-dist/doc/generic/pstricks/Changes.generic +++ b/Master/texmf-dist/doc/generic/pstricks/Changes.generic @@ -1,4 +1,11 @@ pstricks.tex -------- +2.00 2010-02-11 - use pst-xkey to get rid of dependencies with + other packages +1.33 2009-12-22 - add linestyle symbol +1.32 2009-12-14 - fixed bug with \hskip and fnode in psmatrix + with a new \pshspace#1 + - moved the algebraic option from pstricks-add + to the main pstricks.tex 1.31 2009-11-27 - fixed introduced problem with \pst@def 1.30 2009-10-25 - revert the changes for the \pst@object, it now use \def\pst@par{} @@ -72,27 +79,6 @@ pstricks.tex -------- 1.06 2005-02-24 fix spurious blank in doublestroke (hv) -pst-node.tex -------- -1.01 2008-11-26 - bugfix for \fnode -1.00 2007-08-18 - new option pcRef for the first node (hv) - - new option Circle for psmatrix (hv) - - fix bug with pst-node and \\[name=...]. It now uses - \ps@ifnextchar for scanning the next token (defined - in pstricks.tex) - - -pst-plot.tex -------- -1.04 2009-06-08 - fix new bug with \ifdim\nA pt, use now - \def\pst@minusZero{-0} -1.03 2009-06-01 - fix bug with \ifdim\nA pt, must be sp -1.02 2008-11-24 - add PostScript variable ps@Exit for exit the loop - for \psplot and \psparametricplot - - add new names \psparametricplot, \psdataplot,... - the old names still work -1.01 2008-01-26 - make negative Dx/Dy work (hv) -1.00 2007-06-26 - added two new line style LineToXaxis/LineToYaxis (hv) - - xdvipdfmx.con ------ 0.01 2007-03-11 - first CTAN version, must be renamed to pstricks.con when used with XeTeX diff --git a/Master/texmf-dist/doc/generic/pstricks/Changes.latex b/Master/texmf-dist/doc/generic/pstricks/Changes.latex index a1058f8bf38..a284916d53e 100644 --- a/Master/texmf-dist/doc/generic/pstricks/Changes.latex +++ b/Master/texmf-dist/doc/generic/pstricks/Changes.latex @@ -1,4 +1,5 @@ pstricks.sty -------- +0.41 2010-02-11 - message for loading pst-fp 0.40 2009-01-30 - typeout an error message if the user named his TeX source file pstricks.tex (rn) - updated versions for the pro files diff --git a/Master/texmf-dist/doc/generic/pstricks/Makefile b/Master/texmf-dist/doc/generic/pstricks/Makefile deleted file mode 100644 index b7ce074ee14..00000000000 --- a/Master/texmf-dist/doc/generic/pstricks/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# `Makefile' for `pst-news.pdf', hv, 2007/03/17 - -.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps - -PACKAGE = pst-news$(shell date +%y) - -MAIN = $(PACKAGE) - -LATEX = latex - -ARCHNAME = $(MAIN)-$(shell date +%y%m%d) - -ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile - -all : doc clean -doc: $(MAIN).pdf - -$(MAIN).pdf : $(MAIN).ps - GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $< - -$(MAIN).ps : $(MAIN).dvi - dvips $< - -$(MAIN).dvi : $(MAIN).tex - $(LATEX) $< - $(LATEX) $< - if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi - if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi - makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \ - $(basename $<).glo - makeindex -t $(basename $<).ilg -o $(basename $<).ind \ - $(basename $<).idx - bibtex $(basename $<) - $(LATEX) $< - $(LATEX) $< - -clean : - $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out .blg .Roessler .bbl ) - $(RM) $(addprefix $(MAIN), .dvi .ps) - -veryclean : clean - $(RM) $(addprefix $(MAIN), .pdf .bbl .blg) - -arch : - zip $(ARCHNAME).zip $(ARCHFILES) - -# EOF diff --git a/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib b/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib index 721cd671185..f287b1130e9 100644 --- a/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib +++ b/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib @@ -9,16 +9,6 @@ year = 1989, } -@Manual{pstricks, - Title = {PSTricks - {\PS} macros for Generic TeX}, - Author = {Timothy Van Zandt}, - Organization = {}, - Address = {\url{http://www.tug.org/application/PSTricks}}, - Note = {}, - year = 1993, -} - - @Manual{pdftricks, Title = {PSTricks Support for pdf}, Author = {Herbert Voss}, @@ -37,16 +27,6 @@ year = 2003, } - -@Manual{vue3d:2002, - Title = {Vue en 3D}, - Author = {Manuel Luque}, - Organization = {}, - Address = {\url{http://members.aol.com/Mluque5130/vue3d16112002.zip}}, - Note = {}, - year = 2002, -} - @Article{dtk02.2:jackson.voss:plot-funktionen, author = {Laura E. Jackson and Herbert Vo{\ss}}, title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}}, @@ -102,9 +82,9 @@ @Book{PSTricks2, author = {Herbert Vo\ss}, title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, - edition = {4.}, - publisher = {DANTE -- Lehmanns}, - year = {2007}, + edition = {5.}, + publisher = {DANTE -- Lehmanns Media}, + year = {2008}, address = {Heidelberg/Hamburg} } diff --git a/Master/texmf-dist/doc/generic/pstricks/README b/Master/texmf-dist/doc/generic/pstricks/README deleted file mode 100644 index 4c4f3b989f5..00000000000 --- a/Master/texmf-dist/doc/generic/pstricks/README +++ /dev/null @@ -1 +0,0 @@ -The Makefile generates the pdf file for pst-newsYY diff --git a/Master/texmf-dist/doc/generic/pstricks/ctandir.sty b/Master/texmf-dist/doc/generic/pstricks/ctandir.sty deleted file mode 100644 index 37928e95823..00000000000 --- a/Master/texmf-dist/doc/generic/pstricks/ctandir.sty +++ /dev/null @@ -1,30 +0,0 @@ -%% LaTeX2e file `ctandir.sty' -%% generated by the `filecontents' environment -%% from source `pst-fill-doc' on 2004/08/18. -%% -%% LaTeX2e file `ctandir.sty' -%% generated by the `filecontents' environment -%% from source `ltubguid' on 1997/06/12. -%% -% -% Experimental CTAN location information macros for use with Donald -% Arseneau's |url.sty| -% -% we need url.sty; we can rely on it to demand anything it needs of -% LaTeX -\IfFileExists{url.sty}% - {\RequirePackage{url}}% - {\PackageWarning{ctandir}{You should acquire a copy of url.sty}% - \newcommand\urldef[3]{\def#1{\texttt{#3}}}% - \let\url\texttt - } -% -\newcommand\CTANdirectory[1]{\expandafter\urldef - \csname CTAN@#1\endcsname\path} -\newcommand\CTANfile[1]{\expandafter\urldef - \csname CTAN@#1\endcsname\path} -% -% Use the standard label-referencing mechanism to get the warning for -% an undefined label -\newcommand\CTANref[1]{\expandafter\@setref\csname CTAN@#1\endcsname - \relax{#1}} diff --git a/Master/texmf-dist/doc/generic/pstricks/images/flowers.eps b/Master/texmf-dist/doc/generic/pstricks/images/flowers.eps new file mode 100644 index 00000000000..3f279322a6a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pstricks/images/flowers.eps @@ -0,0 +1,269 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: background2.eps +%%Creator: xwpick Version 2.20 Rev: 20/09/94 - by Evgeni Chernyaev +%%CreationDate: Wed Nov 26 21:12:29 1997 +%%BoundingBox: 0 0 80 60 +%%EndComments +%*********************************************************************** +%* * +%* Function: Display a Lempel-Ziv Welch (LZW) encoded color image. * +%* This is an Encapsulated PostScript file suitable for any * +% kind of PostScript printer: Level I/II, color/grayscale...* +%* To optimize output on GrayScale printers you may uncomment* +%* line '/GRAYneeded true def'. * +%* * +%* Author: Evgeni CHERNYAEV (chernaev@vxcern.cern.ch) * +%* * +%*********************************************************************** +gsave +userdict begin +/EPSneeded true def +%/GRAYneeded true def +end +%*********************************************************************** +%* Image Description * +%*********************************************************************** +/colomns 80 def +/rows 60 def +/mm {2.835 mul} def +userdict /EPSneeded known { + /EPSneeded userdict /EPSneeded get def +}{ + /EPSneeded false def +} ifelse +userdict /GRAYneeded known { + /GRAYneeded userdict /GRAYneeded get def +}{ + /GRAYneeded false def +} ifelse +EPSneeded { + /IfRotate false def + /MarginX 0 def /MarginY 0 def + /Ymax rows def /Xmax colomns def /Ymin 0 def /Xmin 0 def +}{ + /IfRotate colomns rows gt {true} {false} ifelse def + /MarginX 8 mm def /MarginY 18 mm def + 0 0 moveto clippath pathbbox + /Ymax exch def /Xmax exch def /Ymin exch def /Xmin exch def +} ifelse +/IfColor systemdict /colorimage known {true} {false} ifelse def +GRAYneeded {/IfColor false def} if +/IfLevel2 systemdict /filter known systemdict /setcolorspace known and + {true} {false} ifelse def +%*********************************************************************** +% Procedures * +%*********************************************************************** +/Table 4096 array def +/StrArray 10 array def +/InLine 70 string def +/BinCodes 112 string def +/CurBit 0 def /FreeCode 258 def /CurCodeSize 9 def /CurMask 511 def +/incr IfColor {3} {1} ifelse def +IfLevel2 not {/setcolorspace null def /filter null def} if +%*********************************************************************** +/ReadLine { % Read Next Data Line (ASCII85 decode) * +%*********************************************************************** + BinCodes 0 BinCodes 56 56 getinterval putinterval + currentfile InLine readline pop pop + 1 1 14 { + /i exch 1 sub def + /k i 5 mul def + /c1 InLine k get 33 sub 255 and def + /rest c1 1868977 mul + InLine k 1 add get 33 sub 255 and 614125 mul add + InLine k 2 add get 33 sub 255 and 7225 mul add + InLine k 3 add get 33 sub 255 and 85 mul add + InLine k 4 add get 33 sub 255 and add def + /k i 4 mul 56 add def + BinCodes k c1 3 mul rest 16777216 idiv add 255 and put + /rest rest 16777216 mod def + BinCodes k 1 add rest 65536 idiv put + BinCodes k 2 add rest 256 idiv 255 and put + BinCodes k 3 add rest 255 and put + } for +} bind def +%*********************************************************************** +/ReadCode { % Read next code * +%*********************************************************************** + /CurByte CurBit 8 idiv def + /CurCode + BinCodes CurByte get 8 bitshift + BinCodes CurByte 1 add get add 8 bitshift + BinCodes CurByte 2 add get add + CurCodeSize CurBit 7 and add 24 sub bitshift CurMask and def + /CurBit CurBit CurCodeSize add dup 448 ge {ReadLine 448 sub} if def +} bind def +%*********************************************************************** +/DecodeCode { % Decode CurCode * +%*********************************************************************** + ReadCode CurCode 256 eq { + /FreeCode 258 def /CurCodeSize 9 def /CurMask 511 def + /StrInd -1 def /Lrest 0 def ReadCode + }{ + L Lrest gt { + /StrInd StrInd 1 add def /Lrest 65535 def + StrArray StrInd get null eq {StrArray StrInd 65535 string put} if + /CurStr StrArray StrInd get def + } if + Table FreeCode CurStr 65535 Lrest sub L getinterval + dup 0 Table OldCode get putinterval + dup L incr sub Table + CurCode FreeCode lt {CurCode} {OldCode} ifelse get + 0 incr getinterval putinterval put + /Lrest Lrest L sub def /FreeCode FreeCode 1 add def + FreeCode CurMask ge CurCodeSize 12 lt and { + /CurCodeSize CurCodeSize 1 add def + /CurMask CurMask 1 bitshift 1 add def + } if + } ifelse + /OldCode CurCode def + Table CurCode get dup length incr add /L exch def +} bind def +%*********************************************************************** +/DisplayImage { % Display a LZW-encoded color image * +%*********************************************************************** + /DelX Xmax Xmin sub MarginX 2 mul sub def + /DelY Ymax Ymin sub MarginY 2 mul sub def + /SizeX IfRotate {rows} {colomns} ifelse def + /SizeY IfRotate {colomns} {rows} ifelse def + /FactorX DelX SizeX div def /FactorY DelY SizeY div def + /Factor FactorX FactorY le {FactorX} {FactorY} ifelse def + /ScaleX SizeX Factor mul def /ScaleY SizeY Factor mul def + DelX ScaleX sub 2 div MarginX add + DelY ScaleY sub 2 div MarginY add translate + IfRotate {ScaleY ScaleX} {ScaleX ScaleY} ifelse scale + /Palette currentfile 768 string readhexstring pop def + currentfile InLine readline pop pop + IfColor not { + 0 1 255 { + Palette exch dup /i exch 3 mul def + Palette i 0 add get 0.299 mul + Palette i 1 add get 0.587 mul add + Palette i 2 add get 0.114 mul add cvi put + } for + /Palette Palette 0 256 getinterval def + } if + /Matr IfRotate + {[0 colomns rows 0 0 0]} {[colomns 0 0 rows neg 0 rows]} ifelse def + IfLevel2 { + [/Indexed IfColor {/DeviceRGB} {/DeviceGray} ifelse 255 Palette] + setcolorspace + /infile currentfile /ASCII85Decode filter /LZWDecode filter def + 8 dict + dup /ImageType 1 put + dup /Width colomns put + dup /Height rows put + dup /BitsPerComponent 8 put + dup /ImageMatrix Matr put + dup /Interpolate false put + dup /Decode [0 255] put + dup /DataSource infile put image + }{ + 0 1 255 { + Table exch dup incr mul Palette exch incr getinterval put + } for + ReadLine ReadLine + colomns rows 8 Matr {DecodeCode} + IfColor {false 3 colorimage} {image} ifelse + } ifelse +} bind def +%*********************************************************************** +%* Image decoding * +%*********************************************************************** +DisplayImage +000000 ffffff ffffe0 228b22 c0c0c0 00ff00 ff0000 ffff00 ffa500 b3b3b3 +7f7f7f cd5c5c b4b4b4 101010 e0e0e0 f0f050 60f060 d0d0d0 404040 c02020 +404080 fff68f a0a0c0 c07070 202020 ff4040 008000 a0a000 0000ff ff00ff +008080 606060 808080 8080c0 c08080 80c080 c080c0 c0c080 80c0c0 d08050 +5080d0 91c591 104210 1d761d e6e6fa adadad 7b7b7b 737373 a37474 6b6b6b +636363 966a6a 634848 dadada cf8a8a 9e9e9e 7b4a4a 848484 5a5a5a 8b5f5f +845454 bdbdbd 362828 b5b5b5 ffc0cb 191315 846342 342114 806b61 110f0e +8d7360 594123 3f343b 372915 988067 6c4e35 725c58 a58c72 231a1d 2d262a +4a3118 594544 615259 030203 868686 ababab 656565 add8e6 d50000 d5d500 +aa0055 5500aa 94dec5 7ce4a4 63e983 4aef62 31f441 18fa20 d2b48c ffebcd +8b7765 6a5acd ffe4e1 ee82ee a6a6a6 afeeee cccccc 8c8c8c e5e5e5 666666 +bfbfbf 775588 8f66a3 473351 d9d9d9 999999 b2c0dc c6d5e2 8b99b5 b22222 +00008b 595959 424242 dedede 949494 00ffff 009999 8f8f8f d7d7d7 333333 +00dfff 006400 bebebe fefefe 828282 f2f2f2 a020f0 e4c0c0 663b3b a35f5f +b03060 cd0000 8b0000 8b3a3a 191970 78706b 5a5357 717fca 2a218b 929ed3 +311fb3 6f76a0 9f8762 25244a 29256f 51518c 4b51b1 a3b1d7 cde1f9 b5c0d1 +9796a0 797169 595155 717dcb 28208a 301cb2 6d75a2 9e8661 242449 28246d +51518e 4951b2 a2b2d7 cfe3fb b6c3d3 9696a2 65493c 825145 9a7165 45342c +693430 201c1c 1c1414 fa1340 5151fb e7e7e7 3bfa34 655d55 d7c7a6 dfcfae +6f6f6f 1d155b a2a2a2 5b0000 9c9c9c 565656 0000b0 3f0f7b 646464 2f4f4f +2e8b57 999986 778899 db7093 008b00 b87850 d0a888 583838 302828 d09068 +905040 9a9a9a b0b0b0 2a2a2a 878787 434343 ff1493 898989 bdb76b ff69b4 +8b8b8b 8aadb8 5f777e fa8072 0000cd 98fb98 6920ac b7ffb7 5b975b 8b008b +93b8c4 ff4500 525252 b53100 ffe752 ce634a 31317b de8473 e78c9c de7b5a +63528c 737329 738442 291839 d67339 c65218 c6adad c65229 bd4208 180800 +ffde21 b54a18 f7c66b b53910 ffde39 f7d6ef +J3.)@GU(^knp%f=DYJ/kJ;GL5=Y,`/-/pch]Nmg"X/XVJIl`bq;EQ8LIr;+$.9*CN>5g7W +'[nor[TJf+!aT_7]=mFm7*cpW[Tg<aLB+rWY=I@'lMZBuhX%b!]pA13&=tO&P(f'sIRf!n +kj3`m2.VpX,scL`%[WL)K!.G>W`Gu.b0m81Jc5rPSibbMkTdLjp)jE+p`rM_lTBU4?#JhG +,]"i@6=D?il&ImkYik'sE]HH!Ih8=B'/ZXJq"/kQ9)"0G?>"Z#^#+&tdO!I&b/=]`f4uu3 +qo:nAmnB>TQR.<IMM4DeIQns:ou\1]EEiQE<c,#H=/.WTPuB0_<u+^_i$$oTGCLXcfb0,s +&W"e'?4r\7Sus7?HC:XLNiaHUb!;"08('a.T>ubJ(DVN].Xhe%&o)_*Y;o9MScrh3]p-EZ +i8_?X3UV8D^q2"=%#Qe'a.7*7S=QS&dFKP5Vhn0IUoqR##.j$na;5BV]ImNEWM*!rV1Atc +AL%N=*+]i-lqi/7k@sA+T$?gEHFX/MgjZNK>'>8'LS1<'M!ZZa"NYU'*?cFk4K>[q@&dCA +*Y2K%;\JJKloGdM_;I9pYt<P:T4#0F)Zo2r&jqcGH17]&o0Lg@K'0p%+\jmGie5/2oG^f\ +J?0Z8+-KLf)h9,`9P">LTf.-5,H0h\NT@W&FIb$Mq@eJOq<Zp$b!G<?;ePIBHl^V&f#O2d +.GIG"LQ(V$<L$GR"<NO'%\';fW&@_K",J@:=B$R^2hu%ad)[Z0ZC8rK-i*dh*B&8)`up./ +hB<To9Yu".a(S5">PA7>EEm/(pm\qWW5a6,Ks6RE*Z58B9o\iTIcOmo);9MnB5%u$&EiG: +FIrt_*-^PL$\4u*Wa'-=@Tiq;"DEdHDGI$^@1S9%R/u4p!eQ\\XGC#YR\p;\Ksl16@KGMW +T;T\J7-n']eqPTh5(%JoLMRk2_7CfUNa-lWM@3oC@8'%[Kl$g7#m6!Z71)^-@B/#IIWBS% +VJP#fPW>"eBP^hsC7_qkg,Y%(H6lRa>b(?^3Ye)K6Bq_0jT$_M3L=!!fVfaO:%h7!S!sT4 +-GsLT)8Y`bEp%a5iPF+Mli\Ea+nU3H#Gs'_V2o=D6k/i92WOJ@OmmIaQaaGo\MGMPFo-D< +lg?Y9BRh3pA4o&Oo=3]iIK9H*lf5h3O/!@j6[r3U^q%K>@P'G^=((aW8o#Q&(%SFraCC)e +@fRj4"tI'7r5YRU/oYC`&'-jR"+Y??L%'PPeKd<-O;Aq;89ZDTSB[Ue\Rs0Qar'(IV92'k +1e^_g0dc#eh$EOm/JNXpFA.OB#]Do'(j@X+TXNc.O'2YA8g"@LA"N#mB.j.M"98Kba(YB4 +#n`"&([=+Qcl7d:d4uXE?p=eJ=Tfn`%@K+\4bmuD#[n]c!I+kRc/DAVM^9*,1hL6`JFt>U +@P=*^`gtoKoE0,/+Z^8Y#E+13-&O7"K44aBL\Q^e6f_P`Yni7`8;gE!2/AftFNm=%c[c<% +IZO22(_!)\!<dP%6mEZ`a3a>YE_(MZ5V+57.j7bu^fQq,C_B1@6P1OK70<NB1<426+G6b? +X`=VQa%Dn="4Vg\jnqK!3CQ-k-2K`)ipjh>=F5cba.^<*?AllJ(#lq=NoB^RVpZn%$;+5k +P]dMVM7\;Um!LZkBd.*rl[<4^b*c-K,"VU%I]X0EO*/N+<Ig?:-1.LlH'l"V88p0^r*]s* +,!1@-PWNDH-G*eb(o<HC+iP@V;++b$TW?%VmEBlM.>k2-BKS/.FB1>fjul$Jn1TC+$V\X1 +Dus_KO$]ADNt^_?6A4)dj?01mnIe_u0Sq?boc^tkKc45**b:tXUkNej?BcS!#]KPO(Vu=T +_6>U#!=U6oTS=-d6)@!PUa248METEG59Z^#ap=.s=D)^MIk;CU$Li=(_$I+LiJ]:N@r)E_ +;HZ-oKHuTjnigk<q&)(&$!:#Y4\*T`7H;(Je+NT@9V]K_j7q8%jsE-eWNZR,^c2Wt3\(<2 +rWRtr;\&n&&B)1UYJEaggA83p7S-dE<YU^MP=fBn/*jK8U33_S`<VtYX!B3YifCl_%hRrk +'nENM#?#.\`D@6MJ]2%Md,SjnYa;urN$AK,6<$Z>pG.qtSf'ib'F.>JK@"k'Q5&[UROsjJ +OG8o*@K*9^TV`B=J2jhrX`^i`/cqDF!"YAX3JY[d69uSNNtFTf.j;h\`_[UETS,DJ@S.kU +GjM8-M2)h%'c$$;nLcq%-A9qP=(KVX@iSWe`NZcW+MR/q9?`n-Up_;[*&9:uME?PpVkU-& +)_2o$BEVT`Gm&'nMpaR%i<Z;^:-(6?@IgRrNe/!L$Pfs%1KK46]+juj@149BV8?qN?ddXU +V;i!1([^Ln;)EJ&Y[EO/L)eO-r!+bq-p%F%90uf!Ftu.[J;7_9\tcKWKWpUNL(Nbi6eG/g +64t\JnWkqa4CH?l7Z58iP,9HL(aflX7g(e]gE9HMO7:2LXa'1R#tnS2O=2T3hQTT*/5:t_ +KFl!S664PA3X7q84B$N1c5FFU&$[*8iDo+!Af`;d'daBD3c@)in:0iA&"`q@A'il\:OtiE +.`-0#'19Z=mVu2UdWOC^_*Nc'F@7M/nHa@6<S"\$<cM]Db9"iGi%73[0Wgn$gRRXpMU3kt +ZoCh-f["O#Eb]n7)">`M,ZfamC5@FMV]JET[[8b%3^sF+7nQB97uJi+TgIECigbChE=P29 +5(6EHGZT`p69N<6]X@^RI#2j556^7.WM5b[$*7qpL)0Gh^pCl[E/n!)=Qp]51e"2/LC'9I +//`Z/F%^&fQcp:C&,h_9KHS8f6o],i@Jk@ZYr!dtR5;Inclp'`<]q(Y+7J1f>*&2W$NLHf +%0OOFn&YEP8*FJ3,OAunEf@bl7[k5NCr)(#0BYY5q4E1j*X*]D*.:=sj!3V4?i+k[-5`!_ +6E#-Br59!Hk]E%=A&8g.FCc1(:`)PV+Thc#4^!*Zi0IH-5W%!"$bco*ng/hEC-^e%!Ajcf +'ZR:,'-U<s+m(pt<ptSp#qTm!+Em"PS.&1!"cmj*i+rX,p'<pLeE*,@j+&2LRLeD:lNFs+ +j)i;7nd%J\($l9/D-dlNke"Yf4TRG^@%?8M.-(eKY\loBD2)Ia!n1]<15H\_+Ee'"(2KS' +7DN`W.6nt`Jf#VbJSDhXlX'WY<(]fheaKfOi1'cWkT40p(;VgJNG@8Lik*!\(<qA'+l!6P +%[881#is:h$*55A?jHamAcWB?l*MMr<9ku>0B)V:9=uo(i`AoP'.u'A9>(TBF<-@c%Llb4 +%)W"GL)lu=+i*@E,^^0k?39%mJ:Z,Q_%'@0ODfbr*oWP),oS^2)A2K\+0/^L%q9'W..lEt +$,E)"b?bi8:D;-:)*p#`c6`ku@+[,k"cCM>MU!WN!c`o87DT`[U#'^=dLkYY*F\Md6Cq'Z +A.cZK2XIpTJMQm,CCUh1)"4WN/63E,!,=en#%<Z*i.`(@=O_k'9HiaW$@Ff>b_9OTU5?aK +!J72b(EH"fE`%3:")Pqm\fPiRdI8:Nm9^]#!")'f&+WEJMIIUHIZs=2Ad$<mKrQ0/:?Eg. +;lKadVfZO*B.%-9+"ELI5iQ(NZ5#Zo*?d8qU#oY)YlO5c.BBHc;5Vc\=G`ja!p%4*Tahg1 +Xp8q8c=C6'YP^=WEe1N>;?7h\k![bY9UK8K)"Nh2EKnWT":cQ9C&k%:6/3"89cA'C#1<u: +U[0)\Op^YkZ@lPYB7M#a3]Rgu0rJ2tUQ,uWPT><3j:^#bJ6NH0i"Imp*J!0+k5k^Jl3C^5 +hG&V7;Z&`'PR%8l!?c"-/EX6h(7PS9;A+(RJK6JC>S06]%KTTNJQ<NG?ro'C*\iW`OZ+nU +mM:B/J1Hp>jn&c8C`\-KKn*>J+a0)#+u4c^>)6EX#IPpmBP(iV+)sFR!bM^'DA@5B(iUW- +PMc^^AL,(j;K5k]nYT2l`"?M%7D\sC_*SQ\JB^?0]d=GIU'htiBP+0E/;@]NCpMjff[g[T +mS;sQ%)<r7=W:cb#iU@I+CGL``"_1!)5^X\i/S0'=s)`D0`urld0Lk,ChtoG+D7cf5`Se% +m+)d.ea6d8nLFEPCrWh9[G[\iiU.R.J0*X/#@ZBo@h'Q1@$C[%+Y;(QCO3(aM\cNC=pM-2 +Kq;D+r,nd)+/)@7^l^Bl4%Jh$!g$tW7,G?;#pgb^"[Hl9@?MHMRNBkRA`<V0+T<++rWS). +k&US9+HDM&HD0LMHbo1U`af;']H&.R%NpK4!/D$M"Z(_^*agDs</jXH/dUG`aG.,@U;"m' +OpS+&WO2mk::rP2[L*%e=pDif@2rG7@T-7H1(UJA^aULn38D>E!m=i0DC,X.=Y$KL#/H6' +'i5oZ:KhaG'nQu#_30iM\7%\_(c>t^.:bl4F<.8_Z2s;]V^2rJe6UFM*aptTn1;%!%6d(2 +544rH+nh/Zg^$/?']d,seG^.)r^''N4(QPV+a=hIdM\t$Au9<Lk%JqsJf^V;&]\9]UZ=E( +ImXN3/Raed0*2WWroq8Ml`;EEnSAeFD%O`1"i7bk+Hhri&t,C**Pmq,eg<(aAhh>0&]ZP5 +8J$$@TMq!&&_.P$"QCAobRUmRA7>HTD)Y80rC""f!&gnu_*/;6p'BnH15Y_`76Wm^_N<fF +Q6b*c,]<YBP!p-=l!TYfjPj7clXWm#dr\_]JJ)t2TICCl&tlD8UtuTWbb_"d+]"DTANMV< +^0>(Q*eE0@PS8$A`@&%RY^la`i%,H_kS'p_DW1Th+V'_;h_<-aXPa.HTVs]_TE$7](%$`M +jYmRp80DNi>3'Y(8\U\g,sG*'#p>lETT0U-3YSain7``m-2[`m-$.uG*ZtM,+9 +~> +showpage grestore diff --git a/Master/texmf-dist/doc/generic/pstricks/images/tiger.eps b/Master/texmf-dist/doc/generic/pstricks/images/tiger.eps new file mode 100644 index 00000000000..5588d5236b9 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pstricks/images/tiger.eps @@ -0,0 +1,2746 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%BoundingBox: 1 150 611 792 +/InitDictCount countdictstack def +gsave +save +mark +newpath +/showpage {} def +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: Adobe Illustrator(TM) 1.2d4 +%%For: OpenWindows Version 2 +%%Title: tiger.eps +%%CreationDate: 4/12/90 3:20 AM +%%DocumentProcSets: Adobe_Illustrator_1.2d1 0 0 +%%DocumentSuppliedProcSets: Adobe_Illustrator_1.2d1 0 0 +%%BoundingBox: 22 171 567 738 +%%EndComments + +%%BeginProcSet:Adobe_Illustrator_1.2d1 0 0 + +/Adobe_Illustrator_1.2d1 dup 100 dict def load begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bdef +/xdef {exch def} bdef +% graphic state operators +/_K { 3 index add neg dup 0 lt {pop 0} if 3 1 roll } bdef +/_k /setcmybcolor where { + /setcmybcolor get +} { + { 1 sub 4 1 roll _K _K _K setrgbcolor pop } bind +} ifelse def +/g {/_b xdef /p {_b setgray} def} bdef +/G {/_B xdef /P {_B setgray} def} bdef +/k {/_b xdef /_y xdef /_m xdef /_c xdef /p {_c _m _y _b _k} def} bdef +/K {/_B xdef /_Y xdef /_M xdef /_C xdef /P {_C _M _Y _B _k} def} bdef +/d /setdash ldef +/_i currentflat def +/i {dup 0 eq {pop _i} if setflat} bdef +/j /setlinejoin ldef +/J /setlinecap ldef +/M /setmiterlimit ldef +/w /setlinewidth ldef +% path construction operators +/_R {.25 sub round .25 add} bdef +/_r {transform _R exch _R exch itransform} bdef +/c {_r curveto} bdef +/C /c ldef +/v {currentpoint 6 2 roll _r curveto} bdef +/V /v ldef +/y {_r 2 copy curveto} bdef +/Y /y ldef +/l {_r lineto} bdef +/L /l ldef +/m {_r moveto} bdef +% path painting operators +/n /newpath ldef +/N /n ldef +/F {p fill} bdef +/f {closepath F} bdef +/S {P stroke} bdef +/s {closepath S} bdef +/B {gsave F grestore S} bdef +/b {closepath B} bdef +end +%%EndProcSet +%%EndProlog + +%%Page: 1 1 + +Adobe_Illustrator_1.2d1 begin + +.8 setgray +%clippath fill +-110 -300 translate +1.1 dup scale + +0 g +0 G +0 i +0 J +0 j +0.172 w +10 M +[]0 d +0 0 0 0 k + +177.696 715.715 m +177.797 713.821 176.973 713.84 v +176.149 713.859 159.695 761.934 139.167 759.691 C +156.95 767.044 177.696 715.715 V +b +181.226 718.738 m +180.677 716.922 179.908 717.221 v +179.14 717.519 180.023 768.325 159.957 773.199 C +179.18 774.063 181.226 718.738 V +b +208.716 676.41 m +210.352 675.45 209.882 674.773 v +209.411 674.096 160.237 686.898 150.782 668.541 C +154.461 687.428 208.716 676.41 V +b +205.907 666.199 m +207.763 665.803 207.529 665.012 v +207.296 664.221 156.593 660.879 153.403 640.478 C +150.945 659.563 205.907 666.199 V +b +201.696 671.724 m +203.474 671.061 203.128 670.313 v +202.782 669.565 152.134 673.654 146.002 653.936 C +146.354 673.175 201.696 671.724 V +b +190.991 689.928 m +192.299 688.554 191.66 688.033 v +191.021 687.512 147.278 713.366 133.131 698.324 C +141.872 715.467 190.991 689.928 V +b +183.446 685.737 m +184.902 684.52 184.326 683.929 v +183.75 683.339 137.362 704.078 125.008 687.531 C +131.753 705.553 183.446 685.737 V +b +180.846 681.665 m +182.454 680.657 181.964 679.994 v +181.474 679.331 132.692 693.554 122.709 675.478 C +126.934 694.251 180.846 681.665 V +b +191.58 681.051 m +192.702 679.52 192.001 679.085 v +191.3 678.65 151.231 709.898 135.273 696.793 C +146.138 712.674 191.58 681.051 V +b +171.8 710 m +172.4 708.2 171.6 708 v +170.8 707.8 142.2 749.8 122.999 742.2 C +138.2 754 171.8 710 V +b +172.495 703.021 m +173.47 701.392 172.731 701.025 v +171.993 700.657 135.008 735.501 117.899 723.939 C +130.196 738.739 172.495 703.021 V +b +172.38 698.651 m +173.502 697.12 172.801 696.685 v +172.1 696.251 132.031 727.498 116.073 714.393 C +126.938 730.274 172.38 698.651 V +b +0 J 1 w +170.17 696.935 m +170.673 690.887 171.661 684.318 173.4 681.199 C +169.8 668.799 178.6 655.599 V +178.2 648.399 179.8 645.199 V +183.8 636.799 188.6 635.999 v +192.484 635.352 201.207 632.283 211.068 630.879 c +228.2 616.799 225 603.999 V +224.6 587.599 221 585.999 V +232.6 597.199 223 580.399 V +218.6 561.599 l +244.2 583.199 228.6 564.799 V +218.6 538.799 l +238.2 557.199 231 548.799 V +227.8 539.999 l +271 567.199 240.2 537.599 V +248.2 541.199 252.6 538.399 V +259.4 539.599 258.6 537.999 V +237.8 527.599 234.2 509.199 V +242.6 519.199 239.4 508.399 V +239.8 496.799 l +243.8 518.399 243.4 480.799 V +262.6 498.799 251 477.999 V +251 461.199 l +266.2 477.599 259.8 464.799 V +269.8 473.599 265.8 458.399 V +265 447.999 269.4 459.199 V +285.4 489.799 279.4 463.599 V +278.6 444.399 283.4 459.199 V +283.8 448.799 293 441.599 V +291.8 492.399 304.6 456.399 V +308.6 439.999 l +311.4 449.199 311 454.399 V +325.8 470.799 319 446.399 V +334.2 469.199 331 455.999 V +323.4 439.999 325 435.199 V +341.8 469.999 343 471.599 V +341 429.198 351.8 465.199 V +357.4 453.199 354.6 448.799 V +362.6 456.799 361.8 459.999 V +366.4 468.199 369.2 454.599 V +371 445.199 372.6 448.399 V +376.6 424.398 377.8 447.199 V +379.4 460.799 372.2 472.399 V +373 475.599 370.2 479.599 v +383.8 457.999 376.6 486.799 V +387.801 478.799 389.001 478.799 V +375.4 501.999 384.2 497.199 V +379 507.599 397.001 495.599 V +381 511.599 398.601 501.999 V +406.601 495.599 399.001 505.599 V +384.6 521.599 406.601 503.599 V +418.201 487.199 419.001 484.399 V +409.001 513.599 404.601 516.399 V +413.001 552.799 454.201 537.199 V +461.001 519.999 465.401 538.399 V +478.201 544.799 489.401 517.199 V +493.401 530.799 492.601 533.599 V +499.401 532.399 498.601 533.599 V +511.801 529.199 513.001 529.999 V +519.801 523.199 520.201 526.799 V +529.401 523.999 527.401 527.599 V +536.201 511.999 536.601 508.399 V +539.001 522.399 l +541.001 519.599 l +542.601 527.199 541.801 528.399 v +541.001 529.599 561.801 521.599 566.601 500.799 C +568.601 492.399 l +574.601 507.199 573.001 511.199 V +578.201 510.399 578.601 505.999 V +582.601 529.199 577.801 535.199 V +582.201 535.999 583.401 532.399 V +583.401 539.599 l +590.601 538.799 590.601 541.199 V +595.001 545.199 597.001 540.399 V +584.601 575.599 603.001 556.399 V +610.201 545.599 606.601 564.399 v +603.001 583.199 599.001 584.799 603.801 585.199 C +604.601 588.799 602.601 590.399 v +600.601 591.999 603.801 590.399 y +608.601 586.399 603.401 608.399 V +609.801 606.799 597.801 635.999 V +600.601 638.399 596.601 646.799 V +604.601 642.399 607.401 643.999 V +607.001 645.599 603.801 649.599 V +582.201 704.4 602.601 682.399 V +614.451 668.849 608.051 691.649 V +598.94 715.659 599.717 719.955 V +170.17 696.935 l +b +0.2 0.55 0.85 0 k +599.717 719.755 m +600.345 719.574 602.551 718.45 603.801 716.8 C +610.601 706 605.401 724.4 V +596.201 753.2 605.001 742 V +611.001 734.8 607.801 748.4 v +603.936 764.827 601.401 771.2 y +613.001 766.4 586.201 806 V +595.001 802.4 l +575.401 842 553.801 847.2 V +545.801 853.2 l +584.201 891.2 571.401 928 V +564.601 933.2 555.001 924 V +548.601 919.2 542.601 920.8 V +511.801 919.6 509.801 919.6 v +507.801 919.6 473.001 956.8 407.401 939.2 C +402.201 937.2 397.801 938.4 V +379.4 954.4 330.6 931.6 v +320.6 929.6 319 929.6 v +317.4 929.6 314.6 929.6 306.6 923.2 c +298.6 916.8 298.2 916 296.2 914.4 C +279.8 903.2 275 902.4 V +263.4 896 259 886 V +255.4 884.8 l +253.8 877.6 253.4 876.4 V +248.6 872.8 247.8 867.2 V +239 861.2 239.4 856.8 V +237.8 851.6 237 846.8 V +229.8 842 230.6 839.2 V +223 825.2 224.2 818.4 V +217.8 818.8 215 816.4 V +214.2 811.6 212.6 811.2 V +209.8 810 212.2 806 V +210.6 803.2 210.2 801.6 V +211 798.8 206.6 793.2 V +200.2 774.4 202.2 769.2 V +202.6 764.4 199.8 762.8 V +196.2 763.2 204.6 751.2 V +205.4 750 202.2 747.6 V +185 744 182.6 727.6 V +169 712.8 169 707.6 v +169 705.295 169.271 702.148 169.97 697.535 C +169.4 689.199 197 688.399 v +224.6 687.599 599.717 719.755 Y +b +184.4 697.4 m +159.4 736.8 173.8 680.399 Y +182.6 645.999 312.2 683.599 y +481.001 714 492.201 718 v +503.401 722 598.601 715.6 y +593.001 732.4 L +528.201 778.8 509.001 755.6 495.401 759.6 c +481.801 763.6 484.201 754 481.001 753.2 c +477.801 752.4 438.601 777.2 432.201 776.4 c +425.801 775.6 400.459 799.351 415.401 767.6 c +431.401 733.6 357 728.4 340.2 739.6 c +323.4 750.8 347.4 721.2 Y +365.8 701.2 331.4 718 y +297 730.8 273 705.2 269.8 704.4 c +266.6 703.6 261.8 700.4 261 706.8 c +260.2 713.2 252.69 729.901 221 703.6 c +201 686.999 187.2 709 Y +184.4 697.4 L +f +0.09 0.5 0.772 0 k +433.51 774.654 m +427.11 773.854 401.743 797.593 416.71 765.854 c +433.31 730.654 358.31 726.654 341.51 737.854 c +324.709 749.054 348.71 719.454 Y +367.11 699.454 332.709 716.254 y +298.309 729.054 274.309 703.454 271.109 702.654 c +267.909 701.854 263.109 698.654 262.309 705.054 c +261.509 711.454 254.13 727.988 222.309 701.854 c +201.073 684.508 187.582 705.963 Y +184.382 695.854 L +159.382 735.654 174.454 677.345 Y +183.255 642.944 313.509 681.854 y +482.31 712.254 493.51 716.254 v +504.71 720.254 599.038 713.927 y +593.51 731.236 L +528.71 777.636 510.31 753.854 496.71 757.854 c +483.11 761.854 485.51 752.254 482.31 751.454 c +479.11 750.654 439.91 775.454 433.51 774.654 c +f +0.081 0.45 0.695 0 k +434.819 772.909 m +428.419 772.109 403.685 796.138 418.019 764.109 c +434.219 727.908 359.619 724.908 342.819 736.108 c +326.019 747.308 350.019 717.708 Y +368.419 697.708 334.019 714.508 y +299.619 727.308 275.618 701.708 272.418 700.908 c +269.218 700.108 264.418 696.908 263.618 703.308 c +262.818 709.708 255.57 726.075 223.618 700.108 c +201.145 682.017 187.964 702.926 Y +184.364 694.308 L +160.564 733.308 175.109 674.29 Y +183.909 639.89 314.819 680.108 y +483.619 710.508 494.819 714.508 v +506.019 718.508 599.474 712.254 y +594.02 730.072 L +529.219 776.472 511.619 752.109 498.019 756.109 c +484.419 760.109 486.819 750.509 483.619 749.708 c +480.419 748.908 441.219 773.709 434.819 772.909 c +f +0.072 0.4 0.618 0 k +436.128 771.163 m +429.728 770.363 404.999 794.395 419.328 762.363 c +436.128 724.807 360.394 723.518 344.128 734.363 c +327.328 745.563 351.328 715.963 Y +369.728 695.963 335.328 712.763 y +300.928 725.563 276.928 699.963 273.728 699.163 c +270.528 698.363 265.728 695.163 264.928 701.563 c +264.128 707.963 257.011 724.161 224.927 698.363 c +201.218 679.526 188.345 699.89 Y +184.345 692.763 L +162.545 729.563 175.764 671.235 Y +184.564 636.835 316.128 678.363 y +484.928 708.763 496.129 712.763 v +507.329 716.763 599.911 710.581 y +594.529 728.908 L +529.729 775.309 512.929 750.363 499.329 754.363 c +485.728 758.363 488.128 748.763 484.928 747.963 c +481.728 747.163 442.528 771.963 436.128 771.163 c +f +0.063 0.35 0.54 0 k +437.438 769.417 m +431.037 768.617 406.814 792.871 420.637 760.617 c +437.438 721.417 362.237 721.417 345.437 732.617 c +328.637 743.817 352.637 714.217 Y +371.037 694.217 336.637 711.017 y +302.237 723.817 278.237 698.217 275.037 697.417 c +271.837 696.617 267.037 693.417 266.237 699.817 c +265.437 706.217 258.452 722.248 226.237 696.617 c +201.291 677.035 188.727 696.854 Y +184.327 691.217 L +164.527 726.018 176.418 668.181 Y +185.218 633.78 317.437 676.617 y +486.238 707.017 497.438 711.017 v +508.638 715.017 600.347 708.908 y +595.038 727.745 L +530.238 774.145 514.238 748.617 500.638 752.617 c +487.038 756.617 489.438 747.017 486.238 746.217 c +483.038 745.417 443.838 770.217 437.438 769.417 c +f +0.054 0.3 0.463 0 k +438.747 767.672 m +432.347 766.872 406.383 790.323 421.947 758.872 c +441.147 720.072 363.546 719.672 346.746 730.872 c +329.946 742.072 353.946 712.472 Y +372.346 692.472 337.946 709.272 y +303.546 722.072 279.546 696.472 276.346 695.672 c +273.146 694.872 268.346 691.672 267.546 698.072 c +266.746 704.472 259.892 720.335 227.546 694.872 c +201.364 674.544 189.109 693.817 Y +184.309 689.672 L +166.309 722.872 177.073 665.126 Y +185.873 630.726 318.746 674.872 y +487.547 705.272 498.747 709.272 v +509.947 713.272 600.783 707.236 y +595.547 726.581 L +530.747 772.981 515.547 746.872 501.947 750.872 c +488.347 754.872 490.747 745.272 487.547 744.472 c +484.347 743.672 445.147 768.472 438.747 767.672 c +f +0.045 0.25 0.386 0 k +440.056 765.927 m +433.655 765.127 407.313 788.387 423.255 757.127 c +443.656 717.126 364.855 717.926 348.055 729.126 c +331.255 740.326 355.255 710.726 Y +373.655 690.726 339.255 707.526 y +304.855 720.326 280.855 694.726 277.655 693.926 c +274.455 693.126 269.655 689.926 268.855 696.326 c +268.055 702.726 261.332 718.422 228.855 693.126 c +201.436 672.053 189.491 690.781 Y +184.291 688.126 L +168.291 718.326 177.727 662.071 Y +186.527 627.671 320.055 673.126 y +488.856 703.526 500.056 707.526 v +511.256 711.526 601.22 705.563 y +596.056 725.417 L +531.256 771.817 516.856 745.126 503.256 749.126 c +489.656 753.127 492.056 743.526 488.856 742.726 c +485.656 741.926 446.456 766.727 440.056 765.927 c +f +0.036 0.2 0.309 0 k +441.365 764.181 m +434.965 763.381 407.523 786.056 424.565 755.381 c +446.565 715.781 366.164 716.181 349.364 727.381 c +332.564 738.581 356.564 708.981 Y +374.964 688.981 340.564 705.781 y +306.164 718.581 282.164 692.981 278.964 692.181 c +275.764 691.381 270.964 688.181 270.164 694.581 c +269.364 700.981 262.773 716.508 230.164 691.381 c +201.509 669.562 189.873 687.744 Y +184.273 686.581 L +169.872 714.981 178.382 659.017 Y +187.182 624.616 321.364 671.381 y +490.165 701.781 501.365 705.781 v +512.565 709.781 601.656 703.89 y +596.565 724.254 L +531.765 770.654 518.165 743.381 504.565 747.381 c +490.965 751.381 493.365 741.781 490.165 740.981 c +486.965 740.181 447.765 764.981 441.365 764.181 c +f +0.027 0.15 0.231 0 k +442.674 762.435 m +436.274 761.635 408.832 784.311 425.874 753.635 c +447.874 714.035 367.474 714.435 350.674 725.635 c +333.874 736.835 357.874 707.235 Y +376.274 687.235 341.874 704.035 y +307.473 716.835 283.473 691.235 280.273 690.435 c +277.073 689.635 272.273 686.435 271.473 692.835 c +270.673 699.235 264.214 714.595 231.473 689.635 c +201.582 667.071 190.255 684.707 Y +184.255 685.035 L +170.654 711.436 179.037 655.962 Y +187.837 621.562 322.673 669.635 y +491.474 700.035 502.674 704.035 v +513.874 708.035 602.093 702.217 y +597.075 723.09 L +532.274 769.49 519.474 741.635 505.874 745.635 c +492.274 749.635 494.674 740.035 491.474 739.235 c +488.274 738.435 449.074 763.235 442.674 762.435 c +f +0.018 0.1 0.154 0 k +443.983 760.69 m +437.583 759.89 410.529 782.777 427.183 751.89 c +449.183 711.09 368.783 712.69 351.983 723.89 c +335.183 735.09 359.183 705.49 Y +377.583 685.49 343.183 702.29 y +308.783 715.09 284.783 689.49 281.583 688.69 c +278.382 687.89 273.582 684.69 272.782 691.09 c +271.982 697.49 265.654 712.682 232.782 687.89 c +201.655 664.58 190.637 681.671 Y +184.236 683.49 L +171.236 707.49 179.691 652.907 Y +188.491 618.507 323.983 667.89 y +492.783 698.29 503.983 702.29 v +515.183 706.29 602.529 700.544 y +597.583 721.926 L +532.783 768.327 520.783 739.89 507.183 743.89 c +493.583 747.89 495.983 738.29 492.783 737.49 c +489.583 736.69 450.383 761.49 443.983 760.69 c +f +0.009 0.05 0.077 0 k +445.292 758.945 m +438.892 758.145 412.917 781.589 428.492 750.145 c +449.692 707.344 370.092 710.944 353.292 722.144 c +336.492 733.344 360.492 703.744 Y +378.892 683.744 344.492 700.544 y +310.092 713.344 286.092 687.744 282.892 686.944 c +279.692 686.144 274.892 682.944 274.092 689.344 c +273.292 695.744 267.095 710.768 234.092 686.144 c +201.727 662.089 191.018 678.635 Y +184.218 681.944 L +171.418 705.144 180.346 649.853 Y +189.146 615.453 325.292 666.144 y +494.093 696.544 505.293 700.544 v +516.493 704.544 602.965 698.872 y +598.093 720.763 L +533.292 767.163 522.093 738.144 508.493 742.144 c +494.893 746.145 497.293 736.544 494.093 735.744 c +490.892 734.944 451.692 759.745 445.292 758.945 c +f +1 g +184.2 680.399 m +171.4 702.4 181 646.799 Y +189.8 612.399 326.6 664.399 y +495.401 694.8 506.601 698.8 v +517.801 702.8 603.401 697.2 y +598.601 719.6 L +533.801 766 523.401 736.4 509.801 740.4 c +496.201 744.4 498.601 734.8 495.401 734 c +492.201 733.2 453.001 758 446.601 757.2 c +440.201 756.4 414.981 780.207 429.801 748.4 c +452.028 700.693 369.041 710.773 354.6 720.4 c +337.8 731.6 361.8 702 Y +380.2 681.999 345.8 698.8 y +311.4 711.6 287.4 685.999 284.2 685.199 c +281 684.399 276.2 681.199 275.4 687.599 c +274.6 694 268.535 708.856 235.4 684.399 c +201.8 659.599 191.4 675.599 Y +184.2 680.399 L +f +0 g +225.8 650.399 m +218.6 638.799 239.4 625.599 V +240.8 624.199 222.8 628.399 V +216.6 630.399 215 640.799 V +210.2 645.199 205.4 650.799 v +200.6 656.399 225.8 650.399 y +f +0.8 g +365.8 698 m +383.498 671.179 382.9 666.399 v +381.6 655.999 381.4 646.399 384.6 642.399 c +387.801 638.399 396.601 605.199 y +396.201 603.999 408.601 641.999 V +420.201 657.999 400.201 676.399 V +365 705.2 365.8 698 v +f +0 g +1 J 0.1 w +245.8 623.599 m +257 616.399 242.6 585.199 V +249 587.599 l +248.2 576.399 245 573.999 V +252.2 577.199 l +257 569.199 253 564.399 V +269.8 556.399 269 549.999 V +275.4 557.999 271.4 564.399 v +267.4 570.799 260.2 566.799 261 585.199 C +252.2 581.999 l +257.8 590.799 257.8 597.199 V +249.8 594.799 l +265.269 621.377 254.6 622.799 v +248.6 623.599 245.8 623.599 Y +f +0.8 g +278.2 606.799 m +281 611.199 278.2 610.399 v +275.4 609.599 244.2 594.799 238.2 585.199 C +272.6 609.599 278.2 606.799 V +f +288.6 598.799 m +291.4 603.199 288.6 602.399 v +285.8 601.599 254.6 586.799 248.6 577.199 C +283 601.599 288.6 598.799 V +f +301.8 613.999 m +304.6 618.399 301.8 617.599 v +299 616.799 267.8 601.999 261.8 592.399 C +296.2 616.799 301.8 613.999 V +f +278.6 570.399 m +278.6 576.399 275.8 575.599 v +273 574.799 237 557.199 231 547.599 C +273 573.199 278.6 570.399 V +f +279.8 581.199 m +281 585.999 278.2 585.199 V +276.2 585.199 249.8 573.599 243.8 563.999 C +273.4 585.599 279.8 581.199 V +f +265.4 533.599 m +255.4 525.999 l +265.8 533.599 269.4 532.399 V +262.6 521.199 261.8 515.999 V +272.2 528.799 277.8 528.399 V +285.4 527.999 285.4 517.199 V +291 527.599 294.2 527.199 V +295.4 520.799 294.2 513.999 V +298.2 521.599 302.2 519.999 V +308.6 521.999 307.8 510.399 V +307.8 499.999 307 497.199 V +312.6 523.599 315 523.999 V +323 525.199 327.8 516.399 V +323.8 523.999 328.6 521.999 V +339.4 520.399 342.6 513.599 V +335.8 525.599 341.4 522.399 V +348.2 522.399 349.4 515.999 V +357.8 494.799 359.8 493.199 V +352.2 514.799 353.8 514.799 V +351.8 526.799 357 511.999 V +353.8 525.999 359.4 525.199 v +365 524.399 369.4 514.399 377.8 516.799 C +387.401 511.199 389.401 580.399 V +265.4 533.599 L +f +0 g +0 J 1 w +270.2 626.399 m +285 632.399 325 626.399 V +332.2 625.999 339 634.799 v +345.8 643.599 372.6 650.799 379 648.799 C +388.601 642.399 l +389.401 641.199 l +401.801 630.799 402.201 623.199 v +402.601 615.599 387.801 567.599 378.2 551.599 c +368.6 535.599 359 523.199 339.8 525.599 C +319 529.599 293.4 525.599 v +264.2 527.199 261.4 535.199 v +258.6 543.199 272.6 558.399 y +277 566.799 275.8 581.199 v +274.6 595.599 275 623.599 270.2 626.399 c +f +0.1 0.6 0.45 0 k +292.2 624.399 m +300.6 605.999 271 540.799 y +269 539.199 283.66 533.154 293.8 535.599 c +304.746 538.237 345 533.999 Y +368.6 549.599 381.4 593.999 y +391.801 617.999 374.2 621.199 v +356.6 624.399 292.2 624.399 y +f +0.1 0.6 0.45 0.2 k +290.169 593.503 m +293.495 606.293 295.079 618.094 292.2 624.399 c +354.6 617.999 365.8 638.799 v +370.041 646.674 384.801 615.999 384.4 606.399 c +321.4 591.999 306.6 603.199 V +290.169 593.503 L +f +0.1 0.6 0.45 0.25 k +294.6 577.199 m +296.6 569.999 294.2 565.999 V +292.6 565.199 291.4 564.799 V +292.6 561.199 298.6 559.599 V +300.6 555.199 303 554.799 v +305.4 554.399 310.2 548.799 314.2 549.999 c +318.2 551.199 329.4 555.199 y +335 558.399 343.8 554.799 V +346.175 555.601 346.6 559.599 v +347.1 564.299 350.2 567.999 352.2 569.999 c +354.2 571.999 363.8 584.799 362.6 585.199 c +361.4 585.599 294.6 577.199 Y +f +0 0.55 0.5 0 k +290.2 625.599 m +287.4 603.199 290.6 594.799 v +293.8 586.399 293 584.399 292.2 580.399 c +291.4 576.399 295.8 566.399 301.4 560.399 C +313.4 558.799 l +328.6 562.399 337.8 559.599 V +346.794 558.256 350.2 573.199 V +355 579.599 362.2 582.399 v +369.4 585.199 376.6 626.799 372.6 634.799 c +368.6 642.799 354.2 647.199 338.2 631.599 c +322.2 615.999 320.2 632.799 290.2 625.599 C +b +0 0 0.2 0 k +0.5 w +291.8 550.799 m +291 552.799 286.6 553.199 V +264.2 556.799 255.8 569.199 V +249 574.799 253.4 563.199 V +263.8 542.799 270.6 539.999 V +287 535.999 291.8 550.799 V +b +0 0.55 0.5 0.2 k +1 w +371.742 614.771 m +372.401 622.677 374.354 631.291 372.6 634.799 c +366.154 647.693 349.181 642.305 338.2 631.599 c +322.2 615.999 320.2 632.799 290.2 625.599 C +288.455 611.636 289.295 601.624 v +326.6 613.199 327.4 607.599 V +329 610.799 338.2 610.799 v +347.4 610.799 370.142 611.971 371.742 614.771 C +f +0 g +0 0.55 0.5 0.35 K +2 w +328.6 624.799 m +333.4 619.999 329.8 610.399 V +315.4 594.399 317.4 580.399 v +S +0 0 0.2 0 k +0 G +0.5 w +280.6 539.999 m +276.2 552.799 285 545.999 V +289.8 543.999 288.6 542.399 v +287.4 540.799 281.8 536.799 280.6 539.999 C +b +285.64 538.799 m +282.12 549.039 289.16 543.599 V +293.581 541.151 292.04 540.719 v +287.48 539.439 292.04 536.879 285.64 538.799 C +b +290.44 538.799 m +286.92 549.039 293.96 543.599 V +298.335 541.289 296.84 540.719 v +293.48 539.439 296.84 536.879 290.44 538.799 C +b +297.04 538.599 m +293.52 548.839 300.56 543.399 V +304.943 541.067 303.441 540.519 v +300.48 539.439 303.441 536.679 297.04 538.599 C +b +303.52 538.679 m +300 548.919 307.041 543.479 V +310.881 541.879 309.921 540.599 v +308.961 539.319 309.921 536.759 303.52 538.679 C +b +310.2 537.999 m +305.4 550.399 314.6 543.999 V +319.4 541.999 318.2 540.399 v +317 538.799 318.2 535.599 310.2 537.999 C +b +0 g +0.1 0.6 0.45 0.25 K +2 w +281.8 555.199 m +295 557.999 301 554.799 V +307 553.599 308.2 553.999 v +309.4 554.399 312.6 554.799 y +S +315.8 546.399 m +327.8 559.999 339.8 555.599 v +346.816 553.026 345.8 556.399 346.6 559.199 c +347.4 561.999 347.6 566.199 352.6 569.199 c +S +0 0 0.2 0 k +0 G +0.5 w +333 562.399 m +329 573.199 326.2 560.399 v +323.4 547.599 320.2 543.999 318.6 541.199 C +318.6 535.999 327 536.399 V +337.8 536.799 338.2 539.599 v +338.6 542.399 337 553.999 333 562.399 C +b +0 g +0.1 0.6 0.45 0.25 K +2 w +347 555.199 m +350.6 557.599 353 556.399 v +S +353.5 571.599 m +356.4 576.499 361.2 577.299 v +S +0.7 g +0 G +1 w +274.2 534.799 m +292.2 531.599 296.6 533.199 V +305.4 533.199 297 531.199 V +284.2 531.199 276.2 532.399 V +264.6 537.999 274.2 534.799 V +f +0 0 0.2 0 k +0.5 w +288.2 627.999 m +305.8 627.999 307.8 627.199 V +315 596.399 311.4 588.799 V +310.2 585.999 307.4 591.599 V +289 624.399 285.8 626.399 v +282.6 628.399 287 627.999 288.2 627.999 C +b +211.1 630.699 m +220 628.999 232.6 626.399 V +237.4 603.999 240.6 599.199 v +243.8 594.399 240.2 594.399 236.6 597.199 c +233 599.999 218.2 613.999 216.2 618.399 c +214.2 622.799 211.1 630.699 y +b +232.961 626.182 m +238.761 624.634 239.77 622.419 v +240.778 620.205 238.568 616.908 y +237.568 613.603 236.366 615.765 v +235.164 617.928 232.292 625.588 232.961 626.182 c +b +0 g +233 626.399 m +236.6 621.199 240.2 621.199 v +243.8 621.199 244.182 621.612 247 620.999 c +251.6 619.999 251.2 621.999 257.8 620.799 c +260.44 620.319 263 621.199 265.8 619.999 c +268.6 618.799 271.8 619.599 273 621.599 c +274.2 623.599 279 627.799 Y +266.2 625.999 263.4 625.199 V +241 623.999 233 626.399 V +f +0 0 0.2 0 k +277.6 626.199 m +271.15 622.699 270.75 620.299 v +270.35 617.899 276 614.199 y +278.75 609.599 279.35 611.999 v +279.95 614.399 278.4 625.799 277.6 626.199 c +b +240.115 620.735 m +247.122 609.547 247.339 620.758 V +247.896 622.016 246.136 622.038 v +240.061 622.114 241.582 626.216 240.115 620.735 C +b +247.293 620.486 m +255.214 609.299 254.578 620.579 V +254.585 620.911 252.832 621.064 v +248.085 621.478 248.43 625.996 247.293 620.486 C +b +254.506 620.478 m +262.466 609.85 261.797 619.516 V +261.916 620.749 260.262 621.05 v +256.37 621.756 256.159 625.005 254.506 620.478 C +b +261.382 620.398 m +269.282 608.837 269.63 618.618 V +271.274 619.996 269.528 620.218 v +263.71 620.958 264.508 625.412 261.382 620.398 C +b +0 0 0.2 0.1 k +225.208 616.868 m +217.55 618.399 l +214.95 623.399 212.85 629.549 y +219.2 628.549 231.7 625.749 V +232.576 622.431 234.048 616.636 v +225.208 616.868 l +f +290.276 621.53 m +288.61 624.036 287.293 625.794 286.643 626.2 c +283.63 628.083 287.773 627.706 288.902 627.706 C +305.473 627.706 307.356 626.953 V +307.88 624.711 308.564 621.32 V +298.476 623.33 290.276 621.53 V +f +0.2 0.55 0.85 0 k +1 w +343.88 759.679 m +371.601 755.719 397.121 791.359 398.881 801.04 c +400.641 810.72 390.521 822.6 Y +391.841 825.68 387.001 839.76 381.721 849 c +376.441 858.24 360.54 857.266 343 858.24 c +327.16 859.12 308.68 835.8 307.36 834.04 c +306.04 832.28 312.2 793.999 313.52 788.279 c +314.84 782.559 312.2 756.159 y +346.44 765.259 316.16 763.639 343.88 759.679 c +f +0.08 0.44 0.68 0 k +308.088 833.392 m +306.792 831.664 312.84 794.079 314.136 788.463 c +315.432 782.847 312.84 756.927 y +345.512 765.807 316.728 764.271 343.944 760.383 c +371.161 756.495 396.217 791.487 397.945 800.992 c +399.673 810.496 389.737 822.16 Y +391.033 825.184 386.281 839.008 381.097 848.08 c +375.913 857.152 360.302 856.195 343.08 857.152 c +327.528 858.016 309.384 835.12 308.088 833.392 c +f +0.06 0.33 0.51 0 k +308.816 832.744 m +307.544 831.048 313.48 794.159 314.752 788.647 c +316.024 783.135 313.48 757.695 y +344.884 766.855 317.296 764.903 344.008 761.087 c +370.721 757.271 395.313 791.615 397.009 800.944 c +398.705 810.272 388.953 821.72 Y +390.225 824.688 385.561 838.256 380.473 847.16 c +375.385 856.064 360.063 855.125 343.16 856.064 c +327.896 856.912 310.088 834.44 308.816 832.744 c +f +0.04 0.22 0.34 0 k +309.544 832.096 m +308.296 830.432 314.12 794.239 315.368 788.831 c +316.616 783.423 314.12 758.463 y +343.556 767.503 317.864 765.535 344.072 761.791 c +370.281 758.047 394.409 791.743 396.073 800.895 c +397.737 810.048 388.169 821.28 Y +389.417 824.192 384.841 837.504 379.849 846.24 c +374.857 854.976 359.824 854.055 343.24 854.976 c +328.264 855.808 310.792 833.76 309.544 832.096 c +f +0.02 0.11 0.17 0 k +310.272 831.448 m +309.048 829.816 314.76 794.319 315.984 789.015 c +317.208 783.711 314.76 759.231 y +342.628 768.151 318.432 766.167 344.136 762.495 c +369.841 758.823 393.505 791.871 395.137 800.848 c +396.769 809.824 387.385 820.84 Y +388.609 823.696 384.121 836.752 379.225 845.32 c +374.329 853.888 359.585 852.985 343.32 853.888 c +328.632 854.704 311.496 833.08 310.272 831.448 c +f +1 g +344.2 763.2 m +369.4 759.6 392.601 792 394.201 800.8 c +395.801 809.6 386.601 820.4 Y +387.801 823.2 383.4 836 378.6 844.4 c +373.8 852.8 359.346 851.914 343.4 852.8 c +329 853.6 312.2 832.4 311 830.8 c +309.8 829.2 315.4 794.4 316.6 789.2 c +317.8 784 315.4 760 y +340.9 768.6 319 766.8 344.2 763.2 c +f +0.8 g +390.601 797.2 m +362.8 789.6 351.2 791.2 V +335.4 797.8 326.6 776 V +323 768.8 321 766.8 v +319 764.8 390.601 797.2 Y +f +0 g +394.401 799.4 m +365.4 787.2 355.4 787.6 v +339 792.2 330.6 777.6 V +322.2 768.4 319 766.8 V +318.6 765.2 325 769.2 V +335.4 764 l +350.2 754.4 359.8 770.4 V +363.8 781.6 363.8 783.6 v +363.8 785.6 385 791.2 386.601 791.6 c +388.201 792 394.801 796.2 394.401 799.4 C +f +0.4 0.2 0.8 0 k +347 763.486 m +340.128 763.486 331.755 767.351 331.755 773.6 c +331.755 779.848 340.128 786.113 347 786.113 c +353.874 786.113 359.446 781.048 359.446 774.8 c +359.446 768.551 353.874 763.486 347 763.486 c +f +0.4 0.2 0.8 0.2 k +343.377 780.17 m +338.531 779.448 333.442 777.945 333.514 778.161 c +335.054 782.78 341.415 786.113 347 786.113 c +351.296 786.113 355.084 784.135 357.32 781.125 c +352.004 781.455 343.377 780.17 v +f +1 g +355.4 780.4 m +351 783.6 351 781.4 V +354.6 777 355.4 780.4 V +f +0 g +345.4 772.274 m +342.901 772.274 340.875 774.3 340.875 776.8 c +340.875 779.299 342.901 781.325 345.4 781.325 c +347.9 781.325 349.926 779.299 349.926 776.8 c +349.926 774.3 347.9 772.274 345.4 772.274 c +f +0.2 0.55 0.85 0 k +241.4 785.6 m +238.2 806.8 240.6 811.2 V +251.4 821.2 251 824.8 V +250.6 842.8 249.4 843.6 v +248.2 844.4 240.6 850.4 234.6 844 C +224.2 826 225 819.6 V +225 817.6 l +217.4 818 215.8 816 V +214.6 810.8 213.4 810.4 V +210.6 808 212.6 805.2 V +210.6 802.8 211 798.8 V +218.6 794.8 L +220.6 780.4 231.4 775.2 v +236.236 772.871 239.4 779.6 241.4 785.6 c +f +1 g +240.4 787.44 m +237.52 806.52 239.68 810.48 V +249.4 819.48 249.04 822.72 V +248.68 838.92 247.6 839.64 v +246.52 840.36 239.68 845.76 234.28 840 C +224.92 823.8 225.64 818.04 V +225.64 816.24 l +218.8 816.6 217.36 814.8 V +216.28 810.12 215.2 809.76 V +212.68 807.6 214.48 805.08 V +212.68 802.92 213.04 799.32 V +219.88 795.72 L +221.68 782.76 231.4 778.08 v +235.752 775.985 238.6 782.04 240.4 787.44 c +f +0.075 0.412 0.637 0 k +248.95 842.61 m +247.86 843.47 240.37 849.24 234.52 843 C +224.38 825.45 225.16 819.21 V +225.16 817.26 l +217.75 817.65 216.19 815.7 V +215.02 810.63 213.85 810.24 V +211.12 807.9 213.07 805.17 V +211.12 802.83 211.51 798.93 V +218.92 795.03 L +220.87 780.99 231.4 775.92 v +236.114 773.65 239.2 780.21 241.15 786.06 c +238.03 806.73 240.37 811.02 V +250.9 820.77 250.51 824.28 V +250.12 841.83 248.95 842.61 V +f +0.05 0.275 0.425 0 k +248.5 841.62 m +247.52 842.54 240.14 848.08 234.44 842 C +224.56 824.9 225.32 818.82 V +225.32 816.92 l +218.1 817.3 216.58 815.4 V +215.44 810.46 214.3 810.08 V +211.64 807.8 213.54 805.14 V +211.64 802.86 212.02 799.06 V +219.24 795.26 L +221.14 781.58 231.4 776.64 v +235.994 774.428 239 780.82 240.9 786.52 c +237.86 806.66 240.14 810.84 V +250.4 820.34 250.02 823.76 V +249.64 840.86 248.5 841.62 V +f +0.025 0.137 0.212 0 k +248.05 840.63 m +247.18 841.61 239.91 846.92 234.36 841 C +224.74 824.35 225.48 818.43 V +225.48 816.58 l +218.45 816.95 216.97 815.1 V +215.86 810.29 214.75 809.92 V +212.16 807.7 214.01 805.11 V +212.16 802.89 212.53 799.19 V +219.56 795.49 L +221.41 782.17 231.4 777.36 v +235.873 775.206 238.8 781.43 240.65 786.98 c +237.69 806.59 239.91 810.66 V +249.9 819.91 249.53 823.24 V +249.16 839.89 248.05 840.63 V +f +1 g +240.4 787.54 m +237.52 806.52 239.68 810.48 V +249.4 819.48 249.04 822.72 V +248.68 838.92 247.6 839.64 V +246.84 840.68 239.68 845.76 234.28 840 C +224.92 823.8 225.64 818.04 V +225.64 816.24 l +218.8 816.6 217.36 814.8 V +216.28 810.12 215.2 809.76 V +212.68 807.6 214.48 805.08 V +212.68 802.92 213.04 799.32 V +219.88 795.72 L +221.68 782.76 231.4 778.08 v +235.752 775.985 238.6 782.14 240.4 787.54 c +f +0.8 g +237.3 793.8 m +215.7 804 214.8 804.8 V +223.9 796.6 224.7 796.6 v +225.5 796.6 237.3 793.8 Y +f +0 g +220.2 800 m +238.6 796.4 238.6 792 v +238.6 789.088 238.357 775.669 233 777.2 c +224.6 779.6 228.2 794 220.2 800 c +f +0.4 0.2 0.8 0 k +228.6 796.2 m +237.578 794.726 238.6 792 v +239.2 790.4 239.863 782.092 234.4 781 c +229.848 780.089 227.618 790.31 228.6 796.2 c +f +0 g +314.595 753.651 m +314.098 755.393 315.409 755.262 317.2 755.8 c +319.2 756.4 331.4 760.2 332.2 762.8 c +333 765.4 346.2 761 Y +348 760.2 352.4 757.6 Y +357.2 756.4 363.8 756 Y +366.2 755 369.6 752.2 Y +384.2 742 396.601 749.2 Y +416.601 755.8 410.601 773 Y +407.601 782 410.801 785.4 Y +411.001 789.2 418.201 782.8 Y +420.801 778.6 421.601 773.6 Y +429.601 762.4 426.201 780.2 Y +426.401 781.2 423.601 784.8 423.601 786 c +423.601 787.2 421.801 790.6 Y +418.801 794 421.201 801 Y +423.001 814.8 420.801 813 Y +419.601 814.8 410.401 804.8 Y +408.201 801.4 402.201 799.8 Y +399.401 798 396.001 799.4 Y +393.401 799.8 387.801 792.8 Y +390.601 793 393.001 788.6 395.401 788.4 c +397.801 788.2 399.601 790.8 401.201 791.4 c +402.801 792 405.601 786.2 Y +406.001 783.6 400.401 778.8 Y +400.001 774.2 398.401 775.8 Y +395.401 776.4 394.201 772.6 393.201 768 c +392.201 763.4 388.001 763 y +386.401 755.6 385.2 758.6 Y +385 764.2 379 758.4 Y +377.8 756.4 373.2 758.6 Y +366.4 760.6 368.8 762.6 Y +370.6 764.8 381.8 762.6 Y +384 764.2 376 768.2 Y +375.4 770 376.4 774.4 Y +377.6 777.6 384.4 783.2 Y +393.801 784.4 391.001 786 Y +384.801 791.2 379 783.6 Y +376.8 777.4 359.4 762.4 Y +354.6 759 357.2 765.8 353.2 762.4 c +349.2 759 328.6 768 y +317.038 769.193 314.306 753.451 310.777 756.571 c +316.195 748.051 314.595 753.651 v +f +509.401 920 m +483.801 912 481.001 893.2 V +478.601 870.4 499.001 852.8 V +499.401 846.4 501.401 843.2 v +499.801 838.4 518.601 846 V +545.801 854.4 l +552.201 856.8 557.401 865.6 v +562.601 874.4 577.801 893.2 574.201 918.4 C +575.401 929.6 569.401 930 V +561.001 931.6 553.801 924 V +547.001 920.8 544.601 921.2 V +509.401 920 L +f +564.022 920.99 m +566.122 929.92 561.282 925.08 V +554.242 919.36 546.761 919.36 V +532.241 917.16 527.841 903.96 V +523.881 877.12 531.801 871.4 V +536.641 863.92 543.681 870.52 v +550.722 877.12 566.222 907.35 564.022 920.99 C +f +0.2 g +563.648 920.632 m +565.738 929.376 560.986 924.624 V +554.074 919.008 546.729 919.008 V +532.473 916.848 528.153 903.888 V +524.265 877.536 532.041 871.92 V +536.793 864.576 543.705 871.056 v +550.618 877.536 565.808 907.24 563.648 920.632 C +f +0.4 g +563.274 920.274 m +565.354 928.832 560.69 924.168 V +553.906 918.656 546.697 918.656 V +532.705 916.536 528.465 903.816 V +524.649 877.952 532.281 872.44 V +536.945 865.232 543.729 871.592 v +550.514 877.952 565.394 907.13 563.274 920.274 C +f +0.6 g +562.9 919.916 m +564.97 928.288 560.394 923.712 V +553.738 918.304 546.665 918.304 V +532.937 916.224 528.777 903.744 V +525.033 878.368 532.521 872.96 V +537.097 865.888 543.753 872.128 v +550.41 878.368 564.98 907.02 562.9 919.916 C +f +0.8 g +562.526 919.558 m +564.586 927.744 560.098 923.256 V +553.569 917.952 546.633 917.952 V +533.169 915.912 529.089 903.672 V +525.417 878.784 532.761 873.48 V +537.249 866.544 543.777 872.664 v +550.305 878.784 564.566 906.91 562.526 919.558 C +f +1 g +562.151 919.2 m +564.201 927.2 559.801 922.8 V +553.401 917.6 546.601 917.6 V +533.401 915.6 529.401 903.6 V +525.801 879.2 533.001 874 V +537.401 867.2 543.801 873.2 v +550.201 879.2 564.151 906.8 562.151 919.2 C +f +0.1 0.55 0.85 0.3 k +350.6 716 m +330.2 735.2 322.2 736 V +287.8 740 273 722 V +290.6 742.4 318.2 736.8 V +296.6 741.2 284.2 738 V +267.4 738 257.8 724 V +255 719.2 l +259 734 277.4 740 V +300.2 744.8 311 740 V +289.4 746.8 279.4 744.8 V +249 747.2 236.2 720.8 V +240.2 735.2 255 742.4 V +268.6 751.2 289 748.4 V +303.4 745.2 308.6 742.8 v +313.8 740.4 312.6 743.2 304.2 748 C +298.6 758 284.6 757.6 V +241.8 754 231.4 742 V +245 753.2 255.4 756 V +277.8 764 286.2 763.2 V +311 762.2 318.6 766.2 V +307.4 761.2 310.6 758 v +313.8 754.8 320.6 747.2 320.6 746 c +320.6 744.8 344.8 722.7 348.4 718.3 C +350.6 716 l +f +0.8 g +1 J 0.1 w +489 522 m +473.5 558.5 461 568 V +487 552 490.5 534 V +490.5 524 489 522 V +f +536 514.5 m +509.5 569.5 491 593.5 V +534.5 556 539.5 529.5 V +540 524 l +537 526.5 l +536.5 517.5 536 514.5 V +f +592.5 563 m +530 622.5 528.5 625 V +589 559 592 551.5 V +590 560.5 592.5 563 V +f +404 519.5 m +423.5 571.5 442.5 549 V +457.5 539 457 536 V +453 542.5 435 542 V +416 545 404 519.5 V +f +594.5 647 m +549.5 675.5 542 677 v +530.193 679.361 591.5 648 596.5 637.5 C +598.5 640 594.5 647 V +f +0 g +0 J 1 w +443.801 540.399 m +464.201 542.399 471.001 549.199 V +475.401 545.599 l +493.001 583.999 l +496.601 578.799 l +511.001 593.599 510.201 601.599 v +509.401 609.599 523.001 595.599 y +522.201 607.199 529.401 600.399 V +527.001 615.999 535.401 607.999 V +524.864 638.156 547.401 612.399 v +553.001 605.999 548.601 612.799 y +522.601 660.799 544.201 646.399 v +546.201 669.199 545.001 673.599 v +543.801 677.999 541.801 700.4 537.001 705.6 c +532.201 710.8 537.401 712.4 543.001 707.2 C +531.801 731.2 545.001 719.2 V +541.401 734.4 537.001 737.2 V +531.401 754.4 546.601 743.6 V +542.201 756 539.001 759.2 V +527.401 786.8 534.601 782 V +539.001 778.4 l +532.201 792.4 538.601 788 v +545.001 783.6 545.001 784 y +523.801 817.2 544.201 799.6 V +536.042 813.518 532.601 820.4 V +513.801 840.8 528.201 834.4 V +533.001 832.8 l +524.201 842.8 516.201 844.4 v +508.201 846 518.601 852.4 525.001 850.4 c +531.401 848.4 547.001 840.8 y +559.801 822 563.801 821.6 V +543.801 829.2 549.801 821.2 V +564.201 807.2 557.001 807.6 V +551.001 800.4 555.801 791.6 V +537.342 809.991 552.201 784.4 v +559.001 768 l +534.601 792.8 545.801 770.8 V +563.001 747.2 565.001 746.8 v +567.001 746.4 571.401 737.6 y +567.001 739.6 l +572.201 730.8 l +561.001 742.8 567.001 729.6 V +572.601 715.2 l +552.201 737.2 565.801 707.6 V +549.401 712.8 558.201 695.6 V +556.601 679.599 557.001 674.399 v +557.401 669.199 558.601 640.799 554.201 632.799 c +549.801 624.799 560.201 605.599 562.201 601.599 c +564.201 597.599 567.801 586.799 559.001 595.999 c +550.201 605.199 554.601 599.599 556.601 590.799 c +558.601 581.999 564.601 566.399 563.801 560.799 C +562.601 559.599 559.401 563.199 V +544.601 585.999 546.201 571.599 V +545.001 563.599 541.801 554.799 V +538.601 543.999 538.601 552.799 V +535.401 569.599 532.601 561.999 v +529.801 554.399 526.201 548.399 523.401 545.999 c +520.601 543.599 515.401 566.399 514.201 555.999 C +502.201 568.399 497.401 551.999 V +485.801 535.599 l +485.401 547.999 484.201 541.999 V +454.201 535.999 443.801 540.399 V +f +409.401 897.2 m +397.801 905.2 393.801 904.8 v +389.801 904.4 421.401 913.6 462.601 886 C +467.401 883.2 471.001 883.6 V +474.201 881.2 471.401 877.6 V +462.601 868 473.801 856.8 V +492.201 850 486.601 858.8 V +497.401 854.8 499.801 850.8 v +502.201 846.8 501.001 850.8 y +494.601 858 488.601 863.2 V +483.401 865.2 480.601 873.6 v +477.801 882 475.401 892 479.801 895.2 C +475.801 890.8 476.601 894.8 v +477.401 898.8 481.001 902.4 482.601 902.8 c +484.201 903.2 500.601 919 507.401 919.4 C +498.201 918 495.201 919 v +492.201 920 465.601 931.4 459.601 932.6 C +442.801 939.2 454.801 937.2 V +490.601 933.4 508.801 920.2 V +501.601 928.6 483.201 935.6 V +461.001 948.2 425.801 943.2 V +408.001 940 400.201 938.2 V +397.601 938.8 397.001 939.2 v +396.401 939.6 384.6 948.6 357 941.6 C +340 937 331.4 932.2 V +316.2 931 312.6 927.8 V +294 913.2 292 912.4 v +290 911.6 278.6 904 277.8 903.6 C +302.4 910.2 304.8 912.6 v +307.2 915 324.6 917.6 327 916.2 c +329.4 914.8 337.8 915.4 328.2 914.8 C +403.801 900 404.601 898 v +405.401 896 409.401 897.2 y +f +0.2 0.55 0.85 0 k +480.801 906.4 m +470.601 913.8 468.601 913.8 v +466.601 913.8 454.201 924 450.001 923.6 c +445.801 923.2 433.601 933.2 406.201 925 C +405.601 927 409.201 927.8 V +415.601 930 416.001 930.6 V +436.201 934.8 443.401 931.2 V +452.601 928.6 458.801 922.4 V +470.001 919.2 473.201 920.2 V +482.001 918 482.401 916.2 V +488.201 913.2 486.401 910.6 V +486.801 909 480.801 906.4 V +f +468.33 908.509 m +469.137 907.877 470.156 907.779 470.761 906.97 c +470.995 906.656 470.706 906.33 470.391 906.233 c +469.348 905.916 468.292 906.486 467.15 905.898 c +466.748 905.691 466.106 905.873 465.553 906.022 c +463.921 906.463 462.092 906.488 460.401 905.8 C +458.416 906.929 456.056 906.345 453.975 907.346 c +453.917 907.373 453.695 907.027 453.621 907.054 c +450.575 908.199 446.832 907.916 444.401 910.2 C +441.973 910.612 439.616 911.074 437.188 911.754 c +435.37 912.263 433.961 913.252 432.341 914.084 c +430.964 914.792 429.507 915.314 427.973 915.686 c +426.11 916.138 424.279 916.026 422.386 916.546 c +422.293 916.571 422.101 916.227 422.019 916.254 c +421.695 916.362 421.405 916.945 421.234 916.892 c +419.553 916.37 418.065 917.342 416.401 917 C +415.223 918.224 413.495 917.979 411.949 918.421 c +408.985 919.269 405.831 917.999 402.801 919 C +406.914 920.842 411.601 919.61 415.663 921.679 c +417.991 922.865 420.653 921.763 423.223 922.523 c +423.71 922.667 424.401 922.869 424.801 922.2 C +424.935 922.335 425.117 922.574 425.175 922.546 c +427.625 921.389 429.94 920.115 432.422 919.049 c +432.763 918.903 433.295 919.135 433.547 918.933 c +435.067 917.717 437.01 917.82 438.401 916.6 C +440.099 917.102 441.892 916.722 443.621 917.346 c +443.698 917.373 443.932 917.032 443.965 917.054 c +445.095 917.802 446.25 917.531 447.142 917.227 c +447.48 917.112 448.143 916.865 448.448 916.791 c +449.574 916.515 450.43 916.035 451.609 915.852 c +451.723 915.834 451.908 916.174 451.98 916.146 c +453.103 915.708 454.145 915.764 454.801 914.6 C +454.936 914.735 455.101 914.973 455.183 914.946 c +456.21 914.608 456.859 913.853 457.96 913.612 c +458.445 913.506 459.057 912.88 459.633 912.704 c +462.025 911.973 463.868 910.444 466.062 909.549 c +466.821 909.239 467.697 909.005 468.33 908.509 c +f +391.696 922.739 m +389.178 924.464 386.81 925.57 384.368 927.356 c +384.187 927.489 383.827 927.319 383.625 927.441 c +382.618 928.05 381.73 928.631 380.748 929.327 c +380.209 929.709 379.388 929.698 378.88 929.956 c +376.336 931.248 373.707 931.806 371.2 933 C +371.882 933.638 373.004 933.394 373.6 934.2 C +373.795 933.92 374.033 933.636 374.386 933.827 c +376.064 934.731 377.914 934.884 379.59 934.794 c +381.294 934.702 383.014 934.397 384.789 934.125 c +385.096 934.078 385.295 933.555 385.618 933.458 c +387.846 932.795 390.235 933.32 392.354 932.482 c +393.945 931.853 395.515 931.03 396.754 929.755 c +397.006 929.495 396.681 929.194 396.401 929 C +396.789 929.109 397.062 928.903 397.173 928.59 c +397.257 928.351 397.257 928.049 397.173 927.81 c +397.061 927.498 396.782 927.397 396.408 927.346 c +395.001 927.156 396.773 928.536 396.073 928.088 c +394.8 927.274 395.546 925.868 394.801 924.6 C +394.521 924.794 394.291 925.012 394.401 925.4 C +394.635 924.878 394.033 924.588 393.865 924.272 c +393.48 923.547 392.581 922.132 391.696 922.739 c +f +359.198 915.391 m +356.044 916.185 352.994 916.07 349.978 917.346 c +349.911 917.374 349.688 917.027 349.624 917.054 c +348.258 917.648 347.34 918.614 346.264 919.66 c +345.351 920.548 343.693 920.161 342.419 920.648 c +342.095 920.772 341.892 921.284 341.591 921.323 c +340.372 921.48 339.445 922.429 338.4 923 C +340.736 923.795 343.147 923.764 345.609 924.148 c +345.722 924.166 345.867 923.845 346 923.845 c +346.136 923.845 346.266 924.066 346.4 924.2 C +346.595 923.92 346.897 923.594 347.154 923.848 c +347.702 924.388 348.258 924.198 348.798 924.158 c +348.942 924.148 349.067 923.845 349.2 923.845 c +349.336 923.845 349.467 924.156 349.6 924.156 c +349.736 924.155 349.867 923.845 350 923.845 c +350.136 923.845 350.266 924.066 350.4 924.2 C +351.092 923.418 351.977 923.972 352.799 923.793 c +353.837 923.566 354.104 922.418 355.178 922.12 c +359.893 920.816 364.03 918.671 368.393 916.584 c +368.7 916.437 368.91 916.189 368.8 915.8 C +369.067 915.8 369.38 915.888 369.57 915.756 c +370.628 915.024 371.669 914.476 372.366 913.378 c +372.582 913.039 372.253 912.632 372.02 912.684 c +367.591 913.679 363.585 914.287 359.198 915.391 c +f +345.338 871.179 m +343.746 872.398 343.162 874.429 342.034 876.221 c +341.82 876.561 342.094 876.875 342.411 876.964 c +342.971 877.123 343.514 876.645 343.923 876.443 c +345.668 875.581 347.203 874.339 349.2 874.2 C +351.19 871.966 355.45 871.581 355.457 868.2 c +355.458 867.341 354.03 868.259 353.6 867.4 C +351.149 868.403 348.76 868.3 346.38 869.767 c +345.763 870.148 346.093 870.601 345.338 871.179 c +f +317.8 923.756 m +317.935 923.755 324.966 923.522 324.949 923.408 c +324.904 923.099 317.174 922.05 316.81 922.22 c +316.646 922.296 309.134 919.866 309 920 C +309.268 920.135 317.534 923.756 317.8 923.756 c +f +0 g +333.2 914 m +318.4 912.2 314 911 v +309.6 909.8 291 902.2 288 900.2 C +274.6 894.8 257.6 874.8 V +265.2 878.2 267.4 881 V +281 893.6 280.8 891 V +293 899.6 292.4 897.4 V +316.8 908.6 314.8 905.4 V +336.4 910 335.4 908 V +354.2 903.6 351.4 903.4 V +345.6 902.2 352 898.6 V +348.6 894.2 343.2 898.2 v +337.8 902.2 340.8 900 335.8 899 C +333.2 898.2 328.6 902.2 V +323 906.8 314.2 903.2 V +283.6 890.6 281.6 890 V +278 887.2 275.6 883.6 V +269.8 879.2 266.8 877.8 V +254 866.2 252.8 864.8 V +249.4 859.6 248.6 859.2 V +255 863 257 865 V +271 875 276.4 875.8 V +280.8 878.8 281.6 880.2 V +296 889.4 300.2 889.4 V +309.4 884.2 311.8 891.2 V +317.6 893 323.2 891.8 V +326.4 894.4 325.6 896.6 V +327.2 898.4 328.2 894.6 V +331.6 891 336.4 893 V +340.4 893.2 338.4 890.8 V +334 887 322.2 886.8 V +309.8 886.2 293.4 878.6 V +263.6 868.2 254.4 857.8 V +248 849 242.6 847.8 V +236.8 847 230.8 839.6 V +240.6 845.4 249.6 845.4 V +253.6 847.8 249.8 844.2 V +246.2 836.6 247.8 831.2 V +247.2 826 246.4 824.4 V +238.6 811.6 238.6 809.2 v +238.6 806.8 239.8 797 240.2 796.4 c +240.6 795.8 239.2 798 243 795.6 c +246.8 793.2 249.6 791.6 250.4 788.8 c +251.2 786 248.4 794.2 248.2 796 c +248 797.8 243.8 805 244.6 807.4 C +245.6 806.4 246.4 805 V +245.8 805.6 246.4 809.2 V +247.2 814.4 248.6 817.6 v +250 820.8 252 824.6 252.4 825.4 c +252.8 826.2 252.8 832 254.2 829.4 C +257.6 826.8 l +254.8 829.4 257 831.6 V +256 837.2 257.8 839.8 V +264.8 848.2 266.4 849.2 v +268 850.2 266.6 849.8 y +272.6 854 266.8 852.4 V +262.8 850.8 259.8 850.8 V +252.2 848.8 256.2 853 v +260.2 857.2 270.2 862.6 274 862.4 C +274.8 860.8 l +286 863.2 l +284.8 862.4 l +284.6 862.6 288.8 863 v +293 863.4 298.8 862 300.2 863.8 c +301.6 865.6 305 866.6 304.6 865.2 c +304.2 863.8 304 861.8 y +309 867.6 308.4 865.4 v +307.8 863.2 299.6 858 298.2 851.8 C +308.6 860 l +312.2 863 l +315.8 860.8 316 862.4 v +316.2 864 320.8 869.8 322 869.6 c +323.2 869.4 325.2 872.2 325 869.6 c +324.8 867 332.4 861.6 y +335.6 863.4 337 862 v +338.4 860.6 342.6 881.8 y +367.6 892.4 l +411.201 895.8 l +394.201 902.6 l +333.2 914 l +f +0.2 0.55 0.85 0.5 K +1 J 2 w +351.4 715 m +336.4 731.8 328 734.4 V +314.6 741.2 290 733.4 v +S +324.8 735.8 m +299.6 743.8 284.2 739.6 V +265.8 737.6 257.4 723.8 v +S +321.2 737 m +304.2 744.2 289.4 746.4 V +272.8 749 256.2 741.8 V +244 735.8 238.6 725.6 v +S +322.2 736.6 m +306.8 747.6 305.8 749 V +298.8 760 285.8 760.4 V +264.4 759.6 247.2 751.6 v +S +0 G +0 J 1 w +320.895 745.593 m +322.437 744.13 349.4 715.2 Y +384.6 678.599 356.6 712.8 Y +349 717.6 339.8 736.4 Y +338.6 739.2 353.8 729.2 Y +357.8 728.4 371.4 709.2 Y +364.6 711.6 369.4 704.4 Y +372.2 702.4 392.601 686.799 Y +396.201 682.799 400.201 681.199 Y +414.201 686.399 407.801 673.199 Y +410.201 666.399 415.801 677.999 Y +427.001 694.8 410.601 692.399 Y +380.6 689.599 373.8 705.6 Y +371.4 708 380.2 705.6 Y +388.601 703.6 373 718 Y +375.4 718 384.6 711.2 Y +395.001 702 397.001 704 Y +415.001 712.8 425.401 705.2 Y +427.401 703.6 421.801 696.8 423.401 691.599 c +425.001 686.399 429.801 673.999 Y +427.401 672.399 427.801 661.599 Y +444.601 638.399 435.001 640.399 Y +419.401 640.799 434.201 633.199 Y +437.401 631.199 446.201 623.999 Y +443.401 625.199 441.801 619.999 Y +446.601 615.999 443.801 611.199 Y +437.801 609.999 436.601 605.999 Y +443.401 597.999 433.401 597.599 Y +437.001 593.199 432.201 581.199 Y +427.401 581.199 421.001 575.599 Y +423.401 570.799 413.001 565.199 Y +404.601 563.599 407.401 556.799 Y +399.401 550.799 397.001 534.799 Y +396.201 524.399 393.801 521.199 399.001 523.199 c +404.201 525.199 403.401 537.599 Y +398.601 553.199 441.401 569.199 Y +445.401 570.799 446.201 575.999 Y +448.201 575.599 457.001 567.999 Y +464.601 556.799 465.001 565.999 Y +466.201 569.599 464.601 575.599 Y +470.601 597.199 456.601 603.599 Y +446.601 637.199 460.601 628.799 Y +463.401 623.199 474.201 617.999 y +477.801 620.399 L +476.201 625.199 484.601 631.199 Y +487.401 624.799 493.401 632.799 Y +497.001 657.199 509.401 642.799 Y +513.401 641.599 514.601 648.399 Y +518.201 658.799 514.601 672.399 Y +518.201 672.799 527.801 666.799 Y +530.601 670.399 521.401 687.199 525.401 684.799 c +529.401 682.399 533.801 680.799 Y +534.601 682.799 524.601 695.199 Y +520.201 698 515.001 718.4 Y +522.201 714.8 512.201 730 Y +512.201 733.2 518.201 744.4 Y +517.401 751.2 518.201 750.8 Y +521.001 749.6 529.001 748 522.201 754.4 c +515.401 760.8 523.001 765.6 Y +527.401 768.4 513.801 768 Y +508.601 772.4 509.001 776.4 Y +517.001 774.4 502.601 788.8 500.201 792.4 c +497.801 796 507.401 801.2 Y +520.601 804.8 509.001 808 Y +489.401 807.6 500.201 818.4 Y +506.201 818 504.601 820.4 Y +499.401 821.6 489.801 828 Y +485.801 831.6 489.401 830.8 Y +506.201 829.6 477.401 840.8 Y +485.401 840.8 467.401 851.2 Y +465.401 852.8 462.201 860.4 Y +456.201 865.6 451.401 872.4 Y +451.001 876.8 446.201 881.6 Y +434.601 895.2 429.001 894.8 Y +414.201 898.4 409.001 897.6 Y +356.2 893.2 l +329.8 880.4 337.6 859.4 Y +344 851 353.2 854.8 Y +357.8 861 369.4 858.8 Y +389.801 855.6 387.201 859.2 Y +384.801 863.8 368.6 870 368.4 870.6 c +368.2 871.2 359.4 874.6 Y +356.4 875.8 352 885 Y +348.8 888.4 364.6 882.6 Y +363.4 881.6 370.8 877.6 Y +388.201 878.6 398.801 867.8 Y +409.601 851.2 409.801 859.4 Y +412.601 868.8 400.801 890 Y +401.201 892 409.401 885.4 Y +410.801 887.4 411.601 881.6 Y +411.801 879.2 415.601 871.2 Y +418.401 858.2 422.001 865.6 Y +426.601 856.2 L +428.001 853.6 422.001 846 Y +421.801 843.2 422.601 843.4 417.001 835.8 c +411.401 828.2 414.801 823.8 Y +413.401 817.2 422.201 817.6 Y +424.801 815.4 428.201 815.4 Y +430.001 813.4 432.401 814 Y +434.001 817.8 440.201 815.8 Y +441.601 818.2 449.801 818.6 Y +450.801 821.2 451.201 822.8 454.601 823.4 c +458.001 824 433.401 867 Y +439.801 867.8 431.601 880.2 Y +429.401 886.8 440.801 872.2 443.001 870.8 c +445.201 869.4 446.201 867.2 444.601 867.4 c +443.001 867.6 441.201 865.4 442.601 865.2 c +444.001 865 457.001 850 460.401 839.8 c +463.801 829.6 469.801 825.6 476.001 819.6 c +482.201 813.6 481.401 789.4 Y +481.001 780.6 487.001 770 Y +489.001 766.2 484.801 748 Y +482.801 745.8 484.201 745 Y +485.201 743.8 492.001 730.6 Y +490.201 730.8 493.801 727.2 Y +499.001 721.2 492.601 724.2 Y +486.601 725.8 493.601 716 Y +494.801 714.2 485.801 718.8 Y +476.601 719.4 488.201 712.2 Y +496.801 705 485.401 709.4 Y +480.801 711.2 484.001 704.4 Y +487.201 702.8 504.401 695.8 Y +504.801 691.999 501.801 686.999 Y +502.201 682.999 500.001 679.599 Y +498.801 671.399 498.201 670.599 Y +494.001 670.399 486.601 656.599 Y +484.801 653.999 474.601 641.999 Y +472.601 634.999 454.601 642.199 Y +448.001 638.799 450.001 642.199 Y +449.601 644.399 454.401 650.399 Y +461.401 652.999 458.801 663.799 Y +462.801 665.199 451.601 667.999 451.801 669.199 c +452.001 670.399 457.801 671.799 Y +465.801 673.799 461.401 676.199 Y +460.801 680.199 463.801 685.799 Y +475.401 686.599 463.801 702.8 Y +453.001 710.4 452.001 716.2 Y +464.601 724.4 456.401 736.8 456.601 740.4 c +456.801 744 458.001 765.6 Y +456.001 771.8 453.001 785.4 Y +455.201 790.6 462.601 803.2 Y +465.401 807.4 474.201 812.2 472.001 815.2 c +469.801 818.2 462.001 816.4 Y +454.201 817.8 454.801 812.6 Y +453.201 811.6 452.401 806.6 Y +451.68 798.667 442.801 792.4 Y +431.601 786.2 440.801 782.2 Y +446.801 775.6 437.001 775.4 Y +426.001 777.2 434.201 767 Y +445.001 754.2 442.001 751.4 Y +431.801 750.4 444.401 741.2 y +443.601 743.2 443.801 741.4 v +444.001 739.6 447.001 735.4 447.801 733.4 c +448.601 731.4 444.601 731.2 Y +445.201 721.6 429.801 725.8 y +429.801 725.8 428.201 725.6 v +426.601 725.4 415.401 726.2 409.601 728.4 c +403.801 730.6 397.001 730.6 y +393.001 728.8 385.4 729 v +377.8 729.2 369.8 726.4 Y +365.4 726.8 374 731.2 374.2 731 c +374.4 730.8 380 736.4 372 735.8 c +350.203 734.165 339.4 744.4 Y +337.4 745.8 334.8 748.6 Y +324.8 750.6 336.2 736.2 Y +337.4 734.8 336 733.8 Y +335.2 735.4 327.4 740.8 Y +324.589 741.773 323.226 743.107 320.895 745.593 C +f +0.2 0.55 0.85 0.5 k +1 J 2 w +297 757.2 m +308.6 751.6 311.2 748.8 v +313.8 746 327.8 734.6 y +322.4 736.6 319.8 738.4 v +317.2 740.2 306.4 748.4 y +302.6 754.4 297 757.2 v +f +0.4 0.2 0.8 0 k +0 J 1 w +238.991 788.397 m +239.328 788.545 238.804 791.257 238.6 791.8 c +237.578 794.526 228.6 796 y +228.373 794.635 228.318 793.039 228.424 791.401 c +233.292 785.882 238.991 788.397 v +f +0.4 0.2 0.8 0.2 k +238.991 788.597 m +238.542 788.439 238.976 791.331 238.8 791.8 c +237.778 794.526 228.6 796.1 y +228.373 794.735 228.318 793.139 228.424 791.501 c +232.692 786.382 238.991 788.597 v +f +0 g +234.6 788.454 m +233.975 788.454 233.469 789.594 233.469 791 c +233.469 792.405 233.975 793.545 234.6 793.545 c +235.225 793.545 235.732 792.405 235.732 791 c +235.732 789.594 235.225 788.454 234.6 788.454 c +f +234.6 791 m +F +189 690.399 m +183.4 680.399 208.2 686.399 V +222.2 687.599 224.6 689.999 V +225.8 689.199 234.166 686.266 237 685.599 c +243.8 683.999 252.2 694 y +256.8 704.5 259.6 704.5 v +262.4 704.5 259.2 702.9 y +252.6 692.799 253 691.199 V +247.8 671.199 231.8 670.399 V +215.65 669.449 217 663.599 V +225.8 665.999 228.2 663.599 V +239 663.999 231 657.599 V +224.2 645.999 l +224.34 642.081 214.2 645.599 v +204.4 648.999 194.1 661.899 y +178.15 676.449 189 690.399 V +f +0.1 0.4 0.4 0 k +187.8 686.399 m +185.8 676.799 222.6 687.199 V +227 687.199 229.4 686.399 v +231.8 685.599 243.8 682.799 245.8 683.999 C +238.6 670.399 227 671.999 V +213.8 670.399 214.2 665.599 V +218.2 658.399 223 655.999 V +225.8 653.599 225.4 650.399 v +225 647.199 222.2 645.599 220.2 644.799 c +218.2 643.999 215 647.199 213.4 647.199 c +211.8 647.199 203.4 653.599 199 658.399 c +194.6 663.199 186.2 675.199 186.6 677.999 c +187 680.799 187.8 686.399 Y +f +0.1 0.4 0.4 0.2 k +191 668.949 m +193.6 664.999 196.8 660.799 199 658.399 c +203.4 653.599 211.8 647.199 213.4 647.199 c +215 647.199 218.2 643.999 220.2 644.799 c +222.2 645.599 225 647.199 225.4 650.399 c +225.8 653.599 223 655.999 Y +219.934 657.532 217.194 661.024 215.615 663.347 C +215.8 660.799 210.6 661.599 v +205.4 662.399 200.2 665.199 198.6 668.399 c +197 671.599 194.6 673.999 196.2 670.399 c +197.8 666.799 200.2 663.199 201.8 662.799 c +203.4 662.399 203 661.199 200.6 661.599 c +198.2 661.999 195.4 662.399 191 667.599 c +F +0.1 0.55 0.85 0.3 k +188.4 689.999 m +190.2 703.6 191.4 707.6 V +190.6 714.4 193 718.6 v +195.4 722.8 197.4 729 200.4 734.4 c +203.4 739.8 203.6 743.8 207.6 745.4 c +211.6 747 217.6 755.6 220.4 756.6 c +223.2 757.6 223 756.8 y +229.8 771.6 243.4 767.6 V +227.2 770.4 243 779.8 V +238.2 778.7 241.5 785.7 v +243.701 790.368 243.2 783.6 232.2 771.8 C +227.2 763.2 222 760.2 v +216.8 757.2 204.8 750.2 203.6 746.4 c +202.4 742.6 199.2 736.8 197.2 735.2 c +195.2 733.6 192.4 729.4 192 726 C +190.8 722 189.4 720.8 v +188 719.6 187.8 716.4 187.8 714.4 c +187.8 712.4 185.8 709.6 186 707.2 C +186.8 688.199 186.4 686.199 V +188.4 689.999 L +f +1 g +179.8 685.399 m +177.8 686.799 173.4 680.799 V +180.7 647.799 180.7 646.399 V +181.8 648.499 180.5 655.699 v +179.2 662.899 178.3 675.599 y +179.8 685.399 l +f +0.1 0.55 0.85 0.3 k +201.4 746 m +183.8 742.8 184.2 713.6 V +183.4 688.799 l +182.2 714.4 181 716 v +179.8 717.6 183.8 728.8 180.6 722.8 C +166.6 708.8 174.6 687.599 V +176.1 684.299 173.1 688.899 V +168.5 701.5 169.6 707.9 V +169.8 710.1 171.7 712.9 V +180.3 724.6 183 726.9 V +184.8 741.3 200.2 746.5 V +205.9 748.8 201.4 746 V +f +0 g +340.8 812.2 m +341.46 812.554 341.451 813.524 342.031 813.697 c +343.18 814.041 343.344 815.108 343.862 815.892 c +344.735 817.211 344.928 818.744 345.51 820.235 c +345.782 820.935 345.809 821.89 345.496 822.55 c +344.322 825.031 343.62 827.48 342.178 829.906 c +341.91 830.356 341.648 831.15 341.447 831.748 c +340.984 833.132 339.727 834.123 338.867 835.443 c +338.579 835.884 339.104 836.809 338.388 836.893 c +337.491 836.998 336.042 837.578 335.809 836.552 c +335.221 833.965 336.232 831.442 337.2 829 C +336.418 828.308 336.752 827.387 336.904 826.62 c +337.614 823.014 336.416 819.662 335.655 816.188 c +335.632 816.084 335.974 815.886 335.946 815.824 c +334.724 813.138 333.272 810.693 331.453 808.312 c +330.695 807.32 329.823 806.404 329.326 805.341 c +328.958 804.554 328.55 803.588 328.8 802.6 C +325.365 799.82 323.115 795.975 320.504 792.129 c +320.042 791.449 320.333 790.24 320.884 789.971 c +321.697 789.573 322.653 790.597 323.123 791.443 c +323.512 792.141 323.865 792.791 324.356 793.434 c +324.489 793.609 324.31 794.028 324.445 794.149 c +327.078 796.496 328.747 799.432 331.2 801.8 C +333.15 802.129 334.687 803.127 336.435 804.14 c +336.743 804.319 337.267 804.07 337.557 804.265 c +339.31 805.442 339.308 807.478 339.414 809.388 c +339.464 810.272 339.66 811.589 340.8 812.2 c +f +331.959 816.666 m +332.083 816.743 331.928 817.166 332.037 817.382 c +332.199 817.706 332.602 817.894 332.764 818.218 c +332.873 818.434 332.71 818.814 332.846 818.956 c +335.179 821.403 335.436 824.427 334.4 827.4 C +335.424 828.02 335.485 829.282 335.06 830.129 c +334.207 831.829 334.014 833.755 333.039 835.298 c +332.237 836.567 330.659 837.811 329.288 836.508 c +328.867 836.108 328.546 835.321 328.824 834.609 c +328.888 834.446 329.173 834.3 329.146 834.218 c +329.039 833.894 328.493 833.67 328.487 833.398 c +328.457 831.902 327.503 830.391 328.133 829.062 c +328.905 827.433 329.724 825.576 330.4 823.8 C +329.166 821.684 330.199 819.235 328.446 817.358 c +328.31 817.212 328.319 816.826 328.441 816.624 c +328.733 816.138 329.139 815.732 329.625 815.44 c +329.827 815.319 330.175 815.317 330.375 815.441 c +330.953 815.803 331.351 816.29 331.959 816.666 c +f +394.771 826.977 m +396.16 825.185 396.45 822.39 394.401 821 C +394.951 817.691 398.302 819.67 400.401 820.2 C +400.292 820.588 400.519 820.932 400.802 820.937 c +401.859 820.952 402.539 821.984 403.601 821.8 C +404.035 823.357 405.673 824.059 406.317 825.439 c +408.043 829.134 407.452 833.407 404.868 836.653 c +404.666 836.907 404.883 837.424 404.759 837.786 c +404.003 839.997 401.935 840.312 400.001 841 C +398.824 844.875 398.163 848.906 396.401 852.6 C +394.787 852.85 394.089 854.589 392.752 855.309 c +391.419 856.028 390.851 854.449 390.892 853.403 c +390.899 853.198 391.351 852.974 391.181 852.609 c +391.105 852.445 390.845 852.334 390.845 852.2 c +390.846 852.065 391.067 851.934 391.201 851.8 C +390.283 850.98 388.86 850.503 388.565 849.358 c +387.611 845.648 390.184 842.523 391.852 839.322 c +392.443 838.187 391.707 836.916 390.947 835.708 c +390.509 835.013 390.617 833.886 390.893 833.03 c +391.645 830.699 393.236 828.96 394.771 826.977 c +f +357.611 808.591 m +356.124 806.74 352.712 804.171 355.629 802.243 c +355.823 802.114 356.193 802.11 356.366 802.244 c +358.387 803.809 360.39 804.712 362.826 805.294 c +362.95 805.323 363.224 804.856 363.593 805.017 c +365.206 805.72 367.216 805.662 368.4 807 C +372.167 806.776 375.732 807.892 379.123 809.2 c +380.284 809.648 381.554 810.207 382.755 810.709 c +384.131 811.285 385.335 812.213 386.447 813.354 c +386.58 813.49 386.934 813.4 387.201 813.4 C +387.161 814.263 388.123 814.39 388.37 815.012 c +388.462 815.244 388.312 815.64 388.445 815.742 c +390.583 817.372 391.503 819.39 390.334 821.767 c +390.049 822.345 389.8 822.963 389.234 823.439 c +388.149 824.35 387.047 823.496 386 823.8 C +385.841 823.172 385.112 823.344 384.726 823.146 c +383.867 822.707 382.534 823.292 381.675 822.854 c +380.313 822.159 379.072 821.99 377.65 821.613 c +377.338 821.531 376.56 821.627 376.4 821 C +376.266 821.134 376.118 821.368 376.012 821.346 c +374.104 820.95 372.844 820.736 371.543 819.044 c +371.44 818.911 370.998 819.09 370.839 818.955 c +369.882 818.147 369.477 816.913 368.376 816.241 c +368.175 816.118 367.823 816.286 367.629 816.157 c +366.983 815.726 366.616 815.085 365.974 814.638 c +365.645 814.409 365.245 814.734 365.277 814.99 c +365.522 816.937 366.175 818.724 365.6 820.6 C +367.677 823.12 370.194 825.069 372 827.8 C +372.015 829.966 372.707 832.112 372.594 834.189 c +372.584 834.382 372.296 835.115 372.17 835.462 c +371.858 836.316 372.764 837.382 371.92 838.106 c +370.516 839.309 369.224 838.433 368.4 837 C +366.562 836.61 364.496 835.917 362.918 837.151 c +361.911 837.938 361.333 838.844 360.534 839.9 c +359.549 841.202 359.884 842.638 359.954 844.202 c +359.96 844.33 359.645 844.466 359.645 844.6 c +359.646 844.735 359.866 844.866 360 845 C +359.294 845.626 359.019 846.684 358 847 C +358.305 848.092 357.629 848.976 356.758 849.278 c +354.763 849.969 353.086 848.057 351.194 847.984 c +350.68 847.965 350.213 849.003 349.564 849.328 c +349.132 849.544 348.428 849.577 348.066 849.311 c +347.378 848.807 346.789 848.693 346.031 848.488 c +344.414 848.052 343.136 846.958 341.656 846.103 c +340.171 845.246 339.216 843.809 338.136 842.489 c +337.195 841.337 337.059 838.923 338.479 838.423 c +340.322 837.773 341.626 840.476 343.592 840.15 c +343.904 840.099 344.11 839.788 344 839.4 C +344.389 839.291 344.607 839.52 344.8 839.8 C +345.658 838.781 346.822 838.444 347.76 837.571 c +348.73 836.667 350.476 837.085 351.491 836.088 c +353.02 834.586 352.461 831.905 354.4 830.6 C +353.814 829.287 353.207 828.01 352.872 826.583 c +352.59 825.377 353.584 824.18 354.795 824.271 c +356.053 824.365 356.315 825.124 356.8 826.2 C +357.067 825.933 357.536 825.636 357.495 825.42 c +357.038 823.033 356.011 821.04 355.553 818.609 c +355.494 818.292 355.189 818.09 354.8 818.2 C +354.332 814.051 350.28 811.657 347.735 808.492 c +347.332 807.99 347.328 806.741 347.737 806.338 c +349.14 804.951 351.1 806.497 352.8 807 C +353.013 808.206 353.872 809.148 355.204 809.092 c +355.46 809.082 355.695 809.624 356.019 809.754 c +356.367 809.892 356.869 809.668 357.155 809.866 c +358.884 811.061 360.292 812.167 362.03 813.356 c +362.222 813.487 362.566 813.328 362.782 813.436 c +363.107 813.598 363.294 813.985 363.617 814.17 c +363.965 814.37 364.207 814.08 364.4 813.8 C +363.754 813.451 363.75 812.494 363.168 812.292 c +362.393 812.024 361.832 811.511 361.158 811.064 c +360.866 810.871 360.207 811.119 360.103 810.94 c +359.505 809.912 358.321 809.474 357.611 808.591 c +f +302.2 858 m +292.962 860.872 281.8 835.2 V +279.4 830 277 828 v +274.6 826 263.4 822.4 261.4 818.4 C +251 802.4 L +265.8 818.4 269 820.8 V +277 829.2 273.8 822.4 V +259.8 811.6 261 802.4 V +255.4 788 254.6 786 V +270.6 818 273 819.2 v +275.4 820.4 276.6 820.4 275.4 816.8 c +274.2 813.2 273.8 796.8 271 794.8 C +279 815.2 278.2 818.4 V +281.4 822 283.8 816.8 V +282.6 800.8 l +287 788.8 l +284.6 800 286.2 815.6 V +284.2 826 288.2 820.4 v +292.2 814.8 301.8 808.8 301.8 804 C +296.6 821.6 287.4 826.4 V +283.4 820.4 l +282.2 822.4 l +278.6 823.2 283 830 v +287.4 836.8 287 837.6 y +293.4 830.4 295 830.4 V +308.2 838 309.4 813.6 V +316.2 828 307 834.8 V +292.2 836.8 293.4 842 V +300.6 854.4 L +304.2 859.6 302.6 856.8 y +F +282.2 841.6 m +269.4 841.6 266.2 836.4 V +259 826.8 l +276.2 836.8 280.2 838 v +284.2 839.2 282.2 841.6 Y +f +242.2 835.2 m +240.2 834 239.8 831.2 v +239.4 828.4 237 828 237.8 825.2 c +238.6 822.4 240.6 820 240.6 824 c +240.6 828 242.2 830 243 831.2 c +243.8 832.4 245.4 836.8 242.2 835.2 c +f +233.4 774 m +225 778 221.8 781.6 v +218.6 785.2 219.052 780.034 214.2 780.4 c +208.353 780.841 209.4 796.8 y +205.4 789.2 l +204.2 774.8 212.2 777.2 v +216.107 778.372 217.4 776.8 215.8 776 c +214.2 775.2 221.4 774.8 218.6 773.2 c +215.8 771.6 230.2 776.8 227.8 766.4 C +233.4 774 L +f +220.8 759.6 m +205.4 755.2 201.8 764.8 V +197 762.4 199.2 759.4 v +201.4 756.4 202.6 756 y +208 754.8 207.4 754 v +206.8 753.2 204.4 749.8 y +214.6 755.8 220.8 759.6 v +f +1 g +449.201 681.399 m +448.774 679.265 447.103 678.464 445.201 677.799 C +443.284 678.757 440.686 681.863 438.801 679.799 C +438.327 680.279 437.548 680.339 437.204 681.001 c +436.739 681.899 437.011 682.945 436.669 683.743 c +436.124 685.015 435.415 686.381 435.601 687.799 C +437.407 688.511 438.002 690.417 437.528 692.18 c +437.459 692.437 437.03 692.634 437.23 692.983 c +437.416 693.306 437.734 693.533 438.001 693.8 C +437.866 693.665 437.721 693.432 437.61 693.452 c +437 693.558 437.124 694.195 437.254 694.582 c +437.839 696.328 439.853 696.592 441.201 695.4 C +441.457 695.965 441.966 695.771 442.401 695.8 C +442.351 696.379 442.759 696.906 442.957 697.326 c +443.475 698.424 445.104 697.318 445.901 697.93 c +446.977 698.755 448.04 699.454 449.118 698.851 c +450.927 697.838 452.636 696.626 453.835 694.885 c +454.41 694.051 454.65 692.77 454.592 691.812 c +454.554 691.165 453.173 691.517 452.83 690.588 c +452.185 688.84 454.016 688.321 454.772 686.983 c +454.97 686.634 454.706 686.33 454.391 686.232 c +453.98 686.104 453.196 686.293 453.334 685.84 c +454.306 682.647 451.55 681.969 449.201 681.399 C +f +439.6 661.799 m +439.593 663.537 437.992 665.293 439.201 666.999 C +439.336 666.865 439.467 666.644 439.601 666.644 c +439.736 666.644 439.867 666.865 440.001 666.999 C +441.496 664.783 445.148 663.855 445.006 661.009 c +444.984 660.562 443.897 659.644 444.801 658.999 C +442.988 657.651 442.933 655.281 442.001 653.399 C +440.763 653.685 439.551 654.048 438.401 654.599 C +438.753 656.085 438.636 657.769 439.456 659.089 c +439.89 659.787 439.603 660.866 439.6 661.799 c +f +0.8 g +273.4 670.799 m +256.542 660.663 270.6 675.999 v +279.4 685.599 289.4 691.199 y +299.8 695.6 303.4 696.8 v +307 698 322.2 703.2 325.4 703.6 c +328.6 704 338.2 708 345 704 c +351.8 700 359.8 695.6 y +343.4 704 339.8 701.6 v +336.2 699.2 329 699.6 323 696.4 C +308.2 691.999 305 689.999 v +301.8 687.999 291.4 676.399 289.8 677.199 c +288.2 677.999 290.2 678.399 291.4 681.199 c +292.6 683.999 290.6 685.599 282.6 679.199 c +274.6 672.799 273.4 670.799 Y +f +0 g +280.805 676.766 m +282.215 689.806 290.693 688.141 V +298.919 692.311 301.641 694.279 V +309.78 695.981 311.09 696.598 v +329.569 705.298 344.288 700.779 344.835 701.899 c +345.381 703.018 365.006 695.901 368.615 691.815 c +369.006 691.372 358.384 697.412 348.686 699.303 c +340.413 700.917 318.811 699.056 307.905 693.52 c +304.932 692.011 295.987 686.227 293.456 686.338 c +290.925 686.45 280.805 676.766 Y +f +0.8 g +277 651.199 m +261.8 653.599 278.6 655.199 V +296.6 657.199 300.6 662.399 V +314.2 671.599 317 671.999 v +319.8 672.399 349.8 679.599 350.2 681.999 c +350.6 684.399 356.2 684.399 357.8 683.599 c +359.4 682.799 358.6 681.599 355.8 680.799 c +353 679.999 321.8 663.599 315.4 662.399 c +309 661.199 297.4 653.599 292.6 652.399 c +287.8 651.199 277 651.199 Y +f +0 g +296.52 658.597 m +287.938 659.426 296.539 660.245 V +305.355 663.669 307.403 666.332 V +314.367 671.043 315.8 671.247 v +317.234 671.452 331.194 675.139 331.399 676.367 c +331.604 677.596 365.67 690.177 370.09 686.987 c +373.001 684.886 363.1 686.563 353.466 682.153 c +352.111 681.533 318.258 666.946 314.981 666.332 c +311.704 665.717 305.765 661.826 303.307 661.212 c +300.85 660.597 296.52 658.597 Y +f +288.6 656.399 m +293.8 656.799 292.6 655.199 v +291.4 653.599 289 654.399 y +288.6 656.399 l +f +281.4 654.799 m +286.6 655.199 285.4 653.599 v +284.2 651.999 281.8 652.799 y +281.4 654.799 l +f +271 653.199 m +276.2 653.599 275 651.999 v +273.8 650.399 271.4 651.199 y +271 653.199 l +f +263.4 652.399 m +268.6 652.799 267.4 651.199 v +266.2 649.599 263.8 650.399 y +263.4 652.399 l +f +301.8 691.999 m +306.2 691.999 305 690.399 v +303.8 688.799 300.6 689.199 y +301.8 691.999 l +f +291.8 686.399 m +298.306 688.54 295.8 685.199 v +294.6 683.599 292.2 684.399 y +291.8 686.399 l +f +280.6 681.599 m +285.8 681.999 284.6 680.399 v +283.4 678.799 281 679.599 y +280.6 681.599 l +f +273 675.599 m +278.2 675.999 277 674.399 v +275.8 672.799 273.4 673.599 y +273 675.599 l +f +266.2 670.799 m +271.4 671.199 270.2 669.599 v +269 667.999 266.6 668.799 y +266.2 670.799 l +f +305.282 664.402 m +312.203 664.934 310.606 662.805 v +309.009 660.675 305.814 661.74 y +305.282 664.402 l +f +315.682 669.202 m +322.603 669.734 321.006 667.605 v +319.409 665.475 316.214 666.54 y +315.682 669.202 l +f +326.482 673.602 m +333.403 674.134 331.806 672.005 v +330.209 669.875 327.014 670.94 y +326.482 673.602 l +f +336.882 678.402 m +343.803 678.934 342.206 676.805 v +340.609 674.675 337.414 675.74 y +336.882 678.402 l +f +309.282 696.402 m +316.203 696.934 314.606 694.805 v +313.009 692.675 309.014 692.94 y +309.282 696.402 l +f +319.282 699.602 m +326.203 700.134 324.606 698.005 v +323.009 695.875 318.614 696.14 y +319.282 699.602 l +f +296.6 659.599 m +301.8 659.999 300.6 658.399 v +299.4 656.799 297 657.599 y +296.6 659.599 l +f +0.1 0.55 0.85 0.3 k +223.4 758.8 m +219 750 218.6 746.8 V +219.4 755.6 220.6 757.6 v +221.8 759.6 223.4 758.8 y +f +205 744.8 m +201.8 730.4 202.2 727.6 V +201 739.2 201.4 740.4 v +201.8 741.6 205 744.8 y +f +0.8 g +225.8 819.4 m +225.6 816.2 l +223.4 816 l +237.6 803.4 238.2 795.8 V +239 804 225.8 819.4 V +f +0 g +229.784 818.135 m +229.353 818.551 229.572 819.296 229.164 819.556 c +228.355 820.072 230.462 820.129 230.234 820.845 c +229.851 822.051 230.038 822.072 229.916 823.348 c +229.859 823.946 230.447 825.486 230.832 825.926 c +232.278 827.578 230.954 830.51 232.594 832.061 c +232.898 832.35 233.274 832.902 233.559 833.32 c +234.218 834.283 235.402 834.771 236.352 835.599 c +236.67 835.875 236.469 836.702 237.038 836.61 c +237.752 836.495 238.993 836.625 238.948 835.784 c +238.835 833.664 237.506 831.944 236.226 830.276 C +236.677 829.572 236.219 828.937 235.935 828.38 c +234.6 825.76 234.789 822.919 234.615 820.079 c +234.61 819.994 234.303 819.916 234.311 819.863 c +234.664 817.528 235.248 815.329 236.127 813.1 c +236.493 812.17 236.964 811.275 237.114 810.348 c +237.225 809.662 237.328 808.829 236.92 808.124 C +238.955 805.234 237.646 802.583 238.815 799.052 c +239.022 798.427 240.714 796.513 240.251 796.674 c +237.738 797.545 237.626 797.943 237.449 798.696 c +237.303 799.319 236.973 800.696 236.736 801.298 c +236.672 801.462 236.501 803.346 236.423 803.468 c +234.91 805.85 236.268 805.674 234.898 808.032 C +233.47 808.712 232.504 809.816 231.381 810.978 c +231.183 811.182 232.326 811.906 232.145 812.119 c +231.053 813.408 229.9 814.175 230.236 815.668 c +230.391 816.358 230.528 817.415 229.784 818.135 c +f +226.2 816.4 m +226.6 809.6 229 808 v +231.4 806.4 230.2 807.2 227 808.4 c +223.8 809.6 225 810.4 y +222.2 810 224.6 808 v +227 806 230.6 803.6 229 803.6 c +227.4 803.6 219.8 807.6 219.8 810.4 c +219.8 813.2 218.8 817.3 y +219.9 818.1 224.7 818 V +226.1 817.3 226.2 816.4 V +f +1 g +1 J 0.1 w +225.4 797.8 m +216.88 800.591 198.4 797.2 V +207.431 799.278 226.2 797 v +236.5 795.75 225.4 797.8 Y +b +227.498 797.871 m +219.252 801.389 200.547 799.608 V +209.725 800.897 228.226 797.005 v +238.38 794.869 227.498 797.871 Y +b +229.286 797.778 m +221.324 801.899 202.539 801.514 V +211.787 802.118 229.948 796.86 v +239.914 793.975 229.286 797.778 Y +b +230.556 797.555 m +223.732 801.862 206.858 802.96 V +215.197 802.79 231.078 796.681 v +239.794 793.328 230.556 797.555 Y +b +345.84 787.039 m +344.91 786.395 345.124 787.576 v +345.339 788.757 373.547 801.927 377.161 801.677 C +346.913 788.471 345.84 787.039 V +b +342.446 786.4 m +341.57 785.685 341.691 786.879 v +341.812 788.073 368.899 803.418 372.521 803.452 C +343.404 787.911 342.446 786.4 V +b +339.16 785.025 m +338.332 784.253 338.374 785.453 v +338.416 786.652 358.233 802.149 368.045 804.023 C +350.015 795.896 339.16 785.025 V +b +336.284 783.162 m +335.539 782.468 335.577 783.547 v +335.615 784.627 353.449 798.574 362.28 800.26 C +346.054 792.946 336.284 783.162 V +b +0.8 g +0 J 1 w +304.6 635.199 m +289.4 637.599 306.2 639.199 V +324.2 641.199 328.2 646.399 V +341.8 655.599 344.6 655.999 v +347.4 656.399 363.8 659.999 364.2 662.399 c +364.6 664.799 370.6 667.199 372.2 666.399 c +373.8 665.599 373.8 656.399 371 655.599 c +368.2 654.799 349.4 647.599 343 646.399 c +336.6 645.199 325 637.599 320.2 636.399 c +315.4 635.199 304.6 635.199 Y +f +0 g +377.6 672.599 m +374.6 670.999 373.4 668.399 V +367 657.799 352.8 654.599 V +329.8 645.599 322 643.599 V +308.6 638.599 301.2 639.399 V +294.2 639.199 300.4 637.599 V +320.6 639.599 324 641.399 V +339.6 646.599 342.6 649.199 v +345.6 651.799 363.8 656.799 366 658.799 c +368.2 660.799 378 669.199 377.6 672.599 C +f +318.882 641.089 m +324.111 641.315 322.958 639.766 v +321.805 638.216 319.357 639.09 y +318.882 641.089 l +f +311.68 639.737 m +316.908 639.963 315.756 638.414 v +314.603 636.864 312.155 637.737 y +311.68 639.737 l +f +301.251 638.489 m +306.48 638.716 305.327 637.166 v +304.174 635.617 301.726 636.49 y +301.251 638.489 l +f +293.617 637.945 m +298.846 638.171 297.693 636.622 v +296.54 635.072 294.092 635.946 y +293.617 637.945 l +f +335.415 648.487 m +342.375 648.788 340.84 646.726 v +339.306 644.664 336.047 645.826 y +335.415 648.487 l +f +345.73 652.912 m +351.689 656.213 351.155 651.151 v +350.885 648.595 346.362 650.251 y +345.73 652.912 l +f +354.862 655.726 m +362.021 659.427 360.287 653.965 v +359.509 651.515 355.493 653.065 y +354.862 655.726 l +f +364.376 660.551 m +368.735 665.452 369.801 658.79 v +370.207 656.252 365.008 657.89 y +364.376 660.551 l +f +326.834 644.003 m +332.062 644.23 330.91 642.68 v +329.757 641.131 327.308 642.004 y +326.834 644.003 l +f +1 g +1 J 0.1 w +362.434 765.397 m +361.708 764.732 361.707 765.803 v +361.707 766.873 379.191 780.137 388.034 781.521 C +371.935 774.792 362.434 765.397 V +b +0 g +0 J 1 w +365.4 701.6 m +387.401 679.199 396.601 675.599 V +405.801 664.399 401.801 638.399 V +398.601 630.799 395.401 651.599 V +398.601 676.799 387.401 660.799 V +379 670.699 385.4 670.399 V +388.601 668.399 389.001 669.999 v +389.401 671.599 381.4 685.199 364.2 699.6 c +347 714 365.4 701.6 Y +f +1 g +1 J 0.1 w +307 662.799 m +306.8 664.599 308.6 663.799 v +310.4 662.999 404.601 656.799 436.201 632.799 C +391.001 655.999 307 662.799 V +b +317.4 667.199 m +317.2 668.999 319 668.199 v +320.8 667.399 457.401 668.399 481.001 635.999 C +459.001 661.199 317.4 667.199 V +b +329 671.199 m +328.8 672.999 330.6 672.199 v +332.4 671.399 505.801 684.399 529.401 651.999 C +519.801 677.599 329 671.199 V +b +339 675.999 m +338.8 677.799 340.6 676.999 v +342.4 676.199 464.601 714.8 488.201 682.399 C +474.801 707 339 675.999 V +b +281 653.199 m +280.8 654.999 282.6 654.199 v +284.4 653.399 302.2 651.199 304.2 612.399 C +297 654.399 281 653.199 V +b +272.2 651.599 m +272 653.399 273.8 652.599 v +275.6 651.799 289.8 656.399 287 617.599 C +288.2 652.799 272.2 651.599 V +b +264.2 651.199 m +264 652.999 265.8 652.199 v +267.6 651.399 283 650.799 270.6 628.399 C +280.2 652.399 264.2 651.199 V +b +311.526 695.535 m +311.082 693.536 312.631 694.753 v +328.699 707.378 361.141 766.28 416.826 771.914 C +378.518 784.024 311.526 695.535 V +b +322.726 697.335 m +321.363 698.528 323.231 699.153 v +325.099 699.778 437.541 772.28 476.826 764.314 C +449.719 771.824 322.726 697.335 V +b +301.885 691.233 m +301.376 689.634 303.087 690.61 v +312.062 695.73 315.677 752.941 359.254 754.196 C +326.843 768.91 301.885 691.233 V +b +281.962 680.207 m +280.885 678.921 282.838 679.175 v +293.084 680.507 314.489 721.778 358.928 716.699 C +326.962 731.045 281.962 680.207 V +b +293.2 686.333 m +292.389 684.864 294.258 685.489 v +304.057 688.763 317.141 733.375 361.729 736.922 C +327.603 744.865 293.2 686.333 V +b +274.922 675.088 m +274.049 674.046 275.631 674.252 v +283.93 675.331 301.268 708.76 337.264 704.646 C +311.371 716.266 274.922 675.088 V +b +267.323 669.179 m +266.318 668.134 267.909 668.252 v +272.077 668.561 302.715 701.64 321.183 686.138 C +309.168 704.861 267.323 669.179 V +b +336.855 701.102 m +335.654 702.457 337.586 702.842 v +339.518 703.226 460.221 760.939 498.184 748.073 C +472.243 758.947 336.855 701.102 V +b +303.4 636.799 m +303.2 638.599 305 637.799 v +306.8 636.999 322.2 636.399 309.8 613.999 C +319.4 637.999 303.4 636.799 V +b +313.8 638.399 m +313.6 640.199 315.4 639.399 v +317.2 638.599 335 636.399 337 597.599 C +329.8 639.599 313.8 638.399 V +b +320.6 639.999 m +320.4 641.799 322.2 640.999 v +324 640.199 348.6 636.799 372.2 604.399 C +336.6 641.199 320.6 639.999 V +b +328.225 642.028 m +327.788 643.786 329.678 643.232 v +331.568 642.678 352.002 644.577 390.099 610.401 C +343.924 645.344 328.225 642.028 V +b +338.625 646.428 m +338.188 648.186 340.078 647.632 v +341.968 647.078 376.802 642.577 428.499 607.601 C +354.324 649.744 338.625 646.428 V +b +298.2 657.999 m +298 659.799 299.8 658.999 v +301.6 658.199 355 655.599 385.4 628.799 C +350.499 653.574 298.2 657.999 V +b +288.2 653.999 m +288 655.799 289.8 654.999 v +291.6 654.199 316.2 650.799 339.8 618.399 C +304.2 655.199 288.2 653.999 V +b +349.503 651.038 m +348.938 652.759 350.864 652.345 v +352.79 651.932 387.86 649.996 441.981 618.902 C +364.317 653.296 349.503 651.038 V +b +357.903 653.438 m +357.338 655.159 359.264 654.745 v +361.19 654.332 396.26 652.396 450.381 621.302 C +373.317 656.096 357.903 653.438 V +b +367.503 658.438 m +366.938 660.159 368.864 659.745 v +370.79 659.332 413.86 654.996 503.582 620.702 C +382.917 661.096 367.503 658.438 V +b +0 g +0 J 1 w +256.2 651.599 m +261.4 651.999 260.2 650.399 v +259 648.799 256.6 649.599 y +256.2 651.599 l +f +287 637.599 m +292.2 637.999 291 636.399 v +289.8 634.799 287.4 635.599 y +287 637.599 l +f +278.2 637.999 m +283.4 638.399 282.2 636.799 v +281 635.199 278.6 635.999 y +278.2 637.999 l +f +182.831 649.818 m +187.876 648.495 186.218 647.376 v +184.561 646.256 182.554 647.798 y +182.831 649.818 l +f +184.831 659.418 m +189.876 658.095 188.218 656.976 v +186.561 655.856 184.554 657.398 y +184.831 659.418 l +f +177.631 663.818 m +182.676 662.495 181.018 661.376 v +179.361 660.256 177.354 661.798 y +177.631 663.818 l +f +0.8 g +1 J 0.1 w +257.4 588.799 m +255.8 588.799 251.8 586.799 V +249.8 586.799 238.6 583.199 233 573.199 C +245.4 582.799 257.4 588.799 V +f +345.116 496.153 m +345.257 495.895 345.312 495.475 345.604 495.458 c +346.262 495.418 347.495 495.117 347.37 495.753 c +346.522 500.059 345.648 504.996 341.515 506.803 c +340.876 507.082 339.434 506.669 339.36 505.785 c +339.233 504.261 339.116 502.912 339.425 501.446 c +339.725 500.025 341.883 500.015 342.8 501.399 C +343.736 499.727 344.168 497.884 345.116 496.153 c +f +334.038 491.419 m +334.786 490.006 334.659 488.147 336.074 487.584 c +336.814 487.29 338.664 488.265 338.246 489.339 c +337.444 491.4 337.056 493.639 335.667 495.45 c +335.467 495.712 335.707 496.245 335.547 496.573 c +334.953 497.793 333.808 498.528 332.4 498.199 C +331.285 495.996 332.433 493.867 333.955 492.158 c +334.091 492.006 333.925 491.63 334.038 491.419 c +f +294.436 496.609 m +294.328 496.986 294.29 497.449 294.455 497.77 c +294.986 498.803 295.779 499.925 295.442 500.947 c +295.094 502.003 293.978 501.821 293.328 501.252 c +292.193 500.258 292.144 498.432 291.453 497.073 c +291.257 496.687 291.308 496.114 290.867 495.723 c +290.393 495.302 289.953 493.778 290.049 493.207 c +290.102 492.894 289.919 482.986 290.141 483.249 c +290.76 483.982 293.81 493.716 293.879 494.608 c +293.936 495.339 294.668 495.804 294.436 496.609 c +f +268.798 503.401 m +271.432 505.9 274.222 508.861 273.78 512.573 c +273.664 513.549 271.889 513.022 271.702 512.176 c +270.9 508.551 268.861 505.89 266.293 503.498 c +264.097 501.451 262.235 495.107 262 494.599 C +265.697 499.855 267.954 502.601 268.798 503.401 c +f +255.224 509.365 m +255.747 509.735 255.445 510.226 255.662 510.558 c +256.615 512.016 257.916 513.262 257.934 515 c +257.937 515.277 257.559 515.586 257.224 515.362 c +256.947 515.178 256.605 515.048 256.497 514.918 c +254.467 512.469 253.067 509.798 251.624 506.986 c +251.441 506.629 250.297 502.138 250.61 502.027 c +250.849 501.942 252.569 506.123 252.779 506.237 c +254.042 506.923 254.054 508.538 255.224 509.365 c +f +271.957 489.821 m +272.401 490.69 273.977 491.892 273.864 492.781 c +273.746 493.709 274.214 495.152 273.302 494.464 c +272.045 493.516 268.596 492.167 268.326 486.359 c +268.3 485.788 271.274 488.481 271.957 489.821 c +f +286.4 506.999 m +286.8 507.667 287.508 507.194 287.967 507.457 c +288.615 507.829 289.226 508.387 289.518 509.036 c +290.488 511.185 292.257 513.005 292.4 515.399 C +290.909 516.804 290.23 514.764 289.6 513.799 C +288.277 515.446 287.278 513.572 285.978 513.053 c +285.908 513.025 285.695 513.372 285.62 513.345 c +284.443 512.905 283.763 511.824 282.765 511.043 c +282.594 510.909 282.189 511.089 282.042 510.953 c +281.39 510.35 280.417 510.025 280.137 509.343 c +279.027 506.636 275.887 504.541 274 496.999 C +274.381 496.09 278.512 503.641 278.999 504.339 c +279.835 505.535 279.953 502.678 281.229 503.344 c +281.28 503.371 281.466 503.133 281.6 502.999 C +281.794 503.279 282.012 503.508 282.4 503.399 C +282.4 503.799 282.266 504.355 282.467 504.514 c +283.704 505.491 283.62 506.559 284.4 507.799 C +284.858 507.01 285.919 507.729 286.4 506.999 C +f +346.2 452.599 m +353.6 472.999 349.2 484.199 V +360.6 462.599 356 451.399 V +355.6 461.799 351.6 466.799 V +347.6 453.999 346.2 452.599 V +f +331.4 455.199 m +336.8 463.999 328.8 482.399 V +328 461.999 321.2 450.999 V +335.4 471.199 331.4 455.199 V +f +321.4 457.199 m +321.2 477.199 321.6 480.199 V +317.8 463.599 307.6 453.999 V +322 465.999 321.4 457.199 V +f +311.8 489.199 m +317.8 475.599 307.8 457.199 V +314.2 469.399 309.4 476.399 V +312 479.799 311.8 489.199 V +f +292.6 457.599 m +291.6 473.199 293.4 475.399 V +293.6 481.799 293.2 482.799 V +297.2 488.999 297.4 481.599 V +298.8 473.799 301.6 469.199 V +305.2 463.799 305 457.399 V +295 487.599 292.6 457.599 V +f +289 485.199 m +282.4 474.399 280.6 455.399 V +279.2 461.599 283 475.999 V +287.2 491.399 289 485.199 V +f +267.2 465.399 m +272.2 470.799 273.6 475.799 V +277.2 491.599 270.8 482.999 V +271 474.999 262.8 467.599 V +267.6 469.999 267.2 465.399 V +f +261.4 470.399 m +264.8 487.799 265.6 488.599 V +267.4 491.999 264.6 488.799 V +255.8 469.599 251.8 462.999 V +259.8 472.199 261.4 470.399 V +f +255.6 486.999 m +267.2 509.399 245.4 483.599 V +256.4 493.399 255.6 486.999 V +f +240.2 501.599 m +245 520.399 247.6 520.199 V +255.8 529.199 249.2 518.599 V +243.2 508.999 243.8 499.199 V +243.2 508.799 240.2 501.599 V +f +570.5 513 m +558.5 523 556 526.5 V +569.5 508 569.5 501 V +572 508.5 570.5 513 V +f +576 535 m +555 550 551.5 557.5 V +578 528 578 523.5 V +578.5 532.5 576 535 V +f +593 689 m +581 697 579.5 695 V +590 688.5 592.5 680 V +591 689 593 689 V +f +601.5 608.5 m +584 620.5 l +603 603.5 603.5 599.5 V +601.5 608.5 L +f +0 g +1 w +210.75 631 m +232.75 626.25 l +S +261 469 m +260.5 472.5 251.5 462 v +S +266.5 464 m +268.5 470.5 262 466 v +S +320.5 455.5 m +322 466.5 310.5 453.5 v +S + +showpage + +% Modification Denis GIROU (CNRS/IDRIS - France) <Denis.Girou@idris.fr> - 18 Dec. 1997 +%% %%Trailer +countdictstack InitDictCount sub { end } repeat +cleartomark +restore +grestore diff --git a/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.pdf b/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.pdf Binary files differdeleted file mode 100644 index 0c45acff4ae..00000000000 --- a/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.tgz b/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.tgz Binary files differdeleted file mode 100644 index 3744bd9148a..00000000000 --- a/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.tgz +++ /dev/null diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-doc.cls b/Master/texmf-dist/doc/generic/pstricks/pst-doc.cls index ae6b7a06257..553a6901711 100644 --- a/Master/texmf-dist/doc/generic/pstricks/pst-doc.cls +++ b/Master/texmf-dist/doc/generic/pstricks/pst-doc.cls @@ -1,4 +1,4 @@ -% $Id: pst-doc.cls 246 2010-01-04 19:54:06Z herbert $ +% $Id: pst-doc.cls 282 2010-02-09 21:05:55Z herbert $ % %% %% The PSTricks Project @@ -78,6 +78,7 @@ \RequirePackage{multido} \RequirePackage{lscape} \RequirePackage{graphicx} +\RequirePackage{eso-pic} \definecolor{DOrange}{rgb}{1,.4,.2} \RequirePackage{amsmath, amssymb} \RequirePackage{tabularx,ragged2e} @@ -285,6 +286,7 @@ \let\nxLdim\nxLcs \let\nxLskip\nxLcs \def\Lctr#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Counter!#1@\texttt{#1}}} +\def\LCtr#1{\texttt{#1}\index{#1@\texttt{#1}}\index{TeX Counter@\TeX\ Counter!#1@\texttt{#1}}} \def\nxLctr#1{\texttt{#1}} % \newcommand\Lnotation [1]{\nxLnotation{#1}\xLnotation{#1}} @@ -402,10 +404,30 @@ \renewcommand\maketitle{% \thispagestyle{empty}% \begin{titlepage} +\ifpdf +\AddToShipoutPicture*{\includegraphics{pst-doc.pdf}} +\vspace*{0.3\textheight} +\parbox{17cm}{\sffamily\RaggedRight\bfseries\huge\@title}\\[5pt] +\parbox{15cm}{\sffamily\Large\@subtitle} + +\vspace{5cm} +\parbox{10cm}{\sffamily\@date} + +\vfill +~\\ +\makebox[.5\textwidth]{\put(0,0){\bgImage}}\\ +~ + +\vfill +\parbox[b]{19cm}{\sffamily\RaggedRight + \ifx\@docauthor\empty~\else Documentation by\fi\hfill\makebox[7cm][l]{Package author(s):}\\ + \ifx\@docauthor\empty~\else{\bfseries\tabular[t]{@{}l@{}}\@docauthor\endtabular}\fi\hfill\makebox[7cm][l]{% + \bfseries\tabular[t]{@{}l@{}}\@author\endtabular}} +\else \begin{pspicture}(1.6in,0)(21,21.7) - \psframe[fillstyle=solid,linecolor=lightgray,fillcolor=lightgray,linestyle=solid](0,-5.75)(21.2,10) - \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,10)(21.2,10.5) - \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,21.1)(21.2,21.2) + \psframe[fillstyle=solid,linecolor=lightgray,fillcolor=lightgray,linestyle=solid](0,-5.75)(21.5,10) + \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,10)(21.5,10.5) + \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,21.1)(21.5,21.2) \rput[lb](3,22){\Huge\sffamily\color{Orange!65!Red}\psscalebox{2}{\textbf{PSTricks}}} \rput[lb](3,14.1){\parbox{17cm}{\sffamily\RaggedRight\bfseries\huge\@title}} \rput[lb](3,12.6){\parbox{15cm}{\sffamily\Large\@subtitle}} @@ -416,6 +438,7 @@ \bfseries\tabular[t]{@{}l@{}}\@author\endtabular}}} \rput[C](11,4){\bgImage}% \end{pspicture}% +\fi \end{titlepage} \setcounter{footnote}{0}% \global\let\thanks\relax% diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-doc.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-doc.pdf Binary files differnew file mode 100644 index 00000000000..0718eddae92 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pstricks/pst-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news.sty b/Master/texmf-dist/doc/generic/pstricks/pst-news.sty index 7d2ab444208..8ce484574a3 100644 --- a/Master/texmf-dist/doc/generic/pstricks/pst-news.sty +++ b/Master/texmf-dist/doc/generic/pstricks/pst-news.sty @@ -1,7 +1,11 @@ %% $Id: pst-news.sty 9 2008-01-03 20:22:50Z herbert $ \ProvidesPackage{pst-news}[2008/02/01 definitions for PSTricks news (hv)] - +% +%\usepackage{pamathx}% use this if you have the palatino math font +\usepackage{arev}% use this if you do not have the palatino math font +%\usepackage[scaled=0.9]{luximono}% use this if you do not have the palatino math font +% \RequirePackage{pstricks} \let\PSTfiledate\filedate \let\PSTfileversion\fileversion @@ -20,14 +24,6 @@ \makeindex \RequirePackage{tabularx,array,longtable} \SpecialCoor -\RequirePackage[colorlinks,linktocpage]{hyperref} -\RequirePackage{breakurl} -\def\UrlFont{\small\ttfamily} -\makeatletter -\def\verbatim@font{\small\normalfont\ttfamily} -\let\Oldpart\part -\renewcommand\part[1]{\clearpage\Oldpart{#1}} -\makeatother \RequirePackage{ragged2e} \definecolor{hellgelb}{rgb}{1,1,0.8} \definecolor{colKeys}{rgb}{0,0,1} @@ -35,6 +31,11 @@ \definecolor{colComments}{rgb}{1,0,0} \definecolor{colString}{rgb}{0,0.5,0} % +\usepackage{amsmath} +\usepackage{tabularx} +\usepackage{longtable} +\usepackage{xkvview} +\usepackage{pst-math} \RequirePackage{listings} \lstset{% language=PSTricks,% @@ -58,6 +59,17 @@ captionpos=b,% xleftmargin=0pt% } +\lstdefinestyle{syntax}{backgroundcolor=\color{blue!20},numbers=none,xleftmargin=0pt,xrightmargin=0pt, + frame=single} +% +\RequirePackage[colorlinks,linktocpage]{hyperref} +\RequirePackage{breakurl} +\def\UrlFont{\small\ttfamily} +\makeatletter +\def\verbatim@font{\small\normalfont\ttfamily} +\let\Oldpart\part +\renewcommand\part[1]{\clearpage\Oldpart{#1}} +\makeatother %\parindent=0pt % @@ -66,8 +78,11 @@ \DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} \let\PSTbibliography\bibliography \renewcommand\bibliography[1]{\begingroup\RaggedRight\PSTbibliography{#1}\endgroup} -\def\PS{PostScript} \def\textat{\char064} +% +\usepackage{xspace} +\def\PS{PostScript\xspace} +\def\dt{\ensuremath{\,\mathrm{d}t}} % \def\LPack#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Package!#1@\texttt{#1}}} @@ -82,5 +97,7 @@ \def\Lkeyval#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Value!#1@\texttt{#1}}} \def\Loption#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Package option!#1@\texttt{#1}}} \def\LPS#1{\texttt{#1}\index{#1@\texttt{#1}}\index{PostScript!#1@\texttt{#1}}} +\def\Lps#1{\texttt{#1}\index{#1@\texttt{#1}}\index{PostScript!#1@\texttt{#1}}} \def\Index#1{#1\index{#1}} +% \endinput diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news06.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news06.pdf Binary files differindex ae63aadf05a..ce9dff713cc 100644 --- a/Master/texmf-dist/doc/generic/pstricks/pst-news06.pdf +++ b/Master/texmf-dist/doc/generic/pstricks/pst-news06.pdf diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news08.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news08.pdf Binary files differindex 9273e7dddc8..428653ebf27 100644 --- a/Master/texmf-dist/doc/generic/pstricks/pst-news08.pdf +++ b/Master/texmf-dist/doc/generic/pstricks/pst-news08.pdf diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news09.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news09.pdf Binary files differindex 6892054bd64..50257ffccf6 100644 --- a/Master/texmf-dist/doc/generic/pstricks/pst-news09.pdf +++ b/Master/texmf-dist/doc/generic/pstricks/pst-news09.pdf diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex b/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex index 17fe502f151..a59dce1b179 100644 --- a/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex +++ b/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex @@ -50,51 +50,6 @@ optional argument, which shifts the box in vertical direction. The new options \Lkeyword{shift} and \Lkeyword{showgrid} do not work in this case. The support of transparency colors is also disabled. -\subsection{file list} -You should always use the \Lcs{listfile} to get a list of all loaded packages and -font files and the end of your log file: - -\begin{verbatim} - *File List* - pst-doc.cls 2009/09/27 v 0.10 PSTricks documentation class (hv) -scrartcl.cls 2009/07/24 v3.04a KOMA-Script document class (article) -scrkbase.sty 2009/07/24 v3.04a KOMA-Script package (KOMA-Script-dependent ba -sics and keyval usage) -[ ... ] -pstricks.sty 2008/11/26 v0.40 LaTeX wrapper for `PSTricks' (RN,HV) -pstricks.tex 2009/10/25 v1.30 `PSTricks' (tvz,hv) -pstricks.pro 2009/01/30 v. 1.06, PostScript prologue file (hv) -pst-dots.pro 2006/12/19 v. 2.00, PostScript prologue file (hv) -pst-algparser.pro 2008/01/01 v. 0.01, PostScript prologue file (hv) -[ ... ] -pst-plot.sty 2004/07/15 package wrapper for pst-plot.tex -pst-plot.tex 2009/06/08 1.04 `pst-plot' (tvz) -pst-node.sty 2006/01/01 package wrapper for pst-node.tex -pst-node.tex 2008/11/26 1.01 `pst-node' (tvz) -pst-node.pro 2009/01/30 v. 1.02, PostScript prologue file (hv) -pst-tree.sty 2009/01/25 package wrapper for pst-tree.tex -pst-tree.tex 2009/09/17 1.11 `pst-tree' (tvz,hv) -pst-xkey.tex 2005/11/25 v1.6 PSTricks specialization of xkeyval (HA) -pst-eucl.sty 2005/05/14 package wrapper for PSTricks pst-eucl.tex -pst-eucl.tex 2008/11/21 v1.35 `PST-eucl' (dr) -pst-eucl.pro - ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions -ltcaption.sty 2008/03/28 v1.2 longtable captions (AR) -pst-news09.out -pst-news09.out - t1fvs.fd 2004/09/07 scalable font definitions for T1/fvs. - t1fvm.fd 2004/09/07 scalable font definitions for T1/fvm. - umsa.fd 2009/06/22 v3.00 AMS symbols A - umsb.fd 2009/06/22 v3.00 AMS symbols B -lstlang1.sty 2004/09/05 1.3 listings language file (modified 2009-08-23 Nm) -lstlang2.sty 2004/09/05 1.3 listings language file -lstlang3.sty 2004/09/05 1.3 listings language file -pst-news09.ind - *********** -\end{verbatim} - -This can be depending on your document a very long list. With the new version of \LFile{pstricks.sty} -the \Lext{pro} files are also listed. %-------------------------------------------------------------------------------------- \section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news10.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news10.pdf Binary files differnew file mode 100644 index 00000000000..c5cdb2dae9b --- /dev/null +++ b/Master/texmf-dist/doc/generic/pstricks/pst-news10.pdf diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news10.tex b/Master/texmf-dist/doc/generic/pstricks/pst-news10.tex new file mode 100644 index 00000000000..e2923970409 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pstricks/pst-news10.tex @@ -0,0 +1,526 @@ +%% $Id: pst-news09.tex 62 2008-11-25 19:52:07Z herbert $ +\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings + headexclude,footexclude,oneside]{pst-doc} +\listfiles +\let\Lfile\LFile +\usepackage[utf8]{inputenc} +\usepackage{pst-plot} +\let\pstplotFV\fileversion +\let\pstplotFD\filedate +\usepackage{pst-eucl,pst-func} +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}2010}} +\def\textat{\char064} +\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}}, + escapechar=?} +\begin{document} + +%\psset{PstDebug=1} +\title{\texttt{News -- 2010}\\ \Large new macros and bugfixes for the +basic packages \nxLFile{pstricks}, \nxLFile{pst-plot}, and \nxLFile{pst-node}} +\author{Herbert Voß} +\date{\today} + +\maketitle + +\clearpage +\tableofcontents + +\clearpage +\part{\texttt{pstricks} -- package} + +\section{General} +There exists a new document class \LClass{pst-doc} for writing PSTricks documentations, +like this news document. It depends on the KOMA-Script document class \LClass{scrartcl}. +\LClass{pst-doc} defines a lot of special macros to create a good index. Take one of +the already existing package documentation and look into the source file. Then it will be +easy to understand, how all these macros have to be used. + +When running \Lprog{pdflatex} the title page is created with boxes and inserted +with the macro \Lcs{AddToShipoutPicture} from the package \LPack{eso-pic}. It +inserts the background title page image \Lfile{pst-doc-pdf} to use directly +\Lprog{pdflatex}. +When running \Lprog{latex} the title page + is created with \PST\ macros.This allows to use the Perl script \Lprog{pst2pdf} or +the package \LPack{pst-pdf} or \LPack{auto-pst-pdf} or any other program/package which +supports \PS\ code in the document. + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty}} +%-------------------------------------------------------------------------------------- +%\subsection{New optional argument} +No changes + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} +%-------------------------------------------------------------------------------------- + +\subsection{Option \nxLkeyword{algebraic}} +The option \Lkeyword{algebraic} moved from the other packages into +the main package \LPack{pstricks} to get rid of the dependencies. + +By default the function in \Lcs{psplot} has to be described in +Reversed Polish Notation. The option \Lkeyword{algebraic} allows you +to do this in the common algebraic notation. E.g.: + +\begin{tabular}{l|l} +RPN & algebraic\\\hline +\verb+x ln+ & \verb+ln(x)+\\ +\verb+x cos 2.71 x neg 10 div exp mul+ & \verb+cos(x)*2.71^(-x/10)+\\ +\verb+1 x div cos 4 mul+ & \verb+4*cos(1/x)+\\ +\verb+t cos t sin+ & \verb+cos(t)|sin(t)+ +\end{tabular} + +Setting the option \Lkeyword{algebraic}, allow the user +to describe all expression to be written in the classical +algebraic notation (infix notation). The four arithmetic +operations are obviously defined \verb$+-*/$, and also the +exponential operator \verb$^$. The natural priorities are used : +$3+4\times 5^5=3+(4\times (5^5))$, and by default the computation +is done from left to right. The following functions are defined : + +\medskip +\begin{tabular}{ll} +\verb$sin$, \verb$cos$, \verb$tan$, \verb$acos$, \verb$asin$ & in radians\\ +\verb$log$, \verb$ln$\\ +\verb$ceiling$, \verb$floor$, \verb$truncate$, \verb$round$\\ +\verb$sqrt$ & square root\\ +\verb$abs$ & absolute value\\ +\verb$fact$ & for the factorial\\ +\verb$Sum$ & for building sums\\ +\verb$IfTE$ & for an easy case structure +\end{tabular} + +\medskip +These options can be used with \textbf{all} plot macros. + +{\bfseries Using the option \Lkeyword{algebraic} implies that all +angles have to be in radians! } + +For the \Lcs{parametricplot} the two parts must be divided by the \Lnotation{|} character: + +\begin{LTXexample}[width=2cm] +\begin{pspicture}(-0.5,-0.5)(0.5,0.5) +\parametricplot[algebraic,linecolor=red]{-3.14}{3.14}{cos(t)|sin(t)} +\end{pspicture} +\end{LTXexample} + +\bigskip +\begingroup +\psset{lly=-0.5cm} +\psgraph[trigLabels,dx=\psPi,dy=0.5,Dy=0.5]{->}(0,0)(-10,-1)(10,1){\linewidth}{6cm} + \psset{algebraic,plotpoints=1000} + \psplot[linecolor=yellow,linewidth=2pt]{-10}{10}{0.75*sin(x)*cos(x/2)} + \psplot[linecolor=red,showpoints=true,plotpoints=101]{-10}{10}{0.75*sin(x)*cos(x/2)} +\endpsgraph +\endgroup + +\bigskip +\begin{lstlisting} +\psset{lly=-0.5cm} +\psgraph[trigLabels,dx=\psPi,dy=0.5,Dy=0.5]{->}(0,0)(-10,-1)(10,1){\linewidth}{6cm} + \psset{algebraic,plotpoints=1000} + \psplot[linecolor=yellow,linewidth=2pt]{-10}{10}{0.75*sin(x)*cos(x/2)} + \psplot[linecolor=red,showpoints=true,plotpoints=101]{-10}{10}{0.75*sin(x)*cos(x/2)} +\endpsgraph +\end{lstlisting} + + +\bigskip +%\begin{LTXexample}[pos=t] +\bgroup +\psset{lly=-0.5cm,unit=1cm} +\psgraph(0,-5)(18,3){0.9\linewidth}{5cm} + \psset{algebraic,plotpoints=501} + \psplot[linecolor=yellow, linewidth=4\pslinewidth]{0.01}{18}{ln(x)} + \psplot[linecolor=red]{0.01}{18}{ln(x)} + \psplot[linecolor=green,linewidth=4\pslinewidth]{0}{18}{3*cos(x)*2.71^(-x/10)} + \psplot[linecolor=blue,showpoints=true,plotpoints=51]{0}{18}{3*cos(x)*2.71^(-x/10)} +\endpsgraph +\egroup +%\end{LTXexample} + + +\bigskip +\begin{lstlisting} +\psset{lly=-0.5cm} +\psgraph(0,-5)(18,3){0.9\linewidth}{5cm} + \psset{algebraic,plotpoints=501} + \psplot[linecolor=yellow, linewidth=4\pslinewidth]{0.01}{18}{ln(x)} + \psplot[linecolor=red]{0.01}{18}{ln(x)} + \psplot[linecolor=yellow,linewidth=4\pslinewidth]{0}{18}{3*cos(x)*2.71^(-x/10)} + \psplot[linecolor=blue,showpoints=true,plotpoints=51]{0}{18}{3*cos(x)*2.71^(-x/10)} +\endpsgraph +\end{lstlisting} + + +%-------------------------------------------------------------------------------------- +\section{Numeric functions} +%-------------------------------------------------------------------------------------- + +All macros have a \textat{} in their name, because they are +only for internal use, but it is no problem to use them like other +macros. One can define another name without a \textat{}: +\begin{lstlisting}[style=syntax] +\makeatletter +\let\pstdivide\pst@divide +\makeatother +\end{lstlisting} + +or put the macro inside the \Lcs{makeatletter} -- \Lcs{makeatother} sequence. + + +%-------------------------------------------------------------------------------------- +\section{Numeric functions} +%-------------------------------------------------------------------------------------- + +By default \PST\ loads the file \Lfile{pst-fp} which is derived from the +\LPack{fp} package. It supports the following macros: + +%-------------------------------------------------------------------------------------- +\subsection{\nxLcs{pstFPadd}, \nxLcs{pstFPsub}, \nxLcs{pstFPmul}, and \nxLcs{pstFPdiv}} +%-------------------------------------------------------------------------------------- +Multiplication and division: + +\begin{BDef} +\Lcs{pstFPadd}\Largb{result}\Largb{number}\Largb{number}\\ +\Lcs{pstFPsub}\Largb{result}\Largb{number}\Largb{number}\\ +\Lcs{pstFPmul}\Largb{result}\Largb{number}\Largb{number}\\ +\Lcs{pstFPdiv}\Largb{result}\Largb{number}\Largb{number} +\end{BDef} + +\begin{LTXexample}[width=5cm] +\pstFPmul\Result{-3.405}{0.02345} \Result\quad +\pstFPdiv\Result{-3.405}{0.02345} \Result\\ +\pstFPmul\Result{0.02345}{-3.405} \Result\quad +\pstFPdiv\Result{0.02345}{-3.405} \Result\\ +\pstFPmul\Result{234.123}{33} \Result\quad +\pstFPdiv\Result{234.123}{33} \Result\\ +\pstFPadd\Result{234.123}{33} \Result\quad +\pstFPadd\Result{234.123}{-33} \Result\\ +\pstFPsub\Result{234.123}{33} \Result\quad +\pstFPsub\Result{-234.123}{33} \Result +\end{LTXexample} + +The zeros can be stripped with the macro \Lcs{pstFPstripZeros}. Expect +always rounding errors, \TeX\ was not made for calculations \ldots +The value is converted into a length and then reconverted to a +number by stripping the unit. Which also strips the zeros. + +\begin{LTXexample}[width=5cm] +\pstFPmul\Result{-3.405}{0.02345} +\pstFPstripZeros{\Result}{\Result}\Result\quad +\pstFPdiv\Result{-3.405}{0.02345} +\pstFPstripZeros{\Result}{\Result}\Result\\ +\pstFPmul\Result{0.02345}{-3.405} +\pstFPstripZeros{\Result}{\Result}\Result\quad +\pstFPdiv\Result{0.02345}{-3.405} +\pstFPstripZeros{\Result}{\Result}\Result +\end{LTXexample} + +%-------------------------------------------------------------------------------------- +\subsection{\nxLcs{pstFPMul} and \nxLcs{pstFPDiv}} +%-------------------------------------------------------------------------------------- +Integer multiplication and division: + +\begin{BDef} +\Lcs{pstFPMul}\Largb{result as a truncated integer}\Largb{number}\Largb{number}\\ +\Lcs{pstFPDiv}\Largb{result as a truncated integer}\Largb{number}\Largb{number} +\end{BDef} + +\begin{LTXexample}[width=5cm] +\makeatletter +\pstFPMul\Result{-34.05}{0.02345} \Result\quad +\pstFPDiv\Result{-3.405}{0.02345} \Result\\ +\pstFPMul\Result{23.45}{-3.405} \Result\quad +\pstFPDiv\Result{0.2345}{-0.03405} \Result\\ +\pstFPMul\Result{234.123}{33} \Result\quad +\pstFPDiv\Result{234.123}{33} \Result +\makeatother +\end{LTXexample} + +%-------------------------------------------------------------------------------------- +\section{The PostScript header files} +\subsection{\nxLFile{pstricks.pro}} +%-------------------------------------------------------------------------------------- +It contains now most of the stuff from \LPack{pstricks-add} and the new routines +for plotting lines/curves with symbols. + +%-------------------------------------------------------------------------------------- +\subsection{\nxLFile{pst-algparser.pro}} +\subsubsection{Using the \nxLkeyword{Sum} function} +%-------------------------------------------------------------------------------------- + +\begin{BDef} +\Lcs{Sum}\Largr{<index name>,<start>,<step>,<end>,<function>} +\end{BDef} + +Let's plot the first development of cosine with polynomials: +$\displaystyle\sum_{n=0}^{+\infty}\frac{(-1)^nx^{2n}}{n!}$. + +\begin{center} +\bgroup +\psset{algebraic=true, plotpoints=501, yunit=3} +\def\getColor#1{\ifcase#1 black\or red\or magenta\or yellow\or green\or Orange\or blue\or + DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\fi} +\begin{pspicture}(-7,-1.5)(7,1.5) + \psclip{\psframe(-7,-1.5)(7,1.5)} + \psplot{-7}{7}{cos(x)} + \multido{\n=1+1}{10}{% + \psplot[linewidth=1pt,linecolor=\getColor{\n}]{-7}{7}{% + Sum(ijk,0,1,\n,(-1)^ijk*x^(2*ijk)/fact(2*ijk))}} + \endpsclip + \psaxes(0,0)(-7,-1.5)(7,1.5) +\end{pspicture} +\egroup +\end{center} +\begin{lstlisting} +\psset{algebraic=true, plotpoints=501, yunit=3} +\def\getColor#1{\ifcase#1 black\or red\or magenta\or yellow\or green\or Orange\or blue\or + DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\fi} +\begin{pspicture}(-7,-1.5)(7,1.5) + \psclip{\psframe(-7,-1.5)(7,1.5)} + \psplot{-7}{7}{cos(x)} + \multido{\n=1+1}{10}{% + \psplot[linewidth=1pt,linecolor=\getColor{\n}]{-7}{7}{% + Sum(ijk,0,1,\n,(-1)^ijk*x^(2*ijk)/fact(2*ijk))}} + \endpsclip + \psaxes(0,0)(-7,-1.5)(7,1.5) +\end{pspicture} +\end{lstlisting} + +\clearpage +%-------------------------------------------------------------------------------------- +\subsection[\nxLps{IfTE}]{The variable step algorithm together with the PostScript function \nxLps{IfTE}} +%-------------------------------------------------------------------------------------- +\xLps{IfTE}\xLkeyword{VarStep}\xLkeyword{VarStepEpsilon} + +\begin{BDef} +\Lps{IfTE}\Largr{<condition>,<true part>,<false part>} +\end{BDef} + +Nesting of several \Lps{IfTE} is possible and seen in the +following examples. A classic example is a piece-wise linear +function. + +\begin{center} +\begin{pspicture}(-7.5,-2.5)(7.5,6) + \psaxes{->}(0,0)(-7,-2)(7.5,6)[x,-90][y,0] + \psset{algebraic=true, plotpoints=21,linewidth=2pt} + \psplot[linecolor=blue]{-7.5}{7.5}{IfTE(x<-6,8+x,IfTE(x<0,-x/3,IfTE(x<3,2*x,9-x)))} + \psplot[linecolor=red, plotpoints=101]{-7.5}{7.5}{% + IfTE(2*x<-2^2*sqrt(9),7+x,IfTE(x<0,x^2/18-1,IfTE(x<3,2*x^2/3-1,8-x)))}% +\end{pspicture} +\end{center} + + +\begin{lstlisting} +\psset{unit=1.5, algebraic, ?\ON?VarStep?\OFF?, showpoints, ?\ON?VarStepEpsilon?\OFF?=.001} +\begin{pspicture}[showgrid=true](-7,-2)(2,4) + \psplot{-7}{2}{?\ON?IfTE?\OFF?(x<-5,-(x+5)^3/2,?\ON?IfTE?\OFF?(x<0,0,x^2))} + \psplot{-7}{2}{5*x/9+26/9} + \psplot[linecolor=blue]{-7}{2}{(x+7)^30/9^30*4.5-1/2} + \psplot[linecolor=red]{-6.9}{2} + {?\ON?IfTE?\OFF?(x<-6,ln(x+7),?\ON?IfTE?\OFF?(x<-3,x+6,?\ON?IfTE?\OFF?(x<0.1415926,sin(x+3)+3,3.1415926-x)))} +\end{pspicture} +\end{lstlisting} + +When you program a piece-wise defined function you must take care +that a plotting point must be put at each point where the +description changes. Use \Lkeyword{showpoints}=true to see what's +going on when there is a problem. You are on the safe side when +you choose a big number for \Lkeyword{plotpoints}. + + +\begin{center} +\psset{unit=0.75} +\begin{pspicture}(-8,-8)(8,8) + \psaxes{->}(0,0)(-8,-8)(8,8)[x,-90][y,0] + \psset{plotpoints=1000,linewidth=1pt} + \psplot[algebraic=true]{-8}{8}{ceiling(x)} + \psplot[algebraic=true, linecolor=yellow]{-8}{8}{rand/(2^31-1)+x} + \psplot[algebraic=true, linecolor=red]{-8}{8}{floor(x)} + \psplot[algebraic=true, linecolor=blue]{-8}{8}{round(x)} + \psplot[algebraic=true, linecolor=green]{-8}{8}{truncate(x)} + \psplot[algebraic=true, linecolor=cyan]{-8}{8}{div(mul(4,x),7)} + \psplot[algebraic=true, linecolor=gray]{-8}{8}{abs(x)+abs(x-3)-abs(5-5*x/7)} + \psplot[algebraic=true, linecolor=gray]{-8}{8}{abs(3*cos(x)+1)} + \psplot[algebraic=true, linecolor=magenta]{-8}{8}{floor(8*cos(x))} +\end{pspicture} +\end{center} + +\begin{lstlisting} +\psset{unit=0.75} +\begin{pspicture}(-8,-8)(8,8) + \psaxes{->}(0,0)(-8,-8)(8,8)[x,-90][y,0] + \psset{plotpoints=1000,linewidth=1pt} + \psplot[algebraic=true, linecolor=yellow]{-8}{8}{rand/(2^31-1)+x} + \psplot[algebraic=true]{-8}{8}{ceiling(x)} + \psplot[algebraic=true, linecolor=red]{-8}{8}{floor(x)} + \psplot[algebraic=true, linecolor=blue]{-8}{8}{round(x)} + \psplot[algebraic=true, linecolor=green]{-8}{8}{truncate(x)} + \psplot[algebraic=true, linecolor=cyan]{-8}{8}{div(mul(4,x),7)} + \psplot[algebraic=true, linecolor=gray]{-8}{8}{abs(x)+abs(x-3)-abs(5-5*x/7)} + \psplot[algebraic=true, linecolor=gray]{-8}{8}{abs(3*cos(x)+1)} + \psplot[algebraic=true, linecolor=magenta]{-8}{8}{floor(8*cos(x))} +\end{pspicture} +\end{lstlisting} + + +\subsection[\nxLps{Derive} function]{Successive derivatives of a polynomial with the PostScript function \nxLps{Derive}} + +\begin{center} +\bgroup +\psset{unit=2, algebraic=true, VarStep=true, showpoints=true, VarStepEpsilon=.001} +\def\getColor#1{\ifcase#1 Tan\or RedOrange\or magenta\or yellow\or green\or Orange\or blue\or + DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\or Goldenrod\or Mahogany\or + OrangeRed\or CarnationPink\or RoyalPurple\or Lavender\fi} +\begin{pspicture}[showgrid=true](0,-1.2)(7,1.5) + \psclip{\psframe[linestyle=none](0,-1.1)(7,1.1)} + \multido{\in=0+1}{16}{% + \psplot[algebraic=true, linecolor=\getColor{\in}]{0.1}{7} + {Derive(\in,Sum(i,0,1,7,(-1)^i*x^(2*i)/Fact(2*i)))}} + \endpsclip +\end{pspicture} +\egroup +\end{center} + +\begin{lstlisting} +\psset{unit=2, algebraic=true, VarStep=true, showpoints=true, VarStepEpsilon=.001} +\def\getColor#1{\ifcase#1 Tan\or RedOrange\or magenta\or yellow\or green\or Orange\or blue\or + DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\or Goldenrod\or Mahogany\or + OrangeRed\or CarnationPink\or RoyalPurple\or Lavender\fi} +\begin{pspicture}[showgrid=true](0,-1.2)(7,1.5) + \psclip{\psframe[linestyle=none](0,-1.1)(7,1.1)} + \multido{\in=0+1}{16}{% + \psplot[algebraic=true, linecolor=\getColor{\in}]{0.1}{7} + {Derive(\in,Sum(i,0,1,7,(-1)^i*x^(2*i)/Fact(2*i)))}} + \endpsclip +\end{pspicture} +\end{lstlisting} + + +\subsection{Special arrow option \texttt{arrowLW}} + +Only for the arrowtype \Lnotation{o}, \Lnotation{oo}, \Lnotation{*}, and \Lnotation{**} it is possible to +set the arrowlinewidth with the optional keyword \Lkeyword{arrowLW}. +When scaling an arrow by the keyword \Lkeyword{arrowscale} the width +of the borderline is also scaled. With the optional argument +\Lkeyword{arrowLW} the line width can be set separately and is not +taken into account by the scaling value. + +\begin{LTXexample}[width=4cm] +\begin{pspicture}(4,6) +\psline[arrowscale=3,arrows=*-o](0,5)(4,5) +\psline[arrowscale=3,arrows=*-o, + arrowLW=0.5pt](0,3)(4,3) +\psline[arrowscale=3,arrows=*-o, + arrowLW=0.3333\pslinewidth](0,1)(4,1) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=4cm] +\begin{pspicture}(4,6) +\psline[arrowscale=3,arrows=**-oo](0,5)(4,5) +\psline[arrowscale=3,arrows=**-oo, + arrowLW=0.5pt](0,3)(4,3) +\psline[arrowscale=3,arrows=**-oo, + arrowLW=0.3333\pslinewidth](0,1)(4,1) +\end{pspicture} +\end{LTXexample} + + + +%-------------------------------------------------------------------------------------- +\clearpage +\section{\nxLcs{psforeach} and \nxLcs{psForeach}} +%-------------------------------------------------------------------------------------- + +The macro \Lcs{psforeach} allows a loop with an individual increment. + +\begin{BDef} +\Lcs{psforeach}\Largb{variable}\Largb{value list}\Largb{action}\\ +\Lcs{psForeach}\Largb{variable}\Largb{value list}\Largb{action} +\end{BDef} + +With \Lcs{psforeach} the \Larg{action} is done inside a group and for \Lcs{psForeach} not. +This maybe useful when using the macro to create tabular cells, which are +alread grouped itself. + +\begin{LTXexample} +\begin{pspicture}[showgrid=true](5,5) + \psforeach{\nA}{0, 1, 1.5, 3, 5}{% + \psdot[dotscale=3](\nA,\nA)} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +%\usepackage{pst-func} +\makeatletter +\newcommand*\InitToks{\toks@={}} +\newcommand\AddToks[1]{\toks@=\expandafter{\the\toks@ #1}} +\newcommand*\PrintToks{\the\toks@} +\newcommand*{\makeTable}[4][5mm]{% + \begingroup + \InitToks% + \AddToks{\begin{tabular}{|*{#2}{>{\RaggedLeft}p{#1}|}@{}l@{}}\cline{1-#2}} + \psForeach{\iA}{#3}{\expandafter\AddToks\expandafter{\iA & }} + \AddToks{\\\cline{1-#2}}% + \psForeach{\iA}{#3}{\expandafter\AddToks\expandafter{\expandafter% + \psPrintValue\expandafter{\iA\space /x ED #4} & }} + \AddToks{\\\cline{1-#2}\end{tabular}}% + \PrintToks + \endgroup +} +\makeatother + +\sffamily +\psset{decimals=2,valuewidth=7,xShift=-20} +$y=2^x$\\ +\makeTable[1cm]{6}{2,4,6,8,10,12}{2 x exp} +\end{LTXexample} + +The value List can also be given by the first two and the last value, e.\,g. \verb=1,4,..,31=, +then \PST calculates all values with the distance given by the first two values. + +\begin{LTXexample}[pos=t] +\psset{xunit=0.3cm,yunit=2cm} +\begin{pspicture}[showgrid](0,-5mm)(40,1) + \psforeach{\nA}{0, 3.14,..,25}{\psline(\nA,0)(\nA,1)} +\end{pspicture} +\end{LTXexample} + +The internal counter for the steps is named \LCtr{psLoopIndex} and can be used for own purposes. + +\begin{LTXexample}[pos=l] +\begin{pspicture}[showgrid=true](5,5) +\psforeach{\nA}{0, 1, 1.5, 2.25, 5}{% + \psdot[dotscale=3](\the\psLoopIndex,\nA)} +\end{pspicture} +\end{LTXexample} + + + + +\part{\nxLPack{pst-node} -- package} + +\section{\nxLFile{pst-node.tex}} + +The package \LPack{pst-node} now uses the advanced key handling from \LPack{xkeyval}. The reason +why it moved from the base into the contrib sections, where all packages uses \LPack{xkeyval}. + +\part{\nxLPack{pst-plot} -- package} + +\section{\nxLFile{pst-plot.tex}} + +The package \LPack{pst-plot} now uses the advanced key handling from \LPack{xkeyval}. The reason +why it moved from the base into the contrib sections, where all packages uses \LPack{xkeyval}. + +\nocite{*} +\bibliographystyle{plain} +\bibliography{PSTricks} + +\printindex + + +\end{document} diff --git a/Master/texmf-dist/dvips/pstricks/pst-algparser.pro b/Master/texmf-dist/dvips/pstricks/pst-algparser.pro index ab96e87353e..d2150d6b074 100644 --- a/Master/texmf-dist/dvips/pstricks/pst-algparser.pro +++ b/Master/texmf-dist/dvips/pstricks/pst-algparser.pro @@ -1,4 +1,4 @@ -% $Id: pst-algparser.pro 26 2008-06-14 11:50:02Z herbert $ +% $Id: pst-algparser.pro 90 2009-01-30 10:58:51Z herbert $ %% %% PostScript prologue for PSTricks algorithm parser %% Version 0.01, 2008/01/01 @@ -739,5 +739,5 @@ end%%%tx@CoreAnalyzerDict /Fact { 1 exch 2 exch 1 exch { mul } for } bind def /fact { Fact } bind def end - -% END pstricks.pro +% +% END pst-algparser.pro
\ No newline at end of file diff --git a/Master/texmf-dist/dvips/pstricks/pst-dots.pro b/Master/texmf-dist/dvips/pstricks/pst-dots.pro index 8077b3d59a0..915c20cf363 100644 --- a/Master/texmf-dist/dvips/pstricks/pst-dots.pro +++ b/Master/texmf-dist/dvips/pstricks/pst-dots.pro @@ -1,7 +1,7 @@ -% $Id: pst-dots.pro 26 2008-06-14 11:50:02Z herbert $ +% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $ % %% PostScript prologue for pstricks.tex. -%% Version 2.02, 2008/04/18 +%% Version 2.02, 2009/06/16 %% %% For distribution, see pstricks.tex. %% @@ -19,8 +19,8 @@ 10 dict dup begin % hold local /FontType 3 def /FontMatrix [.001 0 0 .001 0 0] def - /FontBBox [-571.5 -742.5 571.5 742.5] def -% /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph +% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv + /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph /Encoding 256 array def 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef Encoding % replace with given dot names @@ -166,8 +166,8 @@ end 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind def - +% end /PSTricksDotFont exch definefont pop - +% %% end
\ No newline at end of file diff --git a/Master/texmf-dist/dvips/pstricks/pst-node.pro b/Master/texmf-dist/dvips/pstricks/pst-node.pro deleted file mode 100644 index 72e43440fd9..00000000000 --- a/Master/texmf-dist/dvips/pstricks/pst-node.pro +++ /dev/null @@ -1,433 +0,0 @@ -% $Id: pst-node.pro 90 2009-01-30 10:58:51Z herbert $ -%% -%% PostScript prologue for pst-node.tex. -%% Version 1.02, 2009/01/30. -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN archives -%% in directory macros/latex/base/lppl.txt. -% -/tx@NodeDict 400 dict def tx@NodeDict begin -tx@Dict begin % from main pstricks dict - /T /translate load def -end -/NewNode { % on stack: { x y } boolean N@name type InitXnode - gsave - /next ED % { x y } boolean N@name type - dict dup % { x y } boolean N@name dict dict - 3 1 roll def % { x y } boolean dict N@name dict def - exch { dup 3 1 roll def } if % { x y } dict boolean - begin % { x y } dict begin - tx@Dict begin - STV CP T exec % set scaling - end - /NodeMtrx CM def % save CM - next % InitXNode - end - grestore -} 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 -% -/XYPos { - dup sin exch cos Do - /Cos ED /Sin ED /Dist ED - Cos 0 gt - { Dist Dist 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 idtransform - exch atan sub - dup - sin /Sin ED - cos /Cos ED - /NodeSep ED - NodePos NodeMtrx dtransform CM idtransform end } - { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse -} 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 -% -/GetEdgeA { - NodeSepA AngleA NodeA NodeSepTypeA GetEdge - OffsetA AngleA AddOffset - yA add /yA1 ED - xA add /xA1 ED -} def -% -/GetEdgeB { - NodeSepB AngleB NodeB NodeSepTypeB GetEdge - OffsetB AngleB AddOffset - yB add /yB1 ED - xB add /xB1 ED -} def -% -/GetArmA { - ArmTypeA 0 eq - { /xA2 ArmA AngleA cos mul xA1 add def - /yA2 ArmA AngleA sin mul yA1 add def } - { ArmTypeA 1 eq {{exch}} {{}} ifelse - /Do ED - ArmA 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 ArmB AngleB sin mul yB1 add def } - { ArmTypeB 1 eq {{exch}} {{}} ifelse - /Do ED - ArmB AngleB XYPos OffsetB AngleB AddOffset - yB add /yB2 ED - xB add /xB2 ED } ifelse -} def -% -/InitNC { - /b ED /a ED % second and first node - /NodeSepTypeB ED /NodeSepTypeA 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 - t floor dup n ge % to allow npos<= hv 2008-08-14 - { 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 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 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 -GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] 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 -/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub -Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan -/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 -yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -ifelse } def -/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 -roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA -GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict -begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] -cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines -} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def -% -/NCAngles { - GetEdgeA GetEdgeB GetArmA GetArmB - /mtrx AngleA matrix rotate def - xA2 yA2 mtrx transform pop - xB2 yB2 mtrx transform exch pop - mtrx itransform - /y0 ED /x0 ED - mark ArmB 0 ne { xB1 yB1 } if - xB2 yB2 x0 y0 xA2 yA2 - ArmA 0 ne { xA1 yA1 } if - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def } def -% -/NCAngle { - GetEdgeA GetEdgeB GetArmB - /mtrx AngleA matrix rotate def - xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform - /y0 ED /x0 ED - mark - ArmB 0 ne { xB1 yB1 } if - xB2 yB2 x0 y0 xA1 yA1 - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def -} def -% -/NCBar { - GetEdgeA GetEdgeB GetArmA GetArmB - /mtrx AngleA matrix rotate def - xA2 yA2 mtrx itransform pop - xB2 yB2 mtrx itransform pop - sub dup 0 mtrx transform - 3 -1 roll 0 gt - { /yB2 exch yB2 add def /xB2 exch xB2 add def } - { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse - mark - ArmB 0 ne { xB1 yB1 } if - xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def -} def -% -/NCDiag { - GetEdgeA GetEdgeB GetArmA GetArmB mark - ArmB 0 ne { xB1 yB1 } if - xB2 yB2 xA2 yA2 - ArmA 0 ne { xA1 yA1 } if - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def -} def -% -/NCDiagg { - GetEdgeA GetArmA - yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED - GetEdgeB - mark - xB1 yB1 xA2 yA2 - ArmA 0 ne { xA1 yA1 } if - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def -} def -% -/NCLoop { - GetEdgeA GetEdgeB GetArmA GetArmB - /mtrx AngleA matrix rotate def - xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED - /xB3 xB2 yB2 mtrx transform pop def - xB3 yA3 mtrx itransform /yB3 ED /xB3 ED - xA3 yA3 mtrx itransform /yA3 ED /xA3 ED - mark ArmB 0 ne { xB1 yB1 } if - xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def -} def -% -% DG/SR modification begin - May 9, 1997 - Patch 1 -%/NCCircle { 0 0 NodesepA nodeA \tx@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 AngleA ] cvx def /LPutPos { LPutVar t 360 -%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED -% -/NCCircle { - NodeSepA 0 NodeA 0 GetEdge pop - 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 AngleA ] cvx def - /LPutPos { - LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC - 3 -1 roll add - /Y ED add /X ED /NAngle ED -% DG/SR modification end - } 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 GetEdgeA GetEdgeB /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 [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy -add xA1 dx add yA1 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 -GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul -sub def /AngleB tB 180 add yB yB1 sub xB xB1 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 GetEdgeA w xA1 xB sub yA1 yB -sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 -ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB -w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] 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 -% -% END pst-node.pro diff --git a/Master/texmf-dist/dvips/pstricks/pstricks.pro b/Master/texmf-dist/dvips/pstricks/pstricks.pro index fa156bb7488..19096f3f05c 100644 --- a/Master/texmf-dist/dvips/pstricks/pstricks.pro +++ b/Master/texmf-dist/dvips/pstricks/pstricks.pro @@ -1,4 +1,4 @@ -% $Id: pstricks.pro 90 2009-01-30 10:58:51Z herbert $ +% $Id: pstricks.pro 266 2010-01-22 14:45:23Z herbert $ % %% PostScript prologue for pstricks.tex. %% Version 1.06, 2009/01/30 @@ -72,28 +72,29 @@ tx@Dict begin /STP { .996264 dup scale } def % BP/PT scaling /STV { SDict begin normalscale end STP } def % % -%%-------------- DG begin patch 15 ---------------%% -%/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 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] -%0 } ifelse setdash stroke } def /DashLine { - dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse - /b ED /x1 ED /y1 ED /x ED /y ED - /z y x add y1 add x1 add def - /Coef 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 def - /y y Coef mul def - /x x Coef mul def - /y1 y1 Coef mul def - /x1 x1 Coef mul def - x1 0 gt y1 0 gt or x 0 gt or y 0 gt and - { [ y x y1 x1 ] 1 a sub y mul } - { [ 1 0 ] 0 } ifelse - setdash stroke -} def -%%-------------- DG end patch 15 ---------------%% + dup 0 gt + { /a .5 def PathLength exch div } + { pop /a 1 def PathLength } ifelse + /b ED % pattern should fit evenly in b + dup /X ED % pattern array + 0 get /y ED % length of first black segment + /z 0 X {add} forall def % length of the full pattern + %% Computation of the scaling factor as described by van Zandt: + 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 + %%%% scaling factor on stack. + /z ED %% now, z is the scaling factor + false % for the length test below + X { z mul } forall X astore %% modification TN 04-08-07 + %%% Checking whether at least one dash in X has positive length: + {0 gt or} forall + { X 1 a sub y mul } + { [ 1 0 ] 0 } + ifelse + setdash stroke +} def +% /DotLine { /b PathLength def /a ED /z ED /y CLW def @@ -112,6 +113,35 @@ tx@Dict begin setdash 1 setlinecap stroke } def % +/SymbolLine { % on stack [ x y x y ... + counttomark % number of elements + 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + /nSym XYLength SymStep div cvi def + /Shift Symbol stringwidth pop 2 div def + /deltaX XLength nSym div def + /deltaY YLength nSym div def + XA Shift sub YA Shift sub moveto + nSym { + gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + grestore + deltaX deltaY rmoveto + } repeat + /YA YB def /XA XB def + } repeat + XA Shift sub YA Shift sub moveto + gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show grestore + pop % delete the mark symbol +} def +% /LineFill { % hv ------------ patch 7 ------------- gsave abs /hatchWidthInc ED @@ -167,21 +197,6 @@ tx@Dict begin pop pop } def % -%gsave abs CLW add /a ED a 0 dtransform round exch round exch -%2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 -%% DG/SR modification begin - Dec. 12, 1997 - Patch 2 -%%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -%itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -%% DG/SR modification end -%Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict -%/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 -%% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -%% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } -%% def -%a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore -%pop pop } def -%% DG/SR modification end -% /BeginArrow { ADict begin % hold it local, for end see EndArrow /@mtrx CM def @@ -253,24 +268,25 @@ tx@Dict begin /SD { 0 360 arc fill } def % /EndDot { % DS is the dot size - { /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 + { /z DS def } { /z 0 def } ifelse % outer or inner dimen + /b ED % the color definition + 0 z DS SD + b { 0 z DS CLW sub SD } if + 0 DS z add CLW 4 div sub + moveto +} def % /Shadow { [ { /moveto load } { /lineto load } { /curveto load } { /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto load } if ] cvx newpath 3 1 roll T exec } def % -%/NArray { -% aload length 2 div dup dup cvi eq not { exch pop } if /n exch -% cvi def -%} def -% /NArray { % holds the coordinates and on top of stack the showpoints boolean /showpoints ED - counttomark 2 div dup cvi /n ED - n eq not { exch pop } if - showpoints { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse + counttomark 2 div dup cvi /n ED % n 2 div on stack + n eq not { exch pop } if % even numbers of points? delete one + showpoints + { ] aload /Points ED } + { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol } def % /Line { @@ -281,6 +297,30 @@ tx@Dict begin } if } def % +/LineToYAxis { + NArray % all x-y pairs on stack + n { 2 copy moveto % go to current point + 0 exch Lineto % line to y-axis + pop % delete old x-value + } repeat +} def +% +/LineToXAxis{ + NArray % all x-y pairs on stack + n 0 eq not + { n 1 eq { 0 0 /n 2 def } if + ArrowA + /n n 2 sub def + CP 2 copy moveto pop 0 Lineto + n { 2 copy moveto pop 0 Lineto } repeat + CP + 4 2 roll + ArrowB + 2 copy moveto pop 0 + L + pop pop } if +} def +% /Arcto { /a [ 6 -2 roll ] cvx def a r @@ -288,13 +328,57 @@ tx@Dict begin 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 +/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 +% +/SymbolPolygon { % on stack [ x y x y ... + counttomark % number of elements + 2 add /m ED + 2 copy m 2 roll % copy last two + m 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + /nSym XYLength SymStep Div cvi def + /Shift Symbol stringwidth pop 2 Div def + /deltaX XLength nSym Div def + /deltaY YLength nSym Div def + XA Shift sub YA Shift sub moveto + nSym { + gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + grestore + deltaX deltaY rmoveto + } repeat +% XB Shift sub YB Shift sub moveto Symbol show + /YA YB def /XA XB def + } repeat + pop % delete the mark symbol +} def +% /Diamond { /mtrx CM def T rotate @@ -310,12 +394,6 @@ tx@Dict begin /ArrowB { } def false Line closepath mtrx setmatrix } def -% DG modification begin - Jan. 15, 1997 -%/Triangle { /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 } def % /Triangle { /mtrx CM def @@ -383,6 +461,39 @@ tx@Dict begin { BOC /n n 3 sub def n { NC } repeat EOC } ifelse } def % +/CurvePath { + flattenpath /z 0 def /z0 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def + x1 Shift sub y1 Shift sub moveto + gsave + startAngle rotate Symbol show + grestore /z0 z def } + { /y ED /x ED PathLength@ z z0 sub SymStep ge { + x Shift sub y Shift sub moveto + gsave + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + grestore /z0 z def } if + /yOld y def /xOld x def } + {} + { /y y2 def /x x2 def PathLength@ + x Shift sub y Shift sub moveto + gsave + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + grestore + } + pathforall + z +} def +% +/OpenSymbolCurve { + OpenCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% /AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload @@ -392,6 +503,13 @@ tx@Dict begin n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def % +/AltOpenSymbolCurve { + AltCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% /ClosedCurve { NArray n 3 lt { n { pop pop } repeat } @@ -402,6 +520,13 @@ tx@Dict begin } ifelse } def % +/ClosedSymbolCurve { + ClosedCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} 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 @@ -469,6 +594,13 @@ tx@Dict begin 6 2 roll 4 2 roll ArrowB curveto } ifelse } def % +/OpenSymbolBezier { + OpenBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% /ClosedBezier { BezierNArray n 1 eq @@ -478,6 +610,19 @@ tx@Dict begin closepath } ifelse } def % +/ClosedSymbolBezier { + /f ED % save showpoints value + 2 copy /yEnd ED /xEnd ED + counttomark -2 roll 2 copy /yStart ED /xStart ED + counttomark 2 roll + f + ClosedBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath + [ xEnd yEnd xStart yStart SymbolLine +} def +% /BezierShowPoints { gsave Points aload length 2 div cvi /n ED @@ -497,6 +642,21 @@ tx@Dict begin /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def } def % +/Parab1 { % 1 end | 0 SP + /ySP ED /xSP ED /y1 ED /x1 ED + /dx xSP x1 sub 3 div def + /dy ySP y1 sub 3 div def + newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto + x1 ySP lineto closepath clip + currentpoint + newpath moveto + xSP dx sub ySP dy add x1 y1 ArrowA + xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def +} def +% +% /Grid { newpath /a 4 string def @@ -737,6 +897,41 @@ 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 +% +% end %-----------------------------------------------------------------------------% % diff --git a/Master/texmf-dist/tex/generic/pstricks/distiller.con b/Master/texmf-dist/tex/generic/pstricks/distiller.con deleted file mode 100644 index d7c25ab6ea9..00000000000 --- a/Master/texmf-dist/tex/generic/pstricks/distiller.con +++ /dev/null @@ -1,160 +0,0 @@ -%% BEGIN: distiller.con (for distiller driver) -%% -%% Configuration file for PSTricks -%% -%% Version 0.01 (2008/01/24) -%% -%% For use with Adobes Distiller (tested with v7.0.7) -%% -%% COPYRIGHT 2008 by Herbert Voss, hvoss@tug.org. -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN -%% archives in directory macros/latex/base/lppl.txt. -% -\def\pstdriver{distiller} -{\catcode`\"=12\gdef\pstverb#1{\special{" #1}}} % Check catcode of " -\def\pstunit{1bp}% -\def\pstVerb#1{\special{ps: #1}} -\def\pstverbscale{SDict begin normalscale end} -\ifx\textsuperscript\@undefined - \def\pstheader#1{\special{header=#1}} -\else - \ifx\Gin@PS@file@header\@undefined - \def\pstheader#1{\AtBeginDvi{\special{header=#1}}} - \else - \let\pstheader\Gin@PS@file@header - \fi -\fi -%% In the following, CP is short for currentpoint. -%% The neg is necessary because dvips scales the coordinates by 1 -1. -%% \tx@NET means neg exch neg exch translate. -\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET} -% -\pst@def{setTransparency}< - [ /BM/Normal - /ca \psk@opacityalpha - /CA \psk@opacityalpha /SetTransparency pdfmark > -\pst@def{setStrokeTransparency}< - [ /BM/Normal - /ca \psk@strokeopacityalpha - /CA \psk@strokeopacityalpha /SetTransparency pdfmark > -\pst@def{setBlendmode}< - [ /BM\ifcase\psk@blendmode% - /Normal \or - /Compatible %\or - \else /Normal - /Screen \or - /Multiply %\or -% /Hardlight - \fi/ca \psk@shapealpha /CA \psk@opacityalpha /SetTransparency pdfmark > -%% -%% ****************** END distiller.con ***************************** - -%%%%%%%%%%%%%%%%%%% !! CUSTOMIZATION STUFF GOES HERE: !! %%%%%%%%%%%%%%%%%% -%% If you want to include your own customizations to pstricks.tex, then -%% uncomment the \pstcustomize command, and include your modifications -%% after \pstcustomize. These will be read in after pstricks.tex. -%\pstcustomize -% -\endinput - -%% -%%%%%%%%%%%%%%%%%%% !! GENERAL INSTRUCTIONS !! %%%%%%%%%%%%%%%%%%%%%%%%%%%% - -Because there are no standards for dvi-to-PS driver \special's, -some driver-dependent commands must be defined in this file. - -Possibly correct definitions for some dvi drivers are given below. -Copy the section for the driver you want to use to the indicated place -near the beginning of the file, replacing any other definitions you -might find there. - -When changing drivers, you may need to remake the header file. - -See the PSTricks read-me file for further installation instructions. - -Please report good and bad experiences with dvi-to-PS drivers, -along with the definitions of these commands that worked -for you, to tvz@Princeton.EDU. Thanks. - - -%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%% - -Here are the commands that must be defined in this file: - - \pstverb{} - The argument is included as verbatim PostScript, - grouped by save and restore. The coordinate system - should be square, not rotated, and with the origin - at TeX's currentpoint. - - \pstVerb{} - The argument is included as verbatim PostScript, not - grouped by (g)save and (g)restore. The currentpoint - should be TeX's currentpoint. - - \pstunit - The units used by driver for graphics included with - \pstverb. Probably 1bp or 1sp. - - \pstverbscale - The PostScript code that scales the coordinate system - from that in effect with \pstVerb to that in effect - with \pstverb. Should not translate to the currentpoint. - - \pstrotate - The PostScript code that takes a number off the stack - and rotates the axes properly. I.e., - \pstVerb{angle \pstrotate} is used to begin rotations. - - \pstheader{} - The argument is a header file (e.g., .pro file). - If your driver does not support such a special, then - the command might just remind you to include the header - when printing. You can use PSTricks without a header, - in which case it does not matter how you define - \pstheader. See read-me.pst for details. - If you cannot change the default directory where your - driver looks for header files, and you cannot write to - that directory, then you include the path for your - PSTricks header files. - E.g., \def\pstheader#1{\special{header=~/tex/#1}}. - - \pstdriver - The name of the driver. - - -%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%% - -See your local TeX documentation for instructions on creating a TeX format. - -Before making the format, be sure that this configuration file is correct. -It will be read only when creating the format, and not with every job. - -If you are not using header files, there are no more special instructions. - -Special instructions when using header files: - - - If you want to include supplementary PSTricks files (e.g., pst-node.tex), - add \input commands in the customization section above. - - - If your definition of \pstheader is, e.g. - - \def\pstheader#1{\special{\header=#1}} - - then change it to - - \def\pstheader#1{% - \expandafter\everyjob\expandafter{\the\everyjob - \special{header=#1}}} - - and put your original definition in the customization section, AFTER - any \input commands. E.g., the customization section might look like: - - \pstcustomize - \input pst-node.tex - \input pst-coil.tex - \def\pstheader#1{\special{header=#1}} - - - Input pstricks.tex at the appropriate time when creating the format. - E.g., when initex stops running: - *\input pstricks - *\dump - - -%% -%% END: distiller.con diff --git a/Master/texmf-dist/tex/generic/pstricks/dvipsone.con b/Master/texmf-dist/tex/generic/pstricks/dvipsone.con deleted file mode 100644 index 4a90292dd00..00000000000 --- a/Master/texmf-dist/tex/generic/pstricks/dvipsone.con +++ /dev/null @@ -1,138 +0,0 @@ -%% BEGIN pstricks.con (for DVIPSONE driver) -%% -%% Configuration file for PSTricks 97: must be renamed `pstricks.con' -%% -%% Version 97 (1994/03/29) -%% -%% For use with DVIPSONE. (May require the -j flag with dvipsone) - -\def\pstdriver{DVIPSONE} -\def\pstunit{1bp} -{\catcode`\"=12 \gdef\pstverb#1{\special{" #1}} } -\def\pstVerb#1{\special{ps:: #1}} -\def\pstverbscale{1 dviscl div dup neg scale} -\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET} -\def\pstheader#1{\special{header=#1}} - -\pstcustomize - -\endinput - -%% To get PSTricks charpath and textpath to work: -%----------- pst-show.pro ------------------------------------------ -%! -% Patch for dvipsone to get PSTricks' charpath and textpath to work. -% Save as pst-show.pro, put it with your other PSTricks .pro files. -% Add "\pstheader{pst-show.pro}" to the beginning of your document. -% -% We unbind show: -dvidict begin -/S {show dup 0 rmoveto} def -/T {show 2 index 0 rmoveto} def -/s {show} def -end - -\endinput -%------------- end pst-show.pro ------------------------------------ -%% -%%%%%%%%%%%%%%%%%%% !! GENERAL INSTRUCTIONS !! %%%%%%%%%%%%%%%%%%%%%%%%%%%% - -Because there are no standards for dvi-to-PS driver \special's, -some driver-dependent commands must be defined in this file. - -Possibly correct definitions for some dvi drivers are given below. -Copy the section for the driver you want to use to the indicated place -near the beginning of the file, replacing any other definitions you -might find there. - -When changing drivers, you may need to remake the header file. - -See the PSTricks read-me file for further installation instructions. - -Please report good and bad experiences with dvi-to-PS drivers, -along with the definitions of these commands that worked -for you, to tvz@Princeton.EDU. Thanks. - - -%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%% - -Here are the commands that must be defined in this file: - - \pstverb{} - The argument is included as verbatim PostScript, - grouped by save and restore. The coordinate system - should be square, not rotated, and with the origin - at TeX's currentpoint. - - \pstVerb{} - The argument is included as verbatim PostScript, not - grouped by (g)save and (g)restore. The currentpoint - should be TeX's currentpoint. - - \pstunit - The units used by driver for graphics included with - \pstverb. Probably 1bp or 1sp. - - \pstverbscale - The PostScript code that scales the coordinate system - from that in effect with \pstVerb to that in effect - with \pstverb. Should not translate to the currentpoint. - - \pstrotate - The PostScript code that takes a number off the stack - and rotates the axes properly. I.e., - \pstVerb{angle \pstrotate} is used to begin rotations. - - \pstheader{} - The argument is a header file (e.g., .pro file). - If your driver does not support such a special, then - the command might just remind you to include the header - when printing. You can use PSTricks without a header, - in which case it does not matter how you define - \pstheader. See read-me.pst for details. - If you cannot change the default directory where your - driver looks for header files, and you cannot write to - that directory, then you include the path for your - PSTricks header files. - E.g., \def\pstheader#1{\special{header=~/tex/#1}}. - - \pstdriver - The name of the driver. - - -%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%% - -See your local TeX documentation for instructions on creating a TeX format. - -Before making the format, be sure that this configuration file is correct. -It will be read only when creating the format, and not with every job. - -If you are not using header files, there are no more special instructions. - -Special instructions when using header files: - - - If you want to include supplementary PSTricks files (e.g., pst-node.tex), - add \input commands in the customization section above. - - - If your definition of \pstheader is, e.g. - - \def\pstheader#1{\special{\header=#1}} - - then change it to - - \def\pstheader#1{% - \expandafter\everyjob\expandafter{\the\everyjob - \special{header=#1}}} - - and put your original definition in the customization section, AFTER - any \input commands. E.g., the customization section might look like: - - \pstcustomize - \input pst-node.tex - \input pst-coil.tex - \def\pstheader#1{\special{header=#1}} - - - Input pstricks.tex at the appropriate time when creating the format. - E.g., when initex stops running: - *\input pstricks - *\dump - - -%% -%% END: pstricks.con - -%% -%% END: dvipsone.con diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-fp.tex b/Master/texmf-dist/tex/generic/pstricks/pst-fp.tex new file mode 100644 index 00000000000..046f8e58185 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pstricks/pst-fp.tex @@ -0,0 +1,714 @@ +%% $Id: pst-fp.tex 259 2010-01-17 09:51:50Z herbert $ +%% +%% +%% This is file `pst-fp.tex', +%% +%% IMPORTANT NOTICE: +%% +%% Package `pst-fp.tex' +%% +%% Herbert Voss <hvoss@tug.org> +%% stolen from the fp package by Michael Mehlich +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% DESCRIPTION: +%% `pst-fp' is a PSTricks related package for a division, +%% multiplication and addition +%% +\csname PSTFPloaded\endcsname +\let\PSTFPloaded\endinput +% +% Requires some packages +\ifx\PSTricksLoaded\endinput\else\input pstricks \fi +% +\def\fileversion{0.05} +\def\filedate{2010/01/17} +\message{`pst-fp' v\fileversion, \filedate\space (hv)} +% +\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax + +%fixed point arithmetic with values between (including) +% -999999999999999999.999999999999999999 +% and +999999999999999999.999999999999999999 + +\def\pstFPadd#1#2#3{\pstFP@callc\pstFP@add#1{#2}{#3}+\relax} % #1 := #2+#3 +\def\pstFPsub#1#2#3{\pstFP@callc\pstFP@add#1{#2}{-#3}-\relax}% #1 := #2-#3 +\def\pstFPmul#1#2#3{\pstFP@callc\pstFP@mul#1{#2}{#3}} % #1 := #2*#3 +\def\pstFPdiv#1#2#3{\pstFP@callc\pstFP@div#1{#2}{#3}} % #1 := #2/#3 + +\def\pst@int#1{\expandafter\pst@@int#1..\@nil} +\def\pst@@int#1.#2.\@nil{#1} +\def\pst@Int#1{% + \@tempdima=#1\relax% + \expandafter\pst@@Int\the\@tempdima\@nil} +\def\pst@@Int#1.#2\@nil{#1} + +% +\def\pstFPMul#1#2#3{\pstFP@callc\pstFP@mul#1{#2}{#3}% % #1 := int(#2/#3) + \edef#1{\pst@int{#1}}}% +\def\pstFPDiv#1#2#3{\pstFP@callc\pstFP@div#1{#2}{#3}% % #1 := int(#2/#3) + \edef#1{\pst@int{#1}}}% +\def\pstFPstripZeros#1#2{\pst@dimm=#1pt\relax \edef#2{\strip@pt\pst@dimm}} +% +\countdef\pstFP@actcounter=10 % register 0 for counter +\ifnum\pstFP@actcounter<60\relax \pstFP@actcounter=60\fi + +\newcount\pstFP@xs %sign of 1st value +\newcount\pstFP@xia%integer part of 1st value +\newcount\pstFP@xib%integer part of 1st value +\newcount\pstFP@xfa%fractional part of 1st value +\newcount\pstFP@xfb%fractional part of 1st value + +\countdef\pstFP@ys=5 %sign of 2nd value +\countdef\pstFP@yia=6%integer part of 2nd value +\countdef\pstFP@yib=7%integer part of 2nd value +\countdef\pstFP@yfa=8%fractional part of 2nd value +\countdef\pstFP@yfb=9%fractional part of 2nd value + +\countdef\pstFP@xk=10 %registers for splitting 1st value +\countdef\pstFP@xl=11 +\countdef\pstFP@xm=12 +\countdef\pstFP@xn=13 +\countdef\pstFP@xo=14 +\countdef\pstFP@xp=15 +\countdef\pstFP@xq=16 +\countdef\pstFP@xr=17 +\countdef\pstFP@xz=18 +\countdef\pstFP@xt=19 +\countdef\pstFP@xu=20 +\countdef\pstFP@xv=21 + +\countdef\pstFP@yk=22 %registers for splitting 2nd value +\countdef\pstFP@yl=23 +\countdef\pstFP@ym=24 +\countdef\pstFP@yn=25 +\countdef\pstFP@yo=26 +\countdef\pstFP@yp=27 +\countdef\pstFP@yq=28 +\countdef\pstFP@yr=29 +\countdef\pstFP@yz=30 +\countdef\pstFP@yt=31 +\countdef\pstFP@yu=32 +\countdef\pstFP@yv=33 + +\newcount\pstFP@rega %auxiliary registers +\newcount\pstFP@regb +\countdef\pstFP@regc=36 +\countdef\pstFP@regd=37 +\countdef\pstFP@rege=38 + +\countdef\pstFP@rs=39 %result registers +\countdef\pstFP@ria=40 +\countdef\pstFP@rib=41 +\countdef\pstFP@rfa=42 +\countdef\pstFP@rfb=43 + +\newcount\pstFP@regs %local auxiliary registers +\countdef\pstFP@count=45 +\countdef\pstFP@res=46 +\countdef\pstFP@shift=47 +\newcount\pstFP@times +\countdef\pstFP@prod=49 + +%auxiliary macros which may be used in all of the following macros +\newif\ifpstFP@test + +\def\pstFP@ignorenext#1{} +\def\pstFP@first#1#2\relax{#1} +\def\pstFP@swallow#1\relax{} +% +\def\ifpstFP@zero#1{% + \ifnum% + \expandafter\ifnum\csname pstFP@#1ia\endcsname=0 0\else1\fi% + \expandafter\ifnum\csname pstFP@#1ib\endcsname=0 0\else1\fi% + \expandafter\ifnum\csname pstFP@#1fa\endcsname=0 0\else1\fi% + \expandafter\ifnum\csname pstFP@#1fb\endcsname=0 0\else1\fi% + =0\relax% +} +% +%read value +% +\def\pstFP@correctintcounter#1\relax{% + {\edef\pstFP@tmp{#1}% + \pstFP@count=0\relax% + \loop% + \edef\pstFP@tmpa{\expandafter\pstFP@first\pstFP@tmp\noexpand\relax}% + \expandafter\ifx\pstFP@tmpa0\relax% + \advance\pstFP@count1\relax% + \edef\pstFP@tmp{\expandafter\pstFP@ignorenext\pstFP@tmp}% + \repeat% + \ifnum\pstFP@count>18\relax \typeout{>>>> Overflow}\fi% + \expandafter\if!\pstFP@tmp!% + \advance\pstFP@count-18\relax% + \pstFP@count=-\pstFP@count% + \loop% + \ifnum\pstFP@count>0\relax% + \pstFP@regc=\pstFP@rega% + \divide\pstFP@rega10\relax\multiply\pstFP@rega10\relax% + \advance\pstFP@regc-\pstFP@rega\multiply\pstFP@regc100000000\relax% + \divide\pstFP@rega10\relax% + \divide\pstFP@regb10\relax\advance\pstFP@regb\pstFP@regc% + \advance\pstFP@count-1\relax% + \repeat% + \global\pstFP@rega=\pstFP@rega% + \global\pstFP@regb=\pstFP@regb% + \else% + \typeout{>>>>Number too big}% + \fi% + }% +} +\def\pstFP@@setintcounter#1#2#3#4#5#6#7#8#9{% + \pstFP@regb=#1#2#3#4#5#6#7#8#9\relax% + \pstFP@correctintcounter% +} +\def\pstFP@setintcounter#1#2#3#4#5#6#7#8#9{% + \pstFP@rega=#1#2#3#4#5#6#7#8#9\relax% + \pstFP@@setintcounter% +} + +\def\pstFP@@setfractcounter#1#2#3#4#5#6#7#8#9{% + \pstFP@regb=#1#2#3#4#5#6#7#8#9\relax% + \pstFP@swallow% +} +\def\pstFP@setfractcounter#1#2#3#4#5#6#7#8#9{% + \pstFP@rega=#1#2#3#4#5#6#7#8#9\relax% + \pstFP@@setfractcounter% +} + +\def\pstFP@getsign#1\relax{% + {\pstFP@regs=1\relax% + \edef\pstFP@tmp{#1}% + \loop% + \edef\pstFP@tmpa{\expandafter\pstFP@first\pstFP@tmp\noexpand\relax}% + \expandafter\ifx\pstFP@tmpa-\relax% + \multiply\pstFP@regs-1\relax% + \fi% + \ifnum\expandafter\ifx\pstFP@tmpa-1\else0\fi\expandafter\ifx\pstFP@tmpa+1\else0\fi>0% + \edef\pstFP@tmp{\expandafter\pstFP@ignorenext\pstFP@tmp}% + \repeat% + \global\let\pstFP@tmp\pstFP@tmp% + \global\pstFP@regs=\pstFP@regs% + }% +} + +\def\pstFP@removeleadingzeros#1\relax{% + {\edef\pstFP@tmp{#1}% + \loop% + \edef\pstFP@tmpa{\expandafter\pstFP@first\pstFP@tmp\noexpand\relax}% + \expandafter\ifx\pstFP@tmpa0\relax% + \edef\pstFP@tmp{\expandafter\pstFP@ignorenext\pstFP@tmp}% + \repeat% + \global\let\pstFP@tmp\pstFP@tmp% + }% +} + +\newif\ifpstFP@nonstop +\def\pstFP@strip#1{% + {\edef\pstFP@tmp{#1}% + \edef\pstFP@tmpb{}% + \ifx\pstFP@tmp\@empty\else% + \pstFP@nonstoptrue% + \loop% + \edef\pstFP@tmpa{\expandafter\pstFP@first\pstFP@tmp\noexpand\relax}% + \expandafter\ifx\pstFP@tmpa-\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa+\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa0\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa1\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa2\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa3\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa4\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa5\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa6\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa7\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa8\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \expandafter\ifx\pstFP@tmpa9\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else% + \ifx\pstFP@tmpa\@empty\pstFP@nonstopfalse\else% + \ifx\pstFP@tmpa\space\pstFP@nonstopfalse\else% + \typeout{>>> Illegal character \pstFP@tmpa\space found in float number}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% + \edef\pstFP@tmp{\expandafter\pstFP@ignorenext\pstFP@tmp}% + \ifx\pstFP@tmp\@empty\pstFP@nonstopfalse\fi% + \ifpstFP@nonstop% + \repeat% + \fi% + \global\let\pstFP@tmp\pstFP@tmpb% + }% +} + +\def\pstFP@readvalue#1#2#3{% + % #1 macro family to catch the value + % #2.#3 value + % + % regular expression [+|-]*[d]_0^18.[d]* + % + \pstFP@strip{#2}% + %sign + \expandafter\pstFP@getsign\pstFP@tmp\relax% + \csname pstFP@#1s\endcsname=\pstFP@regs% + % + %integer part + \pstFP@removeleadingzeros\pstFP@tmp\relax% + \expandafter\pstFP@setintcounter\pstFP@tmp000000000000000000\relax% + \csname pstFP@#1ia\endcsname=\pstFP@rega% + \csname pstFP@#1ib\endcsname=\pstFP@regb% + % + %fractional part + \pstFP@strip{#3}% + \expandafter\pstFP@setfractcounter\pstFP@tmp000000000000000000\relax% + \csname pstFP@#1fa\endcsname=\pstFP@rega% + \csname pstFP@#1fb\endcsname=\pstFP@regb% + % + %correct sign + \ifnum\pstFP@rega=0\relax% + \ifnum\pstFP@regb=0\relax% + \expandafter\ifnum\csname pstFP@#1ib\endcsname=0\relax% + \expandafter\ifnum\csname pstFP@#1ia\endcsname=0\relax% + \csname pstFP@#1s\endcsname=1\relax% + \fi% + \fi% + \fi% + \fi% +} +% +%store value in macro +% +\def\pstFP@store#1#2{% + % #1 macro + % #2 macro family (value) to store + % + \ifpstFP@zero{#2}% + \csname pstFP@#2s\endcsname=1\relax% + \fi% + \expandafter\ifnum\csname pstFP@#2s\endcsname<0\relax% + \edef#1{-}% + \else% + \edef#1{}% + \fi% + \expandafter\ifnum\csname pstFP@#2ia\endcsname=0\relax% + \expandafter\ifnum\csname pstFP@#2ib\endcsname=0\relax% + \edef#1{#10}% + \else% + \edef#1{#1\expandafter\the\csname pstFP@#2ib\endcsname}% + \fi% + \else% + \expandafter\advance\csname pstFP@#2ib\endcsname1000000000\relax% + \edef#1{#1\expandafter\the\csname pstFP@#2ia\endcsname\expandafter\pstFP@ignorenext\the\csname pstFP@#2ib\endcsname}% + \fi% + \expandafter\advance\csname pstFP@#2fa\endcsname1000000000\relax% + \expandafter\advance\csname pstFP@#2fb\endcsname1000000000\relax% + \edef#1{#1\noexpand.\expandafter\pstFP@ignorenext\the\csname pstFP@#2fa\endcsname\expandafter\pstFP@ignorenext\the\csname pstFP@#2fb\endcsname}% +} +%macros to expand some arguments +% +\def\pstFP@callc#1#2#3#4{% + % #1 macro to call + % #2 macro, which gets the result + % #3 1st value + % #4 2nd value + % expand the values and split them into the integer and the fractional parts + \edef\next{\noexpand#1\noexpand#2#3..\noexpand\relax#4..\noexpand\relax}% + \next% +} +% +\def\pstFP@divten#1{% + \expandafter\pstFP@regc\csname pstFP@#1ia\endcsname% + \expandafter\divide\csname pstFP@#1ia\endcsname10\relax% + \expandafter\pstFP@regb\csname pstFP@#1ia\endcsname% + \multiply\pstFP@regb10\relax% + \advance\pstFP@regc-\pstFP@regb% + \multiply\pstFP@regc100000000\relax% + % + \expandafter\pstFP@rega\csname pstFP@#1ib\endcsname% + \expandafter\divide\csname pstFP@#1ib\endcsname10\relax% + \expandafter\pstFP@regb\csname pstFP@#1ib\endcsname% + \multiply\pstFP@regb10\relax% + \advance\pstFP@rega-\pstFP@regb% + \multiply\pstFP@rega100000000\relax% + \expandafter\advance\csname pstFP@#1ib\endcsname\pstFP@regc% + % + \expandafter\pstFP@regc\csname pstFP@#1fa\endcsname% + \expandafter\divide\csname pstFP@#1fa\endcsname10\relax% + \expandafter\pstFP@regb\csname pstFP@#1fa\endcsname% + \multiply\pstFP@regb10\relax% + \advance\pstFP@regc-\pstFP@regb% + \multiply\pstFP@regc100000000\relax% + \expandafter\advance\csname pstFP@#1fa\endcsname\pstFP@rega% + % + \expandafter\divide\csname pstFP@#1fb\endcsname10\relax% + \expandafter\advance\csname pstFP@#1fb\endcsname\pstFP@regc% +} +% +\def\pstFP@multen#1{% + \expandafter\multiply\csname pstFP@#1ia\endcsname10\relax% + \expandafter\ifnum\csname pstFP@#1ib\endcsname<100000000\relax% + \else% + \expandafter\pstFP@regc\csname pstFP@#1ib\endcsname% + \divide\pstFP@regc100000000% + \expandafter\advance\csname pstFP@#1ia\endcsname\pstFP@regc% + \multiply\pstFP@regc100000000% + \expandafter\advance\csname pstFP@#1ib\endcsname-\pstFP@regc% + \fi% + \expandafter\multiply\csname pstFP@#1ib\endcsname10\relax% + \expandafter\ifnum\csname pstFP@#1fa\endcsname<100000000\relax% + \else% + \expandafter\pstFP@regc\csname pstFP@#1fa\endcsname% + \divide\pstFP@regc100000000% + \expandafter\advance\csname pstFP@#1ib\endcsname\pstFP@regc% + \multiply\pstFP@regc100000000% + \expandafter\advance\csname pstFP@#1fa\endcsname-\pstFP@regc% + \fi% + \expandafter\multiply\csname pstFP@#1fa\endcsname10\relax% + \expandafter\ifnum\csname pstFP@#1fb\endcsname<100000000\relax% + \else% + \expandafter\pstFP@regc\csname pstFP@#1fb\endcsname% + \divide\pstFP@regc100000000% + \expandafter\advance\csname pstFP@#1fa\endcsname\pstFP@regc% + \multiply\pstFP@regc100000000% + \expandafter\advance\csname pstFP@#1fb\endcsname-\pstFP@regc% + \fi% + \expandafter\multiply\csname pstFP@#1fb\endcsname10\relax% +} +% +\def\pstFP@counttimes{% + {\global\pstFP@times=0\relax% + \loop% + \ifnum% + \ifnum\pstFP@xia>\pstFP@yia1% + \else\ifnum\pstFP@xia<\pstFP@yia0% + \else% + \ifnum\pstFP@xib>\pstFP@yib1% + \else\ifnum\pstFP@xib<\pstFP@yib0% + \else% + \ifnum\pstFP@xfa>\pstFP@yfa1% + \else\ifnum\pstFP@xfa<\pstFP@yfa0% + \else% + \ifnum\pstFP@xfb>\pstFP@yfb1% + \else\ifnum\pstFP@xfb<\pstFP@yfb0% + \else% + 1% + \fi\fi% + \fi\fi% + \fi\fi% + \fi\fi% + =1\relax% + \global\advance\pstFP@times1\relax% + \global\advance\pstFP@xfb-\pstFP@yfb% + \ifnum\pstFP@xfb<0\relax% + \global\advance\pstFP@xfb1000000000\relax% + \global\advance\pstFP@xfa-1\relax% + \fi% + \global\advance\pstFP@xfa-\pstFP@yfa% + \ifnum\pstFP@xfa<0\relax% + \global\advance\pstFP@xfa1000000000\relax% + \global\advance\pstFP@xib-1\relax% + \fi% + \global\advance\pstFP@xib-\pstFP@yib% + \ifnum\pstFP@xib<0\relax% + \global\advance\pstFP@xib1000000000\relax% + \global\advance\pstFP@xia-1\relax% + \fi% + \global\advance\pstFP@xia-\pstFP@yia% + \repeat% + }% +} +% +\def\pstFP@add#1#2.#3.#4\relax#5.#6.#7\relax#8\relax{% + % #1 macro, which gets the result + % #2 integer part of 1st value + % #3 fractional part of 1st value + % #4 dummy to swallow everthing after the 2nd '.' + % #5 integer part of 2nd value + % #6 fractional part of 2nd value + % #7 dummy to swallow everthing after the 2nd '.' + % + {\pstFP@readvalue{x}{#2}{#3}% + \pstFP@readvalue{y}{#5}{#6}% + % + \ifnum\pstFP@xs=\pstFP@ys% + \advance\pstFP@xfb\pstFP@yfb% + \advance\pstFP@xfa\pstFP@yfa% + \ifnum\pstFP@xfb<1000000000\relax\else% + \advance\pstFP@xfb-1000000000\relax% + \advance\pstFP@xfa1\relax% + \fi% + \advance\pstFP@xib\pstFP@yib% + \ifnum\pstFP@xfa<1000000000\relax\else% + \advance\pstFP@xfa-1000000000\relax% + \advance\pstFP@xib1\relax% + \fi% + \advance\pstFP@xia\pstFP@yia% + \ifnum\pstFP@xib<1000000000\relax\else% + \advance\pstFP@xib-1000000000\relax% + \advance\pstFP@xia1\relax% + \fi% + \ifnum\pstFP@xia<1000000000\relax\else% + \pstFP@errmessage{Overflow}% + \fi% + \pstFP@store\pstFP@tmp{x}% + \else% + \advance\pstFP@xfb-\pstFP@yfb% + \ifnum\pstFP@xfb<0\relax% + \advance\pstFP@yfa1\relax% + \advance\pstFP@xfb1000000000\relax% + \fi% + \advance\pstFP@xfa-\pstFP@yfa% + \ifnum\pstFP@xfa<0\relax% + \advance\pstFP@yib1\relax% + \advance\pstFP@xfa1000000000\relax% + \fi% + \advance\pstFP@xib-\pstFP@yib% + \ifnum\pstFP@xib<0\relax% + \advance\pstFP@yia1\relax% + \advance\pstFP@xib1000000000\relax% + \fi% + \advance\pstFP@xia-\pstFP@yia% + \ifnum\pstFP@xia<0\relax% + \pstFP@xs=-\pstFP@xs% + \ifnum\pstFP@xfb=0\relax\else% + \advance\pstFP@xfb-1000000000\relax\pstFP@xfb=-\pstFP@xfb% + \advance\pstFP@xfa1\relax% + \fi% + \ifnum\pstFP@xfa=0\relax\else% + \advance\pstFP@xfa-1000000000\relax\pstFP@xfa=-\pstFP@xfa% + \advance\pstFP@xib1\relax% + \fi% + \ifnum\pstFP@xib=0\relax\else% + \advance\pstFP@xib-1000000000\relax\pstFP@xib=-\pstFP@xib% + \advance\pstFP@xia1\relax% + \fi% + \relax\pstFP@xia=-\pstFP@xia% + \fi% + \pstFP@store\pstFP@tmp{x}% + \fi% + \global\let\pstFP@tmp\pstFP@tmp% + }% + \let#1\pstFP@tmp% +} + + +\def\pstFP@div#1#2.#3.#4\relax#5.#6.#7\relax{% + % #1 macro, which gets the result + % #2 integer part of 1st value + % #3 fractional part of 1st value + % #4 dummy to swallow everthing after the 2nd '.' + % #5 integer part of 2nd value + % #6 fractional part of 2nd value + % #7 dummy to swallow everthing after the 2nd '.' + % + % algorithmic idea (for x>0, y>0) + % - %determine \pstFP@shift such that y*10^\pstFP@shift <100000000<=y*10^(\pstFP@shift+1) + % - %determine \pstFP@shift' such that x*10^\pstFP@shift'<100000000<=x*10^(\pstFP@shift+1) + % - x=x*\pstFP@shift' + % - y=y*\pstFP@shift + % - \pstFP@shift=\pstFP@shift-\pstFP@shift' + % - res=0 + % - while y>0 %fixed-point representation! + % - \pstFP@times=0 + % - while x>y + % - \pstFP@times=\pstFP@times+1 + % - x=x-y + % - end + % - y=y/10 + % - res=10*res+\pstFP@times/1000000000 + % - end + % - %shift the result according to \pstFP@shift + % + {\pstFP@readvalue{x}{#2}{#3}% + \pstFP@readvalue{y}{#5}{#6}% + % + %sign + \multiply\pstFP@xs\pstFP@ys% + \pstFP@rs=\pstFP@xs% + % + %compute division + \ifpstFP@zero{y}% + \typeout{>>>>Division by zero}% + \else% + \ifpstFP@zero{x}\def\next##1{\edef\pstFP@tmp{0}}\else\def\next##1{##1}\fi% + \next% + {\pstFP@shift=0\relax% + \loop% + \ifnum\pstFP@yia<100000000\relax% + \pstFP@multen{y}% + \advance\pstFP@shift1\relax% + \repeat% + \loop% + \ifnum\pstFP@xia<100000000\relax% + \pstFP@multen{x}% + \advance\pstFP@shift-1\relax% + \repeat% + \pstFP@ria=0\pstFP@rib=0\pstFP@rfa=0\pstFP@rfb=0\relax% + \loop% + \ifpstFP@zero{y}\else% + \pstFP@counttimes%divides x by \pstFP@times*y + \pstFP@divten{y}% + \pstFP@multen{r}% + \advance\pstFP@rfb\pstFP@times% + \ifnum\pstFP@rfb<1000000000\relax\else% + \advance\pstFP@rfa1\advance\pstFP@rfb-1000000000\relax% + \ifnum\pstFP@rfa<1000000000\relax\else% + \advance\pstFP@rib1\advance\pstFP@rfa-1000000000\relax% + \ifnum\pstFP@rib<1000000000\relax\else% + \advance\pstFP@ria1\advance\pstFP@rib-1000000000\relax% + \fi% + \fi% + \fi% + \repeat% + \loop% + \ifnum\pstFP@shift>17% + \advance\pstFP@shift-1\relax% + \ifnum\pstFP@ria<100000000\else\pstFP@ria=-1\fi% + \ifnum\pstFP@ria<0\pstFP@ria=-1\fi% + \pstFP@multen{r}% + \repeat% + \ifnum\pstFP@ria<1000000000\else\pstFP@ria=-1\fi% + \loop% + \ifnum\pstFP@shift<17% + \advance\pstFP@shift1\relax% + \pstFP@divten{r}% + \repeat% + \ifnum\pstFP@ria<0\relax% + \typeout{>>>>Overflow}% + \else% + \pstFP@store\pstFP@tmp{r}% + \fi% + }% + \fi% + % + \global\let\pstFP@tmp=\pstFP@tmp% + % + }% + \let#1\pstFP@tmp% +} +%multiply two values + +\def\pstFP@firstnine#1#2#3#4#5#6#7#8#9{% + \pstFP@res=#1#2#3#4#5#6#7#8#9\relax% +} +\def\pstFP@@ninesplit#1\relax#2\end#3{% + #1% + \edef#3{#2}% +} +\def\pstFP@ninesplit#1{% + \edef#1{\expandafter\pstFP@firstnine\pstFP@rd}% + \expandafter\pstFP@@ninesplit#1\end#1\relax% +} + +\def\pstFP@split#1#2#3#4{% + % #1 highest three digits + % #2 medium three digits + % #3 least three digits + % #4 counter + \pstFP@regc=#4% + \divide\pstFP@regc1000000\relax% + #1=\pstFP@regc% + \multiply\pstFP@regc-1000000\relax\advance\pstFP@regc#4% + #3=\pstFP@regc% + \divide\pstFP@regc1000\relax% + #2=\pstFP@regc% + \multiply\pstFP@regc-1000\relax\advance\pstFP@regc#3% + #3=\pstFP@regc% +} + +\def\pstFP@@mul#1#2#3{% + \pstFP@regc=\csname pstFP@x#1\endcsname% + \multiply\pstFP@regc\csname pstFP@y#2\endcsname% + \advance\pstFP@prod\pstFP@regc% + % + \ifx#3\relax% + \let\next=\relax% + \else% + \let\next=\pstFP@@mul% + \fi% + \next#3% +} + +\def\pstFP@saveshift{% + % save rightmost three digits + \pstFP@regc=\pstFP@prod% + \divide\pstFP@prod1000\relax% + \multiply\pstFP@prod1000\relax% + \advance\pstFP@regc-\pstFP@prod% + \advance\pstFP@regc1000\relax% + \edef\pstFP@rd{\expandafter\pstFP@ignorenext\the\pstFP@regc\pstFP@rd}% + % + \divide\pstFP@prod1000\relax% +} + +\def\pstFP@mul#1#2.#3.#4\relax#5.#6.#7\relax{% + % #1 macro, which gets the result + % #2 integer part of 1st value + % #3 fractional part of 1st value + % #4 dummy to swallow everthing after the 2nd '.' + % #5 integer part of 2nd value + % #6 fractional part of 2nd value + % #7 dummy to swallow everthing after the 2nd '.' + % + % split value in various parts + % x y = 123 456 789 123 456 789 . 123 456 789 123 456 789 + % -> xk xl xm xn xo xp xq xr xs xt xu xv + % -> yk yl ym yn yo yp yq yr ys yt yu yv + % multiply these parts and save the result wrt the necessary shifts + % + {\pstFP@readvalue{x}{#2}{#3}% + \pstFP@readvalue{y}{#5}{#6}% + % + %sign + \multiply\pstFP@xs\pstFP@ys% + \pstFP@rs=\pstFP@xs% + % + % split parts + \pstFP@split\pstFP@xk\pstFP@xl\pstFP@xm\pstFP@xia\pstFP@split\pstFP@xn\pstFP@xo\pstFP@xp\pstFP@xib% + \pstFP@split\pstFP@xq\pstFP@xr\pstFP@xz\pstFP@xfa\pstFP@split\pstFP@xt\pstFP@xu\pstFP@xv\pstFP@xfb% + \pstFP@split\pstFP@yk\pstFP@yl\pstFP@ym\pstFP@yia\pstFP@split\pstFP@yn\pstFP@yo\pstFP@yp\pstFP@yib% + \pstFP@split\pstFP@yq\pstFP@yr\pstFP@yz\pstFP@yfa\pstFP@split\pstFP@yt\pstFP@yu\pstFP@yv\pstFP@yfb% + % + \pstFP@prod=0\relax% + \edef\pstFP@rd{}% + % + %compute result + \pstFP@@mul vv \relax\pstFP@saveshift% + \pstFP@@mul vu uv \relax\pstFP@saveshift% + \pstFP@@mul uu vt tv \relax\pstFP@saveshift% + \pstFP@@mul ut tu vz zv \relax\pstFP@saveshift% + \pstFP@@mul tt zu uz rv vr \relax\pstFP@saveshift% + \pstFP@@mul zt tz ur ru vq qv \relax\pstFP@saveshift% + \pstFP@@mul zz rt tr uq qu vp pv \relax\pstFP@saveshift% + \pstFP@@mul zr rz tq qt up pu vo ov \relax\pstFP@saveshift% + \pstFP@@mul rr qz zq tp pt uo ou vn nv \relax\pstFP@saveshift% + \pstFP@@mul rq qr zp pz to ot un nu vm mv \relax\pstFP@saveshift% + \pstFP@@mul qq rp pr zo oz tn nt um mu vl lv \relax\pstFP@saveshift% + \pstFP@@mul qp pq ro or zn nz tm mt ul lu kv vk \relax\pstFP@saveshift% + \pstFP@@mul pp oq qo rn nr zm mz tl lt ku uk \relax\pstFP@saveshift% + \pstFP@@mul op po nq qn rm mr zl lz tk kt \relax\pstFP@saveshift% + \pstFP@@mul oo pn np mq qm rl lr kz zk \relax\pstFP@saveshift% + \pstFP@@mul no on mp pm lq ql kr rk \relax\pstFP@saveshift% + \pstFP@@mul nn mo om pl lp qk kq \relax\pstFP@saveshift% + \pstFP@@mul mn nm lo ok pk kp \relax\pstFP@saveshift% + \pstFP@@mul mm ln nl ko ok \relax\pstFP@saveshift% + \pstFP@@mul lm ml kn nk \relax\pstFP@saveshift% + \pstFP@@mul ll km mk \relax\pstFP@saveshift% + \pstFP@@mul kl lk \relax\pstFP@saveshift% + \pstFP@@mul kk \relax\pstFP@saveshift\pstFP@saveshift% + \pstFP@ninesplit\pstFP@rd% + \ifnum\pstFP@res=0\relax% + \pstFP@ninesplit\pstFP@rd% + \ifnum\pstFP@res=0\relax% + \pstFP@ninesplit\pstFP@rd\pstFP@ria=\pstFP@res% + \pstFP@ninesplit\pstFP@rd\pstFP@rib=\pstFP@res% + \pstFP@ninesplit\pstFP@rd\pstFP@rfa=\pstFP@res% + \pstFP@ninesplit\pstFP@rd\pstFP@rfb=\pstFP@res% + \pstFP@store\pstFP@tmp{r}% + \else\typeout{pstFPmul: Overflow}\fi% + \else\typeout{pstFPmul: Overflow}\fi% + \global\let\pstFP@tmp\pstFP@tmp}% + \let#1\pstFP@tmp% +} +% +\catcode`\@=\PstAtCode\relax +% +%% END: pst-fp.tex +\endinput diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-node.tex b/Master/texmf-dist/tex/generic/pstricks/pst-node.tex deleted file mode 100644 index ab6a512ef1b..00000000000 --- a/Master/texmf-dist/tex/generic/pstricks/pst-node.tex +++ /dev/null @@ -1,1154 +0,0 @@ -%% BEGIN pst-node.tex -%% -%% Nodes with PSTricks 97. -%% See the betadoc documentation for usage. -%% This uses the header file `pst-node.pro'. -%% -\def\fileversion{1.01} -\def\filedate{2008/11/26} -%% -%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu. -%% COPYRIGHT 2009- by Herbert Voss, hvoss@tug.org. -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN -%% archives in directory macros/latex/base/lppl.txt. -%% -\message{ v\fileversion, \filedate} -\csname PSTnodesLoaded\endcsname -\let\PSTnodesLoaded\endinput -\ifx\PSTricksLoaded\endinput\else\input pstricks.tex \fi\relax -\edef\TheAtCode{\the\catcode`\@} -\catcode`\@=11 -% -\pstheader{pst-node.pro} -% -\def\pst@nodedict{tx@NodeDict begin } -\def\pst@zapspace#1 #2{% -#1% -\ifx#2\@empty\else\expandafter\pst@zapspace\fi -#2} -% -\def\pst@getnode#1#2{\pst@expandafter\pst@@getnode{#1},,\@nil#2} -\def\pst@@getnode#1,#2,#3\@nil#4{% - \ifx\@empty#3\@empty - \edef#4{/N@\pst@zapspace#1 \@empty\space}% - \else - \pst@cntg=#1\relax - \pst@cnth=#2\relax - \edef#4{/N@M-\ifnum\psmatrixcnt=\z@ 1\else\the\psmatrixcnt\fi - -\the\pst@cntg-\the\pst@cnth\space}% - \fi} -% -\def\tx@NewNode{NewNode } -\def\pst@newnode#1#2#3#4{% -% DG/SR modification begin - Nov. 9, 2000 - Patch 11 -\pst@killglue -% DG/SR modification end -\leavevmode -\pst@getnode{#1}\pst@thenode -\pst@Verb{% - \pst@nodedict - {#3} - \ifx\psk@name\relax false \else \psk@name true \fi - \pst@thenode - #2 - {#4} - \tx@NewNode - end }% -% -\global\let\psk@name\relax -\pstree@nodehook -\global\let\pstree@nodehook\relax} -\let\pstree@nodehook\relax -\newif\ifnodealign -\def\psset@nodealign#1{\@nameuse{nodealign#1}} -\psset@nodealign{false} -\def\pst@nodealign{% -\pst@dimg=\ht\pst@hbox -\advance\pst@dimg-\dp\pst@hbox -\divide\pst@dimg2 -\lower\pst@dimg} -% -\def\tx@InitPnode{InitPnode } -\def\pnode{\@ifnextchar({\pnode@}{\pnode@(0,0)}} -\def\pnode@(#1)#2{% - \pst@@getcoor{#1}% - \pst@newnode{#2}{10}{\pst@coor}{\tx@InitPnode}% - \ignorespaces} -% -\def\tx@InitCnode{InitCnode } -\def\cnode{\pst@object{cnode}} -\def\cnode@i{\@ifnextchar({\cnode@ii}{\cnode@ii(0,0)}} -\def\cnode@ii(#1)#2#3{% - \leavevmode - \hbox{% - \use@par - \pst@@getcoor{#1}% - \pssetlength\pst@dimc{#2}% - \pst@dimg=\psk@dimen\pslinewidth - \advance\pst@dimc-\pst@dimg - \advance\pst@dimc.5\pslinewidth - \ifnodealign - \kern\pst@dimc - \vrule width\z@ height \pst@dimc depth \pst@dimc - \fi - \pscircle@do(#1){#2}% - \pst@newnode{#3}{11}{\pst@coor \pst@number\pst@dimc}{\tx@InitCnode}% -%% % DG/SR modification begin - Jul. 30, 1997 - Patch 2 -%% %\ifnodealign \kern\pst@dimc\egroup \fi}% - \ifnodealign\kern\pst@dimc\fi% -%% % DG/SR modification end - }% - \ignorespaces} -% -\def\Cnode{\pst@object{Cnode}} -\def\Cnode@i{\@ifnextchar({\Cnode@ii}{\Cnode@ii(0,0)}} -\def\Cnode@ii(#1)#2{\cnode@ii(#1){\psk@radius}{#2}}% -% -\def\cnodeput{\pst@object{cnodeput}} -\def\cnodeput@i{\@ifnextchar({\cnodeput@iii}{\cnodeput@ii}} -\def\cnodeput@ii#1{% - \addto@par{rot={#1}}% - \@ifnextchar({\cnodeput@iii}{\cnodeput@iii(\z@,\z@)}} -\def\cnodeput@iii(#1)#2{% - \pst@killglue - \@fixedradiusfalse - \def\pst@nodehook{\cnodeput@iv{#2}}% - \pst@makebox{\cput@v{#1}}} -\def\cnodeput@iv#1{% - \pst@newnode{#1}{11}{\pscirclebox@iv \pst@number\pslinewidth add}{\tx@InitCnode}% - \global\let\pst@nodehook\relax} -% -\def\Cnodeput{\pst@object{Cnodeput}} -\def\Cnodeput@i{\@ifnextchar({\Cnodeput@iii}{\Cnodeput@ii}} -\def\Cnodeput@ii#1{% -\addto@par{rot={#1}}% -\@ifnextchar({\Cnodeput@iii}{\Cnodeput@iii(\z@,\z@)}} -\def\Cnodeput@iii(#1)#2{% -\pst@killglue -\@fixedradiustrue -\def\pst@nodehook{\Cnodeput@iv{#2}}% -\pst@makebox{\cput@iv{#1}}} -\def\Cnodeput@iv#1{% -\pst@newnode{#1}{11}{% -\pst@number{\wd\pst@hbox} 2 div \pst@number\pst@dima % x y -\pst@number\pst@dimb \pst@number\pslinewidth \psk@dimen .5 sub mul sub }% r -{\tx@InitCnode}% -\global\let\pst@nodehook\relax} -\def\circlenode{\pst@object{circlenode}} -\def\circlenode@i#1{\pst@makebox{\circlenode@ii{#1}}} -\def\circlenode@ii#1{% - \begingroup - \pst@useboxpar - \setbox\pst@hbox=\hbox{% - \cnodeput@iv{#1}% - \pscirclebox@iii - \box\pst@hbox}% - \ifnodealign \psboxseptrue \fi - \ifpsboxsep \pscirclebox@sep \fi - \leavevmode - \ifnodealign\pst@nodealign\fi - \box\pst@hbox - \endgroup} -\def\Circlenode{\pst@object{Circlenode}} -\def\Circlenode@i#1{\pst@makebox{\Circlenode@ii{#1}}} -\def\Circlenode@ii#1{% -\begingroup -\pst@useboxpar -\pst@dima=\ht\pst@hbox -\advance\pst@dima\dp\pst@hbox -\divide\pst@dima\tw@ -\pssetlength\pst@dimb\psk@radius -\setbox\pst@hbox=\hbox{% -\Cnodeput@iv{#1}% -\pscircle(.5\wd\pst@hbox,\pst@dima){\pst@dimb}% -\box\pst@hbox}% -\ifnodealign \psboxseptrue \fi -\ifpsboxsep \psCirclebox@sep \fi -\leavevmode -\ifnodealign\pst@nodealign\fi -\box\pst@hbox -\endgroup} -\def\tx@GetRnodePos{GetRnodePos } -\def\tx@InitRnode{InitRnode } -\def\rnode{\@ifnextchar[{\rnode@i}{\def\pst@par{}\rnode@ii}} -\def\rnode@i[#1]{\def\pst@par{ref=#1}\rnode@ii} -\def\rnode@ii#1{\pst@makebox{\rnode@iii\rnode@iv{#1}}} -\def\rnode@iii#1#2{% -% DG modification begin - Jan. 1997 -\leavevmode -% DG modification end -\begingroup -% DG/SR modification begin - Apr. 28, 1998 - Patch 6 -\pst@useboxpar -% DG/SR modification end -#1% -\if@star\pst@starbox\fi -\ifnodealign\lower\pst@dimb\fi -\hbox{% -\pst@newnode{#2}{16}{% -\pst@number{\ht\pst@hbox}% -\pst@number{\dp\pst@hbox}% -\pst@number{\wd\pst@hbox}% -\pst@number\pst@dima -\pst@number\pst@dimb}% -{\tx@InitRnode}% -\box\pst@hbox}% -\endgroup} -\def\rnode@iv{% -\pst@dima=\psk@xref\wd\pst@hbox -\ifx\psk@yref\relax -\pst@dimb=\z@ -\else -\pst@dimb=\ht\pst@hbox -\advance\pst@dimb\dp\pst@hbox -\pst@dimb=\psk@yref\pst@dimb -\advance\pst@dimb-\dp\pst@hbox -\fi} -\def\psset@href#1{\pst@checknum{#1}\psk@href} -\psset@href{0} -\def\psset@vref#1{\def\psk@vref{#1}} -\psset@vref{.7ex} -\def\Rnode{\pst@object{Rnode}} -\def\Rnode@i#1{\pst@makebox{\rnode@iii\Rnode@ii{#1}}} -\def\Rnode@ii{% -% DG modification begin - Jan. 1997 -% - \begingroup removed as it seems to doesn't work any more -% - \Rnode doesn't process the optional parameter changes -%\begingroup -\use@par -% DG modification end -\pst@dima=\psk@href\wd\pst@hbox -\advance\pst@dima\wd\pst@hbox -\divide\pst@dima 2 -\pssetlength\pst@dimb{\psk@vref}} -\def\tx@DiaNodePos{DiaNodePos } -\def\dianode{\pst@object{dianode}} -\def\dianode@i#1{\pst@makebox{\dianode@ii{#1}}} -\def\dianode@ii#1{% -\begingroup -\pst@useboxpar -\psdiabox@iii -\setbox\pst@hbox=\hbox{% -\pst@newnode{#1}{14}{}{% -/X \pst@number\pst@dima def -/Y \pst@number\pst@dimb def -/w \pst@number\pst@dimc 2 mul def -/h \pst@number\pst@dimd 2 mul def -/NodePos { \tx@DiaNodePos } def}% -\box\pst@hbox}% -\ifnodealign\psboxseptrue\fi -\ifpsboxsep\psdiabox@sep\fi -% DG/SR modification begin - Sep. 2, 1997 - Patch 3 -\leavevmode -% DG/SR modification end -\ifnodealign\lower\pst@dimb\fi -\box\pst@hbox -\endgroup} -\def\tx@TriNodePos{TriNodePos } -\def\tx@InitTriNode{InitTriNode } -\def\trinode{\pst@object{trinode}} -\def\trinode@i#1{\pst@makebox{\trinode@ii{#1}}} -\def\trinode@ii#1{% -\begingroup -\pst@useboxpar -\pstribox@iii -\setbox\pst@hbox=\hbox{% -\pst@newnode{#1}{14}{}{% -\pst@number\pst@dimc -\pst@number\pst@dimd -\ifodd\psk@trimode -exch -\pst@number\pst@dima -\else -\pst@number\pst@dimb -\fi -\psk@trimode -\pst@number{\wd\pst@hbox}% -\pst@number{\ht\pst@hbox}% -\pst@number{\dp\pst@hbox}% -\tx@InitTriNode}% -\box\pst@hbox}% -\ifnodealign\psboxseptrue\fi -\ifpsboxsep\pstribox@sep\fi -% DG/SR modification begin - Sep. 2, 1997 - Patch 3 -\leavevmode -% DG/SR modification end -\ifnodealign\lower\pst@tempa\fi -\box\pst@hbox -\endgroup} -\def\tx@OvalNodePos{OvalNodePos } -\def\ovalnode{\pst@object{ovalnode}} -\def\ovalnode@i#1{\pst@makebox{\ovalnode@ii{#1}}} -\def\ovalnode@ii#1{% -\begingroup -\pst@useboxpar -\psovalbox@iii -\setbox\pst@hbox=\hbox{% -\pst@newnode{#1}{14}{}{% -/X \pst@number\pst@dima def -/Y \pst@number\pst@dimb def -/w \pst@number\pst@dimc def -/h \pst@number\pst@dimd def -/NodePos { \tx@OvalNodePos } def}% -\unhbox\pst@hbox}% -\ifnodealign\psboxseptrue\fi -\ifpsboxsep\psovalbox@sep\fi -% DG/SR modification begin - Sep. 2, 1997 - Patch 3 -\leavevmode -% DG/SR modification end -\ifnodealign\lower\pst@dimb\fi -\box\pst@hbox -\endgroup} -% -\def\dotnode{\pst@object{dotnode}} -\def\dotnode@i{\@ifnextchar({\dotnode@ii}{\dotnode@ii(\z@,\z@)}} -\def\dotnode@ii(#1)#2{% - \leavevmode% - \hbox{% - \use@par% - \pst@@getcoor{#1}% - \pst@getdotsize% - \pstree@nodehook% - \ifnodealign% - \pst@dima=\pst@dimg% - \kern\pst@dima% - \vrule width\z@ height \pst@dimh depth \pst@dimh% - \fi% - \pst@newnode{#2}{14}{}{ - \pst@coor - /Y ED /X ED - /w \pst@number\pst@dimg def - /h \pst@number\pst@dimh def - /NodePos { \tx@OvalNodePos } def}% - \psdot@ii(#1)% - \ifnodealign\kern\pst@dima\fi}% - \ignorespaces} -% -\def\psset@framesize#1{\pst@expandafter\psset@@framesize{#1} \@nil} -\def\psset@@framesize#1 #2\@nil{% -\pssetlength\pst@dimg{#1}% -\divide\pst@dimg2 -\edef\psk@framewidth{\pst@number\pst@dimg}% -\ifx\@empty#2\@empty -\let\psk@frameheight\psk@framewidth -\else -\pssetlength\pst@dimg{#2}% -\divide\pst@dimg2 -\edef\psk@frameheight{\pst@number\pst@dimg}% -\fi} -% -\psset@framesize{10pt} -% -\def\fnode{\pst@object{fnode}} -\def\fnode@i{\@ifnextchar({\fnode@ii}{\fnode@ii(\z@,\z@)}} -\def\fnode@ii(#1)#2{% - \leavevmode - \pst@killglue - \hbox{% - \use@par% - \begin@ClosedObj% - \ifnodealign - \kern\psk@framewidth\p@ - \vrule width\z@ height \psk@frameheight\p@ depth \psk@frameheight\p@ - \edef\pst@coor{0 0 }% - \else\pst@@getcoor{#1}\fi - \pst@newnode{#2}{14}{}{ - \pst@coor - /Y ED /X ED - /d \psk@dimen .5 sub CLW mul neg def - /r \psk@framewidth d add def - /l r neg def - /u \psk@frameheight d add def - /d u neg def - /NodePos { \tx@GetRnodePos } def}% - \addto@pscode{ - /x2 \psk@framewidth CLW \psk@dimen mul sub def - /y2 \psk@frameheight CLW \psk@dimen mul sub def - \pst@coor 2 copy - y2 sub /y1 ED - x2 sub /x1 ED - y2 add /y2 ED - x2 add /x2 ED - \psk@cornersize - 1 index 0 eq { pop pop \tx@Rect } { \tx@OvalFrame } ifelse}% - \def\pst@linetype{2}% - \showpointsfalse% - \end@ClosedObj% - \ifnodealign\kern\psk@framewidth\p@\fi}% end of \hbox - \ignorespaces} -% -\def\psset@nodesepA#1{% -\pst@getlength{#1}\psk@nodesepA -\def\psk@nodeseptypeA{0 }} -\def\psset@nodesepB#1{% -\pst@getlength{#1}\psk@nodesepB -\def\psk@nodeseptypeB{0 }} -\def\psset@nodesep#1{% -\pst@getlength{#1}\psk@nodesepA -\let\psk@nodesepB\psk@nodesepA -\def\psk@nodeseptypeA{0 }% -\def\psk@nodeseptypeB{0 }} -\psset@nodesep{0pt} -\def\psset@XnodesepA#1{% -\pst@getlength{#1}\psk@nodesepA -\def\psk@nodeseptypeA{1 }} -\def\psset@XnodesepB#1{% -\pst@getlength{#1}\psk@nodesepB -\def\psk@nodeseptypeB{1 }} -\def\psset@Xnodesep#1{% -\pst@getlength{#1}\psk@nodesepA -\let\psk@nodesepB\psk@nodesepA -\def\psk@nodeseptypeA{1 }% -\def\psk@nodeseptypeB{1 }} -\def\psset@YnodesepA#1{% -\pst@getlength{#1}\psk@nodesepA -\def\psk@nodeseptypeA{2 }} -\def\psset@YnodesepB#1{% -\pst@getlength{#1}\psk@nodesepB -\def\psk@nodeseptypeB{2 }} -\def\psset@Ynodesep#1{% -\pst@getlength{#1}\psk@nodesepA -\let\psk@nodesepB\psk@nodesepA -\def\psk@nodeseptypeA{2 }% -\def\psk@nodeseptypeB{2 }} -\def\psset@armA#1{% -\pst@getlength{#1}\psk@armA -\def\psk@armtypeA{0 }} -\def\psset@armB#1{% -\pst@getlength{#1}\psk@armB -\def\psk@armtypeB{0 }} -\def\psset@arm#1{% -\pst@getlength{#1}\psk@armA -\let\psk@armB\psk@armA -\def\psk@armtypeA{0 }% -\def\psk@armtypeB{0 }} -\psset@arm{10pt} -\def\psset@XarmA#1{% -\pst@getlength{#1}\psk@armA -\def\psk@armtypeA{1 }} -\def\psset@XarmB#1{% -\pst@getlength{#1}\psk@armB -\def\psk@armtypeB{1 }} -\def\psset@Xarm#1{% -\pst@getlength{#1}\psk@armA -\let\psk@armB\psk@armA -\def\psk@armtypeA{1 }% -\def\psk@armtypeB{1 }} -\def\psset@YarmA#1{% -\pst@getlength{#1}\psk@armA -\def\psk@armtypeA{2 }} -\def\psset@YarmB#1{% -\pst@getlength{#1}\psk@armB -\def\psk@armtypeB{2 }} -\def\psset@Yarm#1{% -\pst@getlength{#1}\psk@armA -\let\psk@armB\psk@armA -\def\psk@armtypeA{2 }% -\def\psk@armtypeB{2 }} -\def\psset@offsetA#1{\pst@getlength{#1}\psk@offsetA} -\def\psset@offsetB#1{\pst@getlength{#1}\psk@offsetB} -\def\psset@offset#1{\psset@offsetA{#1}\let\psk@offsetB\psk@offsetA} -\psset@offset{0pt} -\def\psset@angleA#1{\pst@getangle{#1}\psk@angleA} -\def\psset@angleB#1{\pst@getangle{#1}\psk@angleB}% -\def\psset@angle#1{% -\pst@getangle{#1}\psk@angleA -\let\psk@angleB\psk@angleA} -\psset@angle{0} -\def\psset@arcangleA#1{\pst@getangle{#1}\psk@arcangleA} -\def\psset@arcangleB#1{\pst@getangle{#1}\psk@arcangleB}% -\def\psset@arcangle#1{% -\pst@getangle{#1}\psk@arcangleA -\let\psk@arcangleB\psk@arcangleA} -\psset@arcangle{8} -\def\psset@ncurvA#1{\pst@checknum{#1}\psk@ncurvA} -\def\psset@ncurvB#1{\pst@checknum{#1}\psk@ncurvB}% -\def\psset@ncurv#1{\psset@ncurvA{#1}\let\psk@ncurvB\psk@ncurvA} -\psset@ncurv{.67} -\def\tx@GetCenter{GetCenter } -\def\tx@XYPos{XYPos } -\def\tx@GetEdge{GetEdge } -\def\tx@AddOffset{AddOffset } -\def\tx@GetEdgeA{GetEdgeA } -\def\tx@GetEdgeB{GetEdgeB } -\def\tx@GetArmA{GetArmA } -\def\tx@GetArmB{GetArmB } -% -\def\check@arrow#1#2{% - \check@@arrow#2-\@nil - \if@pst\addto@par{arrows=#2}\def\next{#1}% - \else\def\next{#1{#2}}\fi - \next} -\def\check@@arrow#1-#2\@nil{% -\ifx\@nil#2\@nil\@pstfalse\else\@psttrue\fi} -% -\def\tx@InitNC{InitNC } -\def\nc@object#1#2#3#4#5{% - \csname begin@#1Obj\endcsname - \showpointsfalse - \pst@getnode{#2}\pst@tempa - \pst@getnode{#3}\pst@tempb - \gdef\npos@default{#4 }% - \addto@pscode{% - /NCLW CLW def - \pst@nodedict - \psk@offsetA - \psk@offsetB neg - \psk@nodesepA - \psk@nodesepB - \psk@nodeseptypeA - \psk@nodeseptypeB - \pst@tempa - \pst@tempb - \tx@InitNC { #5 } if - end }% - \def\use@pscode{% - \pst@Verb{gsave \tx@STV newpath \pst@code\space grestore}% - \gdef\pst@code{}}% - \csname end@#1Obj\endcsname - \pst@shortput} -% -\def\npos@default{.5 } -\def\pc@object#1{% -\@ifnextchar({\pc@@object#1}{\pst@getarrows{\pc@@object#1}}} -\def\pc@@object#1(#2)(#3){% - \pnode(#2){@@A}\pnode(#3){@@B}% - #1{@@A}{@@B}} -\def\tx@LPutLine{LPutLine } -\def\tx@LPutLines{LPutLines } -\def\tx@BezierMidpoint{BezierMidpoint } -\def\tx@HPosBegin{HPosBegin } -\def\tx@HPosEnd{HPosEnd } -\def\tx@HPutLine{HPutLine } -\def\tx@HPutLines{HPutLines } -\def\tx@VPosBegin{VPosBegin } -\def\tx@VPosEnd{VPosEnd } -\def\tx@VPutLine{VPutLine } -\def\tx@VPutLines{VPutLines } -\def\tx@HPutCurve{HPutCurve } -\def\tx@NCCoor{NCCoor } -\def\tx@NCLine{NCLine } -% -\def\ncline{\pst@object{ncline}} -\def\ncline@i{\check@arrow{\ncline@ii}} -\def\ncline@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{\tx@NCLine}} -% -\def\pcline{\pst@object{pcline}} -\def\pcline@i{\pc@object\ncline@ii} -% -\def\ncLine{\pst@object{ncLine}} -\def\ncLine@i{\check@arrow{\ncLine@ii}} -\def\ncLine@ii#1#2{\nc@object{Open}{#1}{#2}{.5}% -% DG/SR modification begin - Apr. 14, 1999 - Patch 9 -%{\tx@NCLine /LPutPos { xB xA yB yA \tx@LPutLine } def}} -{\tx@NCLine /LPutPos { xB yB xA yA \tx@LPutLine } def}} -% DG/SR modification end -% -\def\tx@NCLines{NCLines } -\def\nclines{\pst@object{nclines}} -\def\nclines@i{\check@arrow\nclines@ii} -\def\nclines@ii#1#2{% -\begingroup -\use@par -\def\pst@aftercoors{\nclines@iii{#1}{#2}}% -\def\pst@coors{}% -\pst@@getcoors} -\def\nclines@iii#1#2{% -\nc@object{Open}{#1}{#2}{.5}{% -tx@Dict begin \psline@iii pop end -mark \pst@coors \tx@NCLines}% -\endgroup -\ignorespaces} -\def\tx@NCCurve{NCCurve } -\def\nccurve{\pst@object{nccurve}} -\def\nccurve@i{\check@arrow{\nccurve@ii}} -\def\nccurve@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{% - /AngleA \psk@angleA\space def /AngleB \psk@angleB\space def - \psk@ncurvB\space \psk@ncurvA\space - \tx@NCCurve}} -\def\pccurve{\pst@object{pccurve}} -\def\pccurve@i{\pc@object\nccurve@ii} -% -\def\ncarc{\pst@object{ncarc}} -\def\ncarc@i{\check@arrow{\ncarc@ii}} -\def\ncarc@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{% - yB yA sub xB xA sub \tx@Atan dup - \psk@arcangleA\space add /AngleA ED - \psk@arcangleB\space sub 180 add /AngleB ED - \psk@ncurvB\space \psk@ncurvA\space - \tx@NCCurve}} -\def\pcarc{\pst@object{pcarc}} -\def\pcarc@i{\pc@object\ncarc@ii} -% -\def\tx@NCAngles{NCAngles } -\newif\ifPst@pcRef% border or center as reference point (hv) -\def\psset@pcRef#1{\@nameuse{Pst@pcRef#1}} -\psset@pcRef{false} -\def\ncangles{\pst@object{ncangles}} -\def\ncangles@i{\check@arrow{\ncangles@ii}} -\def\ncangles@ii#1#2{% - \nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCAngles}} -\def\ncangles@iii{% - tx@Dict begin \psline@iii pop end - /AngleA \psk@angleA def - /AngleB \psk@angleB def - /ArmA \psk@armA \ifPst@pcRef - GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul add sqrt sub \fi def - /ArmB \psk@armB def - /ArmTypeA \psk@armtypeA def - /ArmTypeB \psk@armtypeB def } -% -\def\pcangles{\pst@object{pcangles}} -\def\pcangles@i{\pc@object\ncangles@ii} -\def\tx@NCAngle{NCAngle } -\def\ncangle{\pst@object{ncangle}} -\def\ncangle@i{\check@arrow{\ncangle@ii}} -\def\ncangle@ii#1#2{% -\nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCAngle}} -\def\pcangle{\pst@object{pcangle}} -\def\pcangle@i{\pc@object\ncangle@ii} -\def\tx@NCBar{NCBar } -\def\ncbar{\pst@object{ncbar}} -\def\ncbar@i{\check@arrow{\ncbar@ii}} -\def\ncbar@ii#1#2{\nc@object{Open}{#1}{#2}{1.5}{% -\ncangles@iii /AngleB \psk@angleA def \tx@NCBar}} -\def\pcbar{\pst@object{pcbar}} -\def\pcbar@i{\pc@object\ncbar@ii} -\def\tx@NCDiag{NCDiag } -\def\ncdiag{\pst@object{ncdiag}} -\def\ncdiag@i{\check@arrow{\ncdiag@ii}} -\def\ncdiag@ii#1#2{% -\nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCDiag}} -\def\pcdiag{\pst@object{pcdiag}} -\def\pcdiag@i{\pc@object\ncdiag@ii} -\def\tx@NCDiagg{NCDiagg } -\def\ncdiagg{\pst@object{ncdiagg}} -\def\ncdiagg@i{\check@arrow{\ncdiagg@ii}} -\def\ncdiagg@ii#1#2{% -\nc@object{Open}{#1}{#2}{.5}{\ncangles@iii \tx@NCDiagg}} -\def\pcdiagg{\pst@object{pcdiagg}} -\def\pcdiagg@i{\pc@object\ncdiagg@ii} -\def\tx@NCLoop{NCLoop } -\def\psset@loopsize#1{\pst@getlength{#1}\psk@loopsize} -\psset@loopsize{1cm} -\def\ncloop{\pst@object{ncloop}} -\def\ncloop@i{\check@arrow{\ncloop@ii}} -\def\ncloop@ii#1#2{% -\nc@object{Open}{#1}{#2}{2.5}% -{\ncangles@iii /loopsize \psk@loopsize def \tx@NCLoop}} -\def\pcloop{\pst@object{pcloop}} -\def\pcloop@i{\pc@object\ncloop@ii} -\def\tx@NCCircle{NCCircle } -\def\nccircle{\pst@object{nccircle}} -\def\nccircle@i{\check@arrow{\nccircle@ii}} -\def\nccircle@ii#1#2{% -\pssetlength\pst@dima{#2}% -\nc@object{Open}{#1}{#1}{.5}{% -/AngleA \psk@angleA def -/r \pst@number\pst@dima def -\tx@NCCircle \psarc@v end}} -\def\tx@NCBox{NCBox } -\def\ncbox{\pst@object{ncbox}} -\def\ncbox@i{\check@arrow{\ncbox@ii}} -\def\ncbox@ii#1#2{% -\def\pst@linetype{2}% -\nc@object{Closed}{#1}{#2}{.5}{% -tx@Dict begin \psline@iii pop end -\psk@boxheight \psk@boxdepth -\tx@NCBox}} -\def\pcbox{\pst@object{pcbox}} -\def\pcbox@i{\pc@object\ncbox@ii} -\def\tx@NCArcBox{NCArcBox } -\def\psset@boxheight#1{\pst@getlength{#1}\psk@boxheight} -\def\psset@boxdepth#1{\pst@getlength{#1}\psk@boxdepth} -\def\psset@boxsize#1{% -\psset@boxheight{#1}% -\let\psk@boxdepth\psk@boxheight} -\psset@boxsize{.4cm} -\def\ncarcbox{\pst@object{ncarcbox}} -\def\ncarcbox@i{\check@arrow{\ncarcbox@ii}} -\def\ncarcbox@ii#1#2{% -\def\pst@linetype{1}% -\nc@object{Closed}{#1}{#2}{.5}{% -\psk@arcangleA \psk@boxheight \psk@boxdepth \pst@number\pslinearc -\tx@NCArcBox}} -\def\pcarcbox{\pst@object{pcarcbox}} -\def\pcarcbox@i{\pc@object\ncarcbox@ii} -\def\tx@Tfan{Tfan } -% Changed according pst-beta.bug December 3, 1993 -% nrot=:<angle> does not work when : is active. -\begingroup -\catcode`\:=13 -\gdef\pst@activerot{\def:{\string:}} -\endgroup -\def\psset@nrot#1{% -\begingroup -\pst@activerot -\pst@expandafter{\@ifnextchar:{\psset@@nrot}{\psset@@rot}}{#1}\@nil -\global\let\pst@tempg\psk@rot -\endgroup -\let\psk@nrot\pst@tempg} -\def\psset@@nrot:#1\@nil{% -\psset@@rot#1\@nil -\edef\psk@rot{NAngle \ifx\psk@rot\@empty\else\psk@rot add \fi}} -\psset@nrot{0} -\def\tx@LPutCoor{LPutCoor } -\def\tx@LPut{LPut } -\def\psset@npos#1{% -\def\pst@tempa{#1}% -\ifx\pst@tempa\@empty -\def\psk@npos{\npos@default}% -\else -\pst@checknum{#1}\psk@npos -\fi} -\psset@npos{} -\def\ncput{\pst@object{ncput}} -\def\ncput@i{\pst@killglue\pst@makebox{\ncput@ii}} -\def\ncput@ii{% - \begingroup% - \use@par% - \if@star\pst@starbox\fi% - \pst@makesmall\pst@hbox% - \pst@rotate\psk@nrot\pst@hbox% - \ncput@iii% - \endgroup% - \pst@shortput} -\def\ncput@iii{% - \leavevmode% - \hbox{% - \pst@Verb{ - \pst@nodedict - /t \psk@npos def - \tx@LPut - end - \tx@PutBegin}% - \box\pst@hbox% - \pst@Verb{\tx@PutEnd}}} -\def\naput{\pst@object{naput}} -\def\naput@i{\pst@killglue\pst@makebox{\naput@ii{NAngle 90 add}}} -\def\naput@ii#1{% -\begingroup -\use@par -\if@star\pst@starbox\fi -\def\psk@refangle{#1 }% -\let\psk@rot\psk@nrot -\uput@vii -{exch pop add a \tx@PtoC h1 add exch w1 add exch }% -{tx@Dict /NCLW known { NCLW add } if }% -\ncput@iii -\endgroup -\pst@shortput} -\def\nbput{\pst@object{nbput}} -\def\nbput@i{\pst@killglue\pst@makebox{\naput@ii{NAngle 90 sub}}} -\def\psset@tpos#1{% - \pst@checknum{#1}\psk@tpos - \ifdim\psk@tpos \p@<\z@ - \def\psk@tpos{.5}% -% DG/SR modification begin - Sep. 23, 1998 - Patch 7 -%\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@epha - \@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@ehpa -% DG/SR modification end - \else - \ifdim\psk@tpos \p@>\p@ - \def\psk@tpos{.5}% -% DG/SR modification begin - Sep. 23, 1998 - Patch 7 -%\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@epha - \@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@ehpa% -% DG/SR modification end - \fi% - \fi} -\psset@tpos{.5} -\def\tvput{\pst@object{tvput}} -\def\tvput@i{\pst@makebox{\psput@tput{H}{1}}} -\def\tlput{\pst@object{tlput}} -\def\tlput@i{\pst@makebox{\psput@tput{H}{true}}} -\def\trput{\pst@object{trput}} -\def\trput@i{\pst@makebox{\psput@tput{H}{false}}} -\def\thput{\pst@object{thput}} -\def\thput@i{\pst@makebox{\psput@tput{V}{1}}} -\def\taput{\pst@object{taput}} -\def\taput@i{\pst@makebox{\psput@tput{V}{true}}} -\def\tbput{\pst@object{tbput}} -\def\tbput@i{\pst@makebox{\psput@tput{V}{false}}} -\def\tx@HPutAdjust{HPutAdjust } -\def\tx@VPutAdjust{VPutAdjust } -\def\psput@tput#1#2{% - \begingroup - \use@par - \pst@tputmakesmall - \leavevmode - \hbox{% - \pst@Verb{% - \pst@nodedict - /t \psk@tpos \pst@tposflip def - tx@NodeDict /HPutPos known - { #1PutPos } - { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def } - ifelse - /Sin NAngle sin def - /Cos NAngle cos def - /s \pst@number\pslabelsep NCLW add def - /l \pst@number\pst@dima def - /r \pst@number\pst@dimb def - /h \pst@number\pst@dimc def - /d \pst@number\pst@dimd def -% DG/SR modification begin - Sep. 26, 1997 - Patch 4 -%\ifnum1=0#2\else - \ifnum1=0#2 \else -% DG/SR modification end - /flag #2 def - \csname tx@#1PutAdjust\endcsname - \fi - \tx@LPutCoor - end - \tx@PutBegin}% - \box\pst@hbox - \pst@Verb{\tx@PutEnd}}% - \endgroup - \pst@shortput} -% -\def\pst@tposflip{} -\def\pst@tputmakesmall{% -% -\pst@dima=\wd\pst@hbox -\divide\pst@dima 2 -\pst@dimg=\psk@href\pst@dimg -\pst@dimb\pst@dima -\advance\pst@dima\pst@dimg % leftsize -\advance\pst@dimb-\pst@dimg % rightsize -\pst@dimd=\psk@vref\relax -\pst@dimc=\ht\pst@hbox -\advance\pst@dimc-\pst@dimd % height -\advance\pst@dimd\dp\pst@hbox % depth -\setbox\pst@hbox=\hbox to\z@{% -\kern-\pst@dima\vbox to\z@{\vss\box\pst@hbox\vskip-\pst@dimd}\hss}} -\def\MakeShortNab#1#2{% - \def\pst@shortput@nab{% - \def\pst@tempg{\next}% - \ifx#1\next - \let\pst@tempg\naput - \else - \ifx#2\next - \let\pst@tempg\nbput - \else - \ifx\@sptoken\next - \let\pst@tempg\pst@shortput - \fi - \fi - \fi - \pst@tempg}} -\MakeShortNab{^}{_} -\def\MakeShortTablr#1#2#3#4{% - \def\pst@shortput@tablr{% - \def\pst@tempg{\next}% - \ifx#1\next - \let\pst@tempg\taput - \else - \ifx#2\next - \let\pst@tempg\tbput - \else - \ifx#3\next - \let\pst@tempg\tlput - \else - \ifx#4\next - \let\pst@tempg\trput - \else - \ifx\@sptoken\next - \let\pst@tempg\pst@shortput - \fi - \fi - \fi - \fi - \fi - \pst@tempg}} -\MakeShortTablr{^}{_}{<}{>} -\def\MakeShortTab#1#2{% - \def\pst@shortput@tab{% - \def\pst@tempg{\next}% - \ifx#1\next - \def\pst@tempg{% - \@nameuse{% - t\ifodd\psk@treemode\ifpstreeflip b\else a\fi - \else\ifpstreeflip r\else l\fi\fi put}}% - \else - \ifx#2\next - \def\pst@tempg{% - \@nameuse{% - t\ifodd\psk@treemode\ifpstreeflip a\else b\fi - \else\ifpstreeflip l\else r\fi\fi put}}% - \else - \ifx\@sptoken\next - \let\pst@tempg\pst@shortput - \fi - \fi - \fi - \pst@tempg}} -\MakeShortTab{^}{_} -\def\psset@shortput#1{% -\def\pst@tempg{#1}% -\ifx\pst@tempg\@none -\let\pst@shortput\ignorespaces -\else -\@ifundefined{pst@shortput@#1}% -{\@pstrickserr{Bad short put: `#1'}\@ehpa}% -{\edef\pst@shortput{\noexpand\afterassignment\expandafter\noexpand -\csname pst@shortput@#1\endcsname\noexpand\let\noexpand\next}}% -\fi} -\psset@shortput{none} -\def\lput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\lput@i}{\lput@ii}}} -\def\lput@i[#1]{\addto@par{ref=#1}\lput@ii} -\def\lput@ii{\@ifnextchar({\lput@iv}{\lput@iii}} -\def\lput@iii#1{\addto@par{nrot=#1}\@ifnextchar({\lput@iv}{\ncput@i}} -\def\lput@iv(#1){\addto@par{npos=#1}\ncput@i} -\def\mput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\mput@i}{\ncput@i}}} -\def\mput@i[#1]{\addto@par{ref=#1}\ncput@i} -\def\Lput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Lput@ii}{\Lput@i}}} -\def\Lput@i#1{\addto@par{labelsep=#1}\Lput@ii} -\def\Lput@ii[#1]{\addto@par{ref={#1}}\@ifnextchar({\Lput@iv}{\Lput@iii}} -\def\Lput@iii#1{\addto@par{nrot={#1}}\@ifnextchar({\Lput@iv}{\Lput@v}} -\def\Lput@iv(#1){\addto@par{npos=#1}\Lput@v} -\def\Lput@v{\pst@killglue\pst@makebox{\Lput@vi}} -\def\Lput@vi{% -\begingroup -\use@par -\if@star\pst@starbox\fi -\Rput@vi -\pst@makesmall\pst@hbox -\pst@rotate\psk@nrot\pst@hbox -\ncput@iii -\endgroup -\pst@shortput} -\def\Mput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Mput@ii}{\Mput@i}}} -\def\Mput@i#1{\addto@par{labelsep=#1}\Mput@ii} -\def\Mput@ii[#1]{\addto@par{ref={#1}}\Lput@v} -\def\aput@#1{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\aput@i#1}{\aput@ii#1}}} -\def\aput@i#1[#2]{\addto@par{labelsep=#2}\aput@ii#1} -\def\aput@ii#1{\@ifnextchar({\aput@iv#1}{\aput@iii#1}} -\def\aput@iii#1#2{\addto@par{nrot=#2}\@ifnextchar({\aput@iv#1}{#1}} -\def\aput@iv#1(#2){\addto@par{npos=#2}#1} -\def\aput{\aput@\naput@i} -\def\bput{\aput@\nbput@i} -\def\Aput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Aput@i}{\naput@i}}} -\def\Aput@i[#1]{\addto@par{labelsep=#1}\naput@i} -\def\Bput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Bput@i}{\nbput@i}}} -\def\Bput@i[#1]{\addto@par{labelsep=#1}\nbput@i} -\def\node@coor#1;#2\@nil{% - \pst@getnode{#1}\pst@tempg - \edef\pst@coor{% - \pst@nodedict - tx@NodeDict \pst@tempg known - \pslbrace \pst@tempg load \tx@GetCenter \psrbrace - \pslbrace 0 0 \psrbrace ifelse - end }} -\def\Node@coor[#1]#2;#3\@nil{% -\begingroup -\psset{#1}% -\@ifnextchar\bgroup{\Node@@@coor}{\Node@@coor}#2\@nil -\endgroup -\let\pst@coor\pst@tempg} -\def\Node@@coor#1\@nil{% -\pst@getnode{#1}\pst@tempg -\xdef\pst@tempg{% -\pst@nodedict -tx@NodeDict \pst@tempg known -{ \psk@nodesepA \psk@angleA -\pst@tempg load \psk@nodeseptypeA \tx@GetEdge -\psk@offsetA \psk@angleA \tx@AddOffset -\pst@tempg load \tx@GetCenter -3 -1 roll add 3 1 roll add exch } -{ CP } -ifelse -end }}% -\def\Node@@@coor#1{% -\pst@@getcoor{#1}% -\def\psk@angleA{% -\pst@tempg load \tx@GetCenter \pst@coor -3 -1 roll sub 3 1 roll sub neg \tx@Atan}% -\Node@@coor} -\def\nput{\pst@object{nput}} -\def\nput@i#1#2{\pst@killglue\pst@makebox{\nput@ii{#1}{#2}}} -\def\nput@ii#1#2{% -\begingroup -\use@par -\psset@refangle{#1}% -\let\psk@angleA\psk@refangle -\edef\psk@nodesepA{\pst@number\pslabelsep}% -\def\psk@nodeseptypeA{0 }% -\pslabelsep\z@ -\uput@vi -\Node@@coor#2\@nil -\let\pst@coor\pst@tempg -\leavevmode -\psput@special\pst@hbox -\endgroup -\ignorespaces} -\newcount\psrow -\newcount\pscol -\newcount\psmatrixcnt -\newskip\psrowsep -\newskip\pscolsep -\def\psset@colsep#1{\pssetlength\pscolsep{#1}} -\def\psset@rowsep#1{\pssetlength\psrowsep{#1}} -\psset@colsep{1.5cm} -\psset@rowsep{1.5cm} -\newif\ifpsmatrix -% DG/SR modification begin - Nov. 27, 1998 - Patch 8 -%\let\mscount\@multicnt -\ifx\mscount\@undefined\let\mscount\@multicnt\fi -% DG/SR modification end -\def\psmatrix{\begingroup{\ifnum0=`}\fi % Don't want to expand any &. - \@ifnextchar[{\psmatrix@i}{\ifnum0=`{\fi}{}\psmatrix@ii}} -\def\psmatrix@i[#1]{% - \ifnum0=`{\fi}{}% - \psset{#1}% - \psmatrix@ii} -\def\psmatrix@ii{% - \KillGlue - \edef\psm@beginmath{% - \ifmmode$\m@th\ifinner\textstyle\else\displaystyle\fi\fi}% - \edef\psm@endmath{\ifmmode$\fi}% - \let\\\psm@cr - \advance\psmatrixcnt 1 - \def\psm@thenode{M-\the\psmatrixcnt-\the\psrow-\the\pscol}% - \tabskip\z@ - \psrow1 - \pscol\z@ - \psset@shortput{tablr}% - \leavevmode - \vbox\bgroup\halign\bgroup&% - \begingroup - \global\advance\pscol 1 - \csname psrowhook\romannumeral\psrow\endcsname - \csname pscolhook\romannumeral\pscol\endcsname - \psm@beginnode##\psm@endnode\endgroup - \cr} -% -\def\endpsmatrix{% - \crcr\egroup\unskip\egroup - \endgroup} -% -% hv 2007-10-16 fix bug with \\[name=...] -%\def\psm@cr{{\ifnum0=`}\fi\@ifnextchar[{\psm@@cr}{\psm@@@cr{}}} -\def\psm@cr{{\ifnum0=`}\fi\ps@ifnextchar[{\psm@@cr}{\psm@@@cr{}}} -% -\def\psm@@cr[#1]{\psm@@@cr{\vskip#1\relax}} -\def\psm@@@cr#1{% - \ifnum0=`{\fi}{}\cr - \noalign{% - \global\advance\psrow 1 - \global\pscol\z@ - \vskip\psrowsep - #1}} -\def\psm@beginnode{% - \@ifnextchar\psm@endnode - {\let\psm@endnode@i\relax\setbox\pst@hbox=\hbox{}}% - {\pst@object{psm@beginnode}}} -\def\psm@beginnode@i{% - \setbox\pst@hbox=\hbox\bgroup - \psm@beginmath - \begingroup - \ignorespaces} -\def\psm@endnode@i{% - \unskip - \endgroup - \psm@endmath - \egroup - \use@par - \@psttrue} -\def\psm@endnode{% - \@pstfalse - \psm@endnode@i - \ifnum\pscol>1 \hskip\pscolsep \fi - \psk@mnodesize - \hfil - \nodealigntrue - \if@pst\csname mnode@\psk@mnode\endcsname - \else\csname mnode@\psk@emnode\endcsname\fi - \psk@mcol - \psk@@mnodesize} -% DG/SR modification begin - Sep. 3, 1999 - Patch 10 - From Michael Sharpe -%\def\psspan#1{\mscount#1\relax\loop\ifnum\mscount>\@ne \sp@n\repeat} -\def\psspan#1{\global\mscount#1\relax\pstloop\ifnum\mscount>\@ne\sp@n\repeat} -\def\pstloop#1\repeat{\gdef\pstiterate{#1\relax\expandafter\pstiterate\fi}% - \pstiterate - \let\pstiterate\relax} -% DG/SR modification end -\def\psset@name#1{\pst@getnode{#1}\psk@name} -\let\psk@name\relax -\def\psset@mcol#1{% - \ifx r#1\relax\let\psk@mcol\relax\else - \ifx l#1\relax\let\psk@mcol\hfill\else - \let\psk@mcol\hfil\fi\fi} -\psset@mcol{c} -\def\psset@mnodesize#1{% -\pssetlength\pst@dimg{#1}% -\ifdim\pst@dimg<\z@ -\let\psk@mnodesize\relax -\let\psk@@mnodesize\relax -\else -\edef\psk@mnodesize{\noexpand\hbox to\number\pst@dimg sp\noexpand\bgroup}% -\let\psk@@mnodesize\egroup -\fi} -\psset@mnodesize{-1pt} -\def\mnode@R{\rnode@iii\Rnode@ii{\psm@thenode}} -\def\mnode@r{\rnode@iii\rnode@iv{\psm@thenode}} -\def\mnode@oval{\ovalnode@ii{\psm@thenode}} -\def\mnode@tri{\trinode@ii{\psm@thenode}} -\def\mnode@dia{\dianode@ii{\psm@thenode}} -\def\mnode@C{{\nodealigntrue\cnode@ii(\z@,\z@){\psk@radius}{\psm@thenode}}} -\def\mnode@f{{\nodealigntrue\fnode@ii(\z@,\z@){\psm@thenode}}} -\def\mnode@circle{\circlenode@ii{\psm@thenode}} -% hv modification begin - Aug. 16, 2007 -\def\mnode@Circle{\Circlenode@ii{\psm@thenode}} -% hv modification end - Aug. 16, 2007 -\def\mnode@p{\pnode(\z@,\z@){\psm@thenode}} -% DG/SR modification begin - Jul. 22, 1997 - Patch 1 -\def\mnode@dot{\dotnode@ii(\z@,\z@){\psm@thenode}} -% DG/SR modification end -\def\mnode@none{\box\pst@hbox} -\def\psset@mnode#1{% -\@ifundefined{mnode@#1}% -{\@pstrickserr{\string\psmatrix\space node `#1' not defined.}\@ehpa}% -{\edef\psk@mnode{#1}}} -\def\psset@emnode#1{% -\@ifundefined{mnode@#1}% -{\@pstrickserr{\string\psmatrix\space node `#1' not defined.}\@ehpa}% -{\edef\psk@emnode{#1}}} -\psset@mnode{R} -\psset@emnode{none} -%%%% FROM pst-coil.tex -\def\nccoil{\pst@object{nccoil}} -\def\nccoil@i{\check@arrow{\nccoil@ii}} -\def\nccoil@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{% -\tx@NCCoor -tx@Dict begin -% DG/SR modification begin - Mar. 19, 1998 - Patch 5 -4 2 roll -% DG/SR modification end -\psk@coilwidth \pscoilheight -\psk@coilarmA \psk@coilarmB -\psk@coilaspect \psk@coilinc -\pst@coildict \tx@Coil end -end}} -\def\nczigzag{\pst@object{nczigzag}} -\def\nczigzag@i{\check@arrow{\nczigzag@ii}} -\def\nczigzag@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{% -\tx@NCCoor -tx@Dict begin -% DG/SR modification begin - Mar. 19, 1998 - Patch 5 -4 2 roll -% DG/SR modification end -\pscoilheight -\psk@coilwidth -\psk@coilarmA -\psk@coilarmB -\pst@coildict \tx@ZigZag end -\psline@iii -\tx@Line -end}} -\catcode`\@=\TheAtCode\relax -\endinput -%% -%% END pst-node.tex diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex b/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex deleted file mode 100644 index 11dd9385fef..00000000000 --- a/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex +++ /dev/null @@ -1,709 +0,0 @@ -%% $Id: pst-plot.tex 119 2009-06-03 07:37:40Z herbert $ -%% BEGIN pst-plot.tex -%% -%% Plots and axes with PSTricks -%% See the PSTricks User's Guide for documentation. -%% -%% -%% COPYRIGHT 1993-2006 by Timothy Van Zandt, tvz@nwu.edu. -%% COPYRIGHT 2007-2009 by Herbert Voss, hvoss@tug.org -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN -%% archives in directory macros/latex/base/lppl.txt. -%% -\csname PSTplotLoaded\endcsname -\let\PSTplotLoaded\endinput -% -\ifx\PSTricksLoaded\endinput\else\input pstricks.tex \fi -\ifx\MultidoLoaded\endinput\else \input multido.tex \fi -% -\def\fileversion{1.04} -\def\filedate{2009/06/08} -\message{ v\fileversion, \filedate} -% -\edef\TheAtCode{\the\catcode`\@} -\catcode`\@=11 -% -% Using lists of data is optimized for \dataplot and \fileplot -% Here is the tricky part. As each line is read from file, -% we want to ignore trailing delimiters, and convert arbitrary -% strings of non-trailing delimiters to _D_. -% We end up with -% D x1 D y1 D x2 D y2 ... D xn D yn -% -\begingroup -\catcode`\{=13 -\catcode`\}=13 -\catcode`\(=13 -\catcode`\)=13 -\catcode`\,=13 -\catcode`\!=1 -\catcode`\*=2 -\catcode`\ =13 -\catcode`\_=13 -\catcode`\^^M=13 -\gdef\pst@datadelimiters!% Begin def -\catcode`\{=13% -\catcode`\}=13% -\catcode`\(=13% -\catcode`\)=13% -\catcode`\,=13% -\catcode`\ =13% -\catcode`\^^M=13% -\def,##1!% -\ifcat\noexpand,\noexpand##1% -\expandafter##1% -\else\space% -D\space##1% -\fi*% -\let(,\let),\let{,\let},\let ,\let^^M,\let_\@empty*% End def -\endgroup -% -\begingroup -\catcode`\,=13 -\catcode`\_=13 -\gdef\savedata@#1[#2]{% - \xdef\pst@tempg{#2_}% - \endgroup - \let#1\pst@tempg - \global\let\pst@tempg\relax - \ignorespaces} -% -\gdef\readdata@{% - \read1 to \pst@tempa - \expandafter\readdata@@\pst@tempa_\@nil - \ifeof1\else\expandafter\readdata@\fi} - \gdef\pst@@readfile#1#2\@nil{\addto@pscode{,#1#2}}% - \gdef\readdata@@#1#2\@nil{\xdef\pst@tempg{\pst@tempg,#1#2}}% -\endgroup -% -\def\readdata#1#2{% - \openin1=#2 - \begingroup - \def\pst@tempg{}% - \ifeof1 - \@pstrickserr{Data file `#2' not found.}\@ehpa - \else - \pst@datadelimiters - \catcode`\[=1 - \catcode`\]=2 - \readdata@% - \fi - \endgroup - \let#1\pst@tempg -% \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot:readdata:\string\pst@tempg: \pst@tempg}\fi% hv 2008-02-28 - \global\let\pst@tempg\relax - \ignorespaces} -% -\def\pst@readfile#1{{\let\readdata@@\pst@@readfile\readdata\pst@tempg{#1}}} -\def\pst@altreadfile#1{% - \openin1=#1 - \ifeof1 - \@pstrickserr{Data file `#1' not found.}\@ehpa - \else - \catcode`\{=10 - \catcode`\}=10 - \catcode`\(=10 - \catcode`\)=10 - \catcode`\,=10 - \catcode`\^^M=10 - \catcode`\[=1 - \catcode`\]=2 - \pst@@altreadfile - \fi} -\def\pst@@altreadfile{% - \read1 to \pst@tempg - \expandafter\pst@@@altreadfile\pst@tempg\@empty\@nil - \ifeof1\else\expandafter\pst@@@altreadfile\fi} -\def\pst@@@altreadfile#1#2\@nil{\addto@pscode{#1#2}}% -% -\def\savedata#1{\begingroup\pst@datadelimiters\savedata@{#1}} -% -\def\beginplot@line{\begin@OpenObj} -\def\endplot@line{\psline@ii} -\def\beginplot@polygon{\begin@ClosedObj} -\def\endplot@polygon{\pspolygon@ii} -\def\beginplot@curve{\begin@OpenObj} -\def\endplot@curve{\pscurve@ii} -\def\beginplot@ecurve{\begin@OpenObj} -\def\endplot@ecurve{\psecurve@ii} -\def\beginplot@ccurve{\begin@ClosedObj} -\def\endplot@ccurve{\psccurve@ii} -\def\beginplot@dots{\begin@SpecialObj} -\def\endplot@dots{\psdots@ii} -\def\beginplot@bezier{\begin@OpenObj} -\def\endplot@bezier{\psbezier@ii} -\def\beginplot@cbezier{\begin@ClosedObj} -\def\endplot@cbezier{\pscbezier@ii} -% added 2007-06-26 (hv) -\let\beginplot@LineToYAxis\beginplot@line % all from pst-plot -\def\endplot@LineToYAxis{\psLineToYAxis@ii} -\let\beginqp@LineToYAxis\beginqp@line -\let\doqp@LineToYAxis\doqp@line -\let\endqp@LineToYAxis\endqp@line -\let\testqp@LineToYAxis\testqp@line -\let\beginplot@LineToXAxis\beginplot@line -\def\endplot@LineToXAxis{\psLineToXAxis@ii} -\let\beginqp@LineToXAxis\beginqp@line -\let\doqp@LineToXAxis\doqp@line -\let\endqp@LineToXAxis\endqp@line -\let\testqp@LineToXAxis\testqp@line -% end (hv) -\def\psset@plotstyle#1{% - \@ifundefined{beginplot@#1}% - {\@pstrickserr{Plot style `#1' not defined}\@eha}% - {\edef\psplotstyle{#1}}} -\psset@plotstyle{line} -% -\def\psset@plotpoints#1{% - \pst@cntg=#1\relax - \ifnum\pst@cntg<2 - \@pstrickserr{plotpoints parameter must be at least 2}\@ehpa - \else - \advance\pst@cntg-1 - \edef\psk@plotpoints{\the\pst@cntg\space}% - \fi} -\psset@plotpoints{50} -% -% For quick plots, define: -% \beginqp@<foo> : What to do to first point (PS code only). -% \doqp@<foo> : What to do to subsequent points (PS code only). -% \endqp@<foo> : How to end plot. -% \testqp@<foo> : Set \@psttrue if OK to use quick plot. -% -\def\beginqp@line{\pst@oplineto} -\def\doqp@line{L } -\def\endqp@line{\end@OpenObj}% -\def\testqp@line{% - \ifdim\pslinearc>\z@\else - \ifshowpoints\else - \ifx\psk@arrowA\@empty - \ifx\psk@arrowB\@empty - \@psttrue - \fi - \fi - \fi - \fi} -% -\def\beginqp@polygon{moveto } -\def\doqp@polygon{L } -\def\endqp@polygon{% - \addto@pscode{closepath}% - \end@ClosedObj} -\def\testqp@polygon{% - \ifdim\pslinearc>\z@\else - \ifshowpoints\else - \@psttrue - \fi - \fi} -% -\def\beginqp@dots{% - \psk@dotsize - \@nameuse{psds@\psk@dotstyle} -% DG/SR modification begin - Dec. 12, 1999 - Patch 2 -% /TheDot { gsave \psk@dotangle \psk@dotscale Dot grestore } def -% TheDot } - Dot } -%\def\doqp@dots{TheDot } -\def\doqp@dots{Dot } -% DG/SR modification end -\def\endqp@dots{\end@SpecialObj} -\def\testqp@dots{\@psttrue} -% -\def\beginqp@bezier{/n 0 def \pst@oplineto} -\def\doqp@bezier{/n n 1 add def n 3 mod 0 eq { curveto } if } -\def\endqp@bezier{% - \addto@pscode{n 3 mod { pop pop } repeat} - \end@OpenObj}% -\def\testqp@bezier{% - \ifshowpoints\else - \ifx\psk@arrowA\@empty - \ifx\psk@arrowB\@empty - \@psttrue - \fi - \fi - \fi} -% -\def\beginqp@cbezier{/n 0 def moveto } -\def\doqp@cbezier{\doqp@bezier} -\def\endqp@cbezier{% - \addto@pscode{n 3 mod { pop pop } repeat closepath} - \end@ClosedObj}% -\def\testqp@cbezier{\ifshowpoints\else\@psttrue\fi} -% -% added 2007-06-26 (hv) ------------------------------------------------- -\def\psLineToYAxis@ii{% -\addto@pscode{\pst@cp \psline@iii \tx@LineToYAxis}% -\end@OpenObj} -% -\def\tx@LineToYAxis{LineToYAxis } -% -\pst@def{LineToYAxis}<{ - NArray % all x-y pairs on stack - n { 2 copy moveto % go to current point - 0 exch Lineto % line to y-axis - pop % delete old x-value - } repeat -}> -% -\def\psLineToXAxis@ii{% -\addto@pscode{\pst@cp \psline@iii \tx@LineToXAxis}% -\end@OpenObj} -% -\def\tx@LineToXAxis{LineToXAxis } -% -\pst@def{LineToXAxis}<{% -NArray -n 0 eq not - { n 1 eq { 0 0 /n 2 def } if - ArrowA - /n n 2 sub def - CP 2 copy moveto pop 0 Lineto - n { 2 copy moveto pop 0 Lineto } repeat - CP - 4 2 roll - ArrowB - 2 copy moveto pop 0 - L - pop pop } if}> -% end (hv) -------------------------------------------------------------- -% -\def\psdataplot{\def\pst@par{}\pst@object{dataplot}} -\def\dataplot{\def\pst@par{}\pst@object{dataplot}} -\def\dataplot@i#1{% - \pst@killglue - \begingroup - \use@par - \@pstfalse - \@nameuse{testqp@\psplotstyle}% - \if@pst - \dataplot@ii{\addto@pscode{#1}}% - \else - \listplot@ii{\addto@pscode{#1}}% - \fi - \endgroup - \ignorespaces} -% -\def\dataplot@ii#1{% - \@nameuse{beginplot@\psplotstyle}% - \addto@pscode{% - /Dx { \pst@number\psxunit mul /D { Dy } def } def - /Dy { \pst@number\psyunit mul Do /D { Dx } def } def - /D { /D { Dx } def } def - /Do { - \@nameuse{beginqp@\psplotstyle}% - /Do { \@nameuse{doqp@\psplotstyle}} def - } def}% - #1% % this is \pst@readfile{#1} for fileplot - \addto@pscode{ D }% - \@nameuse{endqp@\psplotstyle}} -% -\def\psfileplot{\def\pst@par{}\pst@object{fileplot}} -\def\fileplot{\def\pst@par{}\pst@object{fileplot}} -\def\fileplot@i#1{% - \pst@killglue% - \begingroup% - \use@par% - \@pstfalse% - \@nameuse{testqp@\psplotstyle}% - \if@pst\dataplot@ii{\pst@readfile{#1}}\else\listplot@ii{\pst@altreadfile{#1}}\fi% - \endgroup% - \ignorespaces} -% -\pst@def{ScalePoints}<% - /y ED /x ED - counttomark dup dup cvi eq not { exch pop } if - /m exch def /n m 2 div cvi def - n { y mul m 1 roll x mul m 1 roll /m m 2 sub def } repeat> -% -\def\pslistplot{\def\pst@par{}\pst@object{listplot}} -\def\listplot{\def\pst@par{}\pst@object{listplot}} -\def\listplot@i#1{\listplot@ii{\addto@pscode{#1}}} -\def\listplot@ii#1{% - \@nameuse{beginplot@\psplotstyle}% - \addto@pscode{/D {} def mark}% - #1% - \addto@pscode{\pst@number\psxunit \pst@number\psyunit \tx@ScalePoints}% - \@nameuse{endplot@\psplotstyle}} -% -% \psplot -\def\psplotinit#1{\xdef\psplot@init{#1 }} -\def\psplot@init{} -% -\def\psplot{\def\pst@par{}\pst@object{psplot}} -\def\psplot@i#1#2#3{% - \pst@killglue - \begingroup - \use@par - \@nameuse{beginplot@\psplotstyle}% - \addto@pscode{% - \psplot@init - /x #1 def - /x1 #2 def - /dx x1 x sub \psk@plotpoints div def - /xy { - x \pst@number\psxunit mul - #3 \pst@number\psyunit mul - } def}% - \gdef\psplot@init{}% - \@pstfalse - \@nameuse{testqp@\psplotstyle}% - \if@pst - \psplot@ii - \else - \psplot@iii - \fi - \endgroup - \ignorespaces} -\def\psplot@ii{% - \addto@pscode{% - /ps@Exit false def % hv 2008-11-22 - xy \@nameuse{beginqp@\psplotstyle} - \psk@plotpoints 1 sub { - /x x dx add def - xy \@nameuse{doqp@\psplotstyle} - ps@Exit { exit } if % hv 2008-11-22 - } repeat - ps@Exit not { % hv 2008-11-22 - /x x1 def - xy \@nameuse{doqp@\psplotstyle} - } if }% - \@nameuse{endqp@\psplotstyle}} -\def\psplot@iii{% - \addto@pscode{% - mark - /n 2 def - \psk@plotpoints { - xy - n 2 roll - /n n 2 add def - /x x dx add def - } repeat - /x x1 def - xy - n 2 roll}% - \@nameuse{endplot@\psplotstyle}} -% -\def\psparametricplot{\def\pst@par{}\pst@object{parametricplot}}% hv 2008-11-22 -\def\parametricplot{\def\pst@par{}\pst@object{parametricplot}} -\def\parametricplot@i#1#2#3{% - \pst@killglue - \begingroup - \use@par - \@nameuse{beginplot@\psplotstyle}% - \addto@pscode{% - \psplot@init - /t #1 def - /t1 #2 def - /dt t1 t sub \psk@plotpoints div def - /xy { - #3 - \pst@number\psyunit mul exch - \pst@number\psxunit mul exch - } def}% - \gdef\psplot@init{}% - \@pstfalse - \@nameuse{testqp@\psplotstyle}% - \if@pst - \parametricplot@ii - \else - \parametricplot@iii - \fi - \endgroup - \ignorespaces} -\def\parametricplot@ii{% - \addto@pscode{% - /ps@Exit false def % hv 2008-11-22 - xy \@nameuse{beginqp@\psplotstyle} - \psk@plotpoints 1 sub { - /t t dt add def - xy \@nameuse{doqp@\psplotstyle} - ps@Exit { exit } if % hv 2008-11-22 - } repeat - ps@Exit not { - /t t1 def - xy \@nameuse{doqp@\psplotstyle} - } if }% - \@nameuse{endqp@\psplotstyle}} -\def\parametricplot@iii{% - \addto@pscode{% - mark - /n 2 def - \psk@plotpoints { - xy - n 2 roll - /n n 2 add def - /t t dt add def - } repeat - /t t1 def - xy - n 2 roll}% - \@nameuse{endplot@\psplotstyle}} -% -% These axes macros are complicated. Be careful. -% -% \pst@ticks{angle}{dx}{n}{int} -% int=1 if ticks appear on top of axes, 0 otherwise. -\def\pst@ticks#1#2#3#4{% - \begin@SpecialObj - \addto@pscode{% - #1 rotate - /n #3 def - /dx #2 def - n 0 lt { /dx dx neg def /n n neg def } if - /y2 \psk@ticksize CLW 2 div add def - /y1 y2 neg def - \ifnum\psk@tickstyle=1 - \ifdim#4<\z@ /y2 \else /y1 \fi 0 def - \else - \ifnum\psk@tickstyle=-1 - \ifdim#4<\z@ /y1 \else /y2 \fi 0 def - \fi - \fi - /x dx def - n { x y1 moveto x y2 lineto stroke /x x dx add def } repeat}% - \end@SpecialObj} -% -\def\psset@ticksize#1{\pst@getlength{#1}\psk@ticksize} -\psset@ticksize{3pt} -% -\def\psset@tickstyle#1{\pst@expandafter\psset@@tickstyle{#1}\@nil} -\def\psset@@tickstyle#1#2\@nil{% - \ifx#1f\let\psk@tickstyle\z@\else - \ifx#1t\let\psk@tickstyle\@ne\else - \ifx#1b\let\psk@tickstyle\m@ne\else - \@pstrickserr{Bad tick style: `#1#2'}\@ehpa - \fi\fi\fi} -\psset@tickstyle{full} -% -\def\psset@ticks#1{\pst@expandafter\psset@@ticks{#1}\@nil\psk@ticks} -\def\psset@@ticks#1#2\@nil#3{% - \ifx#1a\let#3\z@\else - \ifx#1x\let#3\@ne\else - \ifx#1y\let#3\tw@\else - \ifx#1n\let#3\thr@@\else - \@pstrickserr{Bad argument: `#1#2'}\@ehpa - \fi\fi\fi\fi} -\psset@ticks{all} -% -\def\psset@labels#1{\pst@expandafter\psset@@ticks{#1}\@nil\psk@labels} -\psset@labels{all} -% -\def\psset@Ox#1{\edef\psk@Ox{#1}} -\psset@Ox{0} -\def\psset@Dx#1{\edef\psk@Dx{#1}} -\psset@Dx{1} -\def\psset@dx#1{% - \pssetxlength\pst@dimg{#1}% - \edef\psk@dx{\number\pst@dimg}} -\psset@dx{0} -% -\def\psset@Oy#1{\edef\psk@Oy{#1}} -\psset@Oy{0} -\def\psset@Dy#1{\edef\psk@Dy{#1}} -\psset@Dy{1} -\def\psset@dy#1{% - \pssetylength\pst@dimg{#1}% - \edef\psk@dy{\number\pst@dimg}} -\psset@dy{0} -% -\newif\ifshoworigin -\def\psset@showorigin#1{\@nameuse{showorigin#1}} -\psset@showorigin{true} -% -\def\psaxes{\def\pst@par{}\pst@object{psaxes}} -\def\psaxes@i{\pst@getarrows\psaxes@ii} -\def\psaxes@ii(#1){\@ifnextchar({\psaxes@iii(#1)}{\psaxes@iv(0,0)(0,0)(#1)}} -\def\psaxes@iii(#1)(#2){% - \@ifnextchar(% - {\psaxes@iv(#1)(#2)}% - {\psaxes@iv(#1)(#1)(#2)}} -\def\psaxes@iv(#1,#2)(#3,#4)(#5,#6){% - \setbox\pst@hbox=\hbox\bgroup - \use@par - \pssetxlength\pst@dimg{#1}% o-x - \pssetylength\pst@dimh{#2}% o-y - \pssetxlength\pst@dima{#3}% bl-x - \pssetylength\pst@dimb{#4}% bl-y - \pssetxlength\pst@dimc{#5}% ur-x - \pssetylength\pst@dimd{#6}% ur-y -% Whole thing will be translated to origin: - \advance\pst@dima-\pst@dimg % Dist. from bl-x to o-x - \advance\pst@dimb-\pst@dimh % Dist. from bl-y to o-y - \advance\pst@dimc-\pst@dimg % Dist. from ur-x to o-x - \advance\pst@dimd-\pst@dimh % Dist. from ur-y to o-y -% Make lines/arrows or frame: - \@nameuse{psxs@\psk@axesstyle}% -% "\pslabelsep" should be from the edge of the axis. - \advance\pslabelsep.5\pslinewidth -% Now the ticks and labels. Start by checking for "\multido". -% !!Need to fix this so that does nothing when there are 0 ticks.!! - \begingroup - \ifdim\pst@dimb=\z@\else\showoriginfalse\fi - \ifnum\psk@dx=\z@ - \pst@dimg=\psk@Dx\psxunit - \psDEBUG[psaxes@iv]{local:\textbackslash pst@dimg=\the\pst@dimg}% v.1.01 - \ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dx \edef\psk@Dx{-\the\pst@cnta} % v.1.01 - \psDEBUG[psaxes@iv]{Dx -> -Dx (was negative)}% v.1.01 - \fi % v.1.01 - \edef\psk@dx{\number\pst@dimg}% - \psDEBUG[psaxes@iv]{local: \textbackslash psk@dx=\psk@dx}% v.1.01 - \else\psDEBUG[psaxes@iv]{global: \textbackslash psk@dx=\psk@dx}% - \fi - \ifnum\psk@ticks<\tw@ - \ifnum\psk@tickstyle>\z@ \else\advance\pslabelsep\psk@ticksize\p@\fi - \fi - \pst@hlabels\pst@dimc\psk@arrowB - \pst@hlabels\pst@dima\psk@arrowA - \endgroup - \begingroup - \ifdim\pst@dima=\z@\else\showoriginfalse\fi - \ifnum\psk@dy=\z@ - \pst@dimg=\psk@Dy\psyunit - \psDEBUG[psaxes@iv]{\textbackslash pst@dimg=\the\pst@dimg}% v.1.01 - \ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dy \edef\psk@Dy{-\the\pst@cnta} % v.1.01 - \psDEBUG[psaxes@iv]{Dy -> -Dy (was negative)}% v.1.01 - \fi % v.1.01 - \edef\psk@dy{\number\pst@dimg}% - \psDEBUG[psaxes@iv]{\textbackslash psk@dy=\psk@dy}% v.1.01 - \fi - \ifodd\psk@ticks\else - \ifnum\psk@tickstyle>\z@ \else\advance\pslabelsep\psk@ticksize\p@\fi - \fi - \pst@vlabels\pst@dimd\psk@arrowB - \pst@vlabels\pst@dimb\psk@arrowA - \endgroup -% Now close "\pst@hbox" (which is 0-dimensional), and put it at the origin. - \egroup - \pssetxlength\pst@dimg{#1}% - \pssetylength\pst@dimh{#2}% - \leavevmode\psput@cartesian\pst@hbox - \ignorespaces} -% -\def\psxs@axes{% - \psxs@@axes\pst@dima\pst@dimc{}% - \psxs@@axes\pst@dimb\pst@dimd{exch}} -\def\psxs@@axes#1#2#3{% - \begin@SpecialObj - \ifdim#1=\z@ - \def\psk@arrowA{C}% - \else - \ifdim#2=\z@ - \def\psk@arrowB{C}% - \fi - \fi - \let\pst@linetype\pst@arrowtype - \pst@addarrowdef - \addto@pscode{% - \pst@number#2 0 #3 - \pst@number#1 0 #3 - ArrowA - CP 4 2 roll - ArrowB - L - pop pop}% - \pst@stroke - \end@SpecialObj} -% -\def\psxs@frame{% - \begin@SpecialObj - \addto@pscode{% - 0 0 moveto \pst@number\pst@dimc 0 L - 0 \pst@number\pst@dimd 2 copy rlineto L closepath}% - \pst@stroke - \psk@fillstyle - \end@SpecialObj - \let\psk@arrowA\@empty - \let\psk@arrowB\@empty} - -\def\psset@axesstyle#1{% - \@ifundefined{psxs@#1}% - {\@pstrickserr{Axes style `#1' not defined}\@eha}% - {\edef\psk@axesstyle{#1}}} -\psset@axesstyle{axes} -% -\def\psxs@none{\let\psk@arrowA\@empty\let\psk@arrowB\@empty} -% -% The origin is never the only label. -\def\pst@hlabels#1#2{% - \ifdim#1=\z@\else - \ifx#2\empty\else\advance#1\ifdim#1>\z@-\fi7\pslinewidth\fi - \pst@cnta=#1\relax % Distance (in sp) to end. - \divide\pst@cnta\psk@dx\relax % Number of ticks/labels - \ifnum\pst@cnta=\z@\else - \pst@dimb=\psk@dx sp % Space between ticks. - \ifnum\psk@ticks<\tw@ - \pst@ticks{0}{\pst@number\pst@dimb}{\the\pst@cnta}{\pst@dimd}% - \fi - \ifnum\psk@labels<\tw@ \pst@@hlabels\fi - \showoriginfalse - \fi -\fi} -% -% Knows \pst@dimb and \pst@cnta -\def\pst@minusZero{-0} -\def\pst@@hlabels{% - \vbox to\z@{% - \ifdim\pst@dimd>\z@\vskip\pslabelsep\else\vss\fi - \ifnum\pst@cnta<\z@ \pst@dimb=-\pst@dimb\fi - \hbox to\z@{% - \ifshoworigin\hbox to \z@{\hss\pshlabel{\psk@Ox}\hss}\fi - \mmultido - {\nA=\psk@Ox+\psk@Dx}% - {\pst@cnta}% - {\hskip\pst@dimb\hbox to \z@{% - \hss\ifx\nA\pst@minusZero \pshlabel{0}\else\pshlabel{\nA}\fi -% \hss\ifdim\nA pt=\z@ \pshlabel{0}\else\pshlabel{\nA}\fi - \hss}}% prevent "-0" - \hss}% - \ifdim\pst@dimd>\z@\vss\else\vskip\pslabelsep\fi}}% - -\def\pshlabel#1{$#1$} -% -\def\pst@vlabels#1#2{% - \ifdim#1=\z@\else - \ifx#2\empty\else - \advance#1\ifdim#1>\z@-\fi7\pslinewidth - \fi - \pst@cnta=#1\relax % Distance (in sp) to end. - \divide\pst@cnta\psk@dy\relax % Number of ticks/labels - \ifnum\pst@cnta=\z@\else - \pst@dima=\psk@dy sp % Space between ticks. - \ifodd\psk@ticks\else - \pst@ticks{90}{\pst@number\pst@dima}{\the\pst@cnta}{-\pst@dimc}% - \fi - \ifodd\psk@labels\else\pst@@vlabels\fi - \showoriginfalse - \fi - \fi} -% -% Knows \pst@dima and \pst@cnta -\def\pst@@vlabels{% - \vbox to\z@{% - \ifnum\pst@cnta>\z@ - \pst@dima=-\pst@dima - \fi - \offinterlineskip - \ifshoworigin - \vbox to \z@{\vss\hbox to\z@{% - \ifdim\pst@dimc>\z@\hss\else\hskip\pslabelsep\fi - \psvlabel{\psk@Oy}% - \ifdim\pst@dimc>\z@\hskip\pslabelsep\else\hss\fi}\vss}% - \fi - \mmultido - {\nA=\psk@Oy+\psk@Dy}% - {\pst@cnta}% - {\vbox to\pst@dima{\vss}\vbox to \z@{\vss\hbox to\z@{% - \ifdim\pst@dimc>\z@\hss\else\hskip\pslabelsep\fi - \ifx\nA\pst@minusZero \psvlabel{0}\else\psvlabel{\nA}\fi% -% \ifdim\nA sp=\z@ \psvlabel{0}\else\psvlabel{\nA}\fi% prevent -0, doesn't work with \ifnum - \ifdim\pst@dimc>\z@\hskip\pslabelsep\else\hss\fi}\vss}}% - \vss}} -% -\def\psvlabel#1{$#1$} -% -\catcode`\@=\TheAtCode\relax -\endinput -%% -%% END pst-plot.tex diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.con b/Master/texmf-dist/tex/generic/pstricks/pstricks.con index 8dbf0b8bef4..08f7a66be78 100644 --- a/Master/texmf-dist/tex/generic/pstricks/pstricks.con +++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.con @@ -1,15 +1,15 @@ %% BEGIN: pstricks.con (for dvips driver) %% -%% Configuration file for PSTricks 97 +%% Configuration file for PSTricks %% -%% Version 97 patch 2 (1997/04/28) +%% Version 1.00 (2010/01/16) %% %% For use with Rokicki's dvips (tested with v5.74 and older) \def\pstdriver{Rokicki's dvips} {\catcode`\"=12\gdef\pstverb#1{\special{" #1}}} % Check catcode of " \def\pstunit{1bp}% -\def\pstVerb#1{\special{ps: #1}} +\def\pstVerb#1{\special{ps:#1}}% hv write it without a preceding space \def\pstverbscale{SDict begin normalscale end} % DG/SR modification begin - Apr. 28, 1997 (D. Carlisle + S. Rahtz) % \def\pstheader#1{\special{header=#1}} diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex index 68310975004..06f90a2553e 100644 --- a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex +++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex @@ -20,13 +20,20 @@ % See the PSTricks User's Guide for description. % This uses the header file `pstricks.pro'. % -\def\fileversion{1.31} -\def\filedate{2009/11/27} % \csname PSTricksLoaded\endcsname \let\PSTricksLoaded\endinput +\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex \fi +\ifx\PSTFPloaded\endinput\else \input pst-fp.tex\fi +% +\def\fileversion{2.0} +\def\filedate{2010/02/11} +% \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax +% +\pst@addfams{pstricks} +% \expandafter\ifx\csname @latexerr\endcsname\relax% do we have LaTeX? \def\typeout#1{\immediate\write\@unused{#1}} \alloc@7\write\chardef\sixt@@n\@unused @@ -59,8 +66,80 @@ \def\:{\@xifnch} \expandafter\gdef\: {\futurelet\@tempc\@ifnch} \endgroup \fi +% stolen from latex.ltx to make it TeX compatible +\newcount\psLoopIndex +\def\@fornoop#1\@@#2#3{} +\long\def\@for#1:=#2\do#3{% + \pst@cntm=0% + \expandafter\def\expandafter\@fortmp\expandafter{#2}% + \ifx\@fortmp\@empty \else + \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi} +\long\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else + #5\def#4{#2}\ifx #4\@nnil \else\global\advance\psLoopIndex by \@ne\relax% + #5\@iforloop #3\@@#4{#5}\fi\fi} +\long\def\@iforloop#1,#2\@@#3#4{\global\advance\psLoopIndex by \@ne\relax% + \def#3{#1}\ifx #3\@nnil + \expandafter\@fornoop \else + #4\relax\expandafter\@iforloop\fi#2\@@#3{#4}} +% +\long\def\psforeach#1#2#3{% + \global\psLoopIndex=0\relax + \if$\ifnum9<1#2$ \else \fi \psforeach@ii{#1}{#2}{#3} + \else \expandafter\psforeach@i#2,..,,..,\@nil{#1}{#3}\fi} +\long\def\psforeach@i#1,#2,..,#3,..,#4\@nil#5#6{% + \ifx\relax#3\relax\psforeach@ii{#5}{#1,#2}{#6} + \else\psforeach@iii{#5}{#1}{#2}{#3}{#6}\fi} +\long\def\psforeach@ii#1#2#3{% + \begingroup% + \edef\reserved@a{#2}% + \@for#1:=\reserved@a\do{#3}% + \endgroup} +\long\def\psforeach@iii#1#2#3#4#5{% + \pstFPsub\pst@tempA{#3}{#2}% + \pst@dimm=\pst@tempA pt + \pstFPstripZeros{\pst@tempA}\pst@tempB% + \def\pst@tempA{#2}% + \def\pst@tempa{#2}% + \pst@dimn=#4pt% + \loop% + \pst@dimm=\pst@tempA pt% + \ifdim\pst@dimm<\pst@dimn% + \pstFPadd\pst@tempA{\pst@tempA}{\pst@tempB}% + \pstFPstripZeros{\pst@tempA}\pst@tempA + \edef\pst@tempa{\pst@tempa,\pst@tempA}% + \repeat% + \psforeach@ii{#1}{\pst@tempa}{#5}} +% +\long\def\psForeach#1#2#3{% + \global\psLoopIndex=0\relax + \if$\ifnum9<1#2$ \else \fi \psforeach@ii{#1}{#2}{#3} + \else \expandafter\psForeach@i#2,..,,..,\@nil{#1}{#3}\fi} +\long\def\psForeach@i#1,#2,..,#3,..,#4\@nil#5#6{% + \ifx\relax#3\relax\psForeach@ii{#5}{#1,#2}{#6} + \else\psForeach@iii{#5}{#1}{#2}{#3}{#6}\fi} +\long\def\psForeach@ii#1#2#3{% + \edef\reserved@a{#2}% + \@for#1:=\reserved@a\do{#3}} +\long\def\psForeach@iii#1#2#3#4#5{% + \pstFPsub\pst@tempA{#3}{#2}% + \pst@dimm=\pst@tempA pt + \pstFPstripZeros{\pst@tempA}\pst@tempB% + \def\pst@tempA{#2}% + \def\pst@tempa{#2}% + \pst@dimn=#4pt% + \loop% + \pst@dimm=\pst@tempA pt% + \ifdim\pst@dimm<\pst@dimn% + \pstFPadd\pst@tempA{\pst@tempA}{\pst@tempB}% + \pstFPstripZeros{\pst@tempA}\pst@tempA + \edef\pst@tempa{\pst@tempa,\pst@tempA}% + \repeat% + \psForeach@ii{#1}{\pst@tempa}{#5}} +% +% % % hv 2007-10-16 to fix the bug in pst-node with \\[name=...] +% hv fix bug with empty fnodes in psmatrix \def\ps@ifnextchar#1#2#3{% \let\reserved@d= #1% \def\reserved@a{#2}\def\reserved@b{#3}% @@ -69,6 +148,7 @@ \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi \reserved@b } +\def\pshskip#1{\vrule \@width\z@\nobreak \hskip #1\hskip \z@skip} % end bugfix \typeout{`PSTricks' v\fileversion\space\space <\filedate> (tvz)} \def\@pstrickserr#1#2{% @@ -92,6 +172,10 @@ You better fix this before proceding.^^J See the PSTricks User's Guide or ask your system administrator for help.^^J Type \space X <return> \space to quit.} +\def\@ehpd{% + Not allowed optional argument.^^J + Will proceed with the default setting.^^J + Type \space X <return> \space to quit.} \def\pst@misplaced#1{\@pstrickserr{Misplaced \string#1 command}\@ehpb} \newdimen\pst@dima \newdimen\pst@dimb @@ -99,6 +183,12 @@ \newdimen\pst@dimd \newdimen\pst@dimg \newdimen\pst@dimh +\newdimen\pst@dimm +\newdimen\pst@dimn +\newdimen\pst@dimo +\newdimen\pst@dimp +\chardef\f@ur=4 +% \newbox\pst@hbox \newbox\pst@boxg \newcount\pst@cnta @@ -107,6 +197,11 @@ \newcount\pst@cntd \newcount\pst@cntg \newcount\pst@cnth +\newcount\pst@cntm +\newcount\pst@cntn +\newcount\pst@cnto +\newcount\pst@cntp +\newcount\@zero\@zero=0\relax % \newif\ifPst@SpecialLength \Pst@SpecialLengthfalse @@ -124,10 +219,90 @@ \def\@tempa{\@empty}% \fi \expandafter\ps@next\@tempa} +% \def\pst@dimtonum#1#2{\edef#2{\pst@@dimtonum#1}} \def\pst@@dimtonum#1{\expandafter\pst@@@dimtonum\the#1} {\catcode`\p=12 \catcode`\t=12 \global\@namedef{pst@@@dimtonum}#1pt{#1}} % +\def\pst@getdimdim#1 #2 #3\@nil{% + \def\pst@tempA{#2}% + \ifx\pst@tempA\@empty + \pssetlength\pst@dimn{#1}% + \pst@dimm=\z@% + \else% + \pssetlength\pst@dimm{#1}% + \pssetlength\pst@dimn{#2}% + \fi% +} +\def\pst@getxdimdim#1 #2 #3\@nil{% + \def\pst@tempA{#2}% + \ifx\pst@tempA\@empty + \pssetxlength\pst@dimn{#1}% + \pst@dimm=\z@ + \else% + \pssetxlength\pst@dimm{#1}% + \pssetxlength\pst@dimn{#2}% + \fi% +} +\def\pst@getydimdim#1 #2 #3\@nil{% + \def\pst@tempA{#2} + \ifx\pst@tempA\@empty + \pssetylength\pst@dimn{#1} + \pst@dimm=\z@ + \else + \pssetylength\pst@dimm{#1}% + \pssetylength\pst@dimn{#2}% + \fi% +} +% +% A modulo macro for integer values +% \pst@mod{34}{6}\value ==> \value is 4 +% +\def\pst@mod#1#2#3{% + \begingroup% + \pst@cntm=#1\pst@cntn=#2\relax% + \pst@cnto=\pst@cntm% + \divide\pst@cntm by \pst@cntn% + \multiply\pst@cntn by \pst@cntm% + \advance\pst@cnto by -\pst@cntn% + \edef\value{\endgroup\def\noexpand#3{\number\pst@cnto}}\value% +} +\def\pst@max#1#2#3{% + \begingroup% + \pst@cntm=#1\pst@cntn=#2\relax% + \ifnum\pst@cntm<\pst@cntn\pst@cntm=\pst@cntn\fi + \global#3=\the\pst@cntm% + \endgroup% +} +\def\pst@maxdim#1#2#3{% + \begingroup% + \pst@dimm=#1\pst@dimn=#2\relax% + \ifdim\pst@dimm<\pst@dimn\pst@dimm=\pst@dimn\fi + \global#3=\the\pst@dimm% + \endgroup% +} +\def\pst@mindim#1#2#3{% + \begingroup% + \pst@dimm=#1\pst@dimn=#2\relax% + \ifdim\pst@dimm>\pst@dimn\pst@dimm=\pst@dimn\fi + \global#3=\the\pst@dimm% + \endgroup% +} +\def\pst@abs#1#2{% + \begingroup% + \pst@cntm=#1\relax% + \ifnum\pst@cntm<\z@\pst@cntm=-\pst@cntm\fi% + \global#2=\the\pst@cntm + \endgroup% +} +\def\pst@absdim#1#2{% + \begingroup% + \pst@dimm=#1\relax% + \ifdim\pst@dimm<\z@\pst@dimm=-\pst@dimm\fi% + \global#2=\the\pst@dimm% + \endgroup% +} +% \def\pst@pyth#1#2#3{% from pst-3d \begingroup \pst@dima=#1\relax @@ -286,24 +461,6 @@ \pssetlength\pst@dimg{#1}% \pst@checknum{#2}\pst@tempg% } -% DG/SR modification begin - Jan. 7, 1998 - Patch 9 -% Missing from pstricks.bug 0.93 -%\def\pst@getscale#1#2{% -%\pst@expandafter\pst@getnumii{#1 #1} {} {} {}\@nil -%\@psttrue -%\ifdim\pst@tempg\p@=\z@ -%\@pstrickserr{Bad scaling argument `#1'}\@ehpa -%\def\pst@tempg{1 }% -%\@pstfalse -%\fi -%\ifdim\pst@temph\p@=\z@ -%\if@pst\@pstrickserr{Bad scaling argument `#1'}\@ehpa\fi -%\def\pst@temph{1 }% -%\fi -%\edef#2{\pst@tempg\space \pst@temph\space scale }% -%\ifdim\pst@tempg\p@=\p@ \ifdim\pst@temph\p@=\p@ -%\def#2{}% -%\fi\fi} \def\pst@getscale#1#2{% read and check a scale input x [y] \edef\pst@tempg{#1}% \ifx\pst@tempg\@none @@ -323,7 +480,6 @@ \fi \fi% } -% DG/SR modification end \def\pst@getint#1#2{% read and check an integer \pst@cntg=#1\relax \edef#2{\the\pst@cntg\space}% @@ -384,28 +540,17 @@ \newrgbcolor{yellow}{1 1 0} \newrgbcolor{cyan}{0 1 1} \newrgbcolor{magenta}{1 0 1} -\def\psset#1{\@psset#1,\@nil\ignorespaces} -\def\@psset#1,{% - \@@psset#1==\@nil% - \@ifnextchar\@nil{\@gobble}{\@psset}% -} -\def\@@psset#1=#2=#3\@nil{% - \@ifundefined{psset@#1}% - {\@pstrickserr{Graphics parameter `#1' not defined.}\@ehpa}% - {\@nameuse{psset@#1}{#2}}% -}% -\def\psset@style#1{% +% +\define@key[psset]{pstricks}{style}{% \@ifundefined{pscs@#1}% {\@pstrickserr{Custom style `#1' undefined}\@ehpa}% {\@nameuse{pscs@#1}}% } -%\def\newpsstyle#1#2{\@namedef{pscs@#1}{\psset{#2}}} -%------------ hv 1.10 beg ------------------- \def\newpsstyle#1#2{\@namedef{pscs@#1}{% \def\pst@tempA{#2}% - \ifx\pst@tempA\@empty\else\psset{#2}\fi}} -%------------ hv 1.10 end ------------------- -%------------ hv 1.16 begin ------------------- + \ifx\pst@tempA\@empty\else\psset{#2}\fi}% +} +% \def\addto@psstyle#1#2{% \pst@toks=\expandafter{#1#2}% \edef#1{\the\pst@toks}} @@ -452,20 +597,20 @@ \afterassignment\pstunit@off #1 #2\@psunit% } -\def\psset@unit#1{% +\define@key[psset]{pstricks}{unit}[1cm]{% \pssetlength\psunit{#1}% \psxunit=\psunit% \psyunit=\psunit% } -\def\psset@runit#1{\pssetlength\psrunit{#1}} -\def\psset@xunit#1{\pssetxlength\psxunit{#1}} -\def\psset@yunit#1{\pssetylength\psyunit{#1}} -% v 1.05 begin -\def\psset@PstDebug#1{\pst@getint{#1}{\Pst@Debug}}% hv 2004-06-22 -\psset{PstDebug=0} +\define@key[psset]{pstricks}{runit}[1cm]{\pssetlength\psrunit{#1}} +\define@key[psset]{pstricks}{xunit}[1cm]{\pssetxlength\psxunit{#1}} +\define@key[psset]{pstricks}{yunit}[1cm]{\pssetylength\psyunit{#1}} +% +\define@key[psset]{pstricks}{PstDebug}[0]{\pst@getint{#1}\Pst@Debug}% hv 2004-06-22 +\psset[pstricks]{PstDebug=0} \def\psDEBUG{\@ifnextchar[\psDEBUG@i{\psDEBUG@i[PSTricks]}}% \def\psDEBUG@i[#1]#2{\ifnum\Pst@Debug>0 \expandafter\typeout{<#1>: #2}\fi}% -% end +% \def\pst@getlength#1#2{% \pssetlength\pst@dimg{#1}% \edef#2{\pst@number\pst@dimg}% @@ -674,56 +819,47 @@ \def\psput@cartesian{\psput@special}% \def\cartesian@coor##1,##2,##3\@nil{\polar@coor{##1}{##2}}% }% -\def\psset@origin#1{% +\define@key[psset]{pstricks}{origin}[]{% \pst@@getcoor{#1}% -% ----------- 1.10 beg hv ------------------- -% \edef\psk@origin{\pst@coor \tx@NET }} \edef\psk@origin{\pst@coor T }} -% ----------- 1.10 end hv ------------------- \def\psk@origin{} % -\newif\ifswapaxes -\def\psset@swapaxes#1{% \if@pst +\newif\ifPst@algebraic +\define@boolkey[psset]{pstricks}[Pst@]{algebraic}[true]{} +\psset[pstricks]{algebraic=false} +% +\define@boolkey[psset]{pstricks}[]{swapaxes}[true]{% \if@pst \@nameuse{@pst#1}% \if@pst\def\psk@swapaxes{-90 rotate -1 1 scale }% \else\def\psk@swapaxes{}% - \fi% -} -\psset@swapaxes{false} + \fi} +\psset[pstricks]{swapaxes=false} % -\newif\ifshowpoints -\def\psset@showpoints#1{\@nameuse{showpoints#1}} -\psset@showpoints{false} +\define@boolkey[psset]{pstricks}[]{showpoints}[true]{} +\psset[pstricks]{showpoints=false} % \let\pst@setrepeatarrowsflag\relax % -\def\psset@border#1{% -\pst@getlength{#1}\psk@border -\pst@setrepeatarrowsflag} -\psset@border{0pt} -\def\psset@bordercolor#1{\pst@getcolor{#1}\psbordercolor} -\psset@bordercolor{white} -\newif\ifpsdoubleline -\def\psset@doubleline#1{% - \@nameuse{psdoubleline#1}% - \pst@setrepeatarrowsflag} -\psset@doubleline{false} -\def\psset@doublesep#1{\def\psdoublesep{#1}} -\psset@doublesep{1.25\pslinewidth} -\def\psset@doublecolor#1{\pst@getcolor{#1}\psdoublecolor} -\psset@doublecolor{white} -% -\newif\ifpsshadow -\def\psset@shadow#1{% - \@nameuse{psshadow#1}% - \pst@setrepeatarrowsflag} -\psset@shadow{false} -\def\psset@shadowsize#1{\pst@getlength{#1}\psk@shadowsize} -\psset@shadowsize{3pt} -\def\psset@shadowangle#1{\pst@getangle{#1}\psk@shadowangle} -\psset@shadowangle{-45} -\def\psset@shadowcolor#1{\pst@getcolor{#1}\psshadowcolor} -\psset@shadowcolor{darkgray} +\define@key[psset]{pstricks}{border}[0pt]{\pst@getlength{#1}\psk@border \pst@setrepeatarrowsflag} +\psset[pstricks]{border=0pt} +\define@key[psset]{pstricks}{bordercolor}[white]{\pst@getcolor{#1}\psbordercolor} +\psset[pstricks]{bordercolor=white} +\define@boolkey[psset]{pstricks}[ps]{doubleline}[true]{\pst@setrepeatarrowsflag} +\psset[pstricks]{doubleline=false} +\define@key[psset]{pstricks}{doublesep}[1.25\pslinewidth]{\def\psdoublesep{#1}} +\psset[pstricks]{doublesep=1.25\pslinewidth} +\define@key[psset]{pstricks}{doublecolor}[white]{\pst@getcolor{#1}\psdoublecolor} +\psset[pstricks]{doublecolor=white} +% +\define@boolkey[psset]{pstricks}[ps]{shadow}[true]{\pst@setrepeatarrowsflag} +\psset[pstricks]{shadow=false} +\define@key[psset]{pstricks}{shadowsize}[3pt]{\pst@getlength{#1}\psk@shadowsize} +\psset[pstricks]{shadowsize=3pt} +\define@key[psset]{pstricks}{shadowangle}[-45]{\pst@getangle{#1}\psk@shadowangle} +\psset[pstricks]{shadowangle=-45} +\define@key[psset]{pstricks}{shadowcolor}[darkgrey]{\pst@getcolor{#1}\psshadowcolor} +\psset[pstricks]{shadowcolor=darkgray} +% \def\pst@repeatarrowsflag{\z@} \def\pst@setrepeatarrowsflag{% \edef\pst@repeatarrowsflag{% @@ -731,88 +867,90 @@ \ifpsshadow 1\else \z@\fi\fi\fi}} % \def\psls@none{} -\newdimen\pslinewidth -\def\psset@linewidth#1{\pssetlength\pslinewidth{#1}} -\psset@linewidth{.8pt} -\def\psset@linecolor#1{\pst@getcolor{#1}\pslinecolor} -\psset@linecolor{black} \def\psls@solid{\psk@linecap\space setlinecap stroke } % -\def\psset@linecap#1{\pst@getint{#1}\psk@linecap}% hv 2007-12-01 -\psset@linecap{0}% hv 2007-12-01 -\def\psset@linejoin#1{\pst@getint{#1}\psk@linejoin}% hv 2007-10-13 +\newdimen\pslinewidth +\define@key[psset]{pstricks}{linewidth}[0.8pt]{\pssetlength\pslinewidth{#1}} +\psset[pstricks]{linewidth=.8pt} +\define@key[psset]{pstricks}{linecolor}[black]{\pst@getcolor{#1}\pslinecolor} +\psset[pstricks]{linecolor=black} +\define@key[psset]{pstricks}{linecap}[0]{\pst@getint{#1}\psk@linecap}% hv 2007-12-01 +\psset[pstricks]{linecap=0} +\define@key[psset]{pstricks}{linejoin}[0]{\pst@getint{#1}\psk@linejoin}% hv 2007-10-13 +\psset[pstricks]{linejoin=0} \def\tx@setlinejoin{\psk@linejoin\space setlinejoin }% hv 2007-10-13 -\psset@linejoin{0}% hv 2007-10-13 % \def\pst@missing{% \z@ \@pstrickserr{Missing number or dimension. 0 substituted}\@ehpa} % %%------------------- begin patch 15 HV 2004-05-15 ------------- -%\def\psset@dash#1{% -% \pst@expandafter\psset@@dash{#1} {\pst@missing} {\pst@missing} {}\@nil -% \edef\psk@dash{\pst@number\pst@dimg \pst@number\pst@dimh}% -%} -%\def\psset@@dash#1 #2 #3\@nil{% -%\pssetlength\pst@dimg{#1}% -%\pssetlength\pst@dimh{#2}} -%\psset@dash{5pt 3pt} \def\pst@empty{\z@} -\def\psset@dash#1{% black white [ black white ] - \pst@expandafter\psset@@dash{#1} {\pst@empty} {\pst@empty} % - {\pst@missing} {\pst@missing} {}\@nil - \edef\psk@dash{\pst@number\pst@dimg \pst@number\pst@dimh - \pst@number\pst@dimc \pst@number\pst@dimd}% -} -\def\psset@@dash#1 #2 #3 #4 #5\@nil{% - \pssetlength\pst@dimg{#1}% - \pssetlength\pst@dimh{#2}% - \pssetlength\pst@dimc{#3}% - \pssetlength\pst@dimd{#4}% -} -\psset@dash{5pt 3pt 0pt 0pt}% black white black white + +\define@key[psset]{pstricks}{dash}[5pt 3pt 0pt 0pt]{% defined in pstricks.tex + \pst@expandafter\psset@@dash{#1}\@nil}% Error handling for empty argument. +\define@key[psset]{pstricks}{maxdashes}[11]{\def\psk@maxdashes{#1}} +\psset[pstricks]{maxdashes=11} +% +\def\psset@@dash#1\@nil{% + \def\psk@dash{}% + \pst@cntm0 + \def\next##1 ##2\relax{% + \expandafter\ifnum\psk@maxdashes>\pst@cntm\relax % 04-08-07 + \edef\@tempa{##1}% + \ifx\@tempa\@empty\else% gobble leading spaces + \pssetlength\pst@dimc{##1}% + \advance\pst@cntm by 1 + \edef\psk@dash{\psk@dash\space\pst@number\pst@dimc}% + \fi% + \edef\@tempa{##2}% + \ifx\@tempa\@empty\else% detect end + \ifx\@tempa\space\else% gobble trailing spaces + \next##2\relax% + \fi\fi% + \else% 04-08-07 + \@pstrickserr{Number of dashes > \psk@maxdashes. Increasing + 'maxdashes' might work.}\@ehpa% 04-08-07 + \fi% 04-08-07 + }% + \expandafter\next#1 \relax} +\psset[pstricks]{dash=5pt 3pt 0pt 0pt}% black white black white %%------------------- end patch 15 HV 2004-05-15 ------------- -\newif\ifpsdashadjust -\def\psset@dashadjust#1{\@nameuse{psdashadjust#1}} -\psset@dashadjust{true} +\define@boolkey[psset]{pstricks}[ps]{dashadjust}[true]{} +\psset[pstricks]{dashadjust} \def\tx@DashLine{DashLine } -\def\psls@dashed{% -%%--------------------------------- hv 2006-04-29 beg --------------------- - \psk@linecap\space setlinecap -%%--------------------------------- hv 2006-04-29 end --------------------- +% +\def\psls@dashed{ + \psk@linecap\space setlinecap \ifpsdashadjust -% \psk@dash \pst@linetype\space \tx@DashLine - \psk@dash \@ifundefined{pst@linetype}{2}{\pst@linetype}\space \tx@DashLine + [ \psk@dash ] \pst@linetype\space \tx@DashLine \else [ \psk@dash ] 0 setdash stroke \fi} +%% End patch TN; Date (YY-MM-DD): 04-07-17; 2nd part % -\def\psset@dotsep#1{\pst@getlength{#1}\psk@dotsep} -\psset@dotsep{3pt} +\define@key[psset]{pstricks}{dotsep}[3pt]{\pst@getlength{#1}\psk@dotsep} +\psset[pstricks]{dotsep=3pt} \def\tx@DotLine{DotLine } -\def\psls@dotted{% +\def\psls@dotted{ \ifpsdashadjust \psk@dotsep \pst@linetype\space \tx@DotLine \else [ 0 \psk@dotsep CLW add ] 0 setdash 1 setlinecap stroke - \fi% + \fi } -\def\psset@linestyle#1{% +\define@key[psset]{pstricks}{linestyle}[solid]{% \@ifundefined{psls@#1}% {\@pstrickserr{Line style `#1' not defined}\@eha}% - {\edef\pslinestyle{#1}}% -} -\psset@linestyle{solid} -%%--------------------------------- hv 2006-04-29 beg --------------------- -\def\psset@linecap#1{% + {\def\pslinestyle{#1}}} +\psset[pstricks]{linestyle=solid} +\define@key[psset]{pstricks}{linecap}[0]{% \def\psk@linecap{0}% \ifnum#1>-1 \ifnum#1<3 \pst@getint{#1}\psk@linecap% - \fi\fi% -} + \fi\fi} \psset{linecap=0} -%--------------------------------- hv 2006-04-29 end --------------------- %------------------------- Transparency modes ---------------------------- \pst@def{setTransparency}< \psk@opacityalpha .setopacityalpha > \pst@def{setStrokeTransparency}< \psk@strokeopacityalpha .setopacityalpha > @@ -831,21 +969,25 @@ %--------------------------------- hv 2007-09-09 begin --------------------- % transparency needs a run through latex -> dvips -> ps2pdf14(!) % -\def\psset@fillcolor#1{\pst@getcolor{#1}\psfillcolor} -\psset@fillcolor{white} -\def\psset@strokeopacity#1{\pst@checknum{#1}\psk@strokeopacityalpha }% for lines -\psset@strokeopacity{1} -\def\psset@opacity#1{\pst@checknum{#1}\psk@opacityalpha }% for filled areas -\psset@opacity{1} -\def\psset@shapealpha#1{\pst@checknum{#1}\psk@shapealpha } -\psset@shapealpha{0.6} -\def\psset@blendmode#1{\pst@getint{#1}\psk@blendmode }% must be one of +\define@key[psset]{pstricks}{fillcolor}[white]{\pst@getcolor{#1}\psfillcolor} +\psset[pstricks]{fillcolor=white} +\define@key[psset]{pstricks}{strokeopacity}[1]{\pst@checknum{#1}\psk@strokeopacityalpha }% for lines +\psset[pstricks]{strokeopacity=1} +\define@key[psset]{pstricks}{opacity}[1]{\pst@checknum{#1}\psk@opacityalpha }% for filled areas +\psset[pstricks]{opacity=1} +\define@key[psset]{pstricks}{shapealpha}[0.6]{\pst@checknum{#1}\psk@shapealpha } +\psset[pstricks]{shapealpha=0.6} +\define@key[psset]{pstricks}{blendmode}[0]{\pst@getint{#1}\psk@blendmode }% must be one of % /Normal 0 % /Compatible 1 % /Screen 2 % /Multiply 3 % /HardLight 4 -\psset@blendmode{0} +\psset[pstricks]{blendmode=0} +\define@key[psset]{pstricks}{fsAngle}[137.50775]{\pst@getangle{#1}\pst@fsAngle } +\define@key[psset]{pstricks}{fsOrigin}[(0,0)]{% + \pst@@getcoor{#1}\edef\pst@fsOrigin{\pst@coor T }} +\psset[pstricks]{fsOrigin={0,0},fsAngle=137.50775} % \def\tx@LineFill{LineFill } \def\tx@PenroseFill{PenroseFill } @@ -853,23 +995,21 @@ \def\psfs@none{} \def\psfs@solid{\pst@fill{\pst@usecolor\psfillcolor \tx@setTransparency fill }} \def\psfs@eofill{\pst@fill{\pst@usecolor\psfillcolor \tx@setTransparency eofill}} -\def\psfs@shape{\pst@fill{ \pst@usecolor\psfillcolor \tx@setBlendmode fill }} -% -%--------------------------------- hv 2007-09-09 end --------------------- -% -\def\psset@hatchwidth#1{\pst@getlength{#1}\psk@hatchwidth} -\psset@hatchwidth{.8pt} -\def\psset@hatchsep#1{\pst@getlength{#1}\psk@hatchsep} -\psset@hatchsep{4pt} -\def\psset@hatchcolor#1{\pst@getcolor{#1}\pshatchcolor} -\psset@hatchcolor{black} -\def\psset@hatchangle#1{\pst@getangle{#1}\psk@hatchangle} -\psset@hatchangle{45} -% ------------ hv 1.11 ------------ -\def\psset@hatchsepinc#1{\pst@getlength{#1}\psk@hatchsepinc} -\def\psset@hatchwidthinc#1{\pst@getlength{#1}\psk@hatchwidthinc} -\psset@hatchwidthinc{0pt} -\psset@hatchsepinc{0pt} +\def\psfs@shape{\pst@fill{\pst@usecolor\psfillcolor \tx@setBlendmode fill }} +\def\psfs@spiral{\pst@fill{\pst@fsOrigin \pst@usecolor\psfillcolor clip newpath + 0 .1 500 { dup dup sqrt 4 div 0 360 arc fill \pst@fsAngle rotate } for }} +% +\define@key[psset]{pstricks}{hatchwidth}[0.8pt]{\pst@getlength{#1}\psk@hatchwidth} +\psset[pstricks]{hatchwidth=.8pt} +\define@key[psset]{pstricks}{hatchsep}[4pt]{\pst@getlength{#1}\psk@hatchsep} +\psset[pstricks]{hatchsep=4pt} +\define@key[psset]{pstricks}{hatchcolor}[black]{\pst@getcolor{#1}\pshatchcolor} +\psset[pstricks]{hatchcolor=black} +\define@key[psset]{pstricks}{hatchangle}[45]{\pst@getangle{#1}\psk@hatchangle} +\psset[pstricks]{hatchangle=45} +\define@key[psset]{pstricks}{hatchsepinc}[0pt]{\pst@getlength{#1}\psk@hatchsepinc} +\define@key[psset]{pstricks}{hatchwidthinc}[0pt]{\pst@getlength{#1}\psk@hatchwidthinc} +\psset[pstricks]{hatchwidthinc=0pt,hatchsepinc=0pt} % \def\pst@linefill{% \psk@hatchangle rotate @@ -879,7 +1019,6 @@ \psk@hatchsepinc \psk@hatchwidthinc \tx@LineFill } -% ------------ hv 1.11 ------------ % \def\psfs@vlines{\pst@fill\pst@linefill} \@namedef{psfs@vlines*}{\psfs@solid \psfs@vlines} @@ -888,8 +1027,10 @@ \def\psfs@crosshatch{\psfs@vlines \psfs@hlines} \@namedef{psfs@crosshatch*}{\psfs@solid \psfs@vlines \psfs@hlines} % -\def\psset@psscale#1{\pst@checknum{#1}\psk@psscale} -\psset@psscale{1} +\define@key[psset]{pstricks}{psscale}[1]{% + \def\psk@@psscale{#1}% for use with \psscalebox + \pst@checknum{#1}\psk@psscale} +\psset[pstricks]{psscale=1} % \def\pst@penroseFill{% gsave % restore in PenroseFill @@ -900,7 +1041,7 @@ \def\psfs@penrose{\pst@fill\pst@penroseFill} \@namedef{psfs@penrose*}{\psfs@solid \psfs@penrose} % -\def\psset@fillstyle#1{% +\define@key[psset]{pstricks}{fillstyle}[none]{% \edef\pst@tempg{#1}\def\pst@temph{none}% \ifx\pst@tempg\pst@temph \let\psk@fillstyle\relax @@ -910,41 +1051,21 @@ {\edef\psk@fillstyle{\expandafter\noexpand\csname psfs@#1\endcsname}}% \fi% } -\def\psset@addfillstyle#1{% +\define@key[psset]{pstricks}{addfillstyle}[]{% \@ifundefined{psfs@#1}% {\@pstrickserr{Undefined fill style: `#1'}\@eha}% {\edef\psk@fillstyle{% \expandafter\noexpand\psk@fillstyle \expandafter\noexpand\csname psfs@#1\endcsname}% - }% -} -\psset@fillstyle{none} + }} +\psset[pstricks]{fillstyle=none} +% +%--------------------------- A R R O W S --------------------------- % -\def\psset@arrows#1{% - \begingroup - \pst@activearrows - \xdef\pst@tempg{#1}% - \endgroup - \expandafter\psset@@arrows\pst@tempg\@empty-\@empty\@nil - \if@pst\else - \@pstrickserr{Bad arrows specification: #1}\@ehpa - \fi% -} -\def\psset@@arrows#1-#2\@empty#3\@nil{% - \@psttrue - \def\ps@next##1,#1-##2,##3\@nil{\def\pst@tempg{##2}}% - \expandafter\ps@next\pst@arrowtable,#1-#1,\@nil - \@ifundefined{psas@\pst@tempg}% - {\@pstfalse\def\psk@arrowA{}}% - {\let\psk@arrowA\pst@tempg}% - \@ifundefined{psas@#2}% - {\@pstfalse\def\psk@arrowB{}}% - {\def\psk@arrowB{#2}}% -} \def\psk@arrowA{} \def\psk@arrowB{} -%\def\pst@arrowtable{,<->,<<->>,>-<,>>-<<,(-),[-]} -\def\pst@arrowtable{,<->,<<->>,>-<,>>-<<,(-),[-],)-(,]-[,|>-<|,<D-D>,D>-<D,<D<D-D>D>} % hv --1.16 +\def\pst@arrowtable{,-,<->,<<->>,>-<,>>-<<,(-),[-],)-(,]-[,|>-<|,<D-D>,D>-<D,<D<D-D>D>} % hv --1.16 +\edef\pst@arrowtable{\pst@arrowtable,|<*->|*,|<->|} \begingroup \catcode`\<=13 \catcode`\>=13 @@ -953,25 +1074,8 @@ \endgroup \def\tx@BeginArrow{BeginArrow } \def\tx@EndArrow{EndArrow } -% Redefininition of \psset@arrowscale to store value of X scale factor hv --1.12 -%\def\psset@arrowscale#1{\pst@getscale{#1}\psk@arrowscale} -\def\psset@arrowscale#1{% hv --1.12 - \pst@@arrowscale@i#1 \@nil% hv -- 1.12 - \pst@getscale{\pst@arrowscale}\psk@arrowscale}% hv --1.12 -\def\pst@@arrowscale@i#1 #2\@nil{\edef\pst@arrowscale{#1}}% hv --1.12 -\psset@arrowscale{1} % -\def\psset@arrowsize#1{% - \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil - \edef\psk@arrowsize{\pst@number\pst@dimg \pst@tempg}% -} -\psset@arrowsize{1.5pt 2} -\def\psset@arrowlength#1{\pst@checknum{#1}\psk@arrowlength} -\psset@arrowlength{1.4} -\def\psset@arrowinset#1{\pst@checknum{#1}\psk@arrowinset}% -\psset@arrowinset{.4} \def\tx@Arrow{ \tx@setStrokeTransparency Arrow }% hv 2008-01-13 -% new definitions of the missing arrows ---- hv 1.1.2 \def\tx@ArrowD{ \tx@setStrokeTransparency ArrowD }% hv 2008-01-13 % \@namedef{psas@<|}{ @@ -1050,11 +1154,11 @@ CP newpath moveto 0 a neg L stroke 0 h neg T true \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@ArrowD } -\def\psset@tbarsize#1{% +\define@key[psset]{pstricks}{tbarsize}[2pt 5]{% \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil - \edef\psk@tbarsize{\pst@number\pst@dimg \pst@tempg}% -} -\psset@tbarsize{2pt 5} + \edef\psk@tbarsize{\pst@number\pst@dimg \pst@tempg}} +\psset[pstricks]{tbarsize=2pt 5} +% \def\tx@Tbar{Tbar } \@namedef{psas@|}{\psk@tbarsize \tx@Tbar} \@namedef{psas@|*}{0 CLW -2 div T \psk@tbarsize \tx@Tbar} @@ -1071,36 +1175,75 @@ newpath false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow } -\edef\pst@arrowtable{\pst@arrowtable,|<*->|*,|<->|} -\def\psset@bracketlength#1{\pst@checknum{#1}\psk@bracketlength} -\psset@bracketlength{.15} +% +\define@key[psset]{pstricks}{bracketlength}[0.15]{\pst@checknum{#1}\psk@bracketlength} +\psset[pstricks]{bracketlength=.15} \def\tx@Bracket{Bracket } \@namedef{psas@]}{\psk@bracketlength \psk@tbarsize \tx@Bracket} -\def\psset@rbracketlength#1{\pst@checknum{#1}\psk@rbracketlength} -\psset@rbracketlength{.15} +\define@key[psset]{pstricks}{rbracketlength}[0.15]{\pst@checknum{#1}\psk@rbracketlength} +\psset[pstricks]{rbracketlength=.15} \def\tx@RoundBracket{RoundBracket } \@namedef{psas@)}{\psk@rbracketlength \psk@tbarsize \tx@RoundBracket} +% \def\psas@c{1 \psas@@c} \def\psas@cc{0 CLW 2 div T 1 \psas@@c} \def\psas@C{2 \psas@@c} \def\psas@@c{% setlinecap 0 0 moveto -%%-------------------- v.1.04 begin HV 2004-05-18 ---------------- -% 0 CLW 2 div L 0 0.1 L % changed value from 0.5 to 0.1 -%%-------------------- v. 1.04 end HV 2004-05-18 ---------------- stroke - 0 0 moveto -} + 0 0 moveto } +% \def\psas@{} -\psset@arrows{-} +% +\define@key[psset]{pstricks}{arrowLW}{\pst@getlength{#1}\psk@arrowLW} +\psset[pstricks]{arrowLW=0} +% arrowLW as LineWidth for the circled line ends +% +\def\psas@o{\psk@arrowLW\space dup 0 eq { pop }{ SLW } ifelse + {\pst@usecolor\psfillcolor true} false \psk@dotsize \tx@EndDot } +\def\psas@oo{\psk@arrowLW\space dup 0 eq { pop }{ SLW } ifelse + {\pst@usecolor\psfillcolor true} true \psk@dotsize \tx@EndDot } +\@namedef{psas@*}{\psk@arrowLW\space dup 0 eq { pop }{ SLW } ifelse + {false} false \psk@dotsize \tx@EndDot } +\@namedef{psas@**}{\psk@arrowLW\space dup 0 eq { pop }{ SLW } ifelse + {false} true \psk@dotsize \tx@EndDot } +% +\define@key[psset]{pstricks}{arrows}[-]{% + \begingroup + \pst@activearrows + \xdef\pst@tempg{#1}% + \endgroup + \expandafter\psset@@arrows\pst@tempg\@empty-\@empty\@nil + \if@pst\else\@pstrickserr{Bad arrows specification: #1}\@ehpa\fi} +\def\psset@@arrows#1-#2\@empty#3\@nil{% + \@psttrue + \def\ps@next##1,#1-##2,##3\@nil{\def\pst@tempg{##2}}% + \expandafter\ps@next\pst@arrowtable,#1-#1,\@nil + \@ifundefined{psas@\pst@tempg}{\@pstfalse\def\psk@arrowA{}}{\let\psk@arrowA\pst@tempg}% + \@ifundefined{psas@#2}{\@pstfalse\def\psk@arrowB{}}{\def\psk@arrowB{#2}}} +\psset[pstricks]{arrows=-} +% +\define@key[psset]{pstricks}{arrowscale}[1]{% hv --1.12 + \pst@@arrowscale@i#1 \@nil% hv -- 1.12 + \pst@getscale{\pst@arrowscale}\psk@arrowscale}% hv --1.12 +\def\pst@@arrowscale@i#1 #2\@nil{\edef\pst@arrowscale{#1}}% hv --1.12 +\psset[pstricks]{arrowscale=1} +% +\define@key[psset]{pstricks}{arrowsize}[1.5pt 2]{% + \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil + \edef\psk@arrowsize{\pst@number\pst@dimg \pst@tempg}% +} +\psset[pstricks]{arrowsize=1.5pt 2} +\define@key[psset]{pstricks}{arrowlength}[1.4]{\pst@checknum{#1}\psk@arrowlength} +\psset[pstricks]{arrowlength=1.4} +\define@key[psset]{pstricks}{arrowinset}[0.4]{\pst@checknum{#1}\psk@arrowinset}% +\psset[pstricks]{arrowinset=0.4} +% \def\tx@SD{ \tx@setTransparency SD } \def\tx@EndDot{EndDot } -\def\psas@oo{{\pst@usecolor\psfillcolor true} true \psk@dotsize \tx@EndDot} -\def\psas@o{{\pst@usecolor\psfillcolor true} false \psk@dotsize \tx@EndDot} -\@namedef{psas@**}{{false} true \psk@dotsize \tx@EndDot} -\@namedef{psas@*}{{false} false \psk@dotsize \tx@EndDot} +% \def\pst@par{} \def\addto@par#1{% \ifx\pst@par\@empty @@ -1119,11 +1262,16 @@ \fi% } \def\use@par{% + \ifx\pst@par\@empty\else% + \expandafter\@psset\pst@par,\@nil% + \def\pst@par{}% + \fi} +\def\use@keep@par{% same as \use@par, but keeps the values \ifx\pst@par\@empty\else \expandafter\@psset\pst@par,\@nil - \def\pst@par{}% - \fi% -} +% \def\pst@par{}% + \fi} +% \def\pst@object#1{% \def\pst@par{}% \pst@ifstar{% @@ -1149,14 +1297,15 @@ % ------------------------- hv 1.10 end ------------------------ % \def\begin@ClosedObj{% - \leavevmode - \pst@killglue - \begingroup - \use@par - \solid@star - \ifpsdoubleline \pst@setdoublesep \fi - \init@pscode% -} + \leavevmode% + \pst@killglue% + \begingroup% + \use@par% + \solid@star% + \ifpsdoubleline\pst@setdoublesep\fi% + \pst@addarrowdef% DG addition + \init@pscode} +% \def\end@ClosedObj{% \ifpsshadow \pst@closedshadow \fi \ifdim\psk@border\p@>\z@ \pst@addborder \fi @@ -1366,46 +1515,48 @@ grestore }} % -\def\pscustom{\def\pst@par{}\pst@object{pscustom}} +\newif\ifPst@custom\Pst@customfalse +% +\def\pscustom{\pst@object{pscustom}} \long\def\pscustom@i#1{% - \begin@SpecialObj - \solid@star - \let\pst@ifcustom\iftrue - \let\begin@ClosedObj\begin@CustomObj - \let\end@ClosedObj\endgroup + \begin@SpecialObj% + \solid@star% + \let\pst@ifcustom\iftrue% + \Pst@customtrue% + \let\begin@ClosedObj\begin@CustomObj% + \let\end@ClosedObj\endgroup% \def\begin@OpenObj{\begin@CustomObj\pst@addarrowdef}% - \let\end@OpenObj\endgroup - \let\begin@AltOpenObj\begin@CustomObj + \let\end@OpenObj\endgroup% + \let\begin@AltOpenObj\begin@CustomObj% \def\begin@SpecialObj{% - \begingroup + \begingroup% \pst@misplaced{special graphics object}% - \def\addto@pscode####1{} + \def\addto@pscode####1{}% \let\end@SpecialObj\endgroup}% - \def\@multips(##1)(##2)##3##4{\pst@misplaced\multips}% - \def\psclip##1{\pst@misplaced\psclip}% - \def\pst@repeatarrowsflag{\z@}% - \let\pst@setrepeatarrowsflag\relax - \showpointsfalse - \let\showpointstrue\relax - \def\pst@linetype{\pslinetype}% - \let\psset@liftpen\psset@@liftpen - \psset@liftpen{\z@}% - \def\pst@cp{/currentpoint load stopped pop }% - \def\pst@oplineto{/lineto load stopped { moveto } if }% - \def\pst@optcp##1##2{% - \ifnum##1=\z@\def##2{/currentpoint load stopped { 0 0 } if }\fi}% - \let\caddto@pscode\addto@pscode - \def\cuse@par##1{{\use@par##1}}% - \the\pst@customdefs - \setbox\pst@hbox=\hbox{#1}% - \psk@fillstyle - \pst@stroke - \end@SpecialObj} + \def\@multips(##1)(##2)##3##4{\pst@misplaced\multips}% + \def\psclip##1{\pst@misplaced\psclip}% + \def\pst@repeatarrowsflag{\z@}% + \let\pst@setrepeatarrowsflag\relax% + \showpointsfalse% + \def\pst@linetype{\pslinetype}% + \def\psk@liftpen{\z@}% +% \psset{liftpen=0}% + \def\pst@cp{/currentpoint load stopped pop }% + \def\pst@oplineto{/lineto load stopped { moveto } if }% + \def\pst@optcp##1##2{\ifnum##1=\z@\def##2{/currentpoint load stopped { 0 0 } if }\fi}% + \let\caddto@pscode\addto@pscode% + \def\cuse@par##1{{\use@par##1}}% + \the\pst@customdefs% + \setbox\pst@hbox=\hbox{#1}% + \psk@fillstyle% + \pst@stroke% + \end@SpecialObj% +} % \def\begin@CustomObj{% - \begingroup - \use@par - \addto@pscode{% + \begingroup% + \use@par% + \addto@pscode{ \pst@number\pslinewidth SLW \pst@usecolor\pslinecolor }% @@ -1413,45 +1564,36 @@ \def\pst@oplineto{moveto } \def\pst@cp{} \def\pst@optcp#1#2{} -\def\psset@liftpen#1{} -\def\psset@@liftpen#1{% - \ifcase#1\relax +\define@key[psset]{pstricks}{liftpen}[0]{% + \ifPst@custom% + \ifcase#1\relax% \def\psk@liftpen{\z@}% \def\pst@cp{/currentpoint load stopped pop }% \def\pst@oplineto{/lineto load stopped { moveto } if }% - \or + \or% \def\psk@liftpen{1}% \def\pst@cp{}% \def\pst@oplineto{/lineto load stopped { moveto } if }% - \or + \or% \def\psk@liftpen{2}% \def\pst@cp{}% \def\pst@oplineto{moveto }% - \fi% + \fi\fi% } -\psset@liftpen{0} +\psset[pstricks]{liftpen=0} \def\psk@liftpen{-1} % -\def\psset@linetype#1{% +\define@key[psset]{pstricks}{linetype}[2]{% \pst@getint{#1}\pslinetype -%----------------- hv begin 2006-04-20 ------------- patch 1.14b \ifnum\pst@cntg<-3 -% \ifnum\pst@dimg<-3 -%----------------- hv end 2004-05-07 ------------- patch 1.14b \@pstrickserr{linetype must be greater than -3}\@ehpa -%----------------- hv begin 2004-05-07 ------------- patch 15 -% \def\pslinetype{0}% \def\pslinetype{2}% - \fi% -} -%\psset@linetype{0} -\psset@linetype{2}% otherwise there is a problem when using e.g. + \fi} +\psset[pstricks]{linetype=2}% otherwise there is a problem when using e.g. % \psaxes[axesstyle=frame,linestyle=dashed]{->}(3,-2) -%----------------- hv end 2004-05-07 ------------- patch 15 % \def\caddto@pscode#1{% - \@pstrickserr{Command can only be used in \string\pscustom}\@ehpa% -} + \@pstrickserr{Command can only be used in \string\pscustom}\@ehpa} \let\cuse@par\caddto@pscode % \def\tx@MSave{% @@ -1477,10 +1619,7 @@ \def\closepath{\addto@pscode{closepath}}% \def\gsave{\begingroup\addto@pscode{gsave}}% \def\grestore{\endgroup\addto@pscode{grestore}}% -% DG/SR modification begin - May 12, 1997 - Patch 2 -% \def\translate(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor moveto}}% \def\translate(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor translate}}% -% DG/SR modification end \def\rotate#1{\pst@@getangle{#1}\addto@pscode{\pst@angle rotate}}% \def\scale#1{\pst@getscale{#1}\pst@tempg\addto@pscode{\pst@tempg}}% \def\msave{\addto@pscode{\tx@MSave}}% @@ -1490,10 +1629,7 @@ \def\fill{\def\pst@par{}\pst@object{fill}}% \def\openshadow{\def\pst@par{}\pst@object{openshadow}}% \def\closedshadow{\def\pst@par{}\pst@object{closedshadow}}% -% DG/SR modification begin - Jan. 7, 1998 - Patch 8 -% \def\movepath(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor tx@Shadow}}% \def\movepath(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor \tx@Shadow}}% -% DG/SR modification end \def\lineto{\pst@onecoor{lineto}}% \def\rlineto{\pst@onecoor{rlineto}}% \def\curveto{\pst@threecoor{curveto}}% @@ -1503,13 +1639,9 @@ \def\rcoor{\pst@getcoors{}{}}% \def\dim#1{\pssetlength\pst@dimg{#1}\addto@pscode{\pst@number\pst@dimg}}% \def\setcolor#1{% -% ----------------hv begin 2004-05-07-------------------- patch 15 -% \@ifundefined{color@#1}{}{\addto@pscode{\use@color{#1}}}}% -% \@ifundefined{color@#1}{}{\addto@pscode{\pst@usecolor{#1}}}}% \@ifundefined{\string\color@#1}{}{\addto@pscode{\pst@usecolor{#1}}}}% hv 1.14 2005-12-17 -% ----------------hv end 2004-05-07-------------------- - \def\arrows#1{{\psset@arrows{#1}\pst@addarrowdef}}% - \let\file\pst@rawfile + \def\arrows#1{{\psset[pstricks]{arrows=#1}\pst@addarrowdef}}% + \let\file\pst@rawfile% } % END \pst@customdefs % \def\closedshadow@i{\cuse@par\pst@closedshadow} @@ -1559,8 +1691,9 @@ \def\tx@Arcto{Arcto } \def\tx@CheckClosed{CheckClosed } \def\tx@Polygon{Polygon } -\def\psset@gangle#1{\pst@getangle{#1}\psk@gangle} -\psset@gangle{0} +\define@key[psset]{pstricks}{gangle}[0]{\pst@getangle{#1}\psk@gangle} +\define@boolkey[psset]{pstricks}[Pst@]{trueAngle}[true]{} +\psset[pstricks]{trueAngle=false,gangle=0} % \def\tx@Diamond{Diamond } \def\psdiamond{\def\pst@par{}\pst@object{psdiamond}} @@ -1613,16 +1746,19 @@ \def\tx@OpenCurve{OpenCurve } \def\tx@AltCurve{AltCurve } \def\tx@ClosedCurve{ClosedCurve } -\def\psset@curvature#1{% -\edef\pst@tempg{#1 }% -\expandafter\psset@@curvature\pst@tempg * * * \@nil} +% +\define@key[psset]{pstricks}{curvature}[1 0.1 0]{% + \edef\pst@tempg{#1 }% + \expandafter\psset@@curvature\pst@tempg * * * \@nil} \def\psset@@curvature#1 #2 #3 #4\@nil{% -\pst@checknum{#1}\pst@tempg -\pst@checknum{#2}\pst@temph -\pst@checknum{#3}\pst@tempi -\edef\psk@curvature{\pst@tempg \pst@temph \pst@tempi}} -\psset@curvature{1 .1 0} -\def\pscurve{\def\pst@par{}\pst@object{pscurve}} + \pst@checknum{#1}\pst@tempg + \pst@checknum{#2}\pst@temph + \pst@checknum{#3}\pst@tempi + \edef\psk@curvature{\pst@tempg \pst@temph \pst@tempi}} +% +\psset[pstricks]{curvature=1 .1 0} +% +\def\pscurve{\pst@object{pscurve}} \def\pscurve@i{% \pst@getarrows{% \begin@OpenObj @@ -1631,74 +1767,68 @@ } \def\pscurve@ii{% \addto@pscode{ - \pst@cp % current point + \pst@cp % current point \psk@curvature\space /c ED /b ED /a ED \ifshowpoints true \else false \fi - \tx@OpenCurve + \ifx\pslinestyle\psls@@symbol \psls@symbol OpenSymbolCurve \else \tx@OpenCurve \fi }% + \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi% \end@OpenObj% } -\def\psecurve{\def\pst@par{}\pst@object{psecurve}} -\def\psecurve@i{% -\pst@getarrows{% -\begin@OpenObj -\pst@getcoors[\psecurve@ii}} +\def\psecurve{\pst@object{psecurve}} +\def\psecurve@i{\pst@getarrows{\begin@OpenObj\pst@getcoors[\psecurve@ii}} \def\psecurve@ii{% -\addto@pscode{% -\psk@curvature\space /c ED /b ED /a ED -\ifshowpoints true \else false \fi -\tx@AltCurve}% -\end@OpenObj} -\def\psccurve{\def\pst@par{}\pst@object{psccurve}} -\def\psccurve@i{% -\begin@ClosedObj -\pst@getcoors[\psccurve@ii} + \addto@pscode{ + \psk@curvature\space /c ED /b ED /a ED + \ifshowpoints true \else false \fi + \ifx\pslinestyle\psls@@symbol \psls@symbol AltOpenSymbolCurve \else \tx@AltCurve \fi + }% + \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi% + \end@OpenObj} +% +\def\psccurve{\pst@object{psccurve}} +\def\psccurve@i{\begin@ClosedObj\pst@getcoors[\psccurve@ii} \def\psccurve@ii{% -\addto@pscode{% -\psk@curvature\space /c ED /b ED /a ED -\ifshowpoints true \else false \fi -\tx@ClosedCurve}% -\def\pst@linetype{1}% -\end@ClosedObj} -\def\psset@dotsize#1{% + \addto@pscode{% + \psk@curvature\space /c ED /b ED /a ED + \ifshowpoints true \else false \fi + \ifx\pslinestyle\psls@@symbol \psls@symbol ClosedSymbolCurve \else \tx@ClosedCurve \fi + }% + \def\pst@linetype{1}% + \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi% + \end@ClosedObj} +% +\define@key[psset]{pstricks}{dotsize}[2pt 2]{% \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil% \edef\psk@@dotsize{\pst@number\pst@dimg}% \let\psk@@@dotsize\pst@tempg% - \edef\psk@dotsize{% - /DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }} -\psset@dotsize{2pt 2} -\def\psset@dotscale#1{% -\pst@getscale{#1}\psk@dotscale -\ifx\psk@dotscale\@empty -\def\psk@xdotscale{1 }% -\def\psk@ydotscale{1 }% -\else -\let\psk@xdotscale\pst@tempg -\let\psk@ydotscale\pst@temph -\fi} -% DG/SR modification begin - Oct. 17, 1997 - Patch 5 -%\psset@dotscale{1} -% DG/SR modification end + \edef\psk@dotsize{ /DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }} +\psset[pstricks]{dotsize=2pt 2} +% +\define@key[psset]{pstricks}{dotscale}[1]{% + \pst@getscale{#1}\psk@dotscale + \ifx\psk@dotscale\@empty + \def\psk@xdotscale{1 }% + \def\psk@ydotscale{1 }% + \else + \let\psk@xdotscale\pst@tempg + \let\psk@ydotscale\pst@temph + \fi} +% \def\pst@Getangle#1#2{% -\pst@getangle{#1}\pst@tempg -\def\pst@temph{0. }% -\ifx\pst@tempg\pst@temph -\def#2{}% -\else -\edef#2{\pst@tempg\space rotate }% -\fi} -\def\psset@dotangle#1{% -\pst@getangle{#1}\psk@@dotangle -\ifdim\psk@@dotangle\p@=\z@ -\let\psk@dotangle\@empty -\else -% DG/SR modification begin - Aug. 8, 1997 - Patch 4 -%\edef\psk@dotangle{\psk@@dotangle rotate } -\edef\psk@dotangle{\psk@@dotangle rotate }% -% DG/SR modification end -\fi} + \pst@getangle{#1}\pst@tempg + \def\pst@temph{0. }% + \ifx\pst@tempg\pst@temph\def#2{}\else\edef#2{\pst@tempg\space rotate }\fi} +% +\define@key[psset]{pstricks}{dotangle}[0]{% + \pst@getangle{#1}\psk@@dotangle + \ifdim\psk@@dotangle\p@=\z@ + \let\psk@dotangle\@empty + \else + \edef\psk@dotangle{\psk@@dotangle rotate }% + \fi} +\psset[pstricks]{dotangle=0} % -\psset@dotangle{0} \def\pst@getdotsize{% \pst@dimg=\psk@@@dotsize\pslinewidth \advance\pst@dimg\psk@@dotsize\p@ @@ -1706,11 +1836,10 @@ \pst@dimg=\psk@xdotscale\pst@dimg \divide\pst@dimh 2 \divide\pst@dimg 2\relax} -% DG/SR modification begin - Oct. 17, 1997 - Patch 5 -\psset@dotscale{1} -% DG/SR modification end % -\def\psdot{\def\pst@par{}\pst@object{psdot}} +\psset[pstricks]{dotscale=1} +% +\def\psdot{\pst@object{psdot}} \def\psdot@i{\@ifnextchar({\psdot@ii}{\psdot@ii(\z@,\z@)}} \def\psdot@ii(#1){% \begin@SpecialObj% @@ -1720,11 +1849,11 @@ \pst@@getcoor{#1}% \addto@pscode{ \psk@dotsize - \@nameuse{psds@\psk@dotstyle}% + \@nameuse{psds@\psk@dotstyle} \pst@coor Dot}% \end@SpecialObj} % -\def\psdots{\def\pst@par{}\pst@object{psdots}} +\def\psdots{\pst@object{psdots}} \def\psdots@i{% \begin@SpecialObj% \pst@getcoors[\psdots@ii} @@ -1737,7 +1866,7 @@ newpath n { transform floor .5 add exch floor .5 add exch itransform Dot } repeat } % -% DG: dead code (to suppress until \psset@dotstyle) ? - Aug. 4, 1997 +% DG: dead code (to suppress until \psset[pstricks]{dotstyle) ? - Aug. 4, 1997 \def\tx@SQ{SQ } \def\tx@ST{ST } \def\tx@SP{SP } @@ -1773,11 +1902,11 @@ \pst@gdot{0 DS moveto 0 DS neg L stroke}} % DG: end dead code? % -\def\psset@dotstyle#1{% -\@ifundefined{psds@#1}% -{\@pstrickserr{Dot style `#1' not defined}\@eha}% -{\edef\psk@dotstyle{#1}}} -\psset@dotstyle{*} +\define@key[psset]{pstricks}{dotstyle}[*]{% + \@ifundefined{psds@#1}% + {\@pstrickserr{Dot style `#1' not defined}\@eha}% + {\edef\psk@dotstyle{#1}}} +\psset[pstricks]{dotstyle=*} % \def\tx@FontDot{FontDot } \def\newpsfontdot#1[#2]#3#4{% @@ -1889,12 +2018,12 @@ \newpsfontdotH{Diamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(d)}{(l)} \newpsfontdotH{BoldDiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(D)}{(l)} \newpsfontdot{SolidDiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(l)} -%% +% \newdimen\pslinearc -\def\psset@linearc#1{\pssetlength\pslinearc{#1}} -\psset@linearc{0pt} +\define@key[psset]{pstricks}{linearc}[0pt]{\pssetlength\pslinearc{#1}} +\psset[pstricks]{linearc=0pt} % -\def\psline{\def\pst@par{}\pst@object{psline}} +\def\psline{\pst@object{psline}} \def\psline@i{% \pst@getarrows{% \begin@OpenObj @@ -1902,11 +2031,14 @@ }% } \def\psline@ii{% - \addto@pscode{ - \pst@cp % current point - \psline@iii % arc and lineto type - \tx@Line % .pro function - }% + \ifx\pslinestyle\psls@@symbol\addto@pscode{ \psls@symbol SymbolLine }% + \else + \addto@pscode{ + \pst@cp % current point + \psline@iii % arc and lineto type + \tx@Line % .pro function + }% + \fi% \end@OpenObj% } \def\psline@iii{% @@ -1920,6 +2052,55 @@ \tx@setlinejoin % hv 2007-10-13 } % +\def\pst@isnum#1{\pst@isnum@i\zap@space#1 \@empty\@nil}% +\def\pst@isnum@i#1\@nil{% + \if!\ifnum9<1#1!\else_\fi + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\def\psset@@symbol#1#2#3#4\@nil{% + \ifx\relax#4\relax\def\psk@symbol{(#1)}% + \else + \pst@isnum{#1#2#3}{% + \pst@cnta='#1#2#3\relax + \ifnum\pst@cnta>'377\relax + \@pstrickserr{Number too large!}\@ehpb + \else + \def\psk@symbol{(\@backslashchar#1#2#3)}% + \fi% + }{\@pstrickserr{Not a number!}\@ehpb} + \fi} +\define@key[psset]{pstricks}{symbol}[a]{\expandafter\psset@@symbol#1!!\@nil} +\psset[pstricks]{symbol=a} +% +\newdimen\pst@symbolStep +\define@key[psset]{pstricks}{symbolStep}[20pt]{\pssetlength\pst@symbolStep{#1}} +\psset[pstricks]{symbolStep=20pt} +\newdimen\pst@symbolWidth +\define@key[psset]{pstricks}{symbolWidth}[10pt]{\pssetlength\pst@symbolWidth{#1}} +\psset[pstricks]{symbolWidth=10pt} +\define@key[psset]{pstricks}{symbolFont}[Dingbats]{\def\psk@symbolFont{/#1 }} +\psset[pstricks]{symbolFont=Dingbats} +\define@boolkey[psset]{pstricks}[Pst@]{rotateSymbol}[true]{} +\psset[pstricks]{rotateSymbol=false} +\define@key[psset]{pstricks}{startAngle}[0]{\pst@getangle{#1}\psk@startAngle} +\psset[pstricks]{startAngle=0} +% +\def\psls@symbol{ + /Symbol \psk@symbol def + /SymbolWidth \pst@number\pst@symbolWidth def + /SymStep \pst@number\pst@symbolStep def + \psk@symbolFont findfont %0. [1.0 0.0 0.0 1.0 0.0 0.0] + \pst@number\pst@symbolWidth scalefont %dup + setfont + /rotateSymbol \ifPst@rotateSymbol true \else false \fi def + /startAngle \psk@startAngle\space def + /CorrAngle \ifx\psk@rot\@empty 0 \else \psk@rot \fi def +} +\def\psls@@symbol{symbol} +% \def\psPline{\def\pst@par{}\pst@object{psPline}}% perpendicular to another line B-C \def\psPline@i{% \pst@getarrows{% @@ -1954,33 +2135,36 @@ \@nameuse{psls@\pslinestyle}% }% \end@SpecialObj} -\def\pspolygon{\def\pst@par{}\pst@object{pspolygon}} +% +\def\pspolygon{\pst@object{pspolygon}} \def\pspolygon@i{% \begin@ClosedObj% \def\pst@cp{}% \pst@getcoors[\pspolygon@ii% } \def\pspolygon@ii{% - \addto@pscode{\psline@iii \tx@Polygon}% + \ifx\pslinestyle\psls@@symbol\addto@pscode{ \psls@symbol SymbolPolygon }% + \else \addto@pscode{\psline@iii \tx@Polygon}% + \fi% \def\pst@linetype{1}% \end@ClosedObj} % -\def\psset@framearc#1{\pst@checknum{#1}\psk@framearc} -\psset@framearc{0} +\define@key[psset]{pstricks}{framearc}[0]{\pst@checknum{#1}\psk@framearc} +\psset[pstricks]{framearc=0} % -\def\psset@cornersize#1{\pst@expandafter\psset@@cornersize{#1}\@nil} +\define@key[psset]{pstricks}{cornersize}[relative]{\pst@expandafter\psset@@cornersize{#1}\@nil} \def\psset@@cornersize#1#2\@nil{% \if #1a\relax \def\psk@cornersize{\pst@number\pslinearc false }% \else\def\psk@cornersize{\psk@framearc true }% \fi} -\psset@cornersize{relative} +\psset[pstricks]{cornersize=relative} % \def\tx@Rect{Rect } \def\tx@OvalFrame{OvalFrame } \def\tx@Frame{Frame } % -\def\psset@dimen#1{\pst@expandafter\psset@@dimen{#1}\@nil} +\define@key[psset]{pstricks}{dimen}[outer]{\pst@expandafter\psset@@dimen{#1}\@nil} \def\psset@@dimen#1#2\@nil{% \if #1o\relax% outer \def\psk@dimen{.5 }% @@ -1991,9 +2175,9 @@ \if #1i\relax% inner \def\psk@dimen{-.5 }% \fi\fi\fi} -\psset@dimen{outer} +\psset[pstricks]{dimen=outer} % -\def\psframe{\def\pst@par{}\pst@object{psframe}} +\def\psframe{\pst@object{psframe}} \def\psframe@i(#1){% \@ifnextchar({\psframe@ii(#1)}{\psframe@ii(0,0)(#1)}} \def\psframe@ii(#1)(#2){% @@ -2006,7 +2190,7 @@ \end@ClosedObj% } % -\def\psTextFrame{\def\pst@par{}\pst@object{psTextFrame}} +\def\psTextFrame{\pst@object{psTextFrame}} \def\psTextFrame@i(#1)(#2)#3{% \addbefore@par{ref=c}% to prevent an empty value \leavevmode% @@ -2029,14 +2213,14 @@ \endgroup \ignorespaces} % -\def\tx@BezierNArray{BezierNArray } -\def\tx@OpenBezier{OpenBezier } -\def\tx@ClosedBezier{ClosedBezier } -\def\tx@BezierShowPoints{BezierShowPoints } -\def\tx@BezierCurve{BezierCurve } +\def\tx@BezierNArray{ BezierNArray } +\def\tx@OpenBezier{ OpenBezier } +\def\tx@ClosedBezier{ ClosedBezier } +\def\tx@BezierShowPoints{ BezierShowPoints } +\def\tx@BezierCurve{ BezierCurve } \def\pst@BezierType{2 } % the default % -\def\psbezier{\def\pst@par{}\pst@object{psbezier}} +\def\psbezier{\pst@object{psbezier}} \def\psbezier@i{% \pst@getarrows{% \begin@OpenObj @@ -2044,30 +2228,40 @@ }% } \def\psbezier@ii{% - \addto@pscode{% -% DG/SR modification begin - Apr. 28, 1997 - Patch 1 -% \psbezier doesn't work inside \pscustom -\pst@cp -% DG/SR modification end + \addto@pscode{ + \pst@cp \ifshowpoints true \else false \fi - \tx@OpenBezier - \ifshowpoints \tx@BezierShowPoints \fi}% + \ifx\pslinestyle\psls@@symbol \psls@symbol OpenSymbolBezier + \else + \tx@OpenBezier + \ifshowpoints \tx@BezierShowPoints \fi + \fi + }% + \def\pst@linetype{1}% + \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi% \end@OpenObj} +% \def\pscbezier{\def\pst@par{}\pst@object{pscbezier}} \def\pscbezier@i{% \begin@ClosedObj \pst@getcoors[\pscbezier@ii} +% \def\pscbezier@ii{% \addto@pscode{% \ifshowpoints true \else false \fi - \tx@ClosedBezier - \ifshowpoints \tx@BezierShowPoints \fi}% - \chardef\pst@linetype=1 + \ifx\pslinestyle\psls@@symbol \psls@symbol ClosedSymbolBezier + \else + \tx@ClosedBezier + \ifshowpoints \tx@BezierShowPoints \fi + \fi}% +% \chardef\pst@linetype=1 + \def\pst@linetype{1}% + \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi% \end@ClosedObj} - +% \iffalse -\def\psset@epsilon#1{\pst@checknum{#1}\psk@epsilon} -\psset@epsilon{0.005} % 200 steps for one curve +\define@key[psset]{pstricks}{epsilon}[0.005]{\pst@checknum{#1}\psk@epsilon} +\psset[pstricks]{epsilon=0.005} % 200 steps for one curve % \def\psBezier#1{% % allowed order is 1 ... 9 \ifnum#1>0 \ifnum#1<10 \def\pst@BezierType{#1 }\fi\fi% @@ -2087,11 +2281,12 @@ \end@OpenObj} \fi % -\def\psset@pType#1{\pst@cntg=#1\relax\edef\psk@pType{\the\pst@cntg}} -\psset@pType{0} +\define@key[psset]{pstricks}{pType}[0]{\pst@cntg=#1\relax\edef\psk@pType{\the\pst@cntg}} +\psset[pstricks]{pType=0} \def\tx@Parab{Parab }% given by 1 point and the min/max \def\tx@Parabo{Parab1 }% given by 2 points for y-a=(x-b)^2 -\def\psparabola{\def\pst@par{}\pst@object{psparabola}}% 2009-05-19 (hv) +% +\def\psparabola{\pst@object{psparabola}}% 2009-05-19 (hv) \def\psparabola@i{\pst@getarrows\psparabola@ii} \def\psparabola@ii#1(#2)#3(#4){% #2 P #4 SP \begin@OpenObj @@ -2106,36 +2301,36 @@ \let\parabola\psparabola% compatibility (hv) % % -\def\psset@gridwidth#1{\pst@getlength{#1}\psk@gridwidth} -\psset@gridwidth{.8pt} -\def\psset@griddots#1{% +\define@key[psset]{pstricks}{gridwidth}[0.8pt]{\pst@getlength{#1}\psk@gridwidth} +\psset[pstricks]{gridwidth=.8pt} +\define@key[psset]{pstricks}{griddots}[0]{% \pst@cntg=#1\relax \edef\psk@griddots{\the\pst@cntg}} -\psset@griddots{0} -\def\psset@gridcolor#1{\pst@getcolor{#1}\psgridcolor} -\psset@gridcolor{black} -\def\psset@subgridwidth#1{\pst@getlength{#1}\psk@subgridwidth} -\psset@subgridwidth{.4pt} -\def\psset@subgridcolor#1{\pst@getcolor{#1}\pssubgridcolor} -\psset@subgridcolor{gray} -\def\psset@subgriddots#1{% +\psset[pstricks]{griddots=0} +\define@key[psset]{pstricks}{gridcolor}[black]{\pst@getcolor{#1}\psgridcolor} +\psset[pstricks]{gridcolor=black} +\define@key[psset]{pstricks}{subgridwidth}[0.4pt]{\pst@getlength{#1}\psk@subgridwidth} +\psset[pstricks]{subgridwidth=0.4pt} +\define@key[psset]{pstricks}{subgridcolor}[gray]{\pst@getcolor{#1}\pssubgridcolor} +\psset[pstricks]{subgridcolor=gray} +\define@key[psset]{pstricks}{subgriddots}[0]{% \pst@cntg=#1\relax\edef\psk@subgriddots{\the\pst@cntg}} -\psset@subgriddots{0} -\def\psset@subgriddiv#1{% +\psset[pstricks]{subgriddots=0} +\define@key[psset]{pstricks}{subgriddiv}[5]{% \pst@cntg=#1\relax\edef\psk@subgriddiv{\the\pst@cntg}} -\psset@subgriddiv{5} +\psset[pstricks]{subgriddiv=5} % -\def\psset@gridfont#1{\def\psk@gridfont{/#1 }}% hv 2007-11-13 -\psset@gridfont{Helvetica} +\define@key[psset]{pstricks}{gridfont}[Helvetica]{\def\psk@gridfont{/#1 }}% hv 2007-11-13 +\psset[pstricks]{gridfont=Helvetica} % -\def\psset@gridlabels#1{\pst@getlength{#1}\psk@gridlabels} -\psset@gridlabels{10pt} -\def\psset@gridlabelcolor#1{\pst@getcolor{#1}\psgridlabelcolor} -\psset@gridlabelcolor{black} +\define@key[psset]{pstricks}{gridlabels}[10pt]{\pst@getlength{#1}\psk@gridlabels} +\psset[pstricks]{gridlabels=10pt} +\define@key[psset]{pstricks}{gridlabelcolor}[black]{\pst@getcolor{#1}\psgridlabelcolor} +\psset[pstricks]{gridlabelcolor=black} \def\tx@Grid{Grid } -\def\psgrid{\def\pst@par{}\pst@object{psgrid}} +\def\psgrid{\pst@object{psgrid}} \def\psgrid@i{\@ifnextchar({\psgrid@ii}{\expandafter\psgrid@iv\pic@coor}} \def\psgrid@ii(#1){\@ifnextchar({\psgrid@iii(#1)}{\psgrid@iv(0,0)(0,0)(#1)}} \def\psgrid@iii(#1)(#2){\@ifnextchar({\psgrid@iv(#1)(#2)}{\psgrid@iv(#1)(#1)(#2)}} @@ -2189,21 +2384,19 @@ % \def\pst@makeverbbox#1{% \def\pst@afterbox{#1}% - \edef\pst@mathflag{% - \ifpsmathbox\ifmmode\ifinner 1\else 2\fi\else \z@\fi\else \z@\fi% - }% - \afterassignment\pst@beginbox + \edef\pst@mathflag{\ifpsmathbox\ifmmode\ifinner1\else2\fi\else\z@\fi\else\z@\fi}% + \afterassignment\pst@beginbox% \setbox\pst@hbox\hbox% } \def\pst@beginbox{% - \ifcase\pst@mathflag\or$\m@th\or$\m@th\displaystyle\fi - \bgroup\aftergroup\pst@endbox - \pst@thisbox + \ifcase\pst@mathflag\or$\m@th\or$\m@th\displaystyle\fi% + \bgroup\aftergroup\pst@endbox% + \pst@thisbox% \the\everypsbox% } \def\pst@endbox{% - \ifnum\pst@mathflag>\z@$\fi %$ - \egroup + \ifnum\pst@mathflag>\z@\relax$\fi% $ + \egroup% \pst@afterbox% } \def\pst@makebox{\pst@@makebox} @@ -2238,13 +2431,11 @@ \@namedef{end#1}{\pst@endlongbox}} % \newdimen\psframesep -\def\psset@framesep#1{\pssetlength\psframesep{#1}} -\psset@framesep{3pt} +\define@key[psset]{pstricks}{framesep}[3pt]{\pssetlength\psframesep{#1}} +\psset[pstricks]{framesep=3pt} % -\newif\ifpsboxsep -\def\psset@boxsep#1{\@nameuse{psboxsep#1}} -% -\psset@boxsep{true} +\define@boolkey[psset]{pstricks}[ps]{boxsep}[true]{} +\psset[pstricks]{boxsep} % \def\pst@useboxpar{% \use@par @@ -2536,89 +2727,100 @@ pop \ht\pst@hbox\pst@dimd \advance\pst@dimd-2\pst@dimb \dp\pst@hbox\pst@dimd} -\def\psset@trimode#1{\pst@expandafter\psset@@trimode{#1}\@empty\@empty\@nil} +% +\define@key[psset]{pstricks}{trimode}[U]{\pst@expandafter\psset@@trimode{#1}\@empty\@empty\@nil} \def\psset@@trimode#1#2#3\@nil{% -\let\pst@tempg#1\relax -\ifx\pst@tempg*% -\let\psk@@trimode\@empty -\let\pst@tempg#2\relax -\else -\let\psk@@trimode\relax -\fi -\edef\psk@trimode{% -\ifx R\pst@tempg 1 \else\ifx D\pst@tempg 2 -\else\ifx L\pst@tempg 3 \else 0 \fi\fi\fi}} -\psset@trimode{U} -\def\pstribox{\def\pst@par{}\pst@object{pstribox}} + \let\pst@tempg#1\relax + \ifx\pst@tempg* + \let\psk@@trimode\@empty + \let\pst@tempg#2\relax + \else + \let\psk@@trimode\relax + \fi + \edef\psk@trimode{% + \ifx R\pst@tempg 1 % Right + \else + \ifx D\pst@tempg 2 % Down + \else + \ifx L\pst@tempg 3 % Left + \else 0 % Up + \fi + \fi + \fi}% +} +\psset[pstricks]{trimode=U} +% +\def\pstribox{\pst@object{pstribox}} \def\pstribox@i{\pst@makebox{\pstribox@ii}} \def\pstribox@ii{% -\begingroup -\pst@useboxpar -\pstribox@iii -\ifpsboxsep\pstribox@sep\fi -\leavevmode -\box\pst@hbox -\endgroup} + \begingroup + \pst@useboxpar + \pstribox@iii + \ifpsboxsep\pstribox@sep\fi + \leavevmode + \box\pst@hbox + \endgroup} +% \def\pstribox@iii{% -\pstribox@iv -\setbox\pst@hbox=\hbox{% -\begin@ClosedObj -\addto@pscode{% -\psline@iii -pop -.5 -\pst@number\pst@dimc \pst@number\pst@dimd -\ifodd\psk@trimode exch \fi -\psk@trimode -90 mul -\pst@number\pst@dima \pst@number\pst@dimb -\tx@Triangle}% -\def\pst@linetype{2}% -\end@ClosedObj -\box\pst@hbox}} + \pstribox@iv + \setbox\pst@hbox=\hbox{% + \begin@ClosedObj + \addto@pscode{ + \psline@iii + pop + 0.5 + \pst@number\pst@dimc \pst@number\pst@dimd + \ifodd\psk@trimode exch \fi + \psk@trimode -90 mul + \pst@number\pst@dima \pst@number\pst@dimb + \tx@Triangle}% + \def\pst@linetype{2}% + \end@ClosedObj + \box\pst@hbox}% +} +% \def\pstribox@iv{% -\pst@dimh=\pslinewidth -\advance\pst@dimh\psframesep -\pst@dimg=\ht\pst@hbox -\advance\pst@dimg-\dp\pst@hbox -\divide\pst@dimg 2 -\edef\pst@tempa{\number\pst@dimg sp}% For use by nodes. -\ifodd\psk@trimode -\pst@dimb\pst@dimg -\else -\pst@dima=\wd\pst@hbox -\divide\pst@dima 2 -\fi -\ifcase\psk@trimode -\pst@dimb=-\dp\pst@hbox -\advance\pst@dimb-\pst@dimh -\or -\pst@dima=-\pst@dimh -\or -\pst@dimb=\ht\pst@hbox -\advance\pst@dimb\pst@dimh -\or -\pst@dima=\wd\pst@hbox -\advance\pst@dima\pst@dimh -\fi -\pst@dimd=\dp\pst@hbox -\advance\pst@dimd\ht\pst@hbox -\ifx\psk@@trimode\relax -\pst@dimc=\wd\pst@hbox -\advance\pst@dimc\ifodd\psk@trimode 1.447\else 1.789\fi\pst@dimh -\multiply\pst@dimc 2 -\advance\pst@dimd\ifodd\psk@trimode 1.789\else 1.447\fi\pst@dimh -\multiply\pst@dimd 2 -\else -\ifodd\psk@trimode -\advance\pst@dimd 1.1547\wd\pst@hbox -\advance\pst@dimd 3.4641\pst@dimh -\pst@dimc=.866\pst@dimd -\else -\advance\pst@dimd .866\wd\pst@hbox %.866=(sqrt(3)/2) -\advance\pst@dimd 3\pst@dimh -\pst@dimc=1.1547\pst@dimd % 1.1547=(2/sqrt(3)) -\fi -\fi} + \pst@dimh=\pslinewidth + \advance\pst@dimh\psframesep + \pst@dimg=\ht\pst@hbox + \advance\pst@dimg-\dp\pst@hbox + \divide\pst@dimg 2 + \edef\pst@tempa{\number\pst@dimg sp}% For use by nodes. + \ifodd\psk@trimode + \pst@dimb\pst@dimg + \else + \pst@dima=\wd\pst@hbox + \divide\pst@dima 2 + \fi + \ifcase\psk@trimode + \pst@dimb=-\dp\pst@hbox + \advance\pst@dimb-\pst@dimh + \or\pst@dima=-\pst@dimh + \or\pst@dimb=\ht\pst@hbox + \advance\pst@dimb\pst@dimh + \or\pst@dima=\wd\pst@hbox + \advance\pst@dima\pst@dimh + \fi + \pst@dimd=\dp\pst@hbox + \advance\pst@dimd\ht\pst@hbox + \ifx\psk@@trimode\relax% no star for trimode= + \pst@dimc=\wd\pst@hbox + \advance\pst@dimc\ifodd\psk@trimode 1.447\else 1.789\fi\pst@dimh + \multiply\pst@dimc 2 + \advance\pst@dimd\ifodd\psk@trimode 1.789\else 1.447\fi\pst@dimh + \multiply\pst@dimd 2 + \else% trimode=R*,L*,U*,D* + \ifodd\psk@trimode + \advance\pst@dimd 1.1547\wd\pst@hbox + \advance\pst@dimd 3.4641\pst@dimh + \pst@dimc=.866\pst@dimd + \else + \advance\pst@dimd .866\wd\pst@hbox %.866=(sqrt(3)/2) + \advance\pst@dimd 3\pst@dimh + \pst@dimc=1.1547\pst@dimd % 1.1547=(2/sqrt(3)) + \fi + \fi} +% \def\pstribox@sep{% \ifodd\psk@trimode \advance\pst@dimb.5\pst@dimd @@ -2649,14 +2851,14 @@ pop \hss\box\pst@hbox\kern\psframesep\kern\pslinewidth}% \fi} % -\def\psset@arcsepA#1{\pst@getlength{#1}\psk@arcsepA} -\def\psset@arcsepB#1{\pst@getlength{#1}\psk@arcsepB} -\def\psset@arcsep#1{% -\psset@arcsepA{#1}\let\psk@arcsepB\psk@arcsepA} -\psset@arcsep{0} +\define@key[psset]{pstricks}{arcsepA}[0]{\pst@getlength{#1}\psk@arcsepA} +\define@key[psset]{pstricks}{arcsepB}[0]{\pst@getlength{#1}\psk@arcsepB} +\define@key[psset]{pstricks}{arcsep}[0]{% + \pst@getlength{#1}\psk@arcsepA\let\psk@arcsepB\psk@arcsepA} +\psset[pstricks]{arcsep=0} \def\tx@ArcArrow{ArcArrow } % -\def\psarc{\def\pst@par{}\pst@object{psarc}} +\def\psarc{\pst@object{psarc}} \def\psarc@i{\@ifnextchar({\psarc@iii}{\psarc@ii}} \def\psarc@ii#1{\addto@par{arrows=#1}% \@ifnextchar({\psarc@iii}{\psarc@iii(0,0)}% @@ -2738,16 +2940,16 @@ pop \def\psarcn{\def\pst@par{}\pst@object{psarcn}} \def\psarcn@i{\def\psarc@type{1}\psarc@i} % -\def\psarcAB{\def\pst@par{}\pst@object{psarcAB}}% hv 2008-11-26 +\def\psarcAB{\pst@object{psarcAB}}% hv 2008-11-26 \def\psarcAB@i{% \addbefore@par{psscale=1}% be sure, that it is defined \pst@getarrows{% - \begin@OpenObj + \begin@OpenObj% \pst@getcoors{}\psarcAB@ii% }% } \def\psarcAB@ii{% - \addto@pscode{% + \addto@pscode{ /y ED /x ED /yA ED /xA ED /yB ED /xB ED /r xB yB x y Pyth2 \psk@psscale\space mul def /c 57.2957 r \tx@Div def @@ -2767,10 +2969,9 @@ pop y add exch x add exch moveto \fi \fi - \psarc@v - } + \psarc@v }% \gdef\psarc@type{0}% - \showpointsfalse + \showpointsfalse% \end@OpenObj% } \def\psarcnAB{\def\pst@par{}\pst@object{psarcnAB}} @@ -2943,14 +3144,14 @@ pop \tx@SD }% \end@SpecialObj} % -\def\psset@radius#1{\pst@@getlength{#1}\psk@radius} -\psset@radius{.25cm} +\define@key[psset]{pstricks}{radius}[0.25cm]{\pst@@getlength{#1}\psk@radius} +\psset[pstricks]{radius=.25cm} % -\def\psCircle{\def\pst@par{}\pst@object{psCircle}}% same as \pscircle, but uses \psk@radius +\def\psCircle{\pst@object{psCircle}}% same as \pscircle, but uses \psk@radius \def\psCircle@i{\@ifnextchar({\psCircle@ii}{\psCircle@ii(0,0)}} \def\psCircle@ii(#1){\pscircle@do(#1){\psk@radius}} % -\def\pswedge{\def\pst@par{}\pst@object{pswedge}} +\def\pswedge{\pst@object{pswedge}} \def\pswedge@i{\@ifnextchar({\pswedge@ii}{\pswedge@ii(0,0)}} \def\pswedge@ii(#1)#2#3#4{% \begin@ClosedObj% @@ -3135,7 +3336,7 @@ pop \fi \setbox#1=\hbox to\z@{% \kern-\pst@dimh\vbox to\z@{\vss\box#1\kern-\pst@dimg}\hss}} -\def\psset@ref#1{\pst@expandafter\psset@@ref{#1}\@empty,,\@nil} +\define@key[psset]{pstricks}{ref}[c]{\pst@expandafter\psset@@ref{#1}\@empty,,\@nil} \def\psset@@ref#1#2,#3,#4\@nil{% \def\psk@xref{.5}% \def\psk@yref{.5}% @@ -3153,18 +3354,15 @@ pop \def\getref@B{\let\psk@yref\relax} \def\getref@l{\def\psk@xref{0}} \def\getref@r{\def\psk@xref{1}} -\psset@ref{c} +\psset[pstricks]{ref=c} % -\def\psset@rot#1{% -\pst@expandafter{\@ifnextchar*{\psset@@@rot}{\psset@@rot}}{#1}\@nil} +\define@key[psset]{pstricks}{rot}[0]{% + \pst@expandafter{\@ifnextchar*{\psset@@@rot}{\psset@@rot}}{#1}\@nil} \def\psset@@rot#1\@nil{% \def\ps@next##1@#1=##2@##3\@nil{% -\ifx\relax##2% -\pst@getangle{#1}\psk@rot -\else -\def\psk@rot{##2}% -\fi}% +\ifx\relax##2\pst@getangle{#1}\psk@rot\else\def\psk@rot{##2}\fi}% \expandafter\ps@next\pst@rottable @#1=\relax @\@nil} +% \def\psset@@@rot#1#2\@nil{% \psset@@rot#2\@nil \edef\psk@rot{\pst@rotlist \ifx\psk@rot\@empty\else\psk@rot add \fi}} @@ -3179,7 +3377,8 @@ pop @W=\pst@rotlist 90 add % @S=\pst@rotlist 180 add % @E=\pst@rotlist 90 sub } -\psset@rot{0} +\psset[pstricks]{rot=0} +% \def\tx@RotBegin{RotBegin } \def\tx@RotEnd{RotEnd } \def\pst@rotate#1#2{% @@ -3281,19 +3480,20 @@ pop \def\Cput{\def\pst@par{}\pst@object{Cput}} \def\Cput@i{\@fixedradiustrue\cput@ii} \newdimen\pslabelsep -\def\psset@labelsep#1{\pssetlength\pslabelsep{#1}} -\psset@labelsep{5pt} -\def\psset@refangle#1{\pst@expandafter\psset@@refangle{#1}\@nil} +\define@key[psset]{pstricks}{labelsep}[5pt]{\pssetlength\pslabelsep{#1}} +\psset[pstricks]{labelsep=5pt} +\define@key[psset]{pstricks}{refangle}[0]{\pst@expandafter\psset@@refangle{#1}\@nil} \def\psset@@refangle#1\@nil{% -\def\ps@next##1@#1=##2"##3@##4\@nil{% -\ifx\relax##2% -\pst@getangle{#1}\psk@refangle -\def\psk@uputref{}% -\else -\def\psk@refangle{##2 }% -\def\psk@uputref{##3}% -\fi}% -\expandafter\ps@next\pst@refangletable @#1=\relax"@\@nil} + \def\ps@next##1@#1=##2"##3@##4\@nil{% + \ifx\relax##2% + \pst@getangle{#1}\psk@refangle + \def\psk@uputref{}% + \else + \def\psk@refangle{##2 }% + \def\psk@uputref{##3}% + \fi}% + \expandafter\ps@next\pst@refangletable @#1=\relax"@\@nil} +% \def\pst@refangletable{% @r=0"20% @u=90"02% @@ -3303,7 +3503,8 @@ pop @ul=135"12% @dr=-135"21% @dl=-45"11} -\psset@refangle{0} +\psset[pstricks]{refangle=0} + % DG/SR modification begin - Mar. 24, 1999 - Patch 10 %\def\uput{\def\pst@par{}\@ifnextchar[{\uput@ii}{\uput@i}} \def\uput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\uput@ii}{\uput@i}}} @@ -3317,40 +3518,42 @@ pop \@ifnextchar({\uput@iv}{\uput@iv(\z@,\z@)}} \def\uput@iv(#1){\pst@killglue\pst@makebox{\uput@v{#1}}} \def\uput@v#1{% - \begingroup - \use@par - \if@star\pst@starbox\fi - \uput@vi + \begingroup% + \use@par% + \if@star\pst@starbox\fi% + \uput@vi% \psput@{#1}\pst@hbox - \endgroup + \endgroup% \ignorespaces} \def\uput@vi{% \ifx\psk@uputref\@empty\uput@vii\tx@UUput{}% - \else - \ifx\psk@rot\@empty\expandafter\uput@viii\psk@uputref - \else\uput@vii\tx@UUput{}\fi + \else% + \ifx\psk@rot\@empty\expandafter\uput@viii\psk@uputref% + \else\uput@vii\tx@UUput{}\fi% \fi} \def\uput@vii#1#2{% - \edef\pst@coor{% + \edef\pst@coor{ \pst@number\pslabelsep #2% - \pst@number{\wd\pst@hbox}% - \pst@number{\ht\pst@hbox}% - \pst@number{\dp\pst@hbox}% + \pst@number{\wd\pst@hbox} + \pst@number{\ht\pst@hbox} + \pst@number{\dp\pst@hbox} \psk@refangle\space \ifx\psk@rot\@empty\else\psk@rot\space sub \fi \tx@Uput #1}% \setbox\pst@hbox=\hbox to\z@{\hss\vbox to\z@{\vss\box\pst@hbox\vss}\hss}% - \setbox\pst@hbox=\psput@special\pst@hbox + \setbox\pst@hbox=\psput@special\pst@hbox% \ifx\psk@rot\@empty\else\pst@rotate\psk@rot\pst@hbox\fi} +% \def\uput@viii#1#2{% - \ifnum#1>\z@\ifnum#2>\z@\pslabelsep=.707\pslabelsep\fi\fi + \ifnum#1>\z@\relax\ifnum#2>\z@\relax\pslabelsep=.707\pslabelsep\fi\fi% \setbox\pst@hbox=\vbox to\z@{% - \ifnum#2=1 \vskip\pslabelsep\else\vss\fi + \ifnum#2=1\relax\vskip\pslabelsep\else\vss\fi% \hbox to\z@{% - \ifnum#1=2 \hskip\pslabelsep\else\hss\fi - \box\pst@hbox - \ifnum#1=1 \hskip\pslabelsep\else\hss\fi}% - \ifnum#2=2 \vskip\pslabelsep\else\vss\fi}} + \ifnum#1=2\relax\hskip\pslabelsep\else\hss\fi% + \box\pst@hbox% + \ifnum#1=1\relax\hskip\pslabelsep\else\hss\fi}% + \ifnum#2=2\relax\vskip\pslabelsep\else\vss\fi}} +% \def\tx@Uput{Uput } \def\tx@UUput{UUput } % @@ -3388,13 +3591,12 @@ pop % % ----------- 1.10/12 beg hv ------------------- \newpsstyle{gridstyle}{subgriddiv=0,gridcolor=lightgray,griddots=10,gridlabels=8pt} -\newif\ifshowgrid -\def\psset@showgrid#1{\@nameuse{showgrid#1}} -\psset@showgrid{false} +\define@boolkey[psset]{pstricks}[]{showgrid}[true]{} +\psset[pstricks]{showgrid=false} % \newdimen\pst@shift \newif\ifPst@shift@star -\def\psset@shift#1{% +\define@key[psset]{pstricks}{shift}[0]{% \ifx#1* \global\Pst@shift@startrue \pst@shift=\p@ @@ -3403,9 +3605,7 @@ pop \pssetlength\pst@dimg{#1} \global\pst@shift\pst@dimg% only the outer pspicture env can have a shift \fi} -% \global\pst@shift\pst@dimg} -\psset@shift{0} -% ----------- 1.10/12 end hv ------------------- +\psset[pstricks]{shift=0} % %------------------------------- pspicture ------------------------------ % @@ -3476,7 +3676,7 @@ pop \if@star\setbox\pst@hbox=\hbox{\clipbox@@\z@}\fi% \leavevmode\box\pst@hbox% \endgroup% - \psset@shift{0}% reset value + \psset[pstricks]{shift=0}% reset value } % \@namedef{pspicture*}{\pspicture*} diff --git a/Master/texmf-dist/tex/generic/pstricks/textures.con b/Master/texmf-dist/tex/generic/pstricks/textures.con deleted file mode 100644 index b126464a767..00000000000 --- a/Master/texmf-dist/tex/generic/pstricks/textures.con +++ /dev/null @@ -1,127 +0,0 @@ -%% BEGIN pstricks.con (for Textures 1.7 and 1.8 driver) -%% -%% Configuration file for PSTricks 97: must be renamed `pstricks.con' -%% -%% Version 97 (1997/03/01) -%% -%% For use with Textures, v1.7 and v1.8. - -\def\pstdriver{Textures-V1.7} -%\def\pstdriver{Textures-V1.8} -\def\pstunit{1bp} -\def\pstverb#1{\special{postscript #1 }} -\def\pstVerb#1{\special{rawpostscript #1}} -\def\pstverbscale{Mag 72.27 72 div mul dup neg scale} -\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET} -\def\pstheader#1{\special{prePostScriptfile #1}}% - -\pstcustomize - -\special{prePostScript - tx@Dict begin /sps {moveto /Mag ED pop tx@Dict begin} def /eps {} def end} -\def\pst@Verb#1{% - \special{rawpostscript tx@Dict begin}% - \special{postscript #1}% - \special{rawpostscript end}} - -\endinput - -%% -%%%%%%%%%%%%%%%%%%% !! GENERAL INSTRUCTIONS !! %%%%%%%%%%%%%%%%%%%%%%%%%%%% - -Because there are no standards for dvi-to-PS driver \special's, -some driver-dependent commands must be defined in this file. - -Possibly correct definitions for some dvi drivers are given below. -Copy the section for the driver you want to use to the indicated place -near the beginning of the file, replacing any other definitions you -might find there. - -When changing drivers, you may need to remake the header file. - -See the PSTricks read-me file for further installation instructions. - -Please report good and bad experiences with dvi-to-PS drivers, -along with the definitions of these commands that worked -for you, to tvz@Princeton.EDU. Thanks. - - -%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%% - -Here are the commands that must be defined in this file: - - \pstverb{} - The argument is included as verbatim PostScript, - grouped by save and restore. The coordinate system - should be square, not rotated, and with the origin - at TeX's currentpoint. - - \pstVerb{} - The argument is included as verbatim PostScript, not - grouped by (g)save and (g)restore. The currentpoint - should be TeX's currentpoint. - - \pstunit - The units used by driver for graphics included with - \pstverb. Probably 1bp or 1sp. - - \pstverbscale - The PostScript code that scales the coordinate system - from that in effect with \pstVerb to that in effect - with \pstverb. Should not translate to the currentpoint. - - \pstrotate - The PostScript code that takes a number off the stack - and rotates the axes properly. I.e., - \pstVerb{angle \pstrotate} is used to begin rotations. - - \pstheader{} - The argument is a header file (e.g., .pro file). - If your driver does not support such a special, then - the command might just remind you to include the header - when printing. You can use PSTricks without a header, - in which case it does not matter how you define - \pstheader. See read-me.pst for details. - If you cannot change the default directory where your - driver looks for header files, and you cannot write to - that directory, then you include the path for your - PSTricks header files. - E.g., \def\pstheader#1{\special{header=~/tex/#1}}. - - \pstdriver - The name of the driver. - - -%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%% - -See your local TeX documentation for instructions on creating a TeX format. - -Before making the format, be sure that this configuration file is correct. -It will be read only when creating the format, and not with every job. - -If you are not using header files, there are no more special instructions. - -Special instructions when using header files: - - - If you want to include supplementary PSTricks files (e.g., pst-node.tex), - add \input commands in the customization section above. - - - If your definition of \pstheader is, e.g. - - \def\pstheader#1{\special{\header=#1}} - - then change it to - - \def\pstheader#1{% - \expandafter\everyjob\expandafter{\the\everyjob - \special{header=#1}}} - - and put your original definition in the customization section, AFTER - any \input commands. E.g., the customization section might look like: - - \pstcustomize - \input pst-node.tex - \input pst-coil.tex - \def\pstheader#1{\special{header=#1}} - - - Input pstricks.tex at the appropriate time when creating the format. - E.g., when initex stops running: - *\input pstricks - *\dump - - -%% -%% END: pstricks.con diff --git a/Master/texmf-dist/tex/generic/pstricks/vtex.con b/Master/texmf-dist/tex/generic/pstricks/vtex.con deleted file mode 100644 index 50e5260147d..00000000000 --- a/Master/texmf-dist/tex/generic/pstricks/vtex.con +++ /dev/null @@ -1,170 +0,0 @@ -%% BEGIN: pstricks.con (for VTeX) -%% -%% Configuration file for PSTricks 97 -%% -%% Version 97 patch 5 2003-04-29 -%% -%% For use with VTeX PostScript driver v 6.61+ -%% [MV, MK, special thanks to Denis Girou for help] -%% -%% Requires vtex.def 7.46 or newer, 10-14-01 -%% -%% For support and possible updates, check -%% http://www.micropress-inc.com -%% - -\def\pstdriver{VTeX} -{\catcode`\"=12\gdef -\pstverb#1{% - \special{pS*GS @beginspecial @setspecial #1 @endspecial GR }% -}}% -\def\pstunit{1bp}% -\def\pstVerb#1{\special{pS: #1}}% -\def\pstverbscale{SDict begin normalscale end} -\ifx\textsuperscript\@undefined - \def\pstheader#1{\special{header=#1}} -\else -% D.G. modification begin - Apr. 29, 2003 - From Michael Vulis -% \ifx\Gin@PS@file@header\@undefined -% \def\pstheader#1{\AtBeginDvi{\special{header=#1}}} -% \else -% \let\pstheader\Gin@PS@file@header -% \fi - \def\pstheader#1{\AtBeginDvi{\immediate\special{header=#1}}} -% D.G. modification end -\fi -\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET} -%% -%% ****************** END VTeX ***************************** - -%%%%%%%%%%%%%%%%%%% !! CUSTOMIZATION STUFF GOES HERE: !! %%%%%%%%%%%%%%%%%% -%% If you want to include your own customizations to pstricks.tex, then -%% uncomment the \pstcustomize command, and include your modifications -%% after \pstcustomize. These will be read in after pstricks.tex. -% -% Some customization needed for VTeX since the coordinate system -% is different. -\newif\if@colorstack -\ifnum\OpMode>-1 -\ifnum\OpMode<3 -\@colorstacktrue -% D.G. modification begin - Nov. 17, 1999 -\let\vtex@pspicture=\pspicture -\def\pspicture{\special{G(}\@colorstackfalse\vtex@pspicture}% -\let\vtex@endpspicture=\endpspicture -\def\endpspicture{\vtex@endpspicture\@colorstacktrue\special{G)}% -} -% D.G. modification end -\fi -\fi - -\pstcustomize -\def\tx@RotBegin{neg RotBegin } -\def\pst@rotlist{mark RAngle /a ED cleartomark a } -% D.G. modification begin - Oct. 6, 1999 -\def\tx@Rot{neg Rot } -% D.G. modification end -\def\psfs@solid{\pst@fill{\pst@usecolor\psfillcolor fill }} -\def\psfs@eofill{\pst@fill{\pst@usecolor\psfillcolor eofill}} - -\endinput - -%% -%%%%%%%%%%%%%%%%%%% !! GENERAL INSTRUCTIONS !! %%%%%%%%%%%%%%%%%%%%%%%%%%%% - -Because there are no standards for dvi-to-PS driver \special's, -some driver-dependent commands must be defined in this file. - -Possibly correct definitions for some dvi drivers are given below. -Copy the section for the driver you want to use to the indicated place -near the beginning of the file, replacing any other definitions you -might find there. - -When changing drivers, you may need to remake the header file. - -See the PSTricks read-me file for further installation instructions. - -Please report good and bad experiences with dvi-to-PS drivers, -along with the definitions of these commands that worked -for you, to tvz@Princeton.EDU. Thanks. - - -%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%% - -Here are the commands that must be defined in this file: - - \pstverb{} - The argument is included as verbatim PostScript, - grouped by save and restore. The coordinate system - should be square, not rotated, and with the origin - at TeX's currentpoint. - - \pstVerb{} - The argument is included as verbatim PostScript, not - grouped by (g)save and (g)restore. The currentpoint - should be TeX's currentpoint. - - \pstunit - The units used by driver for graphics included with - \pstverb. Probably 1bp or 1sp. - - \pstverbscale - The PostScript code that scales the coordinate system - from that in effect with \pstVerb to that in effect - with \pstverb. Should not translate to the currentpoint. - - \pstrotate - The PostScript code that takes a number off the stack - and rotates the axes properly. I.e., - \pstVerb{angle \pstrotate} is used to begin rotations. - - \pstheader{} - The argument is a header file (e.g., .pro file). - If your driver does not support such a special, then - the command might just remind you to include the header - when printing. You can use PSTricks without a header, - in which case it does not matter how you define - \pstheader. See read-me.pst for details. - If you cannot change the default directory where your - driver looks for header files, and you cannot write to - that directory, then you include the path for your - PSTricks header files. - E.g., \def\pstheader#1{\special{header=~/tex/#1}}. - - \pstdriver - The name of the driver. - - -%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%% - -See your local TeX documentation for instructions on creating a TeX format. - -Before making the format, be sure that this configuration file is correct. -It will be read only when creating the format, and not with every job. - -If you are not using header files, there are no more special instructions. - -Special instructions when using header files: - - - If you want to include supplementary PSTricks files (e.g., pst-node.tex), - add \input commands in the customization section above. - - - If your definition of \pstheader is, e.g. - - \def\pstheader#1{\special{\header=#1}} - - then change it to - - \def\pstheader#1{% - \expandafter\everyjob\expandafter{\the\everyjob - \special{header=#1}}} - - and put your original definition in the customization section, AFTER - any \input commands. E.g., the customization section might look like: - - \pstcustomize - \input pst-node.tex - \input pst-coil.tex - \def\pstheader#1{\special{header=#1}} - - - Input pstricks.tex at the appropriate time when creating the format. - E.g., when initex stops running: - *\input pstricks - *\dump - - -%% -%% END: pstricks.con diff --git a/Master/texmf-dist/tex/generic/pstricks/xdvipdfmx.con b/Master/texmf-dist/tex/generic/pstricks/xdvipdfmx.con deleted file mode 100644 index 423849dab56..00000000000 --- a/Master/texmf-dist/tex/generic/pstricks/xdvipdfmx.con +++ /dev/null @@ -1,225 +0,0 @@ -%% BEGIN: pstricks.con (for xdvipdfmx driver) -%% -%% Configuration file for PSTricks -%% -%% Version 0.02 (2008/06/20) -%% -%% For use with xdvipdfmx -%% Created by SMiyata based on standard pstricks.con from TeXLive distribution. -%% This file may be distributed, used and modified freely. -% -\def\pstdriver{xdvipdfmx} -\def\pstverb#1{\special{pst: #1}} % Check catcode of " -\def\pstunit{1bp}% -\def\pstVerb#1{\immediate\special{PST: #1}} -\def\pstverbscale{72.27 72 div dup scale } -% DG/SR modification begin - Apr. 28, 1997 (D. Carlisle + S. Rahtz) -% \def\pstheader#1{\special{header=#1}} -% We used to check for |\AtBeginDvi|, but that was broken in early release -% so we now check for the existence of |\textsuperscript| (added 1995/05/16) -\ifx\textsuperscript\@undefined - \def\pstheader#1{\special{header=#1}} -\else - \ifx\Gin@PS@file@header\@undefined - \def\pstheader#1{\AtBeginDvi{\special{header=#1}}} - \else - \let\pstheader\Gin@PS@file@header - \fi -\fi -% DG/SR modification end -%% -%% In the following, CP is short for currentpoint. -%% The neg is necessary because dvips scales the coordinates by 1 -1. -%% \tx@NET means neg exch neg exch translate. -\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET} -%% -%% ****************** END xdvipdfmx ***************************** - -%%%%%%%%%%%%%%%%%%% !! CUSTOMIZATION STUFF GOES HERE: !! %%%%%%%%%%%%%%%%%% -%% If you want to include your own customizations to pstricks.tex, then -%% uncomment the \pstcustomize command, and include your modifications -%% after \pstcustomize. These will be read in after pstricks.tex. -\def\c@lor@to@ps#1 #2\@@{\csname c@lor@ps@#1\endcsname#2 \@@} -\def\c@lor@ps@#1 #2\@@{TeXDict begin #1 end} -\def\c@lor@ps@rgb#1\@@{#1 setrgbcolor} -\def\c@lor@ps@hsb#1\@@{#1 sethsbcolor} -\def\c@lor@ps@cmyk#1\@@{#1 setcmykcolor} -\def\c@lor@ps@gray#1\@@{#1 setgray} -\pstcustomize -\typeout{Using PSTricks configuration for XeTeX+xdvipdfmx} -\def\@@scalebox{% -\leavevmode -\hbox{% -\ifdim\pst@tempd\p@<\z@ -\pst@dimg=\pst@tempd\ht\pst@hbox -\pst@dimh=\pst@tempd\dp\pst@hbox -\dp\pst@hbox=-\pst@dimg -\ht\pst@hbox=-\pst@dimh -\else -\ht\pst@hbox=\pst@tempd\ht\pst@hbox -\dp\pst@hbox=\pst@tempd\dp\pst@hbox -\fi -\pst@dima=\pst@tempc\wd\pst@hbox -\ifdim\pst@dima<\z@\kern-\pst@dima\fi -\special{x: bscale \pst@tempc \pst@tempd}% -\hbox to \z@{\box\pst@hbox\hss}% -\special{x: escale}% -\ifdim\pst@dima>\z@\kern\pst@dima\fi}} -\let\ps@@scalebox\@@scalebox -\def\ps@rotateleft#1{% -\leavevmode\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1% -\pst@Verb{90 \tx@RotBegin} -\vbox to \z@{\vss\hbox to \z@{\box#1\hss}\vskip\z@}% -\pst@Verb{\tx@RotEnd}}}} -\def\ps@rotateright#1{% - \leavevmode\hbox{% - \hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1% - \pst@Verb{-90 \tx@RotBegin} - \vbox to \z@{\hbox to \z@{\hss\box#1}\vss}% - \pst@Verb{\tx@RotEnd}}}} -\def\ps@rotatedown#1{% -\hbox{\hskip\wd#1\vbox{\vskip\ht#1\vskip\dp#1% -\pst@Verb{180 \tx@RotBegin}% -\vbox to \z@{\hbox to \z@{\box#1\hss}\vss}% -\pst@Verb{\tx@RotEnd}}}} -\def\begin@psclip{\special{x: gsave}} -\def\end@psclip{\special{x: grestore}} -\def\@newcolor#1#2#3{% -\expandafter\edef\csname #1\endcsname{\noexpand\pst@color{#2}}% -\expandafter\edef\csname\string\color@#1\endcsname{#2}% hv 1.14 2005-12-17 -\expandafter\edef\csname\string\color@xetex@#1\endcsname{#3}% -\ignorespaces} -\def\newgray#1#2{% - \pst@checknum{#2}\pst@tempg - \@newcolor{#1}{\pst@tempg setgray}{gray \pst@tempg}% -} -\def\newrgbcolor#1#2{% - \pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil - \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi setrgbcolor}{rgb \pst@tempg \pst@temph \pst@tempi}% -} -\def\newhsbcolor#1#2{% - \pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil - \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi sethsbcolor}{hsb \pst@tempg \pst@temph \pst@tempi}% -} -\def\newcmykcolor#1#2{% - \pst@expandafter\pst@getnumiv{#2} {} {} {} {} {}\@nil - \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi \pst@tempj setcmykcolor}% - {cmyk \pst@tempg \pst@temph \pst@tempi \pst@tempj}% -} -\newgray{black}{0} -\newgray{darkgray}{.25} -\newgray{gray}{.5} -\newgray{lightgray}{.75} -\newgray{white}{1} -\newrgbcolor{red}{1 0 0} -\newrgbcolor{green}{0 1 0} -\newrgbcolor{blue}{0 0 1} -\newrgbcolor{yellow}{1 1 0} -\newrgbcolor{cyan}{0 1 1} -\newrgbcolor{magenta}{1 0 1} - -\@ifundefined{LaTeXe}% - {\def\current@@@@color{\csname\string\color@xetex@\psfillcolor\endcsname}}{% - \AtBeginDocument{\@ifpackageloaded{xcolor}{\def\current@@@@color{\psfillcolor}}% - {\def\current@@@@color{\csname\string\color@\psfillcolor\endcsname}}}} -\def\pst@starbox{% -\setbox\pst@hbox\hbox{{% - \def\current@color{\current@@@@color}% -\dimen@\wd\pst@hbox\advance\dimen@2\psframesep\wd\pst@hbox\dimen@% -\dimen@\ht\pst@hbox\advance\dimen@\psframesep\ht\pst@hbox\dimen@% -\dimen@\dp\pst@hbox\advance\dimen@\psframesep\dp\pst@hbox\dimen@% -\@ifundefined{LaTeXe}{\special{color push \current@color}% - \rlap{\vrule width\wd\pst@hbox height\ht\pst@hbox depth\dp\pst@hbox}% - \special{color pop}}% - {\color@block{\wd\pst@hbox}{\ht\pst@hbox}{\dp\pst@hbox}}}% -\rlap{\hskip\psframesep\unhbox\pst@hbox}}} -\def\AltClipMode{} -\def\putoverlaybox#1{% -\hbox{\special{x: gsave}\special{x: initoverlay #1}\copy\theoverlaybox\special{x: grestore}}} -\def\pst@overlay#1{\edef\curr@overlay{#1}\special{x: clipoverlay #1}\aftergroup\pst@endoverlay} -\def\pst@endoverlay{\special{x: clipoverlay \curr@overlay}} -\def\AltOverlayMode{} -%The next line is not necessary, if pstricks.sty of [2007/02/18 v0.33] or newer is used. -\@ifundefined{LaTeXe}{}{\AtBeginDocument{\psset{fillcolor=white}}} -\endinput -% -% -%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%% - -Here are the commands that must be defined in this file: - - \pstverb{} - The argument is included as verbatim PostScript, - grouped by save and restore. The coordinate system - should be square, not rotated, and with the origin - at TeX's currentpoint. - - \pstVerb{} - The argument is included as verbatim PostScript, not - grouped by (g)save and (g)restore. The currentpoint - should be TeX's currentpoint. - - \pstunit - The units used by driver for graphics included with - \pstverb. Probably 1bp or 1sp. - - \pstverbscale - The PostScript code that scales the coordinate system - from that in effect with \pstVerb to that in effect - with \pstverb. Should not translate to the currentpoint. - - \pstrotate - The PostScript code that takes a number off the stack - and rotates the axes properly. I.e., - \pstVerb{angle \pstrotate} is used to begin rotations. - - \pstheader{} - The argument is a header file (e.g., .pro file). - If your driver does not support such a special, then - the command might just remind you to include the header - when printing. You can use PSTricks without a header, - in which case it does not matter how you define - \pstheader. See read-me.pst for details. - If you cannot change the default directory where your - driver looks for header files, and you cannot write to - that directory, then you include the path for your - PSTricks header files. - E.g., \def\pstheader#1{\special{header=~/tex/#1}}. - - \pstdriver - The name of the driver. - - -%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%% - -See your local TeX documentation for instructions on creating a TeX format. - -Before making the format, be sure that this configuration file is correct. -It will be read only when creating the format, and not with every job. - -If you are not using header files, there are no more special instructions. - -Special instructions when using header files: - - - If you want to include supplementary PSTricks files (e.g., pst-node.tex), - add \input commands in the customization section above. - - - If your definition of \pstheader is, e.g. - - \def\pstheader#1{\special{\header=#1}} - - then change it to - - \def\pstheader#1{% - \expandafter\everyjob\expandafter{\the\everyjob - \special{header=#1}}} - - and put your original definition in the customization section, AFTER - any \input commands. E.g., the customization section might look like: - - \pstcustomize - \input pst-node.tex - \input pst-coil.tex - \def\pstheader#1{\special{header=#1}} - - - Input pstricks.tex at the appropriate time when creating the format. - E.g., when initex stops running: - *\input pstricks - *\dump - - -%% -%% END: pstricks.con diff --git a/Master/texmf-dist/tex/latex/pstricks/pst-all.sty b/Master/texmf-dist/tex/latex/pstricks/pst-all.sty index 8ac0ada25bf..4882c2287b4 100644 --- a/Master/texmf-dist/tex/latex/pstricks/pst-all.sty +++ b/Master/texmf-dist/tex/latex/pstricks/pst-all.sty @@ -17,9 +17,9 @@ % and does some modification to the color handling. Look at the % doc for the options. % +\RequirePackage{pst-plot} \RequirePackage{pst-node} \RequirePackage{pst-tree} -\RequirePackage{pst-plot} \RequirePackage{pst-grad} \RequirePackage{pst-coil} \RequirePackage{pst-text} diff --git a/Master/texmf-dist/tex/latex/pstricks/pst-node.sty b/Master/texmf-dist/tex/latex/pstricks/pst-node.sty deleted file mode 100644 index 7c937c4b74b..00000000000 --- a/Master/texmf-dist/tex/latex/pstricks/pst-node.sty +++ /dev/null @@ -1,10 +0,0 @@ -\RequirePackage{pstricks} -\ProvidesPackage{pst-node}[2006/01/01 package wrapper for pst-node.tex] -\input{pst-node.tex} -\ProvidesFile{pst-node.tex} - [\filedate\space \fileversion\space `pst-node' (tvz)] -\IfFileExists{pst-node.pro}{% - \ProvidesFile{pst-node.pro} - [2009/01/30 v. 1.02, PostScript prologue file (hv)] - \@addtofilelist{pst-node.pro}}{}% -\endinput diff --git a/Master/texmf-dist/tex/latex/pstricks/pst-plot.sty b/Master/texmf-dist/tex/latex/pstricks/pst-plot.sty deleted file mode 100644 index 598b46de429..00000000000 --- a/Master/texmf-dist/tex/latex/pstricks/pst-plot.sty +++ /dev/null @@ -1,6 +0,0 @@ -\RequirePackage{pstricks} -\ProvidesPackage{pst-plot}[2004/07/15 package wrapper for pst-plot.tex] -\input{pst-plot.tex} -\ProvidesFile{pst-plot.tex} - [\filedate\space \fileversion\space `pst-plot' (tvz)] -\endinput diff --git a/Master/texmf-dist/tex/latex/pstricks/pstricks.sty b/Master/texmf-dist/tex/latex/pstricks/pstricks.sty index e58cadb4825..8e4c99c2c1c 100644 --- a/Master/texmf-dist/tex/latex/pstricks/pstricks.sty +++ b/Master/texmf-dist/tex/latex/pstricks/pstricks.sty @@ -5,7 +5,7 @@ %% %% pstricks.sty Copyright (C) 1997 Timothy Van Zandt %% pstcol.sty Copyright (C) 1994-1996 1999 David Carlisle -%% pstricks.sty Copyright (C) 2004-2009 Herbert Voss <voss@perce.de> +%% pstricks.sty Copyright (C) 2004-2010 Herbert Voss <voss@perce.de> %% Rolf Niepraschk <Rolf.Niepraschk@ptb.de> %% %% This package may be distributed under the terms of the LaTeX Project @@ -18,7 +18,7 @@ \ProvidesPackage{pstricks} [2008/11/26 v0.40 LaTeX wrapper for `PSTricks' (RN,HV)] % -\def\documentclass{ +\def\documentclass{% \edef\@tempa{\jobname.tex }% \edef\@tempb{\@filef@und}% \@onelevel@sanitize\@tempa @@ -65,6 +65,9 @@ \input{\pst@tempa}% \ProvidesFile{\pst@tempa} [\filedate\space v\fileversion\space `PSTricks' (tvz,hv)] + \input{pst-fp.tex} + \ProvidesFile{pst-fp.tex} + [\filedate\space v\fileversion\space `PST-fp' (hv)] \IfFileExists{pstricks.pro}{% \ProvidesFile{pstricks.pro} [2009/01/30 v. 1.06, PostScript prologue file (hv)] |