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/xyv2.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/xyv2.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/xypic/xyv2.tex | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/xypic/xyv2.tex b/Master/texmf-dist/tex/generic/xypic/xyv2.tex new file mode 100644 index 00000000000..f69b9d065bc --- /dev/null +++ b/Master/texmf-dist/tex/generic/xypic/xyv2.tex @@ -0,0 +1,279 @@ +%% xyv2.tex from $Id: xyv2.doc,v 3.4 1997/05/18 01:14:25 krisrose Exp $ +%% +%% Xy-pic ``Version 2 compatibility'' feature. +%% Copyright (c) 1993-1995 Kristoffer H. Rose <kris@diku.dk> +%% +%% 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-1995 Kristoffer H. Rose <kris@diku.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{v2}{Version 2 Compatibility}{\stripRCS$Revision: 3.4 $}% + {Kristoffer H.~Rose}{krisrose@brics.dk}% + {BRICS/Computer Science, University of Aarhus, Ny Munkegade, building 540, + DK--8000 Aarhus~C} +\xylet@\XY=\Xy +\ifx\redefine\undefined \let\redefine=\def \fi +\ifx\define\undefined \let\define=\xydef@ \fi +\ifx\dsize\undefined \let\dsize=\displaystyle \fi +\ifx\tsize\undefined \let\dsize=\textstyle \fi +\ifx\ssize\undefined \let\ssize=\scriptstyle \fi +\ifx\sssize\undefined \let\sssize=\scriptscriptstyle \fi +\ifx\text\undefined + \def\text{\relax\textC}% + \xydef@\textC#1{\relax + \ifmmode\mathchoice + {\hbox{\the\textfont0\relax#1}}% + {\hbox{\the\textfont0\relax#1}}% + {\hbox{\the\scriptfont0\relax#1}}% + {\hbox{\the\scriptscriptfont0\relax#1}}% + \else{\relax#1}\fi} +\fi +\xydef@\Text{\relax\xyFN@\Text@} +\xydef@\TextC{\relax\textC}% +\xydef@\Text@{% + \addLT@\ifx\next \addGT@{\addLT@\DN@##1}{\A@=##1\Text@i}% + \else \DN@{\A@=\maxdimen \Text@i}\fi \next@} +\xydef@\Text@i#1{% + \ifmmode \mathchoice + {\expandafter\Text@ii\the\textfont0{#1}}% + {\expandafter\Text@ii\the\textfont0{#1}}% + {\expandafter\Text@ii\the\scriptfont0{#1}}% + {\expandafter\Text@ii\the\scriptscriptfont0{#1}}% + \else + \leavevmode \expandafter\Text@ii\the\textfont0{#1}% + \fi\ignorespaces} +\xydef@\Text@ii{\hbox\bgroup \txt@i} +\xylet@\cL=\L@c +\xylet@\cR=\R@c +\xylet@\cD=\D@c +\xylet@\cH=\U@c +\xylet@\Xc=\X@c +\xylet@\Yc=\Y@c +\xylet@\Uc=\U@c +\xylet@\Dc=\D@c +\xylet@\Lc=\L@c +\xylet@\Rc=\R@c +\xylet@\Xp=\X@p +\xylet@\Yp=\Y@p +\xylet@\Up=\U@p +\xylet@\Dp=\D@p +\xylet@\Lp=\L@p +\xylet@\Rp=\R@p +\xylet@\dX=\d@X +\xylet@\dY=\d@Y +\xylet@\Xorigin=\X@origin +\xylet@\Yorigin=\Y@origin +\xylet@\Xxbase =\X@xbase +\xylet@\Yxbase =\Y@xbase +\xylet@\Xybase =\X@ybase +\xylet@\Yybase =\Y@ybase +\xylet@\Xmin=\X@min +\xylet@\Ymin=\Y@min +\xylet@\Xmax=\X@max +\xylet@\Ymax=\Y@max +\xydef@\go{\aftergo{}} +\xydef@\aftergo#1{\xy@\aftergo{\enter@\pfromthec@}\afterPOS{\xy@@\leave@#1}} +\xydef@\merge{\POS.p\relax} +\xydef@\swap{\xy@\swap\swap@} +\xydef@\Drop{\expandafter\drop\entrymodifiers@} +\xydef@\none{\xy@\none{}\ignorespaces} +\xydef@\solid{\connect h\dir{-}} +\xydef@\Solid{\connect h\dir2{-}} +\xydef@\Ssolid{\connect h\dir3{-}} +\xydef@\dashed{\connect h\dir{--}} +\xydef@\Dashed{\connect h\dir2{--}} +\xydef@\Ddashed{\connect h\dir3{--}} +\xydef@\dotted{\connect h\dir{.}} +\xydef@\Dotted{\connect h\dir2{.}} +\xydef@\Ddotted{\connect h\dir3{.}} +\xydef@\dottedwith#1{\connect h{#1}} +\xydef@\notip{\dir{}} +\xydef@\stop{\dir{|}} +\xydef@\astop{\dir^{|}} +\xydef@\bstop{\dir_{|}} +\xydef@\tip{\dir{>}} +\xydef@\atip{\dir^{>}} +\xydef@\btip{\dir_{>}} +\xydef@\Tip{\dir2{>}} +\xywarnifdefined\aTip +\xywarnifdefined\bTip +{\xyuncatcodes + \gdef\aTip{\object=<5pt>:(32,-1)\dir^{>}} + \gdef\bTip{\object=<5pt>:(32,+1)\dir_{>}}} +\xydef@\Ttip{\dir3{>}} +\xydef@\ahook{\dir^{(}} +\xydef@\bhook{\dir_{(}} +\xydef@\aturn{\dir^{'}} +\xydef@\bturn{\dir_{'}} +\xydef@\rotate{\hbox\bgroup + \DN@{\ifx (\next + \DN@(####1){\rotate@ii{####1}}% + \else \DN@{\rotate@i}\fi\next@}\xyFN@\next@} +\xydef@\rotate@i#1{\reverseDirection@ #1\OBJECT@x} +\xydef@\rotate@ii#1#2{\dimen@=#1\p@ + \ifdim \dimen@=-\p@ \aboveDirection@\xydashl@ + \else\ifdim\dimen@= \p@ \belowDirection@\xydashl@ + \else\ifdim\dimen@<-1.5\p@ \advance\dimen@-2\p@ + \edef\next@{\expandafter\removePT@\the\dimen@}\vDirection@(-1,\next@){1pc}% + \else\ifdim\dimen@<-.5\p@ \vDirection@(#1,-1){1pc}% + \else\ifdim\dimen@< .5\p@ \vDirection@( 1,#1){1pc}% + \else\ifdim\dimen@<1.5\p@ \vDirection@(#1, 1){1pc}% + \else \dimen@=-\dimen@ \advance\dimen@2\p@ + \edef\next@{\expandafter\removePT@\the\dimen@}\vDirection@(-1,\next@){1pc}% + \fi\fi\fi\fi\fi\fi + #2\OBJECT@x} +\xydef@\squash#1{% + \ifmmode\setboxz@h{\m@th${\mathstrut}#1{\mathstrut}$}\else\setboxz@h{#1}\fi + \setboxz@h{\kern-.5\wdz@ \dimen@=.5\ht\z@ \advance\dimen@-.5\dp\z@ + \lower\dimen@\boxz@}% + \wdz@=\z@ \ht\z@=\z@ \dp\z@=\z@ \boxz@} +\xydef@\grow{% + \DN@{\ifx <\next \DN@<####1>{\dimen@=####1\grow@\empty}% + \else \DN@{\dimen@=2\p@ \grow@\empty}\fi\next@}\xyFN@\next@} +\xydef@\grow@#1#{\grow@@{#1}} +\xydef@\grow@@#1#2{\relax + \ifmmode \setboxz@h{\kern\dimen@ \m@th$#2$\kern\dimen@}% + \else \setboxz@h{\kern\dimen@ {#2}\kern\dimen@}\fi + \dimen@ii=\ht\z@ \advance\dimen@ii\dimen@ \ht\z@=\dimen@ii + \dimen@ii=\dp\z@ \advance\dimen@ii\dimen@ \dp\z@=\dimen@ii \boxz@} +\xydef@\squarify{\addEQ@{\addPLUS@\object}} +\xydef@\qc{\corn@@} +\xyrequire{frame}\xycatcodes +\xydef@\framed{\relax\convertframed{-}} +\xydef@\Framed{\relax\convertframed{=}} +\xydef@\circled{\relax\convertframed{o}} +\xydef@\Circled{\relax\convertframed{oo}} +\xydef@\convertframed#1{\DNii@##1@{\drop\frm##1{#1}}\xyFN@\convertframed@i} +\xydef@\convertframed@i{% + \addLT@\ifx \next + \addGT@{\addLT@\DN@##1}{\addGT@{\addLT@{\nextii@}##1}@}% + \else \DN@{\nextii@ @}\fi \next@} +\xydef@\dotframed{\relax\drop\frm{.}} +\xydef@\dashframed{\relax\drop\frm{--}} +\xydef@\rounddashframed{\relax\drop\frm{o-}} +\xydef@\filled{\DN@{% + \addLT@\ifx \next + \addGT@{\addLT@\DN@####1}{\xy@@{\frame@fill@@{####1}}}% + \else \DN@{\xy@@{\frame@fill@@\z@}}% + \fi\next@}\xyFN@\next@} +\xydef@\Filled{\DN@{% + \addLT@\ifx \next + \addGT@{\addLT@\DN@####1}{\xy@@{\frame@emph@@{####1}}}% + \else \DN@{\xy@@{\frame@emph@@\z@}}% + \fi\next@}\xyFN@\next@} +\xyrequire{matrix}\xycatcodes +\xydef@\diagram#1\enddiagram{\relax\diagram@\diagram@@{#1}} +\xydef@\diagram@{\relax + \ifmmode \DN@##1##2{\vcenter{\oldxymatrix@true \xy##1{\xymatrix{##2}}\endxy}}% + \else\DN@##1##2{{\oldxymatrix@true \xy/u.8ex/##1{\xymatrix{##2}}\endxy}}% + \fi \next@} +\xydef@\LaTeXdiagrams{\def\diagram{\ltxdiagram@\diagram@@}% + \def\diagramnocompile{\ltxdiagram@\literal@}% + \def\diagramcompileto##1{\ltxdiagram@{\NoCompileMatrices\xycompileto{##1}}}} +\xydef@\ltxdiagram@#1#2\end#3{\relax + \DN@{#3}\DNii@{diagram}\ifx\next@\nextii@\diagram@{#1}{#2}\end{diagram}% + \else\xyerr@{Put \string{\string} around \string\begin...\string\end\space + within diagrams}\fi} +\xylet@\diagram@@=\literal@ +\xydef@\NoisyDiagrams{} +\xydef@\spreaddiagramrows#1{\addPLUS@\xymatrixrowsep{#1}} +\xydef@\spreaddiagramcolumns#1{\addPLUS@\xymatrixcolsep{#1}} +\xyrequire{arrow}\xycatcodes +\xylet@\arrow=\ar +{\xyuncatcodes + \gdef\morPHISM#1#2#3{\PATH~={\oldconnect{#1}}~<{|<*{#3}}~>{|>*{#2}}}} +\xydef@\morphism{\relax\morPHISM} +\xylet@\connect@iii=\connect +\xydef@\oldconnect#1{% + \let\PATHlabelabove@@=\PATHlabelabove@ + \let\PATHlabelbelow@@=\PATHlabelbelow@ + \let\connect=\preconnect#1\let\connect=\connect@iii} +\xydef@\definemorphism#1#2#3#4{% + \xydefcsname@{x#1}{\morphism{#2}{#3}{#4}}% + \xydefcsname@{u#1}{\morphism{#2}{#3}{#4}[u]}% + \xydefcsname@{d#1}{\morphism{#2}{#3}{#4}[d]}% + \xydefcsname@{l#1}{\morphism{#2}{#3}{#4}[l]}% + \xydefcsname@{r#1}{\morphism{#2}{#3}{#4}[r]}% + \xydefcsname@{uu#1}{\morphism{#2}{#3}{#4}[uu]}% + \xydefcsname@{dd#1}{\morphism{#2}{#3}{#4}[dd]}% + \xydefcsname@{ll#1}{\morphism{#2}{#3}{#4}[ll]}% + \xydefcsname@{rr#1}{\morphism{#2}{#3}{#4}[rr]}% + \xydefcsname@{ur#1}{\morphism{#2}{#3}{#4}[ur]}% + \xydefcsname@{ul#1}{\morphism{#2}{#3}{#4}[ul]}% + \xydefcsname@{dr#1}{\morphism{#2}{#3}{#4}[dr]}% + \xydefcsname@{dl#1}{\morphism{#2}{#3}{#4}[dl]}% + \xydefcsname@{uul#1}{\morphism{#2}{#3}{#4}[uul]}% + \xydefcsname@{uur#1}{\morphism{#2}{#3}{#4}[uur]}% + \xydefcsname@{ull#1}{\morphism{#2}{#3}{#4}[ull]}% + \xydefcsname@{urr#1}{\morphism{#2}{#3}{#4}[urr]}% + \xydefcsname@{ddl#1}{\morphism{#2}{#3}{#4}[ddl]}% + \xydefcsname@{ddr#1}{\morphism{#2}{#3}{#4}[ddr]}% + \xydefcsname@{dll#1}{\morphism{#2}{#3}{#4}[dll]}% + \xydefcsname@{drr#1}{\morphism{#2}{#3}{#4}[drr]}% + \xydefcsname@{uull#1}{\morphism{#2}{#3}{#4}[uull]}% + \xydefcsname@{uurr#1}{\morphism{#2}{#3}{#4}[uurr]}% + \xydefcsname@{ddll#1}{\morphism{#2}{#3}{#4}[ddll]}% + \xydefcsname@{ddrr#1}{\morphism{#2}{#3}{#4}[ddrr]}} +\definemorphism{to}\solid\tip\notip +\definemorphism{line}\solid\notip\notip +\definemorphism{dashed}\dashed\notip\notip +\definemorphism{dotted}\dotted\notip\notip +\definemorphism{double}\Solid\notip\notip +\xywarnifdefined\xyviitoi +\xywarnifdefined\xyviitoii +\xydef@\XXtoY@#1#2#3#4#5{\save;[#3]\relax + \xy@@{% + \dimen@=\turnradius@ \ifdim#1<#2\relax \dimen@ii=#2\else\dimen@ii=#1\fi + \advance\dimen@\ifdim\dimen@>\dimen@ii +\dimen@\else +\dimen@ii\fi + \edef\xyviitoi{\the\dimen@}\leave@}% + \xto ~{[#3]} `#4[#3]#5/#4\xyviitoi/ `[#3]} +\xydef@\toXY@#1#2#3#4#5{\xy@@{\idfromc@{@}% + \dimen@=\turnradius@ \dimen@ii=#1\relax + \advance\dimen@\ifdim\dimen@>\dimen@ii +\dimen@\else +\dimen@ii\fi + \edef\xyviitoi{\the\dimen@}% + \dimen@=\turnradius@ \dimen@ii=#2\relax + \advance\dimen@\ifdim\dimen@>\dimen@ii +\dimen@\else +\dimen@ii\fi + \edef\xyviitoii{\the\dimen@}}% + \morphism\solid{\object #4:(-1,0)\dir{>}}\notip + ~{`"@" "@"} `#3"@"#5/#3\xyviitoi/#5/#4\p@/ `"@"#5/#4\xyviitoii/} +\xyuncatcodes \catcode64=11 +\xydef@\lltod{\XXtoY@\D@c\D@p{ll}{d}+} +\xydef@\lltou{\XXtoY@\U@c\U@p{ll}{u}+} +\xydef@\rrtod{\XXtoY@\D@c\D@p{rr}{d}+} +\xydef@\rrtou{\XXtoY@\U@c\U@p{rr}{u}+} +\xydef@\ddtol{\XXtoY@\L@c\L@p{dd}{l}+} +\xydef@\ddtor{\XXtoY@\R@c\R@p{dd}{r}+} +\xydef@\uutol{\XXtoY@\L@c\L@p{uu}{l}+} +\xydef@\uutor{\XXtoY@\R@c\R@p{uu}{r}+} +\xydef@\told{\toXY@\L@c\D@c{l}{d}+} +\xydef@\tolu{\toXY@\L@c\U@c{l}{u}+} +\xydef@\tord{\toXY@\R@c\D@c{r}{d}+} +\xydef@\toru{\toXY@\R@c\U@c{r}{u}+} +\xydef@\todl{\toXY@\D@c\L@c{d}{l}+} +\xydef@\todr{\toXY@\D@c\R@c{d}{r}+} +\xydef@\toul{\toXY@\U@c\L@c{u}{l}+} +\xydef@\tour{\toXY@\U@c\R@c{u}{r}+} +\xycatcodes +\xydef@\TurnRadius{\addEQ@\turnradius} +\xydef@\diagramcompileto#1#2\enddiagram{\relax + \diagram@{\NoCompileMatrices\xycompileto{#1}}{#2}} +\xydef@\diagramnocompile#1\enddiagram{\relax\diagram@\literal@{#1}} +\xydef@\CompileAllDiagrams#1{\CompilePrefix{#1}\CompileMatrices} +\xydef@\NoCompileAllDiagrams{\NoCompileMatrices} +\xydef@\ReCompileAllDiagrams{\CompileMatrices} +\xyendinput |