summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/xypic/xyweb.doc
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/generic/xypic/xyweb.doc')
-rw-r--r--Master/texmf-dist/source/generic/xypic/xyweb.doc326
1 files changed, 0 insertions, 326 deletions
diff --git a/Master/texmf-dist/source/generic/xypic/xyweb.doc b/Master/texmf-dist/source/generic/xypic/xyweb.doc
deleted file mode 100644
index 06b77d7e310..00000000000
--- a/Master/texmf-dist/source/generic/xypic/xyweb.doc
+++ /dev/null
@@ -1,326 +0,0 @@
-%% $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}
-
-\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\noindent
- This feature provides macros to facilitate typesetting of arrangements
- of points within a 2-dimensional lattice or ``web-like'' structure.
-
-\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\paragraph*{Header:}\leavevmode
-\DOCHEADER
-\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\DOCMODE(
-\message{lattices,}
-\DOCMODE)
-
-\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-We need two counters and macros to access their values.
-
-\DOCMODE(
-\xynew@{count}\lattice@A
-\xynew@{count}\lattice@B
-\xydef@\latticeA{\lattice@A}
-\xydef@\latticeB{\lattice@B}
-\DOCMODE)
-
-\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%\subsection{Lattices}
-%\noindent
-Currently the only routines implemented with this feature are some ``quick
-and dirty'' macros for dropping objects at the points of an integer lattice.
-\TODO: More sophisticated routines will be developed for later versions of
-\Xy-pic, as the need arises.
-
-Mathematically speaking, let $\vec u$ and $\vec v$ be vectors pointing in
-independent directions within the plane. Then the lattice spanned by
-$\vec u$ and $\vec v$ is the infinite set of points $L$ given by:
-$$
-L\;=\; \bigl\{ a\,\vec u + b\,\vec v\;;\;
-\mbox{ for $a$, $b$ integers} \bigr\}\,.
-$$
-Within \Xy-pic the vectors $\vec u$ and $\vec v$ can be established
-as the current coordinate basis vectors.
-The following macros typeset a finite subset of an abstract lattice.
-%
-\begin{defs}
-|\xylattice#1#2#3#4| & points in lattice\cr
-|\croplattice#1#2#3#4#5#6#7#8|\kern-44pt&\cr
- &\dots in specific rectangle.\cr
-\end{defs}
-%
-\noindent
-The parameters |#1| \dots |#4| are to be integers
-$a_{\min}$, $a_{\max}$, $b_{\min}$ and $b_{\max}$,
-so that the portion of the lattice to be typeset
-is that collection of vectors in $L$ for which
-$a_{\min} \le a \le a_{\max}$ and $b_{\min} \le b \le b_{\max}$.
-%
-\begin{code}
-\def\latticebody{%
-\ifnum\latticeA=1 \ifnum\latticeB=-1 %
-\else\drop{\circ}\fi\else\drop{\circ}\fi}
-\xy *\xybox{0;<1.5pc,1mm>:<1mm,1.5pc>::
-,0,{\xylattice{-4}4{-3}3}
- ,(1,-1)="a"*{\bullet}*+<2pt>!UL{a}
- ,(-1,1)."a"*\frm{.}}="L"
-,{"L"+L \ar "L"+R*+!L{s^{(1)}}}
-,{"L"+D \ar "L"+U*+!D{s^{(2)}}}
-\endxy
-\end{code}
-$$\docode$$
-\displaycode
-
-In the above code, notice how the basis is first established then the
-|\xylattice| typeset. Doing this within an |\xybox| allows axes
-to be sized and placed appropriately.
-Since lattice points are determined by their (integer) coordinate
-displacements, they can be revisited to add extra <object>s into
-the overall picture. More generally, the origin for lattice-coordinates
-is the current <pos> $c$, when the |\xylattice| command is encountered.
-Easy accessibility is maintained, as seen in the next example.
-
-\medskip
-
-When the basis vectors $\vec u$ and $\vec v$ are not perpendicular
-the collection of points with $a,b$ in these ranges will fill out
-a skew parallelogram. Generally it is useful to plot only those points
-lying within a fixed rectangle.
-This is the purpose of |\croplattice|, with its extra parameters
-|#5| \dots |#8| determining the `cropping' rectangle within which
-lattice points will be typeset. Other points will not be typeset
-even when $a$ and $b$ are within the specified ranges.
-Explicitly the horizontal range of the cropping rectangle is $X_{\min}$
-to $X_{\max}$, with $X_{\min}$ being the $X$-coordinate of the vector
-$|#5|\times\vec u$, where |#5| is a <number> (not necessarily an integer).
-Similarly $X_{\max}$ is the $X$-coordinate of $|#6|\times\vec u$.
-The vertical extents are $Y_{\min}$ and $Y_{\max}$, given by the
-$Y$-coordinates of $|#7|\times\vec v$ and $|#8|\times\vec v$ respectively.
-%
-\begin{code}
-\def\latticebody{%
-\ifnum\latticeA=1 \ifnum\latticeB=-1 %
-\else \drop{\circ}\fi\else
-\ifnum\latticeA=0 \ifnum\latticeB=1\else
-\drop{\circ}\fi\else\drop{\circ}\fi\fi}
-\xy +(2,2)="o",0*\xybox{%
- 0;<3pc,1.5mm>:<0.72pc,1.65pc>::,{"o"
- \croplattice{-4}4{-4}4{-2.6}{2.6}{-3}3}
- ,"o"+(0,1)="a"*{\bullet}*+!D{\alpha}
- ,"o"+(1,-1)="b"*{\bullet}*+!L{\beta}
- ,"o"+(0,-1)="c","o"+(-1,1)="d"
- ,"a"."c"="e",!DR*{};"a"**\dir{.}
- ,"e",!UL*{};"c"**\dir{.}
- ,"b"."d"="f",!DL*{};"b"**\dir{.}
- ,"f",!UR*{};"d"**\dir{.}
- ,"e"."f"*\frm{.}}="L","o"."L"="L"
- ,{"L"+L \ar "L"+R*+!L{s^{(1)}}}
- ,{"L"+D \ar "L"+U*+!D{s^{(2)}}}
-\endxy
-\end{code}
-$$\docode$$
-\displaycode
-
-\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-The routines |\xylattice| and |\croplattice| simply cycle through the
-allowable range of values for |\lattice@A| and |\lattice@B|,
-with |\lattice@B| varying within the inner loop.
-
-\DOCMODE(
-\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 }
-\DOCMODE)
-
-With |\xylattice| getting the picture size correct is simply
-a matter of passing |\X@min|, |X@max|, etc. outside of the inner group.
-However with |\croplattice| these are first set to correspond to the
-`cropping rectangle' then subsequently merged with their original
-values.
-
-\DOCMODE(
-\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@ }
-\DOCMODE)
-
-\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\paragraph*{The |\latticebody| macro.}
-At each lattice point within the specified range for $a,b$ (and within
-the cropping rectangle when |\croplattice| is used), a macro called
-|\latticebody| is expanded. This is meant to be user-definable,
-so as to be able to adapt to any specific requirement.
-It has a default expansion given by \dots
-$$
-|\def\latticebody{\drop{\bullet}}|\,.
-$$
-The following macros may be useful when specifying what to do at each
-point of the lattice.
-%
-\begin{defs}
-|\latticebody| & expanded at lattice points \cr
-|\defaultlatticebody|\kern-20pt & \kern20pt resets to default \cr
-|\latticeA| & $a$-value of lattice point\cr
-|\latticeB| & $b$-value of lattice point\cr
-|\latticeX| & $X$-coord, offset in |pt|s\dots\cr
-|\latticeY| & $Y$-coord, \dots from lattice origin.\cr
-\end{defs}
-As in the examples presented above, the object dropped at the lattice
-point can be varied according to its location, or omitted altogether.
-
-\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-The default |\latticebody| macro \dots
-
-\DOCMODE(
-\xydef@\deflatticebody@{\def\latticebody{\drop{\bullet}}}
-\xydef@\defaultlatticebody{\deflatticebody@}
-\deflatticebody@
-\DOCMODE)
-
-\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-In the final example the |\latticebody| macro
-performs a calculation to decide which lattice points
-should be emphasised:
-%
-\begin{code}
-\def\latticebody{\dimen0=\latticeX pt
- \ifdim\dimen0>0pt \divide\dimen0 by 64
- \dimen0=\latticeY\dimen0 \relax
- \ifdim 0pt>\dimen0 \dimen0=-\dimen0 \fi
- \ifdim 10pt>\dimen0 \drop{\bullet}%
- \else\drop{.}\fi \else\drop{.}\fi}
-\xy*\xybox{0;<3pc,2.57mm>:<.83pc,2.25pc>::
-,0,{\croplattice{-3}5{-5}5
- {-1.3}{4.5}{-3.4}{4.4}}}="L"
-,{"L"+L \ar "L"+!R*+!L{\sigma^{(1)}}}
-,{"L"+D \ar "L"+!U*+!D{\sigma^{(2)}}}
-\endxy
-\end{code}
-%\displaycode
-$$\docode$$
-\displaycode
-
-\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\paragraph*{The end \& Log}\leavevmode
-
-DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\DOCMODE(
-\xyendinput
-
-% $Log: xyweb.doc,v $
-% Revision 3.3 1996/12/18 09:52:11 ross
-% no changes
-%
-% 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/05 10:36:22 ross
-% Ready for v3 release?
-%
-% NEW for version 3.
-\DOCMODE)
-
-\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Tell Emacs that this is a LaTeX document and how it is formatted:
-% Local Variables:
-% mode:latex
-% fill-column:77
-% End: