diff options
Diffstat (limited to 'Master/texmf-dist/source/generic/xypic/xy16textures.doc')
-rw-r--r-- | Master/texmf-dist/source/generic/xypic/xy16textures.doc | 294 |
1 files changed, 294 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/xypic/xy16textures.doc b/Master/texmf-dist/source/generic/xypic/xy16textures.doc new file mode 100644 index 00000000000..c4a7545746f --- /dev/null +++ b/Master/texmf-dist/source/generic/xypic/xy16textures.doc @@ -0,0 +1,294 @@ +%% $Id: xy16textures.doc,v 3.3 1996/12/18 14:21:23 ross Exp $ +%% +%% Xy-pic ``Textures v1.6'' driver interface option. +%% Copyright (c) 1995-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@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. +%% +\ifx\xyloaded\undefined \input xy \fi + +\xyprovide{16textures}{Textures v1.6 driver}{\stripRCS$Revision: 3.3 $}% + {Ross Moore}{ross@mpce.mq.edu.au}% + {Mathematics Department, Macquarie University, NSW~2109, Australia} + +\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +This driver provides support for versions 1.5b and 1.6 of Blue Sky Research's +\Textures\ application for Macintosh\footnote{Macintosh is a trademark of +Apple Computer Inc.}. It incorporates support for \PS\ colour and the +\Xy-ps \PS\ back-end. This will {\em not} work with versions 1.7 and later; +these require the <driver> option |\xyoption{textures}|. + +\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\paragraph*{Header:}\leavevmode +\DOCHEADER + +\DOCMODE( +\xydef@\oldTextures@@#1{\dvimessage@{Textures v1.6}{#1}} + +\newdriver{% + \xyaddsupport{color}\oldtexturesColor@@ + \xyaddsupport{crayon}\oldtexturesCrayon@@ + \xyaddsupport{ps}\oldtexturesPS@@ + \xyaddsupport{rotate}\oldtexturesRotate@@ + \xyaddsupport{line}\oldtexturesLine@@ + \xyaddsupport{frame}\oldtexturesFrames@@ + \xyaddsupport{tile}\oldtexturesTiles@@ + \xyaddsupport{cmtip}\relax +} +\DOCMODE) + +\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Supported |\special| effects are... +% +\begin{itemize} + +\item colour, using \PS\ + +\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Textures v1.6 cannot manage colours, except within imported graphics. +It can put colours into the \PS\ output. + +\DOCMODE( +\xydef@\oldTexturesColours@{\oldtexturesPStypes@ + \let\xylocalColor@=\xyNoColor@@ \def\xycolor@{\xycolor@@}% + \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@\oldtexturesCrayon@@{}}% + \else\let\next@=\xystandardcolors@ \fi \next@ + \let\xycolorwarning@=\relax + \let\oldtexturesColor@@=\relax + \let\UnloadColor@@=\NooldTexturesColor@ + } + +\xydef@\oldtexturesColor@@{\oldTexturesColours@} + +\xydef@\NooldTexturesColor@{% + \let\xylocalColor@=\xyNoColor@@ + \let\xycolor@=\xyNoColor@ + \let\xycolorwarning@=\xycolorwarning@@ + \let\oldtexturesColor@@=\oldTexturesColours@ + \let\UnloadColor@@=\UnloadColor@ + } +\DOCMODE) + +\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item crayon colours. + +\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The 68 colours are those that |dvips| recognizes by name, +thanks to Tomas Rokicki. + +\DOCMODE( +\xydef@\oldtexturesCrayon@@{\oldtexturesColor@@\oldtexturesCrayon@} +\xydef@\oldtexturesCrayon@{\installCrayolaColors@}% +\DOCMODE) + +\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item \PS\ back-end. +\DOCMODE( +\xydef@\oldtexturesPS@@{\oldtexturesPS@} + +\xydef@\oldtexturesPSunload@{\UnloadPS@ + \ifx\xyrealshipout@\undefined\else + \ifx\shipout\xyrealshipout@ + \else \let\shipout=\xyrealshipout@\fi\fi + \let\installxyps@@=\relax + \let\UnloadPS@@=\UnloadPS@ + \let\oldtexturesPS@@=\oldtexturesPS@ } +\DOCMODE) + +\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +We must return the binding of |\shipout| to its initial value. + +\medskip + +Early versions (1.5--1.6) of \Textures\ have two kinds of |\special|, +for inserting \PS\ code into the dvi-file and two more for reading +such code from a file: +% +\begin{itemize} +\item |\special{rawpostscript #1}| puts code directly into the \PS\ file. +\item |\special{postscript #1}| wraps the code within |sps|...|eps|, +which involves graphics state changes within a |gsave/grestore| pair. +\end{itemize} +Each of these has a corresponding version for reading the \PS\ commands +from a file. + +\DOCMODE( +\xydef@\oldTexturesSpecial@#1{\firstPS@@\special{postscript #1}} +\xydef@\oldTexturesMacro@#1{\special{postscript {#1}xy}} +\xydef@\oldTexturesInclude@#1{\firstPS@@\special{rawpostscriptfile #1}} +\xydef@\oldTexturesRaw@#1{\firstPS@@\special{rawpostscript #1}} + +\xydef@\oldtexturesPStypes@{% + \xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}% + \ifx\PSspecial@@\oldTexturesSpecial@\else + \let\PSspecial@@=\oldTexturesSpecial@ + \let\PSmacro@@=\oldTexturesMacro@ + \let\PSdict@@=\oldTexturesRaw@ + \let\PSraw@@=\oldTexturesRaw@ + \let\PSinclude@@=\oldTexturesInclude@ + \let\PSspecialdict@@=\oldTexturesRaw@ + \let\xyPSobeylines@@=\obeyoldTextureslines@ + \oldTextures@@{PostScript}% + \fi +% \xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}% + \oldtexturesCurrpt@ \@PSshipout } + +{\catcode`\^^M=\active % + \gdef\next{\catcode`\^^M=\active \let^^M=\par \obeyspaces}} +\xylet@\obeyoldTextureslines@=\next +\DOCMODE) + +The |currentpoint| is defined for the ``raw'' specials. +For Textures this is the same as |\xyPScurrpt@@@|, in |xyps-ps.doc|. + +\DOCMODE( +\xydef@\oldtexturesCurrpt@{\let\xyPScurrpt@@=\oldtexturesCurrpt@@}% +\xydef@\oldtexturesCurrpt@@{\PSspecial@@{xyi}\PSraw@@{userdict begin xyx end}} +\DOCMODE) + +The \PS\ operator called |xyx| is defined in |xyps-ps| for storing the +location placed on the stack by |xyi|. + +\medskip + +\Textures~v1.6 requires the \PS\ dictionary to be shipped-out with +every page. To achieve this efficiently we rebind |\shipout|, +as described in |xyps-ps.doc|. Next set the flag |\UsePSdict@@true| +after having rebound |\includePSmessage@| to gobble the attempt to load +the dictionary directly into the dvi-file. + +This installs the \PS\ backend. + +\DOCMODE( +\xydef@\oldtexturesPS@{\oldtexturesPStypes@ + \let\oldtexturesPS@@=\relax + \let\UnloadPS@@=\oldtexturesPSunload@ + \let\installxyps@@=\@PSshipout \installxyps@ } +\DOCMODE) + +\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item rotated/scaled diagrams and text, using \PS. + +\DOCMODE( +\xydef@\oldtexturesRotate@@{\oldtexturesRotate@} + +\xydef@\oldtexturesRotate@{\oldtexturesPStypes@ + \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{% + \xyinputorelse@{xyps-r}{\xydrivernoload@{ps-r}}% + \xyRotScale@@ \installPSrotscale@ }% + \else\DN@{\xydriverfail@{rotations are}\UnloadRotate@\relax}\fi + \next@ } +\DOCMODE) + +\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item variable line-widths and poly-lines, using \PS. +\DOCMODE( +\xydef@\oldtexturesLine@@{\oldtexturesLine@} + +\xydef@\oldtexturesLine@{\oldtexturesPStypes@ + \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{% + \xyinputorelse@{xyps-l}{\xydrivernoload@{ps-l}}% + \installPSline@ }% + \else\DN@{\xydriverfail@{line-styles are}\UnloadLine@\relax}\fi + \next@ } +\DOCMODE) + +\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item extra frames and fills, using \PS. +\DOCMODE( +\xydef@\oldtexturesFrames@@{\oldtexturesFrames@} + +\xydef@\oldtexturesFrames@{\oldtexturesPStypes@ + \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{% + \xyinputorelse@{xyps-f}{\xydrivernoload@{ps-f}}% + \installPSframes@ }% + \else\DN@{\xydriverfail@{frames are}\UnloadPSFrames@\relax}\fi + \next@ } +\DOCMODE) + +\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\item patterns and tiles, using \PS. +\DOCMODE( +\xydef@\oldtexturesTiles@@{\oldtexturesTiles@} + +\xydef@\oldtexturesTiles@{\oldtexturesPStypes@ + \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{% + \xyinputorelse@{xyps-t}{\xydrivernoload@{ps-t}}% + \installPSpatterns@ \xystandardpatterns@}% + \else\DN@{\xydriverfail@{Patterns are}\UnloadPSpatterns@\relax}\fi + \next@ } +\DOCMODE) + +\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\end{itemize} + +\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\paragraph*{The end \& Log}\leavevmode + +\DOCMODE( +\xyendinput + +% $Log: xy16textures.doc,v $ +% Revision 3.3 1996/12/18 14:21:23 ross +% Ross's version +% +% Revision 3.3.1.1 1996/12/18 08:45:28 ross +% *** empty log message *** +% +% Revision 3.2 1995/09/19 18:20:20 ross +% Bug fix release. +% +% Revision 3.1 1995/09/05 20:36:33 ross +% Release! +% +% Revision 3.0 1995/07/07 20:13:19 ross +% Major release w/new User's Guide! +% +% Revision 2.13 1995/07/04 15:04:51 ross +% Ready for release of v3. +% +% NEW for version 3. +\DOCMODE) + +\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\endinput + +% Tell Emacs that this is a LaTeX document and how it is formatted: +% Local Variables: +% mode:latex +% fill-column:77 +% End: |