summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xypic/xyps-pro.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/xypic/xyps-pro.tex')
-rw-r--r--Master/texmf-dist/tex/generic/xypic/xyps-pro.tex174
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