From 4e2ac77b6408065820377abd25541151953797dd Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 19 Apr 2008 00:34:18 +0000 Subject: pstricks 1.22 (17apr08) git-svn-id: svn://tug.org/texlive/trunk@7504 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/pstricks/Changes.doc | 18 +- .../texmf-dist/doc/generic/pstricks/examples.zip | Bin 181885 -> 0 bytes .../doc/generic/pstricks/pst-news2008.pdf | Bin 173945 -> 238682 bytes Master/texmf-dist/dvips/pstricks/Changes | 6 +- Master/texmf-dist/dvips/pstricks/pst-algparser.pro | 14 +- Master/texmf-dist/dvips/pstricks/pst-dots.pro | 203 ++++++------- Master/texmf-dist/dvips/pstricks/pst-node.pro | 40 ++- Master/texmf-dist/dvips/pstricks/pstricks.pro | 189 +++++++++---- Master/texmf-dist/tex/generic/pstricks/Changes | 8 + .../texmf-dist/tex/generic/pstricks/distiller.con | 160 +++++++++++ .../texmf-dist/tex/generic/pstricks/dvipsone.con | 106 ++++++- .../texmf-dist/tex/generic/pstricks/pstricks.con | 314 +++++++++++++++++++++ .../texmf-dist/tex/generic/pstricks/pstricks.tex | 134 ++++++--- .../texmf-dist/tex/generic/pstricks/textures.con | 98 +++++++ Master/texmf-dist/tex/generic/pstricks/vtex.con | 98 +++++++ .../texmf-dist/tex/generic/pstricks/xdvipdfmx.con | 101 +++++++ 16 files changed, 1267 insertions(+), 222 deletions(-) delete mode 100644 Master/texmf-dist/doc/generic/pstricks/examples.zip create mode 100644 Master/texmf-dist/tex/generic/pstricks/distiller.con (limited to 'Master') diff --git a/Master/texmf-dist/doc/generic/pstricks/Changes.doc b/Master/texmf-dist/doc/generic/pstricks/Changes.doc index a4f2951a434..3ed819cc93d 100644 --- a/Master/texmf-dist/doc/generic/pstricks/Changes.doc +++ b/Master/texmf-dist/doc/generic/pstricks/Changes.doc @@ -1,17 +1,3 @@ --- pstricks-doc.pdf ------ -2007-04-11 updated documentation, no source available - --- pst-quickref.pdf ------ -2007-04-11 quick reference, no source available - --- pstricks-bug.tex ------ -2007-04-11 all unfixed bugs - - --- pstnews* -------- -2006-12-19 new files pstnews1-15.tex|pdf +2008-01-22 new files pst-news2008.tex|pdf 2005-12-22 new files pstnews1-14.tex|pdf -2005-10-25 new files pstnews1-13.tex|pdf -2005-09-19 new files pstnews1-11.tex|pdf -2005-08-20 new files pstnews1-10.tex|pdf -2005-05-12 new files pstnews97-15.tex|pdf +2006-12-19 new files pstnews1-15.tex|pdf diff --git a/Master/texmf-dist/doc/generic/pstricks/examples.zip b/Master/texmf-dist/doc/generic/pstricks/examples.zip deleted file mode 100644 index 20c744620c7..00000000000 Binary files a/Master/texmf-dist/doc/generic/pstricks/examples.zip and /dev/null differ diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news2008.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news2008.pdf index 95e6c5c677b..16a6b15a6ff 100644 Binary files a/Master/texmf-dist/doc/generic/pstricks/pst-news2008.pdf and b/Master/texmf-dist/doc/generic/pstricks/pst-news2008.pdf differ diff --git a/Master/texmf-dist/dvips/pstricks/Changes b/Master/texmf-dist/dvips/pstricks/Changes index d57551e998c..88a7cebf1bf 100644 --- a/Master/texmf-dist/dvips/pstricks/Changes +++ b/Master/texmf-dist/dvips/pstricks/Changes @@ -1,4 +1,5 @@ ---- pstricks.pro +1.03 2008-04-15 - only some cosmetics to the code 1.02 2008-01-01 - added the arrowtype D>, sides as curves (ArrowD) - added the whole algebraic parser stuff - added function tan := sin cos div @@ -17,11 +18,12 @@ 97, patch 5 2005-03-08 bugfix for DashLine ----- pst-node.pro -1.00 2008-01-01 code formatting (hv) +---- pst-text.pro +1.00 2005-11-29 add a patch for japanese text (hv) ---- pst-dots.pro +2.01 2008-04-18 add some comments to the code (hv) 2.00 2006-12-19 add more dot symbols from Etienne Riga (hv) diff --git a/Master/texmf-dist/dvips/pstricks/pst-algparser.pro b/Master/texmf-dist/dvips/pstricks/pst-algparser.pro index 398a0ecedd7..a859d0a9825 100644 --- a/Master/texmf-dist/dvips/pstricks/pst-algparser.pro +++ b/Master/texmf-dist/dvips/pstricks/pst-algparser.pro @@ -1,10 +1,14 @@ % $Id: pst-algparser.pro 7 2007-12-29 22:21:13Z herbert $ +%% +%% PostScript prologue for PSTricks algorithm parser +%% Version 0.01, 2008/01/01 +%% +%% 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. +%% +%%-----------------------------------------------------------------------------% % -% PostScript prologue for PSTricks algorithm parser -% Version 0.01, 2008/01/01 -% For distribution and copyright, see pstricks.tex. hv@pstricks.de -% -%-----------------------------------------------------------------------------% /AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez % /tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin diff --git a/Master/texmf-dist/dvips/pstricks/pst-dots.pro b/Master/texmf-dist/dvips/pstricks/pst-dots.pro index 2f98b1777e2..c704de559f5 100644 --- a/Master/texmf-dist/dvips/pstricks/pst-dots.pro +++ b/Master/texmf-dist/dvips/pstricks/pst-dots.pro @@ -1,28 +1,33 @@ -% $Id: pst-dots.pro 7 2007-12-29 22:21:13Z herbert $ +% $Id: pst-dots.pro 22 2008-04-18 16:03:12Z herbert $ % %% PostScript prologue for pstricks.tex. -%% Version 2.00, 2006/12/19 +%% Version 2.01, 2008/04/18 +%% %% For distribution, see pstricks.tex. %% %% Timothy Van Zandt %% +%% 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. +%% %% Modified by Etienne Riga - Dec. 16, 1999 -%% Modified by Herbert Voss (hv) - 2004/12/27 %% Modified by Etienne Riga - 2005/01/01 (er) %% to add /Diamond, /SolidDiamond and /BoldDiamond +%% Modified by Herbert Voss (hv) - 2008/04/17 % -10 dict dup begin +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 [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph /Encoding 256 array def - 0 1 255 {Encoding exch/.notdef put} for - Encoding - dup (b) 0 get /Bullet put + 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef + Encoding % replace with given dot names + dup (b) 0 get /Bullet put % get the numerical position of b in ASCII +% % and save /Bullet at this place in Encoding dup (c) 0 get /Circle put - dup (C) 0 get /BoldCircle put + dup (C) 0 get /BoldCircle put % 67 dup (u) 0 get /SolidTriangle put dup (t) 0 get /Triangle put dup (T) 0 get /BoldTriangle put @@ -40,7 +45,7 @@ dup (H) 0 get /BoldHexagon put dup (G) 0 get /SolidHexagon put dup (a) 0 get /Add put - dup (A) 0 get /BoldAdd put + dup (A) 0 get /BoldAdd put % 65 dup (x) 0 get /Mul put dup (X) 0 get /BoldMul put dup (m) 0 get /Oplus put @@ -56,95 +61,101 @@ (D) 0 get /BoldDiamond put %%% /CharProcs 47 dict def - CharProcs begin - /CirclePath {0 0 500 0 360 arc closepath} def - /Bullet {CirclePath fill} def - /Circle {CirclePath .9 .9 scale CirclePath eofill} def - /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def - /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto - closepath} def - /SolidTriangle {TrianglePath fill} def - /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def - /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def - /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto - closepath} def - /SolidSquare {SquarePath fill} def - /Square {SquarePath .89 .89 scale SquarePath eofill} def - /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def - /PentagonPath {-337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto - 0 574.7 lineto -546.6 177.6 lineto closepath} def - /SolidPentagon {PentagonPath fill} def - /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def - /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def +CharProcs begin + /CirclePath {0 0 500 0 360 arc closepath} def + /Bullet {CirclePath fill} def + /Circle {CirclePath .9 .9 scale CirclePath eofill} def + /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def + /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def + /SolidTriangle {TrianglePath fill} def + /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def + /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def + /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def + /SolidSquare {SquarePath fill} def + /Square {SquarePath .89 .89 scale SquarePath eofill} def + /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def + /PentagonPath { + -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto + 0 574.7 lineto -546.6 177.6 lineto closepath + } def + /SolidPentagon {PentagonPath fill} def + /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def + /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def %-------------- hv begin 2004/07/25 from: er 2003/03/24 - /HexagonPath {0 550 moveto -476 275 lineto -476 -275 lineto - 0 -550 lineto 476 -275 lineto 476 275 lineto closepath} def - /SolidHexagon {HexagonPath fill} def - /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def - /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def - /AsteriskPath {20 0 moveto 10 250 180 500 0 500 curveto - -180 500 -10 250 -20 0 curveto closepath} def - /Asterisk {AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath - 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath - fill} def - /Basterp {50 250 220 500 0 500 curveto - -220 500 -50 250 -50 30 cos 100 mul curveto} def - /BoldAsteriskPath {50 30 cos 100 mul moveto Basterp - 60 rotate Basterp 60 rotate Basterp - 60 rotate Basterp 60 rotate Basterp - 60 rotate Basterp closepath} def - /BoldAsterisk {BoldAsteriskPath fill} def - /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def - /CrossPath {40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto - -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto - 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath} def - /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto - -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto - 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath} def - /Add {CrossPath fill} def - /Mul {45 rotate CrossPath fill} def - /BoldAdd {BoldCrossPath fill} def - /BoldMul {45 rotate BoldCrossPath fill} def - /Oplus {CirclePath .9 .9 scale CirclePath eofill - .775 .775 scale CrossPath fill} def - /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def - /BOplus {CirclePath .8 .8 scale CirclePath eofill - .775 .775 scale BoldCrossPath fill} def - /Otimes {CirclePath .9 .9 scale CirclePath eofill - 45 rotate .775 .775 scale CrossPath fill} def - /BOtimes {CirclePath .8 .8 scale CirclePath eofill - 45 rotate .775 .775 scale BoldCrossPath fill } def - /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def - /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto - closepath} def - /Bar {BarPath fill} def - /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto - closepath} def - /BoldBar {BoldBarPath fill} def - /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto - 428.5 0 lineto closepath} def - /SolidDiamond {DiamondPath fill} def - /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def - /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def + /HexagonPath { + 0 550 moveto -476 275 lineto -476 -275 lineto + 0 -550 lineto 476 -275 lineto 476 275 lineto closepath + } def + /SolidHexagon {HexagonPath fill} def + /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def + /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def + /AsteriskPath { + 20 0 moveto 10 250 180 500 0 500 curveto + -180 500 -10 250 -20 0 curveto closepath + } def + /Asterisk { + AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath + 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill + } def + /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def + /BoldAsteriskPath { + 50 30 cos 100 mul moveto Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp closepath + } def + /BoldAsterisk {BoldAsteriskPath fill} def + /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def + /CrossPath { + 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto + -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto + 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath + } def + /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto + -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto + 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath + } def + /Add {CrossPath fill} def + /Mul {45 rotate CrossPath fill} def + /BoldAdd {BoldCrossPath fill} def + /BoldMul {45 rotate BoldCrossPath fill} def + /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def + /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def + /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def + /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def + /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def + /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def + /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def + /Bar {BarPath fill} def + /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def + /BoldBar {BoldBarPath fill} def + /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def + /SolidDiamond {DiamondPath fill} def + /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def + /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def %%% - /.notdef { } def - end - /BuildGlyph { - exch - begin -% Metrics 1 index get exec 0 - 0 0 + /.notdef { } def +end +% +/BuildGlyph { + exch + begin +% Metrics 1 index get exec 0 + 0 0 % BBoxes 3 index get exec - -1000 -1000 1000 1000 + -1000 -1000 1000 1000 % -571.5 -742.5 571.5 742.5 - setcachedevice - CharProcs begin load exec end - end - } def - /BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec - } bind def + setcachedevice + CharProcs begin load exec end + end +} def +% +/BuildChar { + 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 index 85c44dde388..aa9d39dbe0d 100644 --- a/Master/texmf-dist/dvips/pstricks/pst-node.pro +++ b/Master/texmf-dist/dvips/pstricks/pst-node.pro @@ -1,11 +1,14 @@ -% $Id: pst-node.pro 7 2007-12-29 22:21:13Z herbert $ -% -% PostScript prologue for pst-node.tex. -% Version 1.00, 2008/01/01. -% For distribution, see pstricks.tex. +% $Id: pst-node.pro 11 2008-01-24 13:37:27Z herbert $ +%% +%% PostScript prologue for pst-node.tex. +%% Version 1.00, 2008/01/01. +%% +%% 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 +tx@Dict begin % from main pstricks dict /T /translate load def end /NewNode { % on stack: { x y } boolean N@name type InitXnode @@ -34,14 +37,23 @@ end /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 +/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 diff --git a/Master/texmf-dist/dvips/pstricks/pstricks.pro b/Master/texmf-dist/dvips/pstricks/pstricks.pro index 12b81d67af3..73e4f2a9dc7 100644 --- a/Master/texmf-dist/dvips/pstricks/pstricks.pro +++ b/Master/texmf-dist/dvips/pstricks/pstricks.pro @@ -1,16 +1,22 @@ -% $Id: pstricks.pro 10 2008-01-18 13:31:24Z herbert $ +% $Id: pstricks.pro 21 2008-04-18 13:40:08Z herbert $ % -% PostScript prologue for pstricks.tex. -% Version 1.03, 2008/01/01 -% For distribution and copyright, see pstricks.tex. +%% PostScript prologue for pstricks.tex. +%% Version 1.03, 2008/04/15 +%% +%% 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. % % +% Define the follwing gs-functions if not known, eg when using distiller +% systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if systemdict /.setblendmode known not {/.setblendmode { pop } def } if systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if % -/tx@Dict 200 dict def tx@Dict begin -/ADict 25 dict def +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray /CM { matrix currentmatrix } bind def /SLW /setlinewidth load def /CLW /currentlinewidth load def @@ -46,16 +52,22 @@ systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if /TwoPi 6.28318530718 def /Euler 2.71828182846 def %/e Euler bind def -/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees -/DegtoRad { Pi mul 180 div } bind def % viceversa +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa %----------------- hv end--------------------------- /PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def -/PathLength { flattenpath /z 0 def - { /y1 ED /x1 ED /y2 y1 def /x2 x1 def - }{ /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } - /pathforall load stopped { pop pop pop pop } if z } def -/STP { .996264 dup scale } def -/STV { SDict begin normalscale end STP } def +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/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 @@ -143,7 +155,8 @@ systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if %pop pop } def %% DG/SR modification end % -/BeginArrow { ADict begin +/BeginArrow { + ADict begin % hold it local, for end see EndArrow /@mtrx CM def gsave 2 copy T @@ -152,7 +165,7 @@ systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if rotate newpath } def % -/EndArrow { @mtrx setmatrix CP grestore end } def +/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict % /Arrow { CLW mul add dup @@ -232,6 +245,7 @@ systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if n eq not { exch pop } if showpoints { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +% /Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def @@ -239,8 +253,14 @@ systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if CP 4 2 roll ArrowB L pop pop } if } def -/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } - ifelse { pop } repeat a } def +% +/Arcto { + /a [ 6 -2 roll ] cvx def + a r + /arcto load stopped { 5 } { 4 } ifelse { pop } repeat + 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 } @@ -277,36 +297,71 @@ d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx % setmatrix } def setmatrix pop } def % DG/SR modification end -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 -def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp -mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos -abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def -/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul -m mul neg def } def -/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } -ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } -def +% +/CCA { + /y ED /x ED + 2 copy y sub /dy1 ED + x sub /dx1 ED + /l1 dx1 dy1 Pyth def +} def +% +/CC { + /l0 l1 def + /x1 x dx sub def + /y1 y dy sub def + /dx0 dx1 def + /dy0 dy1 def + CCA + /dx dx0 l1 c exp mul dx1 l0 c exp mul add def + /dy dy0 l1 c exp mul dy1 l0 c exp mul add def + /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def + /x2 x l0 dx mul m mul sub def + /y2 y l0 dy mul m mul sub def + /dx l1 dx mul m mul neg def + /dy l1 dy mul m mul neg def +} def +% +/IC { + /c c 1 add def + c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse + /a a 2 mul 3 div 45 cos b exp div def + CCA + /dx 0 def + /dy 0 def +} def +% /BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def /NC { CC x1 y1 x2 y2 x y curveto } def /EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def /BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def /NAC { x2 y2 x y curveto CC x1 y1 } def /EAC { x2 y2 x y ArrowB curveto pop pop } def +% /OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def n { NC } repeat EOC } ifelse } def -/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload -/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop -pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def -/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { -CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } -repeat closepath pop pop } ifelse } def +% +/AltCurve { + { false NArray n 2 mul 2 roll + [ n 2 mul 3 sub 1 roll ] aload + /Points ED + n 2 mul -2 roll } + { false NArray } ifelse + n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse +} def +% +/ClosedCurve { + NArray n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + 6 copy n 2 mul 6 add 6 roll + IC CC x y moveto n { NC } repeat + closepath pop pop + } ifelse +} 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 } @@ -324,21 +379,51 @@ ifelse } def /Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add /y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse } def -/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop -} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] -aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 -2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } -ifelse } def -/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { -6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def -/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 -sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } -def -/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 -sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA -x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 -y0 x0 2 mul x1 sub y1 ] def } def +% +/BezierNArray { + /f ED + counttomark 2 div dup cvi /n ED + n eq not { exch pop } if + n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat + f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse +} def +% +/OpenBezier { + BezierNArray + n 1 eq + { pop pop } + { ArrowA n 4 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + 6 2 roll 4 2 roll ArrowB curveto } ifelse +} def +% +/ClosedBezier { + BezierNArray + n 1 eq + { pop pop } + { moveto n 1 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + closepath } ifelse +} def +% +/BezierShowPoints { + gsave + Points aload length 2 div cvi /n ED + moveto + n 1 sub { lineto } repeat + CLW 2 div SLW [ 4 4 ] 0 setdash stroke + grestore +} def +% +/Parab { + /y0 ED /x0 ED /y1 ED /x1 ED + /dx x0 x1 sub 3 div def + /dy y0 y1 sub 3 div def + x0 dx sub y0 dy add x1 y1 ArrowA + x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def +} def % /Grid { newpath diff --git a/Master/texmf-dist/tex/generic/pstricks/Changes b/Master/texmf-dist/tex/generic/pstricks/Changes index a48459bf116..0c490a72f0c 100644 --- a/Master/texmf-dist/tex/generic/pstricks/Changes +++ b/Master/texmf-dist/tex/generic/pstricks/Changes @@ -1,4 +1,8 @@ pstricks.tex -------- +1.22 2008-04-14 - added shift=* option to get vertically centered + pspicture box. It is the old \pspciture[0.5] option + - add \pscircleOA(center)(point on the circle) +1.21 2008-01-24 - changed code for transparency making distiller work 1.20 2008-01-01 - added opacity for normal stroke operation (lines) - added the arrowtype and D>, which draws the sides as betier curves (ArrowD type in pstricks.pro) @@ -57,6 +61,10 @@ pst-node.tex -------- pst-plot.tex -------- +1.02 2008-03-21 - added an additional optional argument for \psaxes + which allows to put labels at the end of the axes + [Xtext,Xangle,Ytext,Yangle] +1.01 2008-01-26 - make negative Dx/Dy work (hv) 1.00 2007-06-26 - added two new line style LineToXaxis/LineToYaxis (hv) diff --git a/Master/texmf-dist/tex/generic/pstricks/distiller.con b/Master/texmf-dist/tex/generic/pstricks/distiller.con new file mode 100644 index 00000000000..d7c25ab6ea9 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pstricks/distiller.con @@ -0,0 +1,160 @@ +%% 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 index 9f8fa4f87e9..4a90292dd00 100644 --- a/Master/texmf-dist/tex/generic/pstricks/dvipsone.con +++ b/Master/texmf-dist/tex/generic/pstricks/dvipsone.con @@ -19,7 +19,7 @@ \endinput %% To get PSTricks charpath and textpath to work: ------------ pst-show.pro ------------------------------------------ +%----------- 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. @@ -31,6 +31,108 @@ dvidict begin /T {show 2 index 0 rmoveto} def /s {show} def end -------------- end pst-show.pro ------------------------------------ + +\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/pstricks.con b/Master/texmf-dist/tex/generic/pstricks/pstricks.con index a477a0fcbe0..8dbf0b8bef4 100644 --- a/Master/texmf-dist/tex/generic/pstricks/pstricks.con +++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.con @@ -40,5 +40,319 @@ %\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 + + +%%%%%%%%%% !! CONFIGURATIONS FOR SOME DRIVERS !! %%%%%%%%%%%%%%%%%%%%%%%% + + +%% ********************************************************************** +%% ***** Rokicki's dvips ***** Rokicki's dvips ***** Rokicki's dvips **** +%% ********************************************************************** +%% Life is bliss with Rokicki's dvips (tested with v5.396, v5.47, 5.491): +%% +\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\pstverbscale{SDict begin normalscale end} +\def\pstheader#1{\special{header=#1}} +%% +%% 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} +%% +%% If using a version before 5.47, clipping may not work. You can +%% try the following definition of \pstverb: +%\def\pstverb#1{\special{ps: @beginspecial #1 @endspecial}} +%% or change "{initclip}ifelse" to "if" in the definition of @setspecial +%% in dvips' special.pro. +%% +%% ****************** END Rokicki's dvips ***************************** + + +%% ********************************************************************** +%% **** Arbortext's dvips *** Arbortext's dvips *** Arbortext's dvips *** +%% ********************************************************************** +%% Thanks to Wolfgang Sienel: +%% +\def\pstdriver{Arbortext's dvips} +\def\pstverb#1{% + \special{ps::[asis] 0 SPB /ChartCheckPoint save def + Xpos Ypos translate #1 ChartCheckPoint restore 0 SPE}} +\def\pstunit{1bp} +\def\pstVerb#1{\special{ps:: #1}} +\def\pstverbscale{} +\def\pstrotate{CP CP translate 3 -1 roll rotate \tx@NET} +\def\pstheader#1{% + \typeout{**********************************************************}% + \typeout{** Don't forget to include #1 when printing:}% + \typeout{** \space\space dvips -PRO #1 myfile}% + \typeout{**********************************************************}} +%% +%% Comments by Wolfgang on header files: +%% Normally the standard prolog file is downloaded once to the printer +%% with psload.ps (the initializing file for your TeX-printer) before +%% printing TeX-documents. If you don't make any changes to psload.ps +%% you have to type dvips -PRO PATH/pstricks.pro myfile (-PRO just +%% works for UNIX systems. I don't have any idea about other systems). +%% If psload.ps was not downloaded to the printer you have to append +%% pstricks.pro to the standard prolog file dvips.pro. In this case +%% invoke dvips as always. Note that after hitting the enter key you +%% have to specify the option download all prolog in both cases. If you +%% are frequently using pstricks you might want to change psload.ps. In +%% this case contact your local TeX-guru and ask him politely to do this +%% for you. Attention: If psload.ps is getting too big you may run into +%% trouble with printer memory! +%% +%% ****************** END Arbortext's dvips ***************************** + + +%% ********************************************************************** +%% **** Textures *** Textures *** Textures *** Textures *** Textures **** +%% ********************************************************************** +%% These have been tested with v1.3. It is nice to have a PostScript +%% screen previewer, such as TScript (USA: 1-617-734-9700). (The +%% Textures preview window will not show the PSTricks graphics.) +%% +\def\pstdriver{Textures} +\def\pstunit{1bp} +\def\pstverb#1{\special{postscript /TX@Save save def #1 TX@save restore}} +\def\pstVerb#1{\special{postscript grestore #1 gsave}} +\def\pstverbscale{Mag 1000 div 72.27 72 div mul dup neg scale} +\def\pstrotate{% + CP CP translate 3 -1 roll neg rotate \tx@NET} +%% +%% \pstVerb does not define the currentpoint properly. As a workaround, +%% insert the following lines in the customization section above. +%% +%% \def\pst@Verb#1{% +%% \special{postscript \pst@dict /sps { moveto /Mag ed } def +%% userdict begin}% +%% \special{postscript #1 end gsave}} +%% +%% Textures does not support header files. +%% However, it may still be worth using a header file for increased speed. +%% Also, some macros can overload Textures 1.3 when not used with a header +%% file. You can include the header file pstricks.pro by saving the +%% PostScript output to a file and inserting the pstricks.pro with an +%% editor. Probably a better solution is to append pstricks.pro to a +%% copy of the laserprep, and, by changing file names of the modified +%% laserprep and the original laserprep, use the laserprep with pstricks.pro +%% whenever you are printing pstricks documents. +\def\pstheader#1{% + \typeout{******************************************}% + \typeout{*** Include header file #1!! ***}% + \typeout{******************************************}} +%% +%% ****************** END Textures ************************************** + + +%% ********************************************************************** +%% ***** dvi2ps ***** dvi2ps ***** dvi2ps ***** dvi2ps ***** dvi2ps ***** +%% ********************************************************************** +%% I.e., dvi2ps, v2.xx. There are lot's of such things around. +%% This probably doesn't work. Considering upgrading to Rokicki's dvips. +%% +\def\pstdriver{dvi2ps v2.xx} +\def\pstunit{1pt} +\def\pstverb#1{ pstext="save currentpoint translate + Resolution 72.27 div neg scale #1 restore" \space} +\def\pstVerb#1{ pstext="#1" \space} +\def\pstverbscale{Resolution 72.27 div neg scale} +\def\pstrotate{% + CP CP translate 3 -1 roll neg rotate \tx@NET} +\def\pstheader#1{% + \typeout{******************************************************} + \typeout{Don't forget to include the header file #1!!} + \typeout{******************************************************} +%% +%% ***************************** END dvi2ps ***************************** + + +%% ********************************************************************** +%% ***** dvi3ps ***** dvi3ps ***** dvi3ps ***** dvi3ps ***** dvi3ps ***** +%% ********************************************************************** +%% I.e., dvi2ps, version 3.xx, by Kevin Coombes. +%% This has not been tested. Consider upgrading to Rokicki's dvips. +%% +\def\pstdriver{dvi2ps v3.xx} +\def\pstunit{1bp} +\def\pstverb#1{pstext="#1"} +% \def\pstVerb#1{% +% \special{pstext="@endspecial #1 @beginspecial @setspecial"}} % v3.0 +\def\pstVerb#1{\special{psraw="#1"}} % v3.3 +\def\pstverbscale{Resolution 72.27 div neg scale} +\def\pstrotate{% + CP CP translate 3 -1 roll neg rotate \tx@NET} +\def\pstheader#1{% + \typeout{******************************************************} + \typeout{Don't forget to include the header file #1!!} + \typeout{******************************************************} +%% +%% ******************* END dvi3ps *************************************** + + +%% ********************************************************************** +%% **** OzTeX **** OzTeX **** OzTeX **** OzTeX **** OzTeX **** OzTeX **** +%% ********************************************************************** +%% Only the pure graphics objects are supported for OzTeX. +%% No color, rotation, clipping, nodes and node connections, overlays, etc. +%% Also, \rput cannot be used with \SpecialCoor. +%% +%% The reason is given in the documentation for Version 1.3, September 1990: +%% +%% OzTeX generates highly efficient PostScript code but it does so at +%% the expense of some \special functionality. Many DVI-to-PostScript +%% translators allow you to do things like use one \verb|\special| to start +%% rotating TeX text and another to stop the rotation. The way OzTeX +%% interprets a DVI page makes this impossible. +%% +%% If using the header file, you should copy pstricks.pro to global.ps, in +%% the same directory as your dvi file. +%% +\def\pstdriver{OzTeX} +\def\pstverb#1{\special{null.ps #1}} +\def\pstunit{1bp} +\def\pstVerb#1{% + \typeout{PSTRICKS WARNING:}% + \typeout{\space\space You are using features not supported by OzTeX.}% + \typeout{\space\space These will be ignored.}% + \gdef\pstVerb##1{}} +\def\pstverbscale{} +\def\pstrotate{} +\def\pstheader#1{% + \typeout{******************************************************} + \typeout{Don't forget to include the header file #1!!} + \typeout{******************************************************}} +%% +%% ************************* END OzTeX ********************************** + + +%% ********************************************************************** +%% ***** DirectTeX ***** DirectTeX ***** DirectTeX ***** DirectTeX ****** +%% ********************************************************************** +%% DirectTeX is for the Macintosh. These has been tested unsuccessfully, +%% apparently due to a problem with DirectTeX. +%% +\def\pstdriver{DirectTeX} +%% +%% Check catcode of " +{\catcode`\"=12\gdef\pstverb#1{\special{" #1 /Foo{}def }}} +\def\pstunit{1bp} +\def\pstVerb#1{\special{ps: #1 }} +\def\pstverbscale{TeXDict begin normalscale end} +%% +%% In the following, CP is short for currentpoint. The neg is necessary +%% because dvips scales the coordinates by 1 -1: +\def\pstrotate{% + CP CP translate 3 -1 roll neg rotate \tx@NET} +%% +\def\pstheader#1{% + \typeout{**********************************************************}% + \typeout{** Don't forget to include #1 when printing:}% + \typeout{** \space\space DVIReader -header #1 myfile}% + \typeout{**********************************************************}} +%% +%% ****************** END DirectTeX ***************************** + + %% %% END: pstricks.con diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex index bb18c11cc13..dcb89080527 100644 --- a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex +++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex @@ -20,8 +20,8 @@ % See the PSTricks User's Guide for description. % This uses the header file `pstricks.pro'. % -\def\fileversion{1.20} -\def\filedate{2008/01/01} +\def\fileversion{1.22} +\def\filedate{2008/04/14} % \csname PSTricksLoaded\endcsname \let\PSTricksLoaded\endinput @@ -642,7 +642,7 @@ \def\psk@origin{} % \newif\ifswapaxes -\def\psset@swapaxes#1{% +\def\psset@swapaxes#1{% \if@pst \@nameuse{@pst#1}% \if@pst\def\psk@swapaxes{-90 rotate -1 1 scale }% \else\def\psk@swapaxes{}% @@ -769,6 +769,18 @@ } \psset{linecap=0} %--------------------------------- hv 2006-04-29 end --------------------- +%------------------------- Transparency modes ---------------------------- +\pst@def{setTransparency}< \psk@opacityalpha .setopacityalpha > +\pst@def{setStrokeTransparency}< \psk@strokeopacityalpha .setopacityalpha > +\pst@def{setBlendmode}< + \ifcase\psk@blendmode + /Normal \or + /Compatible \or + /Screen \or + /Multiply %\or +% /Hardlight + \fi + .setblendmode \psk@shapealpha .setshapealpha > % %--------------------------------- hv 2007-09-09 begin --------------------- % transparency needs a run through latex -> dvips -> ps2pdf14(!) @@ -791,19 +803,9 @@ \psset@blendmode{0} % \def\psfs@none{} -\def\psfs@solid{\pst@fill{\pst@usecolor\psfillcolor \psk@opacityalpha .setopacityalpha fill }} -\def\psfs@eofill{\pst@fill{\pst@usecolor\psfillcolor \psk@opacityalpha .setopacityalpha eofill}} -\def\psfs@shape{% - \pst@fill{ - \pst@usecolor\psfillcolor - \ifcase\psk@blendmode - /Normal \or - /Compatible \or - /Screen \or - /Multiply %\or -% /Hardlight - \fi - .setblendmode \psk@shapealpha .setshapealpha fill }} +\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 --------------------- % @@ -907,9 +909,9 @@ \psset@arrowlength{1.4} \def\psset@arrowinset#1{\pst@checknum{#1}\psk@arrowinset}% \psset@arrowinset{.4} -\def\tx@Arrow{ \psk@strokeopacityalpha .setopacityalpha Arrow }% hv 2008-01-13 +\def\tx@Arrow{ \tx@setStrokeTransparency Arrow }% hv 2008-01-13 % new definitions of the missing arrows ---- hv 1.1.2 -\def\tx@ArrowD{ \psk@strokeopacityalpha .setopacityalpha ArrowD }% hv 2008-01-13 +\def\tx@ArrowD{ \tx@setStrokeTransparency ArrowD }% hv 2008-01-13 % \@namedef{psas@<|}{ \psk@tbarsize\space \tx@Tbar @@ -935,7 +937,7 @@ \psk@bracketlength\space \psk@tbarsize\space \tx@BracketOut } % )-( arrow -\def\tx@RoundBracketOut{ \psk@strokeopacityalpha .setopacityalpha RoundBracketOut }% hv 2008-01-13 +\def\tx@RoundBracketOut{ \tx@setStrokeTransparency RoundBracketOut }% hv 2008-01-13 \@namedef{psas@(}{% /RoundBracketOut {% CLW mul add dup 2 div @@ -1025,7 +1027,7 @@ } \def\psas@{} \psset@arrows{-} -\def\tx@SD{ \psk@opacityalpha .setopacityalpha SD } +\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} @@ -1226,7 +1228,7 @@ gsave \pst@number\pslinewidth SLW \pst@usecolor\pslinecolor - \psk@strokeopacityalpha .setopacityalpha % hv 2008-01-13 + \tx@setStrokeTransparency % hv 2008-01-13 \@nameuse{psls@\pslinestyle} grestore}% \fi} @@ -1815,6 +1817,7 @@ \newdimen\pslinearc \def\psset@linearc#1{\pssetlength\pslinearc{#1}} \psset@linearc{0pt} +% \def\psline{\pst@object{psline}} \def\psline@i{% \pst@getarrows{% @@ -1926,6 +1929,9 @@ \def\tx@OpenBezier{OpenBezier } \def\tx@ClosedBezier{ClosedBezier } \def\tx@BezierShowPoints{BezierShowPoints } +\def\tx@BezierCurve{BezierCurve } +\def\pst@BezierType{2 } % the default +% \def\psbezier{\pst@object{psbezier}} \def\psbezier@i{% \pst@getarrows{% @@ -1954,6 +1960,28 @@ \ifshowpoints \tx@BezierShowPoints \fi}% \chardef\pst@linetype=1 \end@ClosedObj} + +\iffalse +\def\psset@epsilon#1{\pst@checknum{#1}\psk@epsilon} +\psset@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% + \pst@object{psBezier}} +\def\psBezier@i{% + \pst@getarrows{% + \begin@OpenObj + \pst@getcoors[\psBezier@ii% +}} +\def\psBezier@ii{% + \addto@pscode{% + \psk@epsilon % step for Bezier T=0,0+epsilon,0+i*epsilon,...,1 + \pst@BezierType % type of the Bezier curve 2,3,4,... + \tx@BezierCurve + \ifshowpoints \tx@BezierShowPoints \fi + }% + \end@OpenObj} +\fi % \def\tx@Parab{Parab } \def\psparabola{\pst@object{psparabola}}% 1.15a 2006-01-05 (hv) @@ -2062,7 +2090,7 @@ \the\everypsbox% } \def\pst@endbox{% - \ifnum\pst@mathflag>\z@$\fi + \ifnum\pst@mathflag>\z@$\fi %$ \egroup \pst@afterbox% } @@ -2090,7 +2118,7 @@ } \def\pst@endlongbox{% \endgroup - \ifnum\pst@mathflag>\z@$\fi + \ifnum\pst@mathflag>\z@$\fi %$ \egroup% } \def\pslongbox#1#2{% @@ -2723,6 +2751,26 @@ pop \fi \ignorespaces} % +\def\pscircleOA{\pst@object{pscircleOA}}% hv 2008-04-14 +\def\pscircleOA@i(#1)(#2){% + \begin@ClosedObj + \pst@getcoor{#1}\pst@tempA + \pst@@getcoor{#2}% + \def\pst@linetype{4}% + \addto@pscode{ + \pst@tempA % x0 y0 + 2 copy % xO yO xO yO + \pst@coor % xO yO xO yO xA yA + Pyth2 % xO yO radius + \psk@dimen CLW mul sub + \if@star \tx@SD \else + 0 360 arc + closepath + \fi }% + \showpointsfalse + \end@ClosedObj + \ignorespaces} +% \def\qdisk(#1)#2{% \def\pst@par{}% \begin@SpecialObj @@ -2734,9 +2782,10 @@ pop \def\psset@radius#1{\pst@@getlength{#1}\psk@radius} \psset@radius{.25cm} % -\def\psCircle{\pst@object{psCircle}} +\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{\pst@object{pswedge}} \def\pswedge@i{\@ifnextchar({\pswedge@ii}{\pswedge@ii(0,0)}} \def\pswedge@ii(#1)#2#3#4{% @@ -3182,8 +3231,16 @@ pop \psset@showgrid{false} % \newdimen\pst@shift -\def\psset@shift#1{\pssetlength\pst@dimg{#1}% - \pst@shift\pst@dimg} +\newif\ifPst@shift@star +\def\psset@shift#1{% + \ifx#1* + \global\Pst@shift@startrue + \pst@shift=\p@ + \else + \global\Pst@shift@starfalse + \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 ------------------- @@ -3225,10 +3282,10 @@ pop % \ignorespaces% } \def\pic@coor{(0,0)(0,0)(10,10)} -\newdimen\pst@shift +%\newdimen\pst@shift \def\endpspicture{% \pst@killglue - \global\pst@shift=\pst@shift% in fact of the following endgroup +% \global\pst@shift=\pst@shift% in fact of the following endgroup \endgroup \egroup \ifdim\wd\pst@hbox=\z@\else @@ -3239,12 +3296,18 @@ pop \dp\pst@hbox=-\pst@dimb \setbox\pst@hbox=\hbox{% \kern-\pst@dima -% ----------- 1.10/12 beg hv ------------------- -% \advance\pst@dimd-\pst@dimb% -% \pst@dimd=\pst@shift\pst@dimd% -% \advance\pst@dimd\pst@dimb - \pst@dimd-\pst@shift -% ----------- 1.10/12 end hv ------------------- +% Orig version ---------- +%\ifx\pst@tempa\@empty\else +%\advance\pst@dimd-\pst@dimb +%\pst@dimd=\pst@tempa\pst@dimd +%\advance\pst@dimd\pst@dimb +%\lower\pst@dimd +%\fi +%----- end Orig + \ifPst@shift@star\typeout{==pstricks== old behaviour of the shift option}% shift=* + \advance\pst@dimd-\pst@dimb + \pst@dimd=0.5\pst@dimd + \else\pst@dimd-\pst@shift\fi \advance\pst@dimd\pst@dimb \lower\pst@dimd% \box\pst@hbox% @@ -3252,8 +3315,9 @@ pop \if@star\setbox\pst@hbox=\hbox{\clipbox@@\z@}\fi \leavevmode\box\pst@hbox \endgroup% - \global\pst@shift\z@% restore value + \psset@shift{0}% reset value } +% \@namedef{pspicture*}{\pspicture*} \@namedef{endpspicture*}{\endpspicture} % diff --git a/Master/texmf-dist/tex/generic/pstricks/textures.con b/Master/texmf-dist/tex/generic/pstricks/textures.con index 3a2b622f17c..b126464a767 100644 --- a/Master/texmf-dist/tex/generic/pstricks/textures.con +++ b/Master/texmf-dist/tex/generic/pstricks/textures.con @@ -25,5 +25,103 @@ \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 index c5016c1a27a..50e5260147d 100644 --- a/Master/texmf-dist/tex/generic/pstricks/vtex.con +++ b/Master/texmf-dist/tex/generic/pstricks/vtex.con @@ -68,5 +68,103 @@ \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 index 86709f55c30..d34c1378d68 100644 --- a/Master/texmf-dist/tex/generic/pstricks/xdvipdfmx.con +++ b/Master/texmf-dist/tex/generic/pstricks/xdvipdfmx.con @@ -44,6 +44,7 @@ \def\c@lor@ps@cmyk#1\@@{#1 setcmykcolor} \def\c@lor@ps@gray#1\@@{#1 setgray} \pstcustomize +\pstVerb{ /.setopacityalpha pop def } \def\@@scalebox{% \leavevmode \hbox{% @@ -122,6 +123,106 @@ \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 + + +%% +%%%%%%%%%%%%%%%%%%% !! 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 -- cgit v1.2.3