diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:46:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:46:03 +0000 |
commit | 873660d1a83ece926fe7206288dda9c36b349c1b (patch) | |
tree | a48f77125c309a355b5d0eb58d6b24446abe9d62 /Master/texmf-dist/tex/generic/xypic/xyweb.tex | |
parent | 2939242967231097459df0fc3150fabc2f639111 (diff) |
generic 1
git-svn-id: svn://tug.org/texlive/trunk@613 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xypic/xyweb.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/xypic/xyweb.tex | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/xypic/xyweb.tex b/Master/texmf-dist/tex/generic/xypic/xyweb.tex new file mode 100644 index 00000000000..d25fd047a3b --- /dev/null +++ b/Master/texmf-dist/tex/generic/xypic/xyweb.tex @@ -0,0 +1,95 @@ +%% xyweb.tex from $Id: xyweb.doc,v 3.3 1996/12/18 09:52:11 ross Exp $ +%% +%% Xy-pic ``Lattice and web'' feature. +%% Copyright (c) 1994-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{web}{Lattice and web feature}{\stripRCS$Revision: 3.3 $}% + {Ross Moore}{ross@mpce.mq.edu.au}% + {Mathematics Department, Macquarie University, NSW~2109, Australia} +\message{lattices,} +\xynew@{count}\lattice@A +\xynew@{count}\lattice@B +\xydef@\latticeA{\lattice@A} +\xydef@\latticeB{\lattice@B} +\xydef@\xylattice#1#2#3#4{\xy@{LATTICE}{\xylattice@{#1}{#2}{#3}{#4}}}% +\xydef@\xylattice@#1#2#3#4{% + \lattice@A=#1\relax + \loop \bgroup\lattice@B=#3\relax + \innerlatticeloop@{#4}% + \edef\tmp@{\egroup + \X@min=\the\X@min \X@max=\the\X@max + \Y@min=\the\Y@min \Y@max=\the\Y@max + }\tmp@ \ifnum\lattice@A<#2\relax \advance\lattice@A\@ne + \repeat } +\xydef@\innerlatticeloop@#1{% + \loop \enter@{\cfromthec@}\enter@{\cplusthec@}% + \vfromcartesian@@ \the\lattice@A,\the\lattice@B @% + \edef\latticeX{\expandafter\removePT@\the\X@c}% + \edef\latticeY{\expandafter\removePT@\the\Y@c}% + \leave@ \latticebody \leave@ + \ifnum\lattice@B<#1\relax \advance\lattice@B\@ne + \repeat } +\xydef@\croplattice#1#2#3#4#5#6#7#8{\xy@{LATTICE}% + {\xycroplattice@{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}}% +\xydef@\xycroplattice@#1#2#3#4#5#6#7#8{% + \enter@{\X@min=\the\X@min \X@max=\the\X@max + \Y@min=\the\Y@min \Y@max=\the\Y@max}% + \enter@{\cfromthec@}\enter@{\cplusthec@}% + \vfromcartesian@@ #5,0 @\leave@ \X@min=\X@c \leave@ + \enter@{\cfromthec@}\enter@{\cplusthec@}% + \vfromcartesian@@ #6,0 @\leave@ \X@max=\X@c \leave@ + \enter@{\cfromthec@}\enter@{\cplusthec@}% + \vfromcartesian@@ 0,#7 @\leave@ \Y@min=\Y@c \leave@ + \enter@{\cfromthec@}\enter@{\cplusthec@}% + \vfromcartesian@@ 0,#8 @\leave@ \Y@max=\Y@c \leave@ + \lattice@A=#1\relax + \loop + \bgroup\lattice@B=#3\relax + \enter@{\cfromthec@}\innercroplatticeloop@{#4}\leave@ + \egroup + \ifnum\lattice@A<#2\relax \advance\lattice@A\@ne + \repeat \mergecropextents@ } +\xydef@\innercroplatticeloop@#1{% + \loop + \enter@{\cfromthec@}\enter@{\cplusthec@}% + \vfromcartesian@@ \the\lattice@A,\the\lattice@B @% + \edef\latticeX{\expandafter\removePT@\the\X@c}% + \edef\latticeY{\expandafter\removePT@\the\Y@c}% + \leave@ \DN@{\latticebody}% + \ifdim\X@c<\X@min\DN@{}% + \else\ifdim\X@c>\X@max\DN@{}% + \else\ifdim\Y@c<\Y@min\DN@{}% + \else\ifdim\Y@c>\Y@max\DN@{}% + \fi\fi\fi\fi \next@ \leave@ + \ifnum\lattice@B<#1\relax \advance\lattice@B\@ne + \repeat } +\xydef@\mergecropextents@{% + \edef\tmp@{% + \noexpand\ifdim\X@min>\the\X@min \X@min=\the\X@min\noexpand\fi + \noexpand\ifdim\X@max<\the\X@max \X@max=\the\X@max\noexpand\fi + \noexpand\ifdim\Y@min>\the\Y@min \Y@min=\the\Y@min\noexpand\fi + \noexpand\ifdim\Y@max<\the\Y@max \Y@max=\the\Y@max\noexpand\fi}% + \leave@ \tmp@ } +\xydef@\deflatticebody@{\def\latticebody{\drop{\bullet}}} +\xydef@\defaultlatticebody{\deflatticebody@} +\deflatticebody@ +\xyendinput |