diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/xypic/xytile.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/xypic/xytile.tex | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/xypic/xytile.tex b/Master/texmf-dist/tex/generic/xypic/xytile.tex new file mode 100644 index 00000000000..1b7af8f47e1 --- /dev/null +++ b/Master/texmf-dist/tex/generic/xypic/xytile.tex @@ -0,0 +1,126 @@ +%% xytile.tex from $Id: xytile.doc,v 3.4 1997/05/18 01:13:24 ross Exp $ +%% +%% Xy-pic ``Pattern and Tile extension'' option. +%% 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. +%% +\ifx\xyloaded\undefined \input xy \fi +\xyprovide{tile}{Pattern and Tile extension}{\stripRCS$Revision: 3.4 $}% + {Ross Moore}{ross@mpce.mq.edu.au}% + {Mathematics Department, Macquarie University, NSW~2109, Australia} +\xydef@\xypatternwarning@@{\xypatternmessage@ + \gdef\xypatternwarning@{\xypatternmessage@ + \xywarning@{...no further pattern warnings will be given.}% + \global\let\xypatternwarning@=\relax }} +\xylet@\xypatternwarning@=\xypatternwarning@@ +\xydef@\xypatternmessage@{% + \xywarning@{Current driver does not support patterns.}}% +\xydef@\newxypattern{\begingroup\xycatcodes\newxypattern@i} +\xydef@\newxypattern@i#1#2{\edef\next@{\endgroup + \noexpand\newxyPattern{#1}{}{#2}{}}\next@} +\xydef@\newxyPattern#1#2#3#4{\newxypattern@{#1}{#2}{#3}{#4}{}} +\xydef@\newxypattern@#1#2#3#4#5{% + \expandafter\let\expandafter\next@\csname shape [#1]\endcsname + \ifx\next@\relax + \DN@{#4}\ifx\next@\empty + \DN@{#2}\ifx\next@\empty + \DN@{\newxystyle{#1}{\xylocalpattern@{}{#3}\xypattern@{#3}}}% + \else + \DN@{\newxystyle{#1}{\xylocalpattern@{#2}{#3}\xypattern@{#2 #3}}}% + \fi + \else\DN@{#2#3}\ifx\next@\empty + \DN@{\newxystyle{#1}{\xylocalpattern@{#4}{}\xypattern@{#4}}}% + \else + \DN@{\newxystyle{#1}{\xylocalpattern@{#2}{#3}\xypattern@{#4}}}% + \fi\fi + \else \def\tmp@{\relax}\DNii@{#5}% + \ifx\nextii@\tmp@ + \DN@{#4}\ifx\next@\empty + \DN@{#2}\ifx\next@\empty + \DN@{\newxystyle{#1}{\xylocalpattern@{}{#3}\xypattern@{#3}}}% + \else + \DN@{\newxystyle{#1}{\xylocalpattern@{#2}{#3}\xypattern@{#2 #3}}}% + \fi + \else + \DN@{#2#3}\ifx\next@\empty + \DN@{\newxystyle{#1}{\xylocalpattern@{#4}{}\xypattern@{#4}}}% + \else + \DN@{\newxystyle{#1}{\xylocalpattern@{#2}{#3}\xypattern@{#4}}}% + \fi\fi + \else\DN@{}\fi\fi \next@\relax } +\xydef@\xyNopattern@#1{} +\xylet@\xypattern@@=\xyNopattern@ +\xydef@\xyNopattern@@#1#2{\xypatternwarning@} +\xylet@\xypattern@=\xypattern@@ +\xylet@\xylocalpattern@=\xyNopattern@@ +\xydef@\Unloadpattern@{% + \let\xylocalpattern@=\xyNopattern@@ + \let\xypattern@=\xyNopattern@ + \let\xypatternwarning@=\xypatternwarning@@ } +\Unloadpattern@ +\xydef@\xystandardpatterns@{}% +\xynew@{read}{\xypatread@} +\xydef@\defaultpattfile@{} +\xydef@\xygetfilepatterns@#1{\DN@{#1}% + \ifx\next@\empty + \ifx\defaultpattfile@\empty \xywarning@{No pattern file specified.}% + \else \DN@{\expandafter\openpattfile@\expandafter{\defaultpattfile@}}\fi + \else \DN@{\openpattfile@{#1}}\fi \next@ } +\xydef@\openpattfile@#1{\openin\xypatread@=#1.xyp + \ifeof\xypatread@\xywarning@{No patterns in file: #1.xyp}% + \closein\xypatread@ + \else \expandafter \xyreadpatfile@ \fi }% +\xydef@\UsePatternFile#1{\def\defaultpattfile@{#1}} +\xydef@\LoadAllPatterns{\let\parsepattern@=\parsepattern@@ + \xygetfilepatterns@ } +\xydef@\LoadPattern#1{\let\parsepattern@=\filepattern@@ + \def\pattname@{#1}\xygetfilepatterns@} +\xydef@\AliasPattern#1#2{\let\parsepattern@=\aliaspattern@@ + \def\aliasname@{#1}\def\pattname@{#2}\xygetfilepatterns@} +\xydef@\xyreadpatfile@{% + \loop@ \bgroup\xycatcodes + \global\read\xypatread@ to\xypatline@ + \ifeof\xypatread@ \aftergroup\endpatread@ + \else\aftergroup\morepatread@\fi \edef\next@{% + \egroup\noexpand\getxypattern@{\xypatline@!!!}\relax}\next@ + \repeat@ } +\xydef@\endpatread@{\closein\xypatread@\iffalse} +\xydef@\morepatread@{\iftrue} +\xydef@\getxypattern@#1{\def\next{#1}\getxypattern@@} +\xydef@\getxypattern@@{\DN@{!!!}\ifx\next\next@\DN@{}% + \else\DN@{\expandafter\parsepattern@\next}\fi \next@ } +\xydef@\parsepattern@@#1 #2!#3\relax{\newxypattern{#1}{#2}} +\xydef@\filepattern@@#1 #2!#3\relax{\DN@{#1}% + \ifx\next@\pattname@ + \DN@{\expandafter\foundpattern@\expandafter{\pattname@}{#2}}% + \else\DN@{}\fi \next@ } +\xydef@\foundpattern@#1#2{\newxypattern{#1}{#2}\endpatread@\fi + \expandafter\eat@} +\xydef@\aliaspattern@@#1 #2!#3\relax{\DN@{#1}% + \ifx\next@\pattname@ + \DN@{\expandafter\foundpattern@\expandafter{\aliasname@}{#2}}% + \else\DN@{}\fi \next@ } +\DN@{\xyaddunsupport{tile}\Unloadpattern@}% +\ifx\xyeverywithoption@tile@\undefined +\else\ifx\xyeverywithoption@tile@\empty +\else + \DN@{\xysetup@@{\xywithoption{tile}{\xyeverywithoption@tile@\xydriversloaded@@}}}% +\fi\fi \next@ +\xyendinput |