diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /graphics/pstricks/base/doc |
Initial commit
Diffstat (limited to 'graphics/pstricks/base/doc')
44 files changed, 10666 insertions, 0 deletions
diff --git a/graphics/pstricks/base/doc/PSTricks.bib b/graphics/pstricks/base/doc/PSTricks.bib new file mode 100644 index 0000000000..daaa78d445 --- /dev/null +++ b/graphics/pstricks/base/doc/PSTricks.bib @@ -0,0 +1,109 @@ +@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} } + +@Book{PostScript, + Author = {Kollock, Nikolai G.}, + Title = {PostScript richtig eingesetzt: vom Konzept zum + praktischen Einsatz}, + Publisher = {IWT}, + Address = {Vaterstetten}, + year = 1989, +} + +@online{pdftricks, + Title = {PSTricks Support for pdf}, + Author = {Herbert Voß}, + url = {http://PSTricks.tug.org/main.cgi?file=pdf/pdfoutput}, + year = 2002, +} + +@online{miwi, + Title = {References for \TeX{} and Friends}, + Author = {Michael Wiedmann and Peter Karp}, + url = {http://www.miwie.org/tex-refs/}, + year = 2003, +} + +@Article{dtk02.2:jackson.voss:plot-funktionen, + author = {Laura E. Jackson and Herbert Voß}, + title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}}, + journal = dtk, + year = 2002, + volume = {2/02}, + altvolume = 2, + altnumber = 14, + month = jun, + pages = {27--34}, + annote = bretter, + abstract = { Im letzten Heft wurden die mathematischen Funktionen von + \PS~im Zusammenhang mit dem {\LaTeX}-Paket + \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben + und durch Beispiele erl{\"a}utert. In diesem Teil werden + die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r + externe Daten behandelt. } +} + +@Article{dtk02.1:voss:mathematischen, + author = {Herbert Voß}, + title = {Die mathematischen {F}unktionen von {P}ostscript}, + journal = dtk, + year = 2002, + volume = {1/02}, + altvolume = 1, + altnumber = 14, + month = mar, + pages = {40-47}, + annote = bretter, + abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im + Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es + darum geht zu beurteilen, was es denn nun im eigentlichen + Sinne ist. Außerdem wird h{\"a}ufig vergessen, dass + sich mit den \PS-Funktionen viele Dinge erledigen lassen, + bei denen sonst auf externe Programme zur{\"u}ckgegriffen + wird. Dies wird im Folgenden f{\"u}r die mathematischen + Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot} + gezeigt. } +} + +@Book{companion, + author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Voß}, + title = {The {\LaTeX} {G}raphics {C}ompanion}, + publisher = {{Addison-Wesley Publishing Company}}, + edition = 2, + year = {2007}, + address = {Reading, Mass.} +} + +@Book{PSTricks2, + author = {Herbert Voß}, + title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, + edition = 7, + publisher = {DANTE -- Lehmanns Media}, + year = {2016}, + location = {Heidelberg and Berlin} +} + +@Book{PSTricksE, + author = {Herbert Voß}, + title = {\texttt{PSTricks} -- {G}raphics for \LaTeX}, + edition = {1}, + publisher = {UIT}, + year = {2011}, + address = {Cambridge/UK} +} + +@Book{LaTeXRef, + author = {Herbert Voß}, + title = {\LaTeX\ Referenz}, + edition = {3}, + publisher = {DANTE -- lehmanns media}, + year = {2014}, + address = {Heidelberg and Berlin} +} +@Book{LaTeXRefE, + author = {Herbert Voß}, + title = {\LaTeX\ Quick Reference}, + edition = {1}, + publisher = {UIT}, + year = {2011}, + address = {Cambridge/UK} +} diff --git a/graphics/pstricks/base/doc/ctandir.sty b/graphics/pstricks/base/doc/ctandir.sty new file mode 100644 index 0000000000..37928e9582 --- /dev/null +++ b/graphics/pstricks/base/doc/ctandir.sty @@ -0,0 +1,30 @@ +%% 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/graphics/pstricks/base/doc/images/flowers.eps b/graphics/pstricks/base/doc/images/flowers.eps new file mode 100644 index 0000000000..3f279322a6 --- /dev/null +++ b/graphics/pstricks/base/doc/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/graphics/pstricks/base/doc/images/tiger.eps b/graphics/pstricks/base/doc/images/tiger.eps new file mode 100644 index 0000000000..5588d5236b --- /dev/null +++ b/graphics/pstricks/base/doc/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/graphics/pstricks/base/doc/images/tiger.pdf b/graphics/pstricks/base/doc/images/tiger.pdf Binary files differnew file mode 100644 index 0000000000..cc016e95de --- /dev/null +++ b/graphics/pstricks/base/doc/images/tiger.pdf diff --git a/graphics/pstricks/base/doc/pst-doc.bst b/graphics/pstricks/base/doc/pst-doc.bst new file mode 100644 index 0000000000..52759e253c --- /dev/null +++ b/graphics/pstricks/base/doc/pst-doc.bst @@ -0,0 +1,1373 @@ +%% +%% This is file `dtk.bst' +%% +%% version 1.3, 2013-01-26 +%% copyright 2013 by DANTE e.V. +%% + %------------------------------------------------------------------- + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in + % GERMAN + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % This is alphabetical by authors. + %--------------------------------------------------------------------- + +ENTRY + { abstracts + address + author + booktitle + chapter + ctanurl + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + urldate + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { "; " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {add.colon} +{ empty$ + 'skip$ + { before.all 'output.state := ":" output add.blank } + if$ +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {non.stop} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + %------------------------------------------------------------------- + % The original source file contains the following version information: + % \ProvidesFile{german.mbs}[1995/10/25 1.4 (PWD)] + % Copyright (C) 1994, 1995 Patrick W. Daly + %------------------------------------------------------------------- + + % The language selected here is GERMAN +FUNCTION {bbl.and} +{ "und"} + +FUNCTION {bbl.editors} +{ "Hg." } + +FUNCTION {bbl.editor} +{ "Hg." } + +FUNCTION {bbl.edby} +{ "herausgegeben von" } + +FUNCTION {bbl.edition} +{ "Aufl." } + +FUNCTION {bbl.volume} +{ "Bd." } + +FUNCTION {bbl.of} +{ "von" } + +FUNCTION {bbl.number} +{ "Nr." } + +FUNCTION {bbl.nr} +{ "Nr." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "S." } + +FUNCTION {bbl.page} +{ "S." } + +FUNCTION {bbl.chapter} +{ "Kap." } + +FUNCTION {bbl.techrep} +{ "{Techn.\ Ber.}" } + +FUNCTION {bbl.mthesis} +{ "Diplomarbeit" } + +FUNCTION {bbl.phdthesis} +{ "Dissertation" } + +FUNCTION {bbl.first} +{ "1." } + +FUNCTION {bbl.second} +{ "2." } + +FUNCTION {bbl.third} +{ "3." } + +FUNCTION {bbl.fourth} +{ "4." } + +FUNCTION {bbl.fifth} +{ "5." } + +FUNCTION {bbl.th} +{ "." } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Febr."} + +MACRO {mar} {"M\^^b{a}rz"} + +MACRO {apr} {"Apr."} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Okt."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dez."} + + % End of language definition file + + +MACRO{DTK}{"Die \TeX nische Ko\-mö\-die"} +MACRO{TUGboat}{"TUGboat"} +MACRO{TTN}{"\TeX{} and TUG News"} +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { + nameptr #3 = + numnames #3 > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + t "others" = + { " et~al." * } + { bbl.and space.word * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.names.ed} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ff~}{vv~}{ll}{, jj}" + format.name$ 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + t "others" = + { " et~al." * } + { bbl.and space.word * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { + author format.names + } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { + editor format.names + editor num.names$ #1 > + { " (" * bbl.editors * ")" * } + { " (" * bbl.editor * ")" * } + if$ + } + if$ +} + +FUNCTION {format.in.editors} +{ editor empty$ + { "" } + { editor format.names.ed + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title + emphasize + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + 'year +% { month ", " * year * } + { month "~" * year * } + if$ + } + if$ +} + +FUNCTION {format.url} +{ url empty$ + {""} + {"\url{" url * "}" * } + if$ +} + +FUNCTION {format.ctanurl} +{ ctanurl empty$ + {""} + {"\ctanurl{" ctanurl * "}" * } + if$ +} + + +FUNCTION {format.urldate} +{ urldate empty$ + {""} +% {'skip$} + {"zuletzt besucht: " urldate *} + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.connect + series empty$ + 'skip$ + { bbl.of space.word * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { bbl.in space.word * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ edition extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s bbl.th * 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { convert.edition "l" change.case$ "~" * bbl.edition * } + { convert.edition "t" change.case$ "~" * bbl.edition * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { bbl.pages pages n.dashify tie.or.space.connect } + { bbl.page pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { + "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { word.in booktitle emphasize * } + { word.in booktitle emphasize * + " (" * + editor num.names$ #1 > + { bbl.editors } + { bbl.editor } + if$ + capitalize + * " " * + format.in.editors * + ")" * + } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { bbl.techrep } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ + key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { word.in journal emphasize * } + if$ + } + { word.in key * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + word.in + } + { bbl.volume volume tie.or.space.connect + bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { word.in booktitle emphasize * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author add.colon + format.title "title" output.check + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor add.colon + } + { format.authors output.nonnull + author add.colon + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + publisher "publisher" output.check + address output + } + { + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author add.colon + format.title "title" output.check + howpublished output + address output + format.date output + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor add.colon + } + { format.authors output.nonnull + author add.colon + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + publisher "publisher" output.check + address output + } + { + format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author add.colon + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author add.colon + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address empty$ + { organization publisher new.sentence.checkb + organization output + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + organization output + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + author add.colon + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address output + } + 'skip$ + if$ + } + { + organization output + address output + } + if$ + format.edition output + format.date output + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author add.colon + format.btitle "title" output.check + bbl.mthesis format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author add.colon + format.title output + howpublished output + format.date output + note output + fin.entry +} + +FUNCTION {online} +{ output.bibitem + format.authors output + author add.colon + format.title output + format.date output + address output + format.url output + format.urldate output + note output + fin.entry +} + +FUNCTION {ctan} +{ output.bibitem + format.authors output + author add.colon + format.title output + format.date output + format.ctanurl output + format.urldate output + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author add.colon + format.btitle "title" output.check + bbl.phdthesis format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + editor add.colon + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { publisher new.sentence.checka } + { organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author add.colon + format.title "title" output.check + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author add.colon + format.title "title" output.check + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ ff{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + nameptr #3 = + numnames #3 > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + " " * + namesleft #1 = t "others" = and + { "aaaaa" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +%% End of customized bst file diff --git a/graphics/pstricks/base/doc/pst-doc.cls b/graphics/pstricks/base/doc/pst-doc.cls new file mode 100644 index 0000000000..d03ad411d9 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-doc.cls @@ -0,0 +1,518 @@ +% $Id: pst-doc.cls 857 2018-12-13 11:20:40Z herbert $ +% +%% +%% The PSTricks Project +%% +%% ``pst-doc'' class for use with the PSTricks documentation. +%% +%% Copyright (C) 2009-2017 Herbert Voss +%% +%% It may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% +%% See http://www.latex-project.org/lppl.txt for details. +%% +% +\listfiles +\ProvidesClass{pst-doc}[2017/04/18 v 0.20 PSTricks documentation class (hv)] +\DeclareOption*{\PassOptionsToClass{\CurrentOption,usegeometry}{scrartcl}} +\ProcessOptions\relax +% +\LoadClass{scrartcl} +% +\RequirePackage[dvipsnames,x11names,svgnames,table]{xcolor} +\RequirePackage{ifxetex} +\RequirePackage{amsmath, amssymb} +\ifxetex + \usepackage{unicode-math} + \usepackage{libertinus-otf} + \setmonofont[Scale=MatchLowercase,FakeStretch=0.92]{DejaVu Sans Mono} + \setmathfont{XITS Math} +\else + \RequirePackage[T1]{fontenc} + \RequirePackage{textcomp} + %\RequirePackage[euler-digits]{eulervm} + \RequirePackage{bera} + %\RequirePackage[scaled=0.85]{luximono} +\fi +\usepackage[includeheadfoot,lmargin=2cm,tmargin=1cm,bmargin=1.5cm,rmargin=1.5cm]{geometry} +\RequirePackage{ifpdf} +% Define commands that don't eat spaces. +\RequirePackage{xspace} +\makeatletter +\providecommand{\IfPackageLoaded}[2]{\@ifpackageloaded{#1}{#2}{}} +\providecommand{\IfPackageNotLoaded}[2]{\@ifpackageloaded{#1}{}{#2}} +\providecommand{\IfElsePackageLoaded}[3]{\@ifpackageloaded{#1}{#2}{#3}} +\providecommand{\IfChapterDefined}[1]{\ifthenelse{\boolean{chapteravailable}}{#1}{}}% +\providecommand{\IfElseChapterDefined}[2]{\ifthenelse{\boolean{chapteravailable}}{#1}{#2}}% +\providecommand{\IfDefined}[2]{\ifcsname #1\endcsname #2 \fi} +\providecommand{\IfElseDefined}[3]{\ifcsname #1\endcsname #2 \else #3 \fi} +\providecommand{\IfElseUnDefined}[3]{\ifcsname #1\endcsname #3 \else #2\fi} +% Definde frontmatter, mainmatter and backmatter if not defined +\@ifundefined{frontmatter}{% + \newcommand{\frontmatter}{% + %In Roemischen Buchstaben nummerieren (i, ii, iii) + \pagenumbering{roman}} +}{} +\@ifundefined{mainmatter}{% + % scrpage benoetigt den folgenden switch + % wenn \mainmatter definiert ist. + \newif\if@mainmatter\@mainmattertrue + \newcommand{\mainmatter}{% + % -- Seitennummerierung auf Arabische Zahlen zuruecksetzen (1,2,3) + \pagenumbering{arabic}% + \setcounter{page}{1}} +}{} +\@ifundefined{backmatter}{% + \newcommand{\backmatter}{ + %In Roemischen Buchstaben nummerieren (i, ii, iii) + \pagenumbering{roman}} +}{} + +% Pakete speichern die spaeter geladen werden sollen +\newcommand{\LoadPackagesNow}{} +\newcommand{\LoadPackageLater}[1]{% + \g@addto@macro{\LoadPackagesNow}{% + \RequirePackage{#1}% + }% +} +% +\RequirePackage{makeidx} +\makeindex +\RequirePackage{calc} +\RequirePackage{babel} +\RequirePackage{xkeyval} +\RequirePackage{pst-xkey} +\RequirePackage{pstricks} +\RequirePackage{xkvview} +%\let\pstricksFV\fileversion +%\let\pstricksFD\filedate +\RequirePackage{multido} +\RequirePackage{lscape} +\RequirePackage{graphicx} +\RequirePackage{eso-pic} +\definecolor{DOrange}{rgb}{1,.4,.2} +\RequirePackage{tabularx,ragged2e} +\RequirePackage{booktabs} +\RequirePackage[bottom,stable,ragged]{footmisc} +%\RequirePackage{chngcntr} +\RequirePackage{nameref} +\RequirePackage{varioref} +\RequirePackage{subfig} +\RequirePackage{setspace} +\RequirePackage{paralist} +\RequirePackage{biblatex} +% +\RequirePackage{fancyvrb} +\newenvironment{Xverbatim}[2][]% + {\VerbatimEnvironment +\handle@index{#2} +\begin{Verbatim}[#1]} +{\end{Verbatim}} +\newcommand\use@index@vals{\index@vals\global\let\index@vals\relax} +\def\handle@index#1{% + \gdef\index@vals{#1}% + \def\FancyVerbFormatLine##1{\FV@ObeyTabs{##1}\use@index@vals}} + +\RequirePackage{filecontents} +%\singlespace +\RequirePackage{showexpl} +\renewcommand*\SX@Info{}% +\definecolor{hellgelb}{rgb}{1,1,0.85} +\definecolor{colKeys}{rgb}{0,0,1} +\definecolor{colIdentifier}{rgb}{0,0,0} +\definecolor{colComments}{rgb}{1,0,0} +\definecolor{colString}{rgb}{0,0.5,0} +\providecommand\ON{% + \gdef\lst@alloverstyle##1{% + \fboxrule=0pt + \fboxsep=0pt + \fcolorbox{Black!15}{Black!15}{\bfseries\strut##1}% +}} +\providecommand\OFF{\xdef\lst@alloverstyle##1{##1}} +\lstset{% + language=PSTricks,% + float=hbp,% + basicstyle=\ttfamily\small, % + identifierstyle=\color{colIdentifier}, % + keywordstyle=\color{colKeys}, % + stringstyle=\color{colString}, % + commentstyle=\color{colComments}, % + columns=flexible, % + tabsize=4, % + frame=single, % + extendedchars=true, % + showspaces=false, % + showstringspaces=false, % +% numbers=left, +% numbersep=0.8em, +% numberstyle=\tiny, % + breaklines=true, % + breakautoindent=true, + captionpos=b, + xleftmargin=1em +} +\lstset{explpreset={pos=t,wide=false,rframe={},preset=\centering}} +\lstdefinestyle{syntax}{backgroundcolor=\color{blue!15},numbers=none,xleftmargin=0pt,xrightmargin=0pt, + frame=single} +\lstdefinestyle{code}{backgroundcolor=\color{red!15},%numbers=left, +xleftmargin=0pt,xrightmargin=0pt, + frame=single} +% +\usepackage{manfnt} +\newcommand\XInfofont{\color{blue}\fontsize{8pt}{10pt}\normalfont\itshape} +\newcommand\XInfo[2][1]{\marginpar + [\XInfocorr{#1}\raggedleft\XInfofont#2]% + {\XInfocorr{#1}\raggedright\XInfofont#2}} +\newcommand\XInfocorr[1]{\mbox{}\par + \ifcase#1\relax + \vspace{-10pt}\or + \vspace{2pt}\or + \vspace{14pt}\else + \ifnum #1=-1 \vspace{-22pt}\else\ERROR\fi + \fi} +\newcommand\XInfoDanger[2][1]{\marginpar + [\XInfocorr{#1}\raggedleft\XInfofont + \let\\\@normalcr + \hangafter-2\hangindent=-.9pc\parindent=-\@flushglue + \noindent\rlap{\makebox[\marginparwidth]{\hfill\lower1.2pt\hbox{\dbend}\hspace*{-8pt}}}\hfill#2]% + {\XInfocorr{#1}\raggedright\XInfofont + \let\\\@normalcr + \hangafter-2\hangindent=.9pc\noindent\llap{\lower1.2pt\hbox{\lhdbend}\,}#2}} +% +\RequirePackage{xkvview} +\raggedbottom +\definecolor{sectioncolor}{RGB}{0, 0, 255} % Schwarz +\definecolor{textcolor}{RGB}{0, 0, 0} % Schwarz +\definecolor{shadecolor}{gray}{0.90} +\colorlet{pdflinkcolor}{DOrange} +\colorlet{pdfurlcolor}{DOrange} +\colorlet{pdffilecolor}{DOrange} +\colorlet{stringcolor}{green!40!black!100} +\colorlet{commencolor}{blue!0!black!100} +\RequirePackage[automark]{scrlayer-scrpage} + +\pagestyle{scrheadings} +\clearscrheadings +\clearscrplain +\ohead{\pagemark} +\ihead{\headmark} +\ofoot[\pagemark]{} +\automark[subsection]{section} +\setheadsepline{.4pt}[\color{DOrange}] +\setheadwidth[0pt]{text} +\setfootwidth[0pt]{text} +%% Fussnoten ============================================================= +% Keine hochgestellten Ziffern in der Fussnote (KOMA-Script-spezifisch): +\deffootnote{1.5em}{1em}{\makebox[1.5em][l]{\thefootnotemark}} +\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fussnote +%% Schriften (Sections )================================================== +\newcommand\SectionFontStyle{\sffamily} +\setkomafont{sectioning}{\bfseries\SectionFontStyle} % % Titelzeilen % \bfseries +\setkomafont{pagenumber}{\bfseries\SectionFontStyle} % Seitenzahl +\setkomafont{pagehead}{\small\sffamily} % Kopfzeile +%\setkomafont{pagefoot}{\small\sffamily} % Kopfzeile +\setkomafont{descriptionlabel}{\itshape} % Kopfzeile +\addtokomafont{sectioning}{\color{sectioncolor}} % Farbe der Ueberschriften +\renewcommand*{\raggedsection}{\raggedright} % Titelzeile linksbuendig, haengend +\RequirePackage{caption} +\captionsetup{ + margin = 10pt, + font = {small,rm}, + labelfont = {small,bf}, + format = plain, % oder 'hang' + indention = 0em, % Einruecken der Beschriftung + labelsep = colon, %period, space, quad, newline + justification = RaggedRight, % justified, centering + singlelinecheck = true, % false (true=bei einer Zeile immer zentrieren) + position = bottom %top +} +%%% Bugfix Workaround +\DeclareCaptionOption{parskip}[]{} +\DeclareCaptionOption{parindent}[]{} + +% Aussehen der Captions fuer subfigures (subfig-Paket) +\IfPackageLoaded{subfig}{ + \captionsetup[subfloat]{% + margin = 10pt, + font = {small,rm}, + labelfont = {small,bf}, + format = plain, % oder 'hang' + indention = 0em, % Einruecken der Beschriftung + labelsep = space, %period, space, quad, newline + justification = RaggedRight, % justified, centering + singlelinecheck = true, % false (true=bei einer Zeile immer zentrieren) + position = bottom, %top + labelformat = parens % simple, empty % Wie die Bezeichnung gesetzt wird + } +} +\setcounter{secnumdepth}{2} % Abbildungsnummerierung mit groesserer Tiefe +\setcounter{tocdepth}{2} % Inhaltsverzeichnis mit groesserer Tiefe +% +% Inhalte von List of Figures +\IfPackageLoaded{subfig}{\setcounter{lofdepth}{1} %1 = nur figures, 2 = figures + subfigures +} +\RequirePackage[colorlinks, + urlcolor=pdfurlcolor, + filecolor=pdffilecolor, + linkcolor=pdflinkcolor, + breaklinks, + linktocpage=true]{hyperref} +\ifxetex +\else + \RequirePackage{breakurl} +\fi +\newsavebox\TBox +\newenvironment{Bsp}[1]{% + \par\bigskip% + \begin{lrbox}{\TBox} + \begin{minipage}{\linewidth-2\fboxrule}% + \setlength\fboxsep{1mm}% + \colorbox{DOrange}{\parbox{\linewidth-2\fboxsep}{% + \color{White}\sffamily#1}}\par + \fontsize{10}{12pt}\fontshape{it}\selectfont% + \begin{quote} +}{% +\par\bigskip\end{quote}\end{minipage}\end{lrbox}\fboxsep=0pt% + \fcolorbox{DOrange}{White}{\usebox\TBox}\par\bigskip} + +\newcommand{\RDO}{\color{DOrange!25}\rule[-1mm]{10mm}{5mm}} + +\DeclareRobustCommand\PST{\texttt{PSTricks\xspace}} +\DeclareRobustCommand\PS{\texttt{PostScript\xspace}} +\def\dt{\ensuremath{\,\mathrm{d}t}} +\def\Index#1{\index{#1}#1} +% +\def\LPack#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Package!#1@\texttt{#1}}} +\def\nxLPack#1{\texttt{#1}} +\def\Lprog#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Program!#1@\texttt{#1}}} +\let\nxLprog\nxLPack +\def\LFile#1{\texttt{#1}\index{#1@\texttt{#1}}\index{File!#1@\texttt{#1}}} +\def\nxLFile#1{\texttt{#1}} +\def\Lext#1{\texttt{.#1}\index{#1@\texttt{.#1}}\index{Extension!#1@\texttt{.#1}}} +\def\nxLext#1{\texttt{.#1}} +\def\xLcs#1{\index{#1@\nxLcs{#1}}\index{Macro!#1@\nxLcs{#1}}} +\def\Lcs#1{\nxLcs{#1}\xLcs{#1}} +\def\LcsStar#1{\index{#1*@\nxLcs{#1*}}\index{Macro!#1@\nxLcs{#1*}}\nxLcs{#1}\OptArg*{*}} +\def\nxLcs#1{\texttt{\textbackslash#1}} +\def\xLenv#1{\index{#1@\texttt{#1}}\index{Environment!#1@\texttt{#1}}} +\def\Lenv#1{\texttt{#1}\xLenv{#1}} +\def\Ldim#1{\texttt{\textbackslash#1}\index{#1@\texttt{\textbackslash#1}}\index{Dimension!#1@\texttt{\textbackslash#1}}} +\def\Lskip#1{\texttt{\textbackslash#1}\index{#1@\texttt{\textbackslash#1}}\index{Skip!#1@\texttt{\textbackslash#1}}} +\def\Lkeyword#1{\texttt{#1}\xLkeyword{#1}} +\def\xLkeyword#1{\index{#1@\texttt{#1}}\index{Keyword!#1@\texttt{#1}}} +\def\nxLkeyword#1{\texttt{#1}} + +\def\LKeyword#1{\LKeyword@i#1!!} +\def\LKeyword@i#1=#2!!{\Lkeyword{#1}\nxLkeyword{=#2}} +\let\nxLKeyword\nxLenv % same formatting + +\let\nxLkeyval\nxLkeyword +\let\nxLenv\nxLkeyword +\let\nxLps\nxLkeyword +\def\LColor#1{\texttt{#1}\xLColor{#1}} +\def\xLColor#1{\index{#1@\texttt{#1}}\index{Color!#1@\texttt{#1}}} +\def\Lkeyval#1{\texttt{#1}\xLkeyval{#1}} +\def\xLkeyval#1{\index{#1@\texttt{#1}}\index{Keyvalue!#1@\texttt{#1}}} +\def\xLoption#1{\index{#1@\texttt{#1}}\index{Package option!#1@\texttt{#1}}} +\def\Loption#1{\texttt{#1}\xLoption{#1}} +\def\LPS#1{\texttt{#1}\index{#1@\texttt{#1}}\index{PostScript!#1@\texttt{#1}}} +\def\xLps#1{\index{#1@\texttt{#1}}\index{PostScript!#1@\texttt{#1}}} +\def\nxLps#1{\texttt{#1}} +\def\Lps#1{\nxLps{#1}\xLps{#1}} +\def\LClass#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Class!#1@\texttt{#1}}} +\let\nxLClass\nxLPack +\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}} +\newcommand\Lmnotation[1]{\nxLnotation{#1}\xLmnotation{#1}} +\newcommand\xLnotation[1]{\index{Syntax!#1@\nxLnotation{#1}}\index{#1@\nxLnotation{#1}}} +\def\nxLnotation#1{\texttt{#1}} +\def\xLkeyset#1{\expandafter\xLkeyset@i#1\@nil} +\def\xLkeyset@i#1=#2\@nil{\index{#1@\texttt{#1}}\index{Keyword!#1@\texttt{#1}} + \index{#2@\texttt{#2}}\index{Value!#2@\texttt{#2}}} +\def\Lkeyset#1{\expandafter\Lkeyset@i#1\@nil} +\def\Lkeyset@i#1=#2\@nil{\texttt{#1=#2}% + \index{#1@\texttt{#1}}\index{Keyword!#1@\texttt{#1}} + \index{#2@\texttt{#2}}\index{Value!#2@\texttt{#2}}} +% +\def\xLKeyset#1{\expandafter\xLKeyset@i#1\@nil}% without using the right value of = +\def\xLKeyset@i#1=#2\@nil{\index{#1@\texttt{#1}}\index{Keyword!#1@\texttt{#1}}} +\def\LKeyset#1{\expandafter\LKeyset@i#1\@nil} +\def\LKeyset@i#1=#2\@nil{\texttt{#1=#2}% + \index{#1@\texttt{#1}}\index{Keyword!#1@\texttt{#1}}} +\let\LKeyword\LKeyset +% +\newcommand\Larg [1]{{\normalfont\itshape#1\/}} +\newcommand\Larga[1]{$\langle$\Larg{#1}$\rangle$}% angles +\newcommand\Largb[1]{\lcb\Larg{#1}\rcb} % curly brace +\newcommand\Largs[1]{\lsb\Larg{#1}\rsb} % square brackets +\newcommand\Largr[1]{\lrb\Larg{#1}\rrb} % round brackets +\newcommand\LBEG[1]{{\normalfont\ttfamily\bs{}begin\lcb#1\rcb}\xLenv{#1}} +\newcommand\LmBEG[1]{{\normalfont\ttfamily\bs{}begin\lcb#1\rcb}\xLmenv{#1}} +\newcommand\LEND[1]{{\normalfont\ttfamily\bs{}end\lcb#1\rcb}\xLenv{#1}} +\newcommand\LmEND[1]{{\normalfont\ttfamily\bs{}end\lcb#1\rcb}\xLmenv{#1}} +% +\DeclareRobustCommand\bs{{\normalfont\ttfamily\textbackslash}} % \let\bslash=\bs +\DeclareRobustCommand\lcb{{\normalfont\ttfamily\textbraceleft}} +\DeclareRobustCommand\rcb{{\normalfont\ttfamily\textbraceright}} +\DeclareRobustCommand\lsb{{\normalfont\ttfamily[}} +\DeclareRobustCommand\rsb{{\normalfont\ttfamily]}} +\DeclareRobustCommand\lrb{{\normalfont\ttfamily(}} +\DeclareRobustCommand\rrb{{\normalfont\ttfamily)}} +\DeclareRobustCommand\false{{\ttfamily false}} +\DeclareRobustCommand\true{{\ttfamily true}} + +% +% without brackets +\def\Coordx#1{$x_{#1}$} +\def\Coordy#1{$y_{#1}$} +\def\Coordz#1{$z_{#1}$} +\def\Coord#1{\Coordx{#1},\kern 1pt\Coordy{#1}} +\def\Coordn{\Coordx{n},\kern 1pt\Coordy{n}} +\def\CoordIII#1{\Coordx{#1},\kern 1pt\Coordy{#1},\kern 1pt\Coordz{#1}}% HjG +\def\CAny{\Coordx{},\kern 1pt\Coordy{}} +\def\CIIIAny{\Coordx{},\kern 1pt\Coordy{},\kern 1pt\Coordz{}}% hv +% with brackets +\def\coord#1{(\Coordx{#1},\kern 1pt\Coordy{#1})} +\def\coordn{(\Coordx{n},\kern 1pt\Coordy{n})} +\def\coordiii#1{(\Coordx{#1},\kern 1pt\Coordy{#1},\kern 1pt\Coordz{#1})}% hv +\def\coordx#1{($x_{#1}$)} +\def\coordy#1{($y_{#1}$)} +\def\coordz#1{($z_{#1}$)} +\def\cAny{(\Coordx{},\kern 1pt\Coordy{})} +\def\ciiiAny{(\Coordx{},\kern 1pt\Coordy{},\kern 1pt\Coordz{})}% hv +% +\newskip\BDefaboveskip +\newskip\BDefbelowskip +\newskip\BDefinlineskip +\setlength\BDefaboveskip{0pt plus 2pt}% first-level list topsep +\setlength\BDefbelowskip{10pt} +\setlength\BDefinlineskip{6pt} +% +\newsavebox\boxdef +\newenvironment{BDef} + {\begin{lrbox}{\boxdef} + \def\arraystretch{1.0} + \begin{tabular}{@{}l@{}l@{}l@{}}} + {\end{tabular}\end{lrbox} +% +% braces around next block are needed to stop the list env checking for blank lines +% and the \aftergroups then for making sure no indentation happens ... as i said +% urg +% + {\BCmd\fbox{\usebox\boxdef}\endBCmd} + \aftergroup\@afterindentfalse\aftergroup\@afterheading + } +\newenvironment{BDef*} + {\begin{lrbox}\boxdef + \def\arraystretch{1.0} + \begin{tabular}{@{}l@{}l@{}l@{}} + } + {\end{tabular}\end{lrbox} + {\begin{BCmd*}\fbox{\usebox\boxdef}\end{BCmd*}} + \aftergroup\@afterindentfalse\aftergroup\@afterheading + } +\newenvironment{BCmd}{ + \@beginparpenalty-\@lowpenalty + \topsep\BDefaboveskip + \fboxsep3pt + \flushleft} + {\@endparpenalty\@M + \@topsepadd\BDefbelowskip + \endflushleft} + +\newenvironment{BCmd*}{ + \@beginparpenalty\@M + \topsep\BDefinlineskip + \fboxsep3pt + \flushleft} + {\@endparpenalty5000 + \endflushleft} + + +\def\OptArgs{\colorbox{black!20}{\texttt{[Options]}}\kern1pt} +\def\OptArg{\@ifnextchar*\OptArg@i{\OptArg@ii*}}% star version without braces +\def\OptArg@i*#1{\colorbox{black!20}{\texttt{#1}}\kern1pt} +\def\OptArg@ii*#1{\colorbox{black!20}{\texttt{[#1]}}\kern1pt} +\def\DBS{{\ttfamily\textbackslash\textbackslash}} + +\def\docauthor#1{\gdef\@docauthor{#1}} +\docauthor{} +%\def\author#1{\gdef\@author{#1}\gdef\@docauthor{#1}} + +\providecommand\bgImage{} +\providecommand\bgTitle{} +\providecommand\LenToUnit[1]{#1\@gobble} + +\iffalse +\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 + \psset{unit=1cm} + \begin{pspicture}(1.6in,0)(23cm,21.7cm) + \psframe[fillstyle=solid,linecolor=lightgray,fillcolor=lightgray,linestyle=solid](0,-5.75)(23,10) + \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,10)(23,10.5) + \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,21.1)(23,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}} + \rput[lb](3,7.6){\parbox{15cm}{\sffamily\@date}} + \rput[lb](3,-2.6){\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\shortstack[l]{\@author} + %\begin{tabular}[t]{@{}l@{}} \@author\end{tabular}% +}}} + \rput[C](11,4){\bgImage}% + \end{pspicture}% +\fi +\end{titlepage} +\setcounter{footnote}{0}% +\global\let\thanks\relax% +\global\let\maketitle\relax% +\global\let\@thanks\@empty% +\global\let\@author\@empty% +\global\let\@docauthor\@empty% +\global\let\@date\@empty% +\global\let\@title\@empty% +\global\let\@subtitle\@empty% +\global\let\title\relax% +\global\let\author\relax% +\global\let\date\relax% +\global\let\and\relax% +} +\fi + +\newdimen\fullWidth +\fullWidth=\linewidth +\advance\fullWidth by \marginparsep +\advance\fullWidth by \marginparwidth +\makeatother +%% +%% End of file `pst-doc.cls'. diff --git a/graphics/pstricks/base/doc/pst-doc.ist b/graphics/pstricks/base/doc/pst-doc.ist new file mode 100644 index 0000000000..3b76b84ca5 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-doc.ist @@ -0,0 +1,36 @@ +%% +%% This is file `pst-doc.ist', +%% +%% The idea is from Ingo Kloeckl, Latex2e: +%% Herbert Voss 000726 +%% +%% This is a MAKEINDEX style file which should be used to +%% generate the formatted change history for use with the doc +%% package. The TeX commands used below are defined in +%% doc.sty. The commands for MAKEINDEX like `level' +%% `item_x1' are described in `` Makeindex, A General +%% Purpose, Formatter-Independent Index Processor'' by +%% Pehong Chen. +%% +headings_flag 1 % headings yes +heading_prefix "\\textbf{" % boldfont +heading_suffix "}\n" % newline +quote '"' +level '>' +preamble + "\\begin{theindex}\n" +item_1 + "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}" +item_01 + "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}" +item_x1 + "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}" +item_2 + "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }" +item_12 + "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }" +item_x2 + "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }" +%% +%% +%% End of file `pst-doc.ist'. diff --git a/graphics/pstricks/base/doc/pst-doc.pdf b/graphics/pstricks/base/doc/pst-doc.pdf Binary files differnew file mode 100644 index 0000000000..0718eddae9 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-doc.pdf diff --git a/graphics/pstricks/base/doc/pst-news.sty b/graphics/pstricks/base/doc/pst-news.sty new file mode 100644 index 0000000000..8ce484574a --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news.sty @@ -0,0 +1,103 @@ +%% $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 +\RequirePackage{pst-node} +\let\NODEfiledate\filedate +\let\NODEfileversion\fileversion +\RequirePackage{pst-plot} +\let\PLOTfiledate\filedate +\let\PLOTfileversion\fileversion +\RequirePackage{pst-tree} +\let\TREEfiledate\filedate +\let\TREEfileversion\fileversion +% +\RequirePackage{showexpl} +\RequirePackage{makeidx} +\makeindex +\RequirePackage{tabularx,array,longtable} +\SpecialCoor +\RequirePackage{ragged2e} +\definecolor{hellgelb}{rgb}{1,1,0.8} +\definecolor{colKeys}{rgb}{0,0,1} +\definecolor{colIdentifier}{rgb}{0,0,0} +\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,% + float=hbp,% + basicstyle=\ttfamily\small, % + identifierstyle=\color{colIdentifier}, % + keywordstyle=\color{colKeys}, % + stringstyle=\color{colString}, % + commentstyle=\color{colComments}, % + columns=flexible, % + tabsize=4, % + frame=single, % + extendedchars=true, % + showspaces=false, % + showstringspaces=false, % + numbers=left, % + numberstyle=\tiny, % + breaklines=true, % +% backgroundcolor=\color{hellgelb}, % + breakautoindent=true, % + 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 +% +%\psset{subgriddiv=0,griddots=5,gridlabels=7pt} +% +\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} +\let\PSTbibliography\bibliography +\renewcommand\bibliography[1]{\begingroup\RaggedRight\PSTbibliography{#1}\endgroup} +\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}}} +\def\nxLPack#1{\texttt{#1}} +\def\LFile#1{\texttt{#1}\index{#1@\texttt{#1}}\index{File!#1@\texttt{#1}}} +\def\nxLFile#1{\texttt{#1}} +\def\Lcs#1{\texttt{\textbackslash#1}\index{#1@\texttt{\textbackslash#1}}\index{Macro!#1@\texttt{\textbackslash#1}}} +\def\nxLcs#1{\texttt{\textbackslash#1}} +\def\Lenv#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Environment!#1@\texttt{#1}}} +\def\Ldim#1{\texttt{\textbackslash#1}\index{#1@\texttt{\textbackslash#1}}\index{Dimension!#1@\texttt{\textbackslash#1}}} +\def\Lkeyword#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Keyword!#1@\texttt{#1}}} +\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/graphics/pstricks/base/doc/pst-news.tex b/graphics/pstricks/base/doc/pst-news.tex new file mode 100644 index 0000000000..f9e40428f8 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news.tex @@ -0,0 +1,274 @@ +%% $Id: pst-news.tex 444 2017-04-19 10:55:35Z herbert $ +\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings + headexclude,footexclude,oneside]{pst-doc} +\listfiles +\let\Lfile\LFile +\usepackage[utf8]{inputenc} +\usepackage{pstricks,pst-plot,xkvview} +\let\pstplotFV\fileversion +\let\pstplotFD\filedate +\usepackage{pst-eucl,pst-func} +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}2011}} +\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}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\subtitle{Summary of the yearly posted news} +\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} + +\begin{description} +\item[\texttt{noxcolor}] load package \LPack{color} instead of \LPack{xcolor}; +\item[\texttt{plain}] do nothing else as a \Lcs{input}\Largb{\nxLPack{pstricks}}; +\item[\texttt{DIA}] a bug fix for the \verb+PSTricks+-export of the grafic program DIA. +\end{description} + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} +%-------------------------------------------------------------------------------------- + +\subsection{New and modified option for {pspicture}}\label{sec:option} + +Table~\ref{tab:pspicture} shows the two new options for the \verb+pspicture+ environment. + +\begin{table}[htb] +\caption{Optionen der \texttt{pspicture}-Umgebung}\label{tab:pspicture} +\centering +\begin{tabular}{@{}lll@{}} +\textrm{\emph{name}} & \emph{meaning} & \emph{default}\\\hline +\Lkeyword{shift} & vertical shift & 0 \\ +\Lkeyword{showgrid} & show grid & \verb+false+\\ +\end{tabular} +\end{table} + + +% --------------------------------------------------------------------------------------- +\subsubsection{\nxLkeyword{shift}}\label{subsubsec:shift} +% --------------------------------------------------------------------------------------- +This option is the known one from older \texttt{PSTricks} versions, but now with the +common syntax for options. The shift is relative to the height of the defined \Lenv{pspicture} +environment, its lower left corner is by deafult on the base line. For older versions +the shift depends with its value to the baseline, a negative value raised up the \Lenv{pspicture} +box. Now the \verb+shift+ option works similiar to the known \Lcs{raisebox} makro, except that +\Lkeyword{shift} is relative to the box height. A positive \Lkeyword{shift} value raises up the box +and vice versa for a negative value. + +\begin{figure}[htb] +\centering +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}[shift=0.5](-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){-0.5} +\end{pspicture}% +\textcolor{red}{\rule{5mm}{1pt}} +\hspace{1cm}% +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}(-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0} +\end{pspicture}\textcolor{red}{\rule{5mm}{1pt}} +\hspace{1cm}% +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}[shift=-0.5](-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0.5} +\end{pspicture}% +\textcolor{red}{\rule{5mm}{1pt}} +\caption{Meaning of the \texttt{shift} option}\label{fig:baseline} +\end{figure} + +%\begin{lstlisting}[caption={Vertikale Verschiebung der Baseline}] +\begin{lstlisting} +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}[shift=0.5](-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){-0.5} +\end{pspicture}% +\textcolor{red}{\rule{5mm}{1pt}} +\hspace{1cm}% +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}(-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0} +\end{pspicture}\textcolor{red}{\rule{5mm}{1pt}} +\hspace{1cm}% +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}[shift=-0.5](-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0.5} +\end{pspicture}% +\textcolor{red}{\rule{5mm}{1pt}} +\end{lstlisting} + +With \Lkeyword{shift}=\Lkeyval{*}, instead of a value or a length +it is possible to center the \Lenv{pspicture} box vertically to the baseline +of the current line. + +\begin{LTXexample}[width=4cm] +\usepackage{pstricks} +\rule{5mm}{0.5pt}% +\psframebox{% +\begin{pspicture}[showgrid=true, + shift=*](-0.3,-0.4)(3.2,3.3) + \psarc[showpoints=true](1,1){2}{-45}{120} +\end{pspicture}}\rule{5mm}{0.5pt} +\end{LTXexample} + + +% --------------------------------------------------------------------------------------- +\subsubsection{\texttt{showgrid}}\label{subsubsec:showgrid} +% --------------------------------------------------------------------------------------- +This version of \texttt{PSTricks} defines internally a special grid style + +\begin{lstlisting} +\newpsstyle{gridstyle}{subgriddiv=0,gridcolor=lightgray,griddots=10,gridlabels=8pt} +\end{lstlisting} + +which can be overwritten by the user. This style is only used for the \Lkeyword{showgrid} +option of the \Lenvpspicture} environment. The macro \Lcs{psgrid} doesn't use this predefined +style and works in the usual way. However, the user can use it like all +other self defined styles: \Lcs{psgrid}\Largs{\Lkeyset{style=gridstyle}}. + + +\begin{LTXexample}[width=3.5cm] +\begin{pspicture}[showgrid=true](-1,0)(2,1) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=3.5cm] +\newpsstyle{gridstyle}{% + subgriddiv=2,subgridcolor=lightgray} +\begin{pspicture}[showgrid=true](-1,0)(2,1) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=3.5cm] +\newpsstyle{gridstyle}{} +\begin{pspicture}[showgrid=true](-1,0)(2,1) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=3.5cm] +\begin{pspicture}(-1,0)(2,1) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=3.5cm] +\begin{pspicture}(-1,0)(2,1) + \psgrid +\end{pspicture} +\end{LTXexample} + +Depending to the internal structure of the \Lenv{pspicture} environment it is not possible +to set the \Lkeyword{shift} option global by \Lcs{psset}, it must always be locally defined +with optional part of the parameter, as seen in the above examples. + +\subsection{Option \nxLkeyword{gridfont}} +By default the \Index{grid label}s were printed always in \Index{Helvetica}. With the new keyword \Lkeyword{gridfont} +one can define another \Index{PostScript Font}. Available are at least + +\medskip +{\ttfamily\noindent +\Lkeyval{Helvetica} (default) -- \Lkeyval{Helvetica-Narrow} -- \Lkeyval{Times-Roman} -- \Lkeyval{Courier} -- \Lkeyval{AvantGard} --\Lkeyval{NewCenturySchlbk} -- +\Lkeyval{Palatino-Roman} -- \Lkeyval{Bookman-Demi} -- \linebreak \Lkeyval{ZapfDingbats} -- \Lkeyval{Symbol}} + +\begin{LTXexample}[width=4cm] +\usepackage{pstricks} +\begin{pspicture}[showgrid=true](3,2) +\end{pspicture}\\[20pt] +\begin{pspicture}(3,2) + \psgrid[style=gridstyle,gridfont=AvantGard-Demi] +\end{pspicture}\\[20pt] +\begin{pspicture}(3,2) + \psgrid[style=gridstyle,gridfont=ZapfDingbats] +\end{pspicture} +\end{LTXexample} + + + + +\subsection{Macro \nxLcs{psLoop}} +\PST\marginpar[2.17]{2.17} already knows \Lcs{psforeach} and \Lcs{psForeach} for loops. The new +macro \Lcs{psLoop} allows a loop without defining a variable: + +\begin{BDef} +\Lcs{psLoop}\Largb{n}\Largb{argument} +\end{BDef} + +However, the internal \TeX\ counter \Lctr{psLoopIndex} can be used for own purposes. + +\begin{LTXexample}[width=7cm] + \psLoop{4}{PSTricks } +\end{LTXexample} + +\begin{LTXexample}[width=7cm] +\tabular{|c|c|c|c|} + \psLoop{3}{PSTricks &}\\\hline + A & B & C & D\\\hline +\endtabular +\end{LTXexample} + +\begin{LTXexample}[width=6cm] +\begin{pspicture}[showgrid](3,3) +\psLoop{4}{% + \psdots(\the\psLoopIndex,\the\psLoopIndex)} +\end{pspicture} +\end{LTXexample} + + +%-------------------------------------------------------------------------------------- +\section{The PostScript header files} +\subsection{\nxLFile{pstricks.pro}} +%-------------------------------------------------------------------------------------- + + +%-------------------------------------------------------------------------------------- +\subsection{\nxLFile{pst-algparser.pro}} +%-------------------------------------------------------------------------------------- + +\section{\nxLcs{psforeach} and \nxLcs{psForeach}} +%-------------------------------------------------------------------------------------- + +\section{List of all optional arguments for \texttt{pstricks}} + +\xkvview{family=pstricks,columns={key,type,default}} + + + +\nocite{*} +\bibliographystyle{plain} +\bibliography{PSTricks} + +\printindex + + +\end{document} diff --git a/graphics/pstricks/base/doc/pst-news05.pdf b/graphics/pstricks/base/doc/pst-news05.pdf Binary files differnew file mode 100644 index 0000000000..c6459f23e1 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news05.pdf diff --git a/graphics/pstricks/base/doc/pst-news05.tex b/graphics/pstricks/base/doc/pst-news05.tex new file mode 100644 index 0000000000..a1ddcc64a6 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news05.tex @@ -0,0 +1,403 @@ +\documentclass[12pt]{article} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +%\usepackage{geometry} +\usepackage{pst-all} +\usepackage{showexpl} +\usepackage{tabularx,array,longtable} +\SpecialCoor +\usepackage[colorlinks,linktocpage]{hyperref} +\def\UrlFont{\small\ttfamily} +\makeatletter +\def\verbatim@font{\small\normalfont\ttfamily} +\makeatother +%\usepackage{color} +\definecolor{hellgelb}{rgb}{1,1,0.8} +\definecolor{colKeys}{rgb}{0,0,1} +\definecolor{colIdentifier}{rgb}{0,0,0} +\definecolor{colComments}{rgb}{1,0,0} +\definecolor{colString}{rgb}{0,0.5,0} +% +\usepackage{listings} +\lstset{% + language=PSTricks,% + float=hbp,% + basicstyle=\ttfamily\small, % + identifierstyle=\color{colIdentifier}, % + keywordstyle=\color{colKeys}, % + stringstyle=\color{colString}, % + commentstyle=\color{colComments}, % + columns=flexible, % + tabsize=4, % + frame=single, % + extendedchars=true, % + showspaces=false, % + showstringspaces=false, % + numbers=left, % + numberstyle=\tiny, % + breaklines=true, % +% backgroundcolor=\color{hellgelb}, % + breakautoindent=true, % + captionpos=b,% + xleftmargin=0pt% +} + +%\parindent=0pt +\newcommand\verbI[1]{{\small\texttt{#1}}} +\newcommand\CMD[1]{{\texttt{\textbackslash#1}}} +\let\Lcs\CMD +% +%\psset{subgriddiv=0,griddots=5,gridlabels=7pt} +% +\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} +\def\PS{PostScript} +% +\begin{document} +\title{\texttt{PSTricks -- 2005}\\ new macros and bugfixes for the +basic packages \Lcs{pstricks}, \Lcs{pst-tree}, and \Lcs{pst-node}} +\author{Herbert Voß\thanks{% +\url{Herbert.Voss@pstricks.de}}} +\date{\today} + +\maketitle + +\begin{abstract} +This new version of \texttt{pstricks.tex} depends on the also new prologue file +\texttt{pstricks.pro} (v 1.01) and pst-dots.pro (v. 2.00), which should go into +the local \TeX-directory \url{$TEXMFLOCAL/dvips/}. +\end{abstract} + + +\tableofcontents + +\clearpage + +\part{General informations} +%-------------------------------------------------------------------------------------- +\section{Color handling} +%-------------------------------------------------------------------------------------- +The new color package \verb+xcolor+ has a lot of interesting features, but it needs +some modification to the code of \verb+pstricks.sty+ and \verb+pstricks.tex+. The +package \verb+pstricks.sty+ superseded the old package \verb+pstcol.sty+, which is +now obsolet. The version on CTAN now does nothing else as loading \verb+pstricks.sty+. + +There are some important facts for using colors inside PSTricks with \LaTeX: + +\begin{itemize} +\item load always \verb+pstricks+ as first package; +\item use always the \LaTeX\ syntax for defining colors and \textbf{not} the PSTricks own one.\\ + \verb+\definecolor ...+ is the correct setting! +\item do not use the PSTricks style for using color, use always \verb+\color{<name>}+. +\end{itemize} + + +\part{\texttt{pstricks} -- package} + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty}} +%-------------------------------------------------------------------------------------- +New otions: + +\begin{description} +\item[\texttt{noxcolor}] load package \verb+color+ instead of \verb+xcolor+; +\item[\texttt{plain}] do nothing else as a \CMD{input\{pstricks\}}; +\item[\texttt{DIA}] a bug fix for the \verb+PSTricks+-export of the garfic program DIA. +\end{description} + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.pro}} +%-------------------------------------------------------------------------------------- + +this file now contains the PostScript code for arcs of an ellipse. + + +\section{\texttt{pstricks.tex}} +The new version 1.10 has some minor but important changes; it is not compatible +to older versions when using the vertical shift option for the \verb+pspicture+ +environment. + +\subsection{New and modified option for {pspicture}}\label{sec:option} + +Table~\ref{tab:pspicture} shows the two new options for the \verb+pspicture+ environment. + +\begin{table}[htb] +\caption{Optionen der \texttt{pspicture}-Umgebung}\label{tab:pspicture} +\centering +\begin{tabular}{@{}lll@{}} +\textrm{\emph{name}} & \emph{meaning} & \emph{default}\\\hline +\verb+shift+ & vertical shift & $0$ \\ +\verb+showgrid+ & show grid & \verb+false+\\ +\end{tabular} +\end{table} + + +% --------------------------------------------------------------------------------------- +\subsubsection{\texttt{shift}}\label{subsubsec:shift} +% --------------------------------------------------------------------------------------- +This option is the known one from older \texttt{PSTricks} version, but now with the +usual syntax for options. The shift is relative to the height of the defined \verb+pspicture+ +environment, its lower left corner is by deafult on the base line. For older versions +the shift depends with its value to the baseline, a negative value raised up the \verb+pspicture+ +box. Now the \verb+shift+ option works similiar to the known \CMD{raisebox} makro, except that +\verb+shift+ is relative to the box height. A positive \verb+shift+ value raises up the box +and vice versa for a negative value. + +\begin{figure}[htb] +\centering +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}[shift=0.5](-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){-0.5} +\end{pspicture}% +\textcolor{red}{\rule{5mm}{1pt}} +\hspace{1cm}% +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}(-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0} +\end{pspicture}\textcolor{red}{\rule{5mm}{1pt}} +\hspace{1cm}% +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}[shift=-0.5](-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0.5} +\end{pspicture}% +\textcolor{red}{\rule{5mm}{1pt}} +\caption{Meaning of the \texttt{shift} option}\label{fig:baseline} +\end{figure} + +%\begin{lstlisting}[caption={Vertikale Verschiebung der Baseline}] +\begin{lstlisting} +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}[shift=0.5](-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){-0.5} +\end{pspicture}% +\textcolor{red}{\rule{5mm}{1pt}} +\hspace{1cm}% +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}(-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0} +\end{pspicture}\textcolor{red}{\rule{5mm}{1pt}} +\hspace{1cm}% +\textcolor{red}{\rule{5mm}{1pt}}% +\begin{pspicture}[shift=-0.5](-0.5,-0.5)(0.5,0.5) + \psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0.5} +\end{pspicture}% +\textcolor{red}{\rule{5mm}{1pt}} +\end{lstlisting} + + +% --------------------------------------------------------------------------------------- +\subsubsection{\texttt{showgrid}}\label{subsubsec:showgrid} +% --------------------------------------------------------------------------------------- +This new version of \texttt{PSTricks} defines internally a special grid style + +\begin{lstlisting} +\newpsstyle{gridstyle}{% + subgriddiv=0,gridcolor=lightgray,griddots=10,gridlabels=8pt} +\end{lstlisting} + +which can be overwritten by the user. This style is only used for the \verb+showgrid+ +option of the \verb+pspicture+ environment. The macro \verb+\psgrid+ doesn't use this predefined +style and works in the usual way. However, the user can use it like all +other self defined styles: \verb+\psgrid[style=gridstyle]+. + + +\begin{LTXexample}[width=3.5cm] +\begin{pspicture}[showgrid=true](-1,0)(2,1) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=3.5cm] +\newpsstyle{gridstyle}{% + subgriddiv=2,subgridcolor=lightgray} +\begin{pspicture}[showgrid=true](-1,0)(2,1) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=3.5cm] +\newpsstyle{gridstyle}{} +\begin{pspicture}[showgrid=true](-1,0)(2,1) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=3.5cm] +\begin{pspicture}(-1,0)(2,1) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=3.5cm] +\begin{pspicture}(-1,0)(2,1) + \psgrid +\end{pspicture} +\end{LTXexample} + +Depending to the internal structure of the \verb+pspicture+ environment it is not possible +to set the \verb+shift+ option global by \CMD{psset}, it must always be locally defined +with optional part of the parameter, as seen in the above examples. + + +%-------------------------------------------------------------------------------------- +\subsection{New arrows} +%-------------------------------------------------------------------------------------- + +\verb+pstricks now contains the missing arrow ends \verb+]-[+ and \verb+)-(+. + +\begin{LTXexample}[width=4cm] +\begin{pspicture}(4,3) + \psset{arrowscale=2,linewidth=1pt} + \psline{]-[}(4,0) + \psline{)-(}(0,1)(4,1) + \psline{)->}(0,2)(4,2) + \psline{]->>}(0,3)(4,3) +\end{pspicture} +\end{LTXexample} + + +%-------------------------------------------------------------------------------------- +\subsection{\Lcs{psdot} and \Lcs{psdots}} +%-------------------------------------------------------------------------------------- +\verb+\psdot*+ and \verb+\psdots*+ are now supported by PSTricks. Both were missing +in the old versions. + + +%-------------------------------------------------------------------------------------- +\subsection{Other changes} +%-------------------------------------------------------------------------------------- +\texttt{pstricks.tex} defined the PostScript subroutines for arcs of an ellipse. +This code now moved into the appropriate \texttt{pstricks.pro}, which holds the +pure PostScript code of \texttt{PSTricks}. This in not important for user until +the newest \texttt{pstricks.pro} \textbf{and} \texttt{pstricks.tex} are installed. + + +\subsection{Bugfixes} +\subsubsection{\texttt{origin}} + +There were several mailings in the past to the \verb+origin+ option, which worked the other +way round than expected. Now the coordinates work realtive to the current origin. + + +\begin{LTXexample}[width=3cm] +\begin{pspicture}(-1,-1)(2,1.25) + \psaxes{->}(0,0)(-1,-1)(2,1.25) + \psset{linewidth=1.5pt} + \parabola[linestyle=dashed](-1,1)(0,0) + \parabola[origin={0.5,-0.5}](-1,1)(0,0) + \qdisk(0.5,-0.5){2pt} +\end{pspicture} +\end{LTXexample} + +\subsubsection{Empty parameter} +\sloppy +To prevent some problems with empty arrow definitions in macros like \verb+\psline[...]{}(..)(...)+, +which makes no sense, but should be possible, there is now a check before setting the values. + + +\subsection{\CMD{psscalebox} and \CMD{psscaleboxto}} +To prevent clashes with the \verb+graphicx+ package, which also defines a \CMD{scalebox} macro +with different syntax, +\verb+PSTricks+ now defines \CMD{psscalebox} and \CMD{psscaleboxto}. For some compatibility reasons the old +names are still supported. With the new names it doesn'r matter if \verb+pstricks+ is loaded before or after +\verb+graphicx+. There are also some other changes: + + +\begin{verbatim} + \scalebox -> \psscalebox + \scaleboxto -> \psscaleboxto + \rotateleft -> \psrotateleft + \rotateright -> \psrotateright + \rotatedown -> \psrotatedown +\end{verbatim} + +%-------------------------------------------------------------------------------------- +\section{New fill options} +%-------------------------------------------------------------------------------------- +For the fillstyles \verb+hlines+, \verb+vlines+ and \verb+crosshatch+ there are two new +options to get increasing line widths and/or increasing whitespace. Both options are +lengths and can be set as usual for PSTricks, with or without a unit. + +\bigskip\noindent +\begin{tabularx}{\linewidth}{lXc} +\emph{name} & \emph{meaning} & \emph{default}\\\hline +\verb|hatchsepinc| & additional increasing space between two hatch lines & 0\tabularnewline +\verb|hatchwidthinc| & value for the increasing line width of two hatch lines & 0 +\end{tabularx} + + + +\bigskip +\begin{LTXexample}[pos=t] +\begin{pspicture}(\linewidth,3) + \psframe[fillstyle=vlines,hatchangle=0,hatchsep=.5pt,% + hatchwidth=1pt,hatchwidthinc=0.25pt](\linewidth,3) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\begin{pspicture}(\linewidth,3) + \psframe[fillstyle=hlines,hatchangle=0,% + hatchwidth=1pt,hatchsep=0.5pt,hatchsepinc=0.1pt](\linewidth,3) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\begin{pspicture}(\linewidth,3) + \psframe[fillstyle=vlines,hatchangle=0,hatchsep=0.6pt,% + hatchwidth=1pt,hatchwidthinc=0.3pt,hatchangle=60, + hatchcolor=red](\linewidth,3) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\begin{pspicture}(\linewidth,3) + \psframe[fillstyle=hlines,hatchangle=0,hatchangle=-60,% + hatchwidth=1pt,hatchsep=0.5pt,hatchsepinc=0.1pt, + hatchcolor=blue](\linewidth,3) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\begin{pspicture}(\linewidth,4) + \pscircle[fillstyle=vlines,hatchangle=0,hatchsep=0.6pt,% + hatchwidth=1pt,hatchwidthinc=0.3pt,hatchangle=90, + hatchcolor=red](2,2){2} + \pscircle[fillstyle=vlines,hatchangle=0,hatchsep=0.6pt,% + hatchwidth=1pt,hatchwidthinc=0.3pt,hatchangle=-45, + hatchcolor=green](7,2){2} + \pscircle[fillstyle=hlines,hatchangle=0,hatchsep=0.6pt,% + hatchwidth=1pt,hatchwidthinc=0.3pt,hatchangle=45, + hatchcolor=blue](12,2){2} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\begin{pspicture}(\linewidth,3) + \psframe[fillstyle=crosshatch,hatchangle=0,hatchangle=-90,% + hatchwidth=1pt,hatchsep=0.5pt,hatchsepinc=0.1pt, + hatchcolor=blue](\linewidth,3) +\end{pspicture} +\end{LTXexample} + +\part{\texttt{pst-node} -- package} + +\section{\texttt{pst-node.tex}} +\subsection{\CMD{nccircle}} +With some modification to \CMD{psarc\@iv} it is now possible to get the loops in any direction +and above or below the node. + +\begin{LTXexample}[width=.35\linewidth] +\psscalebox{1.5}{% + \circlenode{A}{A} + \nccircle{->}{A}{1.5em} \nbput{foo} + \nccircle{<-}{A}{-1.5em}\naput{bar}} +% +\hspace{1cm} +\psscalebox{1.5}{% + \circlenode{A}{A} + \nccircle{<-}{A}{1.5em} \nbput{foo} + \nccircle{->}{A}{-1.5em}\naput{bar}} +\end{LTXexample} + +\part{\texttt{pst-tree} -- package} +\section{\texttt{pst-tree.tex}} + +\end{document} diff --git a/graphics/pstricks/base/doc/pst-news06.pdf b/graphics/pstricks/base/doc/pst-news06.pdf Binary files differnew file mode 100644 index 0000000000..ce9dff713c --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news06.pdf diff --git a/graphics/pstricks/base/doc/pst-news06.tex b/graphics/pstricks/base/doc/pst-news06.tex new file mode 100644 index 0000000000..719c6174ca --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news06.tex @@ -0,0 +1,198 @@ +\documentclass[12pt]{article} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +%\usepackage{geometry} +\usepackage{pst-all,pst-news} +\let\CMD\cs +\usepackage{showexpl} +\usepackage{tabularx,array,longtable} +\SpecialCoor +\usepackage[colorlinks,linktocpage]{hyperref} +\def\UrlFont{\small\ttfamily} +\makeatletter +\def\verbatim@font{\small\normalfont\ttfamily} +\makeatother +\definecolor{hellgelb}{rgb}{1,1,0.8} +\definecolor{colKeys}{rgb}{0,0,1} +\definecolor{colIdentifier}{rgb}{0,0,0} +\definecolor{colComments}{rgb}{1,0,0} +\definecolor{colString}{rgb}{0,0.5,0} +% +\usepackage{listings} +\lstset{% + language=PSTricks,% + float=hbp,% + basicstyle=\ttfamily\small, % + identifierstyle=\color{colIdentifier}, % + keywordstyle=\color{colKeys}, % + stringstyle=\color{colString}, % + commentstyle=\color{colComments}, % + columns=flexible, % + tabsize=4, % + frame=single, % + extendedchars=true, % + showspaces=false, % + showstringspaces=false, % + numbers=left, % + numberstyle=\tiny, % + breaklines=true, % +% backgroundcolor=\color{hellgelb}, % + breakautoindent=true, % + captionpos=b,% + xleftmargin=0pt% +} + +\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} +\def\PS{PostScript} +% +\begin{document} +\title{\texttt{PSTricks -- 2006}\\ new macros and bugfixes for the +basic packages \Lcs{pstricks}, \Lcs{pst-tree}, and \Lcs{pst-node}} +\author{Herbert Voß\thanks{% +\url{Herbert.Voss@pstricks.de}}} +\date{\today} + +\maketitle + +\begin{abstract} +This new version of \LFile{pstricks.tex} depends on the also new prologue file +\LFile{pstricks.pro} (v 1.01) and \LFile{pst-dots.pro} (v. 2.00), which should go into +the local \TeX-directory \url{$TEXMFLOCAL/dvips/}. +\end{abstract} + + +\tableofcontents + +\clearpage +%-------------------------------------------------------------------------------------- +\section{linecap} +%-------------------------------------------------------------------------------------- +This was already introduced with version 1.14, but I forgot to mentioned it. +For the line ends one can use the ,,arrows``{} \texttt{c-c}, but only for the ends. For dashed +lines the option \verb+linecap+ can be set to the value 1 to get the dashes with +rounded ends, too. + +\begin{pspicture}(5,3) +\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm,linecap=2](0,2.5)(5,2.5) +\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm,linecap=1](0,1.5)(5,1.5) +\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm](0,0.5)(5,0.5) +\end{pspicture} + +\begin{lstlisting} +\begin{pspicture}(5,3) +\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm,linecap=2](0,2.5)(5,2.5) +\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm,linecap=1](0,1.5)(5,1.5) +\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm](0,0.5)(5,0.5) +\end{pspicture} +\end{lstlisting} + +It is obvious that only the value 1 makes sense for the dashed lines. + +\section{Dots} +Long time ago, Etienne Riga sent the code for some new dotstyles +which are now part of pstricks. + +\psset{dotscale=1.5} +\let\Loption\texttt +\def\multiDot#1{\multido{\nA=0+1}{3}{\psdot[dotstyle=#1]\kern1em}} +\def\cmultiDot#1{\multido{\nA=0+1}{3}{\psdot*[dotstyle=#1]\kern1em}}%} +\begin{longtable}{@{}l@{\kern2em}>{\ttfamily}c>{\ttfamily}c| + l@{\kern2em}>{\ttfamily}c>{\ttfamily}c@{}} +\emph{Name} & \Lcs{psdot} & \Lcs{psdot*} & +\emph{Name} & \Lcs{psdot} & \Lcs{psdot*} \\\hline +\endhead +\Loption{*} & \multiDot{*} & \cmultiDot{*} &%\\ +\Loption{o} & \multiDot{o} & \cmultiDot{o}\\ +\Loption{Bo} & \multiDot{Bo} & \cmultiDot{Bo}&%\\ +\Loption{x} & \multiDot{x} & \cmultiDot{x}\\ +\Loption{+} & \multiDot{+} & \cmultiDot{+}&%\\ +\Loption{B+} & \multiDot{B+} & \cmultiDot{B+}\\ +\Loption{Add} & \multiDot{Add} & \cmultiDot{Add}&%\\ +\Loption{BoldAdd} & \multiDot{BoldAdd} & \cmultiDot{BoldAdd}\\ +\Loption{Oplus} & \multiDot{Oplus} & \cmultiDot{Oplus}&%\\ +\Loption{BoldOplus} & \multiDot{BoldOplus} & \cmultiDot{BoldOplus}\\ +\Loption{SolidOplus} & \multiDot{SolidOplus} & \cmultiDot{SolidOplus} & +\Loption{Hexagon} & \multiDot{Hexagon} & \cmultiDot{Hexagon}\\ +\Loption{BoldHexagon} & \multiDot{BoldHexagon} & \cmultiDot{BoldHexagon}& +\Loption{SolidHexagon} & \multiDot{SolidHexagon} & \cmultiDot{SolidHexagon}\\ +\Loption{asterisk} & \multiDot{asterisk} & \cmultiDot{asterisk}&%\\ +\Loption{Basterisk} & \multiDot{Basterisk} & \cmultiDot{Basterisk}\\ +\Loption{Asterisk} & \multiDot{Asterisk} & \cmultiDot{Asterisk}&%\\ +\Loption{BoldAsterisk} & \multiDot{BoldAsterisk} & \cmultiDot{BoldAsterisk}\\ +\Loption{SolidAsterisk} & \multiDot{SolidAsterisk} & \cmultiDot{SolidAsterisk}& +\Loption{oplus} & \multiDot{oplus} & \cmultiDot{oplus}\\ +\Loption{otimes} & \multiDot{otimes} & \cmultiDot{otimes}& +\Loption{Otimes} & \multiDot{Otimes} & \cmultiDot{Otimes}\\ +\Loption{BoldOtimes} & \multiDot{BoldOtimes} & \cmultiDot{BoldOtimes}& +\Loption{SolidOtimes} & \multiDot{SolidOtimes} & \cmultiDot{SolidOtimes}\\ +\Loption{Mul} & \multiDot{Mul} & \cmultiDot{Mul}&%\\ +\Loption{BoldMul} & \multiDot{BoldMul} & \cmultiDot{BoldMul}\\ +\Loption{|} & \multiDot{|} & \cmultiDot{|}&%\\ +\Loption{B|}\iffalse\index{B*@\texttt{B}|}\fi & \multiDot{B|} & \cmultiDot{B|}\\ +\Loption{Bar} & \multiDot{Bar} & \cmultiDot{Bar}&%\\ +\Loption{BoldBar} & \multiDot{BoldBar} & \cmultiDot{BoldBar}\\ +\Loption{Bullet} & \multiDot{Bullet} & \cmultiDot{Bullet}&%\\ +\Loption{Circle} & \multiDot{Circle} & \cmultiDot{Circle}\\ +\Loption{BoldCircle} & \multiDot{BoldCircle} & \cmultiDot{BoldCircle}&%\\ +\Loption{square} & \multiDot{square} & \cmultiDot{square}\\ +\Loption{Bsquare} & \multiDot{Bsquare} & \cmultiDot{Bsquare} & +\Loption{square*} & \multiDot{square*} & \cmultiDot{square*}\\ +\Loption{Square} & \multiDot{Square} & \cmultiDot{Square}&%\\ +\Loption{BoldSquare} & \multiDot{BoldSquare} & \cmultiDot{BoldSquare}\\ +\Loption{SolidSquare} & \multiDot{SolidSquare} & \cmultiDot{SolidSquare}& +\Loption{diamond} & \multiDot{diamond} & \cmultiDot{diamond}\\ +\Loption{Bdiamond} & \multiDot{Bdiamond} & \cmultiDot{Bdiamond}&%\\ +\Loption{diamond*} & \multiDot{diamond*} & \cmultiDot{diamond}\\ +\Loption{Diamond} & \multiDot{Diamond} & \cmultiDot{Diamond}&%\\ +\Loption{BoldDiamond} & \multiDot{BoldDiamond} & \cmultiDot{BoldDiamond}\\ +\Loption{SolidDiamond} & \multiDot{SolidDiamond} & \cmultiDot{SolidDiamond}& +\Loption{triangle} & \multiDot{triangle} & \cmultiDot{triangle}\\ +\Loption{Btriangle} & \multiDot{Btriangle} & \cmultiDot{Btriangle}& +\Loption{triangle*} & \multiDot{triangle*} & \cmultiDot{triangle*}\\ +\Loption{Triangle} & \multiDot{Triangle} & \cmultiDot{Triangle}&%\\ +\Loption{BoldTriangle} & \multiDot{BoldTriangle} & \cmultiDot{BoldTriangle}\\ +\Loption{SolidTriangle} & \multiDot{SolidTriangle} & \cmultiDot{SolidTriangle}& +\Loption{pentagon} & \multiDot{pentagon} & \cmultiDot{pentagon}\\ +\Loption{Bpentagon} & \multiDot{Bpentagon} & \cmultiDot{Bpentagon}&%\\ +\Loption{pentagon*} & \multiDot{pentagon*}& \cmultiDot{pentagon*}\\ +\Loption{Pentagon} & \multiDot{Pentagon} & \cmultiDot{Pentagon}&%\\ +\Loption{BoldPentagon} & \multiDot{BoldPentagon} & \cmultiDot{BoldPentagon}\\ +\Loption{SolidPentagon} & \multiDot{SolidPentagon} & \cmultiDot{SolidPentagon}& +\Loption{Hexagon} & \multiDot{Hexagon} & \cmultiDot{Hexagon}\\ +\Loption{BoldHexagon} & \multiDot{BoldHexagon} & \cmultiDot{BoldHexagon}& +\Loption{SolidHexagon} & \multiDot{SolidHexagon} & \cmultiDot{SolidHexagon} +\end{longtable} + + +\section{\texttt{pstricks.pro}} +The PostScript header file defines the following functions and constants, which +can be used +in arguments for \CMD{psplot} or any other macro, which reads PostScript code. + +\begin{lstlisting}[basicstyle=\ttfamily\footnotesize] +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def% return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def% return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, epects 2 parameter +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +%----------------- hv added 20050516 --------------- +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +\end{lstlisting} + +\section{Packages} +The package \texttt{pst-char} is now part of \texttt{pst-text} and the +package \texttt{pst-ghsb} is now part of \texttt{pst-grad}. The macros +and enviroments will work in the same way. + +The documented source code of \texttt{pstricks} and \texttt{pst-node} is +now available as a pdf file with a source which can be run by pdf\LaTeX. +Rolf Niepraschk modified the old sources from Timothy Van Zandt for +running with \LaTeX\ and/or pdf\LaTeX. + +\end{document} diff --git a/graphics/pstricks/base/doc/pst-news08.pdf b/graphics/pstricks/base/doc/pst-news08.pdf Binary files differnew file mode 100644 index 0000000000..428653ebf2 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news08.pdf diff --git a/graphics/pstricks/base/doc/pst-news08.tex b/graphics/pstricks/base/doc/pst-news08.tex new file mode 100644 index 0000000000..e4dd6dfce2 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news08.tex @@ -0,0 +1,862 @@ +\documentclass[11pt]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{pst-news} +% +\begin{document} +\title{\texttt{PSTricks -- 2008}\\ new macros and bugfixes for the +basic packages \nxLFile{pstricks}, \nxLFile{pst-plot}, \nxLFile{pst-tree},\\ and \nxLFile{pst-node}} +\author{Herbert Voß\thanks{% +\url{Herbert.Voss@pstricks.de}; \newline thanks to Patrick Drechsler.}} +\date{\today} + +\maketitle + +\clearpage +\tableofcontents + +\clearpage +\part{\texttt{pstricks} -- package} + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty}} +%-------------------------------------------------------------------------------------- + +\subsection{Error messages} +\begin{itemize} +\item Loading the package \LPack{pstricks} by \LaTeX\ will now write a message +into the file list of file version and date for the file \LFile{pstricks.pro}. +\item A frequently done error is choosing a file name for the document, which is +already a name of one PSTricks package, e.\,g. \LFile{pstricks.tex}. The \Index{error message} +in the log file was not really helpful. There is now an extended message +(example for a dcoument file called \LFile{pstricks.tex}): +{\small\begin{verbatim} +! LaTeX Error: `pstricks.tex' is a forbidden name for your document, + it is already a name of a package. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H <return> for immediate help. + ... + +l.13 \documentclass + {article} +? H +Choose another name for your document +\end{verbatim} +} +\end{itemize} + +\subsection{Optional arguments} +\LPack{pstricks} supports \Index{transparent colors} with Ghostscript's \LPS{.setopacityalpha}, +\LPS{.setblendmode}, and \LPS{.setshapealpha}. These functions are not known to +\Index{V\TeX} or Adobes \Index{Distiller}. The optional argument \Loption{vtex} disables transparencies +and \Loption{distiller} overrides the \Index{Ghostscript} functions with the ones from the \Index{Distiller}. + + + +\clearpage +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\PSTfileversion -- \PSTfiledate)} +%-------------------------------------------------------------------------------------- + +\subsection{Makro \cs{psDEBUG}} +\texttt{pstricks.tex} defines the option \texttt{PstDebug=0|1}, which can be used for +debugging. The new macro \cs{psDEBUG} makes it easier to write some debugging +information into the package files. The macro is only valid, if \texttt{PstDebug=1} +is set, otherwise the macro does nothing. + +\begin{verbatim} +\psDEBUG[optional arg]{text} +\end{verbatim} + +\cs{psDEBUG} writes the argument \texttt{text} into the log file. +Without an optional argument the word \texttt{pstricks} is used. The following output +of the log file + +\begin{lstlisting} +... +<key:xticksize>: setting ticksize to max +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 26. +<pst@@hlabels>: xticksizeC=0.0pt +... +\end{lstlisting} + +was possible with \verb+\psset{PstDebug=1}+\footnote{Can also be used locally for a macro when used as optional argument +in the usual way.} +and inside of \texttt{pstricks-add} with +(only the first for example): +\begin{lstlisting} +... + \psDEBUG[key:ticksize]{setting ticksize} +... +\end{lstlisting} + + + +\subsection{Option \texttt{shift}} +The optional argument \Lkeyword{shift} can be used for a vertical alignment of the +\Lenv{pspicture} box. With \Lkeyword{shift}=\Lkeyval{*}, instead of a value or a length +it is possible to center the \Lenv{pspicture} box vertically to the baseline +of the current line. + +\begin{LTXexample}[width=4cm] +\usepackage{pstricks} +\rule{5mm}{0.5pt}% +\psframebox{% +\begin{pspicture}[showgrid=true, + shift=*](-0.3,-0.4)(3.2,3.3) + \psarc[showpoints=true](1,1){2}{-45}{120} +\end{pspicture}}\rule{5mm}{0.5pt} +\end{LTXexample} + +\subsection{Option \texttt{gridfont}} +By default the \Index{grid label}s were printed always in \Index{Helvetica}. With the new keyword \Lkeyword{gridfont} +one can define another \Index{PostScript Font}. Available are at least + +\medskip +{\ttfamily\noindent +\Lkeyval{Helvetica} (default) -- \Lkeyval{Helvetica-Narrow} -- \Lkeyval{Times-Roman} -- \Lkeyval{Courier} -- \Lkeyval{AvantGard} --\Lkeyval{NewCenturySchlbk} -- +\Lkeyval{Palatino-Roman} -- \Lkeyval{Bookman-Demi} -- \linebreak \Lkeyval{ZapfDingbats} -- \Lkeyval{Symbol}} + +\begin{LTXexample}[width=4cm] +\usepackage{pstricks} +\begin{pspicture}[showgrid=true](3,2) +\end{pspicture}\\[20pt] +\begin{pspicture}(3,2) + \psgrid[style=gridstyle,gridfont=AvantGard-Demi] +\end{pspicture}\\[20pt] +\begin{pspicture}(3,2) + \psgrid[style=gridstyle,gridfont=ZapfDingbats] +\end{pspicture} +\end{LTXexample} + + +\clearpage +\subsection{\texttt{linejoin}} +Connecting lines can be done in several ways and is controlled on PS level +by the \LPS{setlinejoin} command. With this version of PSTricks it is +possible to controll this by an optional argument, called \Lkeyword{linejoin}. +It is preset to 0 and can take values of 0,1,2. Other values will have +no effect. + +\begin{LTXexample}[width=4cm] +\psset{linewidth=3mm,unit=0.8} +\begin{pspicture}[showgrid=true](3,2) + \psline(0,0)(1,2)(2,0)(3,2) +\end{pspicture}\\[10pt] +\begin{pspicture}[showgrid=true](4,2) + \psline[linejoin=1](0,0)(1,2)(2,0)(3,2)(4,0)% +\end{pspicture}\\[10pt] +\begin{pspicture}[showgrid=true](3,2) + \psline[linejoin=2](0,0)(1,2)(2,0)(3,2)% +\end{pspicture} +\end{LTXexample} + +\clearpage +\subsection{\texttt{linecap}} +The value of \Lkeyword{linecap} determines how the line ends are drawn: + +\begin{description} +\item[0] lines are cut (default) +\item[1] lines are ended by a filled semicircle of radius 0.5$\cdot$\Ldim{pslinewidth} +\item[2] lines are ended by a filled half square of radius 0.5$\cdot$\Ldim{pslinewidth} +\end{description} + +The following example shows that using \Lkeyword{linecap} for lines is the same +than using the \Index{arrow} option. + +\begin{LTXexample}[width=4cm] +\begin{pspicture}[showgrid=true](4,4)% + \psset{linewidth=5mm} + \psline[arrows=C-C](0,3.75)(4,3.75) + \psline[linecap=2](0,3)(4,3) + \psline[arrows=c-c](0,2.25)(4,2.25) + \psline[linecap=1](0,1.5)(4,1.5) + \psline[arrows=-](0,0.75)(4,0.75) + \psline(4,0) +\end{pspicture} +\end{LTXexample} + +Using this optional argument makes only sense in some special cases, because +it is the same as the \Index{arrow type} \Lkeyval{c-c}. But the arrows are not part +of the \Index{current path} and \Index{filling} an \Index{open curve} with the \Lkeyword{linecap} option +is different to a curve using the \Lkeyval{c-c} arrow. + +\begin{LTXexample}[width=3cm,wide] +\psset{unit=5cm,linewidth=5mm} +\begin{pspicture}(-0.2,-0.6)(0.2,0.5)% +\def\curve{\pscurve(-.1,.1)(-.15,.15)(0,.2)(.15,.15)(.1,.1)} +\rput(0,.2){\psset{arrows=c-c}\curve} +\rput(0,-.2){% + \psset{fillstyle=solid,fillcolor=red,arrows=c-c} + \curve} +\rput(0,-.6){% + \psset{fillstyle=solid,fillcolor=red,linecap=1} + \curve} +\end{pspicture} +\end{LTXexample} + + +\clearpage +\subsection{New arrowtype \texttt{D>} and \texttt{D>D>}} +All arrows are drawn as polygons. The new arrow type \Lkeyval{D>} or \Lkeyval{<D} for the other way round, +draws its lines as bezier curves, which looks nicer for big arrows. + +\begin{LTXexample}[width=4cm,wide] +\psset{arrowscale=5} +\begin{pspicture}(4,2) +\psline{<D<D-D>D>}(0,2)(4,2) +\psline[arrows=<-D>,arrowlength=2](0,1)(4,1) +\psline[arrowinset=0]{<D-D>}(0,0.25)(4,0.25) +\end{pspicture} +\end{LTXexample} + + +\clearpage +\subsection{Fill style \texttt{penrose}} + +The valid optional arguments are \texttt{penrose}, \texttt{penrose*}, and \texttt{hatchcolor}. +The star version is only seen, if there is a fillcolor or a background different to white. + +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}(3,3) +\psframe[fillstyle=penrose](3,3) +\end{pspicture} \qquad +\begin{pspicture}(3,3) +\psframe[fillstyle=penrose,psscale=0.5](3,3) +\end{pspicture} \qquad +\begin{pspicture}(3,3) +\psccurve[fillstyle=penrose*,fillcolor=red!30,hatchcolor=blue](0,1.5)(1.5,3)(3,1.5)(1.5,0) +\end{pspicture} +\end{LTXexample} + + +\clearpage +\subsection{Transparent colors} +The package \LPack{pstricks-add} already defined a fillstyle for +transparency colors by using the \Index{Ghostscript}'s \Index{blendmode}. +It now moves into the main \LPack{pstricks} package, together with +another possibility for creating transparent colors. +Transparency is only seen with the \Index{PDF} output (version 1.4 or greater), +as nearly all PostScript viewer cannot show transparencies. + +Loading the \LPack{pstricks} package with the option \Loption{vtex}, disables +the transparency effekts and everything works as before. + +\subsubsection{Options \texttt{strokeopacity} and \texttt{opacity}} +For the existing fill style \Lkeyval{solid} the new option \Lkeyword{opacity} +can be used to get also transparent colors. It is predefined by 1 ($0\ldots1$), which +is the old behaviour, no \Index{transpareny}. The option is valid only for PostScripts +fill commands. Lines and curves can be transparent with setting the option\index{transparent lines} +\Lkeyword{strokeopacity}, which can have a different value than the \Lkeyword{opacity} option. + +\begin{LTXexample}[width=4cm,wide] +\begin{pspicture}[linewidth=1cm](4,4) + \psline[linecolor=red](0,0)(4,4) + \psline[linecolor=blue,strokeopacity=0.5](0,4)(4,0) + \psline[linecolor=green,strokeopacity=0.5](0,3.5)(4,3.5) + \psline[linecolor=yellow,strokeopacity=0.5](0,0.5)(4,0.5) +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[width=4cm,wide] +\begin{pspicture}[linewidth=1cm](4,4) +\psline[linecolor=red](0,0)(4,4) +\pscircle*[opacity=0.5](2,2){2} +\psline[linecolor=blue,strokeopacity=0.6](0,4)(4,0) +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[width=4cm,wide] +\begin{pspicture}[linewidth=3mm](4,5.5) + \multido{\rA=0.0+0.5}{9}{% + \psline[linecolor=red!40](\rA,0)(\rA,5)} + \multido{\rA=0.0+0.5,\rB=0.0+0.1}{11}{% + \psline[arrows=<D-D>,linecolor=blue, + linewidth=5pt,arrowscale=1.5, + strokeopacity=\rB](0,\rA)(4,\rA)} +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[width=5cm,wide] +\begin{pspicture}(5,5) + \psset{fillstyle=solid} + \psframe[fillcolor=red](0,1)(3,4) + \psframe[fillcolor=blue,opacity=0.7](2,2)(5,5) + \psframe[fillcolor=green,opacity=0.7](1,0)(4,3) + \pscircle[fillcolor=cyan, + opacity=0.5](1.5,3.5){1.25} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=5cm,wide] +\begin{pspicture}(5,5) + \psset{fillstyle=solid} + \psframe[fillcolor=red](0,1)(3,4) + \psframe[fillcolor=blue,opacity=0.3](2,2)(5,5) + \psframe[fillcolor=green,opacity=0.3](1,0)(4,3) + \pscircle[fillcolor=cyan, + opacity=0.5](1.5,3.5){1.25} +\end{pspicture} +\end{LTXexample} + + +\clearpage +\subsubsection{Fill style \texttt{shape}} +There is now one more \Index{fill style} for \Index{transparent colors}: \Lkeyword{shape} +with using the \Lkeyword{shapealpha} value and one of the possible blendmodes: +\begin{verbatim} + /Normal ->0 + /Compatible ->1 + /Screen ->2 + /Multiply ->3 +\end{verbatim} + + +The fill style \Lkeyval{solid} uses +\Index{Ghostscript}'s \LPS{.setopacityalpha} function +and the new style \Lkeyval{shape} and the \Lkeyword{blendmode} together with \LPS{.setshapealpha}. +\Lkeyword{shapealpha} is predefined +with 0.6 and both alpha values can be chosen from the range $0\le\alpha\le1$. + +\begin{pspicture}(5,5)% default blendmode + \psframe*[linecolor=red](0,1)(3,4) + \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5) + \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3) + \pscircle[fillcolor=cyan,fillstyle=shape, + shapealpha=0.3](1.5,3.5){1.25} + \rput(1.5,3.5){\huge\textbf{0}} +\end{pspicture} +\hfill +\begin{pspicture}(5,5) + \psset{blendmode=1}% type /Compatible + \psframe*[linecolor=red](0,1)(3,4) + \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5) + \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3) + \pscircle[fillcolor=cyan,fillstyle=shape, + shapealpha=0.3](1.5,3.5){1.25} + \rput(1.5,3.5){\huge\textbf{1}} +\end{pspicture} + +\begin{pspicture}(5,5) + \psset{blendmode=2}% type /Screen + \psframe*[linecolor=red](0,1)(3,4) + \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5) + \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3) + \pscircle[fillcolor=cyan,fillstyle=shape, + shapealpha=0.3](1.5,3.5){1.25} + \rput(1.5,3.5){\huge\textbf{2}} +\end{pspicture} +\hfill +\begin{pspicture}(5,5) + \psset{blendmode=3}% type /Multiply + \psframe*[linecolor=red](0,1)(3,4) + \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5) + \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3) + \pscircle[fillcolor=cyan,fillstyle=shape, + shapealpha=0.3](1.5,3.5){1.25} + \rput(1.5,3.5){\huge\textbf{3}} +\end{pspicture} + +\begin{lstlisting} +\begin{pspicture}(5,5)% default blendmode + \psframe*[linecolor=red](0,1)(3,4) + \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5) + \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3) + \pscircle[fillcolor=cyan,fillstyle=shape, + shapealpha=0.3](1.5,3.5){1.25} + \rput(1.5,3.5){\huge\textbf{0}} +\end{pspicture} +\hfill +\begin{pspicture}(5,5) + \psset{blendmode=1}% type /Compatible + \psframe*[linecolor=red](0,1)(3,4) + \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5) + \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3) + \pscircle[fillcolor=cyan,fillstyle=shape, + shapealpha=0.3](1.5,3.5){1.25} + \rput(1.5,3.5){\huge\textbf{1}} +\end{pspicture} + +\begin{pspicture}(5,5) + \psset{blendmode=2}% type /Screen + \psframe*[linecolor=red](0,1)(3,4) + \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5) + \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3) + \pscircle[fillcolor=cyan,fillstyle=shape, + shapealpha=0.3](1.5,3.5){1.25} + \rput(1.5,3.5){\huge\textbf{2}} +\end{pspicture} +\hfill +\begin{pspicture}(5,5) + \psset{blendmode=3}% type /Multiply + \psframe*[linecolor=red](0,1)(3,4) + \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5) + \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3) + \pscircle[fillcolor=cyan,fillstyle=shape, + shapealpha=0.3](1.5,3.5){1.25} + \rput(1.5,3.5){\huge\textbf{3}} +\end{pspicture} +\end{lstlisting} + + +\iffalse +\begin{LTXexample}[width=5cm,wide] +\begin{pspicture}(5,5) + \psset{blendmode=4}% type /Hardlight + \psframe*[linecolor=red](0,1)(3,4) + \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5) + \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3) + \pscircle[fillcolor=cyan,fillstyle=shape, + shapealpha=0.3](1.5,3.5){1.25} +\end{pspicture} +\end{LTXexample} + +\fi + +\clearpage + +\subsection{\nxLcs{addtopsstyle}} +\begin{verbatim} +\addtopsstyle{style-name}{settings} +\end{verbatim} + +This macro allows to add some more settings to an existing \Index{style}. +If the style is not defined, then \Lcs{addtopsstyle} behaves like the +already defined \Lcs{newpsstyle} macro. + +\begin{LTXexample}[width=5cm,wide] +\newpsstyle{Fiber}{linewidth=2pt} +\begin{pspicture}(5,5) + \psline[style=Fiber](0,0)(5,1) + \addtopsstyle{Fiber}{linecolor=green} + \psline[style=Fiber](0,1)(5,2) + \addtopsstyle{Fiber}{linestyle=dotted} + \psline[style=Fiber](0,2)(5,3) + \addtopsstyle{Fiber}{} + \psline[style=Fiber](0,3)(5,4) + \addtopsstyle{Fibber}{linecolor=red} + \psline[style=Fibber](0,4)(5,5) +\end{pspicture} +\end{LTXexample} + + +\clearpage + +\subsection{\nxLcs{pscircleOA}} +\begin{verbatim} +\pscircleOA[settings](xO,yO)(xA,yA) +\end{verbatim} + +$(x_0, y_0)$ is the center and $(x_A, y_A)$ a given point of the +circle. The radius is calculated by \TeX. + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=true](-2,0)(8,8) +\pscircleOA(6,4)(4,4) +\pscircleOA[linecolor=blue](4,6)(4,4) +\pscircleOA[linewidth=2pt,linecolor=yellow](3,5)(4,4) +\pscircleOA*[opacity=0.3,linecolor=red](2,2)(4,4) +\end{pspicture} +\end{LTXexample} + + +\subsection{\nxLcs{psTextFrame}} +\begin{verbatim} +\psTextFrame[settings](x1,y1)(x2,y2){Text} +\end{verbatim} + +The \emph{Text} cannot have a linebreak. In case it is needed, put the \emph{Text} +into a \Lenv{minipage} or \Lcs{parbox}, as seen in the following example. The +\Lkeyword{ref}-option allows different placing and the \Lkeyword{rot}-option allows +the \Index{rotating} of the \emph{Text}. The macro itself first uses the +\Lcs{psframe} and the \Lcs{rput} macro with \Index{calculated coordinates}. + + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=true](0,-0.5)(10,10) + \psTextFrame[linecolor=lightgray,ref=l](0,0.5)(4,1.5){Hallo} + \psTextFrame[linecolor=blue](2,4)(4,7){\color{blue}Hallo} + \psTextFrame[linestyle=dashed](9,9)(10,10){\huge H} + \psTextFrame*[linecolor=red,linestyle=dashed](7,7)(9,9){\Huge H} + \psTextFrame*[linecolor=red!40,ref=lB](7,4)(9,6){\Huge H} + \psTextFrame*[linecolor=blue!40,ref=rt](7,1)(9,3){\Huge H} + \psTextFrame[linestyle=dashed](4.5,0)(6.5,10){% + \parbox{2cm}{\centering Here comes some more text over several + lines, which is also horizontally and vertically centered and + written in a parbox.}} + \psTextFrame*[linecolor=cyan!20,rot=90](.5,2)(1.5,10){% + \parbox{8cm}{\centering Here comes some more text over several + lines and rotated by 90 degrees.}} +\end{pspicture} +\end{LTXexample} + +\subsection{Special coordinates} + +Additionally to the existing \Index{!-operator} for \Index{PostScript} coordinates, +there is new a \Index{*-operator}, which invokes the \Index{algebraic parser} before +the coordinates are passed to the default !-operator. The syntax +is pretty easy: \verb=(<value> {f(x)})=. In the following example the +predefined value of Pi\index{$\pi$} from \LFile{pstricks.pro} is used. The x value +and the function must be enclosed +in braces when they contain spaces, round braces or sybolic names, like \verb+Pi+ for the +x value. + +\begin{LTXexample}[width=5cm,wide] +\SpecialCoor +\begin{pspicture}(0,-1)(5,1) + \psaxes{->}(0,0)(0,-1)(5,1) + \psline(0,0)(*{Pi} {sqrt(abs(cos(x)))}) + \psline{<->}(*{Pi} {cos(x)})(*5 {sin(x)*cos(x)}) +\end{pspicture} +\end{LTXexample} + +For a macro definition of the algebraic function the \verb+\string+ command +has to be used, otherwise \TeX{} expects the math mode in the following +example. + +\begin{LTXexample}[width=4cm,wide] +\def\F{\string x^2 } +\begin{pspicture}[showgrid=true](2,4) + \psline[linecolor=red](*1 {\F} )(*2 {\F} ) +\end{pspicture} +\end{LTXexample} + + + + +\subsection{Octogon-Symbol} + +An octogon symbol was added. +\begin{verbatim} +\newpsfontdotH{Octogon}[1 0 0 1 0 0]{PSTricksDotFont}{(f)}{(g)} +\newpsfontdotH{BoldOctogon}[1 0 0 1 0 0]{PSTricksDotFont}{(F)}{(g)} +\newpsfontdot{SolidOctogon}[1 0 0 1 0 0]{PSTricksDotFont}{(g)} +\end{verbatim} + +\begin{LTXexample}[width=4cm,wide] +\psset{dotscale=4} +\begin{pspicture}[showgrid=true](4,4) +\psdot[dotstyle=Octogon](1,1) +\psdot[dotstyle=BoldOctogon](2,2) +\psdot[dotstyle=SolidOctogon](3,3) +\end{pspicture} +\end{LTXexample} + + +\subsection{Code changes} + +\begin{verbatim} +% hv 2007-10-16 to fix the bug in pst-node with \\[name=...] +\def\ps@ifnextchar#1#2#3{% + \let\reserved@d= #1% + \def\reserved@a{#2}\def\reserved@b{#3}% + \futurelet\@let@token\ps@ifnch} +\def\ps@ifnch{% + \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi + \reserved@b +} +\end{verbatim} + + + + +%-------------------------------------------------------------------------------------- +\section{The PostScript header files} +\subsection{\texttt{pstricks.pro}} +%-------------------------------------------------------------------------------------- + +\begin{verbatim} +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +\end{verbatim} + +This new PostScript function allows to calculate the distance +between two points, given by their coordinates whereas the +existing \LPS{/Pyth} does this for two values. + +\subsection{\texttt{pst-dots.pro}} +\verb+pst-dots.pro+ ist the file which defines the so called softfont PSTRocksFontDot, which +collects all PSTricks symbols, which are not part of one of the standard PostScript fonts. +The octogon symbol is defined as: +\begin{verbatim} + /OctogonPath { + 228 550 moveto 7 { -456 0 rlineto 45 rotate } repeat closepath + } def + /SolidOctogon { OctogonPath fill } def + /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def + /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def +% +\end{verbatim} + + +\part{\texttt{pst-node} -- package} + +\section{\texttt{pst-node.tex} (\NODEfileversion -- \NODEfiledate)} + +\subsection{Bugfix for \texttt{psmatrix}} +A long standing bug with \Lenv{psmatrix} and using the \Lkeyword{name} option is now fixed. +The following works as expected: + +\begin{LTXexample}[width=2cm] +\begin{psmatrix}[rowsep=5mm] +[name=a]a\\ +[name=b]b\\[1cm] +[name=c]c\\ +\end{psmatrix} +\ncline{a}{b} +\ncarc{a}{c} +\end{LTXexample} + +An optional argument after \Lcs{\textbackslash} is now scanned in the correct way. + + +\subsection{New option \texttt{pcRef}} +There is a new option \Lkeyword{pcRef} for the \Lcs{ncangles} connection\index{node connection}. By default, +the reference point for the \Lkeyword{armA} option is the border of the node. This makes +it difficult to get horizontically aligned lines for different node images. +With \texttt{pcRef=true} the node center is the reference point and the connection is +still drawn from the border of the node. + +The first three images show the default behaviour: + +\makebox[\linewidth]{% +\begin{pspicture}(5,4) + \cnode(2.5,3.5){0.2}{A} + \cnode(0.5,1){0.2}{B1} + \cnode(1.5,1){0.4}{B2} + \cnode(2.6,1){0.6}{B3} + \cnode(4,1){0.8}{B4} + \psset{angleB=90,angleA=-90,armA=0.5cm} + \ncangles{A}{B1} + \ncangles{A}{B2} + \ncangles{A}{B3} + \ncangles{A}{B4} +\end{pspicture} +% +\begin{pspicture}(5,4) + \cnode(2.5,3.5){0.4}{A} + \cnode(0.5,1){0.2}{B1} + \cnode(1.5,1){0.4}{B2} + \cnode(2.6,1){0.6}{B3} + \cnode(4,1){0.8}{B4} + \psset{angleB=90,angleA=-90,armA=0.5cm} + \ncangles{A}{B1} + \ncangles{A}{B2} + \ncangles{A}{B3} + \ncangles{A}{B4} +\end{pspicture} +% +\begin{pspicture}(5,4) + \cnode(2.5,3.5){0.8}{A} + \cnode(0.5,1){0.2}{B1} + \cnode(1.5,1){0.4}{B2} + \cnode(2.6,1){0.6}{B3} + \cnode(4,1){0.8}{B4} + \psset{angleB=90,angleA=-90,armA=0.5cm} + \ncangles{A}{B1} + \ncangles{A}{B2} + \ncangles{A}{B3} + \ncangles{A}{B4} +\end{pspicture} +} + +The next three images display the influence of \texttt{pcRef=true}; the horizontal line +for the three examples is on the same height: + +\makebox[\linewidth]{% +\begin{pspicture}(5,4) + \cnode(2.5,3.5){0.2}{A} + \cnode(0.5,1){0.2}{B1} + \cnode(1.5,1){0.4}{B2} + \cnode(2.6,1){0.6}{B3} + \cnode(4,1){0.8}{B4} + \psset{angleB=90,angleA=-90,armA=1cm} + \ncangles[pcRef=true]{A}{B1} + \ncangles[pcRef=true]{A}{B2} + \ncangles[pcRef=true]{A}{B3} + \ncangles[pcRef=true]{A}{B4} +\end{pspicture} +% +\begin{pspicture}(5,4) + \cnode(2.5,3.5){0.4}{A} + \cnode(0.5,1){0.2}{B1} + \cnode(1.5,1){0.4}{B2} + \cnode(2.6,1){0.6}{B3} + \cnode(4,1){0.8}{B4} + \psset{angleB=90,angleA=-90,armA=1cm} + \ncangles[pcRef=true]{A}{B1} + \ncangles[pcRef=true]{A}{B2} + \ncangles[pcRef=true]{A}{B3} + \ncangles[pcRef=true]{A}{B4} +\end{pspicture} +% +\begin{pspicture}(5,4) + \cnode(2.5,3.5){0.8}{A} + \cnode(0.5,1){0.2}{B1} + \cnode(1.5,1){0.4}{B2} + \cnode(2.6,1){0.6}{B3} + \cnode(4,1){0.8}{B4} + \psset{angleB=90,angleA=-90,armA=1cm} + \ncangles[pcRef=true]{A}{B1} + \ncangles[pcRef=true]{A}{B2} + \ncangles[pcRef=true]{A}{B3} + \ncangles[pcRef=true]{A}{B4} +\end{pspicture} +} + +\begin{lstlisting} +\begin{pspicture}(5,4) + \cnode(2.5,3.5){0.2}{A} + \cnode(0.5,1){0.2}{B1} + \cnode(1.5,1){0.4}{B2} + \cnode(2.6,1){0.6}{B3} + \cnode(4,1){0.8}{B4} + \psset{angleB=90,angleA=-90,armA=1cm} + \ncangles[pcRef=true]{A}{B1} + \ncangles[pcRef=true]{A}{B2} + \ncangles[pcRef=true]{A}{B3} + \ncangles[pcRef=true]{A}{B4} +\end{pspicture} +% +\begin{pspicture}(5,4) + \cnode(2.5,3.5){0.4}{A} + \cnode(0.5,1){0.2}{B1} + \cnode(1.5,1){0.4}{B2} + \cnode(2.6,1){0.6}{B3} + \cnode(4,1){0.8}{B4} + \psset{angleB=90,angleA=-90,armA=1cm} + \ncangles[pcRef=true]{A}{B1} + \ncangles[pcRef=true]{A}{B2} + \ncangles[pcRef=true]{A}{B3} + \ncangles[pcRef=true]{A}{B4} +\end{pspicture} +% +\begin{pspicture}(5,4) + \cnode(2.5,3.5){0.8}{A} + \cnode(0.5,1){0.2}{B1} + \cnode(1.5,1){0.4}{B2} + \cnode(2.6,1){0.6}{B3} + \cnode(4,1){0.8}{B4} + \psset{angleB=90,angleA=-90,armA=1cm} + \ncangles[pcRef=true]{A}{B1} + \ncangles[pcRef=true]{A}{B2} + \ncangles[pcRef=true]{A}{B3} + \ncangles[pcRef=true]{A}{B4} +\end{pspicture} +\end{lstlisting} + +\part{\texttt{pst-plot} -- package} + +\section{\texttt{pst-plot.tex} (\PLOTfileversion -- \PLOTfiledate)} + +\iffalse + +\subsection{Axes} +The behaviour of the optional argument \Lkeyword{Dx} changed. Using +negative values will now decrease the labels with the correct +value of \Lkeyword{Dx}: + +\psset{xunit=1cm} +\begin{LTXexample}[wide,width=6cm] +\begin{pspicture}(-0.5,-1)(6,4) + \psaxes[Dy=-2, dy=1, + Ox=4000, Dx=-1000, dx=1.5]{->}(10,4) +\end{pspicture} +\end{LTXexample} + +\vspace{1cm} +\begin{pspicture}(-0.5,-1)(10,3) + \psaxes[Dy=2, dy=1, Ox=4000, Dx=1000, dx=1.5]{->}(10,3)(0,0) + \rput(5,2){Positive values for Dx und Dy} +\end{pspicture} + +\begin{pspicture}(-0.5,-1)(10,3) + \psaxes[Dy=-2, dy=1, Ox=4000, Dx=-1000, dx=1.5]{->}(10,3)(0,0) + \rput(5,2){Negative values for Dx und Dy} +\end{pspicture} + +\begin{lstlisting} +\begin{pspicture}(-0.5,-1)(10,3) + \psaxes[Dy=2, dy=1, Ox=4000, Dx=1000, dx=1.5]{->}(10,3)(0,0) + \rput(5,2){Positive values for Dx und Dy} +\end{pspicture} + +\begin{pspicture}(-0.5,-1)(10,3) + \psaxes[Dy=-2, dy=1, Ox=4000, Dx=-1000, dx=1.5]{->}(10,3)(0,0) + \rput(5,2){Negative values for Dx und Dy} +\end{pspicture} +\end{lstlisting} +%\clearpage + +\fi +\subsection{New options \texttt{LineToXAxis} and \texttt{LineToYAxis}} + + +\psset{xunit=0.0333cm,yunit=2.5cm} +\begin{pspicture}(0,-1)(400,1) + \psline{->}(0,0)(400,0) + \psline{->}(0,-1)(0,1) + \psplot[plotstyle=LineToXAxis,linestyle=dashed,plotpoints=50, + linecolor=red!40, + showpoints=true,dotstyle=o,dotsize=0.2]{0}{360}{x sin} +\end{pspicture} + +\begin{lstlisting} +\psset{xunit=0.0333cm,yunit=2.5cm} +\begin{pspicture}(0,-1)(400,1) + \psline{->}(0,0)(400,0) + \psline{->}(0,-1)(0,1) + \psplot[plotstyle=LineToXAxis,linestyle=dashed,plotpoints=50, + linecolor=red!40, + showpoints=true,dotstyle=o,dotsize=0.2]{0}{360}{x sin} +\end{pspicture} +\end{lstlisting} + + + +\psset{xunit=0.0333cm,yunit=2.5cm} +\begin{pspicture}(0,-1.2)(400,1.4) + \psline{->}(0,0)(390,0) + \psline{->}(0,-1.1)(0,1.2) + \psplot[plotstyle=LineToYAxis,linestyle=dashed,plotpoints=50, + linecolor=blue!40, + showpoints=true]{0}{360}{x cos} +\end{pspicture} + +\begin{lstlisting} +\psset{xunit=0.0333cm,yunit=2.5cm} +\begin{pspicture}(0,-1.2)(400,1.4) + \psline{->}(0,0)(390,0) + \psline{->}(0,-1.1)(0,1.2) + \psplot[plotstyle=LineToYAxis,linestyle=dashed,plotpoints=50, + linecolor=blue!40, + showpoints=true]{0}{360}{x cos} +\end{pspicture} +\end{lstlisting} + + +\part{\texttt{pst-tree} -- package} +\section{\texttt{pst-tree.tex} (\TREEfileversion -- \TREEfiledate)} +There was a bug with \texttt{style=...} due to a missing \Lcs{use\textat par} in +\Lcs{pstree\textat ii}. + + +\nocite{*} +\bibliographystyle{plain} +\bibliography{PSTricks} + +\printindex + + +\end{document} diff --git a/graphics/pstricks/base/doc/pst-news09.pdf b/graphics/pstricks/base/doc/pst-news09.pdf Binary files differnew file mode 100644 index 0000000000..08453d9927 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news09.pdf diff --git a/graphics/pstricks/base/doc/pst-news09.tex b/graphics/pstricks/base/doc/pst-news09.tex new file mode 100644 index 0000000000..4a656a8566 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news09.tex @@ -0,0 +1,298 @@ +%% $Id: pst-news09.tex 165 2015-07-26 07:27:55Z herbert $ +\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings + headexclude,footexclude,oneside]{pst-doc} +\listfiles +\usepackage[utf8]{inputenc} +\usepackage{pst-plot} +\let\pstplotFV\fileversion +\let\pstplotFD\filedate +\usepackage{pst-node} +\let\pstnodeFV\fileversion +\let\pstnodeFD\filedate +\usepackage{pst-tree} +\let\psttreeFV\fileversion +\let\psttreeFD\filedate +\usepackage{pst-eucl} +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}2009}} +\begin{document} + +%\psset{PstDebug=1} +\title{\texttt{News -- 2009}\\ \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. + + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty}} +%-------------------------------------------------------------------------------------- + +\subsection{New optional argument} +With the new optional argument \Lkeyval{97} \LPack{pstricks} has the old behaviour of the +version of 1997. The \Lenv{pspicture} environment then has only a value as +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. + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} +%-------------------------------------------------------------------------------------- +\subsection{Makro \nxLcs{next}} +To prevent problems with other packages which also define a \Lcs{next} +macro, it is now renamed to \Lcs{ps@next}. This should be not important +for the user, because it is used only by the base system itself. + +\subsection{Makro \nxLcs{psDEBUG}} +\LPack{pstricks} defines the option \texttt{PstDebug=0|1}, which can be used for +debugging. The new macro \Lcs{psDEBUG} makes it easier to write some \Index{debugging} +information into the package files. The macro is only valid, if \Lkeyword{PstDebug}=1 +is set, otherwise the macro does nothing. + +\begin{BDef} +\Lcs{psDEBUG}\OptArgs\Largb{text} +\end{BDef} + +\Lcs{psDEBUG} writes the argument \Larg{text} into the log file. +Without an optional argument the word \Larg{pstricks} is used. The following output +of the log file + +\begin{lstlisting} +... +<key:xticksize>: setting ticksize to max +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 26. +<pst@@hlabels>: xticksizeC=0.0pt +... +\end{lstlisting} + +was possible with \Lcs{psset}\Largb{\Lkeyword{PstDebug}}=1\footnote{Can also be used locally for a +macro when used as optional argument +in the usual way.} +and inside of \LPack{pstricks-add} with +(only the first for example): +\begin{lstlisting} +... + \psDEBUG[key:ticksize]{setting ticksize} +... +\end{lstlisting} + +\subsection{Special Coordinates} +The macros \Lcs{SpecialCoor} and the corresponding \Lcs{NormalCoor} can now be used for +the \Index{radius} of \Index{arc}s and \Index{circle}s. With a preceeding \Lnotation{!} character the length can +be of any PostScript expression and will be taken with the unit pt in user coordinates: + +\begin{LTXexample}[width=6cm] +\begin{pspicture}[showgrid=true](-3,-3)(3,3) +\pscircle[linecolor=red](0,0){1cm} +\SpecialCoor +\pscircle[linecolor=blue](0,0){!3 sqrt} +\NormalCoor +\psarc[linewidth=2pt](0,0){2cm}{90}{270} +\SpecialCoor +\psarc[linecolor=green](0,0){! 60 sin dup add }{90}{270} +\end{pspicture} +\end{LTXexample} + +\SpecialCoor + +\subsection{\nxLcs{psarcAB} and \nxLcs{psarcnAB}} + +\begin{BDef} +\Lcs{psarcAB}\OptArgs\OptArg*{\Largb{arrows}}\coord{C}\coord{A}\coord{B}\\ +\Lcs{psarcnAB}\OptArgs\OptArg*{\Largb{arrows}}\coord{C}\coord{A}\coord{B} +\end{BDef} + +$(x_C, y_C)$ is the center and $(x_A, y_A)$ $(x_B, y_B)$ are two given points of the +\Index{circle}. The angles for the \Index{arc} are calculated by \TeX. The arc is drawn from the first +to the second point. The radius is the distance from the center to the second point. +The first point can have another distance, it is only used for calculating the angle. +The following examples need the package \LPack{pst-eucl}. + +\begin{LTXexample}[width=6cm] +\begin{pspicture}(-3,-3)(3,3) +\pstTriangle[PosAngle={180,0,90}](-3,0){A}(3,0){B}(0,3){C} +\pstCircleOA{I}{A} +\pstMiddleAB{A}{B}{Iab} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=blue!50]{% + \psarcAB(C)(A)(B) + \psarcnAB(Iab)(B)(A)} +\pstMiddleAB{A}{C}{Iac} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=red!50]{% + \psarcnAB(I)(A)(C) + \psarcAB(Iac)(C)(A)} +\pstMiddleAB{B}{C}{Ibc} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=green!50]{% + \psarcAB(I)(B)(C) + \psarcnAB(Ibc)(C)(B)} +\end{pspicture} +\end{LTXexample} + + +\subsection{Makro \nxLcs{psPline}} +\begin{BDef} +\Lcs{psPline}\OptArgs\coord1\coord2\coord3 +\end{BDef} + +The first point P1 is a projection onto the line of $\overline{P_2P_3}$ +and connected with drawing a line similiar to \Lcs{psline}. This macro +has three mandatory arguments for the three points. + +\begin{LTXexample}[pos=t] +\psset{unit=3} +\begin{pspicture}[showgrid=true](3,2) +\pspolygon(0,1)(3,2)(2.5,0) +\psPline[linestyle=dashed,arrowscale=2]{->}(0,1)(3,2)(2.5,0) +\psPline[linestyle=dashed,arrowscale=2]{->}(3,2)(2.5,0)(0,1) +\psPline[linestyle=dashed,arrowscale=2]{->}(2.5,0)(0,1)(3,2) +\end{pspicture} +\end{LTXexample} + + + +%-------------------------------------------------------------------------------------- +\section{The PostScript header files} +\subsection{\nxLFile{pstricks.pro}} +Only cosemetic changes to the code to make it more readable. +%-------------------------------------------------------------------------------------- +\subsection{\nxLFile{pst-node.pro}} +Only cosemetic changes to the code to make it more readable. + +\part{\nxLPack{pst-node} -- package} + +\section{\nxLFile{pst-node.tex} (\pstnodeFV -- \pstnodeFD)} + +There was a bug in \Lcs{fnode}. It is now fixed. + +foo + + z \quad + \pnode{testL1} + \fnode[linecolor=lightgray,framesize=6pt 50pt](0,.5ex){eqL} + \pnode(0,2ex){testL2} + \quad + = + \quad% + \pnode{testR1} + \fnode[linecolor=lightgray,framesize=6pt 50pt](0,.5ex){eqR} + \pnode(0,2ex){testR2} + \quad + z + \ncline[linecolor=red]{testL1}{testR1} + \ncline[linecolor=blue]{testL2}{testR2} + +bar + +\bigskip now with an aligned node +\psset{nodealign=true} + +foo + + z \quad + \pnode{testL1} + \fnode[linecolor=lightgray,framesize=6pt 50pt](0,.5ex){eqL} + \pnode(0,2ex){testL2} + \quad + = + \quad% + \pnode{testR1} + \fnode[linecolor=lightgray,framesize=6pt 50pt](0,.5ex){eqR} + \pnode(0,2ex){testR2} + \quad + z + \ncline[linecolor=red]{testL1}{testR1} + \ncline[linecolor=blue]{testL2}{testR2} + +bar + + +\begin{lstlisting} +foo + + z \quad + \pnode{testL1} + \fnode[linecolor=lightgray,framesize=6pt 50pt](0,.5ex){eqL} + \pnode(0,2ex){testL2} + \quad + = + \quad% + \pnode{testR1} + \fnode[linecolor=lightgray,framesize=6pt 50pt](0,.5ex){eqR} + \pnode(0,2ex){testR2} + \quad + z + \ncline[linecolor=red]{testL1}{testR1} + \ncline[linecolor=blue]{testL2}{testR2} + +bar + +\bigskip now with an aligned node +\psset{nodealign=true} + +foo + + z \quad + \pnode{testL1} + \fnode[linecolor=lightgray,framesize=6pt 50pt](0,.5ex){eqL} + \pnode(0,2ex){testL2} + \quad + = + \quad% + \pnode{testR1} + \fnode[linecolor=lightgray,framesize=6pt 50pt](0,.5ex){eqR} + \pnode(0,2ex){testR2} + \quad + z + \ncline[linecolor=red]{testL1}{testR1} + \ncline[linecolor=blue]{testL2}{testR2} + +bar +\end{lstlisting} + + +\part{\nxLPack{pst-plot} -- package} + +\section{\nxLFile{pst-plot.tex} (\pstplotFV -- \pstplotFD)} + +To be more consistent to other macro names there are now the names +\Lcs{psparametricplot}, \Lcs{psfileplot}, \Lcs{pslistplot}, and +\Lcs{psdataplot}. The old macros without the preceeding \verb+ps+ +still work! + +There is now a new \PS boolean variable which can control loops. +With setting \texttt{/\Lps{ps@Exit} true def} you can leave a loop +for plotting a function with \Lcs{psplot} and \Lcs{psparametricplot}. + + +\part{\nxLPack{pst-tree} -- package} +\section{\nxLFile{pst-tree.tex} (\psttreeFV -- \psttreeFD)} + +The package \LPack{pst-tree} 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/graphics/pstricks/base/doc/pst-news10.pdf b/graphics/pstricks/base/doc/pst-news10.pdf Binary files differnew file mode 100644 index 0000000000..98de904ecd --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news10.pdf diff --git a/graphics/pstricks/base/doc/pst-news10.tex b/graphics/pstricks/base/doc/pst-news10.tex new file mode 100644 index 0000000000..d4c018d92e --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news10.tex @@ -0,0 +1,926 @@ +%% $Id: pst-news10.tex 697 2017-12-30 19:04:03Z herbert $ +\documentclass[11pt,english,BCOR=10mm,DIV12,bibliography=totoc,parskip=false,headings=small,, + headinclude=false,footinclude=false,oneside]{pst-doc} +\listfiles +\let\Lfile\LFile +\usepackage[utf8]{inputenc} +\usepackage{pstricks} +\let\pstricksFV\fileversion +\let\pstricksFD\filedate +\usepackage{pst-plot} +\let\pstplotFV\fileversion +\let\pstplotFD\filedate +%\usepackage{xkvview} +\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=?} + +\addbibresource{PSTricks.bib} +\begin{document} + +%\psset{PstDebug=1} +\title{\texttt{News -- 2010}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\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} + +With the setting of the optional argument \Loption{pdf} the package \LPack{auto-pst-pdf} will be loaded +by PSTricks. This requires that you run \Lprog{pdflatex} as + +\begin{BDef} +\Lprog{pdflatex} \texttt{-{}-}\Loption{shell-escape} \texttt{<file>} & \% \TeX\,Live users\\ +\Lprog{pdflatex} \texttt{-{}-}\Loption{enable-write18} \texttt{<file>} & \% MiK\TeX\ users +\end{BDef} + +The package exports the \Lenv{pspicture} environments into single images which are collected in +a created file \texttt{<file>-pics.pdf} and inserted automatically in the last \Lprog{pdflatex} +run. + + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} +%-------------------------------------------------------------------------------------- + +\subsection{Coordinates} +With the setting \Lcs{SpecialCoor} the package allows different kinds of coordinates. +The macro \Lcs{uput} can now be used in a different way. +The default behaviour for nodes with a relative point puts its argument \emph{without} rotation +on the line $\overline{AB}$. When using the prefix > before the node or the $x$-value for +cartesian coordinates, the behaviour is different. Now the angle between the line $\overline{OB}$ +and the horizontal line +is taken into account and the placement of the argument of \Lcs{uput} is different to +the default behaviour. + +\begin{LTXexample}[width=7cm] +\begin{pspicture}[showgrid](-0.25,-0.25)(6,5) +\pnodes(0,3){A}(3,1){B} +\psline[showpoints](A)(B) +\uput[-90](A){A}\uput[-90](B){B} +\psline[linestyle=dashed](A)(3,4) +\psline[linestyle=dashed](A)(3,5) +\psline[linestyle=dashed](A)(3,3) +\psline[linestyle=dashed](6,2) +\psline[linestyle=dashed](B)(6,1) +\psarc{->}(0,3){2.5}{0}{(3,1)} +\psarc{->}(3,1){2.5}{0}{(3,1)} +\uput*{1cm}[(B)](A){foo} \uput*{1cm}[(B)](>A){bar} +\end{pspicture} +\end{LTXexample} + + +\subsection{New optional arguments} +The new arguments are only valid for the macros \Lcs{psellipse}, \Lcs{pscircle}, \Lcs{psarc}. +\Lcs{psellipticarc}, \Lcs{pscurve}, \Lcs{psplot}, and \Lcs{psparametricplot}. + +\medskip +\begin{tabular}{@{} l >{\em}l l l @{}}\toprule +\emph{name} & type & \emph{default} & \emph{description}\\\midrule +\Lkeyword{dashcolor} & color & \nxLcs{relax} & for colored dashed lines \\ +\Lkeyword{startLW} & length & \Lcs{pslinewidth} & starting linewidth \\ +\Lkeyword{endLW} & length & \Lcs{pslinewidth} & ending linewidth \\ +\Lkeyword{startWL} & integer& 380 & starting wave length\\ +\Lkeyword{endWL} & integer& 780 & ending wave length \\ +\Lkeyword{variableLW} & boolean & \false & use variable linewidth\\ +\Lkeyword{variableColor} & boolean & \false & use variable color\\\bottomrule +\end{tabular} + +\bigskip +\begingroup +\psset{linewidth=2mm,linestyle=dashed} +\begin{pspicture}(4,-4) +\psline[linecolor=blue,dashcolor=red,linearc=0.5](0,0)(4,0)(4,-4) +\psline[linecolor=blue,dashcolor=cyan,linearc=0.5](0,0)(0,-4)(4,-4) +\end{pspicture}\quad +\begin{pspicture}(4,4) +\psframe[linecolor=blue,dashcolor=green,framearc=0.5](0,0)(4,4) +\end{pspicture} +\quad \psset{linecap=2,dash=5mm 5mm } +\begin{pspicture}(4,-4) +\psline[linecolor=black,dashcolor=black!40,linecap=0](0,0)(4,-4) +\psline[linecolor=blue,dashcolor=red,linearc=0.5](0,0)(4,0)(4,-4) +\psline[linecolor=blue,dashcolor=cyan,linearc=0.5](0,0)(0,-4)(4,-4) +\end{pspicture} +\endgroup + +\begin{lstlisting} +\psset{linewidth=2mm,linestyle=dashed} +\begin{pspicture}(4,-4) +\psline[linecolor=blue,dashcolor=red,linearc=0.5](0,0)(4,0)(4,-4) +\psline[linecolor=blue,dashcolor=cyan,linearc=0.5](0,0)(0,-4)(4,-4) +\end{pspicture}\quad +\begin{pspicture}(4,4) +\psframe[linecolor=blue,dashcolor=green,framearc=0.5](0,0)(4,4) +\end{pspicture} +\quad \psset{linecap=2,dash=5mm 5mm } +\begin{pspicture}(4,-4) +\psline[linecolor=black,dashcolor=black!40,linecap=0](0,0)(4,-4) +\psline[linecolor=blue,dashcolor=red,linearc=0.5](0,0)(4,0)(4,-4) +\psline[linecolor=blue,dashcolor=cyan,linearc=0.5](0,0)(0,-4)(4,-4) +\end{pspicture} +\end{lstlisting} + + +\begin{LTXexample}[width=7cm,wide=true] +\psset{endLW=15pt} +\begin{pspicture}(-3.5,-2.5)(3.5,2.5) +\psellipse[linejoin=2,variableLW,startLW=1pt, + linecolor=green!40](0,0)(3,1) +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[width=7cm,wide=true] +\psset{endLW=15pt} +\begin{pspicture}(-2.5,-2.5)(2.5,2.5) +\pscircle[variableLW,startLW=1pt, + linecolor=blue!40]{2} +\end{pspicture} +\end{LTXexample} + +% +\begin{LTXexample}[width=7cm,wide=true] +\psset{endLW=15pt} +\begin{pspicture}(-2.5,-2.5)(2.5,2.5) +\psarc[variableLW,startLW=1pt, + linecolor=red!40](0,0){2}{10}{300} +\end{pspicture} +\end{LTXexample} + +% +\begin{LTXexample}[width=7cm,wide=true] +\psset{endLW=15pt} +\begin{pspicture}(-3.5,-2.5)(3.5,2.5) +\psellipticarc[variableLW,startLW=1pt, + linecolor=black!40](0,0)(3,1){90}{30} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=7cm,wide=true] +\begin{pspicture}(-2.5,-2.5)(2.5,2.5) +\pscurve[variableLW,startLW=1pt,endLW=20pt, + variableColor](-1,0.5)(-2,1)(2,2)(-1,-2)(2,-2) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=7cm,wide=true] +\begin{pspicture}(-2.5,-2.5)(2.5,2.5) +\pscurve[variableLW,startLW=1pt,endLW=20pt]% + (-1,0.5)(-2,1)(2,2)(-1,-2)(2,-2) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\begin{pspicture}(-5,-3)(5,3) +\psplot[variableLW,startLW=1pt,endLW=20pt, + linecolor=magenta!60,variableColor, + algebraic,plotpoints=3000,startWL=500, + endWL=700]{-5}{5}{2*sin(2*x)+cos(x)} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\psset{endLW=24pt} +\begin{pspicture}(-5,-5)(5,5) +\psparametricplot[variableLW,startLW=1pt, + endLW=60pt,linecolor=red,variableColor, + algebraic,plotpoints=3000,plotstyle=curve, + opacity=0.4,strokeopacity=0.4, + endWL=600]{-5}{5}{t*sin(t) | t*cos(t)} +\end{pspicture} +\end{LTXexample} + + +\clearpage + + +\subsection{Macro \nxLcs{psellipse}} + +To rotate an ellipse the already existing keyword \Lkeyword{rot} can be +used. This is easier than using the \Lcs{rput} command and its optional +argument for rotating. +\xLkeyword{rot}\xLkeyword{vlines}\xLkeyword{linecolor} +\begin{LTXexample}[width=6cm,wide=true] +\psset{unit=0.25} +\begin{pspicture}(-1,5)(20,18) +\psclip{\psellipse[linecolor=red, + rot=-12.606](5.821,10.04)(6.633,5.103)} + \psellipse[linecolor=blue,fillstyle=vlines, + rot=39.29](13.141,11.721)(6.8,5.4) +\endpsclip +\psellipse[linecolor=blue,rot=39.29](13.1,11.7)(6.8,5.4) +\end{pspicture} + +\begin{pspicture}(-1,5)(20,18) +\psellipse[linecolor=blue,rot=-39.29, + fillstyle=vlines](13.1,11.7)(6.8,5.4) +\psclip{\psellipse[linecolor=red,rot=12.6, + fillstyle=vlines](5.8,10)(6.6,5.1)} + \psellipse*[linecolor=white,rot=-39.29](13.1,11.7)(6.8,5.4) +\endpsclip +\psellipse[linecolor=blue,rot=-39.29](13.1,11.7)(6.8,5.4) +\psellipse[linecolor=red,rot=12.6](5.8,10)(6.6,5.1) +\end{pspicture} +\end{LTXexample} + +\subsection{Macro \nxLcs{psellipticarc}}\xLcs{psellipticarc} +In a circle the angle is proportional to the bow: $b=r\alpha$. In an +elliptic arc this is no more the case, which is the reason why angles are +internally corrected by PSTricks, to get the same arc lengthts for +different radii: + +\xLcs{psellipticarc} +\begin{LTXexample}[width=6cm] +\psset{unit=0.5cm} +\begin{pspicture}(-5.5,-5.5)(5.5,5.5)% +\psset{linewidth=0.4pt,linejoin=1} +\psline(5,0)(0,0)(5,-5) +\psellipticarc(0,0)(3,3){0}{315} +\end{pspicture}% +\end{LTXexample} + +\begin{LTXexample}[width=6cm] +\psset{unit=0.5cm} +\begin{pspicture}(-5.5,-5.5)(5.5,5.5)% +\psset{linewidth=0.4pt,linejoin=1} +\psline(5,0)(0,0)(5,-5) +\psellipticarc(0,0)(1,3){0}{315}% +\psset{linecolor=red} +\psellipticarc(0,0)(3,1){22}{222}% +\psline(3;22)\psline(3;222) +\end{pspicture}% +\end{LTXexample} + +\begin{LTXexample}[width=6cm] +\psset{unit=0.5cm} +\begin{pspicture}(-5.5,-5.5)(5.5,5.5)% +\psset{linewidth=0.4pt,linejoin=1} +\psline(5,0)(0,0)(5,-5) +\psellipticarc*(0,0)(1,3){0}{315}% +\psset{linecolor=red} +\psellipticarc*(0,0)(3,1){22}{222}% +\psline(3;22)\psline(3;222) +\end{pspicture}% +\end{LTXexample} + +\psset{unit=1cm} + + +If you do not want the angle correction, then use the keyword setting \Lkeyword{correctAngle}=\false: + +\begin{LTXexample}[width=6cm] +\psset{unit=0.5cm} +\begin{pspicture}(-5.5,-5.5)(5.5,5.5)% +\psset{linewidth=0.4pt,linejoin=1, + correctAngle=false} +\psline(5,0)(0,0)(5,-5) +\psellipticarc(0,0)(1,3){0}{315}% +\psset{linecolor=red} +\psellipticarc(0,0)(3,1){22}{222}% +\psline(3;22)\psline(3;222) +\end{pspicture}% +\end{LTXexample} + +\begin{LTXexample}[width=6cm] +\psset{unit=0.5cm} +\begin{pspicture}(-5.5,-5.5)(5.5,5.5)% +\psset{linewidth=0.4pt,linejoin=1, + correctAngle=false} +\psline(5,0)(0,0)(5,-5) +\psellipticarc*(0,0)(1,3){0}{315}% +\psset{linecolor=red} +\psellipticarc*(0,0)(3,1){22}{222}% +\psline(3;22)\psline(3;222) +\end{pspicture}% +\end{LTXexample} + + + + +\subsection{Option \texttt{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{New linestyle \nxLkeyval{symbol}} + +Instead of drawing a continous line or curve for a series of coordinates, one +can now out a symbol in a given size, direction, and step. This works only +for the line style \Lkeyval{symbol}. It takes the symbol defined by the optional +argument \Lkeyword{symbol}, which can have a single character or a octal number +of three digits. The font is specified by the key \Lkeyword{symbolFont}, which can take +as argument one of the valid \PS fonts or the internal \Lkeyval{PSTricksDotFont}. +If the symbol is given by a single character then the equivilant character in +the given font is used. The difference between two symbols is set by \Lkeyword{symbolStep} +and the symbol rotation by \Lkeyword{rotateSymbol}. For the first symbol there +is an additional keyword \Lkeyword{startAngle}. +The default values for these new +optional keywords are: + +\begin{Xverbatim}{} +\psset[pst-base]{symbolStep=20pt} +\psset[pst-base]{symbolWidth=10pt} +\psset[pst-base]{symbolFont=Dingbats} +\psset[pst-base]{rotateSymbol=false} +\psset[pst-base]{startAngle=0} +\end{Xverbatim} + +\begin{LTXexample}[pos=t,preset=\centering] +\pspicture(-1,-1)(8,6) +\psline[linestyle=symbol](0,0)(5,0)(8,4) +\psline[linestyle=symbol,symbol=T](0,1)(5,1)(8,4) +\psline[linestyle=symbol,symbol=u,symbolFont=PSTricksDotFont](0,2)(5,2)(8,4) +\psline[linestyle=symbol,symbol=u,symbolStep=25pt,linecolor=red](0,3)(5,3)(8,2) +\psline[linestyle=symbol,symbol=A,symbolStep=25pt, + symbolWidth=20pt,linecolor=blue](0,4)(5,4)(8,1) +\psline[linestyle=symbol,symbol=342,rotateSymbol=true,symbolStep=12pt](0,5)(5,5)(8,0) +\endpspicture +\end{LTXexample} + +\begin{LTXexample}[pos=t,preset=\centering] +\pspicture(-1,-1)(8,6) +\pscurve[linestyle=symbol](0,0)(5,0)(8,4) +\pscurve[linestyle=symbol](0,1)(5,1)(8,4) +\pscurve[linestyle=symbol,symbol=u,symbolFont=PSTricksDotFont](0,2)(5,2)(8,4) +\pscurve[linestyle=symbol,symbol=u,symbolStep=25pt,linecolor=red](0,3)(5,3)(8,2) +\pscurve[linestyle=symbol,symbol=A,symbolStep=25pt, + symbolWidth=20pt,linecolor=blue](0,4)(5,4)(8,1) +\pscurve[linestyle=symbol,symbol=342,rotateSymbol=true, + startAngle=190,symbolStep=12pt](0,5)(5,5)(8,0) +\endpspicture +\end{LTXexample} + +\begin{LTXexample}[pos=t,preset=\centering] +\pspicture(-1,-1)(8,6) +\psccurve[linestyle=symbol](0,0)(5,0)(8,4) +\psccurve[linestyle=symbol](0,1)(5,1)(8,4) +\psccurve[linestyle=symbol,symbol=u,symbolFont=PSTricksDotFont](0,2)(5,2)(8,4) +\psccurve[linestyle=symbol,symbol=u,symbolStep=25pt,linecolor=red](0,3)(5,3)(8,2) +\psccurve[linestyle=symbol,symbol=A,symbolStep=25pt, + symbolWidth=20pt,linecolor=blue](0,4)(5,4)(8,1) +\psccurve[linestyle=symbol,symbol=342,rotateSymbol=true, + startAngle=190,symbolStep=12pt](0,5)(5,5)(8,0) +\endpspicture +\end{LTXexample} + +\begin{LTXexample}[pos=t,preset=\centering] +\pspicture(-1,-1)(5,4) +\pscurve[rotateSymbol=true,linestyle=symbol, + rot=180,startAngle=100,symbol=", + symbolWidth=20pt](0,0)(1,4)(3,0)(5,2) +\endpspicture +\end{LTXexample} + +\begin{LTXexample}[pos=t,preset=\centering] +\pspicture(-1,-1)(6,4) +\psbezier[rotateSymbol=true,linestyle=symbol,symbol=u, + symbolFont=PSTricksDotFont,rot=-90,startAngle=0](0,0)(0,4)(6,4)(6,0) +\endpspicture +\end{LTXexample} + +\begin{LTXexample}[pos=t,preset=\centering] +\psset{unit=0.5cm} +\pspicture(-1,-4)(6,4) +\pscbezier[rotateSymbol=true,linestyle=symbol,symbol=u, + symbolFont=PSTricksDotFont](0,4)(4,4)(4,-4)(0,-4) +\pscbezier[linestyle=dashed](0,4)(4,4)(4,-4)(0,-4) +\endpspicture +\end{LTXexample} + +\psset{unit=1cm} +\begin{LTXexample}[pos=t,preset=\centering] +\pspicture(-1,-1)(6,4) +\psbezier[rotateSymbol=true,linestyle=symbol,symbol=u, + symbolFont=PSTricksDotFont](0,0)(0,4)(6,4)(6,0) +\endpspicture +\end{LTXexample} + +\begin{LTXexample}[pos=t,preset=\centering] +\pspicture(-1,-1)(6,4) +\pspolygon[rotateSymbol=true,linestyle=symbol,symbol=u, + symbolFont=PSTricksDotFont](0,0)(0,4)(6,4)(6,0)(1,3) +\endpspicture +\end{LTXexample} + +\begin{LTXexample}[pos=t,preset=\centering] +\pspicture(-3,-1)(6,6) +\psccurve[linestyle=symbol,symbol=u, rot=-90,rotateSymbol, + symbolFont=PSTricksDotFont, symbolWidth=5pt, symbolStep=10pt +](-3,-1)(0,0)(0,4)(6,4)(6,0)(0,4)(-1,5) +\endpspicture +\end{LTXexample} + +\begin{LTXexample}[pos=t,preset=\centering] +\pspicture(-1,-1)(6,6) +\pscurve[linestyle=dashed,linecolor=black!30](0,0)(0,4)(6,4)(6,0)(0,4) +\pscurve[rotateSymbol=true,linestyle=symbol,symbol=k, + symbolFont=PSTricksDotFont, symbolWidth=5pt, symbolStep=10pt,linecolor=blue +](0,0)(0,4)(6,4)(6,0)(0,4) +\endpspicture +\end{LTXexample} + + +%-------------------------------------------------------------------------------------- +\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 \texttt{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} +\psset{unit=0.7cm} +\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} +\psset{unit=1cm} + +\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}[width=6cm] +\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.55cm,yunit=2cm} +\begin{pspicture}[showgrid](0,-5mm)(25,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,width=6cm] +\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}. + + +\clearpage +\section{List of all optional arguments for \texttt{pstricks}} + +\xkvview{family=pst-base,columns={key,type,default}} +%\xkvview{family=pst-tools,columns={key,type,default}} + + + +\nocite{*} +\printbibliography + +\printindex + + +\end{document} diff --git a/graphics/pstricks/base/doc/pst-news11.pdf b/graphics/pstricks/base/doc/pst-news11.pdf Binary files differnew file mode 100644 index 0000000000..d2539fd5e0 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news11.pdf diff --git a/graphics/pstricks/base/doc/pst-news11.tex b/graphics/pstricks/base/doc/pst-news11.tex new file mode 100644 index 0000000000..a4254f226f --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news11.tex @@ -0,0 +1,184 @@ +%% $Id: pst-news11.tex 165 2015-07-26 07:27:55Z 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-node} +\usepackage{xkvview} +\let\pstnodeFV\fileversion +\let\pstnodeFD\filedate +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}2011}} +\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 -- 2011}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\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} + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} +%-------------------------------------------------------------------------------------- + +\subsection{Macro \nxLcs{psLoop}} +\PST\marginpar[2.17]{2.17} already knows \Lcs{psforeach} and \Lcs{psForeach} for loops. The new +macro \Lcs{psLoop} allows a loop without defining a variable: + +\begin{BDef} +\Lcs{psLoop}\Largb{n}\Largb{argument} +\end{BDef} + +However, the internal \TeX\ counter \Lctr{psLoopIndex} can be used for own purposes. + +\begin{LTXexample}[width=7cm] + \psLoop{4}{PSTricks } +\end{LTXexample} + +\begin{LTXexample}[width=7cm] +\tabular{|c|c|c|c|} + \psLoop{3}{PSTricks &}\\\hline + A & B & C & D\\\hline +\endtabular +\end{LTXexample} + +\begin{LTXexample}[width=6cm] +\begin{pspicture}[showgrid](3,3) +\psLoop{4}{% + \psdots(\the\psLoopIndex,\the\psLoopIndex)} +\end{pspicture} +\end{LTXexample} + +\subsection{New fillstyle \texttt{dots}} +Instead of using the package \LPack{pst-fill} one can now use the fill style \Lkeyval{dots}. +The valid parameters are \Lkeyword{hatchsep} for the distance of two dots, \Lkeyword{hatchwidth} +for the radius of the filled dot, and \Lkeyword{hatchcolor} for the dot color. + +\begin{LTXexample}[pos=t] +\begin{pspicture}(-2,-2)(10,2) +\pscircle[hatchcolor=gray,hatchsep=10pt,hatchwidth=3pt,fillstyle=dots]{2} +\pscircle[hatchcolor=gray,hatchsep=10pt,hatchwidth=3pt,fillstyle=dots*](4,0){2} +\psframe[hatchcolor=blue!30,linecolor=red,hatchsep=12pt,hatchwidth=4pt, + fillstyle=dots*](6,-2)(10,2) +\end{pspicture} +\end{LTXexample} + + +%-------------------------------------------------------------------------------------- +\section{The PostScript header files} +\subsection{\nxLFile{pstricks.pro}} +%-------------------------------------------------------------------------------------- +There is a new subroutine \Lps{DotFill}: +\begin{lstlisting} + +/DotFill {% on stack: dot radius + /dotRadius ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform + pathbbox % llx lly urx ury of smallest bounding box + /y2 ED /x2 ED /y1 ED /x1 ED + y2 y1 sub a div 2 add cvi /Ny ED + x2 x1 sub a div 2 add cvi /Nx ED + clip + newpath + /yA y1 dotRadius add CLW add def + /xA0 x1 dotRadius add CLW add def + Ny { + /xA xA0 def + Nx { + newpath + xA yA dotRadius 0 360 arc + SolidDot { gsave fill grestore } if + stroke + xA a add /xA ED + } repeat + yA a add /yA ED + } repeat + grestore +} def +\end{lstlisting} + + +%-------------------------------------------------------------------------------------- +%\subsection{\nxLFile{pst-algparser.pro}} +%-------------------------------------------------------------------------------------- + +%\section{\nxLcs{psforeach} and \nxLcs{psForeach}} +%-------------------------------------------------------------------------------------- + +\section{List of all optional arguments for \texttt{pstricks}} + +\makeatletter +\xkvview{family=pstricks,columns={key,type,default}} +\makeatother + + +\clearpage +\part{Other packages} +\section{\texttt{pst-node} -- version \pstnodeFV\ | \pstnodeFD} +The command \Lcs{pnode} now knows an optional argument for an offset, which +expects two values (x,y) separated by a comma: + +\begin{BDef} +\Lcs{pnode}\OptArg*{\Largs{\Larga{offset}}}\Largr{\CAny}\Largb{\Larga{node name}} +\end{BDef} + + +\begin{LTXexample}[width=6cm] +\begin{pspicture}[showgrid](0,-2)(6,2) +\pnode{A}\psdot(A)\uput[90](A){A} +\pnode[0,-2]{B}\psdot(B)\uput[90](B){B} +\pnode(2,0){C}\psdot(C)\uput[90](C){C} +\pnode[1,-2](2,0){D}\psdot(D)\uput[90](D){D} +\pnode[2,2](3.5,0){E}\psdot(E)\uput[90](E){E} +\end{pspicture} +\end{LTXexample} + + +\clearpage +\nocite{*} +\bibliographystyle{plain} +\bibliography{PSTricks} + +\printindex + + +\end{document} diff --git a/graphics/pstricks/base/doc/pst-news12.pdf b/graphics/pstricks/base/doc/pst-news12.pdf Binary files differnew file mode 100644 index 0000000000..0807d12d53 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news12.pdf diff --git a/graphics/pstricks/base/doc/pst-news12.tex b/graphics/pstricks/base/doc/pst-news12.tex new file mode 100644 index 0000000000..759869d864 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news12.tex @@ -0,0 +1,243 @@ +%% $Id: pst-news12.tex 847 2018-12-04 08:04:28Z 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-node,pst-plot} +\usepackage{xkvview} +\let\pstnodeFV\fileversion +\let\pstnodeFD\filedate +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}2012}} +\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 -- 2012}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\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} + + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} +%-------------------------------------------------------------------------------------- + + +\subsection{\nxLcs{psellipticarc}} +There was a bug with the star version of \Lcs{psellipticarc}, which filled the path in +the same way as \Lcs{psellipticwedge*} does. It is now fixed: + +\begin{LTXexample}[pos=r] +\begin{pspicture}[showgrid](4,4) +\psellipticarc*(2,0)(2,4){0}{130} +\psdot(2,0) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=r] +\begin{pspicture}[showgrid](4,4) +\psellipticarc*[correctAngle=false,showpoints](2,0)(2,4){0}{130} +\psdot(2,0) +\end{pspicture} +\end{LTXexample} + +\subsection{Grid} + +The optional argument \Lkeyval{showgrid} can have the values \Lkeyval{bottom}, +\Lkeyval{true}, +\Lkeyval{false}, and +\Lkeyval{top}, where \Lkeyval{false is the default} and \Lkeyval{true} the same as +\Lkeyval{bottom}. With the latter it is set first and with \Lkeyval{top} it is set +at the end of the \Lenv{pspitcure} environment. + + +\subsection{Symbol line} +The optional argument \Lkeyword{symbol} for a linestyle can now be +set with a negative \Lkeyword{symbolstep} for a computed width of the steps: +\begin{LTXexample}[pos=t] +\psset{unit=0.75cm} +\begin{pspicture}(8,8) +\psaxes[labels=none,ticks=none]{->}(0,0)(8,8)[$x$,0][$y$,0] +\pscurve(1,1)(3,4)(6,6)(8,4) +\pscurve[linestyle=symbol,symbolStep=-20,symbol=l](1,1)(3,4)(6,6)(8,4) +\end{pspicture} +\end{LTXexample} + + +Instead of setting a symbol it is possible to set ticks on the curve with \Lkeyword{curveticks}. They can be set by a fixed width or a computed +width if the \Lkeyword{symbolStep} is set by a negative number without a unit. + +\begin{LTXexample}[pos=t] +\psset{unit=0.75cm} +\begin{pspicture}(8,8) +\psaxes[labels=none,ticks=none]{->}(0,0)(8,8)[$x$,0][$y$,0] +\pscurve(1,1)(3,4)(6,6)(8,4) +\pscurve[linestyle=symbol,symbolStep=12.25pt, + curveticks,startAngle=60](1,1)(3,4)(6,6)(8,4) +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[pos=t] +\psset{unit=0.75cm} +\begin{pspicture}(8,8) +\psaxes[labels=none,ticks=none]{->}(0,0)(8,8)[$x$,0][$y$,0] +\pscurve(1,1)(3,4)(6,6)(8,4) +\pscurve[linestyle=symbol,symbolStep=-12, + curveticks,startAngle=60](1,1)(3,4)(6,6)(8,4) +\end{pspicture} +\end{LTXexample} + + +\subsection{Fill style \texttt{eohlines} and \texttt{eovlines}} +These fill styles uses the PS function \Lps{eoclip} instead of \Lps{clip}. + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid](6,6) + \pscustom[fillstyle=eovlines,fillcolor=green]{ + \pscircle(3,3){3} + \psline[liftpen=2](1,2)(5,2)(3,5)(1,2) + } +\end{pspicture}\quad +\begin{pspicture}[showgrid](6,6) + \pscustom[fillstyle=eovlines*,fillcolor=blue!50]{ + \pscircle(3,3){3} + \psline[liftpen=2](1,2)(5,2)(3,5)(1,2)} +\end{pspicture} +\end{LTXexample} + + + +\subsection{Fill style \texttt{penroseA}} + +The valid optional arguments are \texttt{penroseA}, +\texttt{hatchcolor}, \texttt{dartcolor}, and \texttt{kitecolor} + +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}(3,3) +\psframe[fillstyle=penroseA](3,3) +\end{pspicture} \qquad +\begin{pspicture}(3,3) +\psframe[fillstyle=penroseA,psscale=0.5,hatchcolor=white](3,3) +\end{pspicture} \qquad +\begin{pspicture}(3,3) +\psccurve[fillstyle=penroseA,kitecolor=yellow,dartcolor=blue!30](0,1.5)(1.5,3)(3,1.5)(1.5,0) +\end{pspicture} +\end{LTXexample} + + + +\section{The PostScript header files} +\subsection{\nxLFile{pstricks.pro}} +%-------------------------------------------------------------------------------------- + +The file \Lfile{pst-tools.pro} contains additional helper functions: + +\begin{lstlisting} +/factorial { % n on stack, returns n! +/MoverN { % m n on stack, returns the binomial coefficient m over n +/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2] +/cxneg { % [a b] +/cxsub { cxneg cxadd } def % same as negative addition +/cxmul { % [a1 b1] [a2 b2] +/cxsqr { % [a b] square root +/cxsqrt { % [a b] +/cxarg { % [a b] +/cxlog { % [a b] +/cxnorm2 { % [a b] +/cxnorm { % [a b] +/cxconj { % conjugent complex +/cxre { 0 get } def % real value +/cxim { 1 get } def % imag value +/cxrecip { % [a b] +/cxmake1 { 0 2 array astore } def % make a complex number, real given +/cxmake2 { 2 array astore } def % dito, both given +/cxdiv { cxrecip cxmul } def +/cxrmul { % [a b] r +/cxrdiv { % [a b] r +/cxconv { % theta +/bubblesort { % on stack must be an array [ ... ] +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 +/dot2comma {% on stack a string (...) +\end{lstlisting} + + +%-------------------------------------------------------------------------------------- +%\subsection{\nxLFile{pst-algparser.pro}} +%-------------------------------------------------------------------------------------- + +%\section{\nxLcs{psforeach} and \nxLcs{psForeach}} +%-------------------------------------------------------------------------------------- + +\section{List of all optional arguments for \texttt{pstricks}} + +\makeatletter +\xkvview{family=pstricks,columns={key,type,default}} +\makeatother + + +\clearpage +\part{Other packages} +\section{\texttt{pst-node} -- version \pstnodeFV\ | \pstnodeFD} +The command \Lcs{pnode} now knows an optional argument for an offset, which +expects two values (x,y) separated by a comma: + +\begin{BDef} +\Lcs{pnode}\OptArg*{\Largs{\Larga{offset}}}\Largr{\CAny}\Largb{\Larga{node name}} +\end{BDef} + + +\begin{LTXexample}[width=6cm] +\begin{pspicture}[showgrid](0,-2)(6,2) +\pnode{A}\psdot(A)\uput[90](A){A} +\pnode[0,-2]{B}\psdot(B)\uput[90](B){B} +\pnode(2,0){C}\psdot(C)\uput[90](C){C} +\pnode[1,-2](2,0){D}\psdot(D)\uput[90](D){D} +\pnode[2,2](3.5,0){E}\psdot(E)\uput[90](E){E} +\end{pspicture} +\end{LTXexample} + + +\clearpage +\nocite{*} +\bibliographystyle{plain} +\bibliography{PSTricks} + +\printindex + + +\end{document} diff --git a/graphics/pstricks/base/doc/pst-news13.pdf b/graphics/pstricks/base/doc/pst-news13.pdf Binary files differnew file mode 100644 index 0000000000..4d632be639 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news13.pdf diff --git a/graphics/pstricks/base/doc/pst-news13.tex b/graphics/pstricks/base/doc/pst-news13.tex new file mode 100644 index 0000000000..2995cf042d --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news13.tex @@ -0,0 +1,252 @@ +%% $Id: pst-news13.tex 165 2015-07-26 07:27:55Z 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-node} +\let\pstnodeFV\fileversion +\let\pstnodeFD\filedate +\usepackage{pst-plot} +\usepackage{xkvview} +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}2013}} +\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 -- 2013}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\author{Herbert Voß} +\date{\today} + +\maketitle + +\clearpage +\tableofcontents + +\clearpage +\part{\texttt{pstricks} -- package} + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty}} +%-------------------------------------------------------------------------------------- + +There are new optional arguments \Lkeyword{monochrome} and \Lkeyword{grayscale} to convert \emph{all} RGB and CMYK colors +into black and white or grayscale. The equations are: + +\subsection{RGB to gray} +\[ \text{gray} = 0.07 \text{red} + 0.71 \text{green} + 0.21 \text{blue} \] + +\subsection{CMYK to gray} +\begin{align*} + c &= c (1 - k) + k\\ + m &= m (1 - k) + k\\ + y &= y (1 - k) + k\\ + r, g, b &= (1 - c), (1 - m), (1 - y)\\ + \text{gray} &= 0.299 r + 0.587 g + 0.114 b +\end{align*} + +This change will be global and effects also all other color setting! +See section~\vref{subsec:monochrome} for a local change of the color output. + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} +%-------------------------------------------------------------------------------------- +There is a new optional argument \Lkeyword{pgffunctions} for the environment \Lenv{pspicture}. +With this option one can force the loading of the special pgf PostScript function +which in some cases are missing, when using the package \LPack{auto-pst-pdf} and another +package which uses pgf macros. + +\lstinline|\begin{pspicture}[pgffunctions,...](...)(...)| + +\subsection{labelsep} +The \Lkeyword{labelsep} is the first -- optional -- argument of \Lcs{uput}. +It is now possible to use the PostScript notation for this \emph{length}, eg \verb|{! 45 sin 3 mul}|. +Then the unit which is active when \Lcs{uput} is active is used. With a unit the PS notation +ist not allowed and leads to an error! + + +\subsection{Customization} + +\Lcs{pscustom} now knows the PostScript function \Lcs{reversepath}: + +\begin{LTXexample}[width=5cm] +\begin{pspicture}(5,3) + \pnode(5;30){A} + \psline(A)(0,0)(5;0) + \pscustom[fillstyle=vlines]{% + \psarcAB(A)(0,0)(2,0) + \reversepath + \psarcAB(A)(0,0)(4,0)} +\end{pspicture} +\end{LTXexample} + + +\subsection{Coordinates} +\subsubsection{Postscript mode} +A preceeding \verb|!| in coordinates will interpret the following expressing in Postfix notation. +The expression is automatically translated from user into screen coordinates. With a double \verb|!!| +this can be omitted and the Postscript expression will not be translated. This is useful in some +special cases: + +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](2,2)(5,5) +\pscustom{ + \psarc(3,3){1}{0}{90} + \rmoveto(.5;-90) + \psarc[liftpen=2](!!CP){.5}{90}{180}} +\end{pspicture} +\end{LTXexample} + +\verb|CP| is the internal abbreviation for the Postscript function \texttt{currentpoint}. + + +\subsubsection{Algebraic mode} +Additionally to the special pair of coordinates \verb|(*x f(x))| where $x$ must be a value in +PostScript notation and $f(x)$ in algebraic noatation, there is now a \verb|(**{f(y), y})| +which is vice versa, $f(y)$ in algebraic and $y$ in PostScript notation. And there is also +a \verb|(+{x}, {f(x)})|, where both expressions must be in algebraic notation and \verb|{x}| must expand to a value +or an expression which uses known system or user defined PostScript functions. + + +\begin{LTXexample}[width=5cm] +\def\f(#1){#1^2} \def\y{2} +\begin{pspicture}[showgrid](5,5) +\pnode(+{sqrt(Pi),1.5*(sin(x)^2+cos(x)^2)}){A} +\psdot(A) \psline[arrowscale=1.5]{->}(A) +\psline{->}(*2 {x^2}) \psline{->}(**{y^2} 2) +\psline(1,1)(**{\f(y)} 2.2)(2;45)(*2 {\f(x)}) +\psline[linecolor=blue]{->}(+{sqrt(2),\f(x)}) +\psline[linecolor=blue]{->}(+{sqrt(3)},{\f(x)}) +\psline(+1,x+0.5) +\end{pspicture} +\end{LTXexample} + + +Important: If the expression contains itself a parenthesis like \verb|)| then the argument must +be inside braces; otherwise \TeX\ will take the first closing parenthesis as clsong delimiter +for the complete coordinate argument \verb|(...)| which then gives an error. + + + + + + + + +\subsection{Fillstyle \texttt{dots}} +A fix for the fill style \Lkeyval{dots} to make it work again: + +\begin{LTXexample}[width=5cm] +\pspicture(4,3) +\psframe[fillstyle=dots](4,3) +\endpspicture +\end{LTXexample} + +\subsection{New macro \nxLcs{psRing}} + +\begin{BDef} +\LcsStar{psRing}\OptArgs\Largr{\CAny}\Largb{Inner Radius}\Largb{Outer Radius} +\end{BDef} + + +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](4,4) + \psRing[linecolor=red](2,2){0.3}{0.8} + \psRing*[opacity=0.5](2,2){1}{2} +\psdot(2,2) +\end{pspicture} +\end{LTXexample} + +\subsection{New macros \nxLcs{pssetMonochrome}, \nxLcs{pssetGrayscale}, and \nxLcs{psresetColor}}\label{subsec:monochrome} + +\begin{BDef} +\Lcs{pssetMonochrome}\\ +\Lcs{pssetGrayscale}\\ +\Lcs{psresetColor} +\end{BDef} + + + +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](4,4) + \pssetMonochrome% + \psRing[linecolor=red](2,2){0.3}{0.8} + \psRing*[linecolor=red!30](2,2){1}{2} +\psresetColor% +\psdot[linecolor=red,dotscale=3](2,2) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](4,4) + \pssetGrayscale% + \psRing[linecolor=red](2,2){0.3}{0.8} + \psRing*[linecolor=red!30](2,2){1}{2} +\psresetColor% +\psdot[linecolor=red,dotscale=3](2,2) +\end{pspicture} +\end{LTXexample} + + + +\section{The PostScript header files} +\subsection{\nxLFile{pstricks.pro}} +%-------------------------------------------------------------------------------------- + +\clearpage +\part{Other packages} +\section{\texttt{pst-node} -- version \pstnodeFV\ | \pstnodeFD} + +\small +\begin{verbatim} +1.29 2013-07-13 - fix bug with missing angle in special node coordinates + - fix for fnpnodes (argument must be in {}) + - fix typo in the documentation +1.28 2013-07-10 - added \pnodes (plural) for multiple node definition +1.27 2013-04-12 - added macro \Lcs{Cnodeput} which takes radius=... + into account +1.26 2013-04-09 - added macros \Lcs{psncurve} and \Lcs{psnccurve} + for a sequence of nodes created by \Lcs{curvepnodes} +1.25 2012-09-21 - Global node coordinates only with saveNodeCoors +\end{verbatim} + +\normalsize + + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid](0,-0.5)(7,6) + \pnode(3,3){A}\psdot(A)\uput[-35](A){A} + \pnode(6,5){B}\psdot(B)\uput[135](B){B} + \psline[linestyle=dotted](A)\psline[linestyle=dotted](A)(B) + \pscircle[linestyle=dotted](A){!5 sqrt} + \pnode([nodesep=2]{B}A){P0}\psdot(P0) + \pnode([offset=1]{B}A){P1}\psdot(P1) + \pnode([nodesep=2,offset=1]{B}A){P}\psdot(P) + \psline(A)([nodesep=2]{B}A) \psline[linestyle=dashed](P0)(P) + \psline(A)([offset=1]{B}A) \psline[linestyle=dashed](P1)(P) + \pnode([nodesep=2,offset=1,angle=135]{B}A){Q}\psdot(Q) + \psarc[origin={A},arrowscale=2]{->}(A){!5 sqrt}{(P)}{(Q)} +% + \pnode([nodesep=2,offset=2]{B}A){P}\psdot(P) + \pnode([nodesep=2,offset=2,angle=135]{B}A){Q}\psdot(Q) + \psarc[origin={A},arrowscale=2]{->}(A){!8 sqrt}{(P)}{(Q)} +\end{pspicture} +\end{LTXexample} + + + + +\clearpage +\nocite{*} +\bibliographystyle{plain} +\bibliography{PSTricks} + +\printindex + + +\end{document} + + diff --git a/graphics/pstricks/base/doc/pst-news14.pdf b/graphics/pstricks/base/doc/pst-news14.pdf Binary files differnew file mode 100644 index 0000000000..736504dc19 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news14.pdf diff --git a/graphics/pstricks/base/doc/pst-news14.tex b/graphics/pstricks/base/doc/pst-news14.tex new file mode 100644 index 0000000000..75b209b580 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news14.tex @@ -0,0 +1,202 @@ +%% $Id: pst-news14.tex 165 2015-07-26 07:27:55Z 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-node} +\let\pstnodeFV\fileversion +\let\pstnodeFD\filedate +\usepackage{pst-plot} +\usepackage{xkvview} +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}2014}} +\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 -- 2014}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\author{Herbert Voß} +\date{\today} + +\maketitle + +\clearpage +\tableofcontents + +\clearpage +\part{\texttt{pstricks} -- package} + +%-------------------------------------------------------------------------------------- +%\section{\texttt{pstricks.sty}} +%-------------------------------------------------------------------------------------- + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} +%-------------------------------------------------------------------------------------- +\subsection{Opacity} +The keyword \Lkeyword{strokeopacity} is now also valid for \Lcs{psdot}, \Lcs{psdots}, +and the \Lkeyword{linestyle}/\Lkeyword{plotstyle}=\Lkeyval{dots}. + + +\subsection{PostScript notation for numbers} +Optional arguments which expects a real number can now have a preceeding ! character for +a PostScript notation which is directly passed to PostScript. The user has take care that +such a number isn't use before in another \TeX\ macro. In such a case it gives an error. + +\begin{LTXexample}[width=5cm] +\pstVerb{ 1234321 srand } +\begin{pspicture}[showgrid](-2,-2)(2,2) +\psframe*[linecolor=blue,opacity=!Rand](2,2) +\psframe*[linecolor=red,opacity=!Rand](-1,-1)(1,1) +\psframe*[linecolor=green,opacity=!Rand](-2,-2)(0,0) +\end{pspicture} +\end{LTXexample} + + +\subsection{Fillstyle \texttt{eofill}} + +It is an experimental fillstyle. PostScript knows only the \Lkeyval{eofill} and the other way round +needs some tricky internal commands and may not work in all cases. + +\begin{LTXexample}[pos=t] +\begin{pspicture}[linewidth=2pt](12,4) +\pscustom[linestyle=none,fillstyle=eofill,fillcolor=blue!40]{% + \psellipse(4,2)(2,2)\psellipse(2,2)(2,2)} +\psellipse[linecolor=red](4,2)(2,2)\psellipse[linecolor=green](2,2)(2,2) +% +\pscustom[linestyle=none,fillstyle=oefill,fillcolor=blue!40]{% + \psellipse(10,2)(2,2)\psellipse(8,2)(2,2)} +\psellipse[linecolor=red](10,2)(2,2)\psellipse[linecolor=green](8,2)(2,2) +\end{pspicture} +\end{LTXexample} + + +\subsection{Option \texttt{correctAngle}} +It now works also for \Lcs{psellipiticwedge}. The setting of \Lkeyword{origin} is needed +if the center of the ellipse is not the origin of the underlying coordinate system. + +\begin{LTXexample}[pos=t] +\begin{pspicture}[dimen=m,showgrid=top](6,4) +\pnodes{P}(3,1)(5,1)(4,2) +\pcline[nodesep=-1](P0)(P1) +\pcline[nodesep=-1](P0)(P2) +\psellipticarc[origin={P0},correctAngle](P0)(2,1){(P2)}{(P1)} +\psellipticwedge[origin={P0},linecolor=red,correctAngle, + fillstyle=vlines](P0)(2,1){(P2)}{(P1)} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\begin{pspicture}[dimen=m,showgrid=top](-3,-1)(3,3) +\pnodes{P}(0,0)(2,0)(1,1) +\pcline[nodesep=-1](P0)(P1) +\pcline[nodesep=-1](P0)(P2) +\psellipticarc[correctAngle](P0)(2,1){(P2)}{(P1)} +\psellipticwedge[linecolor=red,correctAngle, + fillstyle=vlines](P0)(2,1){(P2)}{(P1)} +\end{pspicture} +\end{LTXexample} + +\clearpage +\subsection{New macro \nxLcs{psellipseAB}} + +\begin{BDef} +\LcsStar{psellipseAB}\OptArgs\Largr{\CAny}\Largb{half radius} +\end{BDef} + + +\begin{LTXexample}[width=7cm] +\begin{pspicture}[showgrid=true](7,7)%% showgrid=true +\pnodes{a}(0.5,0)(2.5,1.8)(5.5,2.5)(6.25,3)(7,5) +\pnodes{b}(0,1)(2,3)(5,4)(5.5,5)(6,7) +\pscurve[arrowscale=2,linewidth=1.2pt]{->}(a0)(a1)(a2)(a3)(a4) +\pscurve[arrowscale=2,linewidth=1.2pt]{->}(b0)(b1)(b2)(b3)(b4) +\psellipseAB(a0)(b0){0.1} +\psellipseAB[fillcolor=red!40,fillstyle=solid](a1)(b1){0.15} +\psellipseAB(a2)(b2){0.2} +\psellipseAB[fillcolor=blue!40,fillstyle=solid](a3)(b3){0.25} +\uput[135](b1){$dS_1$}\uput[135](b2){$dS_2$} +\end{pspicture} +\end{LTXexample} + + + + +\subsection{New macro \nxLcs{psRing}} + +\begin{BDef} +\LcsStar{psRing}\OptArgs\Largr{\CAny}\OptArg{start,end}\Largb{Inner Radius}\Largb{Outer Radius} +\end{BDef} + + +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](4,4) + \psRing(2,2){0.3}{0.8} + \psRing*[opacity=0.5](2,2){1}{2} +\psdot(2,2) +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](4,4) + \psRing[linecolor=red](2,2)[30,60]{1}{2} + \psRing[opacity=0.5,fillstyle=solid, + fillcolor=red](2,2)[60,30]{1}{2} +\psdot(2,2) +\end{pspicture} +\end{LTXexample} + + + +\subsection{New macro \nxLcs{pscspline} (by Christoph Bersch)} + +\begin{BDef} +\LcsStar{pscspline}\OptArgs\Largr{$x_0,y_0$}\Largr{$x_1,y_1$}\ldots\Largr{\CAny} +\end{BDef} + + +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](5,5) + \pscspline[arrows=|->, showpoints](0,0)(1,2) + \pscspline[arrows=->, showpoints](0,4)(2,3)(3,4)(5,0) + \pscspline(4,4) +\end{pspicture}\par +\begin{pspicture}[showgrid](5,5) + \pscspline[linestyle=symbol, symbol=U, + symbolStep=12pt](0,0)(1,2) + \pscspline[linestyle=symbol, symbol=a, + symbolStep=12pt](0,4)(2,3)(3,4)(5,0) +\end{pspicture} +\end{LTXexample} + +\bigskip +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](5,5) + \pscustom[fillcolor=red!20, fillstyle=solid]{% + \pscspline(0,3)(4,2)(5,0) + \lineto(0,0) + \closepath} +\end{pspicture} +\end{LTXexample} + +\subsection{\nxLcs{Special Coor}} + +The Macro \Lcs{SpecialCoor} for scanning special coodinate expressions is now enabled by +default. You can disable it with \Lcs{NormalCoor}. + +\clearpage +\nocite{*} +\bibliographystyle{plain} +\bibliography{PSTricks} + +\printindex + + +\end{document} + + diff --git a/graphics/pstricks/base/doc/pst-news15.pdf b/graphics/pstricks/base/doc/pst-news15.pdf Binary files differnew file mode 100644 index 0000000000..d7cc3f1057 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news15.pdf diff --git a/graphics/pstricks/base/doc/pst-news15.tex b/graphics/pstricks/base/doc/pst-news15.tex new file mode 100644 index 0000000000..c2369d7018 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news15.tex @@ -0,0 +1,105 @@ +%% $Id: pst-news15.tex 444 2017-04-19 10:55:35Z 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-node} +\let\pstnodeFV\fileversion +\let\pstnodeFD\filedate +\usepackage{pst-solides3d} +\usepackage{xkvview} +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}\the\year}} +\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 -- \the\year}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\author{Herbert Voß} +\date{\today} + +\maketitle + +\clearpage +\tableofcontents + +\clearpage +\part{\texttt{pstricks} -- package} + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty} -- \texttt{pstricks-pdf.sty}} +%-------------------------------------------------------------------------------------- +The code for an automatic loading of package \LPack{auto-pst-pdf} is now moved +into an own package \LPack{pstricks-pdf}. It allows to run PSTricks code with \Lprog{pdflatex} \texttt{-{}-shell-escape <file>}. +The option \Loption{pdf} for \LPack{pstricks} itself is now obsolet. + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} +%-------------------------------------------------------------------------------------- + +PSTricks now takes the optional argument \Loption{draft} of the main document class +into account. It shows only a frame, given by the coordinates of the \Lenv{pspicture} +environment. + + + +\subsection{PostScript code} +Additionally to the macro \Lcs{pstVerb} there are now the keywords +\Lkeyword{precode} and \Lkeyword{postscode} which can be used by other +packages to paste PostScript code before and after the macros. + +\begin{LTXexample}[pos=t] +\psset{viewpoint=40 35 10 rtp2xyz,Decran=40,lightsrc=viewpoint,unit=0.5} +\begin{pspicture}(-6,-6)(6,6) +\defFunction{cercle1}(t) + {4 t cos mul 2 sub rZ cos mul 4 t sin mul rZ sin mul add} % + {4 t cos mul 2 sub rZ sin mul neg 4 t sin mul rZ cos mul add}% + {4 t sin mul}% +\psforeach{\iA}{0,20,..,360}{% + \psSolid[object=courbe, + precode=/rZ \iA\space def, + r=0,range=0 360,resolution=360,function=cercle1]} +\end{pspicture} +\end{LTXexample} + +\subsection{Background color} +There is now the optional argument \Lkeyword{bgcolor} (backgound color), +which is only valid for the background +of the environment \Lenv{pspicture} with its defined coordinates. +Internally it uses the macro \Lcs{psframe*}: + +\begin{LTXexample}[pos=t] +\begin{pspicture*}[bgcolor=black!20](-12,-5)(-2,5) +\psset{viewpoint=6 -50 0 rtp2xyz,Decran=4,lightsrc=viewpoint} +\defFunction[algebraic]{torus}(u,v) + {2*(1+ 0.5*cos(u))*cos(v)}% x=f(u,v) + {2*(1+ 0.5*cos(u))*sin(v)}% y=f(u,v) + {2*0.5*sin(u)}% z=f(u) +\psSolid[object=surfaceparametree, + precode=/n1 48 def /n2 90 def /n1n2 n1 n2 mul 2 mul 1 sub def /iS 0 def, + base=0 2 pi mul 0 pi 1.5 mul , + fcol=0 2 n1 2 sub {/i exch def + i n2 mul 2 i n2 mul n2 add 1 sub {(Black)} for} for + 1 2 n1 1 sub {/i exch def i n2 mul 1 add 2 i n2 mul n2 add 1 sub {(Black)} for} for, + fillcolor=white,incolor=yellow!50, + function=torus, + linewidth=0.5\pslinewidth,unit=5,ngrid=n1 n2] +\end{pspicture*} +\end{LTXexample} + + + +\clearpage +\nocite{*} +\bibliographystyle{plain} +\bibliography{PSTricks} + +\printindex + + +\end{document} + + diff --git a/graphics/pstricks/base/doc/pst-news16.pdf b/graphics/pstricks/base/doc/pst-news16.pdf Binary files differnew file mode 100644 index 0000000000..8841715ed5 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news16.pdf diff --git a/graphics/pstricks/base/doc/pst-news16.tex b/graphics/pstricks/base/doc/pst-news16.tex new file mode 100644 index 0000000000..9a544ca5bd --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news16.tex @@ -0,0 +1,105 @@ +%% $Id: pst-news16.tex 446 2017-04-19 11:40:55Z herbert $ +\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small, + headinclude=false,footinclude=false,twoside]{pst-doc} +\listfiles +\let\Lfile\LFile +\usepackage[utf8]{inputenc} +\let\pstricksFV\fileversion +\let\pstricksFD\filedate +\usepackage{pst-node} +\let\pstnodeFV\fileversion +\let\pstnodeFD\filedate +\usepackage{pst-plot} +\usepackage{pst-solides3d} +\usepackage{pst-node} +\usepackage{pstricks-add} +\usepackage{xkvview} +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}\the\year}} +\def\textat{\char064} +\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}}, + escapechar=?} + +\addbibresource{PSTricks.bib} + +\begin{document} + +%\psset{PstDebug=1} +\title{\texttt{News -- 2016}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\author{Herbert Voß} +\date{\today} + +\maketitle + +\clearpage +\tableofcontents + +\clearpage +\part{\texttt{pstricks} -- package} + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty} -- \texttt{pstricks-pdf.sty}} +%-------------------------------------------------------------------------------------- + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} +%-------------------------------------------------------------------------------------- +\subsection{refangle} + +This version fixes a bug with \verb|pst@refangle| which is used inside PostScript. + +\begin{LTXexample}[pos=t] +\begin{pspicture}(-1,-1)(10,3.5) +\psparametricplot[algebraic]{0}{9}{t^2/9 | sin(t)+1}% +\pscurvepoints{0}{9}{(t^2)/9 | sin(t)+1}{P}% +\pspolylineticks[metricInitValue=1,ticksize=-2pt 2pt,Os=1,Ds=.2]{P}{ ds }{1}{56}% +\pspolylineticks[metricInitValue=1,Os=1,Ds=2]{P}{ ds }{0}{6}% +\multido{\iA=1+1,\iB=3+2}{5}{\Put{6pt;(PNormal\iA)}(PTick\iA){\tiny \iB}} +\end{pspicture} +\end{LTXexample} + +\begin{sloppypar} +There is a new optional argument \Lkeyword{draft} which has the same meaning as +the one for \Lcs{includegraphics}. The PSTricks image is not drawn, only the +area of the \Lenv{pspicture} coordinates is seen by a rectangle (only for \LaTeX). +\end{sloppypar} + +\begin{LTXexample}[pos=t] +\psset{draft} +\begin{pspicture}(-1,-1)(10,3.5) +\psparametricplot[algebraic]{0}{9}{t^2/9 | sin(t)+1}% +\pscurvepoints{0}{9}{(t^2)/9 | sin(t)+1}{P}% +\pspolylineticks[metricInitValue=1,ticksize=-2pt 2pt,Os=1,Ds=.2]{P}{ ds }{1}{56}% +\pspolylineticks[metricInitValue=1,Os=1,Ds=2]{P}{ ds }{0}{6}% +\multido{\iA=1+1,\iB=3+2}{5}{\Put{6pt;(PNormal\iA)}(PTick\iA){\tiny \iB}} +\end{pspicture} +\end{LTXexample} + + +\subsection{\Lcs{newpsstyle}} + +The command \Lcs{newpsstyle} has a new syntax: + +\begin{BDef} +\Lcs{newpssytle}\OptArg{package name}\Largb{name}\Largb{definitions} +\end{BDef} + +For example + +\begin{verbatim} +\newpsstyle[pst-shell]{Epiteonium}{D=1,A=9.5,alpha=85.9,beta=9,mu=0,Omega=0, + phi=81,a=2.1,b=1.6,L=1.3,P=-60,W1=200,W2=20,N=8.3} +\end{verbatim} + + +\clearpage +\nocite{*} +%\bibliographystyle{plain} +\printbibliography + +\printindex + + +\end{document} + + diff --git a/graphics/pstricks/base/doc/pst-news17.pdf b/graphics/pstricks/base/doc/pst-news17.pdf Binary files differnew file mode 100644 index 0000000000..e3d09c094d --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news17.pdf diff --git a/graphics/pstricks/base/doc/pst-news17.tex b/graphics/pstricks/base/doc/pst-news17.tex new file mode 100644 index 0000000000..53cf23c2ce --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news17.tex @@ -0,0 +1,226 @@ +%% $Id: pst-news17.tex 699 2017-12-31 10:27:45Z herbert $ +\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small, + headinclude=false,footinclude=false,twoside]{pst-doc} +\listfiles +\let\Lfile\LFile +\usepackage[utf8]{inputenc} +\usepackage{pst-node} +\let\pstnodeFV\fileversion +\let\pstnodeFD\filedate +\usepackage{pst-plot} +\usepackage{pst-solides3d} +\usepackage{pst-node} +\usepackage{pstricks-add} +\usepackage{xkvview} +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}\the\year}} +\def\textat{\char064} +\usepackage{biblatex} +\addbibresource{PSTricks.bib} + +\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}}, + escapechar=?} +\begin{document} + +%\psset{PstDebug=1} +\title{\texttt{News -- \the\year}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\author{Herbert Voß} +\date{\today} + +\maketitle + +\clearpage +\tableofcontents + +\clearpage +\part{\texttt{pstricks} -- package} + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty} -- \texttt{pstricks-pdf.sty}} +%-------------------------------------------------------------------------------------- + +There is now a new optional argument for the package: \Loption{psfonts}. If it is +enabled PSTricks will use the original PostScript fonts like Helvetica, Times, \ldots. +The default is to use the URW fonts (Nimbus Roman, Nimbus Sans, \ldots) which are embedded by default! +The PostScript fonts are only embedded if present on your system. + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks-tex.tex}} +%-------------------------------------------------------------------------------------- +This package collects all additional latex macros which must be definied +when running PSTricks with tex. They all moved from the base \texttt{pstricks.tex} into +this new file. + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (v. 2.76 -- 2017/09/17)} +%-------------------------------------------------------------------------------------- + + +\subsection{PostScript Fonts} +This version of PSTricks uses the Ghostscript fonts from URW instead of the +original base 14 fonts of PostScript. For example: instead of Helvetica we use +NimbusSanL-Regu. The URW fonts are always embedded in the created ps or pdf output. +This is not the default for the PostScript fonts. You change this setting with the optional +argument to \LPack{pstricks.sty}. + + +\subsection{Error message} + +Using PSTricks with \Lprog{pdflatex} will work only when using package +\LPack{auto-pst-pdf} and running the \TeX-file with + +\begin{verbatim} +pdflatex -shell-escape <file> +\end{verbatim} + +otherwise you'll get an error message which was misleading in the past: + +\begin{verbatim} +[...] +! Undefined control sequence. +<recently read> \c@lor@to@ps +\end{verbatim} + +This changes now to + + +\begin{verbatim} +[...] +! Undefined control sequence. +\c@lor@to@ps ->\PSTricks + _Not_Configured_For_This_Format +\end{verbatim} + +\subsection{Random colors} +There are now four predefined random ''colors``: + +\begin{verbatim} + \definecolor[ps]{randomgray}{gray}{Rand}% + \definecolor[ps]{randomrgb}{rgb}{Rand Rand Rand}% + \definecolor[ps]{randomcmyk}{cmyk}{Rand Rand Rand Rand}% + \definecolor[ps]{randomhsb}{hsb}{Rand Rand Rand}% +\end{verbatim} + +\begin{LTXexample}[pos=t] +\begin{pspicture}(10,5) +\multido{\rA=0.0+0.1}{50}{\psline[linecolor=randomgray,linewidth=1mm](0,\rA)(10,\rA)} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\begin{pspicture}(10,5) +\multido{\rA=0.0+0.1}{50}{\psline[linecolor=randomrgb,linewidth=1mm](0,\rA)(10,\rA)} +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[pos=t] +\begin{pspicture}(10,5) +\multido{\rA=0.0+0.1}{50}{\psline[linecolor=randomcmyk,linewidth=1mm](0,\rA)(10,\rA)} +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[pos=t] +\begin{pspicture}(10,5) +\multido{\rA=0.0+0.1}{50}{\psline[linecolor=randomhsb,linewidth=1mm](0,\rA)(10,\rA)} +\end{pspicture} +\end{LTXexample} + + +The random counter can be initialized with \verb|\pstVerb{rrand srand}|. + +\subsection{refangle} + +This version fixes a bug with \verb|pst@refangle| which is used inside PostScript. + +\begin{LTXexample}[pos=t] +\begin{pspicture}(-1,-1)(10,3.5) +\psparametricplot[algebraic]{0}{9}{t^2/9 | sin(t)+1}% +\pscurvepoints{0}{9}{(t^2)/9 | sin(t)+1}{P}% +\pspolylineticks[metricInitValue=1,ticksize=-2pt 2pt,Os=1,Ds=.2]{P}{ ds }{1}{56}% +\pspolylineticks[metricInitValue=1,Os=1,Ds=2]{P}{ ds }{0}{6}% +\multido{\iA=1+1,\iB=3+2}{5}{\Put{6pt;(PNormal\iA)}(PTick\iA){\tiny \iB}} +\end{pspicture} +\end{LTXexample} + +\begin{sloppypar} +There is a new optional argument \Lkeyword{draft} which has the same meaning as +the one for \Lcs{includegraphics}. The PSTricks image is not drawn, only the +area of the \Lenv{pspicture} coordinates is seen by a rectangle (only for \LaTeX). +\end{sloppypar} + +\begin{LTXexample}[pos=t] +\psset{draft} +\begin{pspicture}(-1,-1)(10,3.5) +\psparametricplot[algebraic]{0}{9}{t^2/9 | sin(t)+1}% +\pscurvepoints{0}{9}{(t^2)/9 | sin(t)+1}{P}% +\pspolylineticks[metricInitValue=1,ticksize=-2pt 2pt,Os=1,Ds=.2]{P}{ ds }{1}{56}% +\pspolylineticks[metricInitValue=1,Os=1,Ds=2]{P}{ ds }{0}{6}% +\multido{\iA=1+1,\iB=3+2}{5}{\Put{6pt;(PNormal\iA)}(PTick\iA){\tiny \iB}} +\end{pspicture} +\end{LTXexample} + + +\subsection{\nxLcs{newpsstyle}} + +The command \Lcs{newpsstyle} has a new syntax: + +\begin{BDef} +\Lcs{newpsstyle}\OptArg{package name}\Largb{name}\Largb{definitions} +\end{BDef} + +For example + +\begin{verbatim} +\newpsstyle[pst-shell]{Epiteonium}{D=1,A=9.5,alpha=85.9,beta=9,mu=0,Omega=0, + phi=81,a=2.1,b=1.6,L=1.3,P=-60,W1=200,W2=20,N=8.3} +\end{verbatim} + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.pro}} +%-------------------------------------------------------------------------------------- + +A full circle has by default an angle of 360 degrees. +Setting the circle with \Lcs{degrees}\Largs{17} to another value doesn't work for the +PostScript function \texttt{PtoC} (Polat to Cartesian -- $(r,\phi)\rightarrow (x,y)$). +Now there is a \texttt{PtoCrel} for the new definition +which now takes +the setting of \Lcs{pst@angleunit} into account. + +\bigskip +\begin{LTXexample}[pos=t] +\degrees[16] +\begin{pspicture}[showgrid](-2,-2)(2,2) +\psline[linecolor=blue](!1.8 2 PtoCrel)% 45 degrees +\end{pspicture} +\end{LTXexample} + +The command \Lcs{framed} was build by clockwise line sequence. Now it is the +other way round to get the same behaviour as for all other commands +with closed lines. + + +There are some new PS functions + +\begin{verbatim} +/AnytoDeg { pst@angleunit } def +/DegtoAny { 1 pst@angleunit div} def +/AnytoRad { AnytoDeg DegtoRad } def +/RadtoAny { RadtoDeg DegtoAny } def +\end{verbatim} + +See \LPack{pst-node} documentation for an example. + + +\clearpage +\nocite{*} +\printbibliography + +\printindex + + +\end{document} + diff --git a/graphics/pstricks/base/doc/pst-news18.pdf b/graphics/pstricks/base/doc/pst-news18.pdf Binary files differnew file mode 100644 index 0000000000..00b1435743 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news18.pdf diff --git a/graphics/pstricks/base/doc/pst-news18.tex b/graphics/pstricks/base/doc/pst-news18.tex new file mode 100644 index 0000000000..dde1638e58 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news18.tex @@ -0,0 +1,216 @@ +%% $Id: pst-news17.tex 699 2017-12-31 10:27:45Z herbert $ +\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small, + headinclude=false,footinclude=false,twoside]{pst-doc} +\listfiles +\let\Lfile\LFile +\usepackage{pstricks,pst-node} +\let\pstnodeFV\fileversion +\let\pstnodeFD\filedate +\usepackage{pst-plot} +\usepackage{pst-solides3d} +\usepackage{pst-node} +\usepackage{pst-calculate} +\usepackage{pstricks-add} +\usepackage{xkvview} +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}\the\year}} +\def\textat{\char064} +\usepackage{dtk-logos} +\usepackage{biblatex} +\addbibresource{PSTricks.bib} + +\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}}, + escapechar=?} +\begin{document} + +%\psset{PstDebug=1} +\title{\texttt{News -- \the\year}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\author{Herbert Voß} +\date{\today} + +\maketitle + +\clearpage +\tableofcontents + +\clearpage +\part{\texttt{pstricks} -- package} + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty} -- \texttt{pstricks-pdf.sty}} +%-------------------------------------------------------------------------------------- + +There is now a new optional argument for the package: \Loption{ckeckengine}, which will +be used in later versions. + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks-tex.tex}} +%-------------------------------------------------------------------------------------- +This package collects all additional latex macros which must be definied +when running PSTricks with tex. They all moved from the base \texttt{pstricks.tex} into +this new file. + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (v. 2.89 -- 2018/12/16)} +%-------------------------------------------------------------------------------------- + +Use the \Lcs{long} definition for \Lcs{@fornoop} to be compatible to the latest +changes in \LaTeX. + +In old versions the macro \Lcs{rput} can't be used with the key-value setting. The latest version +of \Lfile{pstricks.tex} defines a modified \Lcs{rput} which ckecks first if a following +optional argument has the old behaviour, eg \Lcs{rput}\texttt{[lb]\{...\}} or +a key/value setting like \Lcs{rput}\texttt{[ref=lb,rot=...](...)}. However, there should be no +change in the output and, of course, it makes no sense to mix the old and new setting in \emph{one} +\Lcs{rput} macro. The setting refers only to the optional arguments which are valid for \Lcs{rput}: + +\begin{LTXexample}[width=6cm] +\begin{pspicture}[showgrid](6,5) +\rput[ref=rt](3,2){% + \psframe[linecolor=red](3,3)} +\rput[lb](0,0){\psframe(3,3)} +\rput{45}(3,0.5){\psframe(3,3)} +\end{pspicture} +\end{LTXexample} + +\subsection{PostScript Fonts} +This version of PSTricks uses the Ghostscript fonts from URW instead of the +original base 14 fonts of PostScript. For example: instead of Helvetica we use +NimbusSanL-Regu. The URW fonts are always embedded in the created ps or pdf output. +This is not the default for the PostScript fonts. You change this setting with the optional +argument to \LPack{pstricks.sty}. + + +\subsection{Error message} + +Using PSTricks with \Lprog{pdflatex} will work only when using package +\LPack{auto-pst-pdf} and running the \TeX-file with + +\begin{verbatim} +pdflatex -shell-escape <file> +\end{verbatim} + +otherwise you'll get an error message which was misleading in the past: + +\begin{verbatim} +[...] +! Undefined control sequence. +<recently read> \c@lor@to@ps +\end{verbatim} + +This changes now to + + +\begin{verbatim} +[...] +! Undefined control sequence. +\c@lor@to@ps ->\PSTricks + _Not_Configured_For_This_Format +\end{verbatim} + +\subsection{Random colors} +There are now four predefined random ''colors``: + +\begin{verbatim} + \definecolor[ps]{randomgray}{gray}{Rand}% + \definecolor[ps]{randomrgb}{rgb}{Rand Rand Rand}% + \definecolor[ps]{randomcmyk}{cmyk}{Rand Rand Rand Rand}% + \definecolor[ps]{randomhsb}{hsb}{Rand Rand Rand}% +\end{verbatim} + +\begin{LTXexample}[pos=t] +\begin{pspicture}(10,5) +\multido{\rA=0.0+0.1}{50}{\psline[linecolor=randomgray,linewidth=1mm](0,\rA)(10,\rA)} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\begin{pspicture}(10,5) +\multido{\rA=0.0+0.1}{50}{\psline[linecolor=randomrgb,linewidth=1mm](0,\rA)(10,\rA)} +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[pos=t] +\begin{pspicture}(10,5) +\multido{\rA=0.0+0.1}{50}{\psline[linecolor=randomcmyk,linewidth=1mm](0,\rA)(10,\rA)} +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[pos=t] +\begin{pspicture}(10,5) +\multido{\rA=0.0+0.1}{50}{\psline[linecolor=randomhsb,linewidth=1mm](0,\rA)(10,\rA)} +\end{pspicture} +\end{LTXexample} + + +The random counter can be initialized with \verb|\pstVerb{rrand srand}|. + + +\subsection{Optional argument \texttt{xetex}} +The output driver \Lprog{xdvipdfmx} for using \XeTeX\ or \XeLaTeX\ is not fully +compatible to \Lprog{dvips}. Especially some node operations will not work. If the +\LaTeX\ package detects a programm run with \XeLaTeX\ it automatically loads the file +\Lfile{pstricks-xetex.def} which defines some macros with a new name to keep the existing +ones. By now there is only +\Lcs{NCput}, which is the same as \Lcs{ncput}, but works with \XeLaTeX. + +If someone wants to use these macros though he/she runs not \XeLaTeX\ then these macros are +available too by using the optional argument \Loption{xetex}: + +\begin{verbatim} +\usepackage[xetex]{pstricks} +\end{verbatim} + + + + + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.pro}} +%-------------------------------------------------------------------------------------- + +A full circle has by default an angle of 360 degrees. +Setting the circle with \Lcs{degrees}\Largs{17} to another value doesn't work for the +PostScript function \texttt{PtoC} (Polat to Cartesian -- $(r,\phi)\rightarrow (x,y)$). +Now there is a \texttt{PtoCrel} for the new definition +which now takes +the setting of \Lcs{pst@angleunit} into account. + +\bigskip +\begin{LTXexample}[pos=t] +\degrees[16] +\begin{pspicture}[showgrid](-2,-2)(2,2) +\psline[linecolor=blue](!1.8 2 PtoCrel)% 45 degrees +\end{pspicture} +\end{LTXexample} + +The command \Lcs{framed} was build by clockwise line sequence. Now it is the +other way round to get the same behaviour as for all other commands +with closed lines. + + +There are some new PS functions + +\begin{verbatim} +/AnytoDeg { pst@angleunit } def +/DegtoAny { 1 pst@angleunit div} def +/AnytoRad { AnytoDeg DegtoRad } def +/RadtoAny { RadtoDeg DegtoAny } def +\end{verbatim} + +See \LPack{pst-node} documentation for an example. + + +\clearpage +\nocite{*} +\printbibliography + +\printindex + + +\end{document} + diff --git a/graphics/pstricks/base/doc/pst-news19.pdf b/graphics/pstricks/base/doc/pst-news19.pdf Binary files differnew file mode 100644 index 0000000000..03e52eaaa5 --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news19.pdf diff --git a/graphics/pstricks/base/doc/pst-news19.tex b/graphics/pstricks/base/doc/pst-news19.tex new file mode 100644 index 0000000000..5c7a52d60a --- /dev/null +++ b/graphics/pstricks/base/doc/pst-news19.tex @@ -0,0 +1,184 @@ +%% $Id: pst-news19.tex 927 2019-01-30 15:11:30Z herbert $ +\PassOptionsToPackage{useCalc}{pstricks} +\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small, + headinclude=false,footinclude=false,twoside]{pst-doc} +\listfiles +\let\Lfile\LFile +\usepackage{pstricks} +\let\pstnodeFV\fileversion +\let\pstnodeFD\filedate +\usepackage{pst-node} +\usepackage{pst-plot} +\usepackage{pst-solides3d} +\usepackage{pst-node} +\usepackage{pst-calculate} +\usepackage{pstricks-add} +\usepackage{xkvview} +\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}\the\year}} +\def\textat{\char064} +\usepackage{dtk-logos} +\usepackage{biblatex} +\addbibresource{PSTricks.bib} + +\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}}, + escapechar=?} +\begin{document} + +%\psset{PstDebug=1} +\title{\texttt{News -- \the\year}\\ \Large new macros and bugfixes for the +basic package \nxLFile{pstricks}} +\author{Herbert Voß} +\date{\today} + +\maketitle + +\clearpage +\tableofcontents + +\clearpage +\part{\texttt{pstricks} -- package} + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty} -- \texttt{pstricks-pdf.sty}} +%-------------------------------------------------------------------------------------- + +There is now a new optional argument for the package: \Loption{ckeckengine}, which will +be used in later versions. + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks-tex.tex}} +%-------------------------------------------------------------------------------------- +This package collects all additional latex macros which must be definied +when running PSTricks with tex. They all moved from the base \texttt{pstricks.tex} into +this new file. + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (v. 2.94 -- 2019/01/07)} +%-------------------------------------------------------------------------------------- + +There is a new macro called \Lcs{psLine} (uppercase L!) which can have +only one or two pairs of coordinates. Remember that \Lcs{psline} can have more. +With \Lcs{psLine} and an defined arrow you'll get nothing for something +like \verb|\psLine{->}{1,1)(1,1)|, whereas \Lcs{psline} will output the arrowtip! +This behaviour of \Lcs{psLine} maybe helpful for animations where a speedvector +or a vector +is shown with its components and one do not really knows the coordinates. + +\begin{BDef} +\Lcs{psLine}\OptArgs\OptArg{\Largr{$x_0,y_0$}}\Largr{$x_1,y_1$}\\ +\Lcs{psLineSegments}\OptArgs\Largr{$x_0,y_0$}\Largr{$x_1,y_1$}\ldots\Largr{$x_{n-1},y_{n-1}$}\Largr{$x_n,y_n$} +\end{BDef} + +If $P_0$ is missing for \Lcs{psLine} then $(0,0)$ as first point is assumed. \Lcs{psLineSegments} expects always +pairwise coordinates. + + +\begin{LTXexample}[width=7cm] +\psset{unit=2cm} +\begin{pspicture}(-1,-1)(1,1) +\degrees[12] + \pscircle{1} + \multido{\iA=0+1,\iB=3+1}{12}{% + \pnode(1;\iA){R} + \psLine[linecolor=gray,linestyle=dashed, + linewidth=0.4pt](R) + \psset{arrows=->,arrowscale=1.5,linewidth=1.5pt} + \rput(R){% + \psLine[linecolor=blue]({1;\iB}|0,0) + \psLine[linecolor=red](0,0|{1;\iB}) + \psLine(1;\iB)}% +} +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[width=4cm] +\psset{unit=0.5cm} +\begin{pspicture}(6,6) +\psLineSegments[linecolor=blue]{->}(0,0)(0,1)(0,2)(0,3)(0,4)(1,4)% + (3,4)(4,4)(4,3)(4,1)(4,0)(2,0) +\end{pspicture} +\end{LTXexample} + + +There is a new experimental feature, which allows algebraic notation for +coordinates. It needs + +\begin{verbatim} +\usepackage[useCalc]{pstricks} +\end{verbatim} + +\begin{LTXexample}[width=5.5cm] +\begin{pspicture}[showgrid](5,5) +\psline[linecolor=blue]{->}% + (0,4/3*0.5)(0.6*sqrt{33}, sqrt{20+0.3}) +\end{pspicture} +\end{LTXexample} + + + + +\subsection{Error message} + +Using PSTricks with \Lprog{pdflatex} will work only when using package +\LPack{auto-pst-pdf} and running the \TeX-file with + +\begin{verbatim} +pdflatex -shell-escape <file> +\end{verbatim} + +otherwise you'll get an error message which was misleading in the past: + +\begin{verbatim} +[...] +! Undefined control sequence. +<recently read> \c@lor@to@ps +\end{verbatim} + +This changes now to + + +\begin{verbatim} +[...] +! Undefined control sequence. +\c@lor@to@ps ->\PSTricks + _Not_Configured_For_This_Format +\end{verbatim} + + +\subsection{Optional argument \texttt{xetex}} +The output driver \Lprog{xdvipdfmx} for using \XeTeX\ or \XeLaTeX\ is not fully +compatible to \Lprog{dvips}. Especially some node operations will not work. If the +\LaTeX\ package detects a programm run with \XeLaTeX\ it automatically loads the file +\Lfile{pstricks-xetex.def} which defines some macros with a new name to keep the existing +ones. By now there is only +\Lcs{NCput}, which is the same as \Lcs{ncput}, but works with \XeLaTeX. + +If someone wants to use these macros though he/she runs not \XeLaTeX\ then these macros are +available too by using the optional argument \Loption{xetex}: + +\begin{verbatim} +\usepackage[xetex]{pstricks} +\end{verbatim} + + + + + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.pro}} +%-------------------------------------------------------------------------------------- + + + +\clearpage +\nocite{*} +\printbibliography + +\printindex + + +\end{document} + diff --git a/graphics/pstricks/base/doc/pst-user.pdf b/graphics/pstricks/base/doc/pst-user.pdf Binary files differnew file mode 100644 index 0000000000..bac64d06dd --- /dev/null +++ b/graphics/pstricks/base/doc/pst-user.pdf diff --git a/graphics/pstricks/base/doc/pstricks-bug.tex b/graphics/pstricks/base/doc/pstricks-bug.tex new file mode 100644 index 0000000000..b5f9ba2c32 --- /dev/null +++ b/graphics/pstricks/base/doc/pstricks-bug.tex @@ -0,0 +1,547 @@ +%% BEGIN pstricks.bug +% LAST MODIFIED: October 3, 1994 +% The latest version of this file can be obtained from Princeton.EDU. + +% This file list some bugs and latebreaking news for PSTricks, +% version 0.93a, released March 12, 1993. + +% PROBLEMS: + +% 1. \scalebox can report missing number errors or worse, depending +% on what is in its argument. +% PATCH: Input this file. +% +% 2. palette.tex keeps loading pstricks.tex. +% PATCH: In palette.tex, change +% \ifx\pstricksloaded ... +% to +% \ifx\PSTricksLoaded ... +% +% 3. \pscirclebox doesn't leave the right amount of space. +% PATCH: Input this file. +% +% 4. \ncbar doesn't work right. +% PATCH: Input this file (AFTER inputting pst-node.tex). +% +% 5. Nested \multips doesn't work. +% PATCH: Input this file. +% +% 6. \psgrid sometimes gets the size wrong by 1 unit. +% PATCH: Input this file. +% +% 7. \begin{overlaybox} ... \end{overlaybox} cannot be used instead +% of \overlaybox ... \endoverlaybox. +% PATCH: Input this file. +% +% 8. Overlays don't interact properly with rotation. +% PATCH: Input this file. +% +% 9. Overlays don't work properly with nodes. Specifically, they only work +% when the nodes and node connections and labels are all on the same +% overlay. +% PATCH: Input this file, and include the command \AltOverlayMode +% before the overlay in which you want to use nodes (before the whole +% overlay box or slide, or in the beginning of the document). +% Warning: Normally, overlay material is made invisible by translating +% it off the page. With \AltOverlayMode, it is done by setting a small +% clip path somewhere off the page. The material is made visible again +% by issuing "initclip", which resets the clipping path completely. +% This makes it incompatible with any other clipping tricks. +% +% 10. SpecialCoor and the : version of nrot do not work when ;!|: +% do not have \catcode 12 (e.g., with french.sty). +% +% PATCH: Input this file, and read the following: +% +% FAQ: What non-standard category codes and active characters are +% compatible with PSTricks? +% +% Using non-standard category codes can confuse PSTricks in many ways. +% What follows is not comprehensive. +% +% Characters ()[],*=- +% These must have category code 3, 7, 8, 11 or 12. +% The category code must be set BEFORE inputting the PSTricks files. +% +% Characters <>|;!: +% Same as above, but category code 13 (``active'') is also OK, in +% which case the code must be 12 when the PSTricks files are input. +% +% Characters \{}@#$%^&_ +% These should have their usual category codes when PSTricks files +% are input, but then they can be set arbitrarily. +% +% Characters +"'.?/~` +% No restrictions, but generally these should have category code 12 +% when the PSTricks files are input. +% +% 11. Gradient fill style doesn't work the gradmidpoint=0 or gradmidpoint=1. +% WORKAROUND: Until the next release, set gradmidpoint +% close to, but not too close to or equal to, 0 or 1. +% +% 12. If using \pscharpath with protected fonts, the dashed and dotted +% linestyles, setting shadow=true, and \pstextpath produce an +% invalidaccess error. +% WORKAROUND: Until the next release, do not use those features with +% \pscharpath and protected fonts. In the next release, the dashed +% and dotted line styles will work, and shadow=true and \pstextpath +% will neither work nor produce errors with protected fonts. +% +% 13. \scalebox and \scaleboxto do not work properly with negative scaling. +% +% 14. With \psplot, setting labels=y or ticks=y does not suppress labels +% or ticks on the x-axis. +% PATCH: Get version 0.93a-patched of pst-plot.tex, distributed +% which is part of the 0.93a distribution starting March 30, 1994. +% +% 15. When lines are very short, linestyle=dash may cause an error. +% PATCH: Input this file. +% +% 16. \clipbox does not work. +% PATCH: Input this file. +% +% 17. Various nodes are missing \leavevmode, which can cause irregularities +% if they occur at the beginning of a paragraph. +% WORKAROUND: Put \leavevmode before the offending node command. +% E.g., \leavevmode\rnode{foo} +% +% 18. The Textures entry in the configuration file has several problems. +% WORKAROUND: Contact tvz@Princeton.EDU to get a new pstricks.con. +% +% 19. There are two problems with using PSTricks without a header file: +% 1. pst-make.tex gives an error. +% 2. You get a PostScript error. +% WORKAROUND: +% 1. At the end of pst-make.tex, change to line +% \MakeInputHpst-coil.doc}{pst-coil.tex} +% to +% \MakeInput{pst-coil.doc}{pst-coil.tex} +% (The `H' become `{'). +% 2. In pstricks.doc (before running pst-make.tex) or in +% pstricks.tex (after running pst-make.tex), add the line +% /T /translate load def +% between the lines +% /CP /currentpoint load def +% /ED { exch def } bind def +% +% 20. Mixed coordinates do not work with \SpecialCorr +% PATCH: Input this file. +% +% 21. Axis labels in \psplot use a hyphen instead of a minus sign. +% PATCH: Get version 0.93a-patched of pst-plot.tex, +% which is part of the 0.93a distribution starting March 30, 1994. +% +% 22. For certain plotstyle's the \fileplot command does not work. +% PATCH: Get version 0.93a-patched of pst-plot.tex, +% which is part of the 0.93a distribution starting March 30, 1994. +% +% 23. \scale does not work in \pscustom. +% PATCH: Input this file. + +\edef\TheAtCode{\the\catcode`\@} +\catcode`\@=11 + +% 1. +\def\pst@divide#1#2#3{% + \pst@@divide{#1}{#2}% + \pst@dimtonum\pst@dimg{#3}} +\def\pst@@divide#1#2{% + \pst@dimg=#1\relax + \pst@dimh=#2\relax + \pst@cntg=\pst@dimh + \pst@cnth=67108863 + \pst@@@divide\pst@@@divide\pst@@@divide\pst@@@divide + \divide\pst@dimg\pst@cntg} +\def\pst@@@divide{% + \ifnum + \ifnum\pst@dimg<\z@-\fi\pst@dimg<\pst@cnth + \multiply\pst@dimg\sixt@@n + \else + \divide\pst@cntg\sixt@@n + \fi} +\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\scalebox#1{\pst@makebox{\@scalebox{#1}}} +\def\@scalebox#1{% + \begingroup + \pst@getscale{#1}\pst@tempa + \let\pst@tempc\pst@tempg + \let\pst@tempd\pst@temph + \@@scalebox + \endgroup} +\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 + \pst@Verb{CP CP translate \pst@tempa \tx@NET}% + \hbox to \z@{\box\pst@hbox\hss}% + \pst@Verb{% + CP CP translate + 1 \pst@tempc div 1 \pst@tempd div scale + \tx@NET}% + \ifdim\pst@dima>\z@\kern\pst@dima\fi}} +\def\scaleboxto(#1,#2){\pst@makebox{\@scaleboxto(#1,#2)}} +\def\@scaleboxto(#1,#2){% + \begingroup + \pssetlength\pst@dima{#1}% + \pssetlength\pst@dimb{#2}% + \ifdim\pst@dima=\z@\else + \pst@divide{\pst@dima}{\wd\pst@hbox}\pst@tempc + \edef\pst@tempc{\pst@tempc\space}% + \fi + \ifdim\pst@dimb=\z@ + \ifdim\pst@dima=\z@ + \@pstrickserr{% + \string\scaleboxto\space dimensions cannot both be zero}\@ehpa + \def\pst@tempa{}% + \def\pst@tempc{1 }% + \def\pst@tempd{1 }% + \else + \let\pst@tempd\pst@tempc + \fi + \else + \pst@dimc=\ht\pst@hbox + \advance\pst@dimc\dp\pst@hbox + \pst@divide{\pst@dimb}{\pst@dimc}\pst@tempd + \edef\pst@tempd{\pst@tempd\space}% + \ifdim\pst@dima=\z@ \let\pst@tempc\pst@tempd \fi + \fi + \edef\pst@tempa{\pst@tempc \pst@tempd scale }% + \@@scalebox + \endgroup} + +% 3. +\def\pscirclebox@ii#1{% + \begingroup + \pst@useboxpar + \setbox\pst@hbox=\hbox{#1\pscirclebox@iii\box\pst@hbox}% + \ifpsboxsep + \pst@dima=.5\wd\pst@hbox + \pst@dimb=\ht\pst@hbox + \advance\pst@dimb\dp\pst@hbox + \divide\pst@dimb 2 + \pst@pyth\pst@dima\pst@dimb\pst@dimc + \advance\pst@dimc\pslinewidth + \advance\pst@dimc\psframesep + \advance\pst@dimb-\pst@dimc + \setbox\pst@hbox=\hbox to2\pst@dimc{% + \hss + \vbox{\kern-\pst@dimb\box\pst@hbox}% + \hss}% + \advance\pst@dimb-\dp\pst@hbox + \dp\pst@hbox=-\pst@dimb + \fi + \leavevmode\box\pst@hbox + \endgroup} + +% 4. +\pst@def{NCBar}<% + \tx@GetPos + \tx@GetArms + /mtrx AngleA matrix rotate def + x1a y1a mtrx itransform pop + x2a y2a mtrx itransform pop sub + dup 0 mtrx transform + 3 -1 roll 0 gt + { /y2a exch y2a add def /x2a exch x2a add def } + { /y1a exch neg y1a add def /x1a exch neg x1a add def } + ifelse + mark + x2 y2 x2a y2a x1a y1a x1 y1 + tx@Dict begin false \tx@Line end + /LPutVar [ x2 y2 x2 y2 x2a y2a x1a y1a x1 y1 ] cvx def + /LPutPos { LPutVar \tx@AnglesMP } def> + +% 5. +\def\multips{\begingroup\pst@getrputrot\multips@i} +\def\multips@i(#1){\@ifnextchar({\@multips@ii(#1)}{\@multips@ii(0,0)(#1)}} +\def\@multips@ii(#1)(#2)#3#4{% + \pst@getcoor{#1}\pst@tempa + \pst@@getcoor{#2}% + \pst@cnta=#3\relax + \init@pscode + \addto@pscode{% + \pst@tempa T \the\pst@cnta\space \pslbrace + gsave \ifx\pst@rot\@empty\else\pst@rot rotate \fi }% + \hbox to\z@{% + \def\init@pscode{% + \addto@pscode{% + gsave + \pst@number\pslinewidth SLW + \pst@usecolor\pslinecolor}}% + \def\use@pscode{\addto@pscode{grestore}}% + \def\psclip##1{\pst@misplaced\psclip}% + \def\nc@object##1##2##3##4{\pst@misplaced{node connection}}% + #4}% + \addto@pscode{grestore \pst@coor T \psrbrace repeat}% + \leavevmode + \use@pscode + \endgroup + \ignorespaces} + +% 6. +\pst@def{Grid}<% + newpath + /a 4 string def % Empty string + /b ED % Label size + /c ED % Label color procedure. + /n ED % Number of grid dots + cvi dup 1 lt { pop 1 } if /s ED % Number subdivisions +% Stack: x-unit y-unit + s div dup 0 eq { pop 1 } if /dy ED % y-distance between lines. + s div dup 0 eq { pop 1 } if /dx ED % x-distance between lines. +% These two are integer multiples of dx and dy: + dy div round dy mul /y0 ED % y-origin. + dx div round dx mul /x0 ED % x-origin. +% These four are integers, measuring dx and dy units: + dy div round cvi /y2 ED % y2 + dx div round cvi /x2 ED % x2 + dy div round cvi /y1 ED % y1 + dx div round cvi /x1 ED % x1 + /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def % Sign of y2-y1 + /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def % Sign of x2-x1 +% Set up the font and a few parameters for making labels: + b 0 gt + { /z1 b 4 div CLW 2 div add def + /Helvetica findfont b scalefont setfont + /b b .95 mul CLW 2 div add def } + if +% If Level 2, use automatic stroke adjustment. Otherwise, do by hand: + systemdict /setstrokeadjust known % Level 2 + { true setstrokeadjust /t { } def } + { /t { + transform + 0.25 sub round 0.25 add exch + 0.25 sub round 0.25 add exch + itransform + } bind def } + ifelse +% Now make the vertical lines: + gsave +% Make dotted line, if appropriate + n 0 gt + { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } + { 2 setlinecap } + ifelse +% Initialize index: + /i x1 def +% Find y-values of endpoints. Adjust these if lines are dotted because +% otherwise rounding errors or stroke adjustment can cause first or +% last dot to be dropped. (Only GhostScript has exhibited problem of +% dropping first dot. This is probably a bug.) + /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def + /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def +% Number of lines (Max 1000): + x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if + { +% Make label: + i dx mul dup y0 moveto + b 0 gt + { gsave + c % Color + i a cvs dup % Index, as a string + stringwidth pop /z2 ED % Stringwidth + w 0 gt {z1} {z1 z2 add neg} ifelse + h 0 gt {b neg} {z1} ifelse + rmoveto + show + grestore + } if +% Make line ( on stack: i dx mul ): + dup t f moveto g t L stroke +% Advance index: + /i i w add def + } repeat + grestore +% Now make horizontal lines: + gsave + n 0 gt + { 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } + { 2 setlinecap } + ifelse + /i y1 def + /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def + /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def + y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if + { newpath + i dy mul dup x0 exch moveto + b 0 gt + { gsave + c + i a cvs dup + stringwidth pop /z2 ED + w 0 gt {z1 z2 add neg} {z1} ifelse + h 0 gt {z1} {b neg} ifelse + rmoveto + show + grestore + } if + dup f exch t moveto g exch t L stroke + /i i h add def + } repeat + grestore> + +% 7. +\def\overlaybox{% + \global\setbox\theoverlaybox=\hbox\bgroup + \begingroup + \let\psoverlay\pst@overlay + \def\overlaybox{% + \@pstrickserr{Overlays cannot be nested}\@eha}% + \def\putoverlaybox{% + \@pstrickserr{You must end the overlay box + before using \string\putoverlaybox}}% + \psoverlay{main}% + \ignorespaces} + +% 8 and 9. +\pst@def{BeginOL}<% + dup (all) eq exch TheOL eq or + { IfVisible not { Visible /IfVisible true def } if } + { IfVisible { Invisible /IfVisible false def } if } + ifelse> +\pst@def{InitOL}<% + /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def + /Visible { CP OLUnit idtransform T moveto } def + /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def + /BOL { \tx@BeginOL } def /IfVisible true def> +\def\AltOverlayMode{% + \def\pst@initoverlay##1{% + \pst@Verb{% + \tx@InitOL + /Visible { initclip } def + /Invisible { + CP newpath OLUnit itransform moveto clip newpath moveto + } def + /TheOL (##1) def}}} + +% 10. +\def\SpecialCoor{% + \def\pst@@getcoor##1{% + \begingroup + \pst@activecoor + \xdef\pst@tempg{##1}% + \endgroup + \expandafter\special@coor\pst@tempg||\@nil}% + \def\pst@@getangle##1{% + \begingroup + \pst@activecoor + \xdef\pst@tempg{##1}% + \endgroup + \expandafter\special@angle\pst@tempg\@empty)\@nil}% + \def\psput@##1{\pst@@getcoor{##1}\leavevmode\psput@special}} +\begingroup + \catcode`\|=13 + \catcode`\;=13 + \catcode`\!=13 + \gdef\pst@activecoor{% + \def|{\string|}% + \def;{\string;}% + \def!{\string!}} +\endgroup +\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} + +% 13. See 1. + +% 15. +\pst@def{DashLine}<% + % "a" is set to the length of first and last black segment, as fraction of + % usual black segment. + dup 0 gt + { /a .5 def \tx@PathLength exch div } + { pop /a 1 def \tx@PathLength } + ifelse + /b ED % Pattern should fit evenly in b + /x ED % Length of white segment. + /y ED % Length of black segment. + /z y x add def % Total length of dash pattern. + % If pattern is repeated n times, total length is (nz + 2(a-.5)y). + % Set length to b, solve for n, round, and leave on stack: + % n = round((b - 2(a-.5)y)/z) + b a .5 sub 2 mul y mul sub z \tx@Div round + % Adjust x and y by factor k so that + % (n(kz) + 2(a-.5)(ky)) = b. + % Solve for k and leave two copies on stack: + % k = b/(nz + 2(a-.5)y) + z mul a .5 sub 2 mul y mul add b exch \tx@Div dup + % Scale x and y, set dash, and stroke: + y mul /y ED x mul /x ED + % Make sure x and y are both positive: + x 0 gt y 0 gt and + { [ y x ] 1 a sub y mul } + { [ 1 0 ] 0 } + ifelse + setdash + stroke> + +% 16. +\def\clipbox{\@ifnextchar[{\clipbox@}{\clipbox@[\z@]}} +\def\clipbox@[#1]{\pst@makebox\clipbox@@{#1}} + +% 20. +\def\mixed@coor#1#2{% + \begingroup + \special@@coor#1;;\@nil + \let\pst@tempa\pst@coor + \special@@coor#2;;\@nil + \xdef\pst@tempg{\pst@tempa pop \pst@coor exch pop }% + \endgroup + \let\pst@coor\pst@tempg} + +% 23. +\def\pst@getscale#1#2{% + \edef\pst@tempg{#1}% + \ifx\pst@tempg\@none + \def#2{}% + \else + \pst@expandafter\pst@getnumii{#1 #1} {} {} {}\@nil + \ifdim\pst@tempg\p@=\z@ + \@pstrickserr{Bad scaling argument `#1'}\@ehpa + \def#2{}% + \else + \ifdim\pst@temph\p@=\z@ + \@pstrickserr{Bad scaling argument `#1'}\@ehpa + \def#2{}% + \else + \edef#2{\pst@tempg\space \pst@temph\space scale }% + \fi + \fi + \fi} + +\catcode`\@=\TheAtCode\relax +\endinput +%% END pstricks.bug diff --git a/graphics/pstricks/base/doc/pstricks-doc.pdf b/graphics/pstricks/base/doc/pstricks-doc.pdf Binary files differnew file mode 100644 index 0000000000..ac881f0ff0 --- /dev/null +++ b/graphics/pstricks/base/doc/pstricks-doc.pdf diff --git a/graphics/pstricks/base/doc/test-pst.pdf b/graphics/pstricks/base/doc/test-pst.pdf Binary files differnew file mode 100644 index 0000000000..2ac2bd0199 --- /dev/null +++ b/graphics/pstricks/base/doc/test-pst.pdf diff --git a/graphics/pstricks/base/doc/test-pst.tex b/graphics/pstricks/base/doc/test-pst.tex new file mode 100644 index 0000000000..2af57b5daa --- /dev/null +++ b/graphics/pstricks/base/doc/test-pst.tex @@ -0,0 +1,257 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Latex -*- %%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% test-pst.tex --- Various PSTricks tests, from the PSTricks chapter +%% of "The LaTeX Graphics Companion" (by Goossens, Rahtz, +%% Mittelbach, Addison Wesley, 1997) +%% +%% Author : Sebastian RAHTZ (Oxford University - GB) +%% <sebastian.rahtz@computing-services.oxford.ac.uk> +%% Created the : Tue Feb 3 20:37:47 1998 +%% Last mod. by : Denis GIROU (CNRS/IDRIS - France) <Denis.Girou@idris.fr> +%% Last mod. the : Wed May 5 20:09:18 1999 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass{article} + +\usepackage[latin1]{inputenc} % From LaTeX distribution +\usepackage{calc} % From LaTeX distribution +\usepackage{graphicx} % From LaTeX distribution +\usepackage{ifthen} % From LaTeX distribution +\usepackage{subfigure} % From CTAN/macros/latex/contrib/supported/subfigure +\usepackage{pst-all} % From PSTricks +\usepackage{pst-poly} % From pstricks/contrib/pst-poly +\usepackage{multido} % From PSTricks +\input{random.tex} % From CTAN/macros/generic + +% Take care that on some non Unix systems, you may have to replace +% the / character by, for instance, the : one (\input{lgc:#2.inl}}) +\newcommand{\ExampleSubFigure}[2][0.3333]{% +\subfigure[Example #2]{% + \begin{minipage}[t]{#1\textwidth} + \parbox[b]{\textwidth}{% + \centering + \input{lgc/#2.inl}} + \end{minipage}}} + +\newpsobject{showgrid}{psgrid}{subgriddiv=1,griddots=10,gridlabels=6pt} + +% New colors defined +\definecolor{brown}{rgb}{.65, .16, .16} +\definecolor{lightblue}{rgb}{.68, .85, .9} +\definecolor{palegreen}{rgb}{.6, .98, .6} +\definecolor{pink}{rgb}{1, .75, .8} +\definecolor{wheat}{rgb}{.96, .87, .7} + +% Layout changes +\textheight=23cm +\topmargin=-2cm +\textwidth=16cm +\oddsidemargin=0cm +\evensidemargin=0cm + +\begin{document} + +\title{Test file for the PSTricks 97 distribution:\\ + most of the PSTricks examples of\\ + \emph{The \LaTeX{} Graphics Companion}} +\author{Sebastian \textsc{Rahtz} --- March 1997} +\date{Version 1.3 (September 9, 1998)} +\maketitle + +\begin{figure}[!htbp] + \centering + \ExampleSubFigure{4-2-1}% + \ExampleSubFigure{4-2-2}% + \ExampleSubFigure{4-2-3} + \ExampleSubFigure{4-2-4}% + \ExampleSubFigure{4-2-5} + \caption{Section 2} +\end{figure} + +\begin{figure}[!htbp] + \centering + \ExampleSubFigure{4-3-1}% + \ExampleSubFigure{4-3-2} + \caption{Section 3} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure{4-4-1}% + \ExampleSubFigure{4-4-2}% + \ExampleSubFigure{4-4-3} + \ExampleSubFigure{4-4-4}% + \ExampleSubFigure{4-4-5}% + \ExampleSubFigure{4-4-6} + \ExampleSubFigure{4-4-7}% + \ExampleSubFigure{4-4-8}% + \ExampleSubFigure{4-4-9} + \ExampleSubFigure{4-4-10}% + \ExampleSubFigure{4-4-11}% + \ExampleSubFigure{4-4-12} + \caption{Section 4} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[0.5]{4-5-1}% + \ExampleSubFigure[0.5]{4-5-2} + \ExampleSubFigure[0.75]{4-5-3}% + \ExampleSubFigure[0.25]{4-5-4} + \ExampleSubFigure[0.15]{4-5-5}% + \ExampleSubFigure[0.25]{4-5-6}% + \ExampleSubFigure[0.2]{4-5-7}% + \ExampleSubFigure[0.2]{4-5-8}% + \ExampleSubFigure[0.2]{4-5-9} + \ExampleSubFigure[0.5]{4-5-10}% + \ExampleSubFigure[0.5]{4-5-11} + \caption{Section 5-A} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[1]{4-5-13} + \ExampleSubFigure[1]{4-5-14} + \ExampleSubFigure[1]{4-5-16} + \caption{Section 5-B} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure{4-6-1}% + \ExampleSubFigure{4-6-2}% + \ExampleSubFigure{4-6-3} + \ExampleSubFigure{4-6-4}% + \ExampleSubFigure{4-6-5}% + \ExampleSubFigure{4-6-6} + \ExampleSubFigure{4-6-7}% + \ExampleSubFigure{4-6-8}% + \ExampleSubFigure{4-6-9} + \ExampleSubFigure{4-6-10}% + \ExampleSubFigure{4-6-11}% + \ExampleSubFigure{4-6-12} + \ExampleSubFigure{4-6-13}% + \ExampleSubFigure{4-6-14}% + \ExampleSubFigure{4-6-15} + \ExampleSubFigure{4-6-16}% + \ExampleSubFigure{4-6-17}% + \ExampleSubFigure{4-6-18} + \caption{Section 6-A} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure{4-6-19}% + \ExampleSubFigure{4-6-20}% + \ExampleSubFigure{4-6-21} + \ExampleSubFigure{4-6-22}% + \ExampleSubFigure{4-6-23}% + \ExampleSubFigure{4-6-24} + \ExampleSubFigure{4-6-25} + \caption{Section 6-B} +\end{figure} + +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[1]{4-6-26} + \ExampleSubFigure{4-6-27}% + \ExampleSubFigure{4-6-28}% + \ExampleSubFigure{4-6-29} + \ExampleSubFigure[0.3333]{4-6-30}% + \ExampleSubFigure[0.6667]{4-6-31} + \ExampleSubFigure[1]{4-6-32} + \caption{Section 6-C} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[1]{4-6-33} + \ExampleSubFigure[0.5]{4-6-34}% + \ExampleSubFigure[0.5]{4-6-35} + \ExampleSubFigure[0.5]{4-6-36}% + \ExampleSubFigure[0.5]{4-6-37} + \caption{Section 6-D} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[1]{4-6-38} + \ExampleSubFigure[1]{4-6-39} + \ExampleSubFigure[0.5]{4-6-40}% + \ExampleSubFigure[0.5]{4-6-41} + \caption{Section 6-E} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[0.5]{4-6-42}% + \ExampleSubFigure[0.5]{4-6-43} + \ExampleSubFigure{4-6-44}% + \ExampleSubFigure{4-6-45}% + \ExampleSubFigure{4-6-46} + \caption{Section 6-F} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[1]{4-7-1} + \ExampleSubFigure[1]{4-7-2} + \ExampleSubFigure[1]{4-7-4} + \caption{Section 7} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[0.5]{4-8-1}% + \ExampleSubFigure[0.25]{4-8-2}% + \ExampleSubFigure[0.25]{4-8-3} + \ExampleSubFigure[1]{4-8-4} + \caption{Section 8-A} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[1]{4-8-5} + \caption{Section 8-B} +\end{figure} + +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[0.5]{4-9-1}% + \ExampleSubFigure[0.5]{4-9-2} + \caption{Section 9} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[0.4]{4-10-1}% + \ExampleSubFigure[0.2]{4-10-2}% + \ExampleSubFigure[0.2]{4-10-3}% + \ExampleSubFigure[0.2]{4-10-4} + \ExampleSubFigure[0.4]{4-10-5}% + \ExampleSubFigure[0.2]{4-10-6}% + \ExampleSubFigure[0.4]{4-10-7} + \caption{Section 10-A} +\end{figure} + +\clearpage +\begin{figure}[!htbp] + \centering + \ExampleSubFigure[1]{4-10-8} + \ExampleSubFigure[1]{4-10-9} + \ExampleSubFigure[1]{4-10-10} + \caption{Section 10-B} +\end{figure} + +\end{document} |