summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xypic/xyps.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/xypic/xyps.tex')
-rw-r--r--Master/texmf-dist/tex/generic/xypic/xyps.tex368
1 files changed, 368 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/xypic/xyps.tex b/Master/texmf-dist/tex/generic/xypic/xyps.tex
new file mode 100644
index 00000000000..a1ed1acf4df
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/xypic/xyps.tex
@@ -0,0 +1,368 @@
+%% xyps.tex from $Id: xyps.doc,v 3.7 1999/02/16 15:12:50 krisrose Exp $
+%%
+%% Xy-pic ``PostScript backend''.
+%% Copyright (c) 1993-1997 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-1997 Kristoffer H. Rose <krisrose@brics.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.
+%%
+%% 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.
+%%
+\ifx\xyloaded\undefined \input xy \fi
+\xyprovide{ps}{PostScript backend}{\stripRCS$Revision: 3.7 $}%
+ {Ross Moore}{ross@mpce.mq.edu.au}%
+ {Mathematics Department, Macquarie University, NSW~2109, Australia}
+\xydef@\UsePSspecials{\DNii@{{[4]}}\xyFN@\UsePSspecials@i}
+\xydef@\UsePSspecials@i{%
+ \ifx \space@\next \expandafter\DN@\space{\xyFN@\UsePSspecials@i}%
+ \else\ifx [\next \DN@[##1]{\DNii@{{[##1]}}\xyFN@\UsePSspecials@i}%
+ \else\ifcat 5\noexpand\next \DN@##1{\DNii@{{[##1]}}\xyFN@\UsePSspecials@i}%
+ \else\ifx\bgroup\next \DN@{\expandafter\UsePS@specials\nextii@}%
+ \else \DN@{\UsePS@specials{[4]}}%
+ \fi\fi\fi\fi \next@ }
+\xydef@\UsePS@specials#1#2{%
+ \ifx\empty\whichPSspecials@
+ \DN@{#2}\ifx\next@\empty
+ \else
+ \expandafter\let\expandafter\next\csname#2@\endcsname
+ \ifx\next\relax \DN@{\UsePSspecials@{#2}{}}%
+ \else \DN@{\UsePSspecials@{#2}{#1}}\fi
+ \fi
+ \else
+ \DN@{#2}\ifx\next@\empty \DN@{\PSspecials@true}%
+ \else
+ \DN@{#2}%
+ \edef\nextii@{\expandafter\string\whichPSspecials@}%
+ \ifx\next@\nextii@\DN@{\PSspecials@true}%
+ \else
+ \ifx\firstPS@@\relax
+ \DN@{\xyerror@{Only one PS <driver> allowed: \dvitype@ already loaded}{}}%
+ \else
+ \expandafter\let\expandafter\next\csname#2@\endcsname
+ \ifx\next\relax
+ \DN@{\xyerror@{PostScript specials for `#2' not supported}{}}%
+ \else
+ \xywarning@{Changing PS <driver> to #2 }%
+ \DN@{\UsePSspecials@{#2}{#1}}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi \next@}
+\xydef@\UseDVIPSspecials{\UsePSspecials@\dvips@}
+\xydef@\UseTexturesPSspecials{\UsePSspecials@\Textures@}
+\xydef@\UseTexturesSpecials{\UsePSspecials@\Textures@}
+\xydef@\UsePostScriptSpecials{\UsePSspecials@\dvips@}
+\xydef@\UseOzTeXspecials{\UsePSspecials@\OzTeX@}
+\xydef@\UseDVITOPSspecials{\UsePSspecials@\dvitops@}
+\message{drivers,}
+\xydef@\loadPSdriver@#1#2{\xyinputorelse@{xy#1}%
+ {\xyrequire{#2}\expandafter\ifx\csname xy#2loaded\else
+ {\xyerror@{Unable to load xy#1.tex for #2 driver}{}}\fi}}
+\xydef@\dvips@{\loadPSdriver@{ps-dvi}{dvips}}
+\xydef@\Textures@{\loadPSdriver@{ps-txt}{Textures}}
+\xydef@\OzTeX@{\loadPSdriver@{ps-oz}{OzTeX}}
+\xydef@\dvitops@{\loadPSdriver@{ps-dto}{dvitops}}
+\xydef@\dvipsone@{\loadPSdriver@{ps-one}{dvipsone}}
+\global\newif\ifPSspecials@
+\xydef@\UsePSspecials@#1{\def\whichPSspecials@{#1}%
+ \DN@{\Textures@}\ifx\next@\whichPSspecials@
+ \DN@##1{\xyrequire{textures}%
+ \def\whichPSspecials@{textures}\xyps@options}%
+ \else\DN@{\dvips@}\ifx\next@\whichPSspecials@
+ \DN@##1{\xyrequire{dvips}%
+ \def\whichPSspecials@{dvips}\xyps@options}%
+ \else\DN@{\OzTeX@}\ifx\next@\whichPSspecials@
+ \DN@##1{\xyrequire{oztex}%
+ \def\whichPSspecials@{oztex}\xyps@options}%
+ \else\DN@{\dvitops@}\ifx\next@\whichPSspecials@
+ \DN@##1{\xyrequire{dvitops}%
+ \def\whichPSspecials@{dvitops}\xyps@options}%
+ \else
+ \DN@##1{\xyrequire{ps}\xyrequire{#1}\xyps@options}%
+ \fi\fi\fi\fi \next@ }
+\xydef@\xyps@options{%
+ \xyrequire{ps}\xyrequire{line}\xyrequire{color}\xyrequire{crayon}%
+ \xyrequire{rotate}\xyrequire{tile}\xyrequire{frame}\xyuncatcodes }
+\xydef@\whichPSspecials@{}
+\xydef@\NoPSspecials{\xyPSwarning@{off}%
+ \PSspecials@false\aftergroup\resetPS@}
+\xydef@\resetPS@{\ifPSspecials@\xyPSwarning@{back on}\fi}
+\xydef@\UsePSspecials@x{\PSspecials@true\resetPS@}
+\xydef@\xyPSwarning@#1{\xywarning@{PostScript switched #1}}
+\xyaddunsupport{ps}{\csname UnloadPS@@\endcsname}
+\xydef@\PSspecials@{%
+ \ifx\next[\DN@[##1]{\setxyPSlevel@{##1}\xyFN@\PSspecials@}%
+ \else\DN@{\whichPSspecials@\PSspecials@@}%
+ \fi \next@ }%
+\xydef@\PSspecials@@{%
+ \ifx\und@fined\PSmessage\hidePSmessages\fi \setupxyPS@}
+\xydef@\setupxyPSlevelO@{\relax}
+\xydef@\setxyPSlevel@#1{\ifcase#1%
+ \gdef\setupxyPS@{\setupxyPSlevelO@}%
+ \or\gdef\setupxyPS@{\setupxyPSlevelA@}%
+ \or\gdef\setupxyPS@{\setupxyPSlevelB@}%
+ \or\gdef\setupxyPS@{\setupxyPSlevelC@}%
+ \or\gdef\setupxyPS@{\setupxyPSlevelD@}%
+ \else\gdef\setupxyPS@{\setupxyPSlevelD@}\fi }
+\xywarnifdefined\setupxyPS@
+ \gdef\setupxyPS@{\setupxyPSlevelD@ \gdef\setupxyPS@{\PSspecials@true}}
+\xydef@\PSincrease@#1{%
+ \xywarning@{The PS level may only increase: #1 is already active}}
+\DN@{\csname newif\endcsname\ifUsePSdict@@\DN@{}}
+ \ifx\undefined\UsePSdict@@true\else\DN@{}\fi \next@
+\ifx\undefined\xyPSdefaultdict
+ \xydef@\xyPSdefaultdict{%
+ \DN@##1.##2.##3@{\gdef\xyPSdictname{xy##1##2dict.pro}}%
+ \expandafter\next@\xyversion.@}%
+\fi
+\ifx\undefined\UsePSheader@
+ \xydef@\UsePSheader@#1{%
+ \DN@{#1}\ifx\next@\empty
+ \else \gdef\xyPSdictname{#1}\fi
+ \ifx\xyPSdictname\undefined\xyPSdefaultdict\fi
+ \gdef\xyHeaderMessage@{%
+ It includes a reference to the PostScript file \xyPSdictname.^^J}%
+ \UsePSdict@@true}%
+ \let\UsePSheader=\UsePSheader@
+\fi
+\xydef@\dumpPSdict#1{\DN@{#1}\ifx\next@\empty
+ \ifx\undefined\xyPSdictname\xyPSdefaultdict\fi
+ \else\gdef\xyPSdictname{#1}\fi
+ \def\dumpPSdict@@{\writePSdict@@}%
+ \ifx\xydriversselected@@\empty\DN@{\xysetup@@\null@xy@ps}%
+ \else \DN@{\installxyps@x}\fi \next@}
+\message{hooks,}
+\gdef\xyPSalternative@#1#2{%
+\expandafter\global\expandafter\let\csname origxy#2@\endcsname=#1%
+ \xdef#1{\noexpand\ifPSspecials@
+ \noexpand\expandafter\expandafter\noexpand\csname xyPS#2@\endcsname
+ \noexpand\else
+ \noexpand\expandafter\expandafter\noexpand\csname origxy#2@\endcsname
+ \noexpand\fi}}%
+\xydef@\setupxyPSlevelA@{\xyPStips@%
+ \xyPSalternative@{\Tip@@}{Tip}%
+ \xyPSalternative@{\Ttip@@}{Ttip}%
+ \xyPSalternative@{\Tip@@eu}{Tip@eu}%
+ \xyPSalternative@{\Ttip@@eu}{Ttip@eu}%
+ \xyPSalternative@{\hook@@}{hook}%
+ \xyPSalternative@{\ahook@@}{ahook}%
+ \xyPSalternative@{\bhook@@}{bhook}%
+ \xyPSalternative@{\aturn@@}{aturn}%
+ \xyPSalternative@{\bturn@@}{bturn}%
+ \xyPSalternative@{\squiggle@@}{squiggle}%
+ \xyPSalternative@{\stopper@@}{stopper}%
+ \xyPSalternative@{\line@@}{dash}%
+ \xyPSalternative@{\circhar@@}{circhar@}%
+ \gdef\setupxyPSlevelA@{\PSincrease@{1}}%
+ \global\let\UsePSspecials=\UsePSspecials@x \PSspecials@true}
+\xydef@\setupxyPSlevelB@{%
+ \let\xyPSfont@=\empty \let\xyPSsemifont@=\empty
+ \xyPSalternative@{\cirrestrict@@}{cirrest}%
+ \gdef\setupxyPSlevelB@{\PSincrease@{2}}%
+ \setupxyPSlevelA@ }
+\xydef@\setupxyPSlevelC@{%
+ \xyPSalternative@{\cirbuild@}{cirbuild}%
+ \xyPSalternative@{\CIRfull@}{CIRfull}%
+ \xyPSalternative@{\solid@}{solid}%
+ \xyPSalternative@{\point@}{point}%
+ \xywithoption{curve}{%
+ \xyPSalternative@{\splinesolid@}{splinesolid}}%
+ \gdef\setupxyPSlevelC@{\PSincrease@{3}}%
+ \setupxyPSlevelB@ }%
+\xydef@\setupxyPSlevelD@{%
+ \xyPSalternative@{\dash@}{dashed}%
+ \xywithoption{curve}{%
+ \xyPSalternative@{\splinedashed@}{splinedashed}%
+ \xyPSalternative@{\splinedotted@}{splinedotted}}%
+ \gdef\setupxyPSlevelD@{}%
+ \setupxyPSlevelC@ }
+\xydef@\xyPSchar@#1{%
+ \PSmacro@{\the\Direction\space \xyPSfont@ #1}}
+\xydef@\xyPSsemichar@#1{%
+ \PSmacro@{\the\Direction\space \xyPSsemifont@ #1}}
+\xydef@\xyPSfont@{f }%
+\xydef@\xyPSsemifont@{fs }%
+\xydef@\xyPStip@{\xyPSchar@{t}}%
+\xydef@\xyPSTip@{\xyPSchar@{/XT tt}}%
+\xydef@\xyPSTtip@{\setboxz@h\bgroup
+ \reverseDirection@\line@ \wdz@=\z@ \ht\z@=\z@ \dp\z@=\z@
+ \kern-\L@c \boxz@ \kern\L@c \xyPSchar@{/Xt tT}}%
+\xydef@\xyPSTip@eu@{\xyPSchar@{/ET tt}}%
+\xydef@\xyPSTtip@eu@{\setboxz@h\bgroup
+ \reverseDirection@\line@ \wdz@=\z@ \ht\z@=\z@ \dp\z@=\z@
+ \kern-\L@c \boxz@ \kern\L@c \xyPSchar@{/ET tT}}%
+\xydef@\xyPScm@\tip@x{\xyFN@\xyPScm@@}%
+\xydef@\xyPScm@@{%
+ \ifx\next\tip@@ \DN@\tip@@{\tip@x\xyPScmtip@}%
+ \else\ifx\next\atip@@ \DN@\atip@@{\tip@x\xyPScmatip@}%
+ \else\ifx\next\btip@@ \DN@\btip@@{\tip@x\xyPScmbtip@}%
+ \else\DN@{}%
+ \fi\fi\fi \next@}%
+\xydef@\xyPScmtip@{\xyPSchar@{ct}}%
+\xydef@\xyPScmatip@{\xyPSchar@{ca}}%
+\xydef@\xyPScmbtip@{\xyPSchar@{cb}}%
+\xydef@\xyPStips@{%
+ \xyPSalternative@{\atip@@}{atip}%
+ \xyPSalternative@{\btip@@}{btip}%
+ \xyPSalternative@{\tip@@}{abtip}%
+}%
+\xydef@\xyPSatip@{\xyPSwhichatip@
+ \expandafter\xyPSchar@\expandafter{\xyPSfont@@}}%
+\xydef@\xyPSbtip@{\xyPSwhichbtip@
+ \expandafter\xyPSchar@\expandafter{\xyPSfont@@}}%
+\xydef@\xyPSabtip@{\xyPSwhichabtip@
+ \expandafter\xyPSchar@\expandafter{\xyPSfont@@}}%
+\xydef@\xyPSwhichatip@{\ifx\xyatipfont\xy@@atfont
+ \expandafter\xyPSatip@i \else\def\xyPSfont@@{10 /xy A}\fi }%
+\xydef@\xyPSwhichbtip@{\ifx\xybtipfont\xy@@btfont
+ \expandafter\xyPSbtip@i \else\def\xyPSfont@@{10 /xy B}\fi }%
+\xydef@\xyPSwhichabtip@{\ifx\xyatipfont\xy@@atfont
+ \expandafter\xyPSabtip@i \else\def\xyPSfont@@{10 /xy AB}\fi }%
+\xydef@\xyPSatip@i{%
+ \edef\xyPSfont@@{\tipsize@@\space/\tipfamily@@\space A}}
+\xydef@\xyPSbtip@i{%
+ \edef\xyPSfont@@{\tipsize@@\space/\tipfamily@@\space B}}
+\xydef@\xyPSabtip@i{%
+ \edef\xyPSfont@@{\tipsize@@\space/\tipfamily@@\space AB}}
+\xydef@\xyPSTtips@{%
+ \let\Ttip@xy=\Ttip@
+ \let\Ttip@cm=\Ttip@
+ \let\Ttip@eu=\Ttip@ }
+\xydef@\xyPShook@{\xyPSchar@{h}}%
+\xydef@\xyPSahook@{\xyPSchar@{ha}}%
+\xydef@\xyPSbhook@{\xyPSchar@{hb}}%
+\xydef@\xyPSaturn@{\xyPSchar@{ta}}%
+\xydef@\xyPSbturn@{\xyPSchar@{tb}}%
+\xydef@\xyPSsquiggle@{\xyPSchar@{g}}%
+\xydef@\xyPSstopper@{\xyPSchar@{st}}%
+\xydef@\xyPSfliptrue@{\DN@{\xyPSsemichar@{T d}}}
+\xydef@\xyPSdash@{%
+ \DN@{\xyPSsemichar@{F d}}%
+ \ifnum\SemiDirectionChar=31
+ \ifdim\d@Y<\z@
+ \ifdim\d@X<\z@ \ifx\xyPSsemifont@\empty\xyPSfliptrue@\fi\fi
+ \else
+ \ifdim\z@>\d@X
+ \ifx\xyPSsemifont@\empty\else\xyPSfliptrue@\fi
+ \else\xyPSfliptrue@\fi
+ \fi\fi
+ \next@ \setboxz@h{\origxydash@}\kern\wdz@
+ \setbox\z@=\box\voidb@x }
+\xydef@\xyPScirchar@#1{\count@=#1\edef\tmp@{\the\count@}%
+ \ifcase#1%
+ \xyPScirchar@@@{-180}{-135}{\tmp@}\dimen@=\partroottwo\R@
+ \or\xyPScirchar@@@{-135}{-90}{\tmp@}\dimen@=\halfroottwo\R@
+ \or\xyPScirchar@@@{-90}{-45}{\tmp@}\dimen@=\halfroottwo\R@
+ \or\xyPScirchar@@@{-45}0{\tmp@}\dimen@=\partroottwo\R@
+ \or\xyPScirchar@@@0{45}{\tmp@}\dimen@=\partroottwo\R@
+ \or\xyPScirchar@@@{45}{90}{\tmp@}\dimen@=\halfroottwo\R@
+ \or\xyPScirchar@@@{90}{135}{\tmp@}\dimen@=\halfroottwo\R@
+ \or\xyPScirchar@@@{135}{180}{\tmp@}\dimen@=\partroottwo\R@
+ \fi}
+\xydef@\xyPScirrest@{\relax}%
+\xydef@\xyPScirchar@@#1{\relax\count@=#1\edef\tmp@{\the\count@}%
+ \expandafter\xyPScirchar@@@\ifcase#1%
+ {-180}{-135}{\tmp@}\kern\partroottwo\R@
+ \or{-135}{-90}{\tmp@}\kern\halfroottwo\R@
+ \or{-90}{-45}{\tmp@}\kern\halfroottwo\R@
+ \or{-45}0{\tmp@}\kern\partroottwo\R@
+ \or 0{45}{\tmp@}\kern\partroottwo\R@
+ \or{45}{90}{\tmp@}\kern\halfroottwo\R@
+ \or{90}{135}{\tmp@}\kern\halfroottwo\R@
+ \or{135}{180}{\tmp@}\kern\partroottwo\R@
+ \fi}
+\xydef@\xyPScirchar@@@#1#2#3{\edef\tmp@{#1\space#2\space
+ \expandafter\removePT@\the\R@\space #3\space c}%
+ \PSmacro@{\tmp@}}
+\xydef@\xyPScirc@#1#2{\edef\tmp@{\expandafter\removePT@\the\R@}%
+ \PSmacro@{\tmp@\space #1 #2 o}}
+\xydef@\xyPSCIRfull@{\setboxz@h{\kern\R@\xyPScirc@0{360}\kern\R@}%
+ \wd\z@=\z@ \ht\z@=\R@ \dp\z@=\R@ \boxz@}%
+\xydef@\xyPScirbuild@{{%
+ \count@=\CIRlo@@ \count@@=\CIRhi@@
+ \multiply\count@ by45 \advance\count@-180 \relax
+ \multiply\count@@ by45 \advance\count@@-180 \relax
+ \def\tmp@{}%
+ \ifx\CIRtest@@\CIRtest@inside
+ \ifnum\count@@>\count@
+ \edef\tmp@{\noexpand\xyPScirc@{\the\count@}{\the\count@@}}\fi
+ \else\ifx\CIRtest@@\CIRtest@outside
+ \ifnum\count@>-180 \advance\count@ by360 \relax
+ \edef\tmp@{\noexpand\xyPScirc@{\the\count@@}{\the\count@}}%
+ \else
+ \ifnum\count@@<180 \relax
+ \edef\tmp@{\noexpand\xyPScirc@{\the\count@@}{180}}%
+ \fi\fi
+ \fi\fi
+ \kern\R@\tmp@\kern\R@}}
+\xydef@\xyPSstraight@#1{\setupDirection@
+ \edef\Creset@@{\cfromthec@ \pfromthep@ \DirectionfromtheDirection@}%
+ \DN@##1##2{\def\checkoverlap@@{%
+ \ifdim##1\X@p>##1\X@c \let\next@=\relax \fi
+ \ifdim##2\Y@p>##2\Y@c \let\next@=\relax \fi}}%
+ \edef\nextii@{{\sd@X}{\sd@Y}}\expandafter\next@\nextii@
+ \noCshavep@@
+ \edef\Cshavep@@{\pfromthep@ \noexpand\resetDirection@}%
+ \noCshavec@@
+ \edef\Cshavec@@{\cfromthec@ \noexpand\resetDirection@}%
+ \ifHidden@\else
+ \ifdim\Y@c>\Y@max \Y@max=\Y@c \fi \ifdim\Y@p>\Y@max \Y@max=\Y@p \fi
+ \ifdim\Y@c<\Y@min \Y@min=\Y@c \fi \ifdim\Y@p<\Y@min \Y@min=\Y@p \fi
+ \ifdim\X@c>\X@max \X@max=\X@c \fi \ifdim\X@p>\X@max \X@max=\X@p \fi
+ \ifdim\X@c<\X@min \X@min=\X@c \fi \ifdim\X@p<\X@min \X@min=\X@p \fi \fi
+ \ifInvisible@\let\next@=\relax \else
+ \DN@{\setboxz@h{\kern\X@c \raise\Y@c\hbox{#1}}%
+ \ht\z@=\z@ \wd\z@=\z@ \dp\z@=\z@ {\xykillstyles@\Drop@@}}%
+ \fi
+ \checkoverlap@@
+ \ifdim\d@X=\z@ \ifdim\d@Y=\z@ \DN@{\relax}\fi\fi \next@
+ \def\Cslidep@@{\noCslidep@@}\def\Cslidec@@{\noCslidec@@}%
+ \def\Calong@@{\noCalong@@}\Creset@@ }
+\xylet@\xykillstyles@=\relax
+\xydef@\xyPSsolid@{\straight@\xyPSsolidSpread@}%
+\xydef@\xyPSsolidSpread@{\xyPSspread@{solid}{l}@@}%
+\xydef@\xyPSdottedSpread@{\xyPSspread@{dotted}{dt}@@}%
+\xydef@\xyPSdashed@{\line@ \def\Connect@@{\straight@\xyPSdashedSpread@}}
+\xydef@\xyPSdashedSpread@{\xyPSspread@{dashed}{dd}@@}%
+\xydef@\xyPSspread@#1#2@@#3\repeat@{\edef\tmp@{%
+ \expandafter\removePT@\the\d@X\space\expandafter\removePT@\the\d@Y}%
+ \setboxz@h{\kern\X@c \raise\Y@c\hbox{%
+ \PSmessage{#1 line:}\PSmacro@{\tmp@\space #2}}}%
+ \ht\z@=\z@ \wd\z@=\z@ \dp\z@=\z@ \boxz@}
+\xydef@\xyPSpoint@{\xyPSzerodot@\egroup
+ \Invisible@false \Hidden@false \def\Leftness@{.5}\def\U@pness@{.5}\ctipEdge@
+ \def\Drop@@{\styledboxz@}\def\Connect@@{\straight@\xyPSdottedSpread@}}
+\xydef@\xyPSzerodot@{\PSmessage{dot:}\PSmacro@{p}}
+\xydef@\xyPScubic@#1{\readsplineparams@
+ \PSmessage{CUBIC:}%
+ \DN@{#1}\ifx\next@\empty\PSmacro@{mark \cubicinfo@\space bz}%
+ \else\PSmacro@{mark \cubicinfo@\space b#1}\fi}
+\xydef@\xyPSsquine@#1{\readsplineparams@
+ \PSmessage{SQUINE:}%
+ \DN@{#1}\ifx\next@\empty\PSmacro@{mark \squineinfo@\space q#1}%
+ \else\PSmacro@{mark \squineinfo@\space q#1}\fi}
+\xydef@\xyPSsplinesolid@{\ifx\splineinfo@\squineinfo@
+ \expandafter\xyPSsquine@\else\expandafter\xyPScubic@\fi{}}
+\xydef@\xyPSsplinedashed@{\ifx\splineinfo@\squineinfo@
+ \expandafter\xyPSsquine@\else\expandafter\xyPScubic@\fi{d}}
+\xydef@\xyPSsplinedotted@{\ifx\splineinfo@\squineinfo@
+ \expandafter\xyPSsquine@\else\expandafter\xyPScubic@\fi{t}}
+\xyendinput