%% xydvips.tex from $Id: xydvips.doc,v 3.9 2011/03/14 20:14:00 krisrose Exp $ %% %% Xy-pic ``dvips-driver'' option. %% Copyright (c) 1995-1996 Ross Moore %% %% 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-2011 Kristoffer H. Rose %% %% 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, see http://www.gnu.org/licenses/. %% \ifx\xyloaded\undefined \input xy \fi \xyprovide{dvips}{DVIPS driver}{\stripRCS$Revision: 3.9 $}% {Ross Moore}{ross.moore@mq.edu.au}% {Mathematics Department, Macquarie University, NSW~2109, Australia} \xydef@\dvips@@#1{\dvimessage@{dvips}{#1}} \newdriver{% \xyaddsupport{color}\dvipsColor@@ \xyaddsupport{crayon}\dvipsCrayola@@ \xyaddsupport{ps}\dvipsPS@@ \xyaddsupport{rotate}\dvipsRotate@@ \xyaddsupport{line}\dvipsLine@@ \xyaddsupport{frame}\dvipsFrames@@ \xyaddsupport{tile}\dvipsTiles@@ \xyaddsupport{tpic}\dvipsTPIC@ \xyaddsupport{emtex}\dvipsEM@ \xyaddsupport{tips}\dvipsTIPS@ } \xydef@\dvips@Color@{\dvipsPStypes@ \let\xylocalColor@=\xystackcolor@ \let\xycolor@push\xycolor@push@@ \def\xycolor@{\xycolor@@}\let\xycolorwarning@=\relax \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{% \xyinputorelse@{xyps-c}{\xydrivernoload@{ps-c}}\installPScolor@ }% \else\DN@{}\fi \next@ \ifx\xycolor@@\xyNoColor@ \let\xycolor@@=\xycolor@raw@@\fi \ifx\xycrayolaloaded\empty \DN@{\xystandardcolors@\dvipsCrayola@{}}% \else \DN@{\xystandardcolors@}\fi \next@ \let\dvipsColor@@=\relax \let\UnloadColor@@=\NoDVIPScolor@ }% \xydef@\dvipsColor@@{\dvips@Color@} \xydef@\NoDVIPScolor@{% \def\xycolor@{\xycolor@@}% \let\xycolor@@=\xyNoColor@ \let\xylocalColor@=\xyNoColor@@ \let\xycolorwarning@=\xycolorwarning@@ \let\dvipsColor@@=\dvips@Color@ \let\UnloadColor@@=\UnloadColor@ } \xydef@\NoDVIPScolordvi@{\xywarning@{% Neither colordvi.tex nor colordvi.sty could be found.}% \xyBEcolorcheck@}% \xydef@\dvipsCrayola@@{\dvipsColor@@\dvipsCrayola@} \xydef@\dvipsCrayola@{% \let\prevxycolor@=\newxycolor@ \def\newxyDVIPScolor@##1##2##3{\prevxycolor@{##1}{}{##1}}% \let\newxycolor@=\newxyDVIPScolor@ \dvipsInclude@{color.pro}% \installCrayolaColors@ \let\newxycolor@=\prevxycolor@ }% \xydef@\dvipsPS@@{\dvipsPS@} \xydef@\dvipsPS@unload{\UnloadPS@ \let\UnloadPS@@=\UnloadPS@ \let\dvipsPS@@=\dvipsPS@ } \xydef@\dvipsPStypes@{% \xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}% \ifx\PSspecial@@\dvipsSpecial@\else \let\PSspecial@@=\dvipsSpecial@ \let\PSmacro@@=\dvipsMacro@ \let\PSdict@@=\dvipsDict@ \let\PSspecialdict@@=\dvipsDict@ \let\PSraw@@=\dvipsRaw@ \let\PSinclude@@=\dvipsInclude@ \let\xyPSobeylines@@=\obeyDVIPSlines@ \let\xyPScurrpt@@=\dvipsCurrpt@@ \dvips@@{PostScript}% \fi \XYpredict@ } \xywarnifdefined\dvipsSpecial@ \xywarnifdefined\dvipsMacro@ \xywarnifdefined\dvipsDict@ \xywarnifdefined\dvipsInclude@ \xywarnifdefined\dvipsRaw@ {\catcode`\"=11 \catcode`\!=11 \catcode`\:=11 \gdef\dvipsSpecial@#1{\special{ps:: SDict begin #1 end}} \gdef\dvipsMacro@#1{\firstPS@@\special{" {#1}xy}} \gdef\dvipsDict@#1{\special{! #1}} \gdef\dvipsInclude@#1{\special{header=#1}} \gdef\dvipsRaw@#1{\special{ps: SDict begin #1 end}} \catcode`\^^M=\active \gdef\next{\catcode`\^^M=\active \let^^M=\space }}% \xylet@\obeyDVIPSlines@=\next \xydef@\dvipsCurrpt@{\let\xyPScurrpt@@=\dvipsCurrpt@@}% \xydef@\dvipsCurrpt@@{\PSraw@@{xyp}} \xydef@\dvipsPS@{\dvipsPStypes@ \let\dvipsPS@@=\PSspecials@true \let\UnloadPS@@=\dvipsPS@unload \let\installxyps@@=\relax \installxyps@ } \xydef@\dvipsRotate@@{\dvipsRotate@} \xydef@\dvipsRotate@{\dvipsPStypes@ \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{% \xyinputorelse@{xyps-r}{\xydrivernoload@{ps-r}}% \dvipsCurrpt@ \dvipsRotScale@ \installPSrotscale@ }% \else\DN@{\xydriverfail@{rotations are}UnloadRotate@\relax}\fi \next@ } \xydef@\dvipsRotScale@{% \def\xyrot@start(##1){{xyct ##1\space xyrs }}% \def\xyrot@end{}% \def\xyscale@start(##1,##2){{xyct ##1\space##2\space xyss }}% \def\xyscale@end{}} \xydef@\dvipsLine@@{\dvipsLine@} \xydef@\dvipsLine@{\dvipsPStypes@ \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{% \xyinputorelse@{xyps-l}{\xydrivernoload@{ps-l}}\installPSline@ }% \else\DN@{\xydriverfail@{line-widths are}\UnloadLine@\relax}\fi \next@ } \xydef@\dvipsFrames@@{\dvipsFrames@} \xydef@\dvipsFrames@{\dvipsPStypes@ \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{% \xyinputorelse@{xyps-f}{\xydrivernoload@{ps-f}}\installPSframes@ }% \else\DN@{\xydriverfail@{frames are}\UnloadFrames@\relax}\fi \next@ } \xydef@\dvipsTiles@@{\dvipsTiles@} \xydef@\dvipsTiles@{\dvipsPStypes@ \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{% \xyinputorelse@{xyps-t}{\xydrivernoload@{ps-t}}\installPSpatterns@ }% \else\DN@{\xydriverfail@{Patterns are}\UnloadPSpatterns@\relax}\fi \next@ } \xydef@\dvipsTPIC@@{\dvipsTPIC@} \xydef@\dvipsTPIC@{\setupxyTPIC@} \xydef@\dvipsEM@@{\dvipsEM@} \xydef@\dvipsEM@{\setupxyEMTeX@} \xydef@\dvipsTIPS@{ \PSdict@@{/XYdict where pop begin XYdict begin}% \PSdict@@{% /lu{0.04 0.0 -0.16 0.125 -0.11 0.0 1 1 6{pop xyfsize mul 6 1 roll}for lineto lineto lineto closepath fill 0 0 0 0 0 0}def }% \PSdict@@{end end}% } \xyendinput