diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/xypic/xyps-pro.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/xypic/xyps-pro.tex | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/xypic/xyps-pro.tex b/Master/texmf-dist/tex/generic/xypic/xyps-pro.tex new file mode 100644 index 00000000000..55117c46714 --- /dev/null +++ b/Master/texmf-dist/tex/generic/xypic/xyps-pro.tex @@ -0,0 +1,174 @@ +%% xyps-pro.tex from $Id: xyps-pro.doc,v 3.7 1999/02/16 15:12:50 krisrose Exp $ +%% +%% Xy-pic ``PostScript Prolog'' for PostScript support. +%% Copyright (c) 1993-1996 Ross Moore <ross@mpce.mq.edu.au> +%% +%% This file is part of the Xy-pic package for graphs and diagrams in TeX. +%% See the companion README and INSTALL files for further information. +%% Copyright (c) 1991-1996 Kristoffer H. Rose <krisrose@ens-lyon.fr> +%% +%% The Xy-pic package is free software; you can redistribute it and/or modify +%% it under the terms of the GNU General Public License as published by the +%% Free Software Foundation; either version 2 of the License, or (at your +%% option) any later version. +%% +%% The Xy-pic package is distributed in the hope that it will be useful, but +%% WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +%% or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +%% for more details. +%% +%% You should have received a copy of the GNU General Public License along +%% with this package; if not, write to the Free Software Foundation, Inc., +%% 675 Mass Ave, Cambridge, MA 02139, USA. +%% +%% As a special exception, you may use this file and all files derived +%% from it without restrictions. This special exception was added with +%% version 3.7 of Xy-pic. +\begingroup \xycatcodes% + \count@=\xydashl@\relax \count@@=\xydashw@\relax% + \let\firstPS@@=\relax% + \xyPSobeylines@@% +\PSspecialdict@@{% +/XYdict where not{250 dict /XYdict exch def + /xy{mark exch XYdict begin countdictstack /xylevel exch def + xyopen xycolor mark xypatt xypattern stopped xyclose end + cleartomark}def /xyg{gsave xy}def + /xyf{currentfont exch xy grestore setfont}def + /xycc{{xychgcol}xy}def /xyc{XYdict begin xycolstore end}def + /xyx{/xyYpos exch def /xyXpos exch def}def + /xyp{currentpoint xyx}def + /xyd{setupDirection XYdirection 2 mul}def + /xyct{currentpoint xyt 2 copy 6 2 roll}def + /xyt{xyXpos xyYpos 2 copy translate}def /xyr{neg rotate xynt}def + /xyrs{neg rotate 3 -1 roll sub neg 3 1 roll sub exch moveto xynt}def + /xynt{neg exch neg exch translate}def /xys{scale xynt}def + /xyss{scale 3 -1 roll sub neg 3 1 roll sub exch moveto xynt}def + /xyi{0 0 transform grestore gsave itransform}def + }if}% +\tmp@false\def\do#1{\DN@{#1}\ifx\next@\nextii@\tmp@true\fi}% +\DNii@{17oztex}\xydriversselected@@\iftmp@\PSspecialdict@@{% + /@boxy{prespecialVM restore grestore}def + /@eoxy{gsave /prespecialVM save def}def + }% +\else \DNii@{oztex}\xydriversselected@@\iftmp@\PSspecialdict@@{% + /@oxy{prespecialVM restore grestore}def + /@oxy{gsave /prespecialVM save def}def + }\fi\fi% +\PSdict@@{/XYdict where pop begin XYdict begin}% +\PSdict@@{% + /xyopen{currentdict /XYddict known{XYddict null eq{} + {XYddict begin xyopen}ifelse}if}def + /xyclose{countdictstack -1 xylevel 1 add{pop end}for}def + /xychgcol{/xycolor exch def}def /xysetcol{xypush xychgcol}def +}% +\PSdict@@{% + /xypush{16 dict /XYddict exch def XYddict begin}def + /undef where + {pop /xypop{countdictstack xylevel eq{}{end}ifelse + currentdict /XYddict undef}def} + {/xypop{countdictstack xylevel eq{}{end}ifelse + /XYddict null def}def}ifelse + /pu /xypush load def /pp /xypop load def}% +\PSdict@@{% + /xypspt{72 72.27 div dup scale}bind def /pscorrect{.85 mul}bind def + /gstartxy{gsave xypspt xywidth xycap xyjoin xymiter newpath 0 0 moveto}def + /xypath{gstartxy rmoveto counttomark 2 idiv -1 1{pop lineto}for}def + /xystroke{stroke grestore}bind def + /xyfill{closepath fill grestore}bind def + /xystfil{closepath gsave fill grestore 0 setgray + 0 setlinewidth xystroke}bind def + /xyeofill{closepath eofill grestore}bind def +}% +\PSdict@@{% + /xypolyline{xypath xystroke}def /xypolyfill{xypath xyfill}def + /xydotsep{/@ currentlinewidth 2 mul def}def + /xypolydot{xypath xydotsep [xydt @] 0 setdash xystroke}def + /xypolydash{xypath xydotsep [@ @] 0 setdash xystroke}def + /xypolyeofill{xypath xyeofill}def /pe /xypolyeofill load def + /pl /xypolyline load def /pf /xypolyfill load def + /pt /xypolydot load def /pd /xypolydash load def }% +\PSdict@@{% + /arc4pop{arcto 4{pop}repeat}bind def + /xyoval{gstartxy oval closepath xystroke}def + /xycircle{gstartxy circle xystroke}def + /circle{dup 0 moveto 0 0 3 -1 roll 0 360 arc}def + /oval{newpath 2 copy exch 5 index add 2 div exch 3 copy 10 3 roll + moveto 1 index dup 5 1 roll 3 index 7 index arc4pop + dup dup 4 1 roll 4 index exch 6 index arc4pop + 1 index dup 8 1 roll 4 index 4 index arc4pop + arc4pop closepath}def + /xyellipse{gstartxy counttomark 1 gt{squarify pop pop 1}if + circle xystroke}def + /ov /xyoval load def /ox /xyellipse load def }% +\PSdict@@{% + /dotit{dup currentlinewidth 6 mul div round div + /@ exch def [xydt @] 0 setdash}def + /elldash{dup 4 -1 roll 10 exch div dashit}def + /ovdash{dup 10 dashit}def + /dashit{div round 2 mul div /@ exch def [@ @] 0 setdash}def + /dotcirc{gstartxy cirlen dotit circle xystroke}def + /dashcirc{gstartxy cirlen dashit circle xystroke}def + /dotoval{gstartxy 5 copy ovlen dotit oval xystroke}def + /dashoval{gstartxy 5 copy ovlen ovdash oval xystroke}def + /cirlen{dup 6.283185 mul}bind def + /ovlen{3 -1 roll sub 3 1 roll sub add exch 1.716815 mul sub}def + /dotellipse{gstartxy counttomark 1 gt{squarify pop pop 1}if + cirlen dotit circle closepath xystroke}def + /dashellipse{gstartxy counttomark 1 gt{squarify add 2 div 1} + {1 exch 1 exch}ifelse cirlen elldash circle xystroke}def + /ot /dotellipse load def /od /dashellipse load def + /vt /dotoval load def /vd /dashoval load def }% +\PSdict@@{% + /filloval{gstartxy oval xyfill}def + /stfiloval{gstartxy oval xystfil}def + /fillcircle{gstartxy circle xyfill}def + /stfilcircle{gstartxy circle xystfil}def + /fillellipse{gstartxy squarify pop pop 1 circle xyfill}def + /stfilellipse{gstartxy squarify pop pop 1 circle xystfil}def + /squarify{4 copy sub 2 div 3 1 roll sub 2 div translate + add 2 div 3 1 roll add 2 div 2 copy scale + 2 copy add 2 div currentlinewidth exch div setlinewidth + newpath}def + /fe /fillellipse load def /sfe /stfilellipse load def + /fo /filloval load def /sfo /stfiloval load def + /fc /fillcircle load def /sfc /stfilcircle load def }% +\PSdict@@{% + /xywidth{.4 pscorrect setlinewidth}bind def + /xydash{[] 0 setdash}bind def /xycap{1 setlinecap}bind def + /xyjoin{1 setlinejoin}bind def /xymiter{10 setmiterlimit}bind def +}% +\PSdict@@{% + /cc{dup exec xychgcol}def + /lw{dup setlinewidth /@l exch def + /xywidth{@l setlinewidth}bind def}def + /lc{dup setlinecap /@c exch def + /xycap{@c setlinecap}bind def}def + /lj{dup setlinejoin /@j exch def + /xyjoin{@j setlinejoin}bind def}def + /ml{dup setmitrelimit /@m exch def + /xymiter{@m setmitrelimit}bind def}def +}% +\PSdict@@{% + /setupDirection{dup -2048 lt{3072 add neg 1024 exch} + {dup 0 lt{1024 add neg -1024}{dup 2048 lt{1024 sub -1024 exch} + {3072 sub 1024}ifelse}ifelse}ifelse atan + dup 180 gt{360 sub}if dup /XYdirection exch def rotate}def + }% +\PSdict@@{% + userdict begin + /gray{setgray}bind def /gray@{setgray}bind def + /rgb{setrgbcolor}bind def /rgb@{setrgbcolor}bind def + /hsb{sethsbcolor}bind def /hsb@{sethsbcolor}bind def + /setcmykcolor where{pop}{/setcmykcolor{dup 3 1 roll dup 5 1 roll + exch sub 1 add 5 1 roll exch sub 1 add 4 1 roll + exch sub 1 add 3 1 roll setrgbcolor}bind def}ifelse + /cmyk{setcmykcolor}bind def /cmyk@{setcmykcolor}bind def + /sethalftone where{/sethalftone load /tone exch def}if + /xycolarray 3 array def /xycolstore{currentrgbcolor 2 -1 0 + {exch xycolarray 3 1 roll put}for}def xycolstore + /xycolor{0 1 2{xycolarray exch get}for setrgbcolor}def + /xypatt{}def /xypattern{cleartomark}bind def + end}% +\PSdict@@{end end}% +\endgroup% +\endinput |