%% xyps-s.tex from $Id: xyps-s.doc,v 3.0 1995/07/07 20:13:19 ross Exp kris $
%%
%% Xy-pic ``Style extension'' PostScript support.
%% Copyright (c) 1995 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-1995 Kristoffer H. Rose <kris@diku.dk>
%%
%% 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.
%%
\expandafter\ifx\csname xyps-sloaded\endcsname\empty
 \message{not reloaded}\endinput \fi
\expandafter\let\csname xyps-sloaded\endcsname=\empty \xycatcodes
%%\xydef@\xyPSprestyle@@{%
%% \expandafter\xyPSrawA@\expandafter{\the\styletoks@}}
%%\xydef@\xyPSpoststyle@@{%
%% \expandafter\xyPSrawZ@\expandafter{\the\styletoks@}}
\xydef@\modXYstyle@{%
 \ifx\xy@style@\empty\resetStyle@\fi \checkXyStyle@
 \expandafter\DN@\expandafter{\xyPSpre@}%
 \ifx\next@\empty\else\DN@{\modXYstyle@@}\fi \next@ }
\xydef@\modXYstyle@@{%
 \DN@##1{\expandafter\def\expandafter\tmp@\expandafter{##1}}%
 \expandafter\next@\expandafter{\preStyle@@}%
 \DN@##1{\expandafter\gdef\expandafter\preXY@style@\expandafter{%
 \preXY@style@ ##1}}\expandafter\next@\expandafter{\tmp@}%
 \DN@##1{\expandafter\def\expandafter\tmp@\expandafter{##1}}%
 \expandafter\next@\expandafter{\postStyle@@}%
 \DN@##1{\expandafter\gdef\expandafter\postXY@style@\expandafter{%
 \tmp@ ##1}}\expandafter\next@\expandafter{\postXY@style@}}
\xydef@\xykillstyles@@{%
 \let\xypre@Style@@=\relax \let\xypost@Style@@=\relax}
\xywarnifdefined\xyPSescapestyle@
\xywarnifdefined\xyPSsplitescape@
{\xyuncatcodes \catcode`@=11
 \gdef\xyPSescapestyle@#1@@{\xyPSsplitescape@#1<><>@@}%
 \gdef\xyPSsplitescape@#1<>#2<>#3@@{\xyescape@@{#1}{#2}}}
\xydef@\xyPSsplitPS@#1#2{%
 \def\xyPSpre@{#1}\def\xyPSpost@{#2}\modPSboxz@ }
\xydef@\xyescape@@#1#2{\checkXyStyle@ 
 \applyFIFOstyle@\prexyescape@{#1}\postxyescape@{#2}}
\xydef@\prexyescape@{\xyescapeSpecial@}
\xydef@\postxyescape@{\xyescapeSpecial@}
\xylet@\xyescapeSpecial@=\eat@
\let\xyescapeSpecial@=\addtostyletoks@
\xydef@\installPSstyle@{%
 \let\xydoprestyles@=\xyPSrawstyleA@
 \let\xydopoststyles@=\xyPSrawZ@
 \let\xykillstyles@=\xykillstyles@@
 }
\xydef@\xyPSrawstyleA@#1{\xyPSrawA@{{#1}{}}}
\endinput
