summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-02-11 23:48:39 +0000
committerKarl Berry <karl@freefriends.org>2010-02-11 23:48:39 +0000
commita82c24b304d3a6727a9cd210d82b33b2c9e3119b (patch)
tree2f331ad49c6edf41f80a30eda60945397bb38428
parentb164898a09f10287c030149a0a36c7938627a9c3 (diff)
pstricks 0.41 (11feb10)
git-svn-id: svn://tug.org/texlive/trunk@16973 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/Changes.generic28
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/Changes.latex1
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/Makefile47
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/PSTricks.bib26
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/README1
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/ctandir.sty30
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/images/flowers.eps269
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/images/tiger.eps2746
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.pdfbin221969 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.tgzbin166742 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-doc.cls31
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-doc.pdfbin0 -> 6433 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-news.sty37
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-news06.pdfbin85735 -> 85767 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-news08.pdfbin262715 -> 195188 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-news09.pdfbin98176 -> 85175 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-news09.tex45
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-news10.pdfbin0 -> 213908 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-news10.tex526
-rw-r--r--Master/texmf-dist/dvips/pstricks/pst-algparser.pro6
-rw-r--r--Master/texmf-dist/dvips/pstricks/pst-dots.pro12
-rw-r--r--Master/texmf-dist/dvips/pstricks/pst-node.pro433
-rw-r--r--Master/texmf-dist/dvips/pstricks/pstricks.pro317
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/distiller.con160
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/dvipsone.con138
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pst-fp.tex714
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pst-node.tex1154
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pst-plot.tex709
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pstricks.con6
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pstricks.tex1412
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/textures.con127
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/vtex.con170
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/xdvipdfmx.con225
-rw-r--r--Master/texmf-dist/tex/latex/pstricks/pst-all.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pstricks/pst-node.sty10
-rw-r--r--Master/texmf-dist/tex/latex/pstricks/pst-plot.sty6
-rw-r--r--Master/texmf-dist/tex/latex/pstricks/pstricks.sty7
37 files changed, 5400 insertions, 3995 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks/Changes.generic b/Master/texmf-dist/doc/generic/pstricks/Changes.generic
index 61c9f508c17..f81d8cb198d 100644
--- a/Master/texmf-dist/doc/generic/pstricks/Changes.generic
+++ b/Master/texmf-dist/doc/generic/pstricks/Changes.generic
@@ -1,4 +1,11 @@
pstricks.tex --------
+2.00 2010-02-11 - use pst-xkey to get rid of dependencies with
+ other packages
+1.33 2009-12-22 - add linestyle symbol
+1.32 2009-12-14 - fixed bug with \hskip and fnode in psmatrix
+ with a new \pshspace#1
+ - moved the algebraic option from pstricks-add
+ to the main pstricks.tex
1.31 2009-11-27 - fixed introduced problem with \pst@def
1.30 2009-10-25 - revert the changes for the \pst@object, it now
use \def\pst@par{}
@@ -72,27 +79,6 @@ pstricks.tex --------
1.06 2005-02-24 fix spurious blank in doublestroke (hv)
-pst-node.tex --------
-1.01 2008-11-26 - bugfix for \fnode
-1.00 2007-08-18 - new option pcRef for the first node (hv)
- - new option Circle for psmatrix (hv)
- - fix bug with pst-node and \\[name=...]. It now uses
- \ps@ifnextchar for scanning the next token (defined
- in pstricks.tex)
-
-
-pst-plot.tex --------
-1.04 2009-06-08 - fix new bug with \ifdim\nA pt, use now
- \def\pst@minusZero{-0}
-1.03 2009-06-01 - fix bug with \ifdim\nA pt, must be sp
-1.02 2008-11-24 - add PostScript variable ps@Exit for exit the loop
- for \psplot and \psparametricplot
- - add new names \psparametricplot, \psdataplot,...
- the old names still work
-1.01 2008-01-26 - make negative Dx/Dy work (hv)
-1.00 2007-06-26 - added two new line style LineToXaxis/LineToYaxis (hv)
-
-
xdvipdfmx.con ------
0.01 2007-03-11 - first CTAN version, must be renamed to pstricks.con
when used with XeTeX
diff --git a/Master/texmf-dist/doc/generic/pstricks/Changes.latex b/Master/texmf-dist/doc/generic/pstricks/Changes.latex
index a1058f8bf38..a284916d53e 100644
--- a/Master/texmf-dist/doc/generic/pstricks/Changes.latex
+++ b/Master/texmf-dist/doc/generic/pstricks/Changes.latex
@@ -1,4 +1,5 @@
pstricks.sty --------
+0.41 2010-02-11 - message for loading pst-fp
0.40 2009-01-30 - typeout an error message if the user named his
TeX source file pstricks.tex (rn)
- updated versions for the pro files
diff --git a/Master/texmf-dist/doc/generic/pstricks/Makefile b/Master/texmf-dist/doc/generic/pstricks/Makefile
deleted file mode 100644
index b7ce074ee14..00000000000
--- a/Master/texmf-dist/doc/generic/pstricks/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# `Makefile' for `pst-news.pdf', hv, 2007/03/17
-
-.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
-
-PACKAGE = pst-news$(shell date +%y)
-
-MAIN = $(PACKAGE)
-
-LATEX = latex
-
-ARCHNAME = $(MAIN)-$(shell date +%y%m%d)
-
-ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile
-
-all : doc clean
-doc: $(MAIN).pdf
-
-$(MAIN).pdf : $(MAIN).ps
- GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $<
-
-$(MAIN).ps : $(MAIN).dvi
- dvips $<
-
-$(MAIN).dvi : $(MAIN).tex
- $(LATEX) $<
- $(LATEX) $<
- if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi
- if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi
- makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \
- $(basename $<).glo
- makeindex -t $(basename $<).ilg -o $(basename $<).ind \
- $(basename $<).idx
- bibtex $(basename $<)
- $(LATEX) $<
- $(LATEX) $<
-
-clean :
- $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out .blg .Roessler .bbl )
- $(RM) $(addprefix $(MAIN), .dvi .ps)
-
-veryclean : clean
- $(RM) $(addprefix $(MAIN), .pdf .bbl .blg)
-
-arch :
- zip $(ARCHNAME).zip $(ARCHFILES)
-
-# EOF
diff --git a/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib b/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib
index 721cd671185..f287b1130e9 100644
--- a/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib
+++ b/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib
@@ -9,16 +9,6 @@
year = 1989,
}
-@Manual{pstricks,
- Title = {PSTricks - {\PS} macros for Generic TeX},
- Author = {Timothy Van Zandt},
- Organization = {},
- Address = {\url{http://www.tug.org/application/PSTricks}},
- Note = {},
- year = 1993,
-}
-
-
@Manual{pdftricks,
Title = {PSTricks Support for pdf},
Author = {Herbert Voss},
@@ -37,16 +27,6 @@
year = 2003,
}
-
-@Manual{vue3d:2002,
- Title = {Vue en 3D},
- Author = {Manuel Luque},
- Organization = {},
- Address = {\url{http://members.aol.com/Mluque5130/vue3d16112002.zip}},
- Note = {},
- year = 2002,
-}
-
@Article{dtk02.2:jackson.voss:plot-funktionen,
author = {Laura E. Jackson and Herbert Vo{\ss}},
title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}},
@@ -102,9 +82,9 @@
@Book{PSTricks2,
author = {Herbert Vo\ss},
title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
- edition = {4.},
- publisher = {DANTE -- Lehmanns},
- year = {2007},
+ edition = {5.},
+ publisher = {DANTE -- Lehmanns Media},
+ year = {2008},
address = {Heidelberg/Hamburg}
}
diff --git a/Master/texmf-dist/doc/generic/pstricks/README b/Master/texmf-dist/doc/generic/pstricks/README
deleted file mode 100644
index 4c4f3b989f5..00000000000
--- a/Master/texmf-dist/doc/generic/pstricks/README
+++ /dev/null
@@ -1 +0,0 @@
-The Makefile generates the pdf file for pst-newsYY
diff --git a/Master/texmf-dist/doc/generic/pstricks/ctandir.sty b/Master/texmf-dist/doc/generic/pstricks/ctandir.sty
deleted file mode 100644
index 37928e95823..00000000000
--- a/Master/texmf-dist/doc/generic/pstricks/ctandir.sty
+++ /dev/null
@@ -1,30 +0,0 @@
-%% LaTeX2e file `ctandir.sty'
-%% generated by the `filecontents' environment
-%% from source `pst-fill-doc' on 2004/08/18.
-%%
-%% LaTeX2e file `ctandir.sty'
-%% generated by the `filecontents' environment
-%% from source `ltubguid' on 1997/06/12.
-%%
-%
-% Experimental CTAN location information macros for use with Donald
-% Arseneau's |url.sty|
-%
-% we need url.sty; we can rely on it to demand anything it needs of
-% LaTeX
-\IfFileExists{url.sty}%
- {\RequirePackage{url}}%
- {\PackageWarning{ctandir}{You should acquire a copy of url.sty}%
- \newcommand\urldef[3]{\def#1{\texttt{#3}}}%
- \let\url\texttt
- }
-%
-\newcommand\CTANdirectory[1]{\expandafter\urldef
- \csname CTAN@#1\endcsname\path}
-\newcommand\CTANfile[1]{\expandafter\urldef
- \csname CTAN@#1\endcsname\path}
-%
-% Use the standard label-referencing mechanism to get the warning for
-% an undefined label
-\newcommand\CTANref[1]{\expandafter\@setref\csname CTAN@#1\endcsname
- \relax{#1}}
diff --git a/Master/texmf-dist/doc/generic/pstricks/images/flowers.eps b/Master/texmf-dist/doc/generic/pstricks/images/flowers.eps
new file mode 100644
index 00000000000..3f279322a6a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/images/flowers.eps
@@ -0,0 +1,269 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: background2.eps
+%%Creator: xwpick Version 2.20 Rev: 20/09/94 - by Evgeni Chernyaev
+%%CreationDate: Wed Nov 26 21:12:29 1997
+%%BoundingBox: 0 0 80 60
+%%EndComments
+%***********************************************************************
+%* *
+%* Function: Display a Lempel-Ziv Welch (LZW) encoded color image. *
+%* This is an Encapsulated PostScript file suitable for any *
+% kind of PostScript printer: Level I/II, color/grayscale...*
+%* To optimize output on GrayScale printers you may uncomment*
+%* line '/GRAYneeded true def'. *
+%* *
+%* Author: Evgeni CHERNYAEV (chernaev@vxcern.cern.ch) *
+%* *
+%***********************************************************************
+gsave
+userdict begin
+/EPSneeded true def
+%/GRAYneeded true def
+end
+%***********************************************************************
+%* Image Description *
+%***********************************************************************
+/colomns 80 def
+/rows 60 def
+/mm {2.835 mul} def
+userdict /EPSneeded known {
+ /EPSneeded userdict /EPSneeded get def
+}{
+ /EPSneeded false def
+} ifelse
+userdict /GRAYneeded known {
+ /GRAYneeded userdict /GRAYneeded get def
+}{
+ /GRAYneeded false def
+} ifelse
+EPSneeded {
+ /IfRotate false def
+ /MarginX 0 def /MarginY 0 def
+ /Ymax rows def /Xmax colomns def /Ymin 0 def /Xmin 0 def
+}{
+ /IfRotate colomns rows gt {true} {false} ifelse def
+ /MarginX 8 mm def /MarginY 18 mm def
+ 0 0 moveto clippath pathbbox
+ /Ymax exch def /Xmax exch def /Ymin exch def /Xmin exch def
+} ifelse
+/IfColor systemdict /colorimage known {true} {false} ifelse def
+GRAYneeded {/IfColor false def} if
+/IfLevel2 systemdict /filter known systemdict /setcolorspace known and
+ {true} {false} ifelse def
+%***********************************************************************
+% Procedures *
+%***********************************************************************
+/Table 4096 array def
+/StrArray 10 array def
+/InLine 70 string def
+/BinCodes 112 string def
+/CurBit 0 def /FreeCode 258 def /CurCodeSize 9 def /CurMask 511 def
+/incr IfColor {3} {1} ifelse def
+IfLevel2 not {/setcolorspace null def /filter null def} if
+%***********************************************************************
+/ReadLine { % Read Next Data Line (ASCII85 decode) *
+%***********************************************************************
+ BinCodes 0 BinCodes 56 56 getinterval putinterval
+ currentfile InLine readline pop pop
+ 1 1 14 {
+ /i exch 1 sub def
+ /k i 5 mul def
+ /c1 InLine k get 33 sub 255 and def
+ /rest c1 1868977 mul
+ InLine k 1 add get 33 sub 255 and 614125 mul add
+ InLine k 2 add get 33 sub 255 and 7225 mul add
+ InLine k 3 add get 33 sub 255 and 85 mul add
+ InLine k 4 add get 33 sub 255 and add def
+ /k i 4 mul 56 add def
+ BinCodes k c1 3 mul rest 16777216 idiv add 255 and put
+ /rest rest 16777216 mod def
+ BinCodes k 1 add rest 65536 idiv put
+ BinCodes k 2 add rest 256 idiv 255 and put
+ BinCodes k 3 add rest 255 and put
+ } for
+} bind def
+%***********************************************************************
+/ReadCode { % Read next code *
+%***********************************************************************
+ /CurByte CurBit 8 idiv def
+ /CurCode
+ BinCodes CurByte get 8 bitshift
+ BinCodes CurByte 1 add get add 8 bitshift
+ BinCodes CurByte 2 add get add
+ CurCodeSize CurBit 7 and add 24 sub bitshift CurMask and def
+ /CurBit CurBit CurCodeSize add dup 448 ge {ReadLine 448 sub} if def
+} bind def
+%***********************************************************************
+/DecodeCode { % Decode CurCode *
+%***********************************************************************
+ ReadCode CurCode 256 eq {
+ /FreeCode 258 def /CurCodeSize 9 def /CurMask 511 def
+ /StrInd -1 def /Lrest 0 def ReadCode
+ }{
+ L Lrest gt {
+ /StrInd StrInd 1 add def /Lrest 65535 def
+ StrArray StrInd get null eq {StrArray StrInd 65535 string put} if
+ /CurStr StrArray StrInd get def
+ } if
+ Table FreeCode CurStr 65535 Lrest sub L getinterval
+ dup 0 Table OldCode get putinterval
+ dup L incr sub Table
+ CurCode FreeCode lt {CurCode} {OldCode} ifelse get
+ 0 incr getinterval putinterval put
+ /Lrest Lrest L sub def /FreeCode FreeCode 1 add def
+ FreeCode CurMask ge CurCodeSize 12 lt and {
+ /CurCodeSize CurCodeSize 1 add def
+ /CurMask CurMask 1 bitshift 1 add def
+ } if
+ } ifelse
+ /OldCode CurCode def
+ Table CurCode get dup length incr add /L exch def
+} bind def
+%***********************************************************************
+/DisplayImage { % Display a LZW-encoded color image *
+%***********************************************************************
+ /DelX Xmax Xmin sub MarginX 2 mul sub def
+ /DelY Ymax Ymin sub MarginY 2 mul sub def
+ /SizeX IfRotate {rows} {colomns} ifelse def
+ /SizeY IfRotate {colomns} {rows} ifelse def
+ /FactorX DelX SizeX div def /FactorY DelY SizeY div def
+ /Factor FactorX FactorY le {FactorX} {FactorY} ifelse def
+ /ScaleX SizeX Factor mul def /ScaleY SizeY Factor mul def
+ DelX ScaleX sub 2 div MarginX add
+ DelY ScaleY sub 2 div MarginY add translate
+ IfRotate {ScaleY ScaleX} {ScaleX ScaleY} ifelse scale
+ /Palette currentfile 768 string readhexstring pop def
+ currentfile InLine readline pop pop
+ IfColor not {
+ 0 1 255 {
+ Palette exch dup /i exch 3 mul def
+ Palette i 0 add get 0.299 mul
+ Palette i 1 add get 0.587 mul add
+ Palette i 2 add get 0.114 mul add cvi put
+ } for
+ /Palette Palette 0 256 getinterval def
+ } if
+ /Matr IfRotate
+ {[0 colomns rows 0 0 0]} {[colomns 0 0 rows neg 0 rows]} ifelse def
+ IfLevel2 {
+ [/Indexed IfColor {/DeviceRGB} {/DeviceGray} ifelse 255 Palette]
+ setcolorspace
+ /infile currentfile /ASCII85Decode filter /LZWDecode filter def
+ 8 dict
+ dup /ImageType 1 put
+ dup /Width colomns put
+ dup /Height rows put
+ dup /BitsPerComponent 8 put
+ dup /ImageMatrix Matr put
+ dup /Interpolate false put
+ dup /Decode [0 255] put
+ dup /DataSource infile put image
+ }{
+ 0 1 255 {
+ Table exch dup incr mul Palette exch incr getinterval put
+ } for
+ ReadLine ReadLine
+ colomns rows 8 Matr {DecodeCode}
+ IfColor {false 3 colorimage} {image} ifelse
+ } ifelse
+} bind def
+%***********************************************************************
+%* Image decoding *
+%***********************************************************************
+DisplayImage
+000000 ffffff ffffe0 228b22 c0c0c0 00ff00 ff0000 ffff00 ffa500 b3b3b3
+7f7f7f cd5c5c b4b4b4 101010 e0e0e0 f0f050 60f060 d0d0d0 404040 c02020
+404080 fff68f a0a0c0 c07070 202020 ff4040 008000 a0a000 0000ff ff00ff
+008080 606060 808080 8080c0 c08080 80c080 c080c0 c0c080 80c0c0 d08050
+5080d0 91c591 104210 1d761d e6e6fa adadad 7b7b7b 737373 a37474 6b6b6b
+636363 966a6a 634848 dadada cf8a8a 9e9e9e 7b4a4a 848484 5a5a5a 8b5f5f
+845454 bdbdbd 362828 b5b5b5 ffc0cb 191315 846342 342114 806b61 110f0e
+8d7360 594123 3f343b 372915 988067 6c4e35 725c58 a58c72 231a1d 2d262a
+4a3118 594544 615259 030203 868686 ababab 656565 add8e6 d50000 d5d500
+aa0055 5500aa 94dec5 7ce4a4 63e983 4aef62 31f441 18fa20 d2b48c ffebcd
+8b7765 6a5acd ffe4e1 ee82ee a6a6a6 afeeee cccccc 8c8c8c e5e5e5 666666
+bfbfbf 775588 8f66a3 473351 d9d9d9 999999 b2c0dc c6d5e2 8b99b5 b22222
+00008b 595959 424242 dedede 949494 00ffff 009999 8f8f8f d7d7d7 333333
+00dfff 006400 bebebe fefefe 828282 f2f2f2 a020f0 e4c0c0 663b3b a35f5f
+b03060 cd0000 8b0000 8b3a3a 191970 78706b 5a5357 717fca 2a218b 929ed3
+311fb3 6f76a0 9f8762 25244a 29256f 51518c 4b51b1 a3b1d7 cde1f9 b5c0d1
+9796a0 797169 595155 717dcb 28208a 301cb2 6d75a2 9e8661 242449 28246d
+51518e 4951b2 a2b2d7 cfe3fb b6c3d3 9696a2 65493c 825145 9a7165 45342c
+693430 201c1c 1c1414 fa1340 5151fb e7e7e7 3bfa34 655d55 d7c7a6 dfcfae
+6f6f6f 1d155b a2a2a2 5b0000 9c9c9c 565656 0000b0 3f0f7b 646464 2f4f4f
+2e8b57 999986 778899 db7093 008b00 b87850 d0a888 583838 302828 d09068
+905040 9a9a9a b0b0b0 2a2a2a 878787 434343 ff1493 898989 bdb76b ff69b4
+8b8b8b 8aadb8 5f777e fa8072 0000cd 98fb98 6920ac b7ffb7 5b975b 8b008b
+93b8c4 ff4500 525252 b53100 ffe752 ce634a 31317b de8473 e78c9c de7b5a
+63528c 737329 738442 291839 d67339 c65218 c6adad c65229 bd4208 180800
+ffde21 b54a18 f7c66b b53910 ffde39 f7d6ef
+J3.)@GU(^knp%f=DYJ/kJ;GL5=Y,`/-/pch]Nmg"X/XVJIl`bq;EQ8LIr;+$.9*CN>5g7W
+'[nor[TJf+!aT_7]=mFm7*cpW[Tg<aLB+rWY=I@'lMZBuhX%b!]pA13&=tO&P(f'sIRf!n
+kj3`m2.VpX,scL`%[WL)K!.G>W`Gu.b0m81Jc5rPSibbMkTdLjp)jE+p`rM_lTBU4?#JhG
+,]"i@6=D?il&ImkYik'sE]HH!Ih8=B'/ZXJq"/kQ9)"0G?>"Z#^#+&tdO!I&b/=]`f4uu3
+qo:nAmnB>TQR.<IMM4DeIQns:ou\1]EEiQE<c,#H=/.WTPuB0_<u+^_i$$oTGCLXcfb0,s
+&W"e'?4r\7Sus7?HC:XLNiaHUb!;"08('a.T>ubJ(DVN].Xhe%&o)_*Y;o9MScrh3]p-EZ
+i8_?X3UV8D^q2"=%#Qe'a.7*7S=QS&dFKP5Vhn0IUoqR##.j$na;5BV]ImNEWM*!rV1Atc
+AL%N=*+]i-lqi/7k@sA+T$?gEHFX/MgjZNK>'>8'LS1<'M!ZZa"NYU'*?cFk4K>[q@&dCA
+*Y2K%;\JJKloGdM_;I9pYt<P:T4#0F)Zo2r&jqcGH17]&o0Lg@K'0p%+\jmGie5/2oG^f\
+J?0Z8+-KLf)h9,`9P">LTf.-5,H0h\NT@W&FIb$Mq@eJOq<Zp$b!G<?;ePIBHl^V&f#O2d
+.GIG"LQ(V$<L$GR"<NO'%\';fW&@_K",J@:=B$R^2hu%ad)[Z0ZC8rK-i*dh*B&8)`up./
+hB<To9Yu".a(S5">PA7>EEm/(pm\qWW5a6,Ks6RE*Z58B9o\iTIcOmo);9MnB5%u$&EiG:
+FIrt_*-^PL$\4u*Wa'-=@Tiq;"DEdHDGI$^@1S9%R/u4p!eQ\\XGC#YR\p;\Ksl16@KGMW
+T;T\J7-n']eqPTh5(%JoLMRk2_7CfUNa-lWM@3oC@8'%[Kl$g7#m6!Z71)^-@B/#IIWBS%
+VJP#fPW>"eBP^hsC7_qkg,Y%(H6lRa>b(?^3Ye)K6Bq_0jT$_M3L=!!fVfaO:%h7!S!sT4
+-GsLT)8Y`bEp%a5iPF+Mli\Ea+nU3H#Gs'_V2o=D6k/i92WOJ@OmmIaQaaGo\MGMPFo-D<
+lg?Y9BRh3pA4o&Oo=3]iIK9H*lf5h3O/!@j6[r3U^q%K>@P'G^=((aW8o#Q&(%SFraCC)e
+@fRj4"tI'7r5YRU/oYC`&'-jR"+Y??L%'PPeKd<-O;Aq;89ZDTSB[Ue\Rs0Qar'(IV92'k
+1e^_g0dc#eh$EOm/JNXpFA.OB#]Do'(j@X+TXNc.O'2YA8g"@LA"N#mB.j.M"98Kba(YB4
+#n`"&([=+Qcl7d:d4uXE?p=eJ=Tfn`%@K+\4bmuD#[n]c!I+kRc/DAVM^9*,1hL6`JFt>U
+@P=*^`gtoKoE0,/+Z^8Y#E+13-&O7"K44aBL\Q^e6f_P`Yni7`8;gE!2/AftFNm=%c[c<%
+IZO22(_!)\!<dP%6mEZ`a3a>YE_(MZ5V+57.j7bu^fQq,C_B1@6P1OK70<NB1<426+G6b?
+X`=VQa%Dn="4Vg\jnqK!3CQ-k-2K`)ipjh>=F5cba.^<*?AllJ(#lq=NoB^RVpZn%$;+5k
+P]dMVM7\;Um!LZkBd.*rl[<4^b*c-K,"VU%I]X0EO*/N+<Ig?:-1.LlH'l"V88p0^r*]s*
+,!1@-PWNDH-G*eb(o<HC+iP@V;++b$TW?%VmEBlM.>k2-BKS/.FB1>fjul$Jn1TC+$V\X1
+Dus_KO$]ADNt^_?6A4)dj?01mnIe_u0Sq?boc^tkKc45**b:tXUkNej?BcS!#]KPO(Vu=T
+_6>U#!=U6oTS=-d6)@!PUa248METEG59Z^#ap=.s=D)^MIk;CU$Li=(_$I+LiJ]:N@r)E_
+;HZ-oKHuTjnigk<q&)(&$!:#Y4\*T`7H;(Je+NT@9V]K_j7q8%jsE-eWNZR,^c2Wt3\(<2
+rWRtr;\&n&&B)1UYJEaggA83p7S-dE<YU^MP=fBn/*jK8U33_S`<VtYX!B3YifCl_%hRrk
+'nENM#?#.\`D@6MJ]2%Md,SjnYa;urN$AK,6<$Z>pG.qtSf'ib'F.>JK@"k'Q5&[UROsjJ
+OG8o*@K*9^TV`B=J2jhrX`^i`/cqDF!"YAX3JY[d69uSNNtFTf.j;h\`_[UETS,DJ@S.kU
+GjM8-M2)h%'c$$;nLcq%-A9qP=(KVX@iSWe`NZcW+MR/q9?`n-Up_;[*&9:uME?PpVkU-&
+)_2o$BEVT`Gm&'nMpaR%i<Z;^:-(6?@IgRrNe/!L$Pfs%1KK46]+juj@149BV8?qN?ddXU
+V;i!1([^Ln;)EJ&Y[EO/L)eO-r!+bq-p%F%90uf!Ftu.[J;7_9\tcKWKWpUNL(Nbi6eG/g
+64t\JnWkqa4CH?l7Z58iP,9HL(aflX7g(e]gE9HMO7:2LXa'1R#tnS2O=2T3hQTT*/5:t_
+KFl!S664PA3X7q84B$N1c5FFU&$[*8iDo+!Af`;d'daBD3c@)in:0iA&"`q@A'il\:OtiE
+.`-0#'19Z=mVu2UdWOC^_*Nc'F@7M/nHa@6<S"\$<cM]Db9"iGi%73[0Wgn$gRRXpMU3kt
+ZoCh-f["O#Eb]n7)">`M,ZfamC5@FMV]JET[[8b%3^sF+7nQB97uJi+TgIECigbChE=P29
+5(6EHGZT`p69N<6]X@^RI#2j556^7.WM5b[$*7qpL)0Gh^pCl[E/n!)=Qp]51e"2/LC'9I
+//`Z/F%^&fQcp:C&,h_9KHS8f6o],i@Jk@ZYr!dtR5;Inclp'`<]q(Y+7J1f>*&2W$NLHf
+%0OOFn&YEP8*FJ3,OAunEf@bl7[k5NCr)(#0BYY5q4E1j*X*]D*.:=sj!3V4?i+k[-5`!_
+6E#-Br59!Hk]E%=A&8g.FCc1(:`)PV+Thc#4^!*Zi0IH-5W%!"$bco*ng/hEC-^e%!Ajcf
+'ZR:,'-U<s+m(pt<ptSp#qTm!+Em"PS.&1!"cmj*i+rX,p'<pLeE*,@j+&2LRLeD:lNFs+
+j)i;7nd%J\($l9/D-dlNke"Yf4TRG^@%?8M.-(eKY\loBD2)Ia!n1]<15H\_+Ee'"(2KS'
+7DN`W.6nt`Jf#VbJSDhXlX'WY<(]fheaKfOi1'cWkT40p(;VgJNG@8Lik*!\(<qA'+l!6P
+%[881#is:h$*55A?jHamAcWB?l*MMr<9ku>0B)V:9=uo(i`AoP'.u'A9>(TBF<-@c%Llb4
+%)W"GL)lu=+i*@E,^^0k?39%mJ:Z,Q_%'@0ODfbr*oWP),oS^2)A2K\+0/^L%q9'W..lEt
+$,E)"b?bi8:D;-:)*p#`c6`ku@+[,k"cCM>MU!WN!c`o87DT`[U#'^=dLkYY*F\Md6Cq'Z
+A.cZK2XIpTJMQm,CCUh1)"4WN/63E,!,=en#%<Z*i.`(@=O_k'9HiaW$@Ff>b_9OTU5?aK
+!J72b(EH"fE`%3:")Pqm\fPiRdI8:Nm9^]#!")'f&+WEJMIIUHIZs=2Ad$<mKrQ0/:?Eg.
+;lKadVfZO*B.%-9+"ELI5iQ(NZ5#Zo*?d8qU#oY)YlO5c.BBHc;5Vc\=G`ja!p%4*Tahg1
+Xp8q8c=C6'YP^=WEe1N>;?7h\k![bY9UK8K)"Nh2EKnWT":cQ9C&k%:6/3"89cA'C#1<u:
+U[0)\Op^YkZ@lPYB7M#a3]Rgu0rJ2tUQ,uWPT><3j:^#bJ6NH0i"Imp*J!0+k5k^Jl3C^5
+hG&V7;Z&`'PR%8l!?c"-/EX6h(7PS9;A+(RJK6JC>S06]%KTTNJQ<NG?ro'C*\iW`OZ+nU
+mM:B/J1Hp>jn&c8C`\-KKn*>J+a0)#+u4c^>)6EX#IPpmBP(iV+)sFR!bM^'DA@5B(iUW-
+PMc^^AL,(j;K5k]nYT2l`"?M%7D\sC_*SQ\JB^?0]d=GIU'htiBP+0E/;@]NCpMjff[g[T
+mS;sQ%)<r7=W:cb#iU@I+CGL``"_1!)5^X\i/S0'=s)`D0`urld0Lk,ChtoG+D7cf5`Se%
+m+)d.ea6d8nLFEPCrWh9[G[\iiU.R.J0*X/#@ZBo@h'Q1@$C[%+Y;(QCO3(aM\cNC=pM-2
+Kq;D+r,nd)+/)@7^l^Bl4%Jh$!g$tW7,G?;#pgb^"[Hl9@?MHMRNBkRA`<V0+T<++rWS).
+k&US9+HDM&HD0LMHbo1U`af;']H&.R%NpK4!/D$M"Z(_^*agDs</jXH/dUG`aG.,@U;"m'
+OpS+&WO2mk::rP2[L*%e=pDif@2rG7@T-7H1(UJA^aULn38D>E!m=i0DC,X.=Y$KL#/H6'
+'i5oZ:KhaG'nQu#_30iM\7%\_(c>t^.:bl4F<.8_Z2s;]V^2rJe6UFM*aptTn1;%!%6d(2
+544rH+nh/Zg^$/?']d,seG^.)r^''N4(QPV+a=hIdM\t$Au9<Lk%JqsJf^V;&]\9]UZ=E(
+ImXN3/Raed0*2WWroq8Ml`;EEnSAeFD%O`1"i7bk+Hhri&t,C**Pmq,eg<(aAhh>0&]ZP5
+8J$$@TMq!&&_.P$"QCAobRUmRA7>HTD)Y80rC""f!&gnu_*/;6p'BnH15Y_`76Wm^_N<fF
+Q6b*c,]<YBP!p-=l!TYfjPj7clXWm#dr\_]JJ)t2TICCl&tlD8UtuTWbb_"d+]"DTANMV<
+^0>(Q*eE0@PS8$A`@&%RY^la`i%,H_kS'p_DW1Th+V'_;h_<-aXPa.HTVs]_TE$7](%$`M
+jYmRp80DNi>3'Y(8\U\g,sG*'#p>lETT0U-3YSain7``m-2[`m-$.uG*ZtM,+9
+~>
+showpage grestore
diff --git a/Master/texmf-dist/doc/generic/pstricks/images/tiger.eps b/Master/texmf-dist/doc/generic/pstricks/images/tiger.eps
new file mode 100644
index 00000000000..5588d5236b9
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/images/tiger.eps
@@ -0,0 +1,2746 @@
+%!PS-Adobe-2.0 EPSF-1.2
+%%BoundingBox: 1 150 611 792
+/InitDictCount countdictstack def
+gsave
+save
+mark
+newpath
+/showpage {} def
+%!PS-Adobe-2.0 EPSF-1.2
+%%Creator: Adobe Illustrator(TM) 1.2d4
+%%For: OpenWindows Version 2
+%%Title: tiger.eps
+%%CreationDate: 4/12/90 3:20 AM
+%%DocumentProcSets: Adobe_Illustrator_1.2d1 0 0
+%%DocumentSuppliedProcSets: Adobe_Illustrator_1.2d1 0 0
+%%BoundingBox: 22 171 567 738
+%%EndComments
+
+%%BeginProcSet:Adobe_Illustrator_1.2d1 0 0
+
+/Adobe_Illustrator_1.2d1 dup 100 dict def load begin
+% definition operators
+/bdef {bind def} bind def
+/ldef {load def} bdef
+/xdef {exch def} bdef
+% graphic state operators
+/_K { 3 index add neg dup 0 lt {pop 0} if 3 1 roll } bdef
+/_k /setcmybcolor where {
+ /setcmybcolor get
+} {
+ { 1 sub 4 1 roll _K _K _K setrgbcolor pop } bind
+} ifelse def
+/g {/_b xdef /p {_b setgray} def} bdef
+/G {/_B xdef /P {_B setgray} def} bdef
+/k {/_b xdef /_y xdef /_m xdef /_c xdef /p {_c _m _y _b _k} def} bdef
+/K {/_B xdef /_Y xdef /_M xdef /_C xdef /P {_C _M _Y _B _k} def} bdef
+/d /setdash ldef
+/_i currentflat def
+/i {dup 0 eq {pop _i} if setflat} bdef
+/j /setlinejoin ldef
+/J /setlinecap ldef
+/M /setmiterlimit ldef
+/w /setlinewidth ldef
+% path construction operators
+/_R {.25 sub round .25 add} bdef
+/_r {transform _R exch _R exch itransform} bdef
+/c {_r curveto} bdef
+/C /c ldef
+/v {currentpoint 6 2 roll _r curveto} bdef
+/V /v ldef
+/y {_r 2 copy curveto} bdef
+/Y /y ldef
+/l {_r lineto} bdef
+/L /l ldef
+/m {_r moveto} bdef
+% path painting operators
+/n /newpath ldef
+/N /n ldef
+/F {p fill} bdef
+/f {closepath F} bdef
+/S {P stroke} bdef
+/s {closepath S} bdef
+/B {gsave F grestore S} bdef
+/b {closepath B} bdef
+end
+%%EndProcSet
+%%EndProlog
+
+%%Page: 1 1
+
+Adobe_Illustrator_1.2d1 begin
+
+.8 setgray
+%clippath fill
+-110 -300 translate
+1.1 dup scale
+
+0 g
+0 G
+0 i
+0 J
+0 j
+0.172 w
+10 M
+[]0 d
+0 0 0 0 k
+
+177.696 715.715 m
+177.797 713.821 176.973 713.84 v
+176.149 713.859 159.695 761.934 139.167 759.691 C
+156.95 767.044 177.696 715.715 V
+b
+181.226 718.738 m
+180.677 716.922 179.908 717.221 v
+179.14 717.519 180.023 768.325 159.957 773.199 C
+179.18 774.063 181.226 718.738 V
+b
+208.716 676.41 m
+210.352 675.45 209.882 674.773 v
+209.411 674.096 160.237 686.898 150.782 668.541 C
+154.461 687.428 208.716 676.41 V
+b
+205.907 666.199 m
+207.763 665.803 207.529 665.012 v
+207.296 664.221 156.593 660.879 153.403 640.478 C
+150.945 659.563 205.907 666.199 V
+b
+201.696 671.724 m
+203.474 671.061 203.128 670.313 v
+202.782 669.565 152.134 673.654 146.002 653.936 C
+146.354 673.175 201.696 671.724 V
+b
+190.991 689.928 m
+192.299 688.554 191.66 688.033 v
+191.021 687.512 147.278 713.366 133.131 698.324 C
+141.872 715.467 190.991 689.928 V
+b
+183.446 685.737 m
+184.902 684.52 184.326 683.929 v
+183.75 683.339 137.362 704.078 125.008 687.531 C
+131.753 705.553 183.446 685.737 V
+b
+180.846 681.665 m
+182.454 680.657 181.964 679.994 v
+181.474 679.331 132.692 693.554 122.709 675.478 C
+126.934 694.251 180.846 681.665 V
+b
+191.58 681.051 m
+192.702 679.52 192.001 679.085 v
+191.3 678.65 151.231 709.898 135.273 696.793 C
+146.138 712.674 191.58 681.051 V
+b
+171.8 710 m
+172.4 708.2 171.6 708 v
+170.8 707.8 142.2 749.8 122.999 742.2 C
+138.2 754 171.8 710 V
+b
+172.495 703.021 m
+173.47 701.392 172.731 701.025 v
+171.993 700.657 135.008 735.501 117.899 723.939 C
+130.196 738.739 172.495 703.021 V
+b
+172.38 698.651 m
+173.502 697.12 172.801 696.685 v
+172.1 696.251 132.031 727.498 116.073 714.393 C
+126.938 730.274 172.38 698.651 V
+b
+0 J 1 w
+170.17 696.935 m
+170.673 690.887 171.661 684.318 173.4 681.199 C
+169.8 668.799 178.6 655.599 V
+178.2 648.399 179.8 645.199 V
+183.8 636.799 188.6 635.999 v
+192.484 635.352 201.207 632.283 211.068 630.879 c
+228.2 616.799 225 603.999 V
+224.6 587.599 221 585.999 V
+232.6 597.199 223 580.399 V
+218.6 561.599 l
+244.2 583.199 228.6 564.799 V
+218.6 538.799 l
+238.2 557.199 231 548.799 V
+227.8 539.999 l
+271 567.199 240.2 537.599 V
+248.2 541.199 252.6 538.399 V
+259.4 539.599 258.6 537.999 V
+237.8 527.599 234.2 509.199 V
+242.6 519.199 239.4 508.399 V
+239.8 496.799 l
+243.8 518.399 243.4 480.799 V
+262.6 498.799 251 477.999 V
+251 461.199 l
+266.2 477.599 259.8 464.799 V
+269.8 473.599 265.8 458.399 V
+265 447.999 269.4 459.199 V
+285.4 489.799 279.4 463.599 V
+278.6 444.399 283.4 459.199 V
+283.8 448.799 293 441.599 V
+291.8 492.399 304.6 456.399 V
+308.6 439.999 l
+311.4 449.199 311 454.399 V
+325.8 470.799 319 446.399 V
+334.2 469.199 331 455.999 V
+323.4 439.999 325 435.199 V
+341.8 469.999 343 471.599 V
+341 429.198 351.8 465.199 V
+357.4 453.199 354.6 448.799 V
+362.6 456.799 361.8 459.999 V
+366.4 468.199 369.2 454.599 V
+371 445.199 372.6 448.399 V
+376.6 424.398 377.8 447.199 V
+379.4 460.799 372.2 472.399 V
+373 475.599 370.2 479.599 v
+383.8 457.999 376.6 486.799 V
+387.801 478.799 389.001 478.799 V
+375.4 501.999 384.2 497.199 V
+379 507.599 397.001 495.599 V
+381 511.599 398.601 501.999 V
+406.601 495.599 399.001 505.599 V
+384.6 521.599 406.601 503.599 V
+418.201 487.199 419.001 484.399 V
+409.001 513.599 404.601 516.399 V
+413.001 552.799 454.201 537.199 V
+461.001 519.999 465.401 538.399 V
+478.201 544.799 489.401 517.199 V
+493.401 530.799 492.601 533.599 V
+499.401 532.399 498.601 533.599 V
+511.801 529.199 513.001 529.999 V
+519.801 523.199 520.201 526.799 V
+529.401 523.999 527.401 527.599 V
+536.201 511.999 536.601 508.399 V
+539.001 522.399 l
+541.001 519.599 l
+542.601 527.199 541.801 528.399 v
+541.001 529.599 561.801 521.599 566.601 500.799 C
+568.601 492.399 l
+574.601 507.199 573.001 511.199 V
+578.201 510.399 578.601 505.999 V
+582.601 529.199 577.801 535.199 V
+582.201 535.999 583.401 532.399 V
+583.401 539.599 l
+590.601 538.799 590.601 541.199 V
+595.001 545.199 597.001 540.399 V
+584.601 575.599 603.001 556.399 V
+610.201 545.599 606.601 564.399 v
+603.001 583.199 599.001 584.799 603.801 585.199 C
+604.601 588.799 602.601 590.399 v
+600.601 591.999 603.801 590.399 y
+608.601 586.399 603.401 608.399 V
+609.801 606.799 597.801 635.999 V
+600.601 638.399 596.601 646.799 V
+604.601 642.399 607.401 643.999 V
+607.001 645.599 603.801 649.599 V
+582.201 704.4 602.601 682.399 V
+614.451 668.849 608.051 691.649 V
+598.94 715.659 599.717 719.955 V
+170.17 696.935 l
+b
+0.2 0.55 0.85 0 k
+599.717 719.755 m
+600.345 719.574 602.551 718.45 603.801 716.8 C
+610.601 706 605.401 724.4 V
+596.201 753.2 605.001 742 V
+611.001 734.8 607.801 748.4 v
+603.936 764.827 601.401 771.2 y
+613.001 766.4 586.201 806 V
+595.001 802.4 l
+575.401 842 553.801 847.2 V
+545.801 853.2 l
+584.201 891.2 571.401 928 V
+564.601 933.2 555.001 924 V
+548.601 919.2 542.601 920.8 V
+511.801 919.6 509.801 919.6 v
+507.801 919.6 473.001 956.8 407.401 939.2 C
+402.201 937.2 397.801 938.4 V
+379.4 954.4 330.6 931.6 v
+320.6 929.6 319 929.6 v
+317.4 929.6 314.6 929.6 306.6 923.2 c
+298.6 916.8 298.2 916 296.2 914.4 C
+279.8 903.2 275 902.4 V
+263.4 896 259 886 V
+255.4 884.8 l
+253.8 877.6 253.4 876.4 V
+248.6 872.8 247.8 867.2 V
+239 861.2 239.4 856.8 V
+237.8 851.6 237 846.8 V
+229.8 842 230.6 839.2 V
+223 825.2 224.2 818.4 V
+217.8 818.8 215 816.4 V
+214.2 811.6 212.6 811.2 V
+209.8 810 212.2 806 V
+210.6 803.2 210.2 801.6 V
+211 798.8 206.6 793.2 V
+200.2 774.4 202.2 769.2 V
+202.6 764.4 199.8 762.8 V
+196.2 763.2 204.6 751.2 V
+205.4 750 202.2 747.6 V
+185 744 182.6 727.6 V
+169 712.8 169 707.6 v
+169 705.295 169.271 702.148 169.97 697.535 C
+169.4 689.199 197 688.399 v
+224.6 687.599 599.717 719.755 Y
+b
+184.4 697.4 m
+159.4 736.8 173.8 680.399 Y
+182.6 645.999 312.2 683.599 y
+481.001 714 492.201 718 v
+503.401 722 598.601 715.6 y
+593.001 732.4 L
+528.201 778.8 509.001 755.6 495.401 759.6 c
+481.801 763.6 484.201 754 481.001 753.2 c
+477.801 752.4 438.601 777.2 432.201 776.4 c
+425.801 775.6 400.459 799.351 415.401 767.6 c
+431.401 733.6 357 728.4 340.2 739.6 c
+323.4 750.8 347.4 721.2 Y
+365.8 701.2 331.4 718 y
+297 730.8 273 705.2 269.8 704.4 c
+266.6 703.6 261.8 700.4 261 706.8 c
+260.2 713.2 252.69 729.901 221 703.6 c
+201 686.999 187.2 709 Y
+184.4 697.4 L
+f
+0.09 0.5 0.772 0 k
+433.51 774.654 m
+427.11 773.854 401.743 797.593 416.71 765.854 c
+433.31 730.654 358.31 726.654 341.51 737.854 c
+324.709 749.054 348.71 719.454 Y
+367.11 699.454 332.709 716.254 y
+298.309 729.054 274.309 703.454 271.109 702.654 c
+267.909 701.854 263.109 698.654 262.309 705.054 c
+261.509 711.454 254.13 727.988 222.309 701.854 c
+201.073 684.508 187.582 705.963 Y
+184.382 695.854 L
+159.382 735.654 174.454 677.345 Y
+183.255 642.944 313.509 681.854 y
+482.31 712.254 493.51 716.254 v
+504.71 720.254 599.038 713.927 y
+593.51 731.236 L
+528.71 777.636 510.31 753.854 496.71 757.854 c
+483.11 761.854 485.51 752.254 482.31 751.454 c
+479.11 750.654 439.91 775.454 433.51 774.654 c
+f
+0.081 0.45 0.695 0 k
+434.819 772.909 m
+428.419 772.109 403.685 796.138 418.019 764.109 c
+434.219 727.908 359.619 724.908 342.819 736.108 c
+326.019 747.308 350.019 717.708 Y
+368.419 697.708 334.019 714.508 y
+299.619 727.308 275.618 701.708 272.418 700.908 c
+269.218 700.108 264.418 696.908 263.618 703.308 c
+262.818 709.708 255.57 726.075 223.618 700.108 c
+201.145 682.017 187.964 702.926 Y
+184.364 694.308 L
+160.564 733.308 175.109 674.29 Y
+183.909 639.89 314.819 680.108 y
+483.619 710.508 494.819 714.508 v
+506.019 718.508 599.474 712.254 y
+594.02 730.072 L
+529.219 776.472 511.619 752.109 498.019 756.109 c
+484.419 760.109 486.819 750.509 483.619 749.708 c
+480.419 748.908 441.219 773.709 434.819 772.909 c
+f
+0.072 0.4 0.618 0 k
+436.128 771.163 m
+429.728 770.363 404.999 794.395 419.328 762.363 c
+436.128 724.807 360.394 723.518 344.128 734.363 c
+327.328 745.563 351.328 715.963 Y
+369.728 695.963 335.328 712.763 y
+300.928 725.563 276.928 699.963 273.728 699.163 c
+270.528 698.363 265.728 695.163 264.928 701.563 c
+264.128 707.963 257.011 724.161 224.927 698.363 c
+201.218 679.526 188.345 699.89 Y
+184.345 692.763 L
+162.545 729.563 175.764 671.235 Y
+184.564 636.835 316.128 678.363 y
+484.928 708.763 496.129 712.763 v
+507.329 716.763 599.911 710.581 y
+594.529 728.908 L
+529.729 775.309 512.929 750.363 499.329 754.363 c
+485.728 758.363 488.128 748.763 484.928 747.963 c
+481.728 747.163 442.528 771.963 436.128 771.163 c
+f
+0.063 0.35 0.54 0 k
+437.438 769.417 m
+431.037 768.617 406.814 792.871 420.637 760.617 c
+437.438 721.417 362.237 721.417 345.437 732.617 c
+328.637 743.817 352.637 714.217 Y
+371.037 694.217 336.637 711.017 y
+302.237 723.817 278.237 698.217 275.037 697.417 c
+271.837 696.617 267.037 693.417 266.237 699.817 c
+265.437 706.217 258.452 722.248 226.237 696.617 c
+201.291 677.035 188.727 696.854 Y
+184.327 691.217 L
+164.527 726.018 176.418 668.181 Y
+185.218 633.78 317.437 676.617 y
+486.238 707.017 497.438 711.017 v
+508.638 715.017 600.347 708.908 y
+595.038 727.745 L
+530.238 774.145 514.238 748.617 500.638 752.617 c
+487.038 756.617 489.438 747.017 486.238 746.217 c
+483.038 745.417 443.838 770.217 437.438 769.417 c
+f
+0.054 0.3 0.463 0 k
+438.747 767.672 m
+432.347 766.872 406.383 790.323 421.947 758.872 c
+441.147 720.072 363.546 719.672 346.746 730.872 c
+329.946 742.072 353.946 712.472 Y
+372.346 692.472 337.946 709.272 y
+303.546 722.072 279.546 696.472 276.346 695.672 c
+273.146 694.872 268.346 691.672 267.546 698.072 c
+266.746 704.472 259.892 720.335 227.546 694.872 c
+201.364 674.544 189.109 693.817 Y
+184.309 689.672 L
+166.309 722.872 177.073 665.126 Y
+185.873 630.726 318.746 674.872 y
+487.547 705.272 498.747 709.272 v
+509.947 713.272 600.783 707.236 y
+595.547 726.581 L
+530.747 772.981 515.547 746.872 501.947 750.872 c
+488.347 754.872 490.747 745.272 487.547 744.472 c
+484.347 743.672 445.147 768.472 438.747 767.672 c
+f
+0.045 0.25 0.386 0 k
+440.056 765.927 m
+433.655 765.127 407.313 788.387 423.255 757.127 c
+443.656 717.126 364.855 717.926 348.055 729.126 c
+331.255 740.326 355.255 710.726 Y
+373.655 690.726 339.255 707.526 y
+304.855 720.326 280.855 694.726 277.655 693.926 c
+274.455 693.126 269.655 689.926 268.855 696.326 c
+268.055 702.726 261.332 718.422 228.855 693.126 c
+201.436 672.053 189.491 690.781 Y
+184.291 688.126 L
+168.291 718.326 177.727 662.071 Y
+186.527 627.671 320.055 673.126 y
+488.856 703.526 500.056 707.526 v
+511.256 711.526 601.22 705.563 y
+596.056 725.417 L
+531.256 771.817 516.856 745.126 503.256 749.126 c
+489.656 753.127 492.056 743.526 488.856 742.726 c
+485.656 741.926 446.456 766.727 440.056 765.927 c
+f
+0.036 0.2 0.309 0 k
+441.365 764.181 m
+434.965 763.381 407.523 786.056 424.565 755.381 c
+446.565 715.781 366.164 716.181 349.364 727.381 c
+332.564 738.581 356.564 708.981 Y
+374.964 688.981 340.564 705.781 y
+306.164 718.581 282.164 692.981 278.964 692.181 c
+275.764 691.381 270.964 688.181 270.164 694.581 c
+269.364 700.981 262.773 716.508 230.164 691.381 c
+201.509 669.562 189.873 687.744 Y
+184.273 686.581 L
+169.872 714.981 178.382 659.017 Y
+187.182 624.616 321.364 671.381 y
+490.165 701.781 501.365 705.781 v
+512.565 709.781 601.656 703.89 y
+596.565 724.254 L
+531.765 770.654 518.165 743.381 504.565 747.381 c
+490.965 751.381 493.365 741.781 490.165 740.981 c
+486.965 740.181 447.765 764.981 441.365 764.181 c
+f
+0.027 0.15 0.231 0 k
+442.674 762.435 m
+436.274 761.635 408.832 784.311 425.874 753.635 c
+447.874 714.035 367.474 714.435 350.674 725.635 c
+333.874 736.835 357.874 707.235 Y
+376.274 687.235 341.874 704.035 y
+307.473 716.835 283.473 691.235 280.273 690.435 c
+277.073 689.635 272.273 686.435 271.473 692.835 c
+270.673 699.235 264.214 714.595 231.473 689.635 c
+201.582 667.071 190.255 684.707 Y
+184.255 685.035 L
+170.654 711.436 179.037 655.962 Y
+187.837 621.562 322.673 669.635 y
+491.474 700.035 502.674 704.035 v
+513.874 708.035 602.093 702.217 y
+597.075 723.09 L
+532.274 769.49 519.474 741.635 505.874 745.635 c
+492.274 749.635 494.674 740.035 491.474 739.235 c
+488.274 738.435 449.074 763.235 442.674 762.435 c
+f
+0.018 0.1 0.154 0 k
+443.983 760.69 m
+437.583 759.89 410.529 782.777 427.183 751.89 c
+449.183 711.09 368.783 712.69 351.983 723.89 c
+335.183 735.09 359.183 705.49 Y
+377.583 685.49 343.183 702.29 y
+308.783 715.09 284.783 689.49 281.583 688.69 c
+278.382 687.89 273.582 684.69 272.782 691.09 c
+271.982 697.49 265.654 712.682 232.782 687.89 c
+201.655 664.58 190.637 681.671 Y
+184.236 683.49 L
+171.236 707.49 179.691 652.907 Y
+188.491 618.507 323.983 667.89 y
+492.783 698.29 503.983 702.29 v
+515.183 706.29 602.529 700.544 y
+597.583 721.926 L
+532.783 768.327 520.783 739.89 507.183 743.89 c
+493.583 747.89 495.983 738.29 492.783 737.49 c
+489.583 736.69 450.383 761.49 443.983 760.69 c
+f
+0.009 0.05 0.077 0 k
+445.292 758.945 m
+438.892 758.145 412.917 781.589 428.492 750.145 c
+449.692 707.344 370.092 710.944 353.292 722.144 c
+336.492 733.344 360.492 703.744 Y
+378.892 683.744 344.492 700.544 y
+310.092 713.344 286.092 687.744 282.892 686.944 c
+279.692 686.144 274.892 682.944 274.092 689.344 c
+273.292 695.744 267.095 710.768 234.092 686.144 c
+201.727 662.089 191.018 678.635 Y
+184.218 681.944 L
+171.418 705.144 180.346 649.853 Y
+189.146 615.453 325.292 666.144 y
+494.093 696.544 505.293 700.544 v
+516.493 704.544 602.965 698.872 y
+598.093 720.763 L
+533.292 767.163 522.093 738.144 508.493 742.144 c
+494.893 746.145 497.293 736.544 494.093 735.744 c
+490.892 734.944 451.692 759.745 445.292 758.945 c
+f
+1 g
+184.2 680.399 m
+171.4 702.4 181 646.799 Y
+189.8 612.399 326.6 664.399 y
+495.401 694.8 506.601 698.8 v
+517.801 702.8 603.401 697.2 y
+598.601 719.6 L
+533.801 766 523.401 736.4 509.801 740.4 c
+496.201 744.4 498.601 734.8 495.401 734 c
+492.201 733.2 453.001 758 446.601 757.2 c
+440.201 756.4 414.981 780.207 429.801 748.4 c
+452.028 700.693 369.041 710.773 354.6 720.4 c
+337.8 731.6 361.8 702 Y
+380.2 681.999 345.8 698.8 y
+311.4 711.6 287.4 685.999 284.2 685.199 c
+281 684.399 276.2 681.199 275.4 687.599 c
+274.6 694 268.535 708.856 235.4 684.399 c
+201.8 659.599 191.4 675.599 Y
+184.2 680.399 L
+f
+0 g
+225.8 650.399 m
+218.6 638.799 239.4 625.599 V
+240.8 624.199 222.8 628.399 V
+216.6 630.399 215 640.799 V
+210.2 645.199 205.4 650.799 v
+200.6 656.399 225.8 650.399 y
+f
+0.8 g
+365.8 698 m
+383.498 671.179 382.9 666.399 v
+381.6 655.999 381.4 646.399 384.6 642.399 c
+387.801 638.399 396.601 605.199 y
+396.201 603.999 408.601 641.999 V
+420.201 657.999 400.201 676.399 V
+365 705.2 365.8 698 v
+f
+0 g
+1 J 0.1 w
+245.8 623.599 m
+257 616.399 242.6 585.199 V
+249 587.599 l
+248.2 576.399 245 573.999 V
+252.2 577.199 l
+257 569.199 253 564.399 V
+269.8 556.399 269 549.999 V
+275.4 557.999 271.4 564.399 v
+267.4 570.799 260.2 566.799 261 585.199 C
+252.2 581.999 l
+257.8 590.799 257.8 597.199 V
+249.8 594.799 l
+265.269 621.377 254.6 622.799 v
+248.6 623.599 245.8 623.599 Y
+f
+0.8 g
+278.2 606.799 m
+281 611.199 278.2 610.399 v
+275.4 609.599 244.2 594.799 238.2 585.199 C
+272.6 609.599 278.2 606.799 V
+f
+288.6 598.799 m
+291.4 603.199 288.6 602.399 v
+285.8 601.599 254.6 586.799 248.6 577.199 C
+283 601.599 288.6 598.799 V
+f
+301.8 613.999 m
+304.6 618.399 301.8 617.599 v
+299 616.799 267.8 601.999 261.8 592.399 C
+296.2 616.799 301.8 613.999 V
+f
+278.6 570.399 m
+278.6 576.399 275.8 575.599 v
+273 574.799 237 557.199 231 547.599 C
+273 573.199 278.6 570.399 V
+f
+279.8 581.199 m
+281 585.999 278.2 585.199 V
+276.2 585.199 249.8 573.599 243.8 563.999 C
+273.4 585.599 279.8 581.199 V
+f
+265.4 533.599 m
+255.4 525.999 l
+265.8 533.599 269.4 532.399 V
+262.6 521.199 261.8 515.999 V
+272.2 528.799 277.8 528.399 V
+285.4 527.999 285.4 517.199 V
+291 527.599 294.2 527.199 V
+295.4 520.799 294.2 513.999 V
+298.2 521.599 302.2 519.999 V
+308.6 521.999 307.8 510.399 V
+307.8 499.999 307 497.199 V
+312.6 523.599 315 523.999 V
+323 525.199 327.8 516.399 V
+323.8 523.999 328.6 521.999 V
+339.4 520.399 342.6 513.599 V
+335.8 525.599 341.4 522.399 V
+348.2 522.399 349.4 515.999 V
+357.8 494.799 359.8 493.199 V
+352.2 514.799 353.8 514.799 V
+351.8 526.799 357 511.999 V
+353.8 525.999 359.4 525.199 v
+365 524.399 369.4 514.399 377.8 516.799 C
+387.401 511.199 389.401 580.399 V
+265.4 533.599 L
+f
+0 g
+0 J 1 w
+270.2 626.399 m
+285 632.399 325 626.399 V
+332.2 625.999 339 634.799 v
+345.8 643.599 372.6 650.799 379 648.799 C
+388.601 642.399 l
+389.401 641.199 l
+401.801 630.799 402.201 623.199 v
+402.601 615.599 387.801 567.599 378.2 551.599 c
+368.6 535.599 359 523.199 339.8 525.599 C
+319 529.599 293.4 525.599 v
+264.2 527.199 261.4 535.199 v
+258.6 543.199 272.6 558.399 y
+277 566.799 275.8 581.199 v
+274.6 595.599 275 623.599 270.2 626.399 c
+f
+0.1 0.6 0.45 0 k
+292.2 624.399 m
+300.6 605.999 271 540.799 y
+269 539.199 283.66 533.154 293.8 535.599 c
+304.746 538.237 345 533.999 Y
+368.6 549.599 381.4 593.999 y
+391.801 617.999 374.2 621.199 v
+356.6 624.399 292.2 624.399 y
+f
+0.1 0.6 0.45 0.2 k
+290.169 593.503 m
+293.495 606.293 295.079 618.094 292.2 624.399 c
+354.6 617.999 365.8 638.799 v
+370.041 646.674 384.801 615.999 384.4 606.399 c
+321.4 591.999 306.6 603.199 V
+290.169 593.503 L
+f
+0.1 0.6 0.45 0.25 k
+294.6 577.199 m
+296.6 569.999 294.2 565.999 V
+292.6 565.199 291.4 564.799 V
+292.6 561.199 298.6 559.599 V
+300.6 555.199 303 554.799 v
+305.4 554.399 310.2 548.799 314.2 549.999 c
+318.2 551.199 329.4 555.199 y
+335 558.399 343.8 554.799 V
+346.175 555.601 346.6 559.599 v
+347.1 564.299 350.2 567.999 352.2 569.999 c
+354.2 571.999 363.8 584.799 362.6 585.199 c
+361.4 585.599 294.6 577.199 Y
+f
+0 0.55 0.5 0 k
+290.2 625.599 m
+287.4 603.199 290.6 594.799 v
+293.8 586.399 293 584.399 292.2 580.399 c
+291.4 576.399 295.8 566.399 301.4 560.399 C
+313.4 558.799 l
+328.6 562.399 337.8 559.599 V
+346.794 558.256 350.2 573.199 V
+355 579.599 362.2 582.399 v
+369.4 585.199 376.6 626.799 372.6 634.799 c
+368.6 642.799 354.2 647.199 338.2 631.599 c
+322.2 615.999 320.2 632.799 290.2 625.599 C
+b
+0 0 0.2 0 k
+0.5 w
+291.8 550.799 m
+291 552.799 286.6 553.199 V
+264.2 556.799 255.8 569.199 V
+249 574.799 253.4 563.199 V
+263.8 542.799 270.6 539.999 V
+287 535.999 291.8 550.799 V
+b
+0 0.55 0.5 0.2 k
+1 w
+371.742 614.771 m
+372.401 622.677 374.354 631.291 372.6 634.799 c
+366.154 647.693 349.181 642.305 338.2 631.599 c
+322.2 615.999 320.2 632.799 290.2 625.599 C
+288.455 611.636 289.295 601.624 v
+326.6 613.199 327.4 607.599 V
+329 610.799 338.2 610.799 v
+347.4 610.799 370.142 611.971 371.742 614.771 C
+f
+0 g
+0 0.55 0.5 0.35 K
+2 w
+328.6 624.799 m
+333.4 619.999 329.8 610.399 V
+315.4 594.399 317.4 580.399 v
+S
+0 0 0.2 0 k
+0 G
+0.5 w
+280.6 539.999 m
+276.2 552.799 285 545.999 V
+289.8 543.999 288.6 542.399 v
+287.4 540.799 281.8 536.799 280.6 539.999 C
+b
+285.64 538.799 m
+282.12 549.039 289.16 543.599 V
+293.581 541.151 292.04 540.719 v
+287.48 539.439 292.04 536.879 285.64 538.799 C
+b
+290.44 538.799 m
+286.92 549.039 293.96 543.599 V
+298.335 541.289 296.84 540.719 v
+293.48 539.439 296.84 536.879 290.44 538.799 C
+b
+297.04 538.599 m
+293.52 548.839 300.56 543.399 V
+304.943 541.067 303.441 540.519 v
+300.48 539.439 303.441 536.679 297.04 538.599 C
+b
+303.52 538.679 m
+300 548.919 307.041 543.479 V
+310.881 541.879 309.921 540.599 v
+308.961 539.319 309.921 536.759 303.52 538.679 C
+b
+310.2 537.999 m
+305.4 550.399 314.6 543.999 V
+319.4 541.999 318.2 540.399 v
+317 538.799 318.2 535.599 310.2 537.999 C
+b
+0 g
+0.1 0.6 0.45 0.25 K
+2 w
+281.8 555.199 m
+295 557.999 301 554.799 V
+307 553.599 308.2 553.999 v
+309.4 554.399 312.6 554.799 y
+S
+315.8 546.399 m
+327.8 559.999 339.8 555.599 v
+346.816 553.026 345.8 556.399 346.6 559.199 c
+347.4 561.999 347.6 566.199 352.6 569.199 c
+S
+0 0 0.2 0 k
+0 G
+0.5 w
+333 562.399 m
+329 573.199 326.2 560.399 v
+323.4 547.599 320.2 543.999 318.6 541.199 C
+318.6 535.999 327 536.399 V
+337.8 536.799 338.2 539.599 v
+338.6 542.399 337 553.999 333 562.399 C
+b
+0 g
+0.1 0.6 0.45 0.25 K
+2 w
+347 555.199 m
+350.6 557.599 353 556.399 v
+S
+353.5 571.599 m
+356.4 576.499 361.2 577.299 v
+S
+0.7 g
+0 G
+1 w
+274.2 534.799 m
+292.2 531.599 296.6 533.199 V
+305.4 533.199 297 531.199 V
+284.2 531.199 276.2 532.399 V
+264.6 537.999 274.2 534.799 V
+f
+0 0 0.2 0 k
+0.5 w
+288.2 627.999 m
+305.8 627.999 307.8 627.199 V
+315 596.399 311.4 588.799 V
+310.2 585.999 307.4 591.599 V
+289 624.399 285.8 626.399 v
+282.6 628.399 287 627.999 288.2 627.999 C
+b
+211.1 630.699 m
+220 628.999 232.6 626.399 V
+237.4 603.999 240.6 599.199 v
+243.8 594.399 240.2 594.399 236.6 597.199 c
+233 599.999 218.2 613.999 216.2 618.399 c
+214.2 622.799 211.1 630.699 y
+b
+232.961 626.182 m
+238.761 624.634 239.77 622.419 v
+240.778 620.205 238.568 616.908 y
+237.568 613.603 236.366 615.765 v
+235.164 617.928 232.292 625.588 232.961 626.182 c
+b
+0 g
+233 626.399 m
+236.6 621.199 240.2 621.199 v
+243.8 621.199 244.182 621.612 247 620.999 c
+251.6 619.999 251.2 621.999 257.8 620.799 c
+260.44 620.319 263 621.199 265.8 619.999 c
+268.6 618.799 271.8 619.599 273 621.599 c
+274.2 623.599 279 627.799 Y
+266.2 625.999 263.4 625.199 V
+241 623.999 233 626.399 V
+f
+0 0 0.2 0 k
+277.6 626.199 m
+271.15 622.699 270.75 620.299 v
+270.35 617.899 276 614.199 y
+278.75 609.599 279.35 611.999 v
+279.95 614.399 278.4 625.799 277.6 626.199 c
+b
+240.115 620.735 m
+247.122 609.547 247.339 620.758 V
+247.896 622.016 246.136 622.038 v
+240.061 622.114 241.582 626.216 240.115 620.735 C
+b
+247.293 620.486 m
+255.214 609.299 254.578 620.579 V
+254.585 620.911 252.832 621.064 v
+248.085 621.478 248.43 625.996 247.293 620.486 C
+b
+254.506 620.478 m
+262.466 609.85 261.797 619.516 V
+261.916 620.749 260.262 621.05 v
+256.37 621.756 256.159 625.005 254.506 620.478 C
+b
+261.382 620.398 m
+269.282 608.837 269.63 618.618 V
+271.274 619.996 269.528 620.218 v
+263.71 620.958 264.508 625.412 261.382 620.398 C
+b
+0 0 0.2 0.1 k
+225.208 616.868 m
+217.55 618.399 l
+214.95 623.399 212.85 629.549 y
+219.2 628.549 231.7 625.749 V
+232.576 622.431 234.048 616.636 v
+225.208 616.868 l
+f
+290.276 621.53 m
+288.61 624.036 287.293 625.794 286.643 626.2 c
+283.63 628.083 287.773 627.706 288.902 627.706 C
+305.473 627.706 307.356 626.953 V
+307.88 624.711 308.564 621.32 V
+298.476 623.33 290.276 621.53 V
+f
+0.2 0.55 0.85 0 k
+1 w
+343.88 759.679 m
+371.601 755.719 397.121 791.359 398.881 801.04 c
+400.641 810.72 390.521 822.6 Y
+391.841 825.68 387.001 839.76 381.721 849 c
+376.441 858.24 360.54 857.266 343 858.24 c
+327.16 859.12 308.68 835.8 307.36 834.04 c
+306.04 832.28 312.2 793.999 313.52 788.279 c
+314.84 782.559 312.2 756.159 y
+346.44 765.259 316.16 763.639 343.88 759.679 c
+f
+0.08 0.44 0.68 0 k
+308.088 833.392 m
+306.792 831.664 312.84 794.079 314.136 788.463 c
+315.432 782.847 312.84 756.927 y
+345.512 765.807 316.728 764.271 343.944 760.383 c
+371.161 756.495 396.217 791.487 397.945 800.992 c
+399.673 810.496 389.737 822.16 Y
+391.033 825.184 386.281 839.008 381.097 848.08 c
+375.913 857.152 360.302 856.195 343.08 857.152 c
+327.528 858.016 309.384 835.12 308.088 833.392 c
+f
+0.06 0.33 0.51 0 k
+308.816 832.744 m
+307.544 831.048 313.48 794.159 314.752 788.647 c
+316.024 783.135 313.48 757.695 y
+344.884 766.855 317.296 764.903 344.008 761.087 c
+370.721 757.271 395.313 791.615 397.009 800.944 c
+398.705 810.272 388.953 821.72 Y
+390.225 824.688 385.561 838.256 380.473 847.16 c
+375.385 856.064 360.063 855.125 343.16 856.064 c
+327.896 856.912 310.088 834.44 308.816 832.744 c
+f
+0.04 0.22 0.34 0 k
+309.544 832.096 m
+308.296 830.432 314.12 794.239 315.368 788.831 c
+316.616 783.423 314.12 758.463 y
+343.556 767.503 317.864 765.535 344.072 761.791 c
+370.281 758.047 394.409 791.743 396.073 800.895 c
+397.737 810.048 388.169 821.28 Y
+389.417 824.192 384.841 837.504 379.849 846.24 c
+374.857 854.976 359.824 854.055 343.24 854.976 c
+328.264 855.808 310.792 833.76 309.544 832.096 c
+f
+0.02 0.11 0.17 0 k
+310.272 831.448 m
+309.048 829.816 314.76 794.319 315.984 789.015 c
+317.208 783.711 314.76 759.231 y
+342.628 768.151 318.432 766.167 344.136 762.495 c
+369.841 758.823 393.505 791.871 395.137 800.848 c
+396.769 809.824 387.385 820.84 Y
+388.609 823.696 384.121 836.752 379.225 845.32 c
+374.329 853.888 359.585 852.985 343.32 853.888 c
+328.632 854.704 311.496 833.08 310.272 831.448 c
+f
+1 g
+344.2 763.2 m
+369.4 759.6 392.601 792 394.201 800.8 c
+395.801 809.6 386.601 820.4 Y
+387.801 823.2 383.4 836 378.6 844.4 c
+373.8 852.8 359.346 851.914 343.4 852.8 c
+329 853.6 312.2 832.4 311 830.8 c
+309.8 829.2 315.4 794.4 316.6 789.2 c
+317.8 784 315.4 760 y
+340.9 768.6 319 766.8 344.2 763.2 c
+f
+0.8 g
+390.601 797.2 m
+362.8 789.6 351.2 791.2 V
+335.4 797.8 326.6 776 V
+323 768.8 321 766.8 v
+319 764.8 390.601 797.2 Y
+f
+0 g
+394.401 799.4 m
+365.4 787.2 355.4 787.6 v
+339 792.2 330.6 777.6 V
+322.2 768.4 319 766.8 V
+318.6 765.2 325 769.2 V
+335.4 764 l
+350.2 754.4 359.8 770.4 V
+363.8 781.6 363.8 783.6 v
+363.8 785.6 385 791.2 386.601 791.6 c
+388.201 792 394.801 796.2 394.401 799.4 C
+f
+0.4 0.2 0.8 0 k
+347 763.486 m
+340.128 763.486 331.755 767.351 331.755 773.6 c
+331.755 779.848 340.128 786.113 347 786.113 c
+353.874 786.113 359.446 781.048 359.446 774.8 c
+359.446 768.551 353.874 763.486 347 763.486 c
+f
+0.4 0.2 0.8 0.2 k
+343.377 780.17 m
+338.531 779.448 333.442 777.945 333.514 778.161 c
+335.054 782.78 341.415 786.113 347 786.113 c
+351.296 786.113 355.084 784.135 357.32 781.125 c
+352.004 781.455 343.377 780.17 v
+f
+1 g
+355.4 780.4 m
+351 783.6 351 781.4 V
+354.6 777 355.4 780.4 V
+f
+0 g
+345.4 772.274 m
+342.901 772.274 340.875 774.3 340.875 776.8 c
+340.875 779.299 342.901 781.325 345.4 781.325 c
+347.9 781.325 349.926 779.299 349.926 776.8 c
+349.926 774.3 347.9 772.274 345.4 772.274 c
+f
+0.2 0.55 0.85 0 k
+241.4 785.6 m
+238.2 806.8 240.6 811.2 V
+251.4 821.2 251 824.8 V
+250.6 842.8 249.4 843.6 v
+248.2 844.4 240.6 850.4 234.6 844 C
+224.2 826 225 819.6 V
+225 817.6 l
+217.4 818 215.8 816 V
+214.6 810.8 213.4 810.4 V
+210.6 808 212.6 805.2 V
+210.6 802.8 211 798.8 V
+218.6 794.8 L
+220.6 780.4 231.4 775.2 v
+236.236 772.871 239.4 779.6 241.4 785.6 c
+f
+1 g
+240.4 787.44 m
+237.52 806.52 239.68 810.48 V
+249.4 819.48 249.04 822.72 V
+248.68 838.92 247.6 839.64 v
+246.52 840.36 239.68 845.76 234.28 840 C
+224.92 823.8 225.64 818.04 V
+225.64 816.24 l
+218.8 816.6 217.36 814.8 V
+216.28 810.12 215.2 809.76 V
+212.68 807.6 214.48 805.08 V
+212.68 802.92 213.04 799.32 V
+219.88 795.72 L
+221.68 782.76 231.4 778.08 v
+235.752 775.985 238.6 782.04 240.4 787.44 c
+f
+0.075 0.412 0.637 0 k
+248.95 842.61 m
+247.86 843.47 240.37 849.24 234.52 843 C
+224.38 825.45 225.16 819.21 V
+225.16 817.26 l
+217.75 817.65 216.19 815.7 V
+215.02 810.63 213.85 810.24 V
+211.12 807.9 213.07 805.17 V
+211.12 802.83 211.51 798.93 V
+218.92 795.03 L
+220.87 780.99 231.4 775.92 v
+236.114 773.65 239.2 780.21 241.15 786.06 c
+238.03 806.73 240.37 811.02 V
+250.9 820.77 250.51 824.28 V
+250.12 841.83 248.95 842.61 V
+f
+0.05 0.275 0.425 0 k
+248.5 841.62 m
+247.52 842.54 240.14 848.08 234.44 842 C
+224.56 824.9 225.32 818.82 V
+225.32 816.92 l
+218.1 817.3 216.58 815.4 V
+215.44 810.46 214.3 810.08 V
+211.64 807.8 213.54 805.14 V
+211.64 802.86 212.02 799.06 V
+219.24 795.26 L
+221.14 781.58 231.4 776.64 v
+235.994 774.428 239 780.82 240.9 786.52 c
+237.86 806.66 240.14 810.84 V
+250.4 820.34 250.02 823.76 V
+249.64 840.86 248.5 841.62 V
+f
+0.025 0.137 0.212 0 k
+248.05 840.63 m
+247.18 841.61 239.91 846.92 234.36 841 C
+224.74 824.35 225.48 818.43 V
+225.48 816.58 l
+218.45 816.95 216.97 815.1 V
+215.86 810.29 214.75 809.92 V
+212.16 807.7 214.01 805.11 V
+212.16 802.89 212.53 799.19 V
+219.56 795.49 L
+221.41 782.17 231.4 777.36 v
+235.873 775.206 238.8 781.43 240.65 786.98 c
+237.69 806.59 239.91 810.66 V
+249.9 819.91 249.53 823.24 V
+249.16 839.89 248.05 840.63 V
+f
+1 g
+240.4 787.54 m
+237.52 806.52 239.68 810.48 V
+249.4 819.48 249.04 822.72 V
+248.68 838.92 247.6 839.64 V
+246.84 840.68 239.68 845.76 234.28 840 C
+224.92 823.8 225.64 818.04 V
+225.64 816.24 l
+218.8 816.6 217.36 814.8 V
+216.28 810.12 215.2 809.76 V
+212.68 807.6 214.48 805.08 V
+212.68 802.92 213.04 799.32 V
+219.88 795.72 L
+221.68 782.76 231.4 778.08 v
+235.752 775.985 238.6 782.14 240.4 787.54 c
+f
+0.8 g
+237.3 793.8 m
+215.7 804 214.8 804.8 V
+223.9 796.6 224.7 796.6 v
+225.5 796.6 237.3 793.8 Y
+f
+0 g
+220.2 800 m
+238.6 796.4 238.6 792 v
+238.6 789.088 238.357 775.669 233 777.2 c
+224.6 779.6 228.2 794 220.2 800 c
+f
+0.4 0.2 0.8 0 k
+228.6 796.2 m
+237.578 794.726 238.6 792 v
+239.2 790.4 239.863 782.092 234.4 781 c
+229.848 780.089 227.618 790.31 228.6 796.2 c
+f
+0 g
+314.595 753.651 m
+314.098 755.393 315.409 755.262 317.2 755.8 c
+319.2 756.4 331.4 760.2 332.2 762.8 c
+333 765.4 346.2 761 Y
+348 760.2 352.4 757.6 Y
+357.2 756.4 363.8 756 Y
+366.2 755 369.6 752.2 Y
+384.2 742 396.601 749.2 Y
+416.601 755.8 410.601 773 Y
+407.601 782 410.801 785.4 Y
+411.001 789.2 418.201 782.8 Y
+420.801 778.6 421.601 773.6 Y
+429.601 762.4 426.201 780.2 Y
+426.401 781.2 423.601 784.8 423.601 786 c
+423.601 787.2 421.801 790.6 Y
+418.801 794 421.201 801 Y
+423.001 814.8 420.801 813 Y
+419.601 814.8 410.401 804.8 Y
+408.201 801.4 402.201 799.8 Y
+399.401 798 396.001 799.4 Y
+393.401 799.8 387.801 792.8 Y
+390.601 793 393.001 788.6 395.401 788.4 c
+397.801 788.2 399.601 790.8 401.201 791.4 c
+402.801 792 405.601 786.2 Y
+406.001 783.6 400.401 778.8 Y
+400.001 774.2 398.401 775.8 Y
+395.401 776.4 394.201 772.6 393.201 768 c
+392.201 763.4 388.001 763 y
+386.401 755.6 385.2 758.6 Y
+385 764.2 379 758.4 Y
+377.8 756.4 373.2 758.6 Y
+366.4 760.6 368.8 762.6 Y
+370.6 764.8 381.8 762.6 Y
+384 764.2 376 768.2 Y
+375.4 770 376.4 774.4 Y
+377.6 777.6 384.4 783.2 Y
+393.801 784.4 391.001 786 Y
+384.801 791.2 379 783.6 Y
+376.8 777.4 359.4 762.4 Y
+354.6 759 357.2 765.8 353.2 762.4 c
+349.2 759 328.6 768 y
+317.038 769.193 314.306 753.451 310.777 756.571 c
+316.195 748.051 314.595 753.651 v
+f
+509.401 920 m
+483.801 912 481.001 893.2 V
+478.601 870.4 499.001 852.8 V
+499.401 846.4 501.401 843.2 v
+499.801 838.4 518.601 846 V
+545.801 854.4 l
+552.201 856.8 557.401 865.6 v
+562.601 874.4 577.801 893.2 574.201 918.4 C
+575.401 929.6 569.401 930 V
+561.001 931.6 553.801 924 V
+547.001 920.8 544.601 921.2 V
+509.401 920 L
+f
+564.022 920.99 m
+566.122 929.92 561.282 925.08 V
+554.242 919.36 546.761 919.36 V
+532.241 917.16 527.841 903.96 V
+523.881 877.12 531.801 871.4 V
+536.641 863.92 543.681 870.52 v
+550.722 877.12 566.222 907.35 564.022 920.99 C
+f
+0.2 g
+563.648 920.632 m
+565.738 929.376 560.986 924.624 V
+554.074 919.008 546.729 919.008 V
+532.473 916.848 528.153 903.888 V
+524.265 877.536 532.041 871.92 V
+536.793 864.576 543.705 871.056 v
+550.618 877.536 565.808 907.24 563.648 920.632 C
+f
+0.4 g
+563.274 920.274 m
+565.354 928.832 560.69 924.168 V
+553.906 918.656 546.697 918.656 V
+532.705 916.536 528.465 903.816 V
+524.649 877.952 532.281 872.44 V
+536.945 865.232 543.729 871.592 v
+550.514 877.952 565.394 907.13 563.274 920.274 C
+f
+0.6 g
+562.9 919.916 m
+564.97 928.288 560.394 923.712 V
+553.738 918.304 546.665 918.304 V
+532.937 916.224 528.777 903.744 V
+525.033 878.368 532.521 872.96 V
+537.097 865.888 543.753 872.128 v
+550.41 878.368 564.98 907.02 562.9 919.916 C
+f
+0.8 g
+562.526 919.558 m
+564.586 927.744 560.098 923.256 V
+553.569 917.952 546.633 917.952 V
+533.169 915.912 529.089 903.672 V
+525.417 878.784 532.761 873.48 V
+537.249 866.544 543.777 872.664 v
+550.305 878.784 564.566 906.91 562.526 919.558 C
+f
+1 g
+562.151 919.2 m
+564.201 927.2 559.801 922.8 V
+553.401 917.6 546.601 917.6 V
+533.401 915.6 529.401 903.6 V
+525.801 879.2 533.001 874 V
+537.401 867.2 543.801 873.2 v
+550.201 879.2 564.151 906.8 562.151 919.2 C
+f
+0.1 0.55 0.85 0.3 k
+350.6 716 m
+330.2 735.2 322.2 736 V
+287.8 740 273 722 V
+290.6 742.4 318.2 736.8 V
+296.6 741.2 284.2 738 V
+267.4 738 257.8 724 V
+255 719.2 l
+259 734 277.4 740 V
+300.2 744.8 311 740 V
+289.4 746.8 279.4 744.8 V
+249 747.2 236.2 720.8 V
+240.2 735.2 255 742.4 V
+268.6 751.2 289 748.4 V
+303.4 745.2 308.6 742.8 v
+313.8 740.4 312.6 743.2 304.2 748 C
+298.6 758 284.6 757.6 V
+241.8 754 231.4 742 V
+245 753.2 255.4 756 V
+277.8 764 286.2 763.2 V
+311 762.2 318.6 766.2 V
+307.4 761.2 310.6 758 v
+313.8 754.8 320.6 747.2 320.6 746 c
+320.6 744.8 344.8 722.7 348.4 718.3 C
+350.6 716 l
+f
+0.8 g
+1 J 0.1 w
+489 522 m
+473.5 558.5 461 568 V
+487 552 490.5 534 V
+490.5 524 489 522 V
+f
+536 514.5 m
+509.5 569.5 491 593.5 V
+534.5 556 539.5 529.5 V
+540 524 l
+537 526.5 l
+536.5 517.5 536 514.5 V
+f
+592.5 563 m
+530 622.5 528.5 625 V
+589 559 592 551.5 V
+590 560.5 592.5 563 V
+f
+404 519.5 m
+423.5 571.5 442.5 549 V
+457.5 539 457 536 V
+453 542.5 435 542 V
+416 545 404 519.5 V
+f
+594.5 647 m
+549.5 675.5 542 677 v
+530.193 679.361 591.5 648 596.5 637.5 C
+598.5 640 594.5 647 V
+f
+0 g
+0 J 1 w
+443.801 540.399 m
+464.201 542.399 471.001 549.199 V
+475.401 545.599 l
+493.001 583.999 l
+496.601 578.799 l
+511.001 593.599 510.201 601.599 v
+509.401 609.599 523.001 595.599 y
+522.201 607.199 529.401 600.399 V
+527.001 615.999 535.401 607.999 V
+524.864 638.156 547.401 612.399 v
+553.001 605.999 548.601 612.799 y
+522.601 660.799 544.201 646.399 v
+546.201 669.199 545.001 673.599 v
+543.801 677.999 541.801 700.4 537.001 705.6 c
+532.201 710.8 537.401 712.4 543.001 707.2 C
+531.801 731.2 545.001 719.2 V
+541.401 734.4 537.001 737.2 V
+531.401 754.4 546.601 743.6 V
+542.201 756 539.001 759.2 V
+527.401 786.8 534.601 782 V
+539.001 778.4 l
+532.201 792.4 538.601 788 v
+545.001 783.6 545.001 784 y
+523.801 817.2 544.201 799.6 V
+536.042 813.518 532.601 820.4 V
+513.801 840.8 528.201 834.4 V
+533.001 832.8 l
+524.201 842.8 516.201 844.4 v
+508.201 846 518.601 852.4 525.001 850.4 c
+531.401 848.4 547.001 840.8 y
+559.801 822 563.801 821.6 V
+543.801 829.2 549.801 821.2 V
+564.201 807.2 557.001 807.6 V
+551.001 800.4 555.801 791.6 V
+537.342 809.991 552.201 784.4 v
+559.001 768 l
+534.601 792.8 545.801 770.8 V
+563.001 747.2 565.001 746.8 v
+567.001 746.4 571.401 737.6 y
+567.001 739.6 l
+572.201 730.8 l
+561.001 742.8 567.001 729.6 V
+572.601 715.2 l
+552.201 737.2 565.801 707.6 V
+549.401 712.8 558.201 695.6 V
+556.601 679.599 557.001 674.399 v
+557.401 669.199 558.601 640.799 554.201 632.799 c
+549.801 624.799 560.201 605.599 562.201 601.599 c
+564.201 597.599 567.801 586.799 559.001 595.999 c
+550.201 605.199 554.601 599.599 556.601 590.799 c
+558.601 581.999 564.601 566.399 563.801 560.799 C
+562.601 559.599 559.401 563.199 V
+544.601 585.999 546.201 571.599 V
+545.001 563.599 541.801 554.799 V
+538.601 543.999 538.601 552.799 V
+535.401 569.599 532.601 561.999 v
+529.801 554.399 526.201 548.399 523.401 545.999 c
+520.601 543.599 515.401 566.399 514.201 555.999 C
+502.201 568.399 497.401 551.999 V
+485.801 535.599 l
+485.401 547.999 484.201 541.999 V
+454.201 535.999 443.801 540.399 V
+f
+409.401 897.2 m
+397.801 905.2 393.801 904.8 v
+389.801 904.4 421.401 913.6 462.601 886 C
+467.401 883.2 471.001 883.6 V
+474.201 881.2 471.401 877.6 V
+462.601 868 473.801 856.8 V
+492.201 850 486.601 858.8 V
+497.401 854.8 499.801 850.8 v
+502.201 846.8 501.001 850.8 y
+494.601 858 488.601 863.2 V
+483.401 865.2 480.601 873.6 v
+477.801 882 475.401 892 479.801 895.2 C
+475.801 890.8 476.601 894.8 v
+477.401 898.8 481.001 902.4 482.601 902.8 c
+484.201 903.2 500.601 919 507.401 919.4 C
+498.201 918 495.201 919 v
+492.201 920 465.601 931.4 459.601 932.6 C
+442.801 939.2 454.801 937.2 V
+490.601 933.4 508.801 920.2 V
+501.601 928.6 483.201 935.6 V
+461.001 948.2 425.801 943.2 V
+408.001 940 400.201 938.2 V
+397.601 938.8 397.001 939.2 v
+396.401 939.6 384.6 948.6 357 941.6 C
+340 937 331.4 932.2 V
+316.2 931 312.6 927.8 V
+294 913.2 292 912.4 v
+290 911.6 278.6 904 277.8 903.6 C
+302.4 910.2 304.8 912.6 v
+307.2 915 324.6 917.6 327 916.2 c
+329.4 914.8 337.8 915.4 328.2 914.8 C
+403.801 900 404.601 898 v
+405.401 896 409.401 897.2 y
+f
+0.2 0.55 0.85 0 k
+480.801 906.4 m
+470.601 913.8 468.601 913.8 v
+466.601 913.8 454.201 924 450.001 923.6 c
+445.801 923.2 433.601 933.2 406.201 925 C
+405.601 927 409.201 927.8 V
+415.601 930 416.001 930.6 V
+436.201 934.8 443.401 931.2 V
+452.601 928.6 458.801 922.4 V
+470.001 919.2 473.201 920.2 V
+482.001 918 482.401 916.2 V
+488.201 913.2 486.401 910.6 V
+486.801 909 480.801 906.4 V
+f
+468.33 908.509 m
+469.137 907.877 470.156 907.779 470.761 906.97 c
+470.995 906.656 470.706 906.33 470.391 906.233 c
+469.348 905.916 468.292 906.486 467.15 905.898 c
+466.748 905.691 466.106 905.873 465.553 906.022 c
+463.921 906.463 462.092 906.488 460.401 905.8 C
+458.416 906.929 456.056 906.345 453.975 907.346 c
+453.917 907.373 453.695 907.027 453.621 907.054 c
+450.575 908.199 446.832 907.916 444.401 910.2 C
+441.973 910.612 439.616 911.074 437.188 911.754 c
+435.37 912.263 433.961 913.252 432.341 914.084 c
+430.964 914.792 429.507 915.314 427.973 915.686 c
+426.11 916.138 424.279 916.026 422.386 916.546 c
+422.293 916.571 422.101 916.227 422.019 916.254 c
+421.695 916.362 421.405 916.945 421.234 916.892 c
+419.553 916.37 418.065 917.342 416.401 917 C
+415.223 918.224 413.495 917.979 411.949 918.421 c
+408.985 919.269 405.831 917.999 402.801 919 C
+406.914 920.842 411.601 919.61 415.663 921.679 c
+417.991 922.865 420.653 921.763 423.223 922.523 c
+423.71 922.667 424.401 922.869 424.801 922.2 C
+424.935 922.335 425.117 922.574 425.175 922.546 c
+427.625 921.389 429.94 920.115 432.422 919.049 c
+432.763 918.903 433.295 919.135 433.547 918.933 c
+435.067 917.717 437.01 917.82 438.401 916.6 C
+440.099 917.102 441.892 916.722 443.621 917.346 c
+443.698 917.373 443.932 917.032 443.965 917.054 c
+445.095 917.802 446.25 917.531 447.142 917.227 c
+447.48 917.112 448.143 916.865 448.448 916.791 c
+449.574 916.515 450.43 916.035 451.609 915.852 c
+451.723 915.834 451.908 916.174 451.98 916.146 c
+453.103 915.708 454.145 915.764 454.801 914.6 C
+454.936 914.735 455.101 914.973 455.183 914.946 c
+456.21 914.608 456.859 913.853 457.96 913.612 c
+458.445 913.506 459.057 912.88 459.633 912.704 c
+462.025 911.973 463.868 910.444 466.062 909.549 c
+466.821 909.239 467.697 909.005 468.33 908.509 c
+f
+391.696 922.739 m
+389.178 924.464 386.81 925.57 384.368 927.356 c
+384.187 927.489 383.827 927.319 383.625 927.441 c
+382.618 928.05 381.73 928.631 380.748 929.327 c
+380.209 929.709 379.388 929.698 378.88 929.956 c
+376.336 931.248 373.707 931.806 371.2 933 C
+371.882 933.638 373.004 933.394 373.6 934.2 C
+373.795 933.92 374.033 933.636 374.386 933.827 c
+376.064 934.731 377.914 934.884 379.59 934.794 c
+381.294 934.702 383.014 934.397 384.789 934.125 c
+385.096 934.078 385.295 933.555 385.618 933.458 c
+387.846 932.795 390.235 933.32 392.354 932.482 c
+393.945 931.853 395.515 931.03 396.754 929.755 c
+397.006 929.495 396.681 929.194 396.401 929 C
+396.789 929.109 397.062 928.903 397.173 928.59 c
+397.257 928.351 397.257 928.049 397.173 927.81 c
+397.061 927.498 396.782 927.397 396.408 927.346 c
+395.001 927.156 396.773 928.536 396.073 928.088 c
+394.8 927.274 395.546 925.868 394.801 924.6 C
+394.521 924.794 394.291 925.012 394.401 925.4 C
+394.635 924.878 394.033 924.588 393.865 924.272 c
+393.48 923.547 392.581 922.132 391.696 922.739 c
+f
+359.198 915.391 m
+356.044 916.185 352.994 916.07 349.978 917.346 c
+349.911 917.374 349.688 917.027 349.624 917.054 c
+348.258 917.648 347.34 918.614 346.264 919.66 c
+345.351 920.548 343.693 920.161 342.419 920.648 c
+342.095 920.772 341.892 921.284 341.591 921.323 c
+340.372 921.48 339.445 922.429 338.4 923 C
+340.736 923.795 343.147 923.764 345.609 924.148 c
+345.722 924.166 345.867 923.845 346 923.845 c
+346.136 923.845 346.266 924.066 346.4 924.2 C
+346.595 923.92 346.897 923.594 347.154 923.848 c
+347.702 924.388 348.258 924.198 348.798 924.158 c
+348.942 924.148 349.067 923.845 349.2 923.845 c
+349.336 923.845 349.467 924.156 349.6 924.156 c
+349.736 924.155 349.867 923.845 350 923.845 c
+350.136 923.845 350.266 924.066 350.4 924.2 C
+351.092 923.418 351.977 923.972 352.799 923.793 c
+353.837 923.566 354.104 922.418 355.178 922.12 c
+359.893 920.816 364.03 918.671 368.393 916.584 c
+368.7 916.437 368.91 916.189 368.8 915.8 C
+369.067 915.8 369.38 915.888 369.57 915.756 c
+370.628 915.024 371.669 914.476 372.366 913.378 c
+372.582 913.039 372.253 912.632 372.02 912.684 c
+367.591 913.679 363.585 914.287 359.198 915.391 c
+f
+345.338 871.179 m
+343.746 872.398 343.162 874.429 342.034 876.221 c
+341.82 876.561 342.094 876.875 342.411 876.964 c
+342.971 877.123 343.514 876.645 343.923 876.443 c
+345.668 875.581 347.203 874.339 349.2 874.2 C
+351.19 871.966 355.45 871.581 355.457 868.2 c
+355.458 867.341 354.03 868.259 353.6 867.4 C
+351.149 868.403 348.76 868.3 346.38 869.767 c
+345.763 870.148 346.093 870.601 345.338 871.179 c
+f
+317.8 923.756 m
+317.935 923.755 324.966 923.522 324.949 923.408 c
+324.904 923.099 317.174 922.05 316.81 922.22 c
+316.646 922.296 309.134 919.866 309 920 C
+309.268 920.135 317.534 923.756 317.8 923.756 c
+f
+0 g
+333.2 914 m
+318.4 912.2 314 911 v
+309.6 909.8 291 902.2 288 900.2 C
+274.6 894.8 257.6 874.8 V
+265.2 878.2 267.4 881 V
+281 893.6 280.8 891 V
+293 899.6 292.4 897.4 V
+316.8 908.6 314.8 905.4 V
+336.4 910 335.4 908 V
+354.2 903.6 351.4 903.4 V
+345.6 902.2 352 898.6 V
+348.6 894.2 343.2 898.2 v
+337.8 902.2 340.8 900 335.8 899 C
+333.2 898.2 328.6 902.2 V
+323 906.8 314.2 903.2 V
+283.6 890.6 281.6 890 V
+278 887.2 275.6 883.6 V
+269.8 879.2 266.8 877.8 V
+254 866.2 252.8 864.8 V
+249.4 859.6 248.6 859.2 V
+255 863 257 865 V
+271 875 276.4 875.8 V
+280.8 878.8 281.6 880.2 V
+296 889.4 300.2 889.4 V
+309.4 884.2 311.8 891.2 V
+317.6 893 323.2 891.8 V
+326.4 894.4 325.6 896.6 V
+327.2 898.4 328.2 894.6 V
+331.6 891 336.4 893 V
+340.4 893.2 338.4 890.8 V
+334 887 322.2 886.8 V
+309.8 886.2 293.4 878.6 V
+263.6 868.2 254.4 857.8 V
+248 849 242.6 847.8 V
+236.8 847 230.8 839.6 V
+240.6 845.4 249.6 845.4 V
+253.6 847.8 249.8 844.2 V
+246.2 836.6 247.8 831.2 V
+247.2 826 246.4 824.4 V
+238.6 811.6 238.6 809.2 v
+238.6 806.8 239.8 797 240.2 796.4 c
+240.6 795.8 239.2 798 243 795.6 c
+246.8 793.2 249.6 791.6 250.4 788.8 c
+251.2 786 248.4 794.2 248.2 796 c
+248 797.8 243.8 805 244.6 807.4 C
+245.6 806.4 246.4 805 V
+245.8 805.6 246.4 809.2 V
+247.2 814.4 248.6 817.6 v
+250 820.8 252 824.6 252.4 825.4 c
+252.8 826.2 252.8 832 254.2 829.4 C
+257.6 826.8 l
+254.8 829.4 257 831.6 V
+256 837.2 257.8 839.8 V
+264.8 848.2 266.4 849.2 v
+268 850.2 266.6 849.8 y
+272.6 854 266.8 852.4 V
+262.8 850.8 259.8 850.8 V
+252.2 848.8 256.2 853 v
+260.2 857.2 270.2 862.6 274 862.4 C
+274.8 860.8 l
+286 863.2 l
+284.8 862.4 l
+284.6 862.6 288.8 863 v
+293 863.4 298.8 862 300.2 863.8 c
+301.6 865.6 305 866.6 304.6 865.2 c
+304.2 863.8 304 861.8 y
+309 867.6 308.4 865.4 v
+307.8 863.2 299.6 858 298.2 851.8 C
+308.6 860 l
+312.2 863 l
+315.8 860.8 316 862.4 v
+316.2 864 320.8 869.8 322 869.6 c
+323.2 869.4 325.2 872.2 325 869.6 c
+324.8 867 332.4 861.6 y
+335.6 863.4 337 862 v
+338.4 860.6 342.6 881.8 y
+367.6 892.4 l
+411.201 895.8 l
+394.201 902.6 l
+333.2 914 l
+f
+0.2 0.55 0.85 0.5 K
+1 J 2 w
+351.4 715 m
+336.4 731.8 328 734.4 V
+314.6 741.2 290 733.4 v
+S
+324.8 735.8 m
+299.6 743.8 284.2 739.6 V
+265.8 737.6 257.4 723.8 v
+S
+321.2 737 m
+304.2 744.2 289.4 746.4 V
+272.8 749 256.2 741.8 V
+244 735.8 238.6 725.6 v
+S
+322.2 736.6 m
+306.8 747.6 305.8 749 V
+298.8 760 285.8 760.4 V
+264.4 759.6 247.2 751.6 v
+S
+0 G
+0 J 1 w
+320.895 745.593 m
+322.437 744.13 349.4 715.2 Y
+384.6 678.599 356.6 712.8 Y
+349 717.6 339.8 736.4 Y
+338.6 739.2 353.8 729.2 Y
+357.8 728.4 371.4 709.2 Y
+364.6 711.6 369.4 704.4 Y
+372.2 702.4 392.601 686.799 Y
+396.201 682.799 400.201 681.199 Y
+414.201 686.399 407.801 673.199 Y
+410.201 666.399 415.801 677.999 Y
+427.001 694.8 410.601 692.399 Y
+380.6 689.599 373.8 705.6 Y
+371.4 708 380.2 705.6 Y
+388.601 703.6 373 718 Y
+375.4 718 384.6 711.2 Y
+395.001 702 397.001 704 Y
+415.001 712.8 425.401 705.2 Y
+427.401 703.6 421.801 696.8 423.401 691.599 c
+425.001 686.399 429.801 673.999 Y
+427.401 672.399 427.801 661.599 Y
+444.601 638.399 435.001 640.399 Y
+419.401 640.799 434.201 633.199 Y
+437.401 631.199 446.201 623.999 Y
+443.401 625.199 441.801 619.999 Y
+446.601 615.999 443.801 611.199 Y
+437.801 609.999 436.601 605.999 Y
+443.401 597.999 433.401 597.599 Y
+437.001 593.199 432.201 581.199 Y
+427.401 581.199 421.001 575.599 Y
+423.401 570.799 413.001 565.199 Y
+404.601 563.599 407.401 556.799 Y
+399.401 550.799 397.001 534.799 Y
+396.201 524.399 393.801 521.199 399.001 523.199 c
+404.201 525.199 403.401 537.599 Y
+398.601 553.199 441.401 569.199 Y
+445.401 570.799 446.201 575.999 Y
+448.201 575.599 457.001 567.999 Y
+464.601 556.799 465.001 565.999 Y
+466.201 569.599 464.601 575.599 Y
+470.601 597.199 456.601 603.599 Y
+446.601 637.199 460.601 628.799 Y
+463.401 623.199 474.201 617.999 y
+477.801 620.399 L
+476.201 625.199 484.601 631.199 Y
+487.401 624.799 493.401 632.799 Y
+497.001 657.199 509.401 642.799 Y
+513.401 641.599 514.601 648.399 Y
+518.201 658.799 514.601 672.399 Y
+518.201 672.799 527.801 666.799 Y
+530.601 670.399 521.401 687.199 525.401 684.799 c
+529.401 682.399 533.801 680.799 Y
+534.601 682.799 524.601 695.199 Y
+520.201 698 515.001 718.4 Y
+522.201 714.8 512.201 730 Y
+512.201 733.2 518.201 744.4 Y
+517.401 751.2 518.201 750.8 Y
+521.001 749.6 529.001 748 522.201 754.4 c
+515.401 760.8 523.001 765.6 Y
+527.401 768.4 513.801 768 Y
+508.601 772.4 509.001 776.4 Y
+517.001 774.4 502.601 788.8 500.201 792.4 c
+497.801 796 507.401 801.2 Y
+520.601 804.8 509.001 808 Y
+489.401 807.6 500.201 818.4 Y
+506.201 818 504.601 820.4 Y
+499.401 821.6 489.801 828 Y
+485.801 831.6 489.401 830.8 Y
+506.201 829.6 477.401 840.8 Y
+485.401 840.8 467.401 851.2 Y
+465.401 852.8 462.201 860.4 Y
+456.201 865.6 451.401 872.4 Y
+451.001 876.8 446.201 881.6 Y
+434.601 895.2 429.001 894.8 Y
+414.201 898.4 409.001 897.6 Y
+356.2 893.2 l
+329.8 880.4 337.6 859.4 Y
+344 851 353.2 854.8 Y
+357.8 861 369.4 858.8 Y
+389.801 855.6 387.201 859.2 Y
+384.801 863.8 368.6 870 368.4 870.6 c
+368.2 871.2 359.4 874.6 Y
+356.4 875.8 352 885 Y
+348.8 888.4 364.6 882.6 Y
+363.4 881.6 370.8 877.6 Y
+388.201 878.6 398.801 867.8 Y
+409.601 851.2 409.801 859.4 Y
+412.601 868.8 400.801 890 Y
+401.201 892 409.401 885.4 Y
+410.801 887.4 411.601 881.6 Y
+411.801 879.2 415.601 871.2 Y
+418.401 858.2 422.001 865.6 Y
+426.601 856.2 L
+428.001 853.6 422.001 846 Y
+421.801 843.2 422.601 843.4 417.001 835.8 c
+411.401 828.2 414.801 823.8 Y
+413.401 817.2 422.201 817.6 Y
+424.801 815.4 428.201 815.4 Y
+430.001 813.4 432.401 814 Y
+434.001 817.8 440.201 815.8 Y
+441.601 818.2 449.801 818.6 Y
+450.801 821.2 451.201 822.8 454.601 823.4 c
+458.001 824 433.401 867 Y
+439.801 867.8 431.601 880.2 Y
+429.401 886.8 440.801 872.2 443.001 870.8 c
+445.201 869.4 446.201 867.2 444.601 867.4 c
+443.001 867.6 441.201 865.4 442.601 865.2 c
+444.001 865 457.001 850 460.401 839.8 c
+463.801 829.6 469.801 825.6 476.001 819.6 c
+482.201 813.6 481.401 789.4 Y
+481.001 780.6 487.001 770 Y
+489.001 766.2 484.801 748 Y
+482.801 745.8 484.201 745 Y
+485.201 743.8 492.001 730.6 Y
+490.201 730.8 493.801 727.2 Y
+499.001 721.2 492.601 724.2 Y
+486.601 725.8 493.601 716 Y
+494.801 714.2 485.801 718.8 Y
+476.601 719.4 488.201 712.2 Y
+496.801 705 485.401 709.4 Y
+480.801 711.2 484.001 704.4 Y
+487.201 702.8 504.401 695.8 Y
+504.801 691.999 501.801 686.999 Y
+502.201 682.999 500.001 679.599 Y
+498.801 671.399 498.201 670.599 Y
+494.001 670.399 486.601 656.599 Y
+484.801 653.999 474.601 641.999 Y
+472.601 634.999 454.601 642.199 Y
+448.001 638.799 450.001 642.199 Y
+449.601 644.399 454.401 650.399 Y
+461.401 652.999 458.801 663.799 Y
+462.801 665.199 451.601 667.999 451.801 669.199 c
+452.001 670.399 457.801 671.799 Y
+465.801 673.799 461.401 676.199 Y
+460.801 680.199 463.801 685.799 Y
+475.401 686.599 463.801 702.8 Y
+453.001 710.4 452.001 716.2 Y
+464.601 724.4 456.401 736.8 456.601 740.4 c
+456.801 744 458.001 765.6 Y
+456.001 771.8 453.001 785.4 Y
+455.201 790.6 462.601 803.2 Y
+465.401 807.4 474.201 812.2 472.001 815.2 c
+469.801 818.2 462.001 816.4 Y
+454.201 817.8 454.801 812.6 Y
+453.201 811.6 452.401 806.6 Y
+451.68 798.667 442.801 792.4 Y
+431.601 786.2 440.801 782.2 Y
+446.801 775.6 437.001 775.4 Y
+426.001 777.2 434.201 767 Y
+445.001 754.2 442.001 751.4 Y
+431.801 750.4 444.401 741.2 y
+443.601 743.2 443.801 741.4 v
+444.001 739.6 447.001 735.4 447.801 733.4 c
+448.601 731.4 444.601 731.2 Y
+445.201 721.6 429.801 725.8 y
+429.801 725.8 428.201 725.6 v
+426.601 725.4 415.401 726.2 409.601 728.4 c
+403.801 730.6 397.001 730.6 y
+393.001 728.8 385.4 729 v
+377.8 729.2 369.8 726.4 Y
+365.4 726.8 374 731.2 374.2 731 c
+374.4 730.8 380 736.4 372 735.8 c
+350.203 734.165 339.4 744.4 Y
+337.4 745.8 334.8 748.6 Y
+324.8 750.6 336.2 736.2 Y
+337.4 734.8 336 733.8 Y
+335.2 735.4 327.4 740.8 Y
+324.589 741.773 323.226 743.107 320.895 745.593 C
+f
+0.2 0.55 0.85 0.5 k
+1 J 2 w
+297 757.2 m
+308.6 751.6 311.2 748.8 v
+313.8 746 327.8 734.6 y
+322.4 736.6 319.8 738.4 v
+317.2 740.2 306.4 748.4 y
+302.6 754.4 297 757.2 v
+f
+0.4 0.2 0.8 0 k
+0 J 1 w
+238.991 788.397 m
+239.328 788.545 238.804 791.257 238.6 791.8 c
+237.578 794.526 228.6 796 y
+228.373 794.635 228.318 793.039 228.424 791.401 c
+233.292 785.882 238.991 788.397 v
+f
+0.4 0.2 0.8 0.2 k
+238.991 788.597 m
+238.542 788.439 238.976 791.331 238.8 791.8 c
+237.778 794.526 228.6 796.1 y
+228.373 794.735 228.318 793.139 228.424 791.501 c
+232.692 786.382 238.991 788.597 v
+f
+0 g
+234.6 788.454 m
+233.975 788.454 233.469 789.594 233.469 791 c
+233.469 792.405 233.975 793.545 234.6 793.545 c
+235.225 793.545 235.732 792.405 235.732 791 c
+235.732 789.594 235.225 788.454 234.6 788.454 c
+f
+234.6 791 m
+F
+189 690.399 m
+183.4 680.399 208.2 686.399 V
+222.2 687.599 224.6 689.999 V
+225.8 689.199 234.166 686.266 237 685.599 c
+243.8 683.999 252.2 694 y
+256.8 704.5 259.6 704.5 v
+262.4 704.5 259.2 702.9 y
+252.6 692.799 253 691.199 V
+247.8 671.199 231.8 670.399 V
+215.65 669.449 217 663.599 V
+225.8 665.999 228.2 663.599 V
+239 663.999 231 657.599 V
+224.2 645.999 l
+224.34 642.081 214.2 645.599 v
+204.4 648.999 194.1 661.899 y
+178.15 676.449 189 690.399 V
+f
+0.1 0.4 0.4 0 k
+187.8 686.399 m
+185.8 676.799 222.6 687.199 V
+227 687.199 229.4 686.399 v
+231.8 685.599 243.8 682.799 245.8 683.999 C
+238.6 670.399 227 671.999 V
+213.8 670.399 214.2 665.599 V
+218.2 658.399 223 655.999 V
+225.8 653.599 225.4 650.399 v
+225 647.199 222.2 645.599 220.2 644.799 c
+218.2 643.999 215 647.199 213.4 647.199 c
+211.8 647.199 203.4 653.599 199 658.399 c
+194.6 663.199 186.2 675.199 186.6 677.999 c
+187 680.799 187.8 686.399 Y
+f
+0.1 0.4 0.4 0.2 k
+191 668.949 m
+193.6 664.999 196.8 660.799 199 658.399 c
+203.4 653.599 211.8 647.199 213.4 647.199 c
+215 647.199 218.2 643.999 220.2 644.799 c
+222.2 645.599 225 647.199 225.4 650.399 c
+225.8 653.599 223 655.999 Y
+219.934 657.532 217.194 661.024 215.615 663.347 C
+215.8 660.799 210.6 661.599 v
+205.4 662.399 200.2 665.199 198.6 668.399 c
+197 671.599 194.6 673.999 196.2 670.399 c
+197.8 666.799 200.2 663.199 201.8 662.799 c
+203.4 662.399 203 661.199 200.6 661.599 c
+198.2 661.999 195.4 662.399 191 667.599 c
+F
+0.1 0.55 0.85 0.3 k
+188.4 689.999 m
+190.2 703.6 191.4 707.6 V
+190.6 714.4 193 718.6 v
+195.4 722.8 197.4 729 200.4 734.4 c
+203.4 739.8 203.6 743.8 207.6 745.4 c
+211.6 747 217.6 755.6 220.4 756.6 c
+223.2 757.6 223 756.8 y
+229.8 771.6 243.4 767.6 V
+227.2 770.4 243 779.8 V
+238.2 778.7 241.5 785.7 v
+243.701 790.368 243.2 783.6 232.2 771.8 C
+227.2 763.2 222 760.2 v
+216.8 757.2 204.8 750.2 203.6 746.4 c
+202.4 742.6 199.2 736.8 197.2 735.2 c
+195.2 733.6 192.4 729.4 192 726 C
+190.8 722 189.4 720.8 v
+188 719.6 187.8 716.4 187.8 714.4 c
+187.8 712.4 185.8 709.6 186 707.2 C
+186.8 688.199 186.4 686.199 V
+188.4 689.999 L
+f
+1 g
+179.8 685.399 m
+177.8 686.799 173.4 680.799 V
+180.7 647.799 180.7 646.399 V
+181.8 648.499 180.5 655.699 v
+179.2 662.899 178.3 675.599 y
+179.8 685.399 l
+f
+0.1 0.55 0.85 0.3 k
+201.4 746 m
+183.8 742.8 184.2 713.6 V
+183.4 688.799 l
+182.2 714.4 181 716 v
+179.8 717.6 183.8 728.8 180.6 722.8 C
+166.6 708.8 174.6 687.599 V
+176.1 684.299 173.1 688.899 V
+168.5 701.5 169.6 707.9 V
+169.8 710.1 171.7 712.9 V
+180.3 724.6 183 726.9 V
+184.8 741.3 200.2 746.5 V
+205.9 748.8 201.4 746 V
+f
+0 g
+340.8 812.2 m
+341.46 812.554 341.451 813.524 342.031 813.697 c
+343.18 814.041 343.344 815.108 343.862 815.892 c
+344.735 817.211 344.928 818.744 345.51 820.235 c
+345.782 820.935 345.809 821.89 345.496 822.55 c
+344.322 825.031 343.62 827.48 342.178 829.906 c
+341.91 830.356 341.648 831.15 341.447 831.748 c
+340.984 833.132 339.727 834.123 338.867 835.443 c
+338.579 835.884 339.104 836.809 338.388 836.893 c
+337.491 836.998 336.042 837.578 335.809 836.552 c
+335.221 833.965 336.232 831.442 337.2 829 C
+336.418 828.308 336.752 827.387 336.904 826.62 c
+337.614 823.014 336.416 819.662 335.655 816.188 c
+335.632 816.084 335.974 815.886 335.946 815.824 c
+334.724 813.138 333.272 810.693 331.453 808.312 c
+330.695 807.32 329.823 806.404 329.326 805.341 c
+328.958 804.554 328.55 803.588 328.8 802.6 C
+325.365 799.82 323.115 795.975 320.504 792.129 c
+320.042 791.449 320.333 790.24 320.884 789.971 c
+321.697 789.573 322.653 790.597 323.123 791.443 c
+323.512 792.141 323.865 792.791 324.356 793.434 c
+324.489 793.609 324.31 794.028 324.445 794.149 c
+327.078 796.496 328.747 799.432 331.2 801.8 C
+333.15 802.129 334.687 803.127 336.435 804.14 c
+336.743 804.319 337.267 804.07 337.557 804.265 c
+339.31 805.442 339.308 807.478 339.414 809.388 c
+339.464 810.272 339.66 811.589 340.8 812.2 c
+f
+331.959 816.666 m
+332.083 816.743 331.928 817.166 332.037 817.382 c
+332.199 817.706 332.602 817.894 332.764 818.218 c
+332.873 818.434 332.71 818.814 332.846 818.956 c
+335.179 821.403 335.436 824.427 334.4 827.4 C
+335.424 828.02 335.485 829.282 335.06 830.129 c
+334.207 831.829 334.014 833.755 333.039 835.298 c
+332.237 836.567 330.659 837.811 329.288 836.508 c
+328.867 836.108 328.546 835.321 328.824 834.609 c
+328.888 834.446 329.173 834.3 329.146 834.218 c
+329.039 833.894 328.493 833.67 328.487 833.398 c
+328.457 831.902 327.503 830.391 328.133 829.062 c
+328.905 827.433 329.724 825.576 330.4 823.8 C
+329.166 821.684 330.199 819.235 328.446 817.358 c
+328.31 817.212 328.319 816.826 328.441 816.624 c
+328.733 816.138 329.139 815.732 329.625 815.44 c
+329.827 815.319 330.175 815.317 330.375 815.441 c
+330.953 815.803 331.351 816.29 331.959 816.666 c
+f
+394.771 826.977 m
+396.16 825.185 396.45 822.39 394.401 821 C
+394.951 817.691 398.302 819.67 400.401 820.2 C
+400.292 820.588 400.519 820.932 400.802 820.937 c
+401.859 820.952 402.539 821.984 403.601 821.8 C
+404.035 823.357 405.673 824.059 406.317 825.439 c
+408.043 829.134 407.452 833.407 404.868 836.653 c
+404.666 836.907 404.883 837.424 404.759 837.786 c
+404.003 839.997 401.935 840.312 400.001 841 C
+398.824 844.875 398.163 848.906 396.401 852.6 C
+394.787 852.85 394.089 854.589 392.752 855.309 c
+391.419 856.028 390.851 854.449 390.892 853.403 c
+390.899 853.198 391.351 852.974 391.181 852.609 c
+391.105 852.445 390.845 852.334 390.845 852.2 c
+390.846 852.065 391.067 851.934 391.201 851.8 C
+390.283 850.98 388.86 850.503 388.565 849.358 c
+387.611 845.648 390.184 842.523 391.852 839.322 c
+392.443 838.187 391.707 836.916 390.947 835.708 c
+390.509 835.013 390.617 833.886 390.893 833.03 c
+391.645 830.699 393.236 828.96 394.771 826.977 c
+f
+357.611 808.591 m
+356.124 806.74 352.712 804.171 355.629 802.243 c
+355.823 802.114 356.193 802.11 356.366 802.244 c
+358.387 803.809 360.39 804.712 362.826 805.294 c
+362.95 805.323 363.224 804.856 363.593 805.017 c
+365.206 805.72 367.216 805.662 368.4 807 C
+372.167 806.776 375.732 807.892 379.123 809.2 c
+380.284 809.648 381.554 810.207 382.755 810.709 c
+384.131 811.285 385.335 812.213 386.447 813.354 c
+386.58 813.49 386.934 813.4 387.201 813.4 C
+387.161 814.263 388.123 814.39 388.37 815.012 c
+388.462 815.244 388.312 815.64 388.445 815.742 c
+390.583 817.372 391.503 819.39 390.334 821.767 c
+390.049 822.345 389.8 822.963 389.234 823.439 c
+388.149 824.35 387.047 823.496 386 823.8 C
+385.841 823.172 385.112 823.344 384.726 823.146 c
+383.867 822.707 382.534 823.292 381.675 822.854 c
+380.313 822.159 379.072 821.99 377.65 821.613 c
+377.338 821.531 376.56 821.627 376.4 821 C
+376.266 821.134 376.118 821.368 376.012 821.346 c
+374.104 820.95 372.844 820.736 371.543 819.044 c
+371.44 818.911 370.998 819.09 370.839 818.955 c
+369.882 818.147 369.477 816.913 368.376 816.241 c
+368.175 816.118 367.823 816.286 367.629 816.157 c
+366.983 815.726 366.616 815.085 365.974 814.638 c
+365.645 814.409 365.245 814.734 365.277 814.99 c
+365.522 816.937 366.175 818.724 365.6 820.6 C
+367.677 823.12 370.194 825.069 372 827.8 C
+372.015 829.966 372.707 832.112 372.594 834.189 c
+372.584 834.382 372.296 835.115 372.17 835.462 c
+371.858 836.316 372.764 837.382 371.92 838.106 c
+370.516 839.309 369.224 838.433 368.4 837 C
+366.562 836.61 364.496 835.917 362.918 837.151 c
+361.911 837.938 361.333 838.844 360.534 839.9 c
+359.549 841.202 359.884 842.638 359.954 844.202 c
+359.96 844.33 359.645 844.466 359.645 844.6 c
+359.646 844.735 359.866 844.866 360 845 C
+359.294 845.626 359.019 846.684 358 847 C
+358.305 848.092 357.629 848.976 356.758 849.278 c
+354.763 849.969 353.086 848.057 351.194 847.984 c
+350.68 847.965 350.213 849.003 349.564 849.328 c
+349.132 849.544 348.428 849.577 348.066 849.311 c
+347.378 848.807 346.789 848.693 346.031 848.488 c
+344.414 848.052 343.136 846.958 341.656 846.103 c
+340.171 845.246 339.216 843.809 338.136 842.489 c
+337.195 841.337 337.059 838.923 338.479 838.423 c
+340.322 837.773 341.626 840.476 343.592 840.15 c
+343.904 840.099 344.11 839.788 344 839.4 C
+344.389 839.291 344.607 839.52 344.8 839.8 C
+345.658 838.781 346.822 838.444 347.76 837.571 c
+348.73 836.667 350.476 837.085 351.491 836.088 c
+353.02 834.586 352.461 831.905 354.4 830.6 C
+353.814 829.287 353.207 828.01 352.872 826.583 c
+352.59 825.377 353.584 824.18 354.795 824.271 c
+356.053 824.365 356.315 825.124 356.8 826.2 C
+357.067 825.933 357.536 825.636 357.495 825.42 c
+357.038 823.033 356.011 821.04 355.553 818.609 c
+355.494 818.292 355.189 818.09 354.8 818.2 C
+354.332 814.051 350.28 811.657 347.735 808.492 c
+347.332 807.99 347.328 806.741 347.737 806.338 c
+349.14 804.951 351.1 806.497 352.8 807 C
+353.013 808.206 353.872 809.148 355.204 809.092 c
+355.46 809.082 355.695 809.624 356.019 809.754 c
+356.367 809.892 356.869 809.668 357.155 809.866 c
+358.884 811.061 360.292 812.167 362.03 813.356 c
+362.222 813.487 362.566 813.328 362.782 813.436 c
+363.107 813.598 363.294 813.985 363.617 814.17 c
+363.965 814.37 364.207 814.08 364.4 813.8 C
+363.754 813.451 363.75 812.494 363.168 812.292 c
+362.393 812.024 361.832 811.511 361.158 811.064 c
+360.866 810.871 360.207 811.119 360.103 810.94 c
+359.505 809.912 358.321 809.474 357.611 808.591 c
+f
+302.2 858 m
+292.962 860.872 281.8 835.2 V
+279.4 830 277 828 v
+274.6 826 263.4 822.4 261.4 818.4 C
+251 802.4 L
+265.8 818.4 269 820.8 V
+277 829.2 273.8 822.4 V
+259.8 811.6 261 802.4 V
+255.4 788 254.6 786 V
+270.6 818 273 819.2 v
+275.4 820.4 276.6 820.4 275.4 816.8 c
+274.2 813.2 273.8 796.8 271 794.8 C
+279 815.2 278.2 818.4 V
+281.4 822 283.8 816.8 V
+282.6 800.8 l
+287 788.8 l
+284.6 800 286.2 815.6 V
+284.2 826 288.2 820.4 v
+292.2 814.8 301.8 808.8 301.8 804 C
+296.6 821.6 287.4 826.4 V
+283.4 820.4 l
+282.2 822.4 l
+278.6 823.2 283 830 v
+287.4 836.8 287 837.6 y
+293.4 830.4 295 830.4 V
+308.2 838 309.4 813.6 V
+316.2 828 307 834.8 V
+292.2 836.8 293.4 842 V
+300.6 854.4 L
+304.2 859.6 302.6 856.8 y
+F
+282.2 841.6 m
+269.4 841.6 266.2 836.4 V
+259 826.8 l
+276.2 836.8 280.2 838 v
+284.2 839.2 282.2 841.6 Y
+f
+242.2 835.2 m
+240.2 834 239.8 831.2 v
+239.4 828.4 237 828 237.8 825.2 c
+238.6 822.4 240.6 820 240.6 824 c
+240.6 828 242.2 830 243 831.2 c
+243.8 832.4 245.4 836.8 242.2 835.2 c
+f
+233.4 774 m
+225 778 221.8 781.6 v
+218.6 785.2 219.052 780.034 214.2 780.4 c
+208.353 780.841 209.4 796.8 y
+205.4 789.2 l
+204.2 774.8 212.2 777.2 v
+216.107 778.372 217.4 776.8 215.8 776 c
+214.2 775.2 221.4 774.8 218.6 773.2 c
+215.8 771.6 230.2 776.8 227.8 766.4 C
+233.4 774 L
+f
+220.8 759.6 m
+205.4 755.2 201.8 764.8 V
+197 762.4 199.2 759.4 v
+201.4 756.4 202.6 756 y
+208 754.8 207.4 754 v
+206.8 753.2 204.4 749.8 y
+214.6 755.8 220.8 759.6 v
+f
+1 g
+449.201 681.399 m
+448.774 679.265 447.103 678.464 445.201 677.799 C
+443.284 678.757 440.686 681.863 438.801 679.799 C
+438.327 680.279 437.548 680.339 437.204 681.001 c
+436.739 681.899 437.011 682.945 436.669 683.743 c
+436.124 685.015 435.415 686.381 435.601 687.799 C
+437.407 688.511 438.002 690.417 437.528 692.18 c
+437.459 692.437 437.03 692.634 437.23 692.983 c
+437.416 693.306 437.734 693.533 438.001 693.8 C
+437.866 693.665 437.721 693.432 437.61 693.452 c
+437 693.558 437.124 694.195 437.254 694.582 c
+437.839 696.328 439.853 696.592 441.201 695.4 C
+441.457 695.965 441.966 695.771 442.401 695.8 C
+442.351 696.379 442.759 696.906 442.957 697.326 c
+443.475 698.424 445.104 697.318 445.901 697.93 c
+446.977 698.755 448.04 699.454 449.118 698.851 c
+450.927 697.838 452.636 696.626 453.835 694.885 c
+454.41 694.051 454.65 692.77 454.592 691.812 c
+454.554 691.165 453.173 691.517 452.83 690.588 c
+452.185 688.84 454.016 688.321 454.772 686.983 c
+454.97 686.634 454.706 686.33 454.391 686.232 c
+453.98 686.104 453.196 686.293 453.334 685.84 c
+454.306 682.647 451.55 681.969 449.201 681.399 C
+f
+439.6 661.799 m
+439.593 663.537 437.992 665.293 439.201 666.999 C
+439.336 666.865 439.467 666.644 439.601 666.644 c
+439.736 666.644 439.867 666.865 440.001 666.999 C
+441.496 664.783 445.148 663.855 445.006 661.009 c
+444.984 660.562 443.897 659.644 444.801 658.999 C
+442.988 657.651 442.933 655.281 442.001 653.399 C
+440.763 653.685 439.551 654.048 438.401 654.599 C
+438.753 656.085 438.636 657.769 439.456 659.089 c
+439.89 659.787 439.603 660.866 439.6 661.799 c
+f
+0.8 g
+273.4 670.799 m
+256.542 660.663 270.6 675.999 v
+279.4 685.599 289.4 691.199 y
+299.8 695.6 303.4 696.8 v
+307 698 322.2 703.2 325.4 703.6 c
+328.6 704 338.2 708 345 704 c
+351.8 700 359.8 695.6 y
+343.4 704 339.8 701.6 v
+336.2 699.2 329 699.6 323 696.4 C
+308.2 691.999 305 689.999 v
+301.8 687.999 291.4 676.399 289.8 677.199 c
+288.2 677.999 290.2 678.399 291.4 681.199 c
+292.6 683.999 290.6 685.599 282.6 679.199 c
+274.6 672.799 273.4 670.799 Y
+f
+0 g
+280.805 676.766 m
+282.215 689.806 290.693 688.141 V
+298.919 692.311 301.641 694.279 V
+309.78 695.981 311.09 696.598 v
+329.569 705.298 344.288 700.779 344.835 701.899 c
+345.381 703.018 365.006 695.901 368.615 691.815 c
+369.006 691.372 358.384 697.412 348.686 699.303 c
+340.413 700.917 318.811 699.056 307.905 693.52 c
+304.932 692.011 295.987 686.227 293.456 686.338 c
+290.925 686.45 280.805 676.766 Y
+f
+0.8 g
+277 651.199 m
+261.8 653.599 278.6 655.199 V
+296.6 657.199 300.6 662.399 V
+314.2 671.599 317 671.999 v
+319.8 672.399 349.8 679.599 350.2 681.999 c
+350.6 684.399 356.2 684.399 357.8 683.599 c
+359.4 682.799 358.6 681.599 355.8 680.799 c
+353 679.999 321.8 663.599 315.4 662.399 c
+309 661.199 297.4 653.599 292.6 652.399 c
+287.8 651.199 277 651.199 Y
+f
+0 g
+296.52 658.597 m
+287.938 659.426 296.539 660.245 V
+305.355 663.669 307.403 666.332 V
+314.367 671.043 315.8 671.247 v
+317.234 671.452 331.194 675.139 331.399 676.367 c
+331.604 677.596 365.67 690.177 370.09 686.987 c
+373.001 684.886 363.1 686.563 353.466 682.153 c
+352.111 681.533 318.258 666.946 314.981 666.332 c
+311.704 665.717 305.765 661.826 303.307 661.212 c
+300.85 660.597 296.52 658.597 Y
+f
+288.6 656.399 m
+293.8 656.799 292.6 655.199 v
+291.4 653.599 289 654.399 y
+288.6 656.399 l
+f
+281.4 654.799 m
+286.6 655.199 285.4 653.599 v
+284.2 651.999 281.8 652.799 y
+281.4 654.799 l
+f
+271 653.199 m
+276.2 653.599 275 651.999 v
+273.8 650.399 271.4 651.199 y
+271 653.199 l
+f
+263.4 652.399 m
+268.6 652.799 267.4 651.199 v
+266.2 649.599 263.8 650.399 y
+263.4 652.399 l
+f
+301.8 691.999 m
+306.2 691.999 305 690.399 v
+303.8 688.799 300.6 689.199 y
+301.8 691.999 l
+f
+291.8 686.399 m
+298.306 688.54 295.8 685.199 v
+294.6 683.599 292.2 684.399 y
+291.8 686.399 l
+f
+280.6 681.599 m
+285.8 681.999 284.6 680.399 v
+283.4 678.799 281 679.599 y
+280.6 681.599 l
+f
+273 675.599 m
+278.2 675.999 277 674.399 v
+275.8 672.799 273.4 673.599 y
+273 675.599 l
+f
+266.2 670.799 m
+271.4 671.199 270.2 669.599 v
+269 667.999 266.6 668.799 y
+266.2 670.799 l
+f
+305.282 664.402 m
+312.203 664.934 310.606 662.805 v
+309.009 660.675 305.814 661.74 y
+305.282 664.402 l
+f
+315.682 669.202 m
+322.603 669.734 321.006 667.605 v
+319.409 665.475 316.214 666.54 y
+315.682 669.202 l
+f
+326.482 673.602 m
+333.403 674.134 331.806 672.005 v
+330.209 669.875 327.014 670.94 y
+326.482 673.602 l
+f
+336.882 678.402 m
+343.803 678.934 342.206 676.805 v
+340.609 674.675 337.414 675.74 y
+336.882 678.402 l
+f
+309.282 696.402 m
+316.203 696.934 314.606 694.805 v
+313.009 692.675 309.014 692.94 y
+309.282 696.402 l
+f
+319.282 699.602 m
+326.203 700.134 324.606 698.005 v
+323.009 695.875 318.614 696.14 y
+319.282 699.602 l
+f
+296.6 659.599 m
+301.8 659.999 300.6 658.399 v
+299.4 656.799 297 657.599 y
+296.6 659.599 l
+f
+0.1 0.55 0.85 0.3 k
+223.4 758.8 m
+219 750 218.6 746.8 V
+219.4 755.6 220.6 757.6 v
+221.8 759.6 223.4 758.8 y
+f
+205 744.8 m
+201.8 730.4 202.2 727.6 V
+201 739.2 201.4 740.4 v
+201.8 741.6 205 744.8 y
+f
+0.8 g
+225.8 819.4 m
+225.6 816.2 l
+223.4 816 l
+237.6 803.4 238.2 795.8 V
+239 804 225.8 819.4 V
+f
+0 g
+229.784 818.135 m
+229.353 818.551 229.572 819.296 229.164 819.556 c
+228.355 820.072 230.462 820.129 230.234 820.845 c
+229.851 822.051 230.038 822.072 229.916 823.348 c
+229.859 823.946 230.447 825.486 230.832 825.926 c
+232.278 827.578 230.954 830.51 232.594 832.061 c
+232.898 832.35 233.274 832.902 233.559 833.32 c
+234.218 834.283 235.402 834.771 236.352 835.599 c
+236.67 835.875 236.469 836.702 237.038 836.61 c
+237.752 836.495 238.993 836.625 238.948 835.784 c
+238.835 833.664 237.506 831.944 236.226 830.276 C
+236.677 829.572 236.219 828.937 235.935 828.38 c
+234.6 825.76 234.789 822.919 234.615 820.079 c
+234.61 819.994 234.303 819.916 234.311 819.863 c
+234.664 817.528 235.248 815.329 236.127 813.1 c
+236.493 812.17 236.964 811.275 237.114 810.348 c
+237.225 809.662 237.328 808.829 236.92 808.124 C
+238.955 805.234 237.646 802.583 238.815 799.052 c
+239.022 798.427 240.714 796.513 240.251 796.674 c
+237.738 797.545 237.626 797.943 237.449 798.696 c
+237.303 799.319 236.973 800.696 236.736 801.298 c
+236.672 801.462 236.501 803.346 236.423 803.468 c
+234.91 805.85 236.268 805.674 234.898 808.032 C
+233.47 808.712 232.504 809.816 231.381 810.978 c
+231.183 811.182 232.326 811.906 232.145 812.119 c
+231.053 813.408 229.9 814.175 230.236 815.668 c
+230.391 816.358 230.528 817.415 229.784 818.135 c
+f
+226.2 816.4 m
+226.6 809.6 229 808 v
+231.4 806.4 230.2 807.2 227 808.4 c
+223.8 809.6 225 810.4 y
+222.2 810 224.6 808 v
+227 806 230.6 803.6 229 803.6 c
+227.4 803.6 219.8 807.6 219.8 810.4 c
+219.8 813.2 218.8 817.3 y
+219.9 818.1 224.7 818 V
+226.1 817.3 226.2 816.4 V
+f
+1 g
+1 J 0.1 w
+225.4 797.8 m
+216.88 800.591 198.4 797.2 V
+207.431 799.278 226.2 797 v
+236.5 795.75 225.4 797.8 Y
+b
+227.498 797.871 m
+219.252 801.389 200.547 799.608 V
+209.725 800.897 228.226 797.005 v
+238.38 794.869 227.498 797.871 Y
+b
+229.286 797.778 m
+221.324 801.899 202.539 801.514 V
+211.787 802.118 229.948 796.86 v
+239.914 793.975 229.286 797.778 Y
+b
+230.556 797.555 m
+223.732 801.862 206.858 802.96 V
+215.197 802.79 231.078 796.681 v
+239.794 793.328 230.556 797.555 Y
+b
+345.84 787.039 m
+344.91 786.395 345.124 787.576 v
+345.339 788.757 373.547 801.927 377.161 801.677 C
+346.913 788.471 345.84 787.039 V
+b
+342.446 786.4 m
+341.57 785.685 341.691 786.879 v
+341.812 788.073 368.899 803.418 372.521 803.452 C
+343.404 787.911 342.446 786.4 V
+b
+339.16 785.025 m
+338.332 784.253 338.374 785.453 v
+338.416 786.652 358.233 802.149 368.045 804.023 C
+350.015 795.896 339.16 785.025 V
+b
+336.284 783.162 m
+335.539 782.468 335.577 783.547 v
+335.615 784.627 353.449 798.574 362.28 800.26 C
+346.054 792.946 336.284 783.162 V
+b
+0.8 g
+0 J 1 w
+304.6 635.199 m
+289.4 637.599 306.2 639.199 V
+324.2 641.199 328.2 646.399 V
+341.8 655.599 344.6 655.999 v
+347.4 656.399 363.8 659.999 364.2 662.399 c
+364.6 664.799 370.6 667.199 372.2 666.399 c
+373.8 665.599 373.8 656.399 371 655.599 c
+368.2 654.799 349.4 647.599 343 646.399 c
+336.6 645.199 325 637.599 320.2 636.399 c
+315.4 635.199 304.6 635.199 Y
+f
+0 g
+377.6 672.599 m
+374.6 670.999 373.4 668.399 V
+367 657.799 352.8 654.599 V
+329.8 645.599 322 643.599 V
+308.6 638.599 301.2 639.399 V
+294.2 639.199 300.4 637.599 V
+320.6 639.599 324 641.399 V
+339.6 646.599 342.6 649.199 v
+345.6 651.799 363.8 656.799 366 658.799 c
+368.2 660.799 378 669.199 377.6 672.599 C
+f
+318.882 641.089 m
+324.111 641.315 322.958 639.766 v
+321.805 638.216 319.357 639.09 y
+318.882 641.089 l
+f
+311.68 639.737 m
+316.908 639.963 315.756 638.414 v
+314.603 636.864 312.155 637.737 y
+311.68 639.737 l
+f
+301.251 638.489 m
+306.48 638.716 305.327 637.166 v
+304.174 635.617 301.726 636.49 y
+301.251 638.489 l
+f
+293.617 637.945 m
+298.846 638.171 297.693 636.622 v
+296.54 635.072 294.092 635.946 y
+293.617 637.945 l
+f
+335.415 648.487 m
+342.375 648.788 340.84 646.726 v
+339.306 644.664 336.047 645.826 y
+335.415 648.487 l
+f
+345.73 652.912 m
+351.689 656.213 351.155 651.151 v
+350.885 648.595 346.362 650.251 y
+345.73 652.912 l
+f
+354.862 655.726 m
+362.021 659.427 360.287 653.965 v
+359.509 651.515 355.493 653.065 y
+354.862 655.726 l
+f
+364.376 660.551 m
+368.735 665.452 369.801 658.79 v
+370.207 656.252 365.008 657.89 y
+364.376 660.551 l
+f
+326.834 644.003 m
+332.062 644.23 330.91 642.68 v
+329.757 641.131 327.308 642.004 y
+326.834 644.003 l
+f
+1 g
+1 J 0.1 w
+362.434 765.397 m
+361.708 764.732 361.707 765.803 v
+361.707 766.873 379.191 780.137 388.034 781.521 C
+371.935 774.792 362.434 765.397 V
+b
+0 g
+0 J 1 w
+365.4 701.6 m
+387.401 679.199 396.601 675.599 V
+405.801 664.399 401.801 638.399 V
+398.601 630.799 395.401 651.599 V
+398.601 676.799 387.401 660.799 V
+379 670.699 385.4 670.399 V
+388.601 668.399 389.001 669.999 v
+389.401 671.599 381.4 685.199 364.2 699.6 c
+347 714 365.4 701.6 Y
+f
+1 g
+1 J 0.1 w
+307 662.799 m
+306.8 664.599 308.6 663.799 v
+310.4 662.999 404.601 656.799 436.201 632.799 C
+391.001 655.999 307 662.799 V
+b
+317.4 667.199 m
+317.2 668.999 319 668.199 v
+320.8 667.399 457.401 668.399 481.001 635.999 C
+459.001 661.199 317.4 667.199 V
+b
+329 671.199 m
+328.8 672.999 330.6 672.199 v
+332.4 671.399 505.801 684.399 529.401 651.999 C
+519.801 677.599 329 671.199 V
+b
+339 675.999 m
+338.8 677.799 340.6 676.999 v
+342.4 676.199 464.601 714.8 488.201 682.399 C
+474.801 707 339 675.999 V
+b
+281 653.199 m
+280.8 654.999 282.6 654.199 v
+284.4 653.399 302.2 651.199 304.2 612.399 C
+297 654.399 281 653.199 V
+b
+272.2 651.599 m
+272 653.399 273.8 652.599 v
+275.6 651.799 289.8 656.399 287 617.599 C
+288.2 652.799 272.2 651.599 V
+b
+264.2 651.199 m
+264 652.999 265.8 652.199 v
+267.6 651.399 283 650.799 270.6 628.399 C
+280.2 652.399 264.2 651.199 V
+b
+311.526 695.535 m
+311.082 693.536 312.631 694.753 v
+328.699 707.378 361.141 766.28 416.826 771.914 C
+378.518 784.024 311.526 695.535 V
+b
+322.726 697.335 m
+321.363 698.528 323.231 699.153 v
+325.099 699.778 437.541 772.28 476.826 764.314 C
+449.719 771.824 322.726 697.335 V
+b
+301.885 691.233 m
+301.376 689.634 303.087 690.61 v
+312.062 695.73 315.677 752.941 359.254 754.196 C
+326.843 768.91 301.885 691.233 V
+b
+281.962 680.207 m
+280.885 678.921 282.838 679.175 v
+293.084 680.507 314.489 721.778 358.928 716.699 C
+326.962 731.045 281.962 680.207 V
+b
+293.2 686.333 m
+292.389 684.864 294.258 685.489 v
+304.057 688.763 317.141 733.375 361.729 736.922 C
+327.603 744.865 293.2 686.333 V
+b
+274.922 675.088 m
+274.049 674.046 275.631 674.252 v
+283.93 675.331 301.268 708.76 337.264 704.646 C
+311.371 716.266 274.922 675.088 V
+b
+267.323 669.179 m
+266.318 668.134 267.909 668.252 v
+272.077 668.561 302.715 701.64 321.183 686.138 C
+309.168 704.861 267.323 669.179 V
+b
+336.855 701.102 m
+335.654 702.457 337.586 702.842 v
+339.518 703.226 460.221 760.939 498.184 748.073 C
+472.243 758.947 336.855 701.102 V
+b
+303.4 636.799 m
+303.2 638.599 305 637.799 v
+306.8 636.999 322.2 636.399 309.8 613.999 C
+319.4 637.999 303.4 636.799 V
+b
+313.8 638.399 m
+313.6 640.199 315.4 639.399 v
+317.2 638.599 335 636.399 337 597.599 C
+329.8 639.599 313.8 638.399 V
+b
+320.6 639.999 m
+320.4 641.799 322.2 640.999 v
+324 640.199 348.6 636.799 372.2 604.399 C
+336.6 641.199 320.6 639.999 V
+b
+328.225 642.028 m
+327.788 643.786 329.678 643.232 v
+331.568 642.678 352.002 644.577 390.099 610.401 C
+343.924 645.344 328.225 642.028 V
+b
+338.625 646.428 m
+338.188 648.186 340.078 647.632 v
+341.968 647.078 376.802 642.577 428.499 607.601 C
+354.324 649.744 338.625 646.428 V
+b
+298.2 657.999 m
+298 659.799 299.8 658.999 v
+301.6 658.199 355 655.599 385.4 628.799 C
+350.499 653.574 298.2 657.999 V
+b
+288.2 653.999 m
+288 655.799 289.8 654.999 v
+291.6 654.199 316.2 650.799 339.8 618.399 C
+304.2 655.199 288.2 653.999 V
+b
+349.503 651.038 m
+348.938 652.759 350.864 652.345 v
+352.79 651.932 387.86 649.996 441.981 618.902 C
+364.317 653.296 349.503 651.038 V
+b
+357.903 653.438 m
+357.338 655.159 359.264 654.745 v
+361.19 654.332 396.26 652.396 450.381 621.302 C
+373.317 656.096 357.903 653.438 V
+b
+367.503 658.438 m
+366.938 660.159 368.864 659.745 v
+370.79 659.332 413.86 654.996 503.582 620.702 C
+382.917 661.096 367.503 658.438 V
+b
+0 g
+0 J 1 w
+256.2 651.599 m
+261.4 651.999 260.2 650.399 v
+259 648.799 256.6 649.599 y
+256.2 651.599 l
+f
+287 637.599 m
+292.2 637.999 291 636.399 v
+289.8 634.799 287.4 635.599 y
+287 637.599 l
+f
+278.2 637.999 m
+283.4 638.399 282.2 636.799 v
+281 635.199 278.6 635.999 y
+278.2 637.999 l
+f
+182.831 649.818 m
+187.876 648.495 186.218 647.376 v
+184.561 646.256 182.554 647.798 y
+182.831 649.818 l
+f
+184.831 659.418 m
+189.876 658.095 188.218 656.976 v
+186.561 655.856 184.554 657.398 y
+184.831 659.418 l
+f
+177.631 663.818 m
+182.676 662.495 181.018 661.376 v
+179.361 660.256 177.354 661.798 y
+177.631 663.818 l
+f
+0.8 g
+1 J 0.1 w
+257.4 588.799 m
+255.8 588.799 251.8 586.799 V
+249.8 586.799 238.6 583.199 233 573.199 C
+245.4 582.799 257.4 588.799 V
+f
+345.116 496.153 m
+345.257 495.895 345.312 495.475 345.604 495.458 c
+346.262 495.418 347.495 495.117 347.37 495.753 c
+346.522 500.059 345.648 504.996 341.515 506.803 c
+340.876 507.082 339.434 506.669 339.36 505.785 c
+339.233 504.261 339.116 502.912 339.425 501.446 c
+339.725 500.025 341.883 500.015 342.8 501.399 C
+343.736 499.727 344.168 497.884 345.116 496.153 c
+f
+334.038 491.419 m
+334.786 490.006 334.659 488.147 336.074 487.584 c
+336.814 487.29 338.664 488.265 338.246 489.339 c
+337.444 491.4 337.056 493.639 335.667 495.45 c
+335.467 495.712 335.707 496.245 335.547 496.573 c
+334.953 497.793 333.808 498.528 332.4 498.199 C
+331.285 495.996 332.433 493.867 333.955 492.158 c
+334.091 492.006 333.925 491.63 334.038 491.419 c
+f
+294.436 496.609 m
+294.328 496.986 294.29 497.449 294.455 497.77 c
+294.986 498.803 295.779 499.925 295.442 500.947 c
+295.094 502.003 293.978 501.821 293.328 501.252 c
+292.193 500.258 292.144 498.432 291.453 497.073 c
+291.257 496.687 291.308 496.114 290.867 495.723 c
+290.393 495.302 289.953 493.778 290.049 493.207 c
+290.102 492.894 289.919 482.986 290.141 483.249 c
+290.76 483.982 293.81 493.716 293.879 494.608 c
+293.936 495.339 294.668 495.804 294.436 496.609 c
+f
+268.798 503.401 m
+271.432 505.9 274.222 508.861 273.78 512.573 c
+273.664 513.549 271.889 513.022 271.702 512.176 c
+270.9 508.551 268.861 505.89 266.293 503.498 c
+264.097 501.451 262.235 495.107 262 494.599 C
+265.697 499.855 267.954 502.601 268.798 503.401 c
+f
+255.224 509.365 m
+255.747 509.735 255.445 510.226 255.662 510.558 c
+256.615 512.016 257.916 513.262 257.934 515 c
+257.937 515.277 257.559 515.586 257.224 515.362 c
+256.947 515.178 256.605 515.048 256.497 514.918 c
+254.467 512.469 253.067 509.798 251.624 506.986 c
+251.441 506.629 250.297 502.138 250.61 502.027 c
+250.849 501.942 252.569 506.123 252.779 506.237 c
+254.042 506.923 254.054 508.538 255.224 509.365 c
+f
+271.957 489.821 m
+272.401 490.69 273.977 491.892 273.864 492.781 c
+273.746 493.709 274.214 495.152 273.302 494.464 c
+272.045 493.516 268.596 492.167 268.326 486.359 c
+268.3 485.788 271.274 488.481 271.957 489.821 c
+f
+286.4 506.999 m
+286.8 507.667 287.508 507.194 287.967 507.457 c
+288.615 507.829 289.226 508.387 289.518 509.036 c
+290.488 511.185 292.257 513.005 292.4 515.399 C
+290.909 516.804 290.23 514.764 289.6 513.799 C
+288.277 515.446 287.278 513.572 285.978 513.053 c
+285.908 513.025 285.695 513.372 285.62 513.345 c
+284.443 512.905 283.763 511.824 282.765 511.043 c
+282.594 510.909 282.189 511.089 282.042 510.953 c
+281.39 510.35 280.417 510.025 280.137 509.343 c
+279.027 506.636 275.887 504.541 274 496.999 C
+274.381 496.09 278.512 503.641 278.999 504.339 c
+279.835 505.535 279.953 502.678 281.229 503.344 c
+281.28 503.371 281.466 503.133 281.6 502.999 C
+281.794 503.279 282.012 503.508 282.4 503.399 C
+282.4 503.799 282.266 504.355 282.467 504.514 c
+283.704 505.491 283.62 506.559 284.4 507.799 C
+284.858 507.01 285.919 507.729 286.4 506.999 C
+f
+346.2 452.599 m
+353.6 472.999 349.2 484.199 V
+360.6 462.599 356 451.399 V
+355.6 461.799 351.6 466.799 V
+347.6 453.999 346.2 452.599 V
+f
+331.4 455.199 m
+336.8 463.999 328.8 482.399 V
+328 461.999 321.2 450.999 V
+335.4 471.199 331.4 455.199 V
+f
+321.4 457.199 m
+321.2 477.199 321.6 480.199 V
+317.8 463.599 307.6 453.999 V
+322 465.999 321.4 457.199 V
+f
+311.8 489.199 m
+317.8 475.599 307.8 457.199 V
+314.2 469.399 309.4 476.399 V
+312 479.799 311.8 489.199 V
+f
+292.6 457.599 m
+291.6 473.199 293.4 475.399 V
+293.6 481.799 293.2 482.799 V
+297.2 488.999 297.4 481.599 V
+298.8 473.799 301.6 469.199 V
+305.2 463.799 305 457.399 V
+295 487.599 292.6 457.599 V
+f
+289 485.199 m
+282.4 474.399 280.6 455.399 V
+279.2 461.599 283 475.999 V
+287.2 491.399 289 485.199 V
+f
+267.2 465.399 m
+272.2 470.799 273.6 475.799 V
+277.2 491.599 270.8 482.999 V
+271 474.999 262.8 467.599 V
+267.6 469.999 267.2 465.399 V
+f
+261.4 470.399 m
+264.8 487.799 265.6 488.599 V
+267.4 491.999 264.6 488.799 V
+255.8 469.599 251.8 462.999 V
+259.8 472.199 261.4 470.399 V
+f
+255.6 486.999 m
+267.2 509.399 245.4 483.599 V
+256.4 493.399 255.6 486.999 V
+f
+240.2 501.599 m
+245 520.399 247.6 520.199 V
+255.8 529.199 249.2 518.599 V
+243.2 508.999 243.8 499.199 V
+243.2 508.799 240.2 501.599 V
+f
+570.5 513 m
+558.5 523 556 526.5 V
+569.5 508 569.5 501 V
+572 508.5 570.5 513 V
+f
+576 535 m
+555 550 551.5 557.5 V
+578 528 578 523.5 V
+578.5 532.5 576 535 V
+f
+593 689 m
+581 697 579.5 695 V
+590 688.5 592.5 680 V
+591 689 593 689 V
+f
+601.5 608.5 m
+584 620.5 l
+603 603.5 603.5 599.5 V
+601.5 608.5 L
+f
+0 g
+1 w
+210.75 631 m
+232.75 626.25 l
+S
+261 469 m
+260.5 472.5 251.5 462 v
+S
+266.5 464 m
+268.5 470.5 262 466 v
+S
+320.5 455.5 m
+322 466.5 310.5 453.5 v
+S
+
+showpage
+
+% Modification Denis GIROU (CNRS/IDRIS - France) <Denis.Girou@idris.fr> - 18 Dec. 1997
+%% %%Trailer
+countdictstack InitDictCount sub { end } repeat
+cleartomark
+restore
+grestore
diff --git a/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.pdf b/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.pdf
deleted file mode 100644
index 0c45acff4ae..00000000000
--- a/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.tgz b/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.tgz
deleted file mode 100644
index 3744bd9148a..00000000000
--- a/Master/texmf-dist/doc/generic/pstricks/psmatrix-docDE.tgz
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-doc.cls b/Master/texmf-dist/doc/generic/pstricks/pst-doc.cls
index ae6b7a06257..553a6901711 100644
--- a/Master/texmf-dist/doc/generic/pstricks/pst-doc.cls
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-doc.cls
@@ -1,4 +1,4 @@
-% $Id: pst-doc.cls 246 2010-01-04 19:54:06Z herbert $
+% $Id: pst-doc.cls 282 2010-02-09 21:05:55Z herbert $
%
%%
%% The PSTricks Project
@@ -78,6 +78,7 @@
\RequirePackage{multido}
\RequirePackage{lscape}
\RequirePackage{graphicx}
+\RequirePackage{eso-pic}
\definecolor{DOrange}{rgb}{1,.4,.2}
\RequirePackage{amsmath, amssymb}
\RequirePackage{tabularx,ragged2e}
@@ -285,6 +286,7 @@
\let\nxLdim\nxLcs
\let\nxLskip\nxLcs
\def\Lctr#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Counter!#1@\texttt{#1}}}
+\def\LCtr#1{\texttt{#1}\index{#1@\texttt{#1}}\index{TeX Counter@\TeX\ Counter!#1@\texttt{#1}}}
\def\nxLctr#1{\texttt{#1}}
%
\newcommand\Lnotation [1]{\nxLnotation{#1}\xLnotation{#1}}
@@ -402,10 +404,30 @@
\renewcommand\maketitle{%
\thispagestyle{empty}%
\begin{titlepage}
+\ifpdf
+\AddToShipoutPicture*{\includegraphics{pst-doc.pdf}}
+\vspace*{0.3\textheight}
+\parbox{17cm}{\sffamily\RaggedRight\bfseries\huge\@title}\\[5pt]
+\parbox{15cm}{\sffamily\Large\@subtitle}
+
+\vspace{5cm}
+\parbox{10cm}{\sffamily\@date}
+
+\vfill
+~\\
+\makebox[.5\textwidth]{\put(0,0){\bgImage}}\\
+~
+
+\vfill
+\parbox[b]{19cm}{\sffamily\RaggedRight
+ \ifx\@docauthor\empty~\else Documentation by\fi\hfill\makebox[7cm][l]{Package author(s):}\\
+ \ifx\@docauthor\empty~\else{\bfseries\tabular[t]{@{}l@{}}\@docauthor\endtabular}\fi\hfill\makebox[7cm][l]{%
+ \bfseries\tabular[t]{@{}l@{}}\@author\endtabular}}
+\else
\begin{pspicture}(1.6in,0)(21,21.7)
- \psframe[fillstyle=solid,linecolor=lightgray,fillcolor=lightgray,linestyle=solid](0,-5.75)(21.2,10)
- \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,10)(21.2,10.5)
- \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,21.1)(21.2,21.2)
+ \psframe[fillstyle=solid,linecolor=lightgray,fillcolor=lightgray,linestyle=solid](0,-5.75)(21.5,10)
+ \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,10)(21.5,10.5)
+ \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,21.1)(21.5,21.2)
\rput[lb](3,22){\Huge\sffamily\color{Orange!65!Red}\psscalebox{2}{\textbf{PSTricks}}}
\rput[lb](3,14.1){\parbox{17cm}{\sffamily\RaggedRight\bfseries\huge\@title}}
\rput[lb](3,12.6){\parbox{15cm}{\sffamily\Large\@subtitle}}
@@ -416,6 +438,7 @@
\bfseries\tabular[t]{@{}l@{}}\@author\endtabular}}}
\rput[C](11,4){\bgImage}%
\end{pspicture}%
+\fi
\end{titlepage}
\setcounter{footnote}{0}%
\global\let\thanks\relax%
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-doc.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-doc.pdf
new file mode 100644
index 00000000000..0718eddae92
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news.sty b/Master/texmf-dist/doc/generic/pstricks/pst-news.sty
index 7d2ab444208..8ce484574a3 100644
--- a/Master/texmf-dist/doc/generic/pstricks/pst-news.sty
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-news.sty
@@ -1,7 +1,11 @@
%% $Id: pst-news.sty 9 2008-01-03 20:22:50Z herbert $
\ProvidesPackage{pst-news}[2008/02/01 definitions for
PSTricks news (hv)]
-
+%
+%\usepackage{pamathx}% use this if you have the palatino math font
+\usepackage{arev}% use this if you do not have the palatino math font
+%\usepackage[scaled=0.9]{luximono}% use this if you do not have the palatino math font
+%
\RequirePackage{pstricks}
\let\PSTfiledate\filedate
\let\PSTfileversion\fileversion
@@ -20,14 +24,6 @@
\makeindex
\RequirePackage{tabularx,array,longtable}
\SpecialCoor
-\RequirePackage[colorlinks,linktocpage]{hyperref}
-\RequirePackage{breakurl}
-\def\UrlFont{\small\ttfamily}
-\makeatletter
-\def\verbatim@font{\small\normalfont\ttfamily}
-\let\Oldpart\part
-\renewcommand\part[1]{\clearpage\Oldpart{#1}}
-\makeatother
\RequirePackage{ragged2e}
\definecolor{hellgelb}{rgb}{1,1,0.8}
\definecolor{colKeys}{rgb}{0,0,1}
@@ -35,6 +31,11 @@
\definecolor{colComments}{rgb}{1,0,0}
\definecolor{colString}{rgb}{0,0.5,0}
%
+\usepackage{amsmath}
+\usepackage{tabularx}
+\usepackage{longtable}
+\usepackage{xkvview}
+\usepackage{pst-math}
\RequirePackage{listings}
\lstset{%
language=PSTricks,%
@@ -58,6 +59,17 @@
captionpos=b,%
xleftmargin=0pt%
}
+\lstdefinestyle{syntax}{backgroundcolor=\color{blue!20},numbers=none,xleftmargin=0pt,xrightmargin=0pt,
+ frame=single}
+%
+\RequirePackage[colorlinks,linktocpage]{hyperref}
+\RequirePackage{breakurl}
+\def\UrlFont{\small\ttfamily}
+\makeatletter
+\def\verbatim@font{\small\normalfont\ttfamily}
+\let\Oldpart\part
+\renewcommand\part[1]{\clearpage\Oldpart{#1}}
+\makeatother
%\parindent=0pt
%
@@ -66,8 +78,11 @@
\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
\let\PSTbibliography\bibliography
\renewcommand\bibliography[1]{\begingroup\RaggedRight\PSTbibliography{#1}\endgroup}
-\def\PS{PostScript}
\def\textat{\char064}
+%
+\usepackage{xspace}
+\def\PS{PostScript\xspace}
+\def\dt{\ensuremath{\,\mathrm{d}t}}
%
\def\LPack#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Package!#1@\texttt{#1}}}
@@ -82,5 +97,7 @@
\def\Lkeyval#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Value!#1@\texttt{#1}}}
\def\Loption#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Package option!#1@\texttt{#1}}}
\def\LPS#1{\texttt{#1}\index{#1@\texttt{#1}}\index{PostScript!#1@\texttt{#1}}}
+\def\Lps#1{\texttt{#1}\index{#1@\texttt{#1}}\index{PostScript!#1@\texttt{#1}}}
\def\Index#1{#1\index{#1}}
+%
\endinput
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news06.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news06.pdf
index ae63aadf05a..ce9dff713cc 100644
--- a/Master/texmf-dist/doc/generic/pstricks/pst-news06.pdf
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-news06.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news08.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news08.pdf
index 9273e7dddc8..428653ebf27 100644
--- a/Master/texmf-dist/doc/generic/pstricks/pst-news08.pdf
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-news08.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news09.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news09.pdf
index 6892054bd64..50257ffccf6 100644
--- a/Master/texmf-dist/doc/generic/pstricks/pst-news09.pdf
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-news09.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex b/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex
index 17fe502f151..a59dce1b179 100644
--- a/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex
@@ -50,51 +50,6 @@ optional argument, which shifts the box in vertical direction. The new options
\Lkeyword{shift} and \Lkeyword{showgrid} do not work in this case.
The support of transparency colors is also disabled.
-\subsection{file list}
-You should always use the \Lcs{listfile} to get a list of all loaded packages and
-font files and the end of your log file:
-
-\begin{verbatim}
- *File List*
- pst-doc.cls 2009/09/27 v 0.10 PSTricks documentation class (hv)
-scrartcl.cls 2009/07/24 v3.04a KOMA-Script document class (article)
-scrkbase.sty 2009/07/24 v3.04a KOMA-Script package (KOMA-Script-dependent ba
-sics and keyval usage)
-[ ... ]
-pstricks.sty 2008/11/26 v0.40 LaTeX wrapper for `PSTricks' (RN,HV)
-pstricks.tex 2009/10/25 v1.30 `PSTricks' (tvz,hv)
-pstricks.pro 2009/01/30 v. 1.06, PostScript prologue file (hv)
-pst-dots.pro 2006/12/19 v. 2.00, PostScript prologue file (hv)
-pst-algparser.pro 2008/01/01 v. 0.01, PostScript prologue file (hv)
-[ ... ]
-pst-plot.sty 2004/07/15 package wrapper for pst-plot.tex
-pst-plot.tex 2009/06/08 1.04 `pst-plot' (tvz)
-pst-node.sty 2006/01/01 package wrapper for pst-node.tex
-pst-node.tex 2008/11/26 1.01 `pst-node' (tvz)
-pst-node.pro 2009/01/30 v. 1.02, PostScript prologue file (hv)
-pst-tree.sty 2009/01/25 package wrapper for pst-tree.tex
-pst-tree.tex 2009/09/17 1.11 `pst-tree' (tvz,hv)
-pst-xkey.tex 2005/11/25 v1.6 PSTricks specialization of xkeyval (HA)
-pst-eucl.sty 2005/05/14 package wrapper for PSTricks pst-eucl.tex
-pst-eucl.tex 2008/11/21 v1.35 `PST-eucl' (dr)
-pst-eucl.pro
- ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
-ltcaption.sty 2008/03/28 v1.2 longtable captions (AR)
-pst-news09.out
-pst-news09.out
- t1fvs.fd 2004/09/07 scalable font definitions for T1/fvs.
- t1fvm.fd 2004/09/07 scalable font definitions for T1/fvm.
- umsa.fd 2009/06/22 v3.00 AMS symbols A
- umsb.fd 2009/06/22 v3.00 AMS symbols B
-lstlang1.sty 2004/09/05 1.3 listings language file (modified 2009-08-23 Nm)
-lstlang2.sty 2004/09/05 1.3 listings language file
-lstlang3.sty 2004/09/05 1.3 listings language file
-pst-news09.ind
- ***********
-\end{verbatim}
-
-This can be depending on your document a very long list. With the new version of \LFile{pstricks.sty}
-the \Lext{pro} files are also listed.
%--------------------------------------------------------------------------------------
\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)}
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news10.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news10.pdf
new file mode 100644
index 00000000000..c5cdb2dae9b
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-news10.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news10.tex b/Master/texmf-dist/doc/generic/pstricks/pst-news10.tex
new file mode 100644
index 00000000000..e2923970409
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-news10.tex
@@ -0,0 +1,526 @@
+%% $Id: pst-news09.tex 62 2008-11-25 19:52:07Z herbert $
+\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
+ headexclude,footexclude,oneside]{pst-doc}
+\listfiles
+\let\Lfile\LFile
+\usepackage[utf8]{inputenc}
+\usepackage{pst-plot}
+\let\pstplotFV\fileversion
+\let\pstplotFD\filedate
+\usepackage{pst-eucl,pst-func}
+\renewcommand\bgImage{\psscalebox{15}{\color{blue!20}2010}}
+\def\textat{\char064}
+\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}},
+ escapechar=?}
+\begin{document}
+
+%\psset{PstDebug=1}
+\title{\texttt{News -- 2010}\\ \Large new macros and bugfixes for the
+basic packages \nxLFile{pstricks}, \nxLFile{pst-plot}, and \nxLFile{pst-node}}
+\author{Herbert Voß}
+\date{\today}
+
+\maketitle
+
+\clearpage
+\tableofcontents
+
+\clearpage
+\part{\texttt{pstricks} -- package}
+
+\section{General}
+There exists a new document class \LClass{pst-doc} for writing PSTricks documentations,
+like this news document. It depends on the KOMA-Script document class \LClass{scrartcl}.
+\LClass{pst-doc} defines a lot of special macros to create a good index. Take one of
+the already existing package documentation and look into the source file. Then it will be
+easy to understand, how all these macros have to be used.
+
+When running \Lprog{pdflatex} the title page is created with boxes and inserted
+with the macro \Lcs{AddToShipoutPicture} from the package \LPack{eso-pic}. It
+inserts the background title page image \Lfile{pst-doc-pdf} to use directly
+\Lprog{pdflatex}.
+When running \Lprog{latex} the title page
+ is created with \PST\ macros.This allows to use the Perl script \Lprog{pst2pdf} or
+the package \LPack{pst-pdf} or \LPack{auto-pst-pdf} or any other program/package which
+supports \PS\ code in the document.
+
+
+%--------------------------------------------------------------------------------------
+\section{\texttt{pstricks.sty}}
+%--------------------------------------------------------------------------------------
+%\subsection{New optional argument}
+No changes
+
+%--------------------------------------------------------------------------------------
+\section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)}
+%--------------------------------------------------------------------------------------
+
+\subsection{Option \nxLkeyword{algebraic}}
+The option \Lkeyword{algebraic} moved from the other packages into
+the main package \LPack{pstricks} to get rid of the dependencies.
+
+By default the function in \Lcs{psplot} has to be described in
+Reversed Polish Notation. The option \Lkeyword{algebraic} allows you
+to do this in the common algebraic notation. E.g.:
+
+\begin{tabular}{l|l}
+RPN & algebraic\\\hline
+\verb+x ln+ & \verb+ln(x)+\\
+\verb+x cos 2.71 x neg 10 div exp mul+ & \verb+cos(x)*2.71^(-x/10)+\\
+\verb+1 x div cos 4 mul+ & \verb+4*cos(1/x)+\\
+\verb+t cos t sin+ & \verb+cos(t)|sin(t)+
+\end{tabular}
+
+Setting the option \Lkeyword{algebraic}, allow the user
+to describe all expression to be written in the classical
+algebraic notation (infix notation). The four arithmetic
+operations are obviously defined \verb$+-*/$, and also the
+exponential operator \verb$^$. The natural priorities are used :
+$3+4\times 5^5=3+(4\times (5^5))$, and by default the computation
+is done from left to right. The following functions are defined :
+
+\medskip
+\begin{tabular}{ll}
+\verb$sin$, \verb$cos$, \verb$tan$, \verb$acos$, \verb$asin$ & in radians\\
+\verb$log$, \verb$ln$\\
+\verb$ceiling$, \verb$floor$, \verb$truncate$, \verb$round$\\
+\verb$sqrt$ & square root\\
+\verb$abs$ & absolute value\\
+\verb$fact$ & for the factorial\\
+\verb$Sum$ & for building sums\\
+\verb$IfTE$ & for an easy case structure
+\end{tabular}
+
+\medskip
+These options can be used with \textbf{all} plot macros.
+
+{\bfseries Using the option \Lkeyword{algebraic} implies that all
+angles have to be in radians! }
+
+For the \Lcs{parametricplot} the two parts must be divided by the \Lnotation{|} character:
+
+\begin{LTXexample}[width=2cm]
+\begin{pspicture}(-0.5,-0.5)(0.5,0.5)
+\parametricplot[algebraic,linecolor=red]{-3.14}{3.14}{cos(t)|sin(t)}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+\begingroup
+\psset{lly=-0.5cm}
+\psgraph[trigLabels,dx=\psPi,dy=0.5,Dy=0.5]{->}(0,0)(-10,-1)(10,1){\linewidth}{6cm}
+ \psset{algebraic,plotpoints=1000}
+ \psplot[linecolor=yellow,linewidth=2pt]{-10}{10}{0.75*sin(x)*cos(x/2)}
+ \psplot[linecolor=red,showpoints=true,plotpoints=101]{-10}{10}{0.75*sin(x)*cos(x/2)}
+\endpsgraph
+\endgroup
+
+\bigskip
+\begin{lstlisting}
+\psset{lly=-0.5cm}
+\psgraph[trigLabels,dx=\psPi,dy=0.5,Dy=0.5]{->}(0,0)(-10,-1)(10,1){\linewidth}{6cm}
+ \psset{algebraic,plotpoints=1000}
+ \psplot[linecolor=yellow,linewidth=2pt]{-10}{10}{0.75*sin(x)*cos(x/2)}
+ \psplot[linecolor=red,showpoints=true,plotpoints=101]{-10}{10}{0.75*sin(x)*cos(x/2)}
+\endpsgraph
+\end{lstlisting}
+
+
+\bigskip
+%\begin{LTXexample}[pos=t]
+\bgroup
+\psset{lly=-0.5cm,unit=1cm}
+\psgraph(0,-5)(18,3){0.9\linewidth}{5cm}
+ \psset{algebraic,plotpoints=501}
+ \psplot[linecolor=yellow, linewidth=4\pslinewidth]{0.01}{18}{ln(x)}
+ \psplot[linecolor=red]{0.01}{18}{ln(x)}
+ \psplot[linecolor=green,linewidth=4\pslinewidth]{0}{18}{3*cos(x)*2.71^(-x/10)}
+ \psplot[linecolor=blue,showpoints=true,plotpoints=51]{0}{18}{3*cos(x)*2.71^(-x/10)}
+\endpsgraph
+\egroup
+%\end{LTXexample}
+
+
+\bigskip
+\begin{lstlisting}
+\psset{lly=-0.5cm}
+\psgraph(0,-5)(18,3){0.9\linewidth}{5cm}
+ \psset{algebraic,plotpoints=501}
+ \psplot[linecolor=yellow, linewidth=4\pslinewidth]{0.01}{18}{ln(x)}
+ \psplot[linecolor=red]{0.01}{18}{ln(x)}
+ \psplot[linecolor=yellow,linewidth=4\pslinewidth]{0}{18}{3*cos(x)*2.71^(-x/10)}
+ \psplot[linecolor=blue,showpoints=true,plotpoints=51]{0}{18}{3*cos(x)*2.71^(-x/10)}
+\endpsgraph
+\end{lstlisting}
+
+
+%--------------------------------------------------------------------------------------
+\section{Numeric functions}
+%--------------------------------------------------------------------------------------
+
+All macros have a \textat{} in their name, because they are
+only for internal use, but it is no problem to use them like other
+macros. One can define another name without a \textat{}:
+\begin{lstlisting}[style=syntax]
+\makeatletter
+\let\pstdivide\pst@divide
+\makeatother
+\end{lstlisting}
+
+or put the macro inside the \Lcs{makeatletter} -- \Lcs{makeatother} sequence.
+
+
+%--------------------------------------------------------------------------------------
+\section{Numeric functions}
+%--------------------------------------------------------------------------------------
+
+By default \PST\ loads the file \Lfile{pst-fp} which is derived from the
+\LPack{fp} package. It supports the following macros:
+
+%--------------------------------------------------------------------------------------
+\subsection{\nxLcs{pstFPadd}, \nxLcs{pstFPsub}, \nxLcs{pstFPmul}, and \nxLcs{pstFPdiv}}
+%--------------------------------------------------------------------------------------
+Multiplication and division:
+
+\begin{BDef}
+\Lcs{pstFPadd}\Largb{result}\Largb{number}\Largb{number}\\
+\Lcs{pstFPsub}\Largb{result}\Largb{number}\Largb{number}\\
+\Lcs{pstFPmul}\Largb{result}\Largb{number}\Largb{number}\\
+\Lcs{pstFPdiv}\Largb{result}\Largb{number}\Largb{number}
+\end{BDef}
+
+\begin{LTXexample}[width=5cm]
+\pstFPmul\Result{-3.405}{0.02345} \Result\quad
+\pstFPdiv\Result{-3.405}{0.02345} \Result\\
+\pstFPmul\Result{0.02345}{-3.405} \Result\quad
+\pstFPdiv\Result{0.02345}{-3.405} \Result\\
+\pstFPmul\Result{234.123}{33} \Result\quad
+\pstFPdiv\Result{234.123}{33} \Result\\
+\pstFPadd\Result{234.123}{33} \Result\quad
+\pstFPadd\Result{234.123}{-33} \Result\\
+\pstFPsub\Result{234.123}{33} \Result\quad
+\pstFPsub\Result{-234.123}{33} \Result
+\end{LTXexample}
+
+The zeros can be stripped with the macro \Lcs{pstFPstripZeros}. Expect
+always rounding errors, \TeX\ was not made for calculations \ldots
+The value is converted into a length and then reconverted to a
+number by stripping the unit. Which also strips the zeros.
+
+\begin{LTXexample}[width=5cm]
+\pstFPmul\Result{-3.405}{0.02345}
+\pstFPstripZeros{\Result}{\Result}\Result\quad
+\pstFPdiv\Result{-3.405}{0.02345}
+\pstFPstripZeros{\Result}{\Result}\Result\\
+\pstFPmul\Result{0.02345}{-3.405}
+\pstFPstripZeros{\Result}{\Result}\Result\quad
+\pstFPdiv\Result{0.02345}{-3.405}
+\pstFPstripZeros{\Result}{\Result}\Result
+\end{LTXexample}
+
+%--------------------------------------------------------------------------------------
+\subsection{\nxLcs{pstFPMul} and \nxLcs{pstFPDiv}}
+%--------------------------------------------------------------------------------------
+Integer multiplication and division:
+
+\begin{BDef}
+\Lcs{pstFPMul}\Largb{result as a truncated integer}\Largb{number}\Largb{number}\\
+\Lcs{pstFPDiv}\Largb{result as a truncated integer}\Largb{number}\Largb{number}
+\end{BDef}
+
+\begin{LTXexample}[width=5cm]
+\makeatletter
+\pstFPMul\Result{-34.05}{0.02345} \Result\quad
+\pstFPDiv\Result{-3.405}{0.02345} \Result\\
+\pstFPMul\Result{23.45}{-3.405} \Result\quad
+\pstFPDiv\Result{0.2345}{-0.03405} \Result\\
+\pstFPMul\Result{234.123}{33} \Result\quad
+\pstFPDiv\Result{234.123}{33} \Result
+\makeatother
+\end{LTXexample}
+
+%--------------------------------------------------------------------------------------
+\section{The PostScript header files}
+\subsection{\nxLFile{pstricks.pro}}
+%--------------------------------------------------------------------------------------
+It contains now most of the stuff from \LPack{pstricks-add} and the new routines
+for plotting lines/curves with symbols.
+
+%--------------------------------------------------------------------------------------
+\subsection{\nxLFile{pst-algparser.pro}}
+\subsubsection{Using the \nxLkeyword{Sum} function}
+%--------------------------------------------------------------------------------------
+
+\begin{BDef}
+\Lcs{Sum}\Largr{<index name>,<start>,<step>,<end>,<function>}
+\end{BDef}
+
+Let's plot the first development of cosine with polynomials:
+$\displaystyle\sum_{n=0}^{+\infty}\frac{(-1)^nx^{2n}}{n!}$.
+
+\begin{center}
+\bgroup
+\psset{algebraic=true, plotpoints=501, yunit=3}
+\def\getColor#1{\ifcase#1 black\or red\or magenta\or yellow\or green\or Orange\or blue\or
+ DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\fi}
+\begin{pspicture}(-7,-1.5)(7,1.5)
+ \psclip{\psframe(-7,-1.5)(7,1.5)}
+ \psplot{-7}{7}{cos(x)}
+ \multido{\n=1+1}{10}{%
+ \psplot[linewidth=1pt,linecolor=\getColor{\n}]{-7}{7}{%
+ Sum(ijk,0,1,\n,(-1)^ijk*x^(2*ijk)/fact(2*ijk))}}
+ \endpsclip
+ \psaxes(0,0)(-7,-1.5)(7,1.5)
+\end{pspicture}
+\egroup
+\end{center}
+\begin{lstlisting}
+\psset{algebraic=true, plotpoints=501, yunit=3}
+\def\getColor#1{\ifcase#1 black\or red\or magenta\or yellow\or green\or Orange\or blue\or
+ DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\fi}
+\begin{pspicture}(-7,-1.5)(7,1.5)
+ \psclip{\psframe(-7,-1.5)(7,1.5)}
+ \psplot{-7}{7}{cos(x)}
+ \multido{\n=1+1}{10}{%
+ \psplot[linewidth=1pt,linecolor=\getColor{\n}]{-7}{7}{%
+ Sum(ijk,0,1,\n,(-1)^ijk*x^(2*ijk)/fact(2*ijk))}}
+ \endpsclip
+ \psaxes(0,0)(-7,-1.5)(7,1.5)
+\end{pspicture}
+\end{lstlisting}
+
+\clearpage
+%--------------------------------------------------------------------------------------
+\subsection[\nxLps{IfTE}]{The variable step algorithm together with the PostScript function \nxLps{IfTE}}
+%--------------------------------------------------------------------------------------
+\xLps{IfTE}\xLkeyword{VarStep}\xLkeyword{VarStepEpsilon}
+
+\begin{BDef}
+\Lps{IfTE}\Largr{<condition>,<true part>,<false part>}
+\end{BDef}
+
+Nesting of several \Lps{IfTE} is possible and seen in the
+following examples. A classic example is a piece-wise linear
+function.
+
+\begin{center}
+\begin{pspicture}(-7.5,-2.5)(7.5,6)
+ \psaxes{->}(0,0)(-7,-2)(7.5,6)[x,-90][y,0]
+ \psset{algebraic=true, plotpoints=21,linewidth=2pt}
+ \psplot[linecolor=blue]{-7.5}{7.5}{IfTE(x<-6,8+x,IfTE(x<0,-x/3,IfTE(x<3,2*x,9-x)))}
+ \psplot[linecolor=red, plotpoints=101]{-7.5}{7.5}{%
+ IfTE(2*x<-2^2*sqrt(9),7+x,IfTE(x<0,x^2/18-1,IfTE(x<3,2*x^2/3-1,8-x)))}%
+\end{pspicture}
+\end{center}
+
+
+\begin{lstlisting}
+\psset{unit=1.5, algebraic, ?\ON?VarStep?\OFF?, showpoints, ?\ON?VarStepEpsilon?\OFF?=.001}
+\begin{pspicture}[showgrid=true](-7,-2)(2,4)
+ \psplot{-7}{2}{?\ON?IfTE?\OFF?(x<-5,-(x+5)^3/2,?\ON?IfTE?\OFF?(x<0,0,x^2))}
+ \psplot{-7}{2}{5*x/9+26/9}
+ \psplot[linecolor=blue]{-7}{2}{(x+7)^30/9^30*4.5-1/2}
+ \psplot[linecolor=red]{-6.9}{2}
+ {?\ON?IfTE?\OFF?(x<-6,ln(x+7),?\ON?IfTE?\OFF?(x<-3,x+6,?\ON?IfTE?\OFF?(x<0.1415926,sin(x+3)+3,3.1415926-x)))}
+\end{pspicture}
+\end{lstlisting}
+
+When you program a piece-wise defined function you must take care
+that a plotting point must be put at each point where the
+description changes. Use \Lkeyword{showpoints}=true to see what's
+going on when there is a problem. You are on the safe side when
+you choose a big number for \Lkeyword{plotpoints}.
+
+
+\begin{center}
+\psset{unit=0.75}
+\begin{pspicture}(-8,-8)(8,8)
+ \psaxes{->}(0,0)(-8,-8)(8,8)[x,-90][y,0]
+ \psset{plotpoints=1000,linewidth=1pt}
+ \psplot[algebraic=true]{-8}{8}{ceiling(x)}
+ \psplot[algebraic=true, linecolor=yellow]{-8}{8}{rand/(2^31-1)+x}
+ \psplot[algebraic=true, linecolor=red]{-8}{8}{floor(x)}
+ \psplot[algebraic=true, linecolor=blue]{-8}{8}{round(x)}
+ \psplot[algebraic=true, linecolor=green]{-8}{8}{truncate(x)}
+ \psplot[algebraic=true, linecolor=cyan]{-8}{8}{div(mul(4,x),7)}
+ \psplot[algebraic=true, linecolor=gray]{-8}{8}{abs(x)+abs(x-3)-abs(5-5*x/7)}
+ \psplot[algebraic=true, linecolor=gray]{-8}{8}{abs(3*cos(x)+1)}
+ \psplot[algebraic=true, linecolor=magenta]{-8}{8}{floor(8*cos(x))}
+\end{pspicture}
+\end{center}
+
+\begin{lstlisting}
+\psset{unit=0.75}
+\begin{pspicture}(-8,-8)(8,8)
+ \psaxes{->}(0,0)(-8,-8)(8,8)[x,-90][y,0]
+ \psset{plotpoints=1000,linewidth=1pt}
+ \psplot[algebraic=true, linecolor=yellow]{-8}{8}{rand/(2^31-1)+x}
+ \psplot[algebraic=true]{-8}{8}{ceiling(x)}
+ \psplot[algebraic=true, linecolor=red]{-8}{8}{floor(x)}
+ \psplot[algebraic=true, linecolor=blue]{-8}{8}{round(x)}
+ \psplot[algebraic=true, linecolor=green]{-8}{8}{truncate(x)}
+ \psplot[algebraic=true, linecolor=cyan]{-8}{8}{div(mul(4,x),7)}
+ \psplot[algebraic=true, linecolor=gray]{-8}{8}{abs(x)+abs(x-3)-abs(5-5*x/7)}
+ \psplot[algebraic=true, linecolor=gray]{-8}{8}{abs(3*cos(x)+1)}
+ \psplot[algebraic=true, linecolor=magenta]{-8}{8}{floor(8*cos(x))}
+\end{pspicture}
+\end{lstlisting}
+
+
+\subsection[\nxLps{Derive} function]{Successive derivatives of a polynomial with the PostScript function \nxLps{Derive}}
+
+\begin{center}
+\bgroup
+\psset{unit=2, algebraic=true, VarStep=true, showpoints=true, VarStepEpsilon=.001}
+\def\getColor#1{\ifcase#1 Tan\or RedOrange\or magenta\or yellow\or green\or Orange\or blue\or
+ DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\or Goldenrod\or Mahogany\or
+ OrangeRed\or CarnationPink\or RoyalPurple\or Lavender\fi}
+\begin{pspicture}[showgrid=true](0,-1.2)(7,1.5)
+ \psclip{\psframe[linestyle=none](0,-1.1)(7,1.1)}
+ \multido{\in=0+1}{16}{%
+ \psplot[algebraic=true, linecolor=\getColor{\in}]{0.1}{7}
+ {Derive(\in,Sum(i,0,1,7,(-1)^i*x^(2*i)/Fact(2*i)))}}
+ \endpsclip
+\end{pspicture}
+\egroup
+\end{center}
+
+\begin{lstlisting}
+\psset{unit=2, algebraic=true, VarStep=true, showpoints=true, VarStepEpsilon=.001}
+\def\getColor#1{\ifcase#1 Tan\or RedOrange\or magenta\or yellow\or green\or Orange\or blue\or
+ DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\or Goldenrod\or Mahogany\or
+ OrangeRed\or CarnationPink\or RoyalPurple\or Lavender\fi}
+\begin{pspicture}[showgrid=true](0,-1.2)(7,1.5)
+ \psclip{\psframe[linestyle=none](0,-1.1)(7,1.1)}
+ \multido{\in=0+1}{16}{%
+ \psplot[algebraic=true, linecolor=\getColor{\in}]{0.1}{7}
+ {Derive(\in,Sum(i,0,1,7,(-1)^i*x^(2*i)/Fact(2*i)))}}
+ \endpsclip
+\end{pspicture}
+\end{lstlisting}
+
+
+\subsection{Special arrow option \texttt{arrowLW}}
+
+Only for the arrowtype \Lnotation{o}, \Lnotation{oo}, \Lnotation{*}, and \Lnotation{**} it is possible to
+set the arrowlinewidth with the optional keyword \Lkeyword{arrowLW}.
+When scaling an arrow by the keyword \Lkeyword{arrowscale} the width
+of the borderline is also scaled. With the optional argument
+\Lkeyword{arrowLW} the line width can be set separately and is not
+taken into account by the scaling value.
+
+\begin{LTXexample}[width=4cm]
+\begin{pspicture}(4,6)
+\psline[arrowscale=3,arrows=*-o](0,5)(4,5)
+\psline[arrowscale=3,arrows=*-o,
+ arrowLW=0.5pt](0,3)(4,3)
+\psline[arrowscale=3,arrows=*-o,
+ arrowLW=0.3333\pslinewidth](0,1)(4,1)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4cm]
+\begin{pspicture}(4,6)
+\psline[arrowscale=3,arrows=**-oo](0,5)(4,5)
+\psline[arrowscale=3,arrows=**-oo,
+ arrowLW=0.5pt](0,3)(4,3)
+\psline[arrowscale=3,arrows=**-oo,
+ arrowLW=0.3333\pslinewidth](0,1)(4,1)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+%--------------------------------------------------------------------------------------
+\clearpage
+\section{\nxLcs{psforeach} and \nxLcs{psForeach}}
+%--------------------------------------------------------------------------------------
+
+The macro \Lcs{psforeach} allows a loop with an individual increment.
+
+\begin{BDef}
+\Lcs{psforeach}\Largb{variable}\Largb{value list}\Largb{action}\\
+\Lcs{psForeach}\Largb{variable}\Largb{value list}\Largb{action}
+\end{BDef}
+
+With \Lcs{psforeach} the \Larg{action} is done inside a group and for \Lcs{psForeach} not.
+This maybe useful when using the macro to create tabular cells, which are
+alread grouped itself.
+
+\begin{LTXexample}
+\begin{pspicture}[showgrid=true](5,5)
+ \psforeach{\nA}{0, 1, 1.5, 3, 5}{%
+ \psdot[dotscale=3](\nA,\nA)}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[pos=t]
+%\usepackage{pst-func}
+\makeatletter
+\newcommand*\InitToks{\toks@={}}
+\newcommand\AddToks[1]{\toks@=\expandafter{\the\toks@ #1}}
+\newcommand*\PrintToks{\the\toks@}
+\newcommand*{\makeTable}[4][5mm]{%
+ \begingroup
+ \InitToks%
+ \AddToks{\begin{tabular}{|*{#2}{>{\RaggedLeft}p{#1}|}@{}l@{}}\cline{1-#2}}
+ \psForeach{\iA}{#3}{\expandafter\AddToks\expandafter{\iA & }}
+ \AddToks{\\\cline{1-#2}}%
+ \psForeach{\iA}{#3}{\expandafter\AddToks\expandafter{\expandafter%
+ \psPrintValue\expandafter{\iA\space /x ED #4} & }}
+ \AddToks{\\\cline{1-#2}\end{tabular}}%
+ \PrintToks
+ \endgroup
+}
+\makeatother
+
+\sffamily
+\psset{decimals=2,valuewidth=7,xShift=-20}
+$y=2^x$\\
+\makeTable[1cm]{6}{2,4,6,8,10,12}{2 x exp}
+\end{LTXexample}
+
+The value List can also be given by the first two and the last value, e.\,g. \verb=1,4,..,31=,
+then \PST calculates all values with the distance given by the first two values.
+
+\begin{LTXexample}[pos=t]
+\psset{xunit=0.3cm,yunit=2cm}
+\begin{pspicture}[showgrid](0,-5mm)(40,1)
+ \psforeach{\nA}{0, 3.14,..,25}{\psline(\nA,0)(\nA,1)}
+\end{pspicture}
+\end{LTXexample}
+
+The internal counter for the steps is named \LCtr{psLoopIndex} and can be used for own purposes.
+
+\begin{LTXexample}[pos=l]
+\begin{pspicture}[showgrid=true](5,5)
+\psforeach{\nA}{0, 1, 1.5, 2.25, 5}{%
+ \psdot[dotscale=3](\the\psLoopIndex,\nA)}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\part{\nxLPack{pst-node} -- package}
+
+\section{\nxLFile{pst-node.tex}}
+
+The package \LPack{pst-node} now uses the advanced key handling from \LPack{xkeyval}. The reason
+why it moved from the base into the contrib sections, where all packages uses \LPack{xkeyval}.
+
+\part{\nxLPack{pst-plot} -- package}
+
+\section{\nxLFile{pst-plot.tex}}
+
+The package \LPack{pst-plot} now uses the advanced key handling from \LPack{xkeyval}. The reason
+why it moved from the base into the contrib sections, where all packages uses \LPack{xkeyval}.
+
+\nocite{*}
+\bibliographystyle{plain}
+\bibliography{PSTricks}
+
+\printindex
+
+
+\end{document}
diff --git a/Master/texmf-dist/dvips/pstricks/pst-algparser.pro b/Master/texmf-dist/dvips/pstricks/pst-algparser.pro
index ab96e87353e..d2150d6b074 100644
--- a/Master/texmf-dist/dvips/pstricks/pst-algparser.pro
+++ b/Master/texmf-dist/dvips/pstricks/pst-algparser.pro
@@ -1,4 +1,4 @@
-% $Id: pst-algparser.pro 26 2008-06-14 11:50:02Z herbert $
+% $Id: pst-algparser.pro 90 2009-01-30 10:58:51Z herbert $
%%
%% PostScript prologue for PSTricks algorithm parser
%% Version 0.01, 2008/01/01
@@ -739,5 +739,5 @@ end%%%tx@CoreAnalyzerDict
/Fact { 1 exch 2 exch 1 exch { mul } for } bind def
/fact { Fact } bind def
end
-
-% END pstricks.pro
+%
+% END pst-algparser.pro \ No newline at end of file
diff --git a/Master/texmf-dist/dvips/pstricks/pst-dots.pro b/Master/texmf-dist/dvips/pstricks/pst-dots.pro
index 8077b3d59a0..915c20cf363 100644
--- a/Master/texmf-dist/dvips/pstricks/pst-dots.pro
+++ b/Master/texmf-dist/dvips/pstricks/pst-dots.pro
@@ -1,7 +1,7 @@
-% $Id: pst-dots.pro 26 2008-06-14 11:50:02Z herbert $
+% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $
%
%% PostScript prologue for pstricks.tex.
-%% Version 2.02, 2008/04/18
+%% Version 2.02, 2009/06/16
%%
%% For distribution, see pstricks.tex.
%%
@@ -19,8 +19,8 @@
10 dict dup begin % hold local
/FontType 3 def
/FontMatrix [.001 0 0 .001 0 0] def
- /FontBBox [-571.5 -742.5 571.5 742.5] def
-% /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph
+% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv
+ /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph
/Encoding 256 array def
0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef
Encoding % replace with given dot names
@@ -166,8 +166,8 @@ end
1 index /Encoding get exch get
1 index /BuildGlyph get exec
} bind def
-
+%
end
/PSTricksDotFont exch definefont pop
-
+%
%% end \ No newline at end of file
diff --git a/Master/texmf-dist/dvips/pstricks/pst-node.pro b/Master/texmf-dist/dvips/pstricks/pst-node.pro
deleted file mode 100644
index 72e43440fd9..00000000000
--- a/Master/texmf-dist/dvips/pstricks/pst-node.pro
+++ /dev/null
@@ -1,433 +0,0 @@
-% $Id: pst-node.pro 90 2009-01-30 10:58:51Z herbert $
-%%
-%% PostScript prologue for pst-node.tex.
-%% Version 1.02, 2009/01/30.
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN archives
-%% in directory macros/latex/base/lppl.txt.
-%
-/tx@NodeDict 400 dict def tx@NodeDict begin
-tx@Dict begin % from main pstricks dict
- /T /translate load def
-end
-/NewNode { % on stack: { x y } boolean N@name type InitXnode
- gsave
- /next ED % { x y } boolean N@name type
- dict dup % { x y } boolean N@name dict dict
- 3 1 roll def % { x y } boolean dict N@name dict def
- exch { dup 3 1 roll def } if % { x y } dict boolean
- begin % { x y } dict begin
- tx@Dict begin
- STV CP T exec % set scaling
- end
- /NodeMtrx CM def % save CM
- next % InitXNode
- end
- grestore
-} def
-%
-/InitPnode {
- /Y ED /X ED
- /NodePos { NodeSep Cos mul NodeSep Sin mul } def
-} def
-%
-/InitCnode {
- /r ED /Y ED /X ED
- /NodePos { NodeSep r add dup Cos mul exch Sin mul } def
-} def
-%
-/GetRnodePos {
- Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse
- Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse
- dx Sin mul abs dy
- Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse
-} def
-%
-/InitRnode {
- /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED
- /NodePos { GetRnodePos } def
-} def
-%
-/DiaNodePos {
- w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup
- Cos mul exch Sin mul
-} def
-%
-/TriNodePos {
- Sin s lt
- { d NodeSep sub dup Cos mul Sin Div exch }
- { w h mul w Sin mul h Cos abs mul add Div
- NodeSep add dup Cos mul exch Sin mul
- } ifelse
-} def
-%
-/InitTriNode {
- sub 2 div exch
- 2 div exch
- 2 copy T
- 2 copy 4 index index /d ED
- pop pop pop pop
- -90 mul rotate
- /NodeMtrx CM def
- /X 0 def /Y 0 def
- d sub abs neg /d ED
- d add /h ED
- 2 div h mul h d sub Div /w ED
- /s d w Atan sin def
- /NodePos { TriNodePos } def
-} def
-%
-/OvalNodePos {
- /ww w NodeSep add def
- /hh h NodeSep add def
- Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul
-} def
-%
-/GetCenter { begin X Y NodeMtrx transform CM itransform end } def
-%
-/XYPos {
- dup sin exch cos Do
- /Cos ED /Sin ED /Dist ED
- Cos 0 gt
- { Dist Dist Sin mul Cos div }
- { Cos 0 lt
- { Dist neg Dist Sin mul Cos div neg }
- { 0 Dist Sin mul } ifelse
- } ifelse
- Do
-} def
-%
-/GetEdge {
- dup 0 eq
- { pop begin 1 0 NodeMtrx dtransform
- CM idtransform
- exch atan sub
- dup
- sin /Sin ED
- cos /Cos ED
- /NodeSep ED
- NodePos NodeMtrx dtransform CM idtransform end }
- { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse
-} def
-%
-/AddOffset {
- 1 index 0 eq
- { pop pop }
- { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse
-} def
-%
-/GetEdgeA {
- NodeSepA AngleA NodeA NodeSepTypeA GetEdge
- OffsetA AngleA AddOffset
- yA add /yA1 ED
- xA add /xA1 ED
-} def
-%
-/GetEdgeB {
- NodeSepB AngleB NodeB NodeSepTypeB GetEdge
- OffsetB AngleB AddOffset
- yB add /yB1 ED
- xB add /xB1 ED
-} def
-%
-/GetArmA {
- ArmTypeA 0 eq
- { /xA2 ArmA AngleA cos mul xA1 add def
- /yA2 ArmA AngleA sin mul yA1 add def }
- { ArmTypeA 1 eq {{exch}} {{}} ifelse
- /Do ED
- ArmA AngleA XYPos OffsetA AngleA AddOffset
- yA add /yA2 ED
- xA add /xA2 ED } ifelse
-} def
-%
-/GetArmB {
- ArmTypeB 0 eq
- { /xB2 ArmB AngleB cos mul xB1 add def
- /yB2 ArmB AngleB sin mul yB1 add def }
- { ArmTypeB 1 eq {{exch}} {{}} ifelse
- /Do ED
- ArmB AngleB XYPos OffsetB AngleB AddOffset
- yB add /yB2 ED
- xB add /xB2 ED } ifelse
-} def
-%
-/InitNC {
- /b ED /a ED % second and first node
- /NodeSepTypeB ED /NodeSepTypeA ED
- /NodeSepB ED /NodeSepA ED
- /OffsetB ED /OffsetA ED
- tx@NodeDict a known tx@NodeDict b known and dup {
- /NodeA a load def
- /NodeB b load def
- NodeA GetCenter /yA ED /xA ED
- NodeB GetCenter /yB ED /xB ED } if
-} def
-%
-/LPutLine {
- 4 copy
- 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED
- 1 t sub mul
- 3 1 roll 1 t sub mul
- 4 1 roll t mul add /Y ED
- t mul add /X ED
-} def
-%
-/LPutLines {
- mark LPutVar counttomark 2 div 1 sub /n ED
-% t floor dup n gt
- t floor dup n ge % to allow npos<= hv 2008-08-14
- { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse
- cvi 2 mul { pop } repeat
- LPutLine
- cleartomark
-} def
-%
-/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED
-/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3
-mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx
-sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul
-add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add
-y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul
-mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def
-/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def
-} def
-/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def
-/NAngle yyB yyA sub xxB xxA sub Atan def } def
-/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def
-/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def
-} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit
-} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd
-} def
-/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def
-} def
-/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def
-/NAngle yyB yyA sub xxB xxA sub Atan def } def
-/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def
-/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def
-} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {
-exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark
-VPosEnd } def
-/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2
-roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx
-def grestore exec /LPutVar /SaveLPutVar load def } def
-/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def
-GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {
-LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
-LPutVar VPutLine } def LPutVar } def
-/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop
-end } def
-/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub
-Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan
-/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1
-yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos {
-LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }
-ifelse } def
-/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1
-roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA
-GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict
-begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]
-cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines
-} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def
-%
-/NCAngles {
- GetEdgeA GetEdgeB GetArmA GetArmB
- /mtrx AngleA matrix rotate def
- xA2 yA2 mtrx transform pop
- xB2 yB2 mtrx transform exch pop
- mtrx itransform
- /y0 ED /x0 ED
- mark ArmB 0 ne { xB1 yB1 } if
- xB2 yB2 x0 y0 xA2 yA2
- ArmA 0 ne { xA1 yA1 } if
- tx@Dict begin false Line end
- /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def
- /LPutPos { LPutLines } def
- /HPutPos { HPutLines } def
- /VPutPos { VPutLines } def } def
-%
-/NCAngle {
- GetEdgeA GetEdgeB GetArmB
- /mtrx AngleA matrix rotate def
- xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform
- /y0 ED /x0 ED
- mark
- ArmB 0 ne { xB1 yB1 } if
- xB2 yB2 x0 y0 xA1 yA1
- tx@Dict begin false Line end
- /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def
- /LPutPos { LPutLines } def
- /HPutPos { HPutLines } def
- /VPutPos { VPutLines } def
-} def
-%
-/NCBar {
- GetEdgeA GetEdgeB GetArmA GetArmB
- /mtrx AngleA matrix rotate def
- xA2 yA2 mtrx itransform pop
- xB2 yB2 mtrx itransform pop
- sub dup 0 mtrx transform
- 3 -1 roll 0 gt
- { /yB2 exch yB2 add def /xB2 exch xB2 add def }
- { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse
- mark
- ArmB 0 ne { xB1 yB1 } if
- xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
- tx@Dict begin false Line end
- /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
- /LPutPos { LPutLines } def
- /HPutPos { HPutLines } def
- /VPutPos { VPutLines } def
-} def
-%
-/NCDiag {
- GetEdgeA GetEdgeB GetArmA GetArmB mark
- ArmB 0 ne { xB1 yB1 } if
- xB2 yB2 xA2 yA2
- ArmA 0 ne { xA1 yA1 } if
- tx@Dict begin false Line end
- /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
- /LPutPos { LPutLines } def
- /HPutPos { HPutLines } def
- /VPutPos { VPutLines } def
-} def
-%
-/NCDiagg {
- GetEdgeA GetArmA
- yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED
- GetEdgeB
- mark
- xB1 yB1 xA2 yA2
- ArmA 0 ne { xA1 yA1 } if
- tx@Dict begin false Line end
- /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
- /LPutPos { LPutLines } def
- /HPutPos { HPutLines } def
- /VPutPos { VPutLines } def
-} def
-%
-/NCLoop {
- GetEdgeA GetEdgeB GetArmA GetArmB
- /mtrx AngleA matrix rotate def
- xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED
- /xB3 xB2 yB2 mtrx transform pop def
- xB3 yA3 mtrx itransform /yB3 ED /xB3 ED
- xA3 yA3 mtrx itransform /yA3 ED /xA3 ED
- mark ArmB 0 ne { xB1 yB1 } if
- xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
- tx@Dict begin false Line end
- /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def
- /LPutPos { LPutLines } def
- /HPutPos { HPutLines } def
- /VPutPos { VPutLines } def
-} def
-%
-% DG/SR modification begin - May 9, 1997 - Patch 1
-%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r
-%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
-%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
-%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
-%
-/NCCircle {
- NodeSepA 0 NodeA 0 GetEdge pop
- 2 div dup 2 exp r r mul sub abs sqrt
- atan 2 mul /a ED
- r AngleA 90 add PtoC yA add exch xA add
- exch 2 copy
- /LPutVar [ 4 2 roll r AngleA ] cvx def
- /LPutPos {
- LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC
- 3 -1 roll add
- /Y ED add /X ED /NAngle ED
-% DG/SR modification end
- } def
- /HPutPos { LPutPos } def
- /VPutPos { LPutPos } def
- r AngleA 90 sub a add AngleA 270 add a sub
- tx@Dict begin
- /angleB ED /angleA ED /r ED
- /c 57.2957 r Div def
- /y ED /x ED
-} def
-%
-/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB
-180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos
-mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def
-/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy
-add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos
-{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar
-tx@Dict begin false Polygon end } def
-/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan
-def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2
-mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def
-/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div
-def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def
-GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul
-sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0
-eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn }
-{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def
-0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2
-roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0
-0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2
-roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat }
-ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos
-{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le {
-r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC }
-{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add
-add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub
-mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t
-sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse
-y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos {
-LPutPos } def } def
-/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB
-sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1
-ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB
-w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos
-{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }
-{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }
-def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin
-/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def
-%
-/LPutCoor {
- NAngle
- tx@Dict begin /NAngle ED end
- gsave
- CM STV
- CP Y sub neg exch X sub neg exch moveto
- setmatrix CP
- grestore
-} def
-%
-/LPut {
- tx@NodeDict /LPutPos known
- { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse
- LPutCoor
-} def
-%
-/HPutAdjust {
- Sin Cos mul 0 eq
- { 0 }
- { d Cos mul Sin div flag not { neg } if
- h Cos mul Sin div flag { neg } if
- 2 copy gt { pop } { exch pop } ifelse
- } ifelse
- s add flag { r add neg }{ l add } ifelse
- X add /X ED
-} def
-%
-/VPutAdjust {
- Sin Cos mul
- 0 eq
- { 0 }
- { l Sin mul Cos div flag { neg } if
- r Sin mul Cos div flag not { neg } if
- 2 copy gt { pop } { exch pop } ifelse
- } ifelse
- s add flag { d add } { h add neg } ifelse
- Y add /Y ED
-} def
-%
-end
-%
-% END pst-node.pro
diff --git a/Master/texmf-dist/dvips/pstricks/pstricks.pro b/Master/texmf-dist/dvips/pstricks/pstricks.pro
index fa156bb7488..19096f3f05c 100644
--- a/Master/texmf-dist/dvips/pstricks/pstricks.pro
+++ b/Master/texmf-dist/dvips/pstricks/pstricks.pro
@@ -1,4 +1,4 @@
-% $Id: pstricks.pro 90 2009-01-30 10:58:51Z herbert $
+% $Id: pstricks.pro 266 2010-01-22 14:45:23Z herbert $
%
%% PostScript prologue for pstricks.tex.
%% Version 1.06, 2009/01/30
@@ -72,28 +72,29 @@ tx@Dict begin
/STP { .996264 dup scale } def % BP/PT scaling
/STV { SDict begin normalscale end STP } def %
%
-%%-------------- DG begin patch 15 ---------------%%
-%/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def
-%PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y
-%mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul
-%/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ]
-%0 } ifelse setdash stroke } def
/DashLine {
- dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse
- /b ED /x1 ED /y1 ED /x ED /y ED
- /z y x add y1 add x1 add def
- /Coef b a .5 sub 2 mul y mul sub z Div round
- z mul a .5 sub 2 mul y mul add b exch Div def
- /y y Coef mul def
- /x x Coef mul def
- /y1 y1 Coef mul def
- /x1 x1 Coef mul def
- x1 0 gt y1 0 gt or x 0 gt or y 0 gt and
- { [ y x y1 x1 ] 1 a sub y mul }
- { [ 1 0 ] 0 } ifelse
- setdash stroke
-} def
-%%-------------- DG end patch 15 ---------------%%
+ dup 0 gt
+ { /a .5 def PathLength exch div }
+ { pop /a 1 def PathLength } ifelse
+ /b ED % pattern should fit evenly in b
+ dup /X ED % pattern array
+ 0 get /y ED % length of first black segment
+ /z 0 X {add} forall def % length of the full pattern
+ %% Computation of the scaling factor as described by van Zandt:
+ b a .5 sub 2 mul y mul sub z Div round
+ z mul a .5 sub 2 mul y mul add b exch Div
+ %%%% scaling factor on stack.
+ /z ED %% now, z is the scaling factor
+ false % for the length test below
+ X { z mul } forall X astore %% modification TN 04-08-07
+ %%% Checking whether at least one dash in X has positive length:
+ {0 gt or} forall
+ { X 1 a sub y mul }
+ { [ 1 0 ] 0 }
+ ifelse
+ setdash stroke
+} def
+%
/DotLine {
/b PathLength def
/a ED /z ED /y CLW def
@@ -112,6 +113,35 @@ tx@Dict begin
setdash 1 setlinecap stroke
} def
%
+/SymbolLine { % on stack [ x y x y ...
+ counttomark % number of elements
+ 2 div cvi /n ED % n pairs
+ /YA ED /XA ED % the start point
+ n 1 sub {
+ /YB ED /XB ED
+ /XLength XB XA sub def
+ /YLength YB YA sub def
+ /PAngle YLength XLength Atan def
+ /XYLength XLength YLength Pyth def
+ /nSym XYLength SymStep div cvi def
+ /Shift Symbol stringwidth pop 2 div def
+ /deltaX XLength nSym div def
+ /deltaY YLength nSym div def
+ XA Shift sub YA Shift sub moveto
+ nSym {
+ gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ grestore
+ deltaX deltaY rmoveto
+ } repeat
+ /YA YB def /XA XB def
+ } repeat
+ XA Shift sub YA Shift sub moveto
+ gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show grestore
+ pop % delete the mark symbol
+} def
+%
/LineFill { % hv ------------ patch 7 -------------
gsave
abs /hatchWidthInc ED
@@ -167,21 +197,6 @@ tx@Dict begin
pop pop
} def
%
-%gsave abs CLW add /a ED a 0 dtransform round exch round exch
-%2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25
-%% DG/SR modification begin - Dec. 12, 1997 - Patch 2
-%%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
-%itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
-%% DG/SR modification end
-%Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict
-%/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1
-%% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
-%% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore }
-%% def
-%a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore
-%pop pop } def
-%% DG/SR modification end
-%
/BeginArrow {
ADict begin % hold it local, for end see EndArrow
/@mtrx CM def
@@ -253,24 +268,25 @@ tx@Dict begin
/SD { 0 360 arc fill } def
%
/EndDot { % DS is the dot size
- { /z DS def } { /z 0 def } ifelse
- /b ED 0 z DS SD b { 0 z DS CLW sub SD } if
- 0 DS z add CLW 4 div sub moveto } def
+ { /z DS def } { /z 0 def } ifelse % outer or inner dimen
+ /b ED % the color definition
+ 0 z DS SD
+ b { 0 z DS CLW sub SD } if
+ 0 DS z add CLW 4 div sub
+ moveto
+} def
%
/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
load } if ] cvx newpath 3 1 roll T exec } def
%
-%/NArray {
-% aload length 2 div dup dup cvi eq not { exch pop } if /n exch
-% cvi def
-%} def
-%
/NArray { % holds the coordinates and on top of stack the showpoints boolean
/showpoints ED
- counttomark 2 div dup cvi /n ED
- n eq not { exch pop } if
- showpoints { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse
+ counttomark 2 div dup cvi /n ED % n 2 div on stack
+ n eq not { exch pop } if % even numbers of points? delete one
+ showpoints
+ { ] aload /Points ED }
+ { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol
} def
%
/Line {
@@ -281,6 +297,30 @@ tx@Dict begin
} if
} def
%
+/LineToYAxis {
+ NArray % all x-y pairs on stack
+ n { 2 copy moveto % go to current point
+ 0 exch Lineto % line to y-axis
+ pop % delete old x-value
+ } repeat
+} def
+%
+/LineToXAxis{
+ NArray % all x-y pairs on stack
+ n 0 eq not
+ { n 1 eq { 0 0 /n 2 def } if
+ ArrowA
+ /n n 2 sub def
+ CP 2 copy moveto pop 0 Lineto
+ n { 2 copy moveto pop 0 Lineto } repeat
+ CP
+ 4 2 roll
+ ArrowB
+ 2 copy moveto pop 0
+ L
+ pop pop } if
+} def
+%
/Arcto {
/a [ 6 -2 roll ] cvx def
a r
@@ -288,13 +328,57 @@ tx@Dict begin
a
} def
%
-/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
- and { pop pop /n n 1 sub def } if } def
-/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop }
- repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1
- ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1
- moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto
- Lineto pop pop closepath } ifelse } def
+/CheckClosed {
+ dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
+ and { pop pop /n n 1 sub def } if
+} def
+%
+/Polygon {
+ NArray n 2 eq { 0 0 /n 3 def } if
+ n 3 lt
+ { n { pop pop } repeat }
+ { n 3 gt { CheckClosed } if
+ n 2 mul -2 roll
+ /y0 ED /x0 ED /y1 ED /x1 ED
+ x1 y1
+ /x1 x0 x1 add 2 div def
+ /y1 y0 y1 add 2 div def
+ x1 y1 moveto
+ /n n 2 sub def
+ n { Lineto } repeat
+ x1 y1 x0 y0 6 4 roll Lineto
+ Lineto pop pop closepath } ifelse
+} def
+%
+/SymbolPolygon { % on stack [ x y x y ...
+ counttomark % number of elements
+ 2 add /m ED
+ 2 copy m 2 roll % copy last two
+ m 2 div cvi /n ED % n pairs
+ /YA ED /XA ED % the start point
+ n 1 sub {
+ /YB ED /XB ED
+ /XLength XB XA sub def
+ /YLength YB YA sub def
+ /PAngle YLength XLength Atan def
+ /XYLength XLength YLength Pyth def
+ /nSym XYLength SymStep Div cvi def
+ /Shift Symbol stringwidth pop 2 Div def
+ /deltaX XLength nSym Div def
+ /deltaY YLength nSym Div def
+ XA Shift sub YA Shift sub moveto
+ nSym {
+ gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
+ Symbol show
+ grestore
+ deltaX deltaY rmoveto
+ } repeat
+% XB Shift sub YB Shift sub moveto Symbol show
+ /YA YB def /XA XB def
+ } repeat
+ pop % delete the mark symbol
+} def
+%
/Diamond {
/mtrx CM def
T rotate
@@ -310,12 +394,6 @@ tx@Dict begin
/ArrowB { } def
false Line
closepath mtrx setmatrix } def
-% DG modification begin - Jan. 15, 1997
-%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq {
-%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2
-%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0
-%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
-%setmatrix } def
%
/Triangle {
/mtrx CM def
@@ -383,6 +461,39 @@ tx@Dict begin
{ BOC /n n 3 sub def n { NC } repeat EOC } ifelse
} def
%
+/CurvePath {
+ flattenpath /z 0 def /z0 0 def
+ { /y1 ED /x1 ED /y2 y1 def /x2 x1 def
+ x1 Shift sub y1 Shift sub moveto
+ gsave
+ startAngle rotate Symbol show
+ grestore /z0 z def }
+ { /y ED /x ED PathLength@ z z0 sub SymStep ge {
+ x Shift sub y Shift sub moveto
+ gsave
+ rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
+ Symbol show
+ grestore /z0 z def } if
+ /yOld y def /xOld x def }
+ {}
+ { /y y2 def /x x2 def PathLength@
+ x Shift sub y Shift sub moveto
+ gsave
+ rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
+ Symbol show
+ grestore
+ }
+ pathforall
+ z
+} def
+%
+/OpenSymbolCurve {
+ OpenCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
/AltCurve {
{ false NArray n 2 mul 2 roll
[ n 2 mul 3 sub 1 roll ] aload
@@ -392,6 +503,13 @@ tx@Dict begin
n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse
} def
%
+/AltOpenSymbolCurve {
+ AltCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
/ClosedCurve {
NArray n 3 lt
{ n { pop pop } repeat }
@@ -402,6 +520,13 @@ tx@Dict begin
} ifelse
} def
%
+/ClosedSymbolCurve {
+ ClosedCurve
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def
@@ -469,6 +594,13 @@ tx@Dict begin
6 2 roll 4 2 roll ArrowB curveto } ifelse
} def
%
+/OpenSymbolBezier {
+ OpenBezier
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+} def
+%
/ClosedBezier {
BezierNArray
n 1 eq
@@ -478,6 +610,19 @@ tx@Dict begin
closepath } ifelse
} def
%
+/ClosedSymbolBezier {
+ /f ED % save showpoints value
+ 2 copy /yEnd ED /xEnd ED
+ counttomark -2 roll 2 copy /yStart ED /xStart ED
+ counttomark 2 roll
+ f
+ ClosedBezier
+ 0.1 setflat
+ /Shift Symbol stringwidth pop 2 div def
+ CurvePath
+ [ xEnd yEnd xStart yStart SymbolLine
+} def
+%
/BezierShowPoints {
gsave
Points aload length 2 div cvi /n ED
@@ -497,6 +642,21 @@ tx@Dict begin
/Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def
} def
%
+/Parab1 { % 1 end | 0 SP
+ /ySP ED /xSP ED /y1 ED /x1 ED
+ /dx xSP x1 sub 3 div def
+ /dy ySP y1 sub 3 div def
+ newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto
+ x1 ySP lineto closepath clip
+ currentpoint
+ newpath moveto
+ xSP dx sub ySP dy add x1 y1 ArrowA
+ xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB
+ curveto
+ /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def
+} def
+%
+%
/Grid {
newpath
/a 4 string def
@@ -737,6 +897,41 @@ dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifel
/IfVisible true def
} def
%
+%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% ### bubblesort ###
+%% syntax : array bubblesort --> array2 trie par ordre croissant
+%% code de Bill Casselman
+%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
+/bubblesort {
+4 dict begin
+ /a exch def
+ /n a length 1 sub def
+ n 0 gt {
+ % at this point only the n+1 items in the bottom of a remain to
+ % the sorted largest item in that blocks is to be moved up into
+ % position n
+ n {
+ 0 1 n 1 sub {
+ /i exch def
+ a i get a i 1 add get gt {
+ % if a[i] > a[i+1] swap a[i] and a[i+1]
+ a i 1 add
+ a i get
+ a i a i 1 add get
+ % set new a[i] = old a[i+1]
+ put
+ % set new a[i+1] = old a[i]
+ put
+ } if
+ } for
+ /n n 1 sub def
+ } repeat
+ } if
+ a
+end
+} def
+%
+%
end
%-----------------------------------------------------------------------------%
%
diff --git a/Master/texmf-dist/tex/generic/pstricks/distiller.con b/Master/texmf-dist/tex/generic/pstricks/distiller.con
deleted file mode 100644
index d7c25ab6ea9..00000000000
--- a/Master/texmf-dist/tex/generic/pstricks/distiller.con
+++ /dev/null
@@ -1,160 +0,0 @@
-%% BEGIN: distiller.con (for distiller driver)
-%%
-%% Configuration file for PSTricks
-%%
-%% Version 0.01 (2008/01/24)
-%%
-%% For use with Adobes Distiller (tested with v7.0.7)
-%%
-%% COPYRIGHT 2008 by Herbert Voss, hvoss@tug.org.
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt.
-%
-\def\pstdriver{distiller}
-{\catcode`\"=12\gdef\pstverb#1{\special{" #1}}} % Check catcode of "
-\def\pstunit{1bp}%
-\def\pstVerb#1{\special{ps: #1}}
-\def\pstverbscale{SDict begin normalscale end}
-\ifx\textsuperscript\@undefined
- \def\pstheader#1{\special{header=#1}}
-\else
- \ifx\Gin@PS@file@header\@undefined
- \def\pstheader#1{\AtBeginDvi{\special{header=#1}}}
- \else
- \let\pstheader\Gin@PS@file@header
- \fi
-\fi
-%% In the following, CP is short for currentpoint.
-%% The neg is necessary because dvips scales the coordinates by 1 -1.
-%% \tx@NET means neg exch neg exch translate.
-\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET}
-%
-\pst@def{setTransparency}<
- [ /BM/Normal
- /ca \psk@opacityalpha
- /CA \psk@opacityalpha /SetTransparency pdfmark >
-\pst@def{setStrokeTransparency}<
- [ /BM/Normal
- /ca \psk@strokeopacityalpha
- /CA \psk@strokeopacityalpha /SetTransparency pdfmark >
-\pst@def{setBlendmode}<
- [ /BM\ifcase\psk@blendmode%
- /Normal \or
- /Compatible %\or
- \else /Normal
- /Screen \or
- /Multiply %\or
-% /Hardlight
- \fi/ca \psk@shapealpha /CA \psk@opacityalpha /SetTransparency pdfmark >
-%%
-%% ****************** END distiller.con *****************************
-
-%%%%%%%%%%%%%%%%%%% !! CUSTOMIZATION STUFF GOES HERE: !! %%%%%%%%%%%%%%%%%%
-%% If you want to include your own customizations to pstricks.tex, then
-%% uncomment the \pstcustomize command, and include your modifications
-%% after \pstcustomize. These will be read in after pstricks.tex.
-%\pstcustomize
-%
-\endinput
-
-%%
-%%%%%%%%%%%%%%%%%%% !! GENERAL INSTRUCTIONS !! %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-Because there are no standards for dvi-to-PS driver \special's,
-some driver-dependent commands must be defined in this file.
-
-Possibly correct definitions for some dvi drivers are given below.
-Copy the section for the driver you want to use to the indicated place
-near the beginning of the file, replacing any other definitions you
-might find there.
-
-When changing drivers, you may need to remake the header file.
-
-See the PSTricks read-me file for further installation instructions.
-
-Please report good and bad experiences with dvi-to-PS drivers,
-along with the definitions of these commands that worked
-for you, to tvz@Princeton.EDU. Thanks.
-
-
-%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%%
-
-Here are the commands that must be defined in this file:
-
- \pstverb{} - The argument is included as verbatim PostScript,
- grouped by save and restore. The coordinate system
- should be square, not rotated, and with the origin
- at TeX's currentpoint.
-
- \pstVerb{} - The argument is included as verbatim PostScript, not
- grouped by (g)save and (g)restore. The currentpoint
- should be TeX's currentpoint.
-
- \pstunit - The units used by driver for graphics included with
- \pstverb. Probably 1bp or 1sp.
-
- \pstverbscale - The PostScript code that scales the coordinate system
- from that in effect with \pstVerb to that in effect
- with \pstverb. Should not translate to the currentpoint.
-
- \pstrotate - The PostScript code that takes a number off the stack
- and rotates the axes properly. I.e.,
- \pstVerb{angle \pstrotate} is used to begin rotations.
-
- \pstheader{} - The argument is a header file (e.g., .pro file).
- If your driver does not support such a special, then
- the command might just remind you to include the header
- when printing. You can use PSTricks without a header,
- in which case it does not matter how you define
- \pstheader. See read-me.pst for details.
- If you cannot change the default directory where your
- driver looks for header files, and you cannot write to
- that directory, then you include the path for your
- PSTricks header files.
- E.g., \def\pstheader#1{\special{header=~/tex/#1}}.
-
- \pstdriver - The name of the driver.
-
-
-%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%%
-
-See your local TeX documentation for instructions on creating a TeX format.
-
-Before making the format, be sure that this configuration file is correct.
-It will be read only when creating the format, and not with every job.
-
-If you are not using header files, there are no more special instructions.
-
-Special instructions when using header files:
-
- - If you want to include supplementary PSTricks files (e.g., pst-node.tex),
- add \input commands in the customization section above.
-
- - If your definition of \pstheader is, e.g.
-
- \def\pstheader#1{\special{\header=#1}}
-
- then change it to
-
- \def\pstheader#1{%
- \expandafter\everyjob\expandafter{\the\everyjob
- \special{header=#1}}}
-
- and put your original definition in the customization section, AFTER
- any \input commands. E.g., the customization section might look like:
-
- \pstcustomize
- \input pst-node.tex
- \input pst-coil.tex
- \def\pstheader#1{\special{header=#1}}
-
- - Input pstricks.tex at the appropriate time when creating the format.
- E.g., when initex stops running:
- *\input pstricks
- *\dump
-
-
-%%
-%% END: distiller.con
diff --git a/Master/texmf-dist/tex/generic/pstricks/dvipsone.con b/Master/texmf-dist/tex/generic/pstricks/dvipsone.con
deleted file mode 100644
index 4a90292dd00..00000000000
--- a/Master/texmf-dist/tex/generic/pstricks/dvipsone.con
+++ /dev/null
@@ -1,138 +0,0 @@
-%% BEGIN pstricks.con (for DVIPSONE driver)
-%%
-%% Configuration file for PSTricks 97: must be renamed `pstricks.con'
-%%
-%% Version 97 (1994/03/29)
-%%
-%% For use with DVIPSONE. (May require the -j flag with dvipsone)
-
-\def\pstdriver{DVIPSONE}
-\def\pstunit{1bp}
-{\catcode`\"=12 \gdef\pstverb#1{\special{" #1}} }
-\def\pstVerb#1{\special{ps:: #1}}
-\def\pstverbscale{1 dviscl div dup neg scale}
-\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET}
-\def\pstheader#1{\special{header=#1}}
-
-\pstcustomize
-
-\endinput
-
-%% To get PSTricks charpath and textpath to work:
-%----------- pst-show.pro ------------------------------------------
-%!
-% Patch for dvipsone to get PSTricks' charpath and textpath to work.
-% Save as pst-show.pro, put it with your other PSTricks .pro files.
-% Add "\pstheader{pst-show.pro}" to the beginning of your document.
-%
-% We unbind show:
-dvidict begin
-/S {show dup 0 rmoveto} def
-/T {show 2 index 0 rmoveto} def
-/s {show} def
-end
-
-\endinput
-%------------- end pst-show.pro ------------------------------------
-%%
-%%%%%%%%%%%%%%%%%%% !! GENERAL INSTRUCTIONS !! %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-Because there are no standards for dvi-to-PS driver \special's,
-some driver-dependent commands must be defined in this file.
-
-Possibly correct definitions for some dvi drivers are given below.
-Copy the section for the driver you want to use to the indicated place
-near the beginning of the file, replacing any other definitions you
-might find there.
-
-When changing drivers, you may need to remake the header file.
-
-See the PSTricks read-me file for further installation instructions.
-
-Please report good and bad experiences with dvi-to-PS drivers,
-along with the definitions of these commands that worked
-for you, to tvz@Princeton.EDU. Thanks.
-
-
-%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%%
-
-Here are the commands that must be defined in this file:
-
- \pstverb{} - The argument is included as verbatim PostScript,
- grouped by save and restore. The coordinate system
- should be square, not rotated, and with the origin
- at TeX's currentpoint.
-
- \pstVerb{} - The argument is included as verbatim PostScript, not
- grouped by (g)save and (g)restore. The currentpoint
- should be TeX's currentpoint.
-
- \pstunit - The units used by driver for graphics included with
- \pstverb. Probably 1bp or 1sp.
-
- \pstverbscale - The PostScript code that scales the coordinate system
- from that in effect with \pstVerb to that in effect
- with \pstverb. Should not translate to the currentpoint.
-
- \pstrotate - The PostScript code that takes a number off the stack
- and rotates the axes properly. I.e.,
- \pstVerb{angle \pstrotate} is used to begin rotations.
-
- \pstheader{} - The argument is a header file (e.g., .pro file).
- If your driver does not support such a special, then
- the command might just remind you to include the header
- when printing. You can use PSTricks without a header,
- in which case it does not matter how you define
- \pstheader. See read-me.pst for details.
- If you cannot change the default directory where your
- driver looks for header files, and you cannot write to
- that directory, then you include the path for your
- PSTricks header files.
- E.g., \def\pstheader#1{\special{header=~/tex/#1}}.
-
- \pstdriver - The name of the driver.
-
-
-%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%%
-
-See your local TeX documentation for instructions on creating a TeX format.
-
-Before making the format, be sure that this configuration file is correct.
-It will be read only when creating the format, and not with every job.
-
-If you are not using header files, there are no more special instructions.
-
-Special instructions when using header files:
-
- - If you want to include supplementary PSTricks files (e.g., pst-node.tex),
- add \input commands in the customization section above.
-
- - If your definition of \pstheader is, e.g.
-
- \def\pstheader#1{\special{\header=#1}}
-
- then change it to
-
- \def\pstheader#1{%
- \expandafter\everyjob\expandafter{\the\everyjob
- \special{header=#1}}}
-
- and put your original definition in the customization section, AFTER
- any \input commands. E.g., the customization section might look like:
-
- \pstcustomize
- \input pst-node.tex
- \input pst-coil.tex
- \def\pstheader#1{\special{header=#1}}
-
- - Input pstricks.tex at the appropriate time when creating the format.
- E.g., when initex stops running:
- *\input pstricks
- *\dump
-
-
-%%
-%% END: pstricks.con
-
-%%
-%% END: dvipsone.con
diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-fp.tex b/Master/texmf-dist/tex/generic/pstricks/pst-fp.tex
new file mode 100644
index 00000000000..046f8e58185
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pstricks/pst-fp.tex
@@ -0,0 +1,714 @@
+%% $Id: pst-fp.tex 259 2010-01-17 09:51:50Z herbert $
+%%
+%%
+%% This is file `pst-fp.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-fp.tex'
+%%
+%% Herbert Voss <hvoss@tug.org>
+%% stolen from the fp package by Michael Mehlich
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pst-fp' is a PSTricks related package for a division,
+%% multiplication and addition
+%%
+\csname PSTFPloaded\endcsname
+\let\PSTFPloaded\endinput
+%
+% Requires some packages
+\ifx\PSTricksLoaded\endinput\else\input pstricks \fi
+%
+\def\fileversion{0.05}
+\def\filedate{2010/01/17}
+\message{`pst-fp' v\fileversion, \filedate\space (hv)}
+%
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+
+%fixed point arithmetic with values between (including)
+% -999999999999999999.999999999999999999
+% and +999999999999999999.999999999999999999
+
+\def\pstFPadd#1#2#3{\pstFP@callc\pstFP@add#1{#2}{#3}+\relax} % #1 := #2+#3
+\def\pstFPsub#1#2#3{\pstFP@callc\pstFP@add#1{#2}{-#3}-\relax}% #1 := #2-#3
+\def\pstFPmul#1#2#3{\pstFP@callc\pstFP@mul#1{#2}{#3}} % #1 := #2*#3
+\def\pstFPdiv#1#2#3{\pstFP@callc\pstFP@div#1{#2}{#3}} % #1 := #2/#3
+
+\def\pst@int#1{\expandafter\pst@@int#1..\@nil}
+\def\pst@@int#1.#2.\@nil{#1}
+\def\pst@Int#1{%
+ \@tempdima=#1\relax%
+ \expandafter\pst@@Int\the\@tempdima\@nil}
+\def\pst@@Int#1.#2\@nil{#1}
+
+%
+\def\pstFPMul#1#2#3{\pstFP@callc\pstFP@mul#1{#2}{#3}% % #1 := int(#2/#3)
+ \edef#1{\pst@int{#1}}}%
+\def\pstFPDiv#1#2#3{\pstFP@callc\pstFP@div#1{#2}{#3}% % #1 := int(#2/#3)
+ \edef#1{\pst@int{#1}}}%
+\def\pstFPstripZeros#1#2{\pst@dimm=#1pt\relax \edef#2{\strip@pt\pst@dimm}}
+%
+\countdef\pstFP@actcounter=10 % register 0 for counter
+\ifnum\pstFP@actcounter<60\relax \pstFP@actcounter=60\fi
+
+\newcount\pstFP@xs %sign of 1st value
+\newcount\pstFP@xia%integer part of 1st value
+\newcount\pstFP@xib%integer part of 1st value
+\newcount\pstFP@xfa%fractional part of 1st value
+\newcount\pstFP@xfb%fractional part of 1st value
+
+\countdef\pstFP@ys=5 %sign of 2nd value
+\countdef\pstFP@yia=6%integer part of 2nd value
+\countdef\pstFP@yib=7%integer part of 2nd value
+\countdef\pstFP@yfa=8%fractional part of 2nd value
+\countdef\pstFP@yfb=9%fractional part of 2nd value
+
+\countdef\pstFP@xk=10 %registers for splitting 1st value
+\countdef\pstFP@xl=11
+\countdef\pstFP@xm=12
+\countdef\pstFP@xn=13
+\countdef\pstFP@xo=14
+\countdef\pstFP@xp=15
+\countdef\pstFP@xq=16
+\countdef\pstFP@xr=17
+\countdef\pstFP@xz=18
+\countdef\pstFP@xt=19
+\countdef\pstFP@xu=20
+\countdef\pstFP@xv=21
+
+\countdef\pstFP@yk=22 %registers for splitting 2nd value
+\countdef\pstFP@yl=23
+\countdef\pstFP@ym=24
+\countdef\pstFP@yn=25
+\countdef\pstFP@yo=26
+\countdef\pstFP@yp=27
+\countdef\pstFP@yq=28
+\countdef\pstFP@yr=29
+\countdef\pstFP@yz=30
+\countdef\pstFP@yt=31
+\countdef\pstFP@yu=32
+\countdef\pstFP@yv=33
+
+\newcount\pstFP@rega %auxiliary registers
+\newcount\pstFP@regb
+\countdef\pstFP@regc=36
+\countdef\pstFP@regd=37
+\countdef\pstFP@rege=38
+
+\countdef\pstFP@rs=39 %result registers
+\countdef\pstFP@ria=40
+\countdef\pstFP@rib=41
+\countdef\pstFP@rfa=42
+\countdef\pstFP@rfb=43
+
+\newcount\pstFP@regs %local auxiliary registers
+\countdef\pstFP@count=45
+\countdef\pstFP@res=46
+\countdef\pstFP@shift=47
+\newcount\pstFP@times
+\countdef\pstFP@prod=49
+
+%auxiliary macros which may be used in all of the following macros
+\newif\ifpstFP@test
+
+\def\pstFP@ignorenext#1{}
+\def\pstFP@first#1#2\relax{#1}
+\def\pstFP@swallow#1\relax{}
+%
+\def\ifpstFP@zero#1{%
+ \ifnum%
+ \expandafter\ifnum\csname pstFP@#1ia\endcsname=0 0\else1\fi%
+ \expandafter\ifnum\csname pstFP@#1ib\endcsname=0 0\else1\fi%
+ \expandafter\ifnum\csname pstFP@#1fa\endcsname=0 0\else1\fi%
+ \expandafter\ifnum\csname pstFP@#1fb\endcsname=0 0\else1\fi%
+ =0\relax%
+}
+%
+%read value
+%
+\def\pstFP@correctintcounter#1\relax{%
+ {\edef\pstFP@tmp{#1}%
+ \pstFP@count=0\relax%
+ \loop%
+ \edef\pstFP@tmpa{\expandafter\pstFP@first\pstFP@tmp\noexpand\relax}%
+ \expandafter\ifx\pstFP@tmpa0\relax%
+ \advance\pstFP@count1\relax%
+ \edef\pstFP@tmp{\expandafter\pstFP@ignorenext\pstFP@tmp}%
+ \repeat%
+ \ifnum\pstFP@count>18\relax \typeout{>>>> Overflow}\fi%
+ \expandafter\if!\pstFP@tmp!%
+ \advance\pstFP@count-18\relax%
+ \pstFP@count=-\pstFP@count%
+ \loop%
+ \ifnum\pstFP@count>0\relax%
+ \pstFP@regc=\pstFP@rega%
+ \divide\pstFP@rega10\relax\multiply\pstFP@rega10\relax%
+ \advance\pstFP@regc-\pstFP@rega\multiply\pstFP@regc100000000\relax%
+ \divide\pstFP@rega10\relax%
+ \divide\pstFP@regb10\relax\advance\pstFP@regb\pstFP@regc%
+ \advance\pstFP@count-1\relax%
+ \repeat%
+ \global\pstFP@rega=\pstFP@rega%
+ \global\pstFP@regb=\pstFP@regb%
+ \else%
+ \typeout{>>>>Number too big}%
+ \fi%
+ }%
+}
+\def\pstFP@@setintcounter#1#2#3#4#5#6#7#8#9{%
+ \pstFP@regb=#1#2#3#4#5#6#7#8#9\relax%
+ \pstFP@correctintcounter%
+}
+\def\pstFP@setintcounter#1#2#3#4#5#6#7#8#9{%
+ \pstFP@rega=#1#2#3#4#5#6#7#8#9\relax%
+ \pstFP@@setintcounter%
+}
+
+\def\pstFP@@setfractcounter#1#2#3#4#5#6#7#8#9{%
+ \pstFP@regb=#1#2#3#4#5#6#7#8#9\relax%
+ \pstFP@swallow%
+}
+\def\pstFP@setfractcounter#1#2#3#4#5#6#7#8#9{%
+ \pstFP@rega=#1#2#3#4#5#6#7#8#9\relax%
+ \pstFP@@setfractcounter%
+}
+
+\def\pstFP@getsign#1\relax{%
+ {\pstFP@regs=1\relax%
+ \edef\pstFP@tmp{#1}%
+ \loop%
+ \edef\pstFP@tmpa{\expandafter\pstFP@first\pstFP@tmp\noexpand\relax}%
+ \expandafter\ifx\pstFP@tmpa-\relax%
+ \multiply\pstFP@regs-1\relax%
+ \fi%
+ \ifnum\expandafter\ifx\pstFP@tmpa-1\else0\fi\expandafter\ifx\pstFP@tmpa+1\else0\fi>0%
+ \edef\pstFP@tmp{\expandafter\pstFP@ignorenext\pstFP@tmp}%
+ \repeat%
+ \global\let\pstFP@tmp\pstFP@tmp%
+ \global\pstFP@regs=\pstFP@regs%
+ }%
+}
+
+\def\pstFP@removeleadingzeros#1\relax{%
+ {\edef\pstFP@tmp{#1}%
+ \loop%
+ \edef\pstFP@tmpa{\expandafter\pstFP@first\pstFP@tmp\noexpand\relax}%
+ \expandafter\ifx\pstFP@tmpa0\relax%
+ \edef\pstFP@tmp{\expandafter\pstFP@ignorenext\pstFP@tmp}%
+ \repeat%
+ \global\let\pstFP@tmp\pstFP@tmp%
+ }%
+}
+
+\newif\ifpstFP@nonstop
+\def\pstFP@strip#1{%
+ {\edef\pstFP@tmp{#1}%
+ \edef\pstFP@tmpb{}%
+ \ifx\pstFP@tmp\@empty\else%
+ \pstFP@nonstoptrue%
+ \loop%
+ \edef\pstFP@tmpa{\expandafter\pstFP@first\pstFP@tmp\noexpand\relax}%
+ \expandafter\ifx\pstFP@tmpa-\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa+\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa0\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa1\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa2\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa3\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa4\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa5\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa6\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa7\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa8\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \expandafter\ifx\pstFP@tmpa9\relax\edef\pstFP@tmpb{\pstFP@tmpb\pstFP@tmpa}\else%
+ \ifx\pstFP@tmpa\@empty\pstFP@nonstopfalse\else%
+ \ifx\pstFP@tmpa\space\pstFP@nonstopfalse\else%
+ \typeout{>>> Illegal character \pstFP@tmpa\space found in float number}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \edef\pstFP@tmp{\expandafter\pstFP@ignorenext\pstFP@tmp}%
+ \ifx\pstFP@tmp\@empty\pstFP@nonstopfalse\fi%
+ \ifpstFP@nonstop%
+ \repeat%
+ \fi%
+ \global\let\pstFP@tmp\pstFP@tmpb%
+ }%
+}
+
+\def\pstFP@readvalue#1#2#3{%
+ % #1 macro family to catch the value
+ % #2.#3 value
+ %
+ % regular expression [+|-]*[d]_0^18.[d]*
+ %
+ \pstFP@strip{#2}%
+ %sign
+ \expandafter\pstFP@getsign\pstFP@tmp\relax%
+ \csname pstFP@#1s\endcsname=\pstFP@regs%
+ %
+ %integer part
+ \pstFP@removeleadingzeros\pstFP@tmp\relax%
+ \expandafter\pstFP@setintcounter\pstFP@tmp000000000000000000\relax%
+ \csname pstFP@#1ia\endcsname=\pstFP@rega%
+ \csname pstFP@#1ib\endcsname=\pstFP@regb%
+ %
+ %fractional part
+ \pstFP@strip{#3}%
+ \expandafter\pstFP@setfractcounter\pstFP@tmp000000000000000000\relax%
+ \csname pstFP@#1fa\endcsname=\pstFP@rega%
+ \csname pstFP@#1fb\endcsname=\pstFP@regb%
+ %
+ %correct sign
+ \ifnum\pstFP@rega=0\relax%
+ \ifnum\pstFP@regb=0\relax%
+ \expandafter\ifnum\csname pstFP@#1ib\endcsname=0\relax%
+ \expandafter\ifnum\csname pstFP@#1ia\endcsname=0\relax%
+ \csname pstFP@#1s\endcsname=1\relax%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+}
+%
+%store value in macro
+%
+\def\pstFP@store#1#2{%
+ % #1 macro
+ % #2 macro family (value) to store
+ %
+ \ifpstFP@zero{#2}%
+ \csname pstFP@#2s\endcsname=1\relax%
+ \fi%
+ \expandafter\ifnum\csname pstFP@#2s\endcsname<0\relax%
+ \edef#1{-}%
+ \else%
+ \edef#1{}%
+ \fi%
+ \expandafter\ifnum\csname pstFP@#2ia\endcsname=0\relax%
+ \expandafter\ifnum\csname pstFP@#2ib\endcsname=0\relax%
+ \edef#1{#10}%
+ \else%
+ \edef#1{#1\expandafter\the\csname pstFP@#2ib\endcsname}%
+ \fi%
+ \else%
+ \expandafter\advance\csname pstFP@#2ib\endcsname1000000000\relax%
+ \edef#1{#1\expandafter\the\csname pstFP@#2ia\endcsname\expandafter\pstFP@ignorenext\the\csname pstFP@#2ib\endcsname}%
+ \fi%
+ \expandafter\advance\csname pstFP@#2fa\endcsname1000000000\relax%
+ \expandafter\advance\csname pstFP@#2fb\endcsname1000000000\relax%
+ \edef#1{#1\noexpand.\expandafter\pstFP@ignorenext\the\csname pstFP@#2fa\endcsname\expandafter\pstFP@ignorenext\the\csname pstFP@#2fb\endcsname}%
+}
+%macros to expand some arguments
+%
+\def\pstFP@callc#1#2#3#4{%
+ % #1 macro to call
+ % #2 macro, which gets the result
+ % #3 1st value
+ % #4 2nd value
+ % expand the values and split them into the integer and the fractional parts
+ \edef\next{\noexpand#1\noexpand#2#3..\noexpand\relax#4..\noexpand\relax}%
+ \next%
+}
+%
+\def\pstFP@divten#1{%
+ \expandafter\pstFP@regc\csname pstFP@#1ia\endcsname%
+ \expandafter\divide\csname pstFP@#1ia\endcsname10\relax%
+ \expandafter\pstFP@regb\csname pstFP@#1ia\endcsname%
+ \multiply\pstFP@regb10\relax%
+ \advance\pstFP@regc-\pstFP@regb%
+ \multiply\pstFP@regc100000000\relax%
+ %
+ \expandafter\pstFP@rega\csname pstFP@#1ib\endcsname%
+ \expandafter\divide\csname pstFP@#1ib\endcsname10\relax%
+ \expandafter\pstFP@regb\csname pstFP@#1ib\endcsname%
+ \multiply\pstFP@regb10\relax%
+ \advance\pstFP@rega-\pstFP@regb%
+ \multiply\pstFP@rega100000000\relax%
+ \expandafter\advance\csname pstFP@#1ib\endcsname\pstFP@regc%
+ %
+ \expandafter\pstFP@regc\csname pstFP@#1fa\endcsname%
+ \expandafter\divide\csname pstFP@#1fa\endcsname10\relax%
+ \expandafter\pstFP@regb\csname pstFP@#1fa\endcsname%
+ \multiply\pstFP@regb10\relax%
+ \advance\pstFP@regc-\pstFP@regb%
+ \multiply\pstFP@regc100000000\relax%
+ \expandafter\advance\csname pstFP@#1fa\endcsname\pstFP@rega%
+ %
+ \expandafter\divide\csname pstFP@#1fb\endcsname10\relax%
+ \expandafter\advance\csname pstFP@#1fb\endcsname\pstFP@regc%
+}
+%
+\def\pstFP@multen#1{%
+ \expandafter\multiply\csname pstFP@#1ia\endcsname10\relax%
+ \expandafter\ifnum\csname pstFP@#1ib\endcsname<100000000\relax%
+ \else%
+ \expandafter\pstFP@regc\csname pstFP@#1ib\endcsname%
+ \divide\pstFP@regc100000000%
+ \expandafter\advance\csname pstFP@#1ia\endcsname\pstFP@regc%
+ \multiply\pstFP@regc100000000%
+ \expandafter\advance\csname pstFP@#1ib\endcsname-\pstFP@regc%
+ \fi%
+ \expandafter\multiply\csname pstFP@#1ib\endcsname10\relax%
+ \expandafter\ifnum\csname pstFP@#1fa\endcsname<100000000\relax%
+ \else%
+ \expandafter\pstFP@regc\csname pstFP@#1fa\endcsname%
+ \divide\pstFP@regc100000000%
+ \expandafter\advance\csname pstFP@#1ib\endcsname\pstFP@regc%
+ \multiply\pstFP@regc100000000%
+ \expandafter\advance\csname pstFP@#1fa\endcsname-\pstFP@regc%
+ \fi%
+ \expandafter\multiply\csname pstFP@#1fa\endcsname10\relax%
+ \expandafter\ifnum\csname pstFP@#1fb\endcsname<100000000\relax%
+ \else%
+ \expandafter\pstFP@regc\csname pstFP@#1fb\endcsname%
+ \divide\pstFP@regc100000000%
+ \expandafter\advance\csname pstFP@#1fa\endcsname\pstFP@regc%
+ \multiply\pstFP@regc100000000%
+ \expandafter\advance\csname pstFP@#1fb\endcsname-\pstFP@regc%
+ \fi%
+ \expandafter\multiply\csname pstFP@#1fb\endcsname10\relax%
+}
+%
+\def\pstFP@counttimes{%
+ {\global\pstFP@times=0\relax%
+ \loop%
+ \ifnum%
+ \ifnum\pstFP@xia>\pstFP@yia1%
+ \else\ifnum\pstFP@xia<\pstFP@yia0%
+ \else%
+ \ifnum\pstFP@xib>\pstFP@yib1%
+ \else\ifnum\pstFP@xib<\pstFP@yib0%
+ \else%
+ \ifnum\pstFP@xfa>\pstFP@yfa1%
+ \else\ifnum\pstFP@xfa<\pstFP@yfa0%
+ \else%
+ \ifnum\pstFP@xfb>\pstFP@yfb1%
+ \else\ifnum\pstFP@xfb<\pstFP@yfb0%
+ \else%
+ 1%
+ \fi\fi%
+ \fi\fi%
+ \fi\fi%
+ \fi\fi%
+ =1\relax%
+ \global\advance\pstFP@times1\relax%
+ \global\advance\pstFP@xfb-\pstFP@yfb%
+ \ifnum\pstFP@xfb<0\relax%
+ \global\advance\pstFP@xfb1000000000\relax%
+ \global\advance\pstFP@xfa-1\relax%
+ \fi%
+ \global\advance\pstFP@xfa-\pstFP@yfa%
+ \ifnum\pstFP@xfa<0\relax%
+ \global\advance\pstFP@xfa1000000000\relax%
+ \global\advance\pstFP@xib-1\relax%
+ \fi%
+ \global\advance\pstFP@xib-\pstFP@yib%
+ \ifnum\pstFP@xib<0\relax%
+ \global\advance\pstFP@xib1000000000\relax%
+ \global\advance\pstFP@xia-1\relax%
+ \fi%
+ \global\advance\pstFP@xia-\pstFP@yia%
+ \repeat%
+ }%
+}
+%
+\def\pstFP@add#1#2.#3.#4\relax#5.#6.#7\relax#8\relax{%
+ % #1 macro, which gets the result
+ % #2 integer part of 1st value
+ % #3 fractional part of 1st value
+ % #4 dummy to swallow everthing after the 2nd '.'
+ % #5 integer part of 2nd value
+ % #6 fractional part of 2nd value
+ % #7 dummy to swallow everthing after the 2nd '.'
+ %
+ {\pstFP@readvalue{x}{#2}{#3}%
+ \pstFP@readvalue{y}{#5}{#6}%
+ %
+ \ifnum\pstFP@xs=\pstFP@ys%
+ \advance\pstFP@xfb\pstFP@yfb%
+ \advance\pstFP@xfa\pstFP@yfa%
+ \ifnum\pstFP@xfb<1000000000\relax\else%
+ \advance\pstFP@xfb-1000000000\relax%
+ \advance\pstFP@xfa1\relax%
+ \fi%
+ \advance\pstFP@xib\pstFP@yib%
+ \ifnum\pstFP@xfa<1000000000\relax\else%
+ \advance\pstFP@xfa-1000000000\relax%
+ \advance\pstFP@xib1\relax%
+ \fi%
+ \advance\pstFP@xia\pstFP@yia%
+ \ifnum\pstFP@xib<1000000000\relax\else%
+ \advance\pstFP@xib-1000000000\relax%
+ \advance\pstFP@xia1\relax%
+ \fi%
+ \ifnum\pstFP@xia<1000000000\relax\else%
+ \pstFP@errmessage{Overflow}%
+ \fi%
+ \pstFP@store\pstFP@tmp{x}%
+ \else%
+ \advance\pstFP@xfb-\pstFP@yfb%
+ \ifnum\pstFP@xfb<0\relax%
+ \advance\pstFP@yfa1\relax%
+ \advance\pstFP@xfb1000000000\relax%
+ \fi%
+ \advance\pstFP@xfa-\pstFP@yfa%
+ \ifnum\pstFP@xfa<0\relax%
+ \advance\pstFP@yib1\relax%
+ \advance\pstFP@xfa1000000000\relax%
+ \fi%
+ \advance\pstFP@xib-\pstFP@yib%
+ \ifnum\pstFP@xib<0\relax%
+ \advance\pstFP@yia1\relax%
+ \advance\pstFP@xib1000000000\relax%
+ \fi%
+ \advance\pstFP@xia-\pstFP@yia%
+ \ifnum\pstFP@xia<0\relax%
+ \pstFP@xs=-\pstFP@xs%
+ \ifnum\pstFP@xfb=0\relax\else%
+ \advance\pstFP@xfb-1000000000\relax\pstFP@xfb=-\pstFP@xfb%
+ \advance\pstFP@xfa1\relax%
+ \fi%
+ \ifnum\pstFP@xfa=0\relax\else%
+ \advance\pstFP@xfa-1000000000\relax\pstFP@xfa=-\pstFP@xfa%
+ \advance\pstFP@xib1\relax%
+ \fi%
+ \ifnum\pstFP@xib=0\relax\else%
+ \advance\pstFP@xib-1000000000\relax\pstFP@xib=-\pstFP@xib%
+ \advance\pstFP@xia1\relax%
+ \fi%
+ \relax\pstFP@xia=-\pstFP@xia%
+ \fi%
+ \pstFP@store\pstFP@tmp{x}%
+ \fi%
+ \global\let\pstFP@tmp\pstFP@tmp%
+ }%
+ \let#1\pstFP@tmp%
+}
+
+
+\def\pstFP@div#1#2.#3.#4\relax#5.#6.#7\relax{%
+ % #1 macro, which gets the result
+ % #2 integer part of 1st value
+ % #3 fractional part of 1st value
+ % #4 dummy to swallow everthing after the 2nd '.'
+ % #5 integer part of 2nd value
+ % #6 fractional part of 2nd value
+ % #7 dummy to swallow everthing after the 2nd '.'
+ %
+ % algorithmic idea (for x>0, y>0)
+ % - %determine \pstFP@shift such that y*10^\pstFP@shift <100000000<=y*10^(\pstFP@shift+1)
+ % - %determine \pstFP@shift' such that x*10^\pstFP@shift'<100000000<=x*10^(\pstFP@shift+1)
+ % - x=x*\pstFP@shift'
+ % - y=y*\pstFP@shift
+ % - \pstFP@shift=\pstFP@shift-\pstFP@shift'
+ % - res=0
+ % - while y>0 %fixed-point representation!
+ % - \pstFP@times=0
+ % - while x>y
+ % - \pstFP@times=\pstFP@times+1
+ % - x=x-y
+ % - end
+ % - y=y/10
+ % - res=10*res+\pstFP@times/1000000000
+ % - end
+ % - %shift the result according to \pstFP@shift
+ %
+ {\pstFP@readvalue{x}{#2}{#3}%
+ \pstFP@readvalue{y}{#5}{#6}%
+ %
+ %sign
+ \multiply\pstFP@xs\pstFP@ys%
+ \pstFP@rs=\pstFP@xs%
+ %
+ %compute division
+ \ifpstFP@zero{y}%
+ \typeout{>>>>Division by zero}%
+ \else%
+ \ifpstFP@zero{x}\def\next##1{\edef\pstFP@tmp{0}}\else\def\next##1{##1}\fi%
+ \next%
+ {\pstFP@shift=0\relax%
+ \loop%
+ \ifnum\pstFP@yia<100000000\relax%
+ \pstFP@multen{y}%
+ \advance\pstFP@shift1\relax%
+ \repeat%
+ \loop%
+ \ifnum\pstFP@xia<100000000\relax%
+ \pstFP@multen{x}%
+ \advance\pstFP@shift-1\relax%
+ \repeat%
+ \pstFP@ria=0\pstFP@rib=0\pstFP@rfa=0\pstFP@rfb=0\relax%
+ \loop%
+ \ifpstFP@zero{y}\else%
+ \pstFP@counttimes%divides x by \pstFP@times*y
+ \pstFP@divten{y}%
+ \pstFP@multen{r}%
+ \advance\pstFP@rfb\pstFP@times%
+ \ifnum\pstFP@rfb<1000000000\relax\else%
+ \advance\pstFP@rfa1\advance\pstFP@rfb-1000000000\relax%
+ \ifnum\pstFP@rfa<1000000000\relax\else%
+ \advance\pstFP@rib1\advance\pstFP@rfa-1000000000\relax%
+ \ifnum\pstFP@rib<1000000000\relax\else%
+ \advance\pstFP@ria1\advance\pstFP@rib-1000000000\relax%
+ \fi%
+ \fi%
+ \fi%
+ \repeat%
+ \loop%
+ \ifnum\pstFP@shift>17%
+ \advance\pstFP@shift-1\relax%
+ \ifnum\pstFP@ria<100000000\else\pstFP@ria=-1\fi%
+ \ifnum\pstFP@ria<0\pstFP@ria=-1\fi%
+ \pstFP@multen{r}%
+ \repeat%
+ \ifnum\pstFP@ria<1000000000\else\pstFP@ria=-1\fi%
+ \loop%
+ \ifnum\pstFP@shift<17%
+ \advance\pstFP@shift1\relax%
+ \pstFP@divten{r}%
+ \repeat%
+ \ifnum\pstFP@ria<0\relax%
+ \typeout{>>>>Overflow}%
+ \else%
+ \pstFP@store\pstFP@tmp{r}%
+ \fi%
+ }%
+ \fi%
+ %
+ \global\let\pstFP@tmp=\pstFP@tmp%
+ %
+ }%
+ \let#1\pstFP@tmp%
+}
+%multiply two values
+
+\def\pstFP@firstnine#1#2#3#4#5#6#7#8#9{%
+ \pstFP@res=#1#2#3#4#5#6#7#8#9\relax%
+}
+\def\pstFP@@ninesplit#1\relax#2\end#3{%
+ #1%
+ \edef#3{#2}%
+}
+\def\pstFP@ninesplit#1{%
+ \edef#1{\expandafter\pstFP@firstnine\pstFP@rd}%
+ \expandafter\pstFP@@ninesplit#1\end#1\relax%
+}
+
+\def\pstFP@split#1#2#3#4{%
+ % #1 highest three digits
+ % #2 medium three digits
+ % #3 least three digits
+ % #4 counter
+ \pstFP@regc=#4%
+ \divide\pstFP@regc1000000\relax%
+ #1=\pstFP@regc%
+ \multiply\pstFP@regc-1000000\relax\advance\pstFP@regc#4%
+ #3=\pstFP@regc%
+ \divide\pstFP@regc1000\relax%
+ #2=\pstFP@regc%
+ \multiply\pstFP@regc-1000\relax\advance\pstFP@regc#3%
+ #3=\pstFP@regc%
+}
+
+\def\pstFP@@mul#1#2#3{%
+ \pstFP@regc=\csname pstFP@x#1\endcsname%
+ \multiply\pstFP@regc\csname pstFP@y#2\endcsname%
+ \advance\pstFP@prod\pstFP@regc%
+ %
+ \ifx#3\relax%
+ \let\next=\relax%
+ \else%
+ \let\next=\pstFP@@mul%
+ \fi%
+ \next#3%
+}
+
+\def\pstFP@saveshift{%
+ % save rightmost three digits
+ \pstFP@regc=\pstFP@prod%
+ \divide\pstFP@prod1000\relax%
+ \multiply\pstFP@prod1000\relax%
+ \advance\pstFP@regc-\pstFP@prod%
+ \advance\pstFP@regc1000\relax%
+ \edef\pstFP@rd{\expandafter\pstFP@ignorenext\the\pstFP@regc\pstFP@rd}%
+ %
+ \divide\pstFP@prod1000\relax%
+}
+
+\def\pstFP@mul#1#2.#3.#4\relax#5.#6.#7\relax{%
+ % #1 macro, which gets the result
+ % #2 integer part of 1st value
+ % #3 fractional part of 1st value
+ % #4 dummy to swallow everthing after the 2nd '.'
+ % #5 integer part of 2nd value
+ % #6 fractional part of 2nd value
+ % #7 dummy to swallow everthing after the 2nd '.'
+ %
+ % split value in various parts
+ % x y = 123 456 789 123 456 789 . 123 456 789 123 456 789
+ % -> xk xl xm xn xo xp xq xr xs xt xu xv
+ % -> yk yl ym yn yo yp yq yr ys yt yu yv
+ % multiply these parts and save the result wrt the necessary shifts
+ %
+ {\pstFP@readvalue{x}{#2}{#3}%
+ \pstFP@readvalue{y}{#5}{#6}%
+ %
+ %sign
+ \multiply\pstFP@xs\pstFP@ys%
+ \pstFP@rs=\pstFP@xs%
+ %
+ % split parts
+ \pstFP@split\pstFP@xk\pstFP@xl\pstFP@xm\pstFP@xia\pstFP@split\pstFP@xn\pstFP@xo\pstFP@xp\pstFP@xib%
+ \pstFP@split\pstFP@xq\pstFP@xr\pstFP@xz\pstFP@xfa\pstFP@split\pstFP@xt\pstFP@xu\pstFP@xv\pstFP@xfb%
+ \pstFP@split\pstFP@yk\pstFP@yl\pstFP@ym\pstFP@yia\pstFP@split\pstFP@yn\pstFP@yo\pstFP@yp\pstFP@yib%
+ \pstFP@split\pstFP@yq\pstFP@yr\pstFP@yz\pstFP@yfa\pstFP@split\pstFP@yt\pstFP@yu\pstFP@yv\pstFP@yfb%
+ %
+ \pstFP@prod=0\relax%
+ \edef\pstFP@rd{}%
+ %
+ %compute result
+ \pstFP@@mul vv \relax\pstFP@saveshift%
+ \pstFP@@mul vu uv \relax\pstFP@saveshift%
+ \pstFP@@mul uu vt tv \relax\pstFP@saveshift%
+ \pstFP@@mul ut tu vz zv \relax\pstFP@saveshift%
+ \pstFP@@mul tt zu uz rv vr \relax\pstFP@saveshift%
+ \pstFP@@mul zt tz ur ru vq qv \relax\pstFP@saveshift%
+ \pstFP@@mul zz rt tr uq qu vp pv \relax\pstFP@saveshift%
+ \pstFP@@mul zr rz tq qt up pu vo ov \relax\pstFP@saveshift%
+ \pstFP@@mul rr qz zq tp pt uo ou vn nv \relax\pstFP@saveshift%
+ \pstFP@@mul rq qr zp pz to ot un nu vm mv \relax\pstFP@saveshift%
+ \pstFP@@mul qq rp pr zo oz tn nt um mu vl lv \relax\pstFP@saveshift%
+ \pstFP@@mul qp pq ro or zn nz tm mt ul lu kv vk \relax\pstFP@saveshift%
+ \pstFP@@mul pp oq qo rn nr zm mz tl lt ku uk \relax\pstFP@saveshift%
+ \pstFP@@mul op po nq qn rm mr zl lz tk kt \relax\pstFP@saveshift%
+ \pstFP@@mul oo pn np mq qm rl lr kz zk \relax\pstFP@saveshift%
+ \pstFP@@mul no on mp pm lq ql kr rk \relax\pstFP@saveshift%
+ \pstFP@@mul nn mo om pl lp qk kq \relax\pstFP@saveshift%
+ \pstFP@@mul mn nm lo ok pk kp \relax\pstFP@saveshift%
+ \pstFP@@mul mm ln nl ko ok \relax\pstFP@saveshift%
+ \pstFP@@mul lm ml kn nk \relax\pstFP@saveshift%
+ \pstFP@@mul ll km mk \relax\pstFP@saveshift%
+ \pstFP@@mul kl lk \relax\pstFP@saveshift%
+ \pstFP@@mul kk \relax\pstFP@saveshift\pstFP@saveshift%
+ \pstFP@ninesplit\pstFP@rd%
+ \ifnum\pstFP@res=0\relax%
+ \pstFP@ninesplit\pstFP@rd%
+ \ifnum\pstFP@res=0\relax%
+ \pstFP@ninesplit\pstFP@rd\pstFP@ria=\pstFP@res%
+ \pstFP@ninesplit\pstFP@rd\pstFP@rib=\pstFP@res%
+ \pstFP@ninesplit\pstFP@rd\pstFP@rfa=\pstFP@res%
+ \pstFP@ninesplit\pstFP@rd\pstFP@rfb=\pstFP@res%
+ \pstFP@store\pstFP@tmp{r}%
+ \else\typeout{pstFPmul: Overflow}\fi%
+ \else\typeout{pstFPmul: Overflow}\fi%
+ \global\let\pstFP@tmp\pstFP@tmp}%
+ \let#1\pstFP@tmp%
+}
+%
+\catcode`\@=\PstAtCode\relax
+%
+%% END: pst-fp.tex
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-node.tex b/Master/texmf-dist/tex/generic/pstricks/pst-node.tex
deleted file mode 100644
index ab6a512ef1b..00000000000
--- a/Master/texmf-dist/tex/generic/pstricks/pst-node.tex
+++ /dev/null
@@ -1,1154 +0,0 @@
-%% BEGIN pst-node.tex
-%%
-%% Nodes with PSTricks 97.
-%% See the betadoc documentation for usage.
-%% This uses the header file `pst-node.pro'.
-%%
-\def\fileversion{1.01}
-\def\filedate{2008/11/26}
-%%
-%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
-%% COPYRIGHT 2009- by Herbert Voss, hvoss@tug.org.
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt.
-%%
-\message{ v\fileversion, \filedate}
-\csname PSTnodesLoaded\endcsname
-\let\PSTnodesLoaded\endinput
-\ifx\PSTricksLoaded\endinput\else\input pstricks.tex \fi\relax
-\edef\TheAtCode{\the\catcode`\@}
-\catcode`\@=11
-%
-\pstheader{pst-node.pro}
-%
-\def\pst@nodedict{tx@NodeDict begin }
-\def\pst@zapspace#1 #2{%
-#1%
-\ifx#2\@empty\else\expandafter\pst@zapspace\fi
-#2}
-%
-\def\pst@getnode#1#2{\pst@expandafter\pst@@getnode{#1},,\@nil#2}
-\def\pst@@getnode#1,#2,#3\@nil#4{%
- \ifx\@empty#3\@empty
- \edef#4{/N@\pst@zapspace#1 \@empty\space}%
- \else
- \pst@cntg=#1\relax
- \pst@cnth=#2\relax
- \edef#4{/N@M-\ifnum\psmatrixcnt=\z@ 1\else\the\psmatrixcnt\fi
- -\the\pst@cntg-\the\pst@cnth\space}%
- \fi}
-%
-\def\tx@NewNode{NewNode }
-\def\pst@newnode#1#2#3#4{%
-% DG/SR modification begin - Nov. 9, 2000 - Patch 11
-\pst@killglue
-% DG/SR modification end
-\leavevmode
-\pst@getnode{#1}\pst@thenode
-\pst@Verb{%
- \pst@nodedict
- {#3}
- \ifx\psk@name\relax false \else \psk@name true \fi
- \pst@thenode
- #2
- {#4}
- \tx@NewNode
- end }%
-%
-\global\let\psk@name\relax
-\pstree@nodehook
-\global\let\pstree@nodehook\relax}
-\let\pstree@nodehook\relax
-\newif\ifnodealign
-\def\psset@nodealign#1{\@nameuse{nodealign#1}}
-\psset@nodealign{false}
-\def\pst@nodealign{%
-\pst@dimg=\ht\pst@hbox
-\advance\pst@dimg-\dp\pst@hbox
-\divide\pst@dimg2
-\lower\pst@dimg}
-%
-\def\tx@InitPnode{InitPnode }
-\def\pnode{\@ifnextchar({\pnode@}{\pnode@(0,0)}}
-\def\pnode@(#1)#2{%
- \pst@@getcoor{#1}%
- \pst@newnode{#2}{10}{\pst@coor}{\tx@InitPnode}%
- \ignorespaces}
-%
-\def\tx@InitCnode{InitCnode }
-\def\cnode{\pst@object{cnode}}
-\def\cnode@i{\@ifnextchar({\cnode@ii}{\cnode@ii(0,0)}}
-\def\cnode@ii(#1)#2#3{%
- \leavevmode
- \hbox{%
- \use@par
- \pst@@getcoor{#1}%
- \pssetlength\pst@dimc{#2}%
- \pst@dimg=\psk@dimen\pslinewidth
- \advance\pst@dimc-\pst@dimg
- \advance\pst@dimc.5\pslinewidth
- \ifnodealign
- \kern\pst@dimc
- \vrule width\z@ height \pst@dimc depth \pst@dimc
- \fi
- \pscircle@do(#1){#2}%
- \pst@newnode{#3}{11}{\pst@coor \pst@number\pst@dimc}{\tx@InitCnode}%
-%% % DG/SR modification begin - Jul. 30, 1997 - Patch 2
-%% %\ifnodealign \kern\pst@dimc\egroup \fi}%
- \ifnodealign\kern\pst@dimc\fi%
-%% % DG/SR modification end
- }%
- \ignorespaces}
-%
-\def\Cnode{\pst@object{Cnode}}
-\def\Cnode@i{\@ifnextchar({\Cnode@ii}{\Cnode@ii(0,0)}}
-\def\Cnode@ii(#1)#2{\cnode@ii(#1){\psk@radius}{#2}}%
-%
-\def\cnodeput{\pst@object{cnodeput}}
-\def\cnodeput@i{\@ifnextchar({\cnodeput@iii}{\cnodeput@ii}}
-\def\cnodeput@ii#1{%
- \addto@par{rot={#1}}%
- \@ifnextchar({\cnodeput@iii}{\cnodeput@iii(\z@,\z@)}}
-\def\cnodeput@iii(#1)#2{%
- \pst@killglue
- \@fixedradiusfalse
- \def\pst@nodehook{\cnodeput@iv{#2}}%
- \pst@makebox{\cput@v{#1}}}
-\def\cnodeput@iv#1{%
- \pst@newnode{#1}{11}{\pscirclebox@iv \pst@number\pslinewidth add}{\tx@InitCnode}%
- \global\let\pst@nodehook\relax}
-%
-\def\Cnodeput{\pst@object{Cnodeput}}
-\def\Cnodeput@i{\@ifnextchar({\Cnodeput@iii}{\Cnodeput@ii}}
-\def\Cnodeput@ii#1{%
-\addto@par{rot={#1}}%
-\@ifnextchar({\Cnodeput@iii}{\Cnodeput@iii(\z@,\z@)}}
-\def\Cnodeput@iii(#1)#2{%
-\pst@killglue
-\@fixedradiustrue
-\def\pst@nodehook{\Cnodeput@iv{#2}}%
-\pst@makebox{\cput@iv{#1}}}
-\def\Cnodeput@iv#1{%
-\pst@newnode{#1}{11}{%
-\pst@number{\wd\pst@hbox} 2 div \pst@number\pst@dima % x y
-\pst@number\pst@dimb \pst@number\pslinewidth \psk@dimen .5 sub mul sub }% r
-{\tx@InitCnode}%
-\global\let\pst@nodehook\relax}
-\def\circlenode{\pst@object{circlenode}}
-\def\circlenode@i#1{\pst@makebox{\circlenode@ii{#1}}}
-\def\circlenode@ii#1{%
- \begingroup
- \pst@useboxpar
- \setbox\pst@hbox=\hbox{%
- \cnodeput@iv{#1}%
- \pscirclebox@iii
- \box\pst@hbox}%
- \ifnodealign \psboxseptrue \fi
- \ifpsboxsep \pscirclebox@sep \fi
- \leavevmode
- \ifnodealign\pst@nodealign\fi
- \box\pst@hbox
- \endgroup}
-\def\Circlenode{\pst@object{Circlenode}}
-\def\Circlenode@i#1{\pst@makebox{\Circlenode@ii{#1}}}
-\def\Circlenode@ii#1{%
-\begingroup
-\pst@useboxpar
-\pst@dima=\ht\pst@hbox
-\advance\pst@dima\dp\pst@hbox
-\divide\pst@dima\tw@
-\pssetlength\pst@dimb\psk@radius
-\setbox\pst@hbox=\hbox{%
-\Cnodeput@iv{#1}%
-\pscircle(.5\wd\pst@hbox,\pst@dima){\pst@dimb}%
-\box\pst@hbox}%
-\ifnodealign \psboxseptrue \fi
-\ifpsboxsep \psCirclebox@sep \fi
-\leavevmode
-\ifnodealign\pst@nodealign\fi
-\box\pst@hbox
-\endgroup}
-\def\tx@GetRnodePos{GetRnodePos }
-\def\tx@InitRnode{InitRnode }
-\def\rnode{\@ifnextchar[{\rnode@i}{\def\pst@par{}\rnode@ii}}
-\def\rnode@i[#1]{\def\pst@par{ref=#1}\rnode@ii}
-\def\rnode@ii#1{\pst@makebox{\rnode@iii\rnode@iv{#1}}}
-\def\rnode@iii#1#2{%
-% DG modification begin - Jan. 1997
-\leavevmode
-% DG modification end
-\begingroup
-% DG/SR modification begin - Apr. 28, 1998 - Patch 6
-\pst@useboxpar
-% DG/SR modification end
-#1%
-\if@star\pst@starbox\fi
-\ifnodealign\lower\pst@dimb\fi
-\hbox{%
-\pst@newnode{#2}{16}{%
-\pst@number{\ht\pst@hbox}%
-\pst@number{\dp\pst@hbox}%
-\pst@number{\wd\pst@hbox}%
-\pst@number\pst@dima
-\pst@number\pst@dimb}%
-{\tx@InitRnode}%
-\box\pst@hbox}%
-\endgroup}
-\def\rnode@iv{%
-\pst@dima=\psk@xref\wd\pst@hbox
-\ifx\psk@yref\relax
-\pst@dimb=\z@
-\else
-\pst@dimb=\ht\pst@hbox
-\advance\pst@dimb\dp\pst@hbox
-\pst@dimb=\psk@yref\pst@dimb
-\advance\pst@dimb-\dp\pst@hbox
-\fi}
-\def\psset@href#1{\pst@checknum{#1}\psk@href}
-\psset@href{0}
-\def\psset@vref#1{\def\psk@vref{#1}}
-\psset@vref{.7ex}
-\def\Rnode{\pst@object{Rnode}}
-\def\Rnode@i#1{\pst@makebox{\rnode@iii\Rnode@ii{#1}}}
-\def\Rnode@ii{%
-% DG modification begin - Jan. 1997
-% - \begingroup removed as it seems to doesn't work any more
-% - \Rnode doesn't process the optional parameter changes
-%\begingroup
-\use@par
-% DG modification end
-\pst@dima=\psk@href\wd\pst@hbox
-\advance\pst@dima\wd\pst@hbox
-\divide\pst@dima 2
-\pssetlength\pst@dimb{\psk@vref}}
-\def\tx@DiaNodePos{DiaNodePos }
-\def\dianode{\pst@object{dianode}}
-\def\dianode@i#1{\pst@makebox{\dianode@ii{#1}}}
-\def\dianode@ii#1{%
-\begingroup
-\pst@useboxpar
-\psdiabox@iii
-\setbox\pst@hbox=\hbox{%
-\pst@newnode{#1}{14}{}{%
-/X \pst@number\pst@dima def
-/Y \pst@number\pst@dimb def
-/w \pst@number\pst@dimc 2 mul def
-/h \pst@number\pst@dimd 2 mul def
-/NodePos { \tx@DiaNodePos } def}%
-\box\pst@hbox}%
-\ifnodealign\psboxseptrue\fi
-\ifpsboxsep\psdiabox@sep\fi
-% DG/SR modification begin - Sep. 2, 1997 - Patch 3
-\leavevmode
-% DG/SR modification end
-\ifnodealign\lower\pst@dimb\fi
-\box\pst@hbox
-\endgroup}
-\def\tx@TriNodePos{TriNodePos }
-\def\tx@InitTriNode{InitTriNode }
-\def\trinode{\pst@object{trinode}}
-\def\trinode@i#1{\pst@makebox{\trinode@ii{#1}}}
-\def\trinode@ii#1{%
-\begingroup
-\pst@useboxpar
-\pstribox@iii
-\setbox\pst@hbox=\hbox{%
-\pst@newnode{#1}{14}{}{%
-\pst@number\pst@dimc
-\pst@number\pst@dimd
-\ifodd\psk@trimode
-exch
-\pst@number\pst@dima
-\else
-\pst@number\pst@dimb
-\fi
-\psk@trimode
-\pst@number{\wd\pst@hbox}%
-\pst@number{\ht\pst@hbox}%
-\pst@number{\dp\pst@hbox}%
-\tx@InitTriNode}%
-\box\pst@hbox}%
-\ifnodealign\psboxseptrue\fi
-\ifpsboxsep\pstribox@sep\fi
-% DG/SR modification begin - Sep. 2, 1997 - Patch 3
-\leavevmode
-% DG/SR modification end
-\ifnodealign\lower\pst@tempa\fi
-\box\pst@hbox
-\endgroup}
-\def\tx@OvalNodePos{OvalNodePos }
-\def\ovalnode{\pst@object{ovalnode}}
-\def\ovalnode@i#1{\pst@makebox{\ovalnode@ii{#1}}}
-\def\ovalnode@ii#1{%
-\begingroup
-\pst@useboxpar
-\psovalbox@iii
-\setbox\pst@hbox=\hbox{%
-\pst@newnode{#1}{14}{}{%
-/X \pst@number\pst@dima def
-/Y \pst@number\pst@dimb def
-/w \pst@number\pst@dimc def
-/h \pst@number\pst@dimd def
-/NodePos { \tx@OvalNodePos } def}%
-\unhbox\pst@hbox}%
-\ifnodealign\psboxseptrue\fi
-\ifpsboxsep\psovalbox@sep\fi
-% DG/SR modification begin - Sep. 2, 1997 - Patch 3
-\leavevmode
-% DG/SR modification end
-\ifnodealign\lower\pst@dimb\fi
-\box\pst@hbox
-\endgroup}
-%
-\def\dotnode{\pst@object{dotnode}}
-\def\dotnode@i{\@ifnextchar({\dotnode@ii}{\dotnode@ii(\z@,\z@)}}
-\def\dotnode@ii(#1)#2{%
- \leavevmode%
- \hbox{%
- \use@par%
- \pst@@getcoor{#1}%
- \pst@getdotsize%
- \pstree@nodehook%
- \ifnodealign%
- \pst@dima=\pst@dimg%
- \kern\pst@dima%
- \vrule width\z@ height \pst@dimh depth \pst@dimh%
- \fi%
- \pst@newnode{#2}{14}{}{
- \pst@coor
- /Y ED /X ED
- /w \pst@number\pst@dimg def
- /h \pst@number\pst@dimh def
- /NodePos { \tx@OvalNodePos } def}%
- \psdot@ii(#1)%
- \ifnodealign\kern\pst@dima\fi}%
- \ignorespaces}
-%
-\def\psset@framesize#1{\pst@expandafter\psset@@framesize{#1} \@nil}
-\def\psset@@framesize#1 #2\@nil{%
-\pssetlength\pst@dimg{#1}%
-\divide\pst@dimg2
-\edef\psk@framewidth{\pst@number\pst@dimg}%
-\ifx\@empty#2\@empty
-\let\psk@frameheight\psk@framewidth
-\else
-\pssetlength\pst@dimg{#2}%
-\divide\pst@dimg2
-\edef\psk@frameheight{\pst@number\pst@dimg}%
-\fi}
-%
-\psset@framesize{10pt}
-%
-\def\fnode{\pst@object{fnode}}
-\def\fnode@i{\@ifnextchar({\fnode@ii}{\fnode@ii(\z@,\z@)}}
-\def\fnode@ii(#1)#2{%
- \leavevmode
- \pst@killglue
- \hbox{%
- \use@par%
- \begin@ClosedObj%
- \ifnodealign
- \kern\psk@framewidth\p@
- \vrule width\z@ height \psk@frameheight\p@ depth \psk@frameheight\p@
- \edef\pst@coor{0 0 }%
- \else\pst@@getcoor{#1}\fi
- \pst@newnode{#2}{14}{}{
- \pst@coor
- /Y ED /X ED
- /d \psk@dimen .5 sub CLW mul neg def
- /r \psk@framewidth d add def
- /l r neg def
- /u \psk@frameheight d add def
- /d u neg def
- /NodePos { \tx@GetRnodePos } def}%
- \addto@pscode{
- /x2 \psk@framewidth CLW \psk@dimen mul sub def
- /y2 \psk@frameheight CLW \psk@dimen mul sub def
- \pst@coor 2 copy
- y2 sub /y1 ED
- x2 sub /x1 ED
- y2 add /y2 ED
- x2 add /x2 ED
- \psk@cornersize
- 1 index 0 eq { pop pop \tx@Rect } { \tx@OvalFrame } ifelse}%
- \def\pst@linetype{2}%
- \showpointsfalse%
- \end@ClosedObj%
- \ifnodealign\kern\psk@framewidth\p@\fi}% end of \hbox
- \ignorespaces}
-%
-\def\psset@nodesepA#1{%
-\pst@getlength{#1}\psk@nodesepA
-\def\psk@nodeseptypeA{0 }}
-\def\psset@nodesepB#1{%
-\pst@getlength{#1}\psk@nodesepB
-\def\psk@nodeseptypeB{0 }}
-\def\psset@nodesep#1{%
-\pst@getlength{#1}\psk@nodesepA
-\let\psk@nodesepB\psk@nodesepA
-\def\psk@nodeseptypeA{0 }%
-\def\psk@nodeseptypeB{0 }}
-\psset@nodesep{0pt}
-\def\psset@XnodesepA#1{%
-\pst@getlength{#1}\psk@nodesepA
-\def\psk@nodeseptypeA{1 }}
-\def\psset@XnodesepB#1{%
-\pst@getlength{#1}\psk@nodesepB
-\def\psk@nodeseptypeB{1 }}
-\def\psset@Xnodesep#1{%
-\pst@getlength{#1}\psk@nodesepA
-\let\psk@nodesepB\psk@nodesepA
-\def\psk@nodeseptypeA{1 }%
-\def\psk@nodeseptypeB{1 }}
-\def\psset@YnodesepA#1{%
-\pst@getlength{#1}\psk@nodesepA
-\def\psk@nodeseptypeA{2 }}
-\def\psset@YnodesepB#1{%
-\pst@getlength{#1}\psk@nodesepB
-\def\psk@nodeseptypeB{2 }}
-\def\psset@Ynodesep#1{%
-\pst@getlength{#1}\psk@nodesepA
-\let\psk@nodesepB\psk@nodesepA
-\def\psk@nodeseptypeA{2 }%
-\def\psk@nodeseptypeB{2 }}
-\def\psset@armA#1{%
-\pst@getlength{#1}\psk@armA
-\def\psk@armtypeA{0 }}
-\def\psset@armB#1{%
-\pst@getlength{#1}\psk@armB
-\def\psk@armtypeB{0 }}
-\def\psset@arm#1{%
-\pst@getlength{#1}\psk@armA
-\let\psk@armB\psk@armA
-\def\psk@armtypeA{0 }%
-\def\psk@armtypeB{0 }}
-\psset@arm{10pt}
-\def\psset@XarmA#1{%
-\pst@getlength{#1}\psk@armA
-\def\psk@armtypeA{1 }}
-\def\psset@XarmB#1{%
-\pst@getlength{#1}\psk@armB
-\def\psk@armtypeB{1 }}
-\def\psset@Xarm#1{%
-\pst@getlength{#1}\psk@armA
-\let\psk@armB\psk@armA
-\def\psk@armtypeA{1 }%
-\def\psk@armtypeB{1 }}
-\def\psset@YarmA#1{%
-\pst@getlength{#1}\psk@armA
-\def\psk@armtypeA{2 }}
-\def\psset@YarmB#1{%
-\pst@getlength{#1}\psk@armB
-\def\psk@armtypeB{2 }}
-\def\psset@Yarm#1{%
-\pst@getlength{#1}\psk@armA
-\let\psk@armB\psk@armA
-\def\psk@armtypeA{2 }%
-\def\psk@armtypeB{2 }}
-\def\psset@offsetA#1{\pst@getlength{#1}\psk@offsetA}
-\def\psset@offsetB#1{\pst@getlength{#1}\psk@offsetB}
-\def\psset@offset#1{\psset@offsetA{#1}\let\psk@offsetB\psk@offsetA}
-\psset@offset{0pt}
-\def\psset@angleA#1{\pst@getangle{#1}\psk@angleA}
-\def\psset@angleB#1{\pst@getangle{#1}\psk@angleB}%
-\def\psset@angle#1{%
-\pst@getangle{#1}\psk@angleA
-\let\psk@angleB\psk@angleA}
-\psset@angle{0}
-\def\psset@arcangleA#1{\pst@getangle{#1}\psk@arcangleA}
-\def\psset@arcangleB#1{\pst@getangle{#1}\psk@arcangleB}%
-\def\psset@arcangle#1{%
-\pst@getangle{#1}\psk@arcangleA
-\let\psk@arcangleB\psk@arcangleA}
-\psset@arcangle{8}
-\def\psset@ncurvA#1{\pst@checknum{#1}\psk@ncurvA}
-\def\psset@ncurvB#1{\pst@checknum{#1}\psk@ncurvB}%
-\def\psset@ncurv#1{\psset@ncurvA{#1}\let\psk@ncurvB\psk@ncurvA}
-\psset@ncurv{.67}
-\def\tx@GetCenter{GetCenter }
-\def\tx@XYPos{XYPos }
-\def\tx@GetEdge{GetEdge }
-\def\tx@AddOffset{AddOffset }
-\def\tx@GetEdgeA{GetEdgeA }
-\def\tx@GetEdgeB{GetEdgeB }
-\def\tx@GetArmA{GetArmA }
-\def\tx@GetArmB{GetArmB }
-%
-\def\check@arrow#1#2{%
- \check@@arrow#2-\@nil
- \if@pst\addto@par{arrows=#2}\def\next{#1}%
- \else\def\next{#1{#2}}\fi
- \next}
-\def\check@@arrow#1-#2\@nil{%
-\ifx\@nil#2\@nil\@pstfalse\else\@psttrue\fi}
-%
-\def\tx@InitNC{InitNC }
-\def\nc@object#1#2#3#4#5{%
- \csname begin@#1Obj\endcsname
- \showpointsfalse
- \pst@getnode{#2}\pst@tempa
- \pst@getnode{#3}\pst@tempb
- \gdef\npos@default{#4 }%
- \addto@pscode{%
- /NCLW CLW def
- \pst@nodedict
- \psk@offsetA
- \psk@offsetB neg
- \psk@nodesepA
- \psk@nodesepB
- \psk@nodeseptypeA
- \psk@nodeseptypeB
- \pst@tempa
- \pst@tempb
- \tx@InitNC { #5 } if
- end }%
- \def\use@pscode{%
- \pst@Verb{gsave \tx@STV newpath \pst@code\space grestore}%
- \gdef\pst@code{}}%
- \csname end@#1Obj\endcsname
- \pst@shortput}
-%
-\def\npos@default{.5 }
-\def\pc@object#1{%
-\@ifnextchar({\pc@@object#1}{\pst@getarrows{\pc@@object#1}}}
-\def\pc@@object#1(#2)(#3){%
- \pnode(#2){@@A}\pnode(#3){@@B}%
- #1{@@A}{@@B}}
-\def\tx@LPutLine{LPutLine }
-\def\tx@LPutLines{LPutLines }
-\def\tx@BezierMidpoint{BezierMidpoint }
-\def\tx@HPosBegin{HPosBegin }
-\def\tx@HPosEnd{HPosEnd }
-\def\tx@HPutLine{HPutLine }
-\def\tx@HPutLines{HPutLines }
-\def\tx@VPosBegin{VPosBegin }
-\def\tx@VPosEnd{VPosEnd }
-\def\tx@VPutLine{VPutLine }
-\def\tx@VPutLines{VPutLines }
-\def\tx@HPutCurve{HPutCurve }
-\def\tx@NCCoor{NCCoor }
-\def\tx@NCLine{NCLine }
-%
-\def\ncline{\pst@object{ncline}}
-\def\ncline@i{\check@arrow{\ncline@ii}}
-\def\ncline@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{\tx@NCLine}}
-%
-\def\pcline{\pst@object{pcline}}
-\def\pcline@i{\pc@object\ncline@ii}
-%
-\def\ncLine{\pst@object{ncLine}}
-\def\ncLine@i{\check@arrow{\ncLine@ii}}
-\def\ncLine@ii#1#2{\nc@object{Open}{#1}{#2}{.5}%
-% DG/SR modification begin - Apr. 14, 1999 - Patch 9
-%{\tx@NCLine /LPutPos { xB xA yB yA \tx@LPutLine } def}}
-{\tx@NCLine /LPutPos { xB yB xA yA \tx@LPutLine } def}}
-% DG/SR modification end
-%
-\def\tx@NCLines{NCLines }
-\def\nclines{\pst@object{nclines}}
-\def\nclines@i{\check@arrow\nclines@ii}
-\def\nclines@ii#1#2{%
-\begingroup
-\use@par
-\def\pst@aftercoors{\nclines@iii{#1}{#2}}%
-\def\pst@coors{}%
-\pst@@getcoors}
-\def\nclines@iii#1#2{%
-\nc@object{Open}{#1}{#2}{.5}{%
-tx@Dict begin \psline@iii pop end
-mark \pst@coors \tx@NCLines}%
-\endgroup
-\ignorespaces}
-\def\tx@NCCurve{NCCurve }
-\def\nccurve{\pst@object{nccurve}}
-\def\nccurve@i{\check@arrow{\nccurve@ii}}
-\def\nccurve@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
- /AngleA \psk@angleA\space def /AngleB \psk@angleB\space def
- \psk@ncurvB\space \psk@ncurvA\space
- \tx@NCCurve}}
-\def\pccurve{\pst@object{pccurve}}
-\def\pccurve@i{\pc@object\nccurve@ii}
-%
-\def\ncarc{\pst@object{ncarc}}
-\def\ncarc@i{\check@arrow{\ncarc@ii}}
-\def\ncarc@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
- yB yA sub xB xA sub \tx@Atan dup
- \psk@arcangleA\space add /AngleA ED
- \psk@arcangleB\space sub 180 add /AngleB ED
- \psk@ncurvB\space \psk@ncurvA\space
- \tx@NCCurve}}
-\def\pcarc{\pst@object{pcarc}}
-\def\pcarc@i{\pc@object\ncarc@ii}
-%
-\def\tx@NCAngles{NCAngles }
-\newif\ifPst@pcRef% border or center as reference point (hv)
-\def\psset@pcRef#1{\@nameuse{Pst@pcRef#1}}
-\psset@pcRef{false}
-\def\ncangles{\pst@object{ncangles}}
-\def\ncangles@i{\check@arrow{\ncangles@ii}}
-\def\ncangles@ii#1#2{%
- \nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCAngles}}
-\def\ncangles@iii{%
- tx@Dict begin \psline@iii pop end
- /AngleA \psk@angleA def
- /AngleB \psk@angleB def
- /ArmA \psk@armA \ifPst@pcRef
- GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul add sqrt sub \fi def
- /ArmB \psk@armB def
- /ArmTypeA \psk@armtypeA def
- /ArmTypeB \psk@armtypeB def }
-%
-\def\pcangles{\pst@object{pcangles}}
-\def\pcangles@i{\pc@object\ncangles@ii}
-\def\tx@NCAngle{NCAngle }
-\def\ncangle{\pst@object{ncangle}}
-\def\ncangle@i{\check@arrow{\ncangle@ii}}
-\def\ncangle@ii#1#2{%
-\nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCAngle}}
-\def\pcangle{\pst@object{pcangle}}
-\def\pcangle@i{\pc@object\ncangle@ii}
-\def\tx@NCBar{NCBar }
-\def\ncbar{\pst@object{ncbar}}
-\def\ncbar@i{\check@arrow{\ncbar@ii}}
-\def\ncbar@ii#1#2{\nc@object{Open}{#1}{#2}{1.5}{%
-\ncangles@iii /AngleB \psk@angleA def \tx@NCBar}}
-\def\pcbar{\pst@object{pcbar}}
-\def\pcbar@i{\pc@object\ncbar@ii}
-\def\tx@NCDiag{NCDiag }
-\def\ncdiag{\pst@object{ncdiag}}
-\def\ncdiag@i{\check@arrow{\ncdiag@ii}}
-\def\ncdiag@ii#1#2{%
-\nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCDiag}}
-\def\pcdiag{\pst@object{pcdiag}}
-\def\pcdiag@i{\pc@object\ncdiag@ii}
-\def\tx@NCDiagg{NCDiagg }
-\def\ncdiagg{\pst@object{ncdiagg}}
-\def\ncdiagg@i{\check@arrow{\ncdiagg@ii}}
-\def\ncdiagg@ii#1#2{%
-\nc@object{Open}{#1}{#2}{.5}{\ncangles@iii \tx@NCDiagg}}
-\def\pcdiagg{\pst@object{pcdiagg}}
-\def\pcdiagg@i{\pc@object\ncdiagg@ii}
-\def\tx@NCLoop{NCLoop }
-\def\psset@loopsize#1{\pst@getlength{#1}\psk@loopsize}
-\psset@loopsize{1cm}
-\def\ncloop{\pst@object{ncloop}}
-\def\ncloop@i{\check@arrow{\ncloop@ii}}
-\def\ncloop@ii#1#2{%
-\nc@object{Open}{#1}{#2}{2.5}%
-{\ncangles@iii /loopsize \psk@loopsize def \tx@NCLoop}}
-\def\pcloop{\pst@object{pcloop}}
-\def\pcloop@i{\pc@object\ncloop@ii}
-\def\tx@NCCircle{NCCircle }
-\def\nccircle{\pst@object{nccircle}}
-\def\nccircle@i{\check@arrow{\nccircle@ii}}
-\def\nccircle@ii#1#2{%
-\pssetlength\pst@dima{#2}%
-\nc@object{Open}{#1}{#1}{.5}{%
-/AngleA \psk@angleA def
-/r \pst@number\pst@dima def
-\tx@NCCircle \psarc@v end}}
-\def\tx@NCBox{NCBox }
-\def\ncbox{\pst@object{ncbox}}
-\def\ncbox@i{\check@arrow{\ncbox@ii}}
-\def\ncbox@ii#1#2{%
-\def\pst@linetype{2}%
-\nc@object{Closed}{#1}{#2}{.5}{%
-tx@Dict begin \psline@iii pop end
-\psk@boxheight \psk@boxdepth
-\tx@NCBox}}
-\def\pcbox{\pst@object{pcbox}}
-\def\pcbox@i{\pc@object\ncbox@ii}
-\def\tx@NCArcBox{NCArcBox }
-\def\psset@boxheight#1{\pst@getlength{#1}\psk@boxheight}
-\def\psset@boxdepth#1{\pst@getlength{#1}\psk@boxdepth}
-\def\psset@boxsize#1{%
-\psset@boxheight{#1}%
-\let\psk@boxdepth\psk@boxheight}
-\psset@boxsize{.4cm}
-\def\ncarcbox{\pst@object{ncarcbox}}
-\def\ncarcbox@i{\check@arrow{\ncarcbox@ii}}
-\def\ncarcbox@ii#1#2{%
-\def\pst@linetype{1}%
-\nc@object{Closed}{#1}{#2}{.5}{%
-\psk@arcangleA \psk@boxheight \psk@boxdepth \pst@number\pslinearc
-\tx@NCArcBox}}
-\def\pcarcbox{\pst@object{pcarcbox}}
-\def\pcarcbox@i{\pc@object\ncarcbox@ii}
-\def\tx@Tfan{Tfan }
-% Changed according pst-beta.bug December 3, 1993
-% nrot=:<angle> does not work when : is active.
-\begingroup
-\catcode`\:=13
-\gdef\pst@activerot{\def:{\string:}}
-\endgroup
-\def\psset@nrot#1{%
-\begingroup
-\pst@activerot
-\pst@expandafter{\@ifnextchar:{\psset@@nrot}{\psset@@rot}}{#1}\@nil
-\global\let\pst@tempg\psk@rot
-\endgroup
-\let\psk@nrot\pst@tempg}
-\def\psset@@nrot:#1\@nil{%
-\psset@@rot#1\@nil
-\edef\psk@rot{NAngle \ifx\psk@rot\@empty\else\psk@rot add \fi}}
-\psset@nrot{0}
-\def\tx@LPutCoor{LPutCoor }
-\def\tx@LPut{LPut }
-\def\psset@npos#1{%
-\def\pst@tempa{#1}%
-\ifx\pst@tempa\@empty
-\def\psk@npos{\npos@default}%
-\else
-\pst@checknum{#1}\psk@npos
-\fi}
-\psset@npos{}
-\def\ncput{\pst@object{ncput}}
-\def\ncput@i{\pst@killglue\pst@makebox{\ncput@ii}}
-\def\ncput@ii{%
- \begingroup%
- \use@par%
- \if@star\pst@starbox\fi%
- \pst@makesmall\pst@hbox%
- \pst@rotate\psk@nrot\pst@hbox%
- \ncput@iii%
- \endgroup%
- \pst@shortput}
-\def\ncput@iii{%
- \leavevmode%
- \hbox{%
- \pst@Verb{
- \pst@nodedict
- /t \psk@npos def
- \tx@LPut
- end
- \tx@PutBegin}%
- \box\pst@hbox%
- \pst@Verb{\tx@PutEnd}}}
-\def\naput{\pst@object{naput}}
-\def\naput@i{\pst@killglue\pst@makebox{\naput@ii{NAngle 90 add}}}
-\def\naput@ii#1{%
-\begingroup
-\use@par
-\if@star\pst@starbox\fi
-\def\psk@refangle{#1 }%
-\let\psk@rot\psk@nrot
-\uput@vii
-{exch pop add a \tx@PtoC h1 add exch w1 add exch }%
-{tx@Dict /NCLW known { NCLW add } if }%
-\ncput@iii
-\endgroup
-\pst@shortput}
-\def\nbput{\pst@object{nbput}}
-\def\nbput@i{\pst@killglue\pst@makebox{\naput@ii{NAngle 90 sub}}}
-\def\psset@tpos#1{%
- \pst@checknum{#1}\psk@tpos
- \ifdim\psk@tpos \p@<\z@
- \def\psk@tpos{.5}%
-% DG/SR modification begin - Sep. 23, 1998 - Patch 7
-%\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@epha
- \@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@ehpa
-% DG/SR modification end
- \else
- \ifdim\psk@tpos \p@>\p@
- \def\psk@tpos{.5}%
-% DG/SR modification begin - Sep. 23, 1998 - Patch 7
-%\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@epha
- \@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@ehpa%
-% DG/SR modification end
- \fi%
- \fi}
-\psset@tpos{.5}
-\def\tvput{\pst@object{tvput}}
-\def\tvput@i{\pst@makebox{\psput@tput{H}{1}}}
-\def\tlput{\pst@object{tlput}}
-\def\tlput@i{\pst@makebox{\psput@tput{H}{true}}}
-\def\trput{\pst@object{trput}}
-\def\trput@i{\pst@makebox{\psput@tput{H}{false}}}
-\def\thput{\pst@object{thput}}
-\def\thput@i{\pst@makebox{\psput@tput{V}{1}}}
-\def\taput{\pst@object{taput}}
-\def\taput@i{\pst@makebox{\psput@tput{V}{true}}}
-\def\tbput{\pst@object{tbput}}
-\def\tbput@i{\pst@makebox{\psput@tput{V}{false}}}
-\def\tx@HPutAdjust{HPutAdjust }
-\def\tx@VPutAdjust{VPutAdjust }
-\def\psput@tput#1#2{%
- \begingroup
- \use@par
- \pst@tputmakesmall
- \leavevmode
- \hbox{%
- \pst@Verb{%
- \pst@nodedict
- /t \psk@tpos \pst@tposflip def
- tx@NodeDict /HPutPos known
- { #1PutPos }
- { CP /Y ED /X ED /NAngle 0 def /NCLW 0 def }
- ifelse
- /Sin NAngle sin def
- /Cos NAngle cos def
- /s \pst@number\pslabelsep NCLW add def
- /l \pst@number\pst@dima def
- /r \pst@number\pst@dimb def
- /h \pst@number\pst@dimc def
- /d \pst@number\pst@dimd def
-% DG/SR modification begin - Sep. 26, 1997 - Patch 4
-%\ifnum1=0#2\else
- \ifnum1=0#2 \else
-% DG/SR modification end
- /flag #2 def
- \csname tx@#1PutAdjust\endcsname
- \fi
- \tx@LPutCoor
- end
- \tx@PutBegin}%
- \box\pst@hbox
- \pst@Verb{\tx@PutEnd}}%
- \endgroup
- \pst@shortput}
-%
-\def\pst@tposflip{}
-\def\pst@tputmakesmall{%
-%
-\pst@dima=\wd\pst@hbox
-\divide\pst@dima 2
-\pst@dimg=\psk@href\pst@dimg
-\pst@dimb\pst@dima
-\advance\pst@dima\pst@dimg % leftsize
-\advance\pst@dimb-\pst@dimg % rightsize
-\pst@dimd=\psk@vref\relax
-\pst@dimc=\ht\pst@hbox
-\advance\pst@dimc-\pst@dimd % height
-\advance\pst@dimd\dp\pst@hbox % depth
-\setbox\pst@hbox=\hbox to\z@{%
-\kern-\pst@dima\vbox to\z@{\vss\box\pst@hbox\vskip-\pst@dimd}\hss}}
-\def\MakeShortNab#1#2{%
- \def\pst@shortput@nab{%
- \def\pst@tempg{\next}%
- \ifx#1\next
- \let\pst@tempg\naput
- \else
- \ifx#2\next
- \let\pst@tempg\nbput
- \else
- \ifx\@sptoken\next
- \let\pst@tempg\pst@shortput
- \fi
- \fi
- \fi
- \pst@tempg}}
-\MakeShortNab{^}{_}
-\def\MakeShortTablr#1#2#3#4{%
- \def\pst@shortput@tablr{%
- \def\pst@tempg{\next}%
- \ifx#1\next
- \let\pst@tempg\taput
- \else
- \ifx#2\next
- \let\pst@tempg\tbput
- \else
- \ifx#3\next
- \let\pst@tempg\tlput
- \else
- \ifx#4\next
- \let\pst@tempg\trput
- \else
- \ifx\@sptoken\next
- \let\pst@tempg\pst@shortput
- \fi
- \fi
- \fi
- \fi
- \fi
- \pst@tempg}}
-\MakeShortTablr{^}{_}{<}{>}
-\def\MakeShortTab#1#2{%
- \def\pst@shortput@tab{%
- \def\pst@tempg{\next}%
- \ifx#1\next
- \def\pst@tempg{%
- \@nameuse{%
- t\ifodd\psk@treemode\ifpstreeflip b\else a\fi
- \else\ifpstreeflip r\else l\fi\fi put}}%
- \else
- \ifx#2\next
- \def\pst@tempg{%
- \@nameuse{%
- t\ifodd\psk@treemode\ifpstreeflip a\else b\fi
- \else\ifpstreeflip l\else r\fi\fi put}}%
- \else
- \ifx\@sptoken\next
- \let\pst@tempg\pst@shortput
- \fi
- \fi
- \fi
- \pst@tempg}}
-\MakeShortTab{^}{_}
-\def\psset@shortput#1{%
-\def\pst@tempg{#1}%
-\ifx\pst@tempg\@none
-\let\pst@shortput\ignorespaces
-\else
-\@ifundefined{pst@shortput@#1}%
-{\@pstrickserr{Bad short put: `#1'}\@ehpa}%
-{\edef\pst@shortput{\noexpand\afterassignment\expandafter\noexpand
-\csname pst@shortput@#1\endcsname\noexpand\let\noexpand\next}}%
-\fi}
-\psset@shortput{none}
-\def\lput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\lput@i}{\lput@ii}}}
-\def\lput@i[#1]{\addto@par{ref=#1}\lput@ii}
-\def\lput@ii{\@ifnextchar({\lput@iv}{\lput@iii}}
-\def\lput@iii#1{\addto@par{nrot=#1}\@ifnextchar({\lput@iv}{\ncput@i}}
-\def\lput@iv(#1){\addto@par{npos=#1}\ncput@i}
-\def\mput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\mput@i}{\ncput@i}}}
-\def\mput@i[#1]{\addto@par{ref=#1}\ncput@i}
-\def\Lput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Lput@ii}{\Lput@i}}}
-\def\Lput@i#1{\addto@par{labelsep=#1}\Lput@ii}
-\def\Lput@ii[#1]{\addto@par{ref={#1}}\@ifnextchar({\Lput@iv}{\Lput@iii}}
-\def\Lput@iii#1{\addto@par{nrot={#1}}\@ifnextchar({\Lput@iv}{\Lput@v}}
-\def\Lput@iv(#1){\addto@par{npos=#1}\Lput@v}
-\def\Lput@v{\pst@killglue\pst@makebox{\Lput@vi}}
-\def\Lput@vi{%
-\begingroup
-\use@par
-\if@star\pst@starbox\fi
-\Rput@vi
-\pst@makesmall\pst@hbox
-\pst@rotate\psk@nrot\pst@hbox
-\ncput@iii
-\endgroup
-\pst@shortput}
-\def\Mput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Mput@ii}{\Mput@i}}}
-\def\Mput@i#1{\addto@par{labelsep=#1}\Mput@ii}
-\def\Mput@ii[#1]{\addto@par{ref={#1}}\Lput@v}
-\def\aput@#1{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\aput@i#1}{\aput@ii#1}}}
-\def\aput@i#1[#2]{\addto@par{labelsep=#2}\aput@ii#1}
-\def\aput@ii#1{\@ifnextchar({\aput@iv#1}{\aput@iii#1}}
-\def\aput@iii#1#2{\addto@par{nrot=#2}\@ifnextchar({\aput@iv#1}{#1}}
-\def\aput@iv#1(#2){\addto@par{npos=#2}#1}
-\def\aput{\aput@\naput@i}
-\def\bput{\aput@\nbput@i}
-\def\Aput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Aput@i}{\naput@i}}}
-\def\Aput@i[#1]{\addto@par{labelsep=#1}\naput@i}
-\def\Bput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Bput@i}{\nbput@i}}}
-\def\Bput@i[#1]{\addto@par{labelsep=#1}\nbput@i}
-\def\node@coor#1;#2\@nil{%
- \pst@getnode{#1}\pst@tempg
- \edef\pst@coor{%
- \pst@nodedict
- tx@NodeDict \pst@tempg known
- \pslbrace \pst@tempg load \tx@GetCenter \psrbrace
- \pslbrace 0 0 \psrbrace ifelse
- end }}
-\def\Node@coor[#1]#2;#3\@nil{%
-\begingroup
-\psset{#1}%
-\@ifnextchar\bgroup{\Node@@@coor}{\Node@@coor}#2\@nil
-\endgroup
-\let\pst@coor\pst@tempg}
-\def\Node@@coor#1\@nil{%
-\pst@getnode{#1}\pst@tempg
-\xdef\pst@tempg{%
-\pst@nodedict
-tx@NodeDict \pst@tempg known
-{ \psk@nodesepA \psk@angleA
-\pst@tempg load \psk@nodeseptypeA \tx@GetEdge
-\psk@offsetA \psk@angleA \tx@AddOffset
-\pst@tempg load \tx@GetCenter
-3 -1 roll add 3 1 roll add exch }
-{ CP }
-ifelse
-end }}%
-\def\Node@@@coor#1{%
-\pst@@getcoor{#1}%
-\def\psk@angleA{%
-\pst@tempg load \tx@GetCenter \pst@coor
-3 -1 roll sub 3 1 roll sub neg \tx@Atan}%
-\Node@@coor}
-\def\nput{\pst@object{nput}}
-\def\nput@i#1#2{\pst@killglue\pst@makebox{\nput@ii{#1}{#2}}}
-\def\nput@ii#1#2{%
-\begingroup
-\use@par
-\psset@refangle{#1}%
-\let\psk@angleA\psk@refangle
-\edef\psk@nodesepA{\pst@number\pslabelsep}%
-\def\psk@nodeseptypeA{0 }%
-\pslabelsep\z@
-\uput@vi
-\Node@@coor#2\@nil
-\let\pst@coor\pst@tempg
-\leavevmode
-\psput@special\pst@hbox
-\endgroup
-\ignorespaces}
-\newcount\psrow
-\newcount\pscol
-\newcount\psmatrixcnt
-\newskip\psrowsep
-\newskip\pscolsep
-\def\psset@colsep#1{\pssetlength\pscolsep{#1}}
-\def\psset@rowsep#1{\pssetlength\psrowsep{#1}}
-\psset@colsep{1.5cm}
-\psset@rowsep{1.5cm}
-\newif\ifpsmatrix
-% DG/SR modification begin - Nov. 27, 1998 - Patch 8
-%\let\mscount\@multicnt
-\ifx\mscount\@undefined\let\mscount\@multicnt\fi
-% DG/SR modification end
-\def\psmatrix{\begingroup{\ifnum0=`}\fi % Don't want to expand any &.
- \@ifnextchar[{\psmatrix@i}{\ifnum0=`{\fi}{}\psmatrix@ii}}
-\def\psmatrix@i[#1]{%
- \ifnum0=`{\fi}{}%
- \psset{#1}%
- \psmatrix@ii}
-\def\psmatrix@ii{%
- \KillGlue
- \edef\psm@beginmath{%
- \ifmmode$\m@th\ifinner\textstyle\else\displaystyle\fi\fi}%
- \edef\psm@endmath{\ifmmode$\fi}%
- \let\\\psm@cr
- \advance\psmatrixcnt 1
- \def\psm@thenode{M-\the\psmatrixcnt-\the\psrow-\the\pscol}%
- \tabskip\z@
- \psrow1
- \pscol\z@
- \psset@shortput{tablr}%
- \leavevmode
- \vbox\bgroup\halign\bgroup&%
- \begingroup
- \global\advance\pscol 1
- \csname psrowhook\romannumeral\psrow\endcsname
- \csname pscolhook\romannumeral\pscol\endcsname
- \psm@beginnode##\psm@endnode\endgroup
- \cr}
-%
-\def\endpsmatrix{%
- \crcr\egroup\unskip\egroup
- \endgroup}
-%
-% hv 2007-10-16 fix bug with \\[name=...]
-%\def\psm@cr{{\ifnum0=`}\fi\@ifnextchar[{\psm@@cr}{\psm@@@cr{}}}
-\def\psm@cr{{\ifnum0=`}\fi\ps@ifnextchar[{\psm@@cr}{\psm@@@cr{}}}
-%
-\def\psm@@cr[#1]{\psm@@@cr{\vskip#1\relax}}
-\def\psm@@@cr#1{%
- \ifnum0=`{\fi}{}\cr
- \noalign{%
- \global\advance\psrow 1
- \global\pscol\z@
- \vskip\psrowsep
- #1}}
-\def\psm@beginnode{%
- \@ifnextchar\psm@endnode
- {\let\psm@endnode@i\relax\setbox\pst@hbox=\hbox{}}%
- {\pst@object{psm@beginnode}}}
-\def\psm@beginnode@i{%
- \setbox\pst@hbox=\hbox\bgroup
- \psm@beginmath
- \begingroup
- \ignorespaces}
-\def\psm@endnode@i{%
- \unskip
- \endgroup
- \psm@endmath
- \egroup
- \use@par
- \@psttrue}
-\def\psm@endnode{%
- \@pstfalse
- \psm@endnode@i
- \ifnum\pscol>1 \hskip\pscolsep \fi
- \psk@mnodesize
- \hfil
- \nodealigntrue
- \if@pst\csname mnode@\psk@mnode\endcsname
- \else\csname mnode@\psk@emnode\endcsname\fi
- \psk@mcol
- \psk@@mnodesize}
-% DG/SR modification begin - Sep. 3, 1999 - Patch 10 - From Michael Sharpe
-%\def\psspan#1{\mscount#1\relax\loop\ifnum\mscount>\@ne \sp@n\repeat}
-\def\psspan#1{\global\mscount#1\relax\pstloop\ifnum\mscount>\@ne\sp@n\repeat}
-\def\pstloop#1\repeat{\gdef\pstiterate{#1\relax\expandafter\pstiterate\fi}%
- \pstiterate
- \let\pstiterate\relax}
-% DG/SR modification end
-\def\psset@name#1{\pst@getnode{#1}\psk@name}
-\let\psk@name\relax
-\def\psset@mcol#1{%
- \ifx r#1\relax\let\psk@mcol\relax\else
- \ifx l#1\relax\let\psk@mcol\hfill\else
- \let\psk@mcol\hfil\fi\fi}
-\psset@mcol{c}
-\def\psset@mnodesize#1{%
-\pssetlength\pst@dimg{#1}%
-\ifdim\pst@dimg<\z@
-\let\psk@mnodesize\relax
-\let\psk@@mnodesize\relax
-\else
-\edef\psk@mnodesize{\noexpand\hbox to\number\pst@dimg sp\noexpand\bgroup}%
-\let\psk@@mnodesize\egroup
-\fi}
-\psset@mnodesize{-1pt}
-\def\mnode@R{\rnode@iii\Rnode@ii{\psm@thenode}}
-\def\mnode@r{\rnode@iii\rnode@iv{\psm@thenode}}
-\def\mnode@oval{\ovalnode@ii{\psm@thenode}}
-\def\mnode@tri{\trinode@ii{\psm@thenode}}
-\def\mnode@dia{\dianode@ii{\psm@thenode}}
-\def\mnode@C{{\nodealigntrue\cnode@ii(\z@,\z@){\psk@radius}{\psm@thenode}}}
-\def\mnode@f{{\nodealigntrue\fnode@ii(\z@,\z@){\psm@thenode}}}
-\def\mnode@circle{\circlenode@ii{\psm@thenode}}
-% hv modification begin - Aug. 16, 2007
-\def\mnode@Circle{\Circlenode@ii{\psm@thenode}}
-% hv modification end - Aug. 16, 2007
-\def\mnode@p{\pnode(\z@,\z@){\psm@thenode}}
-% DG/SR modification begin - Jul. 22, 1997 - Patch 1
-\def\mnode@dot{\dotnode@ii(\z@,\z@){\psm@thenode}}
-% DG/SR modification end
-\def\mnode@none{\box\pst@hbox}
-\def\psset@mnode#1{%
-\@ifundefined{mnode@#1}%
-{\@pstrickserr{\string\psmatrix\space node `#1' not defined.}\@ehpa}%
-{\edef\psk@mnode{#1}}}
-\def\psset@emnode#1{%
-\@ifundefined{mnode@#1}%
-{\@pstrickserr{\string\psmatrix\space node `#1' not defined.}\@ehpa}%
-{\edef\psk@emnode{#1}}}
-\psset@mnode{R}
-\psset@emnode{none}
-%%%% FROM pst-coil.tex
-\def\nccoil{\pst@object{nccoil}}
-\def\nccoil@i{\check@arrow{\nccoil@ii}}
-\def\nccoil@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
-\tx@NCCoor
-tx@Dict begin
-% DG/SR modification begin - Mar. 19, 1998 - Patch 5
-4 2 roll
-% DG/SR modification end
-\psk@coilwidth \pscoilheight
-\psk@coilarmA \psk@coilarmB
-\psk@coilaspect \psk@coilinc
-\pst@coildict \tx@Coil end
-end}}
-\def\nczigzag{\pst@object{nczigzag}}
-\def\nczigzag@i{\check@arrow{\nczigzag@ii}}
-\def\nczigzag@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
-\tx@NCCoor
-tx@Dict begin
-% DG/SR modification begin - Mar. 19, 1998 - Patch 5
-4 2 roll
-% DG/SR modification end
-\pscoilheight
-\psk@coilwidth
-\psk@coilarmA
-\psk@coilarmB
-\pst@coildict \tx@ZigZag end
-\psline@iii
-\tx@Line
-end}}
-\catcode`\@=\TheAtCode\relax
-\endinput
-%%
-%% END pst-node.tex
diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex b/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex
deleted file mode 100644
index 11dd9385fef..00000000000
--- a/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex
+++ /dev/null
@@ -1,709 +0,0 @@
-%% $Id: pst-plot.tex 119 2009-06-03 07:37:40Z herbert $
-%% BEGIN pst-plot.tex
-%%
-%% Plots and axes with PSTricks
-%% See the PSTricks User's Guide for documentation.
-%%
-%%
-%% COPYRIGHT 1993-2006 by Timothy Van Zandt, tvz@nwu.edu.
-%% COPYRIGHT 2007-2009 by Herbert Voss, hvoss@tug.org
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt.
-%%
-\csname PSTplotLoaded\endcsname
-\let\PSTplotLoaded\endinput
-%
-\ifx\PSTricksLoaded\endinput\else\input pstricks.tex \fi
-\ifx\MultidoLoaded\endinput\else \input multido.tex \fi
-%
-\def\fileversion{1.04}
-\def\filedate{2009/06/08}
-\message{ v\fileversion, \filedate}
-%
-\edef\TheAtCode{\the\catcode`\@}
-\catcode`\@=11
-%
-% Using lists of data is optimized for \dataplot and \fileplot
-% Here is the tricky part. As each line is read from file,
-% we want to ignore trailing delimiters, and convert arbitrary
-% strings of non-trailing delimiters to _D_.
-% We end up with
-% D x1 D y1 D x2 D y2 ... D xn D yn
-%
-\begingroup
-\catcode`\{=13
-\catcode`\}=13
-\catcode`\(=13
-\catcode`\)=13
-\catcode`\,=13
-\catcode`\!=1
-\catcode`\*=2
-\catcode`\ =13
-\catcode`\_=13
-\catcode`\^^M=13
-\gdef\pst@datadelimiters!% Begin def
-\catcode`\{=13%
-\catcode`\}=13%
-\catcode`\(=13%
-\catcode`\)=13%
-\catcode`\,=13%
-\catcode`\ =13%
-\catcode`\^^M=13%
-\def,##1!%
-\ifcat\noexpand,\noexpand##1%
-\expandafter##1%
-\else\space%
-D\space##1%
-\fi*%
-\let(,\let),\let{,\let},\let ,\let^^M,\let_\@empty*% End def
-\endgroup
-%
-\begingroup
-\catcode`\,=13
-\catcode`\_=13
-\gdef\savedata@#1[#2]{%
- \xdef\pst@tempg{#2_}%
- \endgroup
- \let#1\pst@tempg
- \global\let\pst@tempg\relax
- \ignorespaces}
-%
-\gdef\readdata@{%
- \read1 to \pst@tempa
- \expandafter\readdata@@\pst@tempa_\@nil
- \ifeof1\else\expandafter\readdata@\fi}
- \gdef\pst@@readfile#1#2\@nil{\addto@pscode{,#1#2}}%
- \gdef\readdata@@#1#2\@nil{\xdef\pst@tempg{\pst@tempg,#1#2}}%
-\endgroup
-%
-\def\readdata#1#2{%
- \openin1=#2
- \begingroup
- \def\pst@tempg{}%
- \ifeof1
- \@pstrickserr{Data file `#2' not found.}\@ehpa
- \else
- \pst@datadelimiters
- \catcode`\[=1
- \catcode`\]=2
- \readdata@%
- \fi
- \endgroup
- \let#1\pst@tempg
-% \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot:readdata:\string\pst@tempg: \pst@tempg}\fi% hv 2008-02-28
- \global\let\pst@tempg\relax
- \ignorespaces}
-%
-\def\pst@readfile#1{{\let\readdata@@\pst@@readfile\readdata\pst@tempg{#1}}}
-\def\pst@altreadfile#1{%
- \openin1=#1
- \ifeof1
- \@pstrickserr{Data file `#1' not found.}\@ehpa
- \else
- \catcode`\{=10
- \catcode`\}=10
- \catcode`\(=10
- \catcode`\)=10
- \catcode`\,=10
- \catcode`\^^M=10
- \catcode`\[=1
- \catcode`\]=2
- \pst@@altreadfile
- \fi}
-\def\pst@@altreadfile{%
- \read1 to \pst@tempg
- \expandafter\pst@@@altreadfile\pst@tempg\@empty\@nil
- \ifeof1\else\expandafter\pst@@@altreadfile\fi}
-\def\pst@@@altreadfile#1#2\@nil{\addto@pscode{#1#2}}%
-%
-\def\savedata#1{\begingroup\pst@datadelimiters\savedata@{#1}}
-%
-\def\beginplot@line{\begin@OpenObj}
-\def\endplot@line{\psline@ii}
-\def\beginplot@polygon{\begin@ClosedObj}
-\def\endplot@polygon{\pspolygon@ii}
-\def\beginplot@curve{\begin@OpenObj}
-\def\endplot@curve{\pscurve@ii}
-\def\beginplot@ecurve{\begin@OpenObj}
-\def\endplot@ecurve{\psecurve@ii}
-\def\beginplot@ccurve{\begin@ClosedObj}
-\def\endplot@ccurve{\psccurve@ii}
-\def\beginplot@dots{\begin@SpecialObj}
-\def\endplot@dots{\psdots@ii}
-\def\beginplot@bezier{\begin@OpenObj}
-\def\endplot@bezier{\psbezier@ii}
-\def\beginplot@cbezier{\begin@ClosedObj}
-\def\endplot@cbezier{\pscbezier@ii}
-% added 2007-06-26 (hv)
-\let\beginplot@LineToYAxis\beginplot@line % all from pst-plot
-\def\endplot@LineToYAxis{\psLineToYAxis@ii}
-\let\beginqp@LineToYAxis\beginqp@line
-\let\doqp@LineToYAxis\doqp@line
-\let\endqp@LineToYAxis\endqp@line
-\let\testqp@LineToYAxis\testqp@line
-\let\beginplot@LineToXAxis\beginplot@line
-\def\endplot@LineToXAxis{\psLineToXAxis@ii}
-\let\beginqp@LineToXAxis\beginqp@line
-\let\doqp@LineToXAxis\doqp@line
-\let\endqp@LineToXAxis\endqp@line
-\let\testqp@LineToXAxis\testqp@line
-% end (hv)
-\def\psset@plotstyle#1{%
- \@ifundefined{beginplot@#1}%
- {\@pstrickserr{Plot style `#1' not defined}\@eha}%
- {\edef\psplotstyle{#1}}}
-\psset@plotstyle{line}
-%
-\def\psset@plotpoints#1{%
- \pst@cntg=#1\relax
- \ifnum\pst@cntg<2
- \@pstrickserr{plotpoints parameter must be at least 2}\@ehpa
- \else
- \advance\pst@cntg-1
- \edef\psk@plotpoints{\the\pst@cntg\space}%
- \fi}
-\psset@plotpoints{50}
-%
-% For quick plots, define:
-% \beginqp@<foo> : What to do to first point (PS code only).
-% \doqp@<foo> : What to do to subsequent points (PS code only).
-% \endqp@<foo> : How to end plot.
-% \testqp@<foo> : Set \@psttrue if OK to use quick plot.
-%
-\def\beginqp@line{\pst@oplineto}
-\def\doqp@line{L }
-\def\endqp@line{\end@OpenObj}%
-\def\testqp@line{%
- \ifdim\pslinearc>\z@\else
- \ifshowpoints\else
- \ifx\psk@arrowA\@empty
- \ifx\psk@arrowB\@empty
- \@psttrue
- \fi
- \fi
- \fi
- \fi}
-%
-\def\beginqp@polygon{moveto }
-\def\doqp@polygon{L }
-\def\endqp@polygon{%
- \addto@pscode{closepath}%
- \end@ClosedObj}
-\def\testqp@polygon{%
- \ifdim\pslinearc>\z@\else
- \ifshowpoints\else
- \@psttrue
- \fi
- \fi}
-%
-\def\beginqp@dots{%
- \psk@dotsize
- \@nameuse{psds@\psk@dotstyle}
-% DG/SR modification begin - Dec. 12, 1999 - Patch 2
-% /TheDot { gsave \psk@dotangle \psk@dotscale Dot grestore } def
-% TheDot }
- Dot }
-%\def\doqp@dots{TheDot }
-\def\doqp@dots{Dot }
-% DG/SR modification end
-\def\endqp@dots{\end@SpecialObj}
-\def\testqp@dots{\@psttrue}
-%
-\def\beginqp@bezier{/n 0 def \pst@oplineto}
-\def\doqp@bezier{/n n 1 add def n 3 mod 0 eq { curveto } if }
-\def\endqp@bezier{%
- \addto@pscode{n 3 mod { pop pop } repeat}
- \end@OpenObj}%
-\def\testqp@bezier{%
- \ifshowpoints\else
- \ifx\psk@arrowA\@empty
- \ifx\psk@arrowB\@empty
- \@psttrue
- \fi
- \fi
- \fi}
-%
-\def\beginqp@cbezier{/n 0 def moveto }
-\def\doqp@cbezier{\doqp@bezier}
-\def\endqp@cbezier{%
- \addto@pscode{n 3 mod { pop pop } repeat closepath}
- \end@ClosedObj}%
-\def\testqp@cbezier{\ifshowpoints\else\@psttrue\fi}
-%
-% added 2007-06-26 (hv) -------------------------------------------------
-\def\psLineToYAxis@ii{%
-\addto@pscode{\pst@cp \psline@iii \tx@LineToYAxis}%
-\end@OpenObj}
-%
-\def\tx@LineToYAxis{LineToYAxis }
-%
-\pst@def{LineToYAxis}<{
- NArray % all x-y pairs on stack
- n { 2 copy moveto % go to current point
- 0 exch Lineto % line to y-axis
- pop % delete old x-value
- } repeat
-}>
-%
-\def\psLineToXAxis@ii{%
-\addto@pscode{\pst@cp \psline@iii \tx@LineToXAxis}%
-\end@OpenObj}
-%
-\def\tx@LineToXAxis{LineToXAxis }
-%
-\pst@def{LineToXAxis}<{%
-NArray
-n 0 eq not
- { n 1 eq { 0 0 /n 2 def } if
- ArrowA
- /n n 2 sub def
- CP 2 copy moveto pop 0 Lineto
- n { 2 copy moveto pop 0 Lineto } repeat
- CP
- 4 2 roll
- ArrowB
- 2 copy moveto pop 0
- L
- pop pop } if}>
-% end (hv) --------------------------------------------------------------
-%
-\def\psdataplot{\def\pst@par{}\pst@object{dataplot}}
-\def\dataplot{\def\pst@par{}\pst@object{dataplot}}
-\def\dataplot@i#1{%
- \pst@killglue
- \begingroup
- \use@par
- \@pstfalse
- \@nameuse{testqp@\psplotstyle}%
- \if@pst
- \dataplot@ii{\addto@pscode{#1}}%
- \else
- \listplot@ii{\addto@pscode{#1}}%
- \fi
- \endgroup
- \ignorespaces}
-%
-\def\dataplot@ii#1{%
- \@nameuse{beginplot@\psplotstyle}%
- \addto@pscode{%
- /Dx { \pst@number\psxunit mul /D { Dy } def } def
- /Dy { \pst@number\psyunit mul Do /D { Dx } def } def
- /D { /D { Dx } def } def
- /Do {
- \@nameuse{beginqp@\psplotstyle}%
- /Do { \@nameuse{doqp@\psplotstyle}} def
- } def}%
- #1% % this is \pst@readfile{#1} for fileplot
- \addto@pscode{ D }%
- \@nameuse{endqp@\psplotstyle}}
-%
-\def\psfileplot{\def\pst@par{}\pst@object{fileplot}}
-\def\fileplot{\def\pst@par{}\pst@object{fileplot}}
-\def\fileplot@i#1{%
- \pst@killglue%
- \begingroup%
- \use@par%
- \@pstfalse%
- \@nameuse{testqp@\psplotstyle}%
- \if@pst\dataplot@ii{\pst@readfile{#1}}\else\listplot@ii{\pst@altreadfile{#1}}\fi%
- \endgroup%
- \ignorespaces}
-%
-\pst@def{ScalePoints}<%
- /y ED /x ED
- counttomark dup dup cvi eq not { exch pop } if
- /m exch def /n m 2 div cvi def
- n { y mul m 1 roll x mul m 1 roll /m m 2 sub def } repeat>
-%
-\def\pslistplot{\def\pst@par{}\pst@object{listplot}}
-\def\listplot{\def\pst@par{}\pst@object{listplot}}
-\def\listplot@i#1{\listplot@ii{\addto@pscode{#1}}}
-\def\listplot@ii#1{%
- \@nameuse{beginplot@\psplotstyle}%
- \addto@pscode{/D {} def mark}%
- #1%
- \addto@pscode{\pst@number\psxunit \pst@number\psyunit \tx@ScalePoints}%
- \@nameuse{endplot@\psplotstyle}}
-%
-% \psplot
-\def\psplotinit#1{\xdef\psplot@init{#1 }}
-\def\psplot@init{}
-%
-\def\psplot{\def\pst@par{}\pst@object{psplot}}
-\def\psplot@i#1#2#3{%
- \pst@killglue
- \begingroup
- \use@par
- \@nameuse{beginplot@\psplotstyle}%
- \addto@pscode{%
- \psplot@init
- /x #1 def
- /x1 #2 def
- /dx x1 x sub \psk@plotpoints div def
- /xy {
- x \pst@number\psxunit mul
- #3 \pst@number\psyunit mul
- } def}%
- \gdef\psplot@init{}%
- \@pstfalse
- \@nameuse{testqp@\psplotstyle}%
- \if@pst
- \psplot@ii
- \else
- \psplot@iii
- \fi
- \endgroup
- \ignorespaces}
-\def\psplot@ii{%
- \addto@pscode{%
- /ps@Exit false def % hv 2008-11-22
- xy \@nameuse{beginqp@\psplotstyle}
- \psk@plotpoints 1 sub {
- /x x dx add def
- xy \@nameuse{doqp@\psplotstyle}
- ps@Exit { exit } if % hv 2008-11-22
- } repeat
- ps@Exit not { % hv 2008-11-22
- /x x1 def
- xy \@nameuse{doqp@\psplotstyle}
- } if }%
- \@nameuse{endqp@\psplotstyle}}
-\def\psplot@iii{%
- \addto@pscode{%
- mark
- /n 2 def
- \psk@plotpoints {
- xy
- n 2 roll
- /n n 2 add def
- /x x dx add def
- } repeat
- /x x1 def
- xy
- n 2 roll}%
- \@nameuse{endplot@\psplotstyle}}
-%
-\def\psparametricplot{\def\pst@par{}\pst@object{parametricplot}}% hv 2008-11-22
-\def\parametricplot{\def\pst@par{}\pst@object{parametricplot}}
-\def\parametricplot@i#1#2#3{%
- \pst@killglue
- \begingroup
- \use@par
- \@nameuse{beginplot@\psplotstyle}%
- \addto@pscode{%
- \psplot@init
- /t #1 def
- /t1 #2 def
- /dt t1 t sub \psk@plotpoints div def
- /xy {
- #3
- \pst@number\psyunit mul exch
- \pst@number\psxunit mul exch
- } def}%
- \gdef\psplot@init{}%
- \@pstfalse
- \@nameuse{testqp@\psplotstyle}%
- \if@pst
- \parametricplot@ii
- \else
- \parametricplot@iii
- \fi
- \endgroup
- \ignorespaces}
-\def\parametricplot@ii{%
- \addto@pscode{%
- /ps@Exit false def % hv 2008-11-22
- xy \@nameuse{beginqp@\psplotstyle}
- \psk@plotpoints 1 sub {
- /t t dt add def
- xy \@nameuse{doqp@\psplotstyle}
- ps@Exit { exit } if % hv 2008-11-22
- } repeat
- ps@Exit not {
- /t t1 def
- xy \@nameuse{doqp@\psplotstyle}
- } if }%
- \@nameuse{endqp@\psplotstyle}}
-\def\parametricplot@iii{%
- \addto@pscode{%
- mark
- /n 2 def
- \psk@plotpoints {
- xy
- n 2 roll
- /n n 2 add def
- /t t dt add def
- } repeat
- /t t1 def
- xy
- n 2 roll}%
- \@nameuse{endplot@\psplotstyle}}
-%
-% These axes macros are complicated. Be careful.
-%
-% \pst@ticks{angle}{dx}{n}{int}
-% int=1 if ticks appear on top of axes, 0 otherwise.
-\def\pst@ticks#1#2#3#4{%
- \begin@SpecialObj
- \addto@pscode{%
- #1 rotate
- /n #3 def
- /dx #2 def
- n 0 lt { /dx dx neg def /n n neg def } if
- /y2 \psk@ticksize CLW 2 div add def
- /y1 y2 neg def
- \ifnum\psk@tickstyle=1
- \ifdim#4<\z@ /y2 \else /y1 \fi 0 def
- \else
- \ifnum\psk@tickstyle=-1
- \ifdim#4<\z@ /y1 \else /y2 \fi 0 def
- \fi
- \fi
- /x dx def
- n { x y1 moveto x y2 lineto stroke /x x dx add def } repeat}%
- \end@SpecialObj}
-%
-\def\psset@ticksize#1{\pst@getlength{#1}\psk@ticksize}
-\psset@ticksize{3pt}
-%
-\def\psset@tickstyle#1{\pst@expandafter\psset@@tickstyle{#1}\@nil}
-\def\psset@@tickstyle#1#2\@nil{%
- \ifx#1f\let\psk@tickstyle\z@\else
- \ifx#1t\let\psk@tickstyle\@ne\else
- \ifx#1b\let\psk@tickstyle\m@ne\else
- \@pstrickserr{Bad tick style: `#1#2'}\@ehpa
- \fi\fi\fi}
-\psset@tickstyle{full}
-%
-\def\psset@ticks#1{\pst@expandafter\psset@@ticks{#1}\@nil\psk@ticks}
-\def\psset@@ticks#1#2\@nil#3{%
- \ifx#1a\let#3\z@\else
- \ifx#1x\let#3\@ne\else
- \ifx#1y\let#3\tw@\else
- \ifx#1n\let#3\thr@@\else
- \@pstrickserr{Bad argument: `#1#2'}\@ehpa
- \fi\fi\fi\fi}
-\psset@ticks{all}
-%
-\def\psset@labels#1{\pst@expandafter\psset@@ticks{#1}\@nil\psk@labels}
-\psset@labels{all}
-%
-\def\psset@Ox#1{\edef\psk@Ox{#1}}
-\psset@Ox{0}
-\def\psset@Dx#1{\edef\psk@Dx{#1}}
-\psset@Dx{1}
-\def\psset@dx#1{%
- \pssetxlength\pst@dimg{#1}%
- \edef\psk@dx{\number\pst@dimg}}
-\psset@dx{0}
-%
-\def\psset@Oy#1{\edef\psk@Oy{#1}}
-\psset@Oy{0}
-\def\psset@Dy#1{\edef\psk@Dy{#1}}
-\psset@Dy{1}
-\def\psset@dy#1{%
- \pssetylength\pst@dimg{#1}%
- \edef\psk@dy{\number\pst@dimg}}
-\psset@dy{0}
-%
-\newif\ifshoworigin
-\def\psset@showorigin#1{\@nameuse{showorigin#1}}
-\psset@showorigin{true}
-%
-\def\psaxes{\def\pst@par{}\pst@object{psaxes}}
-\def\psaxes@i{\pst@getarrows\psaxes@ii}
-\def\psaxes@ii(#1){\@ifnextchar({\psaxes@iii(#1)}{\psaxes@iv(0,0)(0,0)(#1)}}
-\def\psaxes@iii(#1)(#2){%
- \@ifnextchar(%
- {\psaxes@iv(#1)(#2)}%
- {\psaxes@iv(#1)(#1)(#2)}}
-\def\psaxes@iv(#1,#2)(#3,#4)(#5,#6){%
- \setbox\pst@hbox=\hbox\bgroup
- \use@par
- \pssetxlength\pst@dimg{#1}% o-x
- \pssetylength\pst@dimh{#2}% o-y
- \pssetxlength\pst@dima{#3}% bl-x
- \pssetylength\pst@dimb{#4}% bl-y
- \pssetxlength\pst@dimc{#5}% ur-x
- \pssetylength\pst@dimd{#6}% ur-y
-% Whole thing will be translated to origin:
- \advance\pst@dima-\pst@dimg % Dist. from bl-x to o-x
- \advance\pst@dimb-\pst@dimh % Dist. from bl-y to o-y
- \advance\pst@dimc-\pst@dimg % Dist. from ur-x to o-x
- \advance\pst@dimd-\pst@dimh % Dist. from ur-y to o-y
-% Make lines/arrows or frame:
- \@nameuse{psxs@\psk@axesstyle}%
-% "\pslabelsep" should be from the edge of the axis.
- \advance\pslabelsep.5\pslinewidth
-% Now the ticks and labels. Start by checking for "\multido".
-% !!Need to fix this so that does nothing when there are 0 ticks.!!
- \begingroup
- \ifdim\pst@dimb=\z@\else\showoriginfalse\fi
- \ifnum\psk@dx=\z@
- \pst@dimg=\psk@Dx\psxunit
- \psDEBUG[psaxes@iv]{local:\textbackslash pst@dimg=\the\pst@dimg}% v.1.01
- \ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dx \edef\psk@Dx{-\the\pst@cnta} % v.1.01
- \psDEBUG[psaxes@iv]{Dx -> -Dx (was negative)}% v.1.01
- \fi % v.1.01
- \edef\psk@dx{\number\pst@dimg}%
- \psDEBUG[psaxes@iv]{local: \textbackslash psk@dx=\psk@dx}% v.1.01
- \else\psDEBUG[psaxes@iv]{global: \textbackslash psk@dx=\psk@dx}%
- \fi
- \ifnum\psk@ticks<\tw@
- \ifnum\psk@tickstyle>\z@ \else\advance\pslabelsep\psk@ticksize\p@\fi
- \fi
- \pst@hlabels\pst@dimc\psk@arrowB
- \pst@hlabels\pst@dima\psk@arrowA
- \endgroup
- \begingroup
- \ifdim\pst@dima=\z@\else\showoriginfalse\fi
- \ifnum\psk@dy=\z@
- \pst@dimg=\psk@Dy\psyunit
- \psDEBUG[psaxes@iv]{\textbackslash pst@dimg=\the\pst@dimg}% v.1.01
- \ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dy \edef\psk@Dy{-\the\pst@cnta} % v.1.01
- \psDEBUG[psaxes@iv]{Dy -> -Dy (was negative)}% v.1.01
- \fi % v.1.01
- \edef\psk@dy{\number\pst@dimg}%
- \psDEBUG[psaxes@iv]{\textbackslash psk@dy=\psk@dy}% v.1.01
- \fi
- \ifodd\psk@ticks\else
- \ifnum\psk@tickstyle>\z@ \else\advance\pslabelsep\psk@ticksize\p@\fi
- \fi
- \pst@vlabels\pst@dimd\psk@arrowB
- \pst@vlabels\pst@dimb\psk@arrowA
- \endgroup
-% Now close "\pst@hbox" (which is 0-dimensional), and put it at the origin.
- \egroup
- \pssetxlength\pst@dimg{#1}%
- \pssetylength\pst@dimh{#2}%
- \leavevmode\psput@cartesian\pst@hbox
- \ignorespaces}
-%
-\def\psxs@axes{%
- \psxs@@axes\pst@dima\pst@dimc{}%
- \psxs@@axes\pst@dimb\pst@dimd{exch}}
-\def\psxs@@axes#1#2#3{%
- \begin@SpecialObj
- \ifdim#1=\z@
- \def\psk@arrowA{C}%
- \else
- \ifdim#2=\z@
- \def\psk@arrowB{C}%
- \fi
- \fi
- \let\pst@linetype\pst@arrowtype
- \pst@addarrowdef
- \addto@pscode{%
- \pst@number#2 0 #3
- \pst@number#1 0 #3
- ArrowA
- CP 4 2 roll
- ArrowB
- L
- pop pop}%
- \pst@stroke
- \end@SpecialObj}
-%
-\def\psxs@frame{%
- \begin@SpecialObj
- \addto@pscode{%
- 0 0 moveto \pst@number\pst@dimc 0 L
- 0 \pst@number\pst@dimd 2 copy rlineto L closepath}%
- \pst@stroke
- \psk@fillstyle
- \end@SpecialObj
- \let\psk@arrowA\@empty
- \let\psk@arrowB\@empty}
-
-\def\psset@axesstyle#1{%
- \@ifundefined{psxs@#1}%
- {\@pstrickserr{Axes style `#1' not defined}\@eha}%
- {\edef\psk@axesstyle{#1}}}
-\psset@axesstyle{axes}
-%
-\def\psxs@none{\let\psk@arrowA\@empty\let\psk@arrowB\@empty}
-%
-% The origin is never the only label.
-\def\pst@hlabels#1#2{%
- \ifdim#1=\z@\else
- \ifx#2\empty\else\advance#1\ifdim#1>\z@-\fi7\pslinewidth\fi
- \pst@cnta=#1\relax % Distance (in sp) to end.
- \divide\pst@cnta\psk@dx\relax % Number of ticks/labels
- \ifnum\pst@cnta=\z@\else
- \pst@dimb=\psk@dx sp % Space between ticks.
- \ifnum\psk@ticks<\tw@
- \pst@ticks{0}{\pst@number\pst@dimb}{\the\pst@cnta}{\pst@dimd}%
- \fi
- \ifnum\psk@labels<\tw@ \pst@@hlabels\fi
- \showoriginfalse
- \fi
-\fi}
-%
-% Knows \pst@dimb and \pst@cnta
-\def\pst@minusZero{-0}
-\def\pst@@hlabels{%
- \vbox to\z@{%
- \ifdim\pst@dimd>\z@\vskip\pslabelsep\else\vss\fi
- \ifnum\pst@cnta<\z@ \pst@dimb=-\pst@dimb\fi
- \hbox to\z@{%
- \ifshoworigin\hbox to \z@{\hss\pshlabel{\psk@Ox}\hss}\fi
- \mmultido
- {\nA=\psk@Ox+\psk@Dx}%
- {\pst@cnta}%
- {\hskip\pst@dimb\hbox to \z@{%
- \hss\ifx\nA\pst@minusZero \pshlabel{0}\else\pshlabel{\nA}\fi
-% \hss\ifdim\nA pt=\z@ \pshlabel{0}\else\pshlabel{\nA}\fi
- \hss}}% prevent "-0"
- \hss}%
- \ifdim\pst@dimd>\z@\vss\else\vskip\pslabelsep\fi}}%
-
-\def\pshlabel#1{$#1$}
-%
-\def\pst@vlabels#1#2{%
- \ifdim#1=\z@\else
- \ifx#2\empty\else
- \advance#1\ifdim#1>\z@-\fi7\pslinewidth
- \fi
- \pst@cnta=#1\relax % Distance (in sp) to end.
- \divide\pst@cnta\psk@dy\relax % Number of ticks/labels
- \ifnum\pst@cnta=\z@\else
- \pst@dima=\psk@dy sp % Space between ticks.
- \ifodd\psk@ticks\else
- \pst@ticks{90}{\pst@number\pst@dima}{\the\pst@cnta}{-\pst@dimc}%
- \fi
- \ifodd\psk@labels\else\pst@@vlabels\fi
- \showoriginfalse
- \fi
- \fi}
-%
-% Knows \pst@dima and \pst@cnta
-\def\pst@@vlabels{%
- \vbox to\z@{%
- \ifnum\pst@cnta>\z@
- \pst@dima=-\pst@dima
- \fi
- \offinterlineskip
- \ifshoworigin
- \vbox to \z@{\vss\hbox to\z@{%
- \ifdim\pst@dimc>\z@\hss\else\hskip\pslabelsep\fi
- \psvlabel{\psk@Oy}%
- \ifdim\pst@dimc>\z@\hskip\pslabelsep\else\hss\fi}\vss}%
- \fi
- \mmultido
- {\nA=\psk@Oy+\psk@Dy}%
- {\pst@cnta}%
- {\vbox to\pst@dima{\vss}\vbox to \z@{\vss\hbox to\z@{%
- \ifdim\pst@dimc>\z@\hss\else\hskip\pslabelsep\fi
- \ifx\nA\pst@minusZero \psvlabel{0}\else\psvlabel{\nA}\fi%
-% \ifdim\nA sp=\z@ \psvlabel{0}\else\psvlabel{\nA}\fi% prevent -0, doesn't work with \ifnum
- \ifdim\pst@dimc>\z@\hskip\pslabelsep\else\hss\fi}\vss}}%
- \vss}}
-%
-\def\psvlabel#1{$#1$}
-%
-\catcode`\@=\TheAtCode\relax
-\endinput
-%%
-%% END pst-plot.tex
diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.con b/Master/texmf-dist/tex/generic/pstricks/pstricks.con
index 8dbf0b8bef4..08f7a66be78 100644
--- a/Master/texmf-dist/tex/generic/pstricks/pstricks.con
+++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.con
@@ -1,15 +1,15 @@
%% BEGIN: pstricks.con (for dvips driver)
%%
-%% Configuration file for PSTricks 97
+%% Configuration file for PSTricks
%%
-%% Version 97 patch 2 (1997/04/28)
+%% Version 1.00 (2010/01/16)
%%
%% For use with Rokicki's dvips (tested with v5.74 and older)
\def\pstdriver{Rokicki's dvips}
{\catcode`\"=12\gdef\pstverb#1{\special{" #1}}} % Check catcode of "
\def\pstunit{1bp}%
-\def\pstVerb#1{\special{ps: #1}}
+\def\pstVerb#1{\special{ps:#1}}% hv write it without a preceding space
\def\pstverbscale{SDict begin normalscale end}
% DG/SR modification begin - Apr. 28, 1997 (D. Carlisle + S. Rahtz)
% \def\pstheader#1{\special{header=#1}}
diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
index 68310975004..06f90a2553e 100644
--- a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
+++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
@@ -20,13 +20,20 @@
% See the PSTricks User's Guide for description.
% This uses the header file `pstricks.pro'.
%
-\def\fileversion{1.31}
-\def\filedate{2009/11/27}
%
\csname PSTricksLoaded\endcsname
\let\PSTricksLoaded\endinput
+\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex \fi
+\ifx\PSTFPloaded\endinput\else \input pst-fp.tex\fi
+%
+\def\fileversion{2.0}
+\def\filedate{2010/02/11}
+%
\edef\PstAtCode{\the\catcode`\@}
\catcode`\@=11\relax
+%
+\pst@addfams{pstricks}
+%
\expandafter\ifx\csname @latexerr\endcsname\relax% do we have LaTeX?
\def\typeout#1{\immediate\write\@unused{#1}}
\alloc@7\write\chardef\sixt@@n\@unused
@@ -59,8 +66,80 @@
\def\:{\@xifnch} \expandafter\gdef\: {\futurelet\@tempc\@ifnch}
\endgroup
\fi
+% stolen from latex.ltx to make it TeX compatible
+\newcount\psLoopIndex
+\def\@fornoop#1\@@#2#3{}
+\long\def\@for#1:=#2\do#3{%
+ \pst@cntm=0%
+ \expandafter\def\expandafter\@fortmp\expandafter{#2}%
+ \ifx\@fortmp\@empty \else
+ \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi}
+\long\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
+ #5\def#4{#2}\ifx #4\@nnil \else\global\advance\psLoopIndex by \@ne\relax%
+ #5\@iforloop #3\@@#4{#5}\fi\fi}
+\long\def\@iforloop#1,#2\@@#3#4{\global\advance\psLoopIndex by \@ne\relax%
+ \def#3{#1}\ifx #3\@nnil
+ \expandafter\@fornoop \else
+ #4\relax\expandafter\@iforloop\fi#2\@@#3{#4}}
+%
+\long\def\psforeach#1#2#3{%
+ \global\psLoopIndex=0\relax
+ \if$\ifnum9<1#2$ \else \fi \psforeach@ii{#1}{#2}{#3}
+ \else \expandafter\psforeach@i#2,..,,..,\@nil{#1}{#3}\fi}
+\long\def\psforeach@i#1,#2,..,#3,..,#4\@nil#5#6{%
+ \ifx\relax#3\relax\psforeach@ii{#5}{#1,#2}{#6}
+ \else\psforeach@iii{#5}{#1}{#2}{#3}{#6}\fi}
+\long\def\psforeach@ii#1#2#3{%
+ \begingroup%
+ \edef\reserved@a{#2}%
+ \@for#1:=\reserved@a\do{#3}%
+ \endgroup}
+\long\def\psforeach@iii#1#2#3#4#5{%
+ \pstFPsub\pst@tempA{#3}{#2}%
+ \pst@dimm=\pst@tempA pt
+ \pstFPstripZeros{\pst@tempA}\pst@tempB%
+ \def\pst@tempA{#2}%
+ \def\pst@tempa{#2}%
+ \pst@dimn=#4pt%
+ \loop%
+ \pst@dimm=\pst@tempA pt%
+ \ifdim\pst@dimm<\pst@dimn%
+ \pstFPadd\pst@tempA{\pst@tempA}{\pst@tempB}%
+ \pstFPstripZeros{\pst@tempA}\pst@tempA
+ \edef\pst@tempa{\pst@tempa,\pst@tempA}%
+ \repeat%
+ \psforeach@ii{#1}{\pst@tempa}{#5}}
+%
+\long\def\psForeach#1#2#3{%
+ \global\psLoopIndex=0\relax
+ \if$\ifnum9<1#2$ \else \fi \psforeach@ii{#1}{#2}{#3}
+ \else \expandafter\psForeach@i#2,..,,..,\@nil{#1}{#3}\fi}
+\long\def\psForeach@i#1,#2,..,#3,..,#4\@nil#5#6{%
+ \ifx\relax#3\relax\psForeach@ii{#5}{#1,#2}{#6}
+ \else\psForeach@iii{#5}{#1}{#2}{#3}{#6}\fi}
+\long\def\psForeach@ii#1#2#3{%
+ \edef\reserved@a{#2}%
+ \@for#1:=\reserved@a\do{#3}}
+\long\def\psForeach@iii#1#2#3#4#5{%
+ \pstFPsub\pst@tempA{#3}{#2}%
+ \pst@dimm=\pst@tempA pt
+ \pstFPstripZeros{\pst@tempA}\pst@tempB%
+ \def\pst@tempA{#2}%
+ \def\pst@tempa{#2}%
+ \pst@dimn=#4pt%
+ \loop%
+ \pst@dimm=\pst@tempA pt%
+ \ifdim\pst@dimm<\pst@dimn%
+ \pstFPadd\pst@tempA{\pst@tempA}{\pst@tempB}%
+ \pstFPstripZeros{\pst@tempA}\pst@tempA
+ \edef\pst@tempa{\pst@tempa,\pst@tempA}%
+ \repeat%
+ \psForeach@ii{#1}{\pst@tempa}{#5}}
+%
+%
%
% hv 2007-10-16 to fix the bug in pst-node with \\[name=...]
+% hv fix bug with empty fnodes in psmatrix
\def\ps@ifnextchar#1#2#3{%
\let\reserved@d= #1%
\def\reserved@a{#2}\def\reserved@b{#3}%
@@ -69,6 +148,7 @@
\ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi
\reserved@b
}
+\def\pshskip#1{\vrule \@width\z@\nobreak \hskip #1\hskip \z@skip}
% end bugfix
\typeout{`PSTricks' v\fileversion\space\space <\filedate> (tvz)}
\def\@pstrickserr#1#2{%
@@ -92,6 +172,10 @@
You better fix this before proceding.^^J
See the PSTricks User's Guide or ask your system administrator for help.^^J
Type \space X <return> \space to quit.}
+\def\@ehpd{%
+ Not allowed optional argument.^^J
+ Will proceed with the default setting.^^J
+ Type \space X <return> \space to quit.}
\def\pst@misplaced#1{\@pstrickserr{Misplaced \string#1 command}\@ehpb}
\newdimen\pst@dima
\newdimen\pst@dimb
@@ -99,6 +183,12 @@
\newdimen\pst@dimd
\newdimen\pst@dimg
\newdimen\pst@dimh
+\newdimen\pst@dimm
+\newdimen\pst@dimn
+\newdimen\pst@dimo
+\newdimen\pst@dimp
+\chardef\f@ur=4
+%
\newbox\pst@hbox
\newbox\pst@boxg
\newcount\pst@cnta
@@ -107,6 +197,11 @@
\newcount\pst@cntd
\newcount\pst@cntg
\newcount\pst@cnth
+\newcount\pst@cntm
+\newcount\pst@cntn
+\newcount\pst@cnto
+\newcount\pst@cntp
+\newcount\@zero\@zero=0\relax
%
\newif\ifPst@SpecialLength
\Pst@SpecialLengthfalse
@@ -124,10 +219,90 @@
\def\@tempa{\@empty}%
\fi
\expandafter\ps@next\@tempa}
+%
\def\pst@dimtonum#1#2{\edef#2{\pst@@dimtonum#1}}
\def\pst@@dimtonum#1{\expandafter\pst@@@dimtonum\the#1}
{\catcode`\p=12 \catcode`\t=12 \global\@namedef{pst@@@dimtonum}#1pt{#1}}
%
+\def\pst@getdimdim#1 #2 #3\@nil{%
+ \def\pst@tempA{#2}%
+ \ifx\pst@tempA\@empty
+ \pssetlength\pst@dimn{#1}%
+ \pst@dimm=\z@%
+ \else%
+ \pssetlength\pst@dimm{#1}%
+ \pssetlength\pst@dimn{#2}%
+ \fi%
+}
+\def\pst@getxdimdim#1 #2 #3\@nil{%
+ \def\pst@tempA{#2}%
+ \ifx\pst@tempA\@empty
+ \pssetxlength\pst@dimn{#1}%
+ \pst@dimm=\z@
+ \else%
+ \pssetxlength\pst@dimm{#1}%
+ \pssetxlength\pst@dimn{#2}%
+ \fi%
+}
+\def\pst@getydimdim#1 #2 #3\@nil{%
+ \def\pst@tempA{#2}
+ \ifx\pst@tempA\@empty
+ \pssetylength\pst@dimn{#1}
+ \pst@dimm=\z@
+ \else
+ \pssetylength\pst@dimm{#1}%
+ \pssetylength\pst@dimn{#2}%
+ \fi%
+}
+%
+% A modulo macro for integer values
+% \pst@mod{34}{6}\value ==> \value is 4
+%
+\def\pst@mod#1#2#3{%
+ \begingroup%
+ \pst@cntm=#1\pst@cntn=#2\relax%
+ \pst@cnto=\pst@cntm%
+ \divide\pst@cntm by \pst@cntn%
+ \multiply\pst@cntn by \pst@cntm%
+ \advance\pst@cnto by -\pst@cntn%
+ \edef\value{\endgroup\def\noexpand#3{\number\pst@cnto}}\value%
+}
+\def\pst@max#1#2#3{%
+ \begingroup%
+ \pst@cntm=#1\pst@cntn=#2\relax%
+ \ifnum\pst@cntm<\pst@cntn\pst@cntm=\pst@cntn\fi
+ \global#3=\the\pst@cntm%
+ \endgroup%
+}
+\def\pst@maxdim#1#2#3{%
+ \begingroup%
+ \pst@dimm=#1\pst@dimn=#2\relax%
+ \ifdim\pst@dimm<\pst@dimn\pst@dimm=\pst@dimn\fi
+ \global#3=\the\pst@dimm%
+ \endgroup%
+}
+\def\pst@mindim#1#2#3{%
+ \begingroup%
+ \pst@dimm=#1\pst@dimn=#2\relax%
+ \ifdim\pst@dimm>\pst@dimn\pst@dimm=\pst@dimn\fi
+ \global#3=\the\pst@dimm%
+ \endgroup%
+}
+\def\pst@abs#1#2{%
+ \begingroup%
+ \pst@cntm=#1\relax%
+ \ifnum\pst@cntm<\z@\pst@cntm=-\pst@cntm\fi%
+ \global#2=\the\pst@cntm
+ \endgroup%
+}
+\def\pst@absdim#1#2{%
+ \begingroup%
+ \pst@dimm=#1\relax%
+ \ifdim\pst@dimm<\z@\pst@dimm=-\pst@dimm\fi%
+ \global#2=\the\pst@dimm%
+ \endgroup%
+}
+%
\def\pst@pyth#1#2#3{% from pst-3d
\begingroup
\pst@dima=#1\relax
@@ -286,24 +461,6 @@
\pssetlength\pst@dimg{#1}%
\pst@checknum{#2}\pst@tempg%
}
-% DG/SR modification begin - Jan. 7, 1998 - Patch 9
-% Missing from pstricks.bug 0.93
-%\def\pst@getscale#1#2{%
-%\pst@expandafter\pst@getnumii{#1 #1} {} {} {}\@nil
-%\@psttrue
-%\ifdim\pst@tempg\p@=\z@
-%\@pstrickserr{Bad scaling argument `#1'}\@ehpa
-%\def\pst@tempg{1 }%
-%\@pstfalse
-%\fi
-%\ifdim\pst@temph\p@=\z@
-%\if@pst\@pstrickserr{Bad scaling argument `#1'}\@ehpa\fi
-%\def\pst@temph{1 }%
-%\fi
-%\edef#2{\pst@tempg\space \pst@temph\space scale }%
-%\ifdim\pst@tempg\p@=\p@ \ifdim\pst@temph\p@=\p@
-%\def#2{}%
-%\fi\fi}
\def\pst@getscale#1#2{% read and check a scale input x [y]
\edef\pst@tempg{#1}%
\ifx\pst@tempg\@none
@@ -323,7 +480,6 @@
\fi
\fi%
}
-% DG/SR modification end
\def\pst@getint#1#2{% read and check an integer
\pst@cntg=#1\relax
\edef#2{\the\pst@cntg\space}%
@@ -384,28 +540,17 @@
\newrgbcolor{yellow}{1 1 0}
\newrgbcolor{cyan}{0 1 1}
\newrgbcolor{magenta}{1 0 1}
-\def\psset#1{\@psset#1,\@nil\ignorespaces}
-\def\@psset#1,{%
- \@@psset#1==\@nil%
- \@ifnextchar\@nil{\@gobble}{\@psset}%
-}
-\def\@@psset#1=#2=#3\@nil{%
- \@ifundefined{psset@#1}%
- {\@pstrickserr{Graphics parameter `#1' not defined.}\@ehpa}%
- {\@nameuse{psset@#1}{#2}}%
-}%
-\def\psset@style#1{%
+%
+\define@key[psset]{pstricks}{style}{%
\@ifundefined{pscs@#1}%
{\@pstrickserr{Custom style `#1' undefined}\@ehpa}%
{\@nameuse{pscs@#1}}%
}
-%\def\newpsstyle#1#2{\@namedef{pscs@#1}{\psset{#2}}}
-%------------ hv 1.10 beg -------------------
\def\newpsstyle#1#2{\@namedef{pscs@#1}{%
\def\pst@tempA{#2}%
- \ifx\pst@tempA\@empty\else\psset{#2}\fi}}
-%------------ hv 1.10 end -------------------
-%------------ hv 1.16 begin -------------------
+ \ifx\pst@tempA\@empty\else\psset{#2}\fi}%
+}
+%
\def\addto@psstyle#1#2{%
\pst@toks=\expandafter{#1#2}%
\edef#1{\the\pst@toks}}
@@ -452,20 +597,20 @@
\afterassignment\pstunit@off
#1 #2\@psunit%
}
-\def\psset@unit#1{%
+\define@key[psset]{pstricks}{unit}[1cm]{%
\pssetlength\psunit{#1}%
\psxunit=\psunit%
\psyunit=\psunit%
}
-\def\psset@runit#1{\pssetlength\psrunit{#1}}
-\def\psset@xunit#1{\pssetxlength\psxunit{#1}}
-\def\psset@yunit#1{\pssetylength\psyunit{#1}}
-% v 1.05 begin
-\def\psset@PstDebug#1{\pst@getint{#1}{\Pst@Debug}}% hv 2004-06-22
-\psset{PstDebug=0}
+\define@key[psset]{pstricks}{runit}[1cm]{\pssetlength\psrunit{#1}}
+\define@key[psset]{pstricks}{xunit}[1cm]{\pssetxlength\psxunit{#1}}
+\define@key[psset]{pstricks}{yunit}[1cm]{\pssetylength\psyunit{#1}}
+%
+\define@key[psset]{pstricks}{PstDebug}[0]{\pst@getint{#1}\Pst@Debug}% hv 2004-06-22
+\psset[pstricks]{PstDebug=0}
\def\psDEBUG{\@ifnextchar[\psDEBUG@i{\psDEBUG@i[PSTricks]}}%
\def\psDEBUG@i[#1]#2{\ifnum\Pst@Debug>0 \expandafter\typeout{<#1>: #2}\fi}%
-% end
+%
\def\pst@getlength#1#2{%
\pssetlength\pst@dimg{#1}%
\edef#2{\pst@number\pst@dimg}%
@@ -674,56 +819,47 @@
\def\psput@cartesian{\psput@special}%
\def\cartesian@coor##1,##2,##3\@nil{\polar@coor{##1}{##2}}%
}%
-\def\psset@origin#1{%
+\define@key[psset]{pstricks}{origin}[]{%
\pst@@getcoor{#1}%
-% ----------- 1.10 beg hv -------------------
-% \edef\psk@origin{\pst@coor \tx@NET }}
\edef\psk@origin{\pst@coor T }}
-% ----------- 1.10 end hv -------------------
\def\psk@origin{}
%
-\newif\ifswapaxes
-\def\psset@swapaxes#1{% \if@pst
+\newif\ifPst@algebraic
+\define@boolkey[psset]{pstricks}[Pst@]{algebraic}[true]{}
+\psset[pstricks]{algebraic=false}
+%
+\define@boolkey[psset]{pstricks}[]{swapaxes}[true]{% \if@pst
\@nameuse{@pst#1}%
\if@pst\def\psk@swapaxes{-90 rotate -1 1 scale }%
\else\def\psk@swapaxes{}%
- \fi%
-}
-\psset@swapaxes{false}
+ \fi}
+\psset[pstricks]{swapaxes=false}
%
-\newif\ifshowpoints
-\def\psset@showpoints#1{\@nameuse{showpoints#1}}
-\psset@showpoints{false}
+\define@boolkey[psset]{pstricks}[]{showpoints}[true]{}
+\psset[pstricks]{showpoints=false}
%
\let\pst@setrepeatarrowsflag\relax
%
-\def\psset@border#1{%
-\pst@getlength{#1}\psk@border
-\pst@setrepeatarrowsflag}
-\psset@border{0pt}
-\def\psset@bordercolor#1{\pst@getcolor{#1}\psbordercolor}
-\psset@bordercolor{white}
-\newif\ifpsdoubleline
-\def\psset@doubleline#1{%
- \@nameuse{psdoubleline#1}%
- \pst@setrepeatarrowsflag}
-\psset@doubleline{false}
-\def\psset@doublesep#1{\def\psdoublesep{#1}}
-\psset@doublesep{1.25\pslinewidth}
-\def\psset@doublecolor#1{\pst@getcolor{#1}\psdoublecolor}
-\psset@doublecolor{white}
-%
-\newif\ifpsshadow
-\def\psset@shadow#1{%
- \@nameuse{psshadow#1}%
- \pst@setrepeatarrowsflag}
-\psset@shadow{false}
-\def\psset@shadowsize#1{\pst@getlength{#1}\psk@shadowsize}
-\psset@shadowsize{3pt}
-\def\psset@shadowangle#1{\pst@getangle{#1}\psk@shadowangle}
-\psset@shadowangle{-45}
-\def\psset@shadowcolor#1{\pst@getcolor{#1}\psshadowcolor}
-\psset@shadowcolor{darkgray}
+\define@key[psset]{pstricks}{border}[0pt]{\pst@getlength{#1}\psk@border \pst@setrepeatarrowsflag}
+\psset[pstricks]{border=0pt}
+\define@key[psset]{pstricks}{bordercolor}[white]{\pst@getcolor{#1}\psbordercolor}
+\psset[pstricks]{bordercolor=white}
+\define@boolkey[psset]{pstricks}[ps]{doubleline}[true]{\pst@setrepeatarrowsflag}
+\psset[pstricks]{doubleline=false}
+\define@key[psset]{pstricks}{doublesep}[1.25\pslinewidth]{\def\psdoublesep{#1}}
+\psset[pstricks]{doublesep=1.25\pslinewidth}
+\define@key[psset]{pstricks}{doublecolor}[white]{\pst@getcolor{#1}\psdoublecolor}
+\psset[pstricks]{doublecolor=white}
+%
+\define@boolkey[psset]{pstricks}[ps]{shadow}[true]{\pst@setrepeatarrowsflag}
+\psset[pstricks]{shadow=false}
+\define@key[psset]{pstricks}{shadowsize}[3pt]{\pst@getlength{#1}\psk@shadowsize}
+\psset[pstricks]{shadowsize=3pt}
+\define@key[psset]{pstricks}{shadowangle}[-45]{\pst@getangle{#1}\psk@shadowangle}
+\psset[pstricks]{shadowangle=-45}
+\define@key[psset]{pstricks}{shadowcolor}[darkgrey]{\pst@getcolor{#1}\psshadowcolor}
+\psset[pstricks]{shadowcolor=darkgray}
+%
\def\pst@repeatarrowsflag{\z@}
\def\pst@setrepeatarrowsflag{%
\edef\pst@repeatarrowsflag{%
@@ -731,88 +867,90 @@
\ifpsshadow 1\else \z@\fi\fi\fi}}
%
\def\psls@none{}
-\newdimen\pslinewidth
-\def\psset@linewidth#1{\pssetlength\pslinewidth{#1}}
-\psset@linewidth{.8pt}
-\def\psset@linecolor#1{\pst@getcolor{#1}\pslinecolor}
-\psset@linecolor{black}
\def\psls@solid{\psk@linecap\space setlinecap stroke }
%
-\def\psset@linecap#1{\pst@getint{#1}\psk@linecap}% hv 2007-12-01
-\psset@linecap{0}% hv 2007-12-01
-\def\psset@linejoin#1{\pst@getint{#1}\psk@linejoin}% hv 2007-10-13
+\newdimen\pslinewidth
+\define@key[psset]{pstricks}{linewidth}[0.8pt]{\pssetlength\pslinewidth{#1}}
+\psset[pstricks]{linewidth=.8pt}
+\define@key[psset]{pstricks}{linecolor}[black]{\pst@getcolor{#1}\pslinecolor}
+\psset[pstricks]{linecolor=black}
+\define@key[psset]{pstricks}{linecap}[0]{\pst@getint{#1}\psk@linecap}% hv 2007-12-01
+\psset[pstricks]{linecap=0}
+\define@key[psset]{pstricks}{linejoin}[0]{\pst@getint{#1}\psk@linejoin}% hv 2007-10-13
+\psset[pstricks]{linejoin=0}
\def\tx@setlinejoin{\psk@linejoin\space setlinejoin }% hv 2007-10-13
-\psset@linejoin{0}% hv 2007-10-13
%
\def\pst@missing{%
\z@
\@pstrickserr{Missing number or dimension. 0 substituted}\@ehpa}
%
%%------------------- begin patch 15 HV 2004-05-15 -------------
-%\def\psset@dash#1{%
-% \pst@expandafter\psset@@dash{#1} {\pst@missing} {\pst@missing} {}\@nil
-% \edef\psk@dash{\pst@number\pst@dimg \pst@number\pst@dimh}%
-%}
-%\def\psset@@dash#1 #2 #3\@nil{%
-%\pssetlength\pst@dimg{#1}%
-%\pssetlength\pst@dimh{#2}}
-%\psset@dash{5pt 3pt}
\def\pst@empty{\z@}
-\def\psset@dash#1{% black white [ black white ]
- \pst@expandafter\psset@@dash{#1} {\pst@empty} {\pst@empty} %
- {\pst@missing} {\pst@missing} {}\@nil
- \edef\psk@dash{\pst@number\pst@dimg \pst@number\pst@dimh
- \pst@number\pst@dimc \pst@number\pst@dimd}%
-}
-\def\psset@@dash#1 #2 #3 #4 #5\@nil{%
- \pssetlength\pst@dimg{#1}%
- \pssetlength\pst@dimh{#2}%
- \pssetlength\pst@dimc{#3}%
- \pssetlength\pst@dimd{#4}%
-}
-\psset@dash{5pt 3pt 0pt 0pt}% black white black white
+
+\define@key[psset]{pstricks}{dash}[5pt 3pt 0pt 0pt]{% defined in pstricks.tex
+ \pst@expandafter\psset@@dash{#1}\@nil}% Error handling for empty argument.
+\define@key[psset]{pstricks}{maxdashes}[11]{\def\psk@maxdashes{#1}}
+\psset[pstricks]{maxdashes=11}
+%
+\def\psset@@dash#1\@nil{%
+ \def\psk@dash{}%
+ \pst@cntm0
+ \def\next##1 ##2\relax{%
+ \expandafter\ifnum\psk@maxdashes>\pst@cntm\relax % 04-08-07
+ \edef\@tempa{##1}%
+ \ifx\@tempa\@empty\else% gobble leading spaces
+ \pssetlength\pst@dimc{##1}%
+ \advance\pst@cntm by 1
+ \edef\psk@dash{\psk@dash\space\pst@number\pst@dimc}%
+ \fi%
+ \edef\@tempa{##2}%
+ \ifx\@tempa\@empty\else% detect end
+ \ifx\@tempa\space\else% gobble trailing spaces
+ \next##2\relax%
+ \fi\fi%
+ \else% 04-08-07
+ \@pstrickserr{Number of dashes > \psk@maxdashes. Increasing
+ 'maxdashes' might work.}\@ehpa% 04-08-07
+ \fi% 04-08-07
+ }%
+ \expandafter\next#1 \relax}
+\psset[pstricks]{dash=5pt 3pt 0pt 0pt}% black white black white
%%------------------- end patch 15 HV 2004-05-15 -------------
-\newif\ifpsdashadjust
-\def\psset@dashadjust#1{\@nameuse{psdashadjust#1}}
-\psset@dashadjust{true}
+\define@boolkey[psset]{pstricks}[ps]{dashadjust}[true]{}
+\psset[pstricks]{dashadjust}
\def\tx@DashLine{DashLine }
-\def\psls@dashed{%
-%%--------------------------------- hv 2006-04-29 beg ---------------------
- \psk@linecap\space setlinecap
-%%--------------------------------- hv 2006-04-29 end ---------------------
+%
+\def\psls@dashed{
+ \psk@linecap\space setlinecap
\ifpsdashadjust
-% \psk@dash \pst@linetype\space \tx@DashLine
- \psk@dash \@ifundefined{pst@linetype}{2}{\pst@linetype}\space \tx@DashLine
+ [ \psk@dash ] \pst@linetype\space \tx@DashLine
\else
[ \psk@dash ] 0 setdash stroke
\fi}
+%% End patch TN; Date (YY-MM-DD): 04-07-17; 2nd part
%
-\def\psset@dotsep#1{\pst@getlength{#1}\psk@dotsep}
-\psset@dotsep{3pt}
+\define@key[psset]{pstricks}{dotsep}[3pt]{\pst@getlength{#1}\psk@dotsep}
+\psset[pstricks]{dotsep=3pt}
\def\tx@DotLine{DotLine }
-\def\psls@dotted{%
+\def\psls@dotted{
\ifpsdashadjust
\psk@dotsep \pst@linetype\space \tx@DotLine
\else
[ 0 \psk@dotsep CLW add ] 0 setdash 1 setlinecap stroke
- \fi%
+ \fi
}
-\def\psset@linestyle#1{%
+\define@key[psset]{pstricks}{linestyle}[solid]{%
\@ifundefined{psls@#1}%
{\@pstrickserr{Line style `#1' not defined}\@eha}%
- {\edef\pslinestyle{#1}}%
-}
-\psset@linestyle{solid}
-%%--------------------------------- hv 2006-04-29 beg ---------------------
-\def\psset@linecap#1{%
+ {\def\pslinestyle{#1}}}
+\psset[pstricks]{linestyle=solid}
+\define@key[psset]{pstricks}{linecap}[0]{%
\def\psk@linecap{0}%
\ifnum#1>-1
\ifnum#1<3
\pst@getint{#1}\psk@linecap%
- \fi\fi%
-}
+ \fi\fi}
\psset{linecap=0}
-%--------------------------------- hv 2006-04-29 end ---------------------
%------------------------- Transparency modes ----------------------------
\pst@def{setTransparency}< \psk@opacityalpha .setopacityalpha >
\pst@def{setStrokeTransparency}< \psk@strokeopacityalpha .setopacityalpha >
@@ -831,21 +969,25 @@
%--------------------------------- hv 2007-09-09 begin ---------------------
% transparency needs a run through latex -> dvips -> ps2pdf14(!)
%
-\def\psset@fillcolor#1{\pst@getcolor{#1}\psfillcolor}
-\psset@fillcolor{white}
-\def\psset@strokeopacity#1{\pst@checknum{#1}\psk@strokeopacityalpha }% for lines
-\psset@strokeopacity{1}
-\def\psset@opacity#1{\pst@checknum{#1}\psk@opacityalpha }% for filled areas
-\psset@opacity{1}
-\def\psset@shapealpha#1{\pst@checknum{#1}\psk@shapealpha }
-\psset@shapealpha{0.6}
-\def\psset@blendmode#1{\pst@getint{#1}\psk@blendmode }% must be one of
+\define@key[psset]{pstricks}{fillcolor}[white]{\pst@getcolor{#1}\psfillcolor}
+\psset[pstricks]{fillcolor=white}
+\define@key[psset]{pstricks}{strokeopacity}[1]{\pst@checknum{#1}\psk@strokeopacityalpha }% for lines
+\psset[pstricks]{strokeopacity=1}
+\define@key[psset]{pstricks}{opacity}[1]{\pst@checknum{#1}\psk@opacityalpha }% for filled areas
+\psset[pstricks]{opacity=1}
+\define@key[psset]{pstricks}{shapealpha}[0.6]{\pst@checknum{#1}\psk@shapealpha }
+\psset[pstricks]{shapealpha=0.6}
+\define@key[psset]{pstricks}{blendmode}[0]{\pst@getint{#1}\psk@blendmode }% must be one of
% /Normal 0
% /Compatible 1
% /Screen 2
% /Multiply 3
% /HardLight 4
-\psset@blendmode{0}
+\psset[pstricks]{blendmode=0}
+\define@key[psset]{pstricks}{fsAngle}[137.50775]{\pst@getangle{#1}\pst@fsAngle }
+\define@key[psset]{pstricks}{fsOrigin}[(0,0)]{%
+ \pst@@getcoor{#1}\edef\pst@fsOrigin{\pst@coor T }}
+\psset[pstricks]{fsOrigin={0,0},fsAngle=137.50775}
%
\def\tx@LineFill{LineFill }
\def\tx@PenroseFill{PenroseFill }
@@ -853,23 +995,21 @@
\def\psfs@none{}
\def\psfs@solid{\pst@fill{\pst@usecolor\psfillcolor \tx@setTransparency fill }}
\def\psfs@eofill{\pst@fill{\pst@usecolor\psfillcolor \tx@setTransparency eofill}}
-\def\psfs@shape{\pst@fill{ \pst@usecolor\psfillcolor \tx@setBlendmode fill }}
-%
-%--------------------------------- hv 2007-09-09 end ---------------------
-%
-\def\psset@hatchwidth#1{\pst@getlength{#1}\psk@hatchwidth}
-\psset@hatchwidth{.8pt}
-\def\psset@hatchsep#1{\pst@getlength{#1}\psk@hatchsep}
-\psset@hatchsep{4pt}
-\def\psset@hatchcolor#1{\pst@getcolor{#1}\pshatchcolor}
-\psset@hatchcolor{black}
-\def\psset@hatchangle#1{\pst@getangle{#1}\psk@hatchangle}
-\psset@hatchangle{45}
-% ------------ hv 1.11 ------------
-\def\psset@hatchsepinc#1{\pst@getlength{#1}\psk@hatchsepinc}
-\def\psset@hatchwidthinc#1{\pst@getlength{#1}\psk@hatchwidthinc}
-\psset@hatchwidthinc{0pt}
-\psset@hatchsepinc{0pt}
+\def\psfs@shape{\pst@fill{\pst@usecolor\psfillcolor \tx@setBlendmode fill }}
+\def\psfs@spiral{\pst@fill{\pst@fsOrigin \pst@usecolor\psfillcolor clip newpath
+ 0 .1 500 { dup dup sqrt 4 div 0 360 arc fill \pst@fsAngle rotate } for }}
+%
+\define@key[psset]{pstricks}{hatchwidth}[0.8pt]{\pst@getlength{#1}\psk@hatchwidth}
+\psset[pstricks]{hatchwidth=.8pt}
+\define@key[psset]{pstricks}{hatchsep}[4pt]{\pst@getlength{#1}\psk@hatchsep}
+\psset[pstricks]{hatchsep=4pt}
+\define@key[psset]{pstricks}{hatchcolor}[black]{\pst@getcolor{#1}\pshatchcolor}
+\psset[pstricks]{hatchcolor=black}
+\define@key[psset]{pstricks}{hatchangle}[45]{\pst@getangle{#1}\psk@hatchangle}
+\psset[pstricks]{hatchangle=45}
+\define@key[psset]{pstricks}{hatchsepinc}[0pt]{\pst@getlength{#1}\psk@hatchsepinc}
+\define@key[psset]{pstricks}{hatchwidthinc}[0pt]{\pst@getlength{#1}\psk@hatchwidthinc}
+\psset[pstricks]{hatchwidthinc=0pt,hatchsepinc=0pt}
%
\def\pst@linefill{%
\psk@hatchangle rotate
@@ -879,7 +1019,6 @@
\psk@hatchsepinc
\psk@hatchwidthinc
\tx@LineFill }
-% ------------ hv 1.11 ------------
%
\def\psfs@vlines{\pst@fill\pst@linefill}
\@namedef{psfs@vlines*}{\psfs@solid \psfs@vlines}
@@ -888,8 +1027,10 @@
\def\psfs@crosshatch{\psfs@vlines \psfs@hlines}
\@namedef{psfs@crosshatch*}{\psfs@solid \psfs@vlines \psfs@hlines}
%
-\def\psset@psscale#1{\pst@checknum{#1}\psk@psscale}
-\psset@psscale{1}
+\define@key[psset]{pstricks}{psscale}[1]{%
+ \def\psk@@psscale{#1}% for use with \psscalebox
+ \pst@checknum{#1}\psk@psscale}
+\psset[pstricks]{psscale=1}
%
\def\pst@penroseFill{%
gsave % restore in PenroseFill
@@ -900,7 +1041,7 @@
\def\psfs@penrose{\pst@fill\pst@penroseFill}
\@namedef{psfs@penrose*}{\psfs@solid \psfs@penrose}
%
-\def\psset@fillstyle#1{%
+\define@key[psset]{pstricks}{fillstyle}[none]{%
\edef\pst@tempg{#1}\def\pst@temph{none}%
\ifx\pst@tempg\pst@temph
\let\psk@fillstyle\relax
@@ -910,41 +1051,21 @@
{\edef\psk@fillstyle{\expandafter\noexpand\csname psfs@#1\endcsname}}%
\fi%
}
-\def\psset@addfillstyle#1{%
+\define@key[psset]{pstricks}{addfillstyle}[]{%
\@ifundefined{psfs@#1}%
{\@pstrickserr{Undefined fill style: `#1'}\@eha}%
{\edef\psk@fillstyle{%
\expandafter\noexpand\psk@fillstyle
\expandafter\noexpand\csname psfs@#1\endcsname}%
- }%
-}
-\psset@fillstyle{none}
+ }}
+\psset[pstricks]{fillstyle=none}
+%
+%--------------------------- A R R O W S ---------------------------
%
-\def\psset@arrows#1{%
- \begingroup
- \pst@activearrows
- \xdef\pst@tempg{#1}%
- \endgroup
- \expandafter\psset@@arrows\pst@tempg\@empty-\@empty\@nil
- \if@pst\else
- \@pstrickserr{Bad arrows specification: #1}\@ehpa
- \fi%
-}
-\def\psset@@arrows#1-#2\@empty#3\@nil{%
- \@psttrue
- \def\ps@next##1,#1-##2,##3\@nil{\def\pst@tempg{##2}}%
- \expandafter\ps@next\pst@arrowtable,#1-#1,\@nil
- \@ifundefined{psas@\pst@tempg}%
- {\@pstfalse\def\psk@arrowA{}}%
- {\let\psk@arrowA\pst@tempg}%
- \@ifundefined{psas@#2}%
- {\@pstfalse\def\psk@arrowB{}}%
- {\def\psk@arrowB{#2}}%
-}
\def\psk@arrowA{}
\def\psk@arrowB{}
-%\def\pst@arrowtable{,<->,<<->>,>-<,>>-<<,(-),[-]}
-\def\pst@arrowtable{,<->,<<->>,>-<,>>-<<,(-),[-],)-(,]-[,|>-<|,<D-D>,D>-<D,<D<D-D>D>} % hv --1.16
+\def\pst@arrowtable{,-,<->,<<->>,>-<,>>-<<,(-),[-],)-(,]-[,|>-<|,<D-D>,D>-<D,<D<D-D>D>} % hv --1.16
+\edef\pst@arrowtable{\pst@arrowtable,|<*->|*,|<->|}
\begingroup
\catcode`\<=13
\catcode`\>=13
@@ -953,25 +1074,8 @@
\endgroup
\def\tx@BeginArrow{BeginArrow }
\def\tx@EndArrow{EndArrow }
-% Redefininition of \psset@arrowscale to store value of X scale factor hv --1.12
-%\def\psset@arrowscale#1{\pst@getscale{#1}\psk@arrowscale}
-\def\psset@arrowscale#1{% hv --1.12
- \pst@@arrowscale@i#1 \@nil% hv -- 1.12
- \pst@getscale{\pst@arrowscale}\psk@arrowscale}% hv --1.12
-\def\pst@@arrowscale@i#1 #2\@nil{\edef\pst@arrowscale{#1}}% hv --1.12
-\psset@arrowscale{1}
%
-\def\psset@arrowsize#1{%
- \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil
- \edef\psk@arrowsize{\pst@number\pst@dimg \pst@tempg}%
-}
-\psset@arrowsize{1.5pt 2}
-\def\psset@arrowlength#1{\pst@checknum{#1}\psk@arrowlength}
-\psset@arrowlength{1.4}
-\def\psset@arrowinset#1{\pst@checknum{#1}\psk@arrowinset}%
-\psset@arrowinset{.4}
\def\tx@Arrow{ \tx@setStrokeTransparency Arrow }% hv 2008-01-13
-% new definitions of the missing arrows ---- hv 1.1.2
\def\tx@ArrowD{ \tx@setStrokeTransparency ArrowD }% hv 2008-01-13
%
\@namedef{psas@<|}{
@@ -1050,11 +1154,11 @@
CP newpath moveto 0 a neg L stroke 0 h neg T
true \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@ArrowD
}
-\def\psset@tbarsize#1{%
+\define@key[psset]{pstricks}{tbarsize}[2pt 5]{%
\pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil
- \edef\psk@tbarsize{\pst@number\pst@dimg \pst@tempg}%
-}
-\psset@tbarsize{2pt 5}
+ \edef\psk@tbarsize{\pst@number\pst@dimg \pst@tempg}}
+\psset[pstricks]{tbarsize=2pt 5}
+%
\def\tx@Tbar{Tbar }
\@namedef{psas@|}{\psk@tbarsize \tx@Tbar}
\@namedef{psas@|*}{0 CLW -2 div T \psk@tbarsize \tx@Tbar}
@@ -1071,36 +1175,75 @@
newpath
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow
}
-\edef\pst@arrowtable{\pst@arrowtable,|<*->|*,|<->|}
-\def\psset@bracketlength#1{\pst@checknum{#1}\psk@bracketlength}
-\psset@bracketlength{.15}
+%
+\define@key[psset]{pstricks}{bracketlength}[0.15]{\pst@checknum{#1}\psk@bracketlength}
+\psset[pstricks]{bracketlength=.15}
\def\tx@Bracket{Bracket }
\@namedef{psas@]}{\psk@bracketlength \psk@tbarsize \tx@Bracket}
-\def\psset@rbracketlength#1{\pst@checknum{#1}\psk@rbracketlength}
-\psset@rbracketlength{.15}
+\define@key[psset]{pstricks}{rbracketlength}[0.15]{\pst@checknum{#1}\psk@rbracketlength}
+\psset[pstricks]{rbracketlength=.15}
\def\tx@RoundBracket{RoundBracket }
\@namedef{psas@)}{\psk@rbracketlength \psk@tbarsize \tx@RoundBracket}
+%
\def\psas@c{1 \psas@@c}
\def\psas@cc{0 CLW 2 div T 1 \psas@@c}
\def\psas@C{2 \psas@@c}
\def\psas@@c{%
setlinecap
0 0 moveto
-%%-------------------- v.1.04 begin HV 2004-05-18 ----------------
-% 0 CLW 2 div L
0 0.1 L % changed value from 0.5 to 0.1
-%%-------------------- v. 1.04 end HV 2004-05-18 ----------------
stroke
- 0 0 moveto
-}
+ 0 0 moveto }
+%
\def\psas@{}
-\psset@arrows{-}
+%
+\define@key[psset]{pstricks}{arrowLW}{\pst@getlength{#1}\psk@arrowLW}
+\psset[pstricks]{arrowLW=0}
+% arrowLW as LineWidth for the circled line ends
+%
+\def\psas@o{\psk@arrowLW\space dup 0 eq { pop }{ SLW } ifelse
+ {\pst@usecolor\psfillcolor true} false \psk@dotsize \tx@EndDot }
+\def\psas@oo{\psk@arrowLW\space dup 0 eq { pop }{ SLW } ifelse
+ {\pst@usecolor\psfillcolor true} true \psk@dotsize \tx@EndDot }
+\@namedef{psas@*}{\psk@arrowLW\space dup 0 eq { pop }{ SLW } ifelse
+ {false} false \psk@dotsize \tx@EndDot }
+\@namedef{psas@**}{\psk@arrowLW\space dup 0 eq { pop }{ SLW } ifelse
+ {false} true \psk@dotsize \tx@EndDot }
+%
+\define@key[psset]{pstricks}{arrows}[-]{%
+ \begingroup
+ \pst@activearrows
+ \xdef\pst@tempg{#1}%
+ \endgroup
+ \expandafter\psset@@arrows\pst@tempg\@empty-\@empty\@nil
+ \if@pst\else\@pstrickserr{Bad arrows specification: #1}\@ehpa\fi}
+\def\psset@@arrows#1-#2\@empty#3\@nil{%
+ \@psttrue
+ \def\ps@next##1,#1-##2,##3\@nil{\def\pst@tempg{##2}}%
+ \expandafter\ps@next\pst@arrowtable,#1-#1,\@nil
+ \@ifundefined{psas@\pst@tempg}{\@pstfalse\def\psk@arrowA{}}{\let\psk@arrowA\pst@tempg}%
+ \@ifundefined{psas@#2}{\@pstfalse\def\psk@arrowB{}}{\def\psk@arrowB{#2}}}
+\psset[pstricks]{arrows=-}
+%
+\define@key[psset]{pstricks}{arrowscale}[1]{% hv --1.12
+ \pst@@arrowscale@i#1 \@nil% hv -- 1.12
+ \pst@getscale{\pst@arrowscale}\psk@arrowscale}% hv --1.12
+\def\pst@@arrowscale@i#1 #2\@nil{\edef\pst@arrowscale{#1}}% hv --1.12
+\psset[pstricks]{arrowscale=1}
+%
+\define@key[psset]{pstricks}{arrowsize}[1.5pt 2]{%
+ \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil
+ \edef\psk@arrowsize{\pst@number\pst@dimg \pst@tempg}%
+}
+\psset[pstricks]{arrowsize=1.5pt 2}
+\define@key[psset]{pstricks}{arrowlength}[1.4]{\pst@checknum{#1}\psk@arrowlength}
+\psset[pstricks]{arrowlength=1.4}
+\define@key[psset]{pstricks}{arrowinset}[0.4]{\pst@checknum{#1}\psk@arrowinset}%
+\psset[pstricks]{arrowinset=0.4}
+%
\def\tx@SD{ \tx@setTransparency SD }
\def\tx@EndDot{EndDot }
-\def\psas@oo{{\pst@usecolor\psfillcolor true} true \psk@dotsize \tx@EndDot}
-\def\psas@o{{\pst@usecolor\psfillcolor true} false \psk@dotsize \tx@EndDot}
-\@namedef{psas@**}{{false} true \psk@dotsize \tx@EndDot}
-\@namedef{psas@*}{{false} false \psk@dotsize \tx@EndDot}
+%
\def\pst@par{}
\def\addto@par#1{%
\ifx\pst@par\@empty
@@ -1119,11 +1262,16 @@
\fi%
}
\def\use@par{%
+ \ifx\pst@par\@empty\else%
+ \expandafter\@psset\pst@par,\@nil%
+ \def\pst@par{}%
+ \fi}
+\def\use@keep@par{% same as \use@par, but keeps the values
\ifx\pst@par\@empty\else
\expandafter\@psset\pst@par,\@nil
- \def\pst@par{}%
- \fi%
-}
+% \def\pst@par{}%
+ \fi}
+%
\def\pst@object#1{%
\def\pst@par{}%
\pst@ifstar{%
@@ -1149,14 +1297,15 @@
% ------------------------- hv 1.10 end ------------------------
%
\def\begin@ClosedObj{%
- \leavevmode
- \pst@killglue
- \begingroup
- \use@par
- \solid@star
- \ifpsdoubleline \pst@setdoublesep \fi
- \init@pscode%
-}
+ \leavevmode%
+ \pst@killglue%
+ \begingroup%
+ \use@par%
+ \solid@star%
+ \ifpsdoubleline\pst@setdoublesep\fi%
+ \pst@addarrowdef% DG addition
+ \init@pscode}
+%
\def\end@ClosedObj{%
\ifpsshadow \pst@closedshadow \fi
\ifdim\psk@border\p@>\z@ \pst@addborder \fi
@@ -1366,46 +1515,48 @@
grestore
}}
%
-\def\pscustom{\def\pst@par{}\pst@object{pscustom}}
+\newif\ifPst@custom\Pst@customfalse
+%
+\def\pscustom{\pst@object{pscustom}}
\long\def\pscustom@i#1{%
- \begin@SpecialObj
- \solid@star
- \let\pst@ifcustom\iftrue
- \let\begin@ClosedObj\begin@CustomObj
- \let\end@ClosedObj\endgroup
+ \begin@SpecialObj%
+ \solid@star%
+ \let\pst@ifcustom\iftrue%
+ \Pst@customtrue%
+ \let\begin@ClosedObj\begin@CustomObj%
+ \let\end@ClosedObj\endgroup%
\def\begin@OpenObj{\begin@CustomObj\pst@addarrowdef}%
- \let\end@OpenObj\endgroup
- \let\begin@AltOpenObj\begin@CustomObj
+ \let\end@OpenObj\endgroup%
+ \let\begin@AltOpenObj\begin@CustomObj%
\def\begin@SpecialObj{%
- \begingroup
+ \begingroup%
\pst@misplaced{special graphics object}%
- \def\addto@pscode####1{}
+ \def\addto@pscode####1{}%
\let\end@SpecialObj\endgroup}%
- \def\@multips(##1)(##2)##3##4{\pst@misplaced\multips}%
- \def\psclip##1{\pst@misplaced\psclip}%
- \def\pst@repeatarrowsflag{\z@}%
- \let\pst@setrepeatarrowsflag\relax
- \showpointsfalse
- \let\showpointstrue\relax
- \def\pst@linetype{\pslinetype}%
- \let\psset@liftpen\psset@@liftpen
- \psset@liftpen{\z@}%
- \def\pst@cp{/currentpoint load stopped pop }%
- \def\pst@oplineto{/lineto load stopped { moveto } if }%
- \def\pst@optcp##1##2{%
- \ifnum##1=\z@\def##2{/currentpoint load stopped { 0 0 } if }\fi}%
- \let\caddto@pscode\addto@pscode
- \def\cuse@par##1{{\use@par##1}}%
- \the\pst@customdefs
- \setbox\pst@hbox=\hbox{#1}%
- \psk@fillstyle
- \pst@stroke
- \end@SpecialObj}
+ \def\@multips(##1)(##2)##3##4{\pst@misplaced\multips}%
+ \def\psclip##1{\pst@misplaced\psclip}%
+ \def\pst@repeatarrowsflag{\z@}%
+ \let\pst@setrepeatarrowsflag\relax%
+ \showpointsfalse%
+ \def\pst@linetype{\pslinetype}%
+ \def\psk@liftpen{\z@}%
+% \psset{liftpen=0}%
+ \def\pst@cp{/currentpoint load stopped pop }%
+ \def\pst@oplineto{/lineto load stopped { moveto } if }%
+ \def\pst@optcp##1##2{\ifnum##1=\z@\def##2{/currentpoint load stopped { 0 0 } if }\fi}%
+ \let\caddto@pscode\addto@pscode%
+ \def\cuse@par##1{{\use@par##1}}%
+ \the\pst@customdefs%
+ \setbox\pst@hbox=\hbox{#1}%
+ \psk@fillstyle%
+ \pst@stroke%
+ \end@SpecialObj%
+}
%
\def\begin@CustomObj{%
- \begingroup
- \use@par
- \addto@pscode{%
+ \begingroup%
+ \use@par%
+ \addto@pscode{
\pst@number\pslinewidth SLW
\pst@usecolor\pslinecolor
}%
@@ -1413,45 +1564,36 @@
\def\pst@oplineto{moveto }
\def\pst@cp{}
\def\pst@optcp#1#2{}
-\def\psset@liftpen#1{}
-\def\psset@@liftpen#1{%
- \ifcase#1\relax
+\define@key[psset]{pstricks}{liftpen}[0]{%
+ \ifPst@custom%
+ \ifcase#1\relax%
\def\psk@liftpen{\z@}%
\def\pst@cp{/currentpoint load stopped pop }%
\def\pst@oplineto{/lineto load stopped { moveto } if }%
- \or
+ \or%
\def\psk@liftpen{1}%
\def\pst@cp{}%
\def\pst@oplineto{/lineto load stopped { moveto } if }%
- \or
+ \or%
\def\psk@liftpen{2}%
\def\pst@cp{}%
\def\pst@oplineto{moveto }%
- \fi%
+ \fi\fi%
}
-\psset@liftpen{0}
+\psset[pstricks]{liftpen=0}
\def\psk@liftpen{-1}
%
-\def\psset@linetype#1{%
+\define@key[psset]{pstricks}{linetype}[2]{%
\pst@getint{#1}\pslinetype
-%----------------- hv begin 2006-04-20 ------------- patch 1.14b
\ifnum\pst@cntg<-3
-% \ifnum\pst@dimg<-3
-%----------------- hv end 2004-05-07 ------------- patch 1.14b
\@pstrickserr{linetype must be greater than -3}\@ehpa
-%----------------- hv begin 2004-05-07 ------------- patch 15
-% \def\pslinetype{0}%
\def\pslinetype{2}%
- \fi%
-}
-%\psset@linetype{0}
-\psset@linetype{2}% otherwise there is a problem when using e.g.
+ \fi}
+\psset[pstricks]{linetype=2}% otherwise there is a problem when using e.g.
% \psaxes[axesstyle=frame,linestyle=dashed]{->}(3,-2)
-%----------------- hv end 2004-05-07 ------------- patch 15
%
\def\caddto@pscode#1{%
- \@pstrickserr{Command can only be used in \string\pscustom}\@ehpa%
-}
+ \@pstrickserr{Command can only be used in \string\pscustom}\@ehpa}
\let\cuse@par\caddto@pscode
%
\def\tx@MSave{%
@@ -1477,10 +1619,7 @@
\def\closepath{\addto@pscode{closepath}}%
\def\gsave{\begingroup\addto@pscode{gsave}}%
\def\grestore{\endgroup\addto@pscode{grestore}}%
-% DG/SR modification begin - May 12, 1997 - Patch 2
-% \def\translate(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor moveto}}%
\def\translate(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor translate}}%
-% DG/SR modification end
\def\rotate#1{\pst@@getangle{#1}\addto@pscode{\pst@angle rotate}}%
\def\scale#1{\pst@getscale{#1}\pst@tempg\addto@pscode{\pst@tempg}}%
\def\msave{\addto@pscode{\tx@MSave}}%
@@ -1490,10 +1629,7 @@
\def\fill{\def\pst@par{}\pst@object{fill}}%
\def\openshadow{\def\pst@par{}\pst@object{openshadow}}%
\def\closedshadow{\def\pst@par{}\pst@object{closedshadow}}%
-% DG/SR modification begin - Jan. 7, 1998 - Patch 8
-% \def\movepath(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor tx@Shadow}}%
\def\movepath(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor \tx@Shadow}}%
-% DG/SR modification end
\def\lineto{\pst@onecoor{lineto}}%
\def\rlineto{\pst@onecoor{rlineto}}%
\def\curveto{\pst@threecoor{curveto}}%
@@ -1503,13 +1639,9 @@
\def\rcoor{\pst@getcoors{}{}}%
\def\dim#1{\pssetlength\pst@dimg{#1}\addto@pscode{\pst@number\pst@dimg}}%
\def\setcolor#1{%
-% ----------------hv begin 2004-05-07-------------------- patch 15
-% \@ifundefined{color@#1}{}{\addto@pscode{\use@color{#1}}}}%
-% \@ifundefined{color@#1}{}{\addto@pscode{\pst@usecolor{#1}}}}%
\@ifundefined{\string\color@#1}{}{\addto@pscode{\pst@usecolor{#1}}}}% hv 1.14 2005-12-17
-% ----------------hv end 2004-05-07--------------------
- \def\arrows#1{{\psset@arrows{#1}\pst@addarrowdef}}%
- \let\file\pst@rawfile
+ \def\arrows#1{{\psset[pstricks]{arrows=#1}\pst@addarrowdef}}%
+ \let\file\pst@rawfile%
} % END \pst@customdefs
%
\def\closedshadow@i{\cuse@par\pst@closedshadow}
@@ -1559,8 +1691,9 @@
\def\tx@Arcto{Arcto }
\def\tx@CheckClosed{CheckClosed }
\def\tx@Polygon{Polygon }
-\def\psset@gangle#1{\pst@getangle{#1}\psk@gangle}
-\psset@gangle{0}
+\define@key[psset]{pstricks}{gangle}[0]{\pst@getangle{#1}\psk@gangle}
+\define@boolkey[psset]{pstricks}[Pst@]{trueAngle}[true]{}
+\psset[pstricks]{trueAngle=false,gangle=0}
%
\def\tx@Diamond{Diamond }
\def\psdiamond{\def\pst@par{}\pst@object{psdiamond}}
@@ -1613,16 +1746,19 @@
\def\tx@OpenCurve{OpenCurve }
\def\tx@AltCurve{AltCurve }
\def\tx@ClosedCurve{ClosedCurve }
-\def\psset@curvature#1{%
-\edef\pst@tempg{#1 }%
-\expandafter\psset@@curvature\pst@tempg * * * \@nil}
+%
+\define@key[psset]{pstricks}{curvature}[1 0.1 0]{%
+ \edef\pst@tempg{#1 }%
+ \expandafter\psset@@curvature\pst@tempg * * * \@nil}
\def\psset@@curvature#1 #2 #3 #4\@nil{%
-\pst@checknum{#1}\pst@tempg
-\pst@checknum{#2}\pst@temph
-\pst@checknum{#3}\pst@tempi
-\edef\psk@curvature{\pst@tempg \pst@temph \pst@tempi}}
-\psset@curvature{1 .1 0}
-\def\pscurve{\def\pst@par{}\pst@object{pscurve}}
+ \pst@checknum{#1}\pst@tempg
+ \pst@checknum{#2}\pst@temph
+ \pst@checknum{#3}\pst@tempi
+ \edef\psk@curvature{\pst@tempg \pst@temph \pst@tempi}}
+%
+\psset[pstricks]{curvature=1 .1 0}
+%
+\def\pscurve{\pst@object{pscurve}}
\def\pscurve@i{%
\pst@getarrows{%
\begin@OpenObj
@@ -1631,74 +1767,68 @@
}
\def\pscurve@ii{%
\addto@pscode{
- \pst@cp % current point
+ \pst@cp % current point
\psk@curvature\space /c ED /b ED /a ED
\ifshowpoints true \else false \fi
- \tx@OpenCurve
+ \ifx\pslinestyle\psls@@symbol \psls@symbol OpenSymbolCurve \else \tx@OpenCurve \fi
}%
+ \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi%
\end@OpenObj%
}
-\def\psecurve{\def\pst@par{}\pst@object{psecurve}}
-\def\psecurve@i{%
-\pst@getarrows{%
-\begin@OpenObj
-\pst@getcoors[\psecurve@ii}}
+\def\psecurve{\pst@object{psecurve}}
+\def\psecurve@i{\pst@getarrows{\begin@OpenObj\pst@getcoors[\psecurve@ii}}
\def\psecurve@ii{%
-\addto@pscode{%
-\psk@curvature\space /c ED /b ED /a ED
-\ifshowpoints true \else false \fi
-\tx@AltCurve}%
-\end@OpenObj}
-\def\psccurve{\def\pst@par{}\pst@object{psccurve}}
-\def\psccurve@i{%
-\begin@ClosedObj
-\pst@getcoors[\psccurve@ii}
+ \addto@pscode{
+ \psk@curvature\space /c ED /b ED /a ED
+ \ifshowpoints true \else false \fi
+ \ifx\pslinestyle\psls@@symbol \psls@symbol AltOpenSymbolCurve \else \tx@AltCurve \fi
+ }%
+ \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi%
+ \end@OpenObj}
+%
+\def\psccurve{\pst@object{psccurve}}
+\def\psccurve@i{\begin@ClosedObj\pst@getcoors[\psccurve@ii}
\def\psccurve@ii{%
-\addto@pscode{%
-\psk@curvature\space /c ED /b ED /a ED
-\ifshowpoints true \else false \fi
-\tx@ClosedCurve}%
-\def\pst@linetype{1}%
-\end@ClosedObj}
-\def\psset@dotsize#1{%
+ \addto@pscode{%
+ \psk@curvature\space /c ED /b ED /a ED
+ \ifshowpoints true \else false \fi
+ \ifx\pslinestyle\psls@@symbol \psls@symbol ClosedSymbolCurve \else \tx@ClosedCurve \fi
+ }%
+ \def\pst@linetype{1}%
+ \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi%
+ \end@ClosedObj}
+%
+\define@key[psset]{pstricks}{dotsize}[2pt 2]{%
\pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil%
\edef\psk@@dotsize{\pst@number\pst@dimg}%
\let\psk@@@dotsize\pst@tempg%
- \edef\psk@dotsize{%
- /DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }}
-\psset@dotsize{2pt 2}
-\def\psset@dotscale#1{%
-\pst@getscale{#1}\psk@dotscale
-\ifx\psk@dotscale\@empty
-\def\psk@xdotscale{1 }%
-\def\psk@ydotscale{1 }%
-\else
-\let\psk@xdotscale\pst@tempg
-\let\psk@ydotscale\pst@temph
-\fi}
-% DG/SR modification begin - Oct. 17, 1997 - Patch 5
-%\psset@dotscale{1}
-% DG/SR modification end
+ \edef\psk@dotsize{ /DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }}
+\psset[pstricks]{dotsize=2pt 2}
+%
+\define@key[psset]{pstricks}{dotscale}[1]{%
+ \pst@getscale{#1}\psk@dotscale
+ \ifx\psk@dotscale\@empty
+ \def\psk@xdotscale{1 }%
+ \def\psk@ydotscale{1 }%
+ \else
+ \let\psk@xdotscale\pst@tempg
+ \let\psk@ydotscale\pst@temph
+ \fi}
+%
\def\pst@Getangle#1#2{%
-\pst@getangle{#1}\pst@tempg
-\def\pst@temph{0. }%
-\ifx\pst@tempg\pst@temph
-\def#2{}%
-\else
-\edef#2{\pst@tempg\space rotate }%
-\fi}
-\def\psset@dotangle#1{%
-\pst@getangle{#1}\psk@@dotangle
-\ifdim\psk@@dotangle\p@=\z@
-\let\psk@dotangle\@empty
-\else
-% DG/SR modification begin - Aug. 8, 1997 - Patch 4
-%\edef\psk@dotangle{\psk@@dotangle rotate }
-\edef\psk@dotangle{\psk@@dotangle rotate }%
-% DG/SR modification end
-\fi}
+ \pst@getangle{#1}\pst@tempg
+ \def\pst@temph{0. }%
+ \ifx\pst@tempg\pst@temph\def#2{}\else\edef#2{\pst@tempg\space rotate }\fi}
+%
+\define@key[psset]{pstricks}{dotangle}[0]{%
+ \pst@getangle{#1}\psk@@dotangle
+ \ifdim\psk@@dotangle\p@=\z@
+ \let\psk@dotangle\@empty
+ \else
+ \edef\psk@dotangle{\psk@@dotangle rotate }%
+ \fi}
+\psset[pstricks]{dotangle=0}
%
-\psset@dotangle{0}
\def\pst@getdotsize{%
\pst@dimg=\psk@@@dotsize\pslinewidth
\advance\pst@dimg\psk@@dotsize\p@
@@ -1706,11 +1836,10 @@
\pst@dimg=\psk@xdotscale\pst@dimg
\divide\pst@dimh 2
\divide\pst@dimg 2\relax}
-% DG/SR modification begin - Oct. 17, 1997 - Patch 5
-\psset@dotscale{1}
-% DG/SR modification end
%
-\def\psdot{\def\pst@par{}\pst@object{psdot}}
+\psset[pstricks]{dotscale=1}
+%
+\def\psdot{\pst@object{psdot}}
\def\psdot@i{\@ifnextchar({\psdot@ii}{\psdot@ii(\z@,\z@)}}
\def\psdot@ii(#1){%
\begin@SpecialObj%
@@ -1720,11 +1849,11 @@
\pst@@getcoor{#1}%
\addto@pscode{
\psk@dotsize
- \@nameuse{psds@\psk@dotstyle}%
+ \@nameuse{psds@\psk@dotstyle}
\pst@coor Dot}%
\end@SpecialObj}
%
-\def\psdots{\def\pst@par{}\pst@object{psdots}}
+\def\psdots{\pst@object{psdots}}
\def\psdots@i{%
\begin@SpecialObj%
\pst@getcoors[\psdots@ii}
@@ -1737,7 +1866,7 @@
newpath
n { transform floor .5 add exch floor .5 add exch itransform Dot } repeat }
%
-% DG: dead code (to suppress until \psset@dotstyle) ? - Aug. 4, 1997
+% DG: dead code (to suppress until \psset[pstricks]{dotstyle) ? - Aug. 4, 1997
\def\tx@SQ{SQ }
\def\tx@ST{ST }
\def\tx@SP{SP }
@@ -1773,11 +1902,11 @@
\pst@gdot{0 DS moveto 0 DS neg L stroke}}
% DG: end dead code?
%
-\def\psset@dotstyle#1{%
-\@ifundefined{psds@#1}%
-{\@pstrickserr{Dot style `#1' not defined}\@eha}%
-{\edef\psk@dotstyle{#1}}}
-\psset@dotstyle{*}
+\define@key[psset]{pstricks}{dotstyle}[*]{%
+ \@ifundefined{psds@#1}%
+ {\@pstrickserr{Dot style `#1' not defined}\@eha}%
+ {\edef\psk@dotstyle{#1}}}
+\psset[pstricks]{dotstyle=*}
%
\def\tx@FontDot{FontDot }
\def\newpsfontdot#1[#2]#3#4{%
@@ -1889,12 +2018,12 @@
\newpsfontdotH{Diamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(d)}{(l)}
\newpsfontdotH{BoldDiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(D)}{(l)}
\newpsfontdot{SolidDiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(l)}
-%%
+%
\newdimen\pslinearc
-\def\psset@linearc#1{\pssetlength\pslinearc{#1}}
-\psset@linearc{0pt}
+\define@key[psset]{pstricks}{linearc}[0pt]{\pssetlength\pslinearc{#1}}
+\psset[pstricks]{linearc=0pt}
%
-\def\psline{\def\pst@par{}\pst@object{psline}}
+\def\psline{\pst@object{psline}}
\def\psline@i{%
\pst@getarrows{%
\begin@OpenObj
@@ -1902,11 +2031,14 @@
}%
}
\def\psline@ii{%
- \addto@pscode{
- \pst@cp % current point
- \psline@iii % arc and lineto type
- \tx@Line % .pro function
- }%
+ \ifx\pslinestyle\psls@@symbol\addto@pscode{ \psls@symbol SymbolLine }%
+ \else
+ \addto@pscode{
+ \pst@cp % current point
+ \psline@iii % arc and lineto type
+ \tx@Line % .pro function
+ }%
+ \fi%
\end@OpenObj%
}
\def\psline@iii{%
@@ -1920,6 +2052,55 @@
\tx@setlinejoin % hv 2007-10-13
}
%
+\def\pst@isnum#1{\pst@isnum@i\zap@space#1 \@empty\@nil}%
+\def\pst@isnum@i#1\@nil{%
+ \if!\ifnum9<1#1!\else_\fi
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\def\psset@@symbol#1#2#3#4\@nil{%
+ \ifx\relax#4\relax\def\psk@symbol{(#1)}%
+ \else
+ \pst@isnum{#1#2#3}{%
+ \pst@cnta='#1#2#3\relax
+ \ifnum\pst@cnta>'377\relax
+ \@pstrickserr{Number too large!}\@ehpb
+ \else
+ \def\psk@symbol{(\@backslashchar#1#2#3)}%
+ \fi%
+ }{\@pstrickserr{Not a number!}\@ehpb}
+ \fi}
+\define@key[psset]{pstricks}{symbol}[a]{\expandafter\psset@@symbol#1!!\@nil}
+\psset[pstricks]{symbol=a}
+%
+\newdimen\pst@symbolStep
+\define@key[psset]{pstricks}{symbolStep}[20pt]{\pssetlength\pst@symbolStep{#1}}
+\psset[pstricks]{symbolStep=20pt}
+\newdimen\pst@symbolWidth
+\define@key[psset]{pstricks}{symbolWidth}[10pt]{\pssetlength\pst@symbolWidth{#1}}
+\psset[pstricks]{symbolWidth=10pt}
+\define@key[psset]{pstricks}{symbolFont}[Dingbats]{\def\psk@symbolFont{/#1 }}
+\psset[pstricks]{symbolFont=Dingbats}
+\define@boolkey[psset]{pstricks}[Pst@]{rotateSymbol}[true]{}
+\psset[pstricks]{rotateSymbol=false}
+\define@key[psset]{pstricks}{startAngle}[0]{\pst@getangle{#1}\psk@startAngle}
+\psset[pstricks]{startAngle=0}
+%
+\def\psls@symbol{
+ /Symbol \psk@symbol def
+ /SymbolWidth \pst@number\pst@symbolWidth def
+ /SymStep \pst@number\pst@symbolStep def
+ \psk@symbolFont findfont %0. [1.0 0.0 0.0 1.0 0.0 0.0]
+ \pst@number\pst@symbolWidth scalefont %dup
+ setfont
+ /rotateSymbol \ifPst@rotateSymbol true \else false \fi def
+ /startAngle \psk@startAngle\space def
+ /CorrAngle \ifx\psk@rot\@empty 0 \else \psk@rot \fi def
+}
+\def\psls@@symbol{symbol}
+%
\def\psPline{\def\pst@par{}\pst@object{psPline}}% perpendicular to another line B-C
\def\psPline@i{%
\pst@getarrows{%
@@ -1954,33 +2135,36 @@
\@nameuse{psls@\pslinestyle}%
}%
\end@SpecialObj}
-\def\pspolygon{\def\pst@par{}\pst@object{pspolygon}}
+%
+\def\pspolygon{\pst@object{pspolygon}}
\def\pspolygon@i{%
\begin@ClosedObj%
\def\pst@cp{}%
\pst@getcoors[\pspolygon@ii%
}
\def\pspolygon@ii{%
- \addto@pscode{\psline@iii \tx@Polygon}%
+ \ifx\pslinestyle\psls@@symbol\addto@pscode{ \psls@symbol SymbolPolygon }%
+ \else \addto@pscode{\psline@iii \tx@Polygon}%
+ \fi%
\def\pst@linetype{1}%
\end@ClosedObj}
%
-\def\psset@framearc#1{\pst@checknum{#1}\psk@framearc}
-\psset@framearc{0}
+\define@key[psset]{pstricks}{framearc}[0]{\pst@checknum{#1}\psk@framearc}
+\psset[pstricks]{framearc=0}
%
-\def\psset@cornersize#1{\pst@expandafter\psset@@cornersize{#1}\@nil}
+\define@key[psset]{pstricks}{cornersize}[relative]{\pst@expandafter\psset@@cornersize{#1}\@nil}
\def\psset@@cornersize#1#2\@nil{%
\if #1a\relax
\def\psk@cornersize{\pst@number\pslinearc false }%
\else\def\psk@cornersize{\psk@framearc true }%
\fi}
-\psset@cornersize{relative}
+\psset[pstricks]{cornersize=relative}
%
\def\tx@Rect{Rect }
\def\tx@OvalFrame{OvalFrame }
\def\tx@Frame{Frame }
%
-\def\psset@dimen#1{\pst@expandafter\psset@@dimen{#1}\@nil}
+\define@key[psset]{pstricks}{dimen}[outer]{\pst@expandafter\psset@@dimen{#1}\@nil}
\def\psset@@dimen#1#2\@nil{%
\if #1o\relax% outer
\def\psk@dimen{.5 }%
@@ -1991,9 +2175,9 @@
\if #1i\relax% inner
\def\psk@dimen{-.5 }%
\fi\fi\fi}
-\psset@dimen{outer}
+\psset[pstricks]{dimen=outer}
%
-\def\psframe{\def\pst@par{}\pst@object{psframe}}
+\def\psframe{\pst@object{psframe}}
\def\psframe@i(#1){%
\@ifnextchar({\psframe@ii(#1)}{\psframe@ii(0,0)(#1)}}
\def\psframe@ii(#1)(#2){%
@@ -2006,7 +2190,7 @@
\end@ClosedObj%
}
%
-\def\psTextFrame{\def\pst@par{}\pst@object{psTextFrame}}
+\def\psTextFrame{\pst@object{psTextFrame}}
\def\psTextFrame@i(#1)(#2)#3{%
\addbefore@par{ref=c}% to prevent an empty value
\leavevmode%
@@ -2029,14 +2213,14 @@
\endgroup
\ignorespaces}
%
-\def\tx@BezierNArray{BezierNArray }
-\def\tx@OpenBezier{OpenBezier }
-\def\tx@ClosedBezier{ClosedBezier }
-\def\tx@BezierShowPoints{BezierShowPoints }
-\def\tx@BezierCurve{BezierCurve }
+\def\tx@BezierNArray{ BezierNArray }
+\def\tx@OpenBezier{ OpenBezier }
+\def\tx@ClosedBezier{ ClosedBezier }
+\def\tx@BezierShowPoints{ BezierShowPoints }
+\def\tx@BezierCurve{ BezierCurve }
\def\pst@BezierType{2 } % the default
%
-\def\psbezier{\def\pst@par{}\pst@object{psbezier}}
+\def\psbezier{\pst@object{psbezier}}
\def\psbezier@i{%
\pst@getarrows{%
\begin@OpenObj
@@ -2044,30 +2228,40 @@
}%
}
\def\psbezier@ii{%
- \addto@pscode{%
-% DG/SR modification begin - Apr. 28, 1997 - Patch 1
-% \psbezier doesn't work inside \pscustom
-\pst@cp
-% DG/SR modification end
+ \addto@pscode{
+ \pst@cp
\ifshowpoints true \else false \fi
- \tx@OpenBezier
- \ifshowpoints \tx@BezierShowPoints \fi}%
+ \ifx\pslinestyle\psls@@symbol \psls@symbol OpenSymbolBezier
+ \else
+ \tx@OpenBezier
+ \ifshowpoints \tx@BezierShowPoints \fi
+ \fi
+ }%
+ \def\pst@linetype{1}%
+ \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi%
\end@OpenObj}
+%
\def\pscbezier{\def\pst@par{}\pst@object{pscbezier}}
\def\pscbezier@i{%
\begin@ClosedObj
\pst@getcoors[\pscbezier@ii}
+%
\def\pscbezier@ii{%
\addto@pscode{%
\ifshowpoints true \else false \fi
- \tx@ClosedBezier
- \ifshowpoints \tx@BezierShowPoints \fi}%
- \chardef\pst@linetype=1
+ \ifx\pslinestyle\psls@@symbol \psls@symbol ClosedSymbolBezier
+ \else
+ \tx@ClosedBezier
+ \ifshowpoints \tx@BezierShowPoints \fi
+ \fi}%
+% \chardef\pst@linetype=1
+ \def\pst@linetype{1}%
+ \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi%
\end@ClosedObj}
-
+%
\iffalse
-\def\psset@epsilon#1{\pst@checknum{#1}\psk@epsilon}
-\psset@epsilon{0.005} % 200 steps for one curve
+\define@key[psset]{pstricks}{epsilon}[0.005]{\pst@checknum{#1}\psk@epsilon}
+\psset[pstricks]{epsilon=0.005} % 200 steps for one curve
%
\def\psBezier#1{% % allowed order is 1 ... 9
\ifnum#1>0 \ifnum#1<10 \def\pst@BezierType{#1 }\fi\fi%
@@ -2087,11 +2281,12 @@
\end@OpenObj}
\fi
%
-\def\psset@pType#1{\pst@cntg=#1\relax\edef\psk@pType{\the\pst@cntg}}
-\psset@pType{0}
+\define@key[psset]{pstricks}{pType}[0]{\pst@cntg=#1\relax\edef\psk@pType{\the\pst@cntg}}
+\psset[pstricks]{pType=0}
\def\tx@Parab{Parab }% given by 1 point and the min/max
\def\tx@Parabo{Parab1 }% given by 2 points for y-a=(x-b)^2
-\def\psparabola{\def\pst@par{}\pst@object{psparabola}}% 2009-05-19 (hv)
+%
+\def\psparabola{\pst@object{psparabola}}% 2009-05-19 (hv)
\def\psparabola@i{\pst@getarrows\psparabola@ii}
\def\psparabola@ii#1(#2)#3(#4){% #2 P #4 SP
\begin@OpenObj
@@ -2106,36 +2301,36 @@
\let\parabola\psparabola% compatibility (hv)
%
%
-\def\psset@gridwidth#1{\pst@getlength{#1}\psk@gridwidth}
-\psset@gridwidth{.8pt}
-\def\psset@griddots#1{%
+\define@key[psset]{pstricks}{gridwidth}[0.8pt]{\pst@getlength{#1}\psk@gridwidth}
+\psset[pstricks]{gridwidth=.8pt}
+\define@key[psset]{pstricks}{griddots}[0]{%
\pst@cntg=#1\relax
\edef\psk@griddots{\the\pst@cntg}}
-\psset@griddots{0}
-\def\psset@gridcolor#1{\pst@getcolor{#1}\psgridcolor}
-\psset@gridcolor{black}
-\def\psset@subgridwidth#1{\pst@getlength{#1}\psk@subgridwidth}
-\psset@subgridwidth{.4pt}
-\def\psset@subgridcolor#1{\pst@getcolor{#1}\pssubgridcolor}
-\psset@subgridcolor{gray}
-\def\psset@subgriddots#1{%
+\psset[pstricks]{griddots=0}
+\define@key[psset]{pstricks}{gridcolor}[black]{\pst@getcolor{#1}\psgridcolor}
+\psset[pstricks]{gridcolor=black}
+\define@key[psset]{pstricks}{subgridwidth}[0.4pt]{\pst@getlength{#1}\psk@subgridwidth}
+\psset[pstricks]{subgridwidth=0.4pt}
+\define@key[psset]{pstricks}{subgridcolor}[gray]{\pst@getcolor{#1}\pssubgridcolor}
+\psset[pstricks]{subgridcolor=gray}
+\define@key[psset]{pstricks}{subgriddots}[0]{%
\pst@cntg=#1\relax\edef\psk@subgriddots{\the\pst@cntg}}
-\psset@subgriddots{0}
-\def\psset@subgriddiv#1{%
+\psset[pstricks]{subgriddots=0}
+\define@key[psset]{pstricks}{subgriddiv}[5]{%
\pst@cntg=#1\relax\edef\psk@subgriddiv{\the\pst@cntg}}
-\psset@subgriddiv{5}
+\psset[pstricks]{subgriddiv=5}
%
-\def\psset@gridfont#1{\def\psk@gridfont{/#1 }}% hv 2007-11-13
-\psset@gridfont{Helvetica}
+\define@key[psset]{pstricks}{gridfont}[Helvetica]{\def\psk@gridfont{/#1 }}% hv 2007-11-13
+\psset[pstricks]{gridfont=Helvetica}
%
-\def\psset@gridlabels#1{\pst@getlength{#1}\psk@gridlabels}
-\psset@gridlabels{10pt}
-\def\psset@gridlabelcolor#1{\pst@getcolor{#1}\psgridlabelcolor}
-\psset@gridlabelcolor{black}
+\define@key[psset]{pstricks}{gridlabels}[10pt]{\pst@getlength{#1}\psk@gridlabels}
+\psset[pstricks]{gridlabels=10pt}
+\define@key[psset]{pstricks}{gridlabelcolor}[black]{\pst@getcolor{#1}\psgridlabelcolor}
+\psset[pstricks]{gridlabelcolor=black}
\def\tx@Grid{Grid }
-\def\psgrid{\def\pst@par{}\pst@object{psgrid}}
+\def\psgrid{\pst@object{psgrid}}
\def\psgrid@i{\@ifnextchar({\psgrid@ii}{\expandafter\psgrid@iv\pic@coor}}
\def\psgrid@ii(#1){\@ifnextchar({\psgrid@iii(#1)}{\psgrid@iv(0,0)(0,0)(#1)}}
\def\psgrid@iii(#1)(#2){\@ifnextchar({\psgrid@iv(#1)(#2)}{\psgrid@iv(#1)(#1)(#2)}}
@@ -2189,21 +2384,19 @@
%
\def\pst@makeverbbox#1{%
\def\pst@afterbox{#1}%
- \edef\pst@mathflag{%
- \ifpsmathbox\ifmmode\ifinner 1\else 2\fi\else \z@\fi\else \z@\fi%
- }%
- \afterassignment\pst@beginbox
+ \edef\pst@mathflag{\ifpsmathbox\ifmmode\ifinner1\else2\fi\else\z@\fi\else\z@\fi}%
+ \afterassignment\pst@beginbox%
\setbox\pst@hbox\hbox%
}
\def\pst@beginbox{%
- \ifcase\pst@mathflag\or$\m@th\or$\m@th\displaystyle\fi
- \bgroup\aftergroup\pst@endbox
- \pst@thisbox
+ \ifcase\pst@mathflag\or$\m@th\or$\m@th\displaystyle\fi%
+ \bgroup\aftergroup\pst@endbox%
+ \pst@thisbox%
\the\everypsbox%
}
\def\pst@endbox{%
- \ifnum\pst@mathflag>\z@$\fi %$
- \egroup
+ \ifnum\pst@mathflag>\z@\relax$\fi% $
+ \egroup%
\pst@afterbox%
}
\def\pst@makebox{\pst@@makebox}
@@ -2238,13 +2431,11 @@
\@namedef{end#1}{\pst@endlongbox}}
%
\newdimen\psframesep
-\def\psset@framesep#1{\pssetlength\psframesep{#1}}
-\psset@framesep{3pt}
+\define@key[psset]{pstricks}{framesep}[3pt]{\pssetlength\psframesep{#1}}
+\psset[pstricks]{framesep=3pt}
%
-\newif\ifpsboxsep
-\def\psset@boxsep#1{\@nameuse{psboxsep#1}}
-%
-\psset@boxsep{true}
+\define@boolkey[psset]{pstricks}[ps]{boxsep}[true]{}
+\psset[pstricks]{boxsep}
%
\def\pst@useboxpar{%
\use@par
@@ -2536,89 +2727,100 @@ pop
\ht\pst@hbox\pst@dimd
\advance\pst@dimd-2\pst@dimb
\dp\pst@hbox\pst@dimd}
-\def\psset@trimode#1{\pst@expandafter\psset@@trimode{#1}\@empty\@empty\@nil}
+%
+\define@key[psset]{pstricks}{trimode}[U]{\pst@expandafter\psset@@trimode{#1}\@empty\@empty\@nil}
\def\psset@@trimode#1#2#3\@nil{%
-\let\pst@tempg#1\relax
-\ifx\pst@tempg*%
-\let\psk@@trimode\@empty
-\let\pst@tempg#2\relax
-\else
-\let\psk@@trimode\relax
-\fi
-\edef\psk@trimode{%
-\ifx R\pst@tempg 1 \else\ifx D\pst@tempg 2
-\else\ifx L\pst@tempg 3 \else 0 \fi\fi\fi}}
-\psset@trimode{U}
-\def\pstribox{\def\pst@par{}\pst@object{pstribox}}
+ \let\pst@tempg#1\relax
+ \ifx\pst@tempg*
+ \let\psk@@trimode\@empty
+ \let\pst@tempg#2\relax
+ \else
+ \let\psk@@trimode\relax
+ \fi
+ \edef\psk@trimode{%
+ \ifx R\pst@tempg 1 % Right
+ \else
+ \ifx D\pst@tempg 2 % Down
+ \else
+ \ifx L\pst@tempg 3 % Left
+ \else 0 % Up
+ \fi
+ \fi
+ \fi}%
+}
+\psset[pstricks]{trimode=U}
+%
+\def\pstribox{\pst@object{pstribox}}
\def\pstribox@i{\pst@makebox{\pstribox@ii}}
\def\pstribox@ii{%
-\begingroup
-\pst@useboxpar
-\pstribox@iii
-\ifpsboxsep\pstribox@sep\fi
-\leavevmode
-\box\pst@hbox
-\endgroup}
+ \begingroup
+ \pst@useboxpar
+ \pstribox@iii
+ \ifpsboxsep\pstribox@sep\fi
+ \leavevmode
+ \box\pst@hbox
+ \endgroup}
+%
\def\pstribox@iii{%
-\pstribox@iv
-\setbox\pst@hbox=\hbox{%
-\begin@ClosedObj
-\addto@pscode{%
-\psline@iii
-pop
-.5
-\pst@number\pst@dimc \pst@number\pst@dimd
-\ifodd\psk@trimode exch \fi
-\psk@trimode -90 mul
-\pst@number\pst@dima \pst@number\pst@dimb
-\tx@Triangle}%
-\def\pst@linetype{2}%
-\end@ClosedObj
-\box\pst@hbox}}
+ \pstribox@iv
+ \setbox\pst@hbox=\hbox{%
+ \begin@ClosedObj
+ \addto@pscode{
+ \psline@iii
+ pop
+ 0.5
+ \pst@number\pst@dimc \pst@number\pst@dimd
+ \ifodd\psk@trimode exch \fi
+ \psk@trimode -90 mul
+ \pst@number\pst@dima \pst@number\pst@dimb
+ \tx@Triangle}%
+ \def\pst@linetype{2}%
+ \end@ClosedObj
+ \box\pst@hbox}%
+}
+%
\def\pstribox@iv{%
-\pst@dimh=\pslinewidth
-\advance\pst@dimh\psframesep
-\pst@dimg=\ht\pst@hbox
-\advance\pst@dimg-\dp\pst@hbox
-\divide\pst@dimg 2
-\edef\pst@tempa{\number\pst@dimg sp}% For use by nodes.
-\ifodd\psk@trimode
-\pst@dimb\pst@dimg
-\else
-\pst@dima=\wd\pst@hbox
-\divide\pst@dima 2
-\fi
-\ifcase\psk@trimode
-\pst@dimb=-\dp\pst@hbox
-\advance\pst@dimb-\pst@dimh
-\or
-\pst@dima=-\pst@dimh
-\or
-\pst@dimb=\ht\pst@hbox
-\advance\pst@dimb\pst@dimh
-\or
-\pst@dima=\wd\pst@hbox
-\advance\pst@dima\pst@dimh
-\fi
-\pst@dimd=\dp\pst@hbox
-\advance\pst@dimd\ht\pst@hbox
-\ifx\psk@@trimode\relax
-\pst@dimc=\wd\pst@hbox
-\advance\pst@dimc\ifodd\psk@trimode 1.447\else 1.789\fi\pst@dimh
-\multiply\pst@dimc 2
-\advance\pst@dimd\ifodd\psk@trimode 1.789\else 1.447\fi\pst@dimh
-\multiply\pst@dimd 2
-\else
-\ifodd\psk@trimode
-\advance\pst@dimd 1.1547\wd\pst@hbox
-\advance\pst@dimd 3.4641\pst@dimh
-\pst@dimc=.866\pst@dimd
-\else
-\advance\pst@dimd .866\wd\pst@hbox %.866=(sqrt(3)/2)
-\advance\pst@dimd 3\pst@dimh
-\pst@dimc=1.1547\pst@dimd % 1.1547=(2/sqrt(3))
-\fi
-\fi}
+ \pst@dimh=\pslinewidth
+ \advance\pst@dimh\psframesep
+ \pst@dimg=\ht\pst@hbox
+ \advance\pst@dimg-\dp\pst@hbox
+ \divide\pst@dimg 2
+ \edef\pst@tempa{\number\pst@dimg sp}% For use by nodes.
+ \ifodd\psk@trimode
+ \pst@dimb\pst@dimg
+ \else
+ \pst@dima=\wd\pst@hbox
+ \divide\pst@dima 2
+ \fi
+ \ifcase\psk@trimode
+ \pst@dimb=-\dp\pst@hbox
+ \advance\pst@dimb-\pst@dimh
+ \or\pst@dima=-\pst@dimh
+ \or\pst@dimb=\ht\pst@hbox
+ \advance\pst@dimb\pst@dimh
+ \or\pst@dima=\wd\pst@hbox
+ \advance\pst@dima\pst@dimh
+ \fi
+ \pst@dimd=\dp\pst@hbox
+ \advance\pst@dimd\ht\pst@hbox
+ \ifx\psk@@trimode\relax% no star for trimode=
+ \pst@dimc=\wd\pst@hbox
+ \advance\pst@dimc\ifodd\psk@trimode 1.447\else 1.789\fi\pst@dimh
+ \multiply\pst@dimc 2
+ \advance\pst@dimd\ifodd\psk@trimode 1.789\else 1.447\fi\pst@dimh
+ \multiply\pst@dimd 2
+ \else% trimode=R*,L*,U*,D*
+ \ifodd\psk@trimode
+ \advance\pst@dimd 1.1547\wd\pst@hbox
+ \advance\pst@dimd 3.4641\pst@dimh
+ \pst@dimc=.866\pst@dimd
+ \else
+ \advance\pst@dimd .866\wd\pst@hbox %.866=(sqrt(3)/2)
+ \advance\pst@dimd 3\pst@dimh
+ \pst@dimc=1.1547\pst@dimd % 1.1547=(2/sqrt(3))
+ \fi
+ \fi}
+%
\def\pstribox@sep{%
\ifodd\psk@trimode
\advance\pst@dimb.5\pst@dimd
@@ -2649,14 +2851,14 @@ pop
\hss\box\pst@hbox\kern\psframesep\kern\pslinewidth}%
\fi}
%
-\def\psset@arcsepA#1{\pst@getlength{#1}\psk@arcsepA}
-\def\psset@arcsepB#1{\pst@getlength{#1}\psk@arcsepB}
-\def\psset@arcsep#1{%
-\psset@arcsepA{#1}\let\psk@arcsepB\psk@arcsepA}
-\psset@arcsep{0}
+\define@key[psset]{pstricks}{arcsepA}[0]{\pst@getlength{#1}\psk@arcsepA}
+\define@key[psset]{pstricks}{arcsepB}[0]{\pst@getlength{#1}\psk@arcsepB}
+\define@key[psset]{pstricks}{arcsep}[0]{%
+ \pst@getlength{#1}\psk@arcsepA\let\psk@arcsepB\psk@arcsepA}
+\psset[pstricks]{arcsep=0}
\def\tx@ArcArrow{ArcArrow }
%
-\def\psarc{\def\pst@par{}\pst@object{psarc}}
+\def\psarc{\pst@object{psarc}}
\def\psarc@i{\@ifnextchar({\psarc@iii}{\psarc@ii}}
\def\psarc@ii#1{\addto@par{arrows=#1}%
\@ifnextchar({\psarc@iii}{\psarc@iii(0,0)}%
@@ -2738,16 +2940,16 @@ pop
\def\psarcn{\def\pst@par{}\pst@object{psarcn}}
\def\psarcn@i{\def\psarc@type{1}\psarc@i}
%
-\def\psarcAB{\def\pst@par{}\pst@object{psarcAB}}% hv 2008-11-26
+\def\psarcAB{\pst@object{psarcAB}}% hv 2008-11-26
\def\psarcAB@i{%
\addbefore@par{psscale=1}% be sure, that it is defined
\pst@getarrows{%
- \begin@OpenObj
+ \begin@OpenObj%
\pst@getcoors{}\psarcAB@ii%
}%
}
\def\psarcAB@ii{%
- \addto@pscode{%
+ \addto@pscode{
/y ED /x ED /yA ED /xA ED /yB ED /xB ED
/r xB yB x y Pyth2 \psk@psscale\space mul def
/c 57.2957 r \tx@Div def
@@ -2767,10 +2969,9 @@ pop
y add exch x add exch moveto
\fi
\fi
- \psarc@v
- }
+ \psarc@v }%
\gdef\psarc@type{0}%
- \showpointsfalse
+ \showpointsfalse%
\end@OpenObj%
}
\def\psarcnAB{\def\pst@par{}\pst@object{psarcnAB}}
@@ -2943,14 +3144,14 @@ pop
\tx@SD }%
\end@SpecialObj}
%
-\def\psset@radius#1{\pst@@getlength{#1}\psk@radius}
-\psset@radius{.25cm}
+\define@key[psset]{pstricks}{radius}[0.25cm]{\pst@@getlength{#1}\psk@radius}
+\psset[pstricks]{radius=.25cm}
%
-\def\psCircle{\def\pst@par{}\pst@object{psCircle}}% same as \pscircle, but uses \psk@radius
+\def\psCircle{\pst@object{psCircle}}% same as \pscircle, but uses \psk@radius
\def\psCircle@i{\@ifnextchar({\psCircle@ii}{\psCircle@ii(0,0)}}
\def\psCircle@ii(#1){\pscircle@do(#1){\psk@radius}}
%
-\def\pswedge{\def\pst@par{}\pst@object{pswedge}}
+\def\pswedge{\pst@object{pswedge}}
\def\pswedge@i{\@ifnextchar({\pswedge@ii}{\pswedge@ii(0,0)}}
\def\pswedge@ii(#1)#2#3#4{%
\begin@ClosedObj%
@@ -3135,7 +3336,7 @@ pop
\fi
\setbox#1=\hbox to\z@{%
\kern-\pst@dimh\vbox to\z@{\vss\box#1\kern-\pst@dimg}\hss}}
-\def\psset@ref#1{\pst@expandafter\psset@@ref{#1}\@empty,,\@nil}
+\define@key[psset]{pstricks}{ref}[c]{\pst@expandafter\psset@@ref{#1}\@empty,,\@nil}
\def\psset@@ref#1#2,#3,#4\@nil{%
\def\psk@xref{.5}%
\def\psk@yref{.5}%
@@ -3153,18 +3354,15 @@ pop
\def\getref@B{\let\psk@yref\relax}
\def\getref@l{\def\psk@xref{0}}
\def\getref@r{\def\psk@xref{1}}
-\psset@ref{c}
+\psset[pstricks]{ref=c}
%
-\def\psset@rot#1{%
-\pst@expandafter{\@ifnextchar*{\psset@@@rot}{\psset@@rot}}{#1}\@nil}
+\define@key[psset]{pstricks}{rot}[0]{%
+ \pst@expandafter{\@ifnextchar*{\psset@@@rot}{\psset@@rot}}{#1}\@nil}
\def\psset@@rot#1\@nil{%
\def\ps@next##1@#1=##2@##3\@nil{%
-\ifx\relax##2%
-\pst@getangle{#1}\psk@rot
-\else
-\def\psk@rot{##2}%
-\fi}%
+\ifx\relax##2\pst@getangle{#1}\psk@rot\else\def\psk@rot{##2}\fi}%
\expandafter\ps@next\pst@rottable @#1=\relax @\@nil}
+%
\def\psset@@@rot#1#2\@nil{%
\psset@@rot#2\@nil
\edef\psk@rot{\pst@rotlist \ifx\psk@rot\@empty\else\psk@rot add \fi}}
@@ -3179,7 +3377,8 @@ pop
@W=\pst@rotlist 90 add %
@S=\pst@rotlist 180 add %
@E=\pst@rotlist 90 sub }
-\psset@rot{0}
+\psset[pstricks]{rot=0}
+%
\def\tx@RotBegin{RotBegin }
\def\tx@RotEnd{RotEnd }
\def\pst@rotate#1#2{%
@@ -3281,19 +3480,20 @@ pop
\def\Cput{\def\pst@par{}\pst@object{Cput}}
\def\Cput@i{\@fixedradiustrue\cput@ii}
\newdimen\pslabelsep
-\def\psset@labelsep#1{\pssetlength\pslabelsep{#1}}
-\psset@labelsep{5pt}
-\def\psset@refangle#1{\pst@expandafter\psset@@refangle{#1}\@nil}
+\define@key[psset]{pstricks}{labelsep}[5pt]{\pssetlength\pslabelsep{#1}}
+\psset[pstricks]{labelsep=5pt}
+\define@key[psset]{pstricks}{refangle}[0]{\pst@expandafter\psset@@refangle{#1}\@nil}
\def\psset@@refangle#1\@nil{%
-\def\ps@next##1@#1=##2"##3@##4\@nil{%
-\ifx\relax##2%
-\pst@getangle{#1}\psk@refangle
-\def\psk@uputref{}%
-\else
-\def\psk@refangle{##2 }%
-\def\psk@uputref{##3}%
-\fi}%
-\expandafter\ps@next\pst@refangletable @#1=\relax"@\@nil}
+ \def\ps@next##1@#1=##2"##3@##4\@nil{%
+ \ifx\relax##2%
+ \pst@getangle{#1}\psk@refangle
+ \def\psk@uputref{}%
+ \else
+ \def\psk@refangle{##2 }%
+ \def\psk@uputref{##3}%
+ \fi}%
+ \expandafter\ps@next\pst@refangletable @#1=\relax"@\@nil}
+%
\def\pst@refangletable{%
@r=0"20%
@u=90"02%
@@ -3303,7 +3503,8 @@ pop
@ul=135"12%
@dr=-135"21%
@dl=-45"11}
-\psset@refangle{0}
+\psset[pstricks]{refangle=0}
+
% DG/SR modification begin - Mar. 24, 1999 - Patch 10
%\def\uput{\def\pst@par{}\@ifnextchar[{\uput@ii}{\uput@i}}
\def\uput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\uput@ii}{\uput@i}}}
@@ -3317,40 +3518,42 @@ pop
\@ifnextchar({\uput@iv}{\uput@iv(\z@,\z@)}}
\def\uput@iv(#1){\pst@killglue\pst@makebox{\uput@v{#1}}}
\def\uput@v#1{%
- \begingroup
- \use@par
- \if@star\pst@starbox\fi
- \uput@vi
+ \begingroup%
+ \use@par%
+ \if@star\pst@starbox\fi%
+ \uput@vi%
\psput@{#1}\pst@hbox
- \endgroup
+ \endgroup%
\ignorespaces}
\def\uput@vi{%
\ifx\psk@uputref\@empty\uput@vii\tx@UUput{}%
- \else
- \ifx\psk@rot\@empty\expandafter\uput@viii\psk@uputref
- \else\uput@vii\tx@UUput{}\fi
+ \else%
+ \ifx\psk@rot\@empty\expandafter\uput@viii\psk@uputref%
+ \else\uput@vii\tx@UUput{}\fi%
\fi}
\def\uput@vii#1#2{%
- \edef\pst@coor{%
+ \edef\pst@coor{
\pst@number\pslabelsep
#2%
- \pst@number{\wd\pst@hbox}%
- \pst@number{\ht\pst@hbox}%
- \pst@number{\dp\pst@hbox}%
+ \pst@number{\wd\pst@hbox}
+ \pst@number{\ht\pst@hbox}
+ \pst@number{\dp\pst@hbox}
\psk@refangle\space \ifx\psk@rot\@empty\else\psk@rot\space sub \fi
\tx@Uput #1}%
\setbox\pst@hbox=\hbox to\z@{\hss\vbox to\z@{\vss\box\pst@hbox\vss}\hss}%
- \setbox\pst@hbox=\psput@special\pst@hbox
+ \setbox\pst@hbox=\psput@special\pst@hbox%
\ifx\psk@rot\@empty\else\pst@rotate\psk@rot\pst@hbox\fi}
+%
\def\uput@viii#1#2{%
- \ifnum#1>\z@\ifnum#2>\z@\pslabelsep=.707\pslabelsep\fi\fi
+ \ifnum#1>\z@\relax\ifnum#2>\z@\relax\pslabelsep=.707\pslabelsep\fi\fi%
\setbox\pst@hbox=\vbox to\z@{%
- \ifnum#2=1 \vskip\pslabelsep\else\vss\fi
+ \ifnum#2=1\relax\vskip\pslabelsep\else\vss\fi%
\hbox to\z@{%
- \ifnum#1=2 \hskip\pslabelsep\else\hss\fi
- \box\pst@hbox
- \ifnum#1=1 \hskip\pslabelsep\else\hss\fi}%
- \ifnum#2=2 \vskip\pslabelsep\else\vss\fi}}
+ \ifnum#1=2\relax\hskip\pslabelsep\else\hss\fi%
+ \box\pst@hbox%
+ \ifnum#1=1\relax\hskip\pslabelsep\else\hss\fi}%
+ \ifnum#2=2\relax\vskip\pslabelsep\else\vss\fi}}
+%
\def\tx@Uput{Uput }
\def\tx@UUput{UUput }
%
@@ -3388,13 +3591,12 @@ pop
%
% ----------- 1.10/12 beg hv -------------------
\newpsstyle{gridstyle}{subgriddiv=0,gridcolor=lightgray,griddots=10,gridlabels=8pt}
-\newif\ifshowgrid
-\def\psset@showgrid#1{\@nameuse{showgrid#1}}
-\psset@showgrid{false}
+\define@boolkey[psset]{pstricks}[]{showgrid}[true]{}
+\psset[pstricks]{showgrid=false}
%
\newdimen\pst@shift
\newif\ifPst@shift@star
-\def\psset@shift#1{%
+\define@key[psset]{pstricks}{shift}[0]{%
\ifx#1*
\global\Pst@shift@startrue
\pst@shift=\p@
@@ -3403,9 +3605,7 @@ pop
\pssetlength\pst@dimg{#1}
\global\pst@shift\pst@dimg% only the outer pspicture env can have a shift
\fi}
-% \global\pst@shift\pst@dimg}
-\psset@shift{0}
-% ----------- 1.10/12 end hv -------------------
+\psset[pstricks]{shift=0}
%
%------------------------------- pspicture ------------------------------
%
@@ -3476,7 +3676,7 @@ pop
\if@star\setbox\pst@hbox=\hbox{\clipbox@@\z@}\fi%
\leavevmode\box\pst@hbox%
\endgroup%
- \psset@shift{0}% reset value
+ \psset[pstricks]{shift=0}% reset value
}
%
\@namedef{pspicture*}{\pspicture*}
diff --git a/Master/texmf-dist/tex/generic/pstricks/textures.con b/Master/texmf-dist/tex/generic/pstricks/textures.con
deleted file mode 100644
index b126464a767..00000000000
--- a/Master/texmf-dist/tex/generic/pstricks/textures.con
+++ /dev/null
@@ -1,127 +0,0 @@
-%% BEGIN pstricks.con (for Textures 1.7 and 1.8 driver)
-%%
-%% Configuration file for PSTricks 97: must be renamed `pstricks.con'
-%%
-%% Version 97 (1997/03/01)
-%%
-%% For use with Textures, v1.7 and v1.8.
-
-\def\pstdriver{Textures-V1.7}
-%\def\pstdriver{Textures-V1.8}
-\def\pstunit{1bp}
-\def\pstverb#1{\special{postscript #1 }}
-\def\pstVerb#1{\special{rawpostscript #1}}
-\def\pstverbscale{Mag 72.27 72 div mul dup neg scale}
-\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET}
-\def\pstheader#1{\special{prePostScriptfile #1}}%
-
-\pstcustomize
-
-\special{prePostScript
- tx@Dict begin /sps {moveto /Mag ED pop tx@Dict begin} def /eps {} def end}
-\def\pst@Verb#1{%
- \special{rawpostscript tx@Dict begin}%
- \special{postscript #1}%
- \special{rawpostscript end}}
-
-\endinput
-
-%%
-%%%%%%%%%%%%%%%%%%% !! GENERAL INSTRUCTIONS !! %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-Because there are no standards for dvi-to-PS driver \special's,
-some driver-dependent commands must be defined in this file.
-
-Possibly correct definitions for some dvi drivers are given below.
-Copy the section for the driver you want to use to the indicated place
-near the beginning of the file, replacing any other definitions you
-might find there.
-
-When changing drivers, you may need to remake the header file.
-
-See the PSTricks read-me file for further installation instructions.
-
-Please report good and bad experiences with dvi-to-PS drivers,
-along with the definitions of these commands that worked
-for you, to tvz@Princeton.EDU. Thanks.
-
-
-%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%%
-
-Here are the commands that must be defined in this file:
-
- \pstverb{} - The argument is included as verbatim PostScript,
- grouped by save and restore. The coordinate system
- should be square, not rotated, and with the origin
- at TeX's currentpoint.
-
- \pstVerb{} - The argument is included as verbatim PostScript, not
- grouped by (g)save and (g)restore. The currentpoint
- should be TeX's currentpoint.
-
- \pstunit - The units used by driver for graphics included with
- \pstverb. Probably 1bp or 1sp.
-
- \pstverbscale - The PostScript code that scales the coordinate system
- from that in effect with \pstVerb to that in effect
- with \pstverb. Should not translate to the currentpoint.
-
- \pstrotate - The PostScript code that takes a number off the stack
- and rotates the axes properly. I.e.,
- \pstVerb{angle \pstrotate} is used to begin rotations.
-
- \pstheader{} - The argument is a header file (e.g., .pro file).
- If your driver does not support such a special, then
- the command might just remind you to include the header
- when printing. You can use PSTricks without a header,
- in which case it does not matter how you define
- \pstheader. See read-me.pst for details.
- If you cannot change the default directory where your
- driver looks for header files, and you cannot write to
- that directory, then you include the path for your
- PSTricks header files.
- E.g., \def\pstheader#1{\special{header=~/tex/#1}}.
-
- \pstdriver - The name of the driver.
-
-
-%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%%
-
-See your local TeX documentation for instructions on creating a TeX format.
-
-Before making the format, be sure that this configuration file is correct.
-It will be read only when creating the format, and not with every job.
-
-If you are not using header files, there are no more special instructions.
-
-Special instructions when using header files:
-
- - If you want to include supplementary PSTricks files (e.g., pst-node.tex),
- add \input commands in the customization section above.
-
- - If your definition of \pstheader is, e.g.
-
- \def\pstheader#1{\special{\header=#1}}
-
- then change it to
-
- \def\pstheader#1{%
- \expandafter\everyjob\expandafter{\the\everyjob
- \special{header=#1}}}
-
- and put your original definition in the customization section, AFTER
- any \input commands. E.g., the customization section might look like:
-
- \pstcustomize
- \input pst-node.tex
- \input pst-coil.tex
- \def\pstheader#1{\special{header=#1}}
-
- - Input pstricks.tex at the appropriate time when creating the format.
- E.g., when initex stops running:
- *\input pstricks
- *\dump
-
-
-%%
-%% END: pstricks.con
diff --git a/Master/texmf-dist/tex/generic/pstricks/vtex.con b/Master/texmf-dist/tex/generic/pstricks/vtex.con
deleted file mode 100644
index 50e5260147d..00000000000
--- a/Master/texmf-dist/tex/generic/pstricks/vtex.con
+++ /dev/null
@@ -1,170 +0,0 @@
-%% BEGIN: pstricks.con (for VTeX)
-%%
-%% Configuration file for PSTricks 97
-%%
-%% Version 97 patch 5 2003-04-29
-%%
-%% For use with VTeX PostScript driver v 6.61+
-%% [MV, MK, special thanks to Denis Girou for help]
-%%
-%% Requires vtex.def 7.46 or newer, 10-14-01
-%%
-%% For support and possible updates, check
-%% http://www.micropress-inc.com
-%%
-
-\def\pstdriver{VTeX}
-{\catcode`\"=12\gdef
-\pstverb#1{%
- \special{pS*GS @beginspecial @setspecial #1 @endspecial GR }%
-}}%
-\def\pstunit{1bp}%
-\def\pstVerb#1{\special{pS: #1}}%
-\def\pstverbscale{SDict begin normalscale end}
-\ifx\textsuperscript\@undefined
- \def\pstheader#1{\special{header=#1}}
-\else
-% D.G. modification begin - Apr. 29, 2003 - From Michael Vulis
-% \ifx\Gin@PS@file@header\@undefined
-% \def\pstheader#1{\AtBeginDvi{\special{header=#1}}}
-% \else
-% \let\pstheader\Gin@PS@file@header
-% \fi
- \def\pstheader#1{\AtBeginDvi{\immediate\special{header=#1}}}
-% D.G. modification end
-\fi
-\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET}
-%%
-%% ****************** END VTeX *****************************
-
-%%%%%%%%%%%%%%%%%%% !! CUSTOMIZATION STUFF GOES HERE: !! %%%%%%%%%%%%%%%%%%
-%% If you want to include your own customizations to pstricks.tex, then
-%% uncomment the \pstcustomize command, and include your modifications
-%% after \pstcustomize. These will be read in after pstricks.tex.
-%
-% Some customization needed for VTeX since the coordinate system
-% is different.
-\newif\if@colorstack
-\ifnum\OpMode>-1
-\ifnum\OpMode<3
-\@colorstacktrue
-% D.G. modification begin - Nov. 17, 1999
-\let\vtex@pspicture=\pspicture
-\def\pspicture{\special{G(}\@colorstackfalse\vtex@pspicture}%
-\let\vtex@endpspicture=\endpspicture
-\def\endpspicture{\vtex@endpspicture\@colorstacktrue\special{G)}%
-}
-% D.G. modification end
-\fi
-\fi
-
-\pstcustomize
-\def\tx@RotBegin{neg RotBegin }
-\def\pst@rotlist{mark RAngle /a ED cleartomark a }
-% D.G. modification begin - Oct. 6, 1999
-\def\tx@Rot{neg Rot }
-% D.G. modification end
-\def\psfs@solid{\pst@fill{\pst@usecolor\psfillcolor fill }}
-\def\psfs@eofill{\pst@fill{\pst@usecolor\psfillcolor eofill}}
-
-\endinput
-
-%%
-%%%%%%%%%%%%%%%%%%% !! GENERAL INSTRUCTIONS !! %%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-Because there are no standards for dvi-to-PS driver \special's,
-some driver-dependent commands must be defined in this file.
-
-Possibly correct definitions for some dvi drivers are given below.
-Copy the section for the driver you want to use to the indicated place
-near the beginning of the file, replacing any other definitions you
-might find there.
-
-When changing drivers, you may need to remake the header file.
-
-See the PSTricks read-me file for further installation instructions.
-
-Please report good and bad experiences with dvi-to-PS drivers,
-along with the definitions of these commands that worked
-for you, to tvz@Princeton.EDU. Thanks.
-
-
-%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%%
-
-Here are the commands that must be defined in this file:
-
- \pstverb{} - The argument is included as verbatim PostScript,
- grouped by save and restore. The coordinate system
- should be square, not rotated, and with the origin
- at TeX's currentpoint.
-
- \pstVerb{} - The argument is included as verbatim PostScript, not
- grouped by (g)save and (g)restore. The currentpoint
- should be TeX's currentpoint.
-
- \pstunit - The units used by driver for graphics included with
- \pstverb. Probably 1bp or 1sp.
-
- \pstverbscale - The PostScript code that scales the coordinate system
- from that in effect with \pstVerb to that in effect
- with \pstverb. Should not translate to the currentpoint.
-
- \pstrotate - The PostScript code that takes a number off the stack
- and rotates the axes properly. I.e.,
- \pstVerb{angle \pstrotate} is used to begin rotations.
-
- \pstheader{} - The argument is a header file (e.g., .pro file).
- If your driver does not support such a special, then
- the command might just remind you to include the header
- when printing. You can use PSTricks without a header,
- in which case it does not matter how you define
- \pstheader. See read-me.pst for details.
- If you cannot change the default directory where your
- driver looks for header files, and you cannot write to
- that directory, then you include the path for your
- PSTricks header files.
- E.g., \def\pstheader#1{\special{header=~/tex/#1}}.
-
- \pstdriver - The name of the driver.
-
-
-%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%%
-
-See your local TeX documentation for instructions on creating a TeX format.
-
-Before making the format, be sure that this configuration file is correct.
-It will be read only when creating the format, and not with every job.
-
-If you are not using header files, there are no more special instructions.
-
-Special instructions when using header files:
-
- - If you want to include supplementary PSTricks files (e.g., pst-node.tex),
- add \input commands in the customization section above.
-
- - If your definition of \pstheader is, e.g.
-
- \def\pstheader#1{\special{\header=#1}}
-
- then change it to
-
- \def\pstheader#1{%
- \expandafter\everyjob\expandafter{\the\everyjob
- \special{header=#1}}}
-
- and put your original definition in the customization section, AFTER
- any \input commands. E.g., the customization section might look like:
-
- \pstcustomize
- \input pst-node.tex
- \input pst-coil.tex
- \def\pstheader#1{\special{header=#1}}
-
- - Input pstricks.tex at the appropriate time when creating the format.
- E.g., when initex stops running:
- *\input pstricks
- *\dump
-
-
-%%
-%% END: pstricks.con
diff --git a/Master/texmf-dist/tex/generic/pstricks/xdvipdfmx.con b/Master/texmf-dist/tex/generic/pstricks/xdvipdfmx.con
deleted file mode 100644
index 423849dab56..00000000000
--- a/Master/texmf-dist/tex/generic/pstricks/xdvipdfmx.con
+++ /dev/null
@@ -1,225 +0,0 @@
-%% BEGIN: pstricks.con (for xdvipdfmx driver)
-%%
-%% Configuration file for PSTricks
-%%
-%% Version 0.02 (2008/06/20)
-%%
-%% For use with xdvipdfmx
-%% Created by SMiyata based on standard pstricks.con from TeXLive distribution.
-%% This file may be distributed, used and modified freely.
-%
-\def\pstdriver{xdvipdfmx}
-\def\pstverb#1{\special{pst: #1}} % Check catcode of "
-\def\pstunit{1bp}%
-\def\pstVerb#1{\immediate\special{PST: #1}}
-\def\pstverbscale{72.27 72 div dup scale }
-% DG/SR modification begin - Apr. 28, 1997 (D. Carlisle + S. Rahtz)
-% \def\pstheader#1{\special{header=#1}}
-% We used to check for |\AtBeginDvi|, but that was broken in early release
-% so we now check for the existence of |\textsuperscript| (added 1995/05/16)
-\ifx\textsuperscript\@undefined
- \def\pstheader#1{\special{header=#1}}
-\else
- \ifx\Gin@PS@file@header\@undefined
- \def\pstheader#1{\AtBeginDvi{\special{header=#1}}}
- \else
- \let\pstheader\Gin@PS@file@header
- \fi
-\fi
-% DG/SR modification end
-%%
-%% In the following, CP is short for currentpoint.
-%% The neg is necessary because dvips scales the coordinates by 1 -1.
-%% \tx@NET means neg exch neg exch translate.
-\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET}
-%%
-%% ****************** END xdvipdfmx *****************************
-
-%%%%%%%%%%%%%%%%%%% !! CUSTOMIZATION STUFF GOES HERE: !! %%%%%%%%%%%%%%%%%%
-%% If you want to include your own customizations to pstricks.tex, then
-%% uncomment the \pstcustomize command, and include your modifications
-%% after \pstcustomize. These will be read in after pstricks.tex.
-\def\c@lor@to@ps#1 #2\@@{\csname c@lor@ps@#1\endcsname#2 \@@}
-\def\c@lor@ps@#1 #2\@@{TeXDict begin #1 end}
-\def\c@lor@ps@rgb#1\@@{#1 setrgbcolor}
-\def\c@lor@ps@hsb#1\@@{#1 sethsbcolor}
-\def\c@lor@ps@cmyk#1\@@{#1 setcmykcolor}
-\def\c@lor@ps@gray#1\@@{#1 setgray}
-\pstcustomize
-\typeout{Using PSTricks configuration for XeTeX+xdvipdfmx}
-\def\@@scalebox{%
-\leavevmode
-\hbox{%
-\ifdim\pst@tempd\p@<\z@
-\pst@dimg=\pst@tempd\ht\pst@hbox
-\pst@dimh=\pst@tempd\dp\pst@hbox
-\dp\pst@hbox=-\pst@dimg
-\ht\pst@hbox=-\pst@dimh
-\else
-\ht\pst@hbox=\pst@tempd\ht\pst@hbox
-\dp\pst@hbox=\pst@tempd\dp\pst@hbox
-\fi
-\pst@dima=\pst@tempc\wd\pst@hbox
-\ifdim\pst@dima<\z@\kern-\pst@dima\fi
-\special{x: bscale \pst@tempc \pst@tempd}%
-\hbox to \z@{\box\pst@hbox\hss}%
-\special{x: escale}%
-\ifdim\pst@dima>\z@\kern\pst@dima\fi}}
-\let\ps@@scalebox\@@scalebox
-\def\ps@rotateleft#1{%
-\leavevmode\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
-\pst@Verb{90 \tx@RotBegin}
-\vbox to \z@{\vss\hbox to \z@{\box#1\hss}\vskip\z@}%
-\pst@Verb{\tx@RotEnd}}}}
-\def\ps@rotateright#1{%
- \leavevmode\hbox{%
- \hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
- \pst@Verb{-90 \tx@RotBegin}
- \vbox to \z@{\hbox to \z@{\hss\box#1}\vss}%
- \pst@Verb{\tx@RotEnd}}}}
-\def\ps@rotatedown#1{%
-\hbox{\hskip\wd#1\vbox{\vskip\ht#1\vskip\dp#1%
-\pst@Verb{180 \tx@RotBegin}%
-\vbox to \z@{\hbox to \z@{\box#1\hss}\vss}%
-\pst@Verb{\tx@RotEnd}}}}
-\def\begin@psclip{\special{x: gsave}}
-\def\end@psclip{\special{x: grestore}}
-\def\@newcolor#1#2#3{%
-\expandafter\edef\csname #1\endcsname{\noexpand\pst@color{#2}}%
-\expandafter\edef\csname\string\color@#1\endcsname{#2}% hv 1.14 2005-12-17
-\expandafter\edef\csname\string\color@xetex@#1\endcsname{#3}%
-\ignorespaces}
-\def\newgray#1#2{%
- \pst@checknum{#2}\pst@tempg
- \@newcolor{#1}{\pst@tempg setgray}{gray \pst@tempg}%
-}
-\def\newrgbcolor#1#2{%
- \pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil
- \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi setrgbcolor}{rgb \pst@tempg \pst@temph \pst@tempi}%
-}
-\def\newhsbcolor#1#2{%
- \pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil
- \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi sethsbcolor}{hsb \pst@tempg \pst@temph \pst@tempi}%
-}
-\def\newcmykcolor#1#2{%
- \pst@expandafter\pst@getnumiv{#2} {} {} {} {} {}\@nil
- \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi \pst@tempj setcmykcolor}%
- {cmyk \pst@tempg \pst@temph \pst@tempi \pst@tempj}%
-}
-\newgray{black}{0}
-\newgray{darkgray}{.25}
-\newgray{gray}{.5}
-\newgray{lightgray}{.75}
-\newgray{white}{1}
-\newrgbcolor{red}{1 0 0}
-\newrgbcolor{green}{0 1 0}
-\newrgbcolor{blue}{0 0 1}
-\newrgbcolor{yellow}{1 1 0}
-\newrgbcolor{cyan}{0 1 1}
-\newrgbcolor{magenta}{1 0 1}
-
-\@ifundefined{LaTeXe}%
- {\def\current@@@@color{\csname\string\color@xetex@\psfillcolor\endcsname}}{%
- \AtBeginDocument{\@ifpackageloaded{xcolor}{\def\current@@@@color{\psfillcolor}}%
- {\def\current@@@@color{\csname\string\color@\psfillcolor\endcsname}}}}
-\def\pst@starbox{%
-\setbox\pst@hbox\hbox{{%
- \def\current@color{\current@@@@color}%
-\dimen@\wd\pst@hbox\advance\dimen@2\psframesep\wd\pst@hbox\dimen@%
-\dimen@\ht\pst@hbox\advance\dimen@\psframesep\ht\pst@hbox\dimen@%
-\dimen@\dp\pst@hbox\advance\dimen@\psframesep\dp\pst@hbox\dimen@%
-\@ifundefined{LaTeXe}{\special{color push \current@color}%
- \rlap{\vrule width\wd\pst@hbox height\ht\pst@hbox depth\dp\pst@hbox}%
- \special{color pop}}%
- {\color@block{\wd\pst@hbox}{\ht\pst@hbox}{\dp\pst@hbox}}}%
-\rlap{\hskip\psframesep\unhbox\pst@hbox}}}
-\def\AltClipMode{}
-\def\putoverlaybox#1{%
-\hbox{\special{x: gsave}\special{x: initoverlay #1}\copy\theoverlaybox\special{x: grestore}}}
-\def\pst@overlay#1{\edef\curr@overlay{#1}\special{x: clipoverlay #1}\aftergroup\pst@endoverlay}
-\def\pst@endoverlay{\special{x: clipoverlay \curr@overlay}}
-\def\AltOverlayMode{}
-%The next line is not necessary, if pstricks.sty of [2007/02/18 v0.33] or newer is used.
-\@ifundefined{LaTeXe}{}{\AtBeginDocument{\psset{fillcolor=white}}}
-\endinput
-%
-%
-%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%%
-
-Here are the commands that must be defined in this file:
-
- \pstverb{} - The argument is included as verbatim PostScript,
- grouped by save and restore. The coordinate system
- should be square, not rotated, and with the origin
- at TeX's currentpoint.
-
- \pstVerb{} - The argument is included as verbatim PostScript, not
- grouped by (g)save and (g)restore. The currentpoint
- should be TeX's currentpoint.
-
- \pstunit - The units used by driver for graphics included with
- \pstverb. Probably 1bp or 1sp.
-
- \pstverbscale - The PostScript code that scales the coordinate system
- from that in effect with \pstVerb to that in effect
- with \pstverb. Should not translate to the currentpoint.
-
- \pstrotate - The PostScript code that takes a number off the stack
- and rotates the axes properly. I.e.,
- \pstVerb{angle \pstrotate} is used to begin rotations.
-
- \pstheader{} - The argument is a header file (e.g., .pro file).
- If your driver does not support such a special, then
- the command might just remind you to include the header
- when printing. You can use PSTricks without a header,
- in which case it does not matter how you define
- \pstheader. See read-me.pst for details.
- If you cannot change the default directory where your
- driver looks for header files, and you cannot write to
- that directory, then you include the path for your
- PSTricks header files.
- E.g., \def\pstheader#1{\special{header=~/tex/#1}}.
-
- \pstdriver - The name of the driver.
-
-
-%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%%
-
-See your local TeX documentation for instructions on creating a TeX format.
-
-Before making the format, be sure that this configuration file is correct.
-It will be read only when creating the format, and not with every job.
-
-If you are not using header files, there are no more special instructions.
-
-Special instructions when using header files:
-
- - If you want to include supplementary PSTricks files (e.g., pst-node.tex),
- add \input commands in the customization section above.
-
- - If your definition of \pstheader is, e.g.
-
- \def\pstheader#1{\special{\header=#1}}
-
- then change it to
-
- \def\pstheader#1{%
- \expandafter\everyjob\expandafter{\the\everyjob
- \special{header=#1}}}
-
- and put your original definition in the customization section, AFTER
- any \input commands. E.g., the customization section might look like:
-
- \pstcustomize
- \input pst-node.tex
- \input pst-coil.tex
- \def\pstheader#1{\special{header=#1}}
-
- - Input pstricks.tex at the appropriate time when creating the format.
- E.g., when initex stops running:
- *\input pstricks
- *\dump
-
-
-%%
-%% END: pstricks.con
diff --git a/Master/texmf-dist/tex/latex/pstricks/pst-all.sty b/Master/texmf-dist/tex/latex/pstricks/pst-all.sty
index 8ac0ada25bf..4882c2287b4 100644
--- a/Master/texmf-dist/tex/latex/pstricks/pst-all.sty
+++ b/Master/texmf-dist/tex/latex/pstricks/pst-all.sty
@@ -17,9 +17,9 @@
% and does some modification to the color handling. Look at the
% doc for the options.
%
+\RequirePackage{pst-plot}
\RequirePackage{pst-node}
\RequirePackage{pst-tree}
-\RequirePackage{pst-plot}
\RequirePackage{pst-grad}
\RequirePackage{pst-coil}
\RequirePackage{pst-text}
diff --git a/Master/texmf-dist/tex/latex/pstricks/pst-node.sty b/Master/texmf-dist/tex/latex/pstricks/pst-node.sty
deleted file mode 100644
index 7c937c4b74b..00000000000
--- a/Master/texmf-dist/tex/latex/pstricks/pst-node.sty
+++ /dev/null
@@ -1,10 +0,0 @@
-\RequirePackage{pstricks}
-\ProvidesPackage{pst-node}[2006/01/01 package wrapper for pst-node.tex]
-\input{pst-node.tex}
-\ProvidesFile{pst-node.tex}
- [\filedate\space \fileversion\space `pst-node' (tvz)]
-\IfFileExists{pst-node.pro}{%
- \ProvidesFile{pst-node.pro}
- [2009/01/30 v. 1.02, PostScript prologue file (hv)]
- \@addtofilelist{pst-node.pro}}{}%
-\endinput
diff --git a/Master/texmf-dist/tex/latex/pstricks/pst-plot.sty b/Master/texmf-dist/tex/latex/pstricks/pst-plot.sty
deleted file mode 100644
index 598b46de429..00000000000
--- a/Master/texmf-dist/tex/latex/pstricks/pst-plot.sty
+++ /dev/null
@@ -1,6 +0,0 @@
-\RequirePackage{pstricks}
-\ProvidesPackage{pst-plot}[2004/07/15 package wrapper for pst-plot.tex]
-\input{pst-plot.tex}
-\ProvidesFile{pst-plot.tex}
- [\filedate\space \fileversion\space `pst-plot' (tvz)]
-\endinput
diff --git a/Master/texmf-dist/tex/latex/pstricks/pstricks.sty b/Master/texmf-dist/tex/latex/pstricks/pstricks.sty
index e58cadb4825..8e4c99c2c1c 100644
--- a/Master/texmf-dist/tex/latex/pstricks/pstricks.sty
+++ b/Master/texmf-dist/tex/latex/pstricks/pstricks.sty
@@ -5,7 +5,7 @@
%%
%% pstricks.sty Copyright (C) 1997 Timothy Van Zandt
%% pstcol.sty Copyright (C) 1994-1996 1999 David Carlisle
-%% pstricks.sty Copyright (C) 2004-2009 Herbert Voss <voss@perce.de>
+%% pstricks.sty Copyright (C) 2004-2010 Herbert Voss <voss@perce.de>
%% Rolf Niepraschk <Rolf.Niepraschk@ptb.de>
%%
%% This package may be distributed under the terms of the LaTeX Project
@@ -18,7 +18,7 @@
\ProvidesPackage{pstricks}
[2008/11/26 v0.40 LaTeX wrapper for `PSTricks' (RN,HV)]
%
-\def\documentclass{
+\def\documentclass{%
\edef\@tempa{\jobname.tex }%
\edef\@tempb{\@filef@und}%
\@onelevel@sanitize\@tempa
@@ -65,6 +65,9 @@
\input{\pst@tempa}%
\ProvidesFile{\pst@tempa}
[\filedate\space v\fileversion\space `PSTricks' (tvz,hv)]
+ \input{pst-fp.tex}
+ \ProvidesFile{pst-fp.tex}
+ [\filedate\space v\fileversion\space `PST-fp' (hv)]
\IfFileExists{pstricks.pro}{%
\ProvidesFile{pstricks.pro}
[2009/01/30 v. 1.06, PostScript prologue file (hv)]