diff options
Diffstat (limited to 'Master/tlpkg/dviout/HYPERTEX/input9.tex')
-rw-r--r-- | Master/tlpkg/dviout/HYPERTEX/input9.tex | 3567 |
1 files changed, 3567 insertions, 0 deletions
diff --git a/Master/tlpkg/dviout/HYPERTEX/input9.tex b/Master/tlpkg/dviout/HYPERTEX/input9.tex new file mode 100644 index 00000000000..0db6efe6057 --- /dev/null +++ b/Master/tlpkg/dviout/HYPERTEX/input9.tex @@ -0,0 +1,3567 @@ +\documentclass[12pt]{jarticle} +%%% +\def\pdf{TF} % TT (pdf for dvipdfmx) <-> TF (dvi for dviout) +%%% +\usepackage{myhyper,amsmath,amssymb,amsfonts,amscd,alltt} +\if\pdf +\usepackage[nokeyin]{keyin} +\else +\usepackage{keyin} +\fi +\usepackage[dviout]{graphicx,color} +\AtBeginDvi{\special{dviout -hyper=144 -hyperoff=0 v0}} +% -hyper=144 : Blue letters without underline (hot spot) +% -hyperoff=0: HyperTeX is valid +% v0 : Minimal bars +% v0vs : Minimal bars + Status bar +% !3 : Copy to Editor without CTRL +\if\pdf +\AtBeginDvi{\special{papersize=5.5in,8in}} +\hoffset=-1.03cm +\voffset=-3.18cm +\paperwidth=5.6in +\paperheight=8in +\else +\AtBeginDvi{\special{papersize=4.6in,7.07in}} +\hoffset=-2.3cm +\voffset=-4.45cm +\paperwidth=4.6in +\paperheight=7in +\fi +\textwidth=4.4in +\textheight=7.0in +\renewcommand\baselinestretch{0.92} +%\paraindent=0cm +\setlength{\oddsidemargin}{0cm} +\setlength{\parindent}{0cm} +\def\BK{\texttt{\symbol{'134}}} +\def\D#1{\keyin{#1}{#1}} +\def\E#1{\keyin{\string#1}{#1}} +\def\Q#1{\keyin{\string#1}{$#1$}} +\def\R#1{\keyin{\noexpand#1}{$#1$}} +\def\F#1{\special{html:<a href="dviout:`in .5c#1">}\BK#1\special{html:</a>}} +\def\G#1{\special{html:<a href="dviout:`in .5c#1=">}\BK#1\special{html:</a>}} +\def\Goto#1#2{\goto{#1}{\colorbox{green}{\tiny\sf #2}}} +% \def\gotop#1{\makebox[0mm]{\hspace{#1}\Goto{top}{Top}}} +\def\red#1{{\color{red}#1}} +\def\blue#1{{\color{blue}#1}} +\def\green#1{{\color{green}#1}} +\def\RED#1{{\it\color{red}#1}} +\def\MGNT#1{{\it\color{magenta}#1}} +\def\GREEN#1{{\it\color{green}#1}} +\def\ops#1{\{\MGNT{#1}\}} +\def\Ops#1{[\MGNT{#1}]} +\def\opt#1{\{\RED{#1}\}} +\def\Opt#1{[\RED{#1}]} +\def\ST{\hspace{-.1em}\raisebox{-0.25em}*} +%% +\if\pdf +\def\NEXT{\phantom{a}} +\def\BACK{\phantom{a}} +\else +\def\NEXT% +{\special{html:<a href="dviout: Je">}\colorbox{cyan}{\tiny$\Rightarrow$}\special{html:</a>}} +\def\BACK% +{\special{html:<a href="dviout: Jv">}\colorbox{cyan}{\tiny$\Leftarrow$}\special{html:</a>}} +\fi +\def\GOTO#1{ + +\vspace*{-2.7ex} +\hfill{\Goto{#1}{#1}} + +} +%% +\pagestyle{empty} +%%% +\newlength{\minitwocolumn} +\newenvironment{z2col}[1][0pt]% +{\def\kaidan{\end{minipage}% + \hspace{\columnsep}% + \addtolength{\minitwocolumn}{-#1}% + \begin{minipage}[t]{\minitwocolumn}}% + \setlength{\minitwocolumn}{0.48\textwidth}% + \addtolength{\minitwocolumn}{-0.5\columnsep}% + \addtolength{\minitwocolumn}{#1}% + \begin{minipage}[t]{\minitwocolumn}}% +{\end{minipage}} +%%% +\if\pdf +\usepackage[all,ps,dvips]{xy} +\else +\input xy +\xyoption{all} +\fi +\xyoption{poly} +\xyoption{arc} +\xyoption{2cell} +\xyoption{knot} +\xyoption{web} +\UseAllTwocells +%%% +\newenvironment{Alltt}{% +\renewcommand{\\}{\char`\\} +\begin{alltt}% +}{% +\end{alltt} +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\if\pdf +%\def\Goto#1#2{} +%\def\goto#1#2{} +%\def\ToDef#1{} +%\def\ToEx#1{} +%\def\href#1#2{#2} +%\else +\def\ToDef#1{\goto{#1}{\colorbox{magenta}{\tiny\sf Def}}} +\def\ToEx#1{\goto{#1}{\colorbox{magenta}{\tiny\sf Ex}}} +%\fi +\def\La{\,$\leftarrow$\,} +\def\pos{\MGNT{pos}} +\def\Pos{\goto{pos}\pos} +\def\cod{\MGNT{cod}} +\def\Cod{\goto{cod}\cod} +\def\obj{\MGNT{obj}} +\def\Obj{\goto{obj}\obj} +\def\vector{\MGNT{vector}} +\def\Vector{\goto{vector}\vector} +\def\place{\MGNT{place}\/} +\def\Place{\goto{place}\place} +\def\stack{\MGNT{stack}\/} +\def\sav{\MGNT{save}} +\def\FAC{{\it\color{cyan}factor}} +\def\dr{\MGNT{direction}} +\def\dm{{\it\color{cyan}dimen}} +\def\Dm{\goto{dm}\dm} +\def\CIR{{\it\color{magenta}cir}} +\def\Cir{\goto{cir}\CIR} +\def\anchor{\MGNT{anchor}} +\def\Anchor{\goto{anchor}\anchor} +\def\DIR{{\MGNT{dir}}} +\def\Dir{\goto{dir}\DIR} +\def\TEXT{{\it\color{cyan}text}} +\def\ID{{\it\color{cyan}id}} +\def\diag{{\it\color{magenta}diag}} +\def\Diag{\goto{diag}\diag} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{document} +\small +\tolerance=10000 +\name{Top}{} +\name{top}{}% +\if\pdf +\else +\href{file:input.dvi}{\colorbox{green}{\tiny\sf Return}} +\hfill +\fi +\Goto{S17}{Arrows} +\hfill +\Goto{S32}{Frame} +\hfill +\Goto{S41}{Path} +\hfill +\Goto{S11}{Xymatrix} +\hfill +\Goto{S42}{Xygraph} +\hfill +\Goto{S44}{Polygon} +\hfill +\Goto{S45}{Ellipse} +\hfill +\Goto{S47}{Lattice} +\hfill +\Goto{syntax}{Syntax} +\hfill\NEXT + +\if\pdf +\rightline{\href{http://akagi.ms.u-tokyo.ac.jp/inputxy.pdf}{\colorbox{cyan}{\tiny\sf Tutorial (in Japanese)}}} +\else +\rightline{\href{file:inputxy.dvi}{\colorbox{cyan}{\tiny\sf Tutorial (in Japanese)}}} +\fi + +\bigskip +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\Large\bf \Xy-pic} + +\def\SP{\phantom{8}\ } +{\large 1.\quad xymatrix} + +\smallskip +\href{#S11}{1.1.\SP Examples} + +\href{#S12}{1.2.\SP Labels} + +\href{#S13}{1.3.\SP Breaks} + +\href{#S14}{1.4.\SP Curving} + +\href{#S15}{1.5.\SP Explicit label positioning} + +\href{#S16}{1.6.\SP Labeling with any object} + +\href{#S17}{1.7.\SP More arrow styles} + +\href{#S18}{1.8.\SP Sliding arrows sideways} + +\href{#S19}{1.9.\SP More addresses of targets} + +\href{#S110}{1.10. Changing the position of a target} + +\href{#S111}{1.11. Arrows passing under} + +\href{#S112}{1.12. More bending arrows} + +\href{#S113}{1.13. Defining new arrow types} + +\href{#S114}{1.14. Manual entry formatting} + +\href{#S115}{1.15. Extra entries outside the matrix} + +\href{#S116}{1.16. Spacing and rotation} + +\href{#S117}{1.17. Entry style} + +\href{#S118}{1.18. Naming for later use as targets} + +\href{#S119}{1.19. Grouping objects} + +\href{#S120}{1.20. More examples} + +\bigskip +%\centerline +{\large 2.\quad Kernel} + +\smallskip +\href{#S21}{2.1.\SP Positions} + +\href{#S22}{2.2.\SP Stack} + +\href{#S23}{2.3.\SP Objects} + +\href{#S24}{2.4.\SP Decorators} + +\href{#S25}{2.5.\SP Kernel object library} + +\bigskip +%\centerline +{\large 3.\quad Extensions} + +\href{#S31}{3.1.\SP Curve, Circle and Ellipse} + +\href{#S32}{3.2.\SP Frame and Bracket} + +\href{#S33}{3.3.\SP Import Graphics} +%{3.3.\SP Rotate ans Scale} + +\newpage +%\centerline +{\large 4.\quad Features}\hfill\BACK + +\smallskip +\href{#S41}{4.1.\SP Path and Arrow} + +\href{#S42}{4.2.\SP Graph} + +\href{#S43}{4.3.\SP Matrix} + +\href{#S44}{4.4.\SP Polygon} + +\href{#S45}{4.5.\SP Circle, Ellipse and Arc} + +\href{#S46}{4.6.\SP Two-cell} + +\href{#S47}{4.7.\SP Lattice and web} + +\href{#S48}{4.8.\SP Knots and Links} + +{4.9.\SP Other options} + +\bigskip +%\hfill +{\large \href{#syntax}{5.\quad Basic syntax of \Xy-pic}} +%\hfill\phantom{.} + +\bigskip + +\bigskip +\centerline{\large Some informations through internet} +\href{http://www.tug.org/applications/Xy-pic/}{\Xy-pic home page}\\ +\href{http://www.cl.cam.ac.uk/TeXdoc/xypic/xyguide-html/}% +{\Xy-pic user's guide}\\ +\href{http://www.dpmms.cam.ac.uk/~al366/xytutorial.html}% +{\Xy-pic tutorial with an archive of examples}\\ +\href{http://lf.starlogik.de/XYPic-Knot-Intro/index.html}% +{An introductory tutorial on drawing knots in XY-pic}\\ +\\ +\href{ftp://akagi.ms.u-tokyo.ac.jp/pub/TeX/macros/xypic.zip}% +{xypic.zip} \ \ Package of \Xy-pic(Ver.3.7)\\ +\qquad\qquad\quad should be expanded where {\tt.\BK texmf} exists.\\ +\qquad\qquad\quad This contains the followng first two references +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\bigskip +\centerline{\large References} +Kristoffer H.~Rose, {\sl \Xy-pic user's guide}, 1999. \\ + +Kristoffer H.~Rose and Ross R.~Moore, {\sl \Xy-pic reference manual}, +1999.\\ + +Michel Goosens, Sebastian Rahtz, Franklin Mittebach, {\sl The {\LaTeX} Graphic Companion}, 1997.\\ + +\if\pdf +\href{http://akagi.ms.u-tokyo.ac.jp/inputxy.pdf}{\colorbox{cyan}{\sf Tutorial (in Japanese)}} +\else +\href{file:inputxy.dvi}{\colorbox{cyan}{\sf Tutorial (in Japanese)}} +\fi +\newpage +%%% Xy-pic %%% +\centerline{\Large{\tt Xy-pic} {\tt\BK xymatrix}} +\GOTO{Top} +\keyin{\input xy}{\texttt{\BK input xy}} +\keyin{\xyoption{all}}{\texttt{\BK xyoption\{all\}}} +\def\D{{\bullet}} + +\smallskip +\begin{z2col}[-.5cm] +\begin{Alltt} +\\xymatrix\{ + \RED{entry} & \RED{entry} & \(\cdots\) \\\\ + \RED{entry} & \RED{entry} & \(\cdots\) \\\\ + \(\cdots\)\} +\end{Alltt} + +\kaidan + +\RED{entry}:\MGNT{modifier}~{\it object}~\GREEN{decoration} +\end{z2col} +\centerline{\name{S11}{\textbf{\large 1.1. Examples}}} +%\GOTO{Top} + +\smallskip +\begin{z2col}[1.15cm] +\begin{Alltt} +\\xymatrix\{ + A &\textcolor{magenta}{*+[F]}\{\\sum_\{k=m\}^n a_k\} \\\\ + & \{\\bullet\} & D \textcolor{green}{\\ar[ul]} \} +\end{Alltt} + +\kaidan + +\xymatrix{ + A &*+[F]{\sum_{k=m}^n a_k} \\ + & \D & D \ar[ul] } +\end{z2col} + +\vspace*{-5ex} +\begin{Alltt} +\\xymatrix\{ + U \textcolor{green}{\\ar@/_/[ddr]_y \\ar@/^/[drr]^x + \\ar@\{.>\}[dr]|\{(x,y)\}} \\\\ + & X \\times_Z Y \textcolor{green}{\\ar[d]^q \\ar[r]_p} & X \textcolor{green}{\\ar[d]_f} \\\\ + & Y \textcolor{green}{\\ar[r]^g} & Z \} +\end{Alltt} + +\vspace*{-2ex} +\begin{z2col}[1cm] +\texttt{\color{magenta} *} draw object\\ +\quad with \texttt{\color{magenta}+} room and \texttt{\color{magenta}{[F]}} frame + +\smallskip +\texttt{\color{green}\BK ar} draw an arrow from +\texttt{\color{magenta}c}urrent\\ +\quad position to \texttt{\textcolor{green}{[}\textcolor{magenta}{\it hop}\textcolor{green}{]}} with options:\\ +\textcolor{magenta}{\tt\it hop}: \textcolor{red}{\tt l}eft \textcolor{red}{\tt r}ight \textcolor{red}{\tt u}p \textcolor{red}{\tt d}own\\ +\quad\texttt{\color{green}{[ddr]}}: 2 down $+$ 1 right + +\smallskip +{\color{green}\verb|@/_/|}: curve right\quad +{\color{green}\verb|@/~/|}: curve left + +\smallskip +{\color{green}[}{\color{magenta}{\it hop}}{\color{green}\verb|]_|}{\color{magenta}\{{\it it}\}}:~put~{\it \color{magenta}it}\/em~on~the~right~(down)~side\hspace*{-3cm}\phantom{.}\\ +{\color{green}[}{\color{magenta}{\it hop}}{\color{green}\verb|]^|}{\color{magenta}\{{\it it}\}}: put {\it \color{magenta}it}\/em on the left (up) side\hspace*{-2cm}\phantom{.} +\kaidan + +\xymatrix{ + U \ar@/_/[ddr]_y \ar@/^/[drr]^x + \ar@{.>}[dr]|{(x,y)} \\ + & X \times_Z Y \ar[d]^q \ar[r]_p & X \ar[d]_f \\ + & Y \ar[r]^g & Z } +\end{z2col} + +{\color{green}[}{\color{magenta}{\it hop}}{\color{green}\verb=]|=}{\color{magenta}\{{\it it}\}}: put {\it \color{magenta}it}\/em in the middle with a hole + +\smallskip +{\color{green}\verb|@{|{\it\color{red}style}\verb|}|}: define a {\it\color{red}style} of the arrow (default: {\color{green}\verb|@{->}|}) + +\quad\RED{style}: \MGNT{tail} \MGNT{shaft} \MGNT{head} + +%\def\AR#1{\keyin{\string@{#1}}}{\xymatrix@1{\string@{#1}}} +%\AR{=>} + +\quad +\keyin{@{=>}}{\tt\string@\{=>\}} +\raisebox{.6ex}{\xymatrix@1{\ar@{=>}[r]&}}\hfill +\keyin{@{.>}}{\tt\string@\{.>\}} +\raisebox{.6ex}{\xymatrix@1{\ar@{.>}[r]&}}\hfill +\keyin{@{:>}}{\tt\string@\{:>\}} +\raisebox{.6ex}{\xymatrix@1{\ar@{:>}[r]&}}\hfill +\keyin{@{~>}}{\tt\string@\{\string~>\}} +\raisebox{.6ex}{\xymatrix@1{\ar@{~>}[r]&}} + +\quad +\keyin{@{-->}}{\tt\string@\{-->\}} +\raisebox{0.6ex}{\xymatrix@1{\ar@{-->}[r]&}}\hfill +\!\!\!\keyin{@{-}}{\tt\string@\{-\}} +\raisebox{0.6ex}{\xymatrix@1{\ar@{-}[r]&}}\hfill +\keyin{@{<->}}{\tt\string@\{<->\}} +\raisebox{.6ex}{\xymatrix@1{\ar@{<->}[r]&}}\hfill +\!\!\keyin{@{|=>}}{\tt\string@3\{|->\}} +\raisebox{0.6ex}{\xymatrix@1{\ar@3{|->}[r]&}} + +\quad +\keyin{@{<->}}{\tt\string@\{\{*\}-\{*\}\}} +\raisebox{.6ex}{\xymatrix@1{\ar@{{*}-{*}}[r]&}}\hfill +\keyin{@{}}{\tt\string@\{\}} +\raisebox{0.6ex}{\xymatrix@1{\ar@{}[r]&}}\!\!\!\!\!\!\!\! +\keyin{@{x->}}{\tt\string@\string_\{x->\}} +\raisebox{.6ex}{\xymatrix@1{\ar@_{x->}[r]&}}\hfill +\keyin{@{^{(}->}}{\tt\string@\{\string^\{(\}->\}} +\raisebox{.6ex}{\xymatrix@1{\ar@{^{(}->}[r]&}}\hfill + +\quad +\keyin{@{>->}}{\tt\string@\{>->\}} +\raisebox{0.6ex}{\xymatrix@1{\ar@{>->}[r]&}}\hfill +\keyin{@2{~}}{\tt\string@2\{\string~\}} +\raisebox{0.6ex}{\xymatrix@1{\ar@2{~}[r]&}}\hfill +\keyin{@{.>>}}{\tt\string@\{.>>\}} +\raisebox{0.6ex}{\xymatrix@1{\ar@{.{>>}}[r]&}}\hfill +\keyin{@{{}{x}{}}}{\tt\string@\{\{\}\{x\}\{\}\}} +\raisebox{.6ex}{\xymatrix@1{\ar@{{}{x}{}}[r]&}} + +%\quad\verb|@{=>} @{.>} @{:>} @{~>} @{-->} @{-} @{}| etc. + +%\quad\xymatrix@1{\ar@{=>}[r] & \ar@^{.>}[r] & \ar@{:>}[r] & \ar@{~>}[r]& \ar@{-->}[r] & \ar@{-} & \ar@{} } +\begin{Alltt} +\\xymatrix\{ + \{\\bullet\} {\color{green}\\ar@\{--\}[d]\\ar@{=}[dr]\\ar@{-}[r]} + & \{\\bullet\} {\color{green}\\ar@{.}[d]} \\\\ + \{\\bullet\} & \{\\bullet\} {\color{green}\\ar[l]} \} +\end{Alltt} +\vspace*{-13ex} +\hspace*{0.8\textwidth} +\keyin{\xymatrix{ + {\bullet} \ar@{--}[d]\ar@{=}[dr]\ar@{-}[r] + & {\bullet} \ar@{.}[d] \\ + {\bullet} & {\bullet} \ar[l] }}{ +\xymatrix{ + \D \ar@{--}[d]\ar@{=}[dr]\ar@{-}[r] + & \D \ar@{.}[d] \\ + \D & \D \ar[l] }} + + +%\xymatrix{ +% .\ar@{=>}[r] \ar@{..>}[rrd] & .\ar@^{.>}[r] & .\ar@{:>}[r] \ar@{~}[d] & .\ar@{->}[r]& .\ar@{-->}[r] &\\ +%\ar@{~>}[r] & \ar@{==>}[r] & \ar@_{<->}[r] &\ar@3{<->}[r] +%&\ar@2{<<-}[r] & +%} +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\name{S12}{\large\bf 1.2. Labels}} +\GOTO{Top} +\keyin{\xymatrix@1{X\ar[r]^a_b&Y&Z\ar[l]^A_B}} +{\tt\BK xymatrix{\color{magenta}\string@1}\{X\BK ar[r]{\color{magenta}\string^}a{\color{magenta}\_}b\&Y\&Z\BK ar[l]{\color{magenta}\string^}A{\color{magenta}\_}B\}} +\hfill +\xymatrix@1{X\ar[r]^a_b & Y & Z\ar[l]^A_B}\\[-1ex] +% +\quad{\tt\color{magenta}\verb|@1|}: \rm better result for one-line diagrams\\ +\quad{\tt\color{magenta}\string^}\RED{\{\TEXT\}}, +{\tt\color{magenta}\string_}\RED{\{\TEXT\}}: put \TEXT\/ on the left or right side.\\[2pt] +% +\keyin{\xymatrix@1{A\cup B\cup C\cup D\ar[r]^-{+}&X}} +{\tt\BK xymatrix\string@1\{A\BK cup B\BK cup C\BK cup D\BK ar[r]\string^{\color{magenta}-}\{+\}\&X\}}\\ +\quad\xymatrix@1{A\cup B\cup C\cup D\ar[r]^-{+}&X}\quad +\rm(\xymatrix@1{A\cup B\cup C\cup D\ar[r]^{+}&X}\ without the {\color{magenta}\tt-})\\ +% +\begin{z2col}[1.5cm] +\begin{Alltt} +\\xymatrix\{ + A \\ar[r]{\color{red}^f} \\ar[dr]{\color{red}_\{f;g\}} + & B \\ar[d]{\color{red}^g} \\ar[dr]{\color{red}^\{g;h\}}\\\\ + & C \\ar[r]{\color{red}_h} & D\} +\end{Alltt} + +\kaidan + +\xymatrix{ A \ar[r]^f \ar[dr]_{f;g} & B \ar[d]^g \ar[dr]^{g;h} \\ & C \ar[r]_h & D } +\end{z2col} +%%% +\centerline{\name{S13}{\large\bf 1.3. Breaks}} +\verb|\xymatrix@1{A\ar[r]|\textcolor{red}{\tt |}\verb:f&B}:\hfill +\xymatrix@1{A\ar[r]|f&B}\qquad\phantom{.} + +\verb|\xymatrix@1{A\ar[r]|\textcolor{red}{\tt |\BK hole}\verb:&B}:\hfill\xymatrix@1{A\ar[r]|\hole&B}\qquad\phantom{.}\\ +\verb:\xymatrix{:% +\hfill\xymatrix{\ar @{} [dr] |{\color{red}\circlearrowright} A \ar[d] \ar[r] & B \ar[d] \\ C \ar[r] & {\color{green}D} }\ \,\quad\phantom{.}\\[-8ex] +\verb: \ar@{}[dr]:{\tt\color{red}|\{\BK color\{red\}% +\BK circlearrowright\}}\\ +\verb: A \ar[d] \ar[r] & B \ar[d] \\:\\ +\verb: C \ar[r] & {\color{green}D} }: + +\medskip +%%% +\centerline{\large\bf \name{S14}{1.4. Curving}} +{\tt\color{green}\string@/\color{magenta}{\it curving}\color{green}/}\\ +\ \verb|\xymatrix@1{A \ar|\textcolor{red}{\tt\string@/\string^/}\verb|[r] & B}|\hfill\xymatrix@1{A \ar@/^/[r] & B}\qquad\phantom{.}\\ +\ \verb|\xymatrix@1{A \ar|\textcolor{red}{\tt\string@/\string_/}\verb|[r] & B}|\hfill\xymatrix@1{A \ar@/_/[r] & B}\qquad\phantom{.}\\ +\ \verb|\xymatrix@1{A \ar|\textcolor{red}{\tt\string@/\string_1pc/}\verb|[r] & B}|\hfill\xymatrix@1{A \ar@/_1pc/[r] & B}\qquad\phantom{.}\\ +%% +{\tt\color{green}\string@(\color{magenta}{\it in}\color{green},\color{magenta}{\it out}\color{green})}: +\MGNT{in}, \MGNT{out}: \textcolor{red}{\tt u ur r dr d dl l ul}\\ +\verb: \xymatrix{ x \ar:{\tt\color{red}\string@(ul,dl)}\verb:[]|{id}: +\\ +\verb: \ar@:{\tt\color{red}/\string^/}\verb:[rr]|f:\hfill +\xymatrix{ x \ar@(ul,dl)[]|{id} \ar@/^/[rr]|f && f(x) \ar@/^/[ll]|{f^{-1}} } +\ \ \phantom{.}\\[-1.5ex] +\verb: && f(x) \ar@:{\tt\color{red}/\string^/}\verb:[ll]|{f^{-1}} }: + +\medskip +\hfill{\large\bf \name{S15}{1.5. Explicit label positioning}}\hfill\NEXT + +{\color{red}\verb|<|} tail of the arrow\\ +{\color{red}\verb|>|} head of the arrow\\ +{\color{red}\verb|<<|} or {\color{red}\verb|<<<|} etc. intermediate position +and {\color{red}\verb|-|} is the center of arrow.\\ +\ \verb|\xymatrix@1{A\ar[r]^|{\tt\color{red}<}\verb|{+}&B}|\hfill +\xymatrix@1{A\ar[r]^<{+}&B}\qquad\phantom{.}\\ +\ \verb|\xymatrix@1{A\ar[r]^|{\tt\color{red}>}\verb|{+}&B}|\hfill +\xymatrix@1{A\ar[r]^>{+}&B}\qquad\phantom{.}\\ +\ \verb|\xymatrix@1{A\ar[r]^|{\tt\color{red}>>}\verb|{+}&B}|\hfill +\xymatrix@1{A\ar[r]^>>{+}&B}\qquad\phantom{.}\\ +\ \verb|\xymatrix@1{A\ar[r]^|{\color{red}\tt>>>}\verb|{+}&B}|\hfill +\xymatrix@1{A\ar[r]^>>>{+}&B}\qquad\phantom{.} +\newpage +%%%%%%%%%%%%%%%%% +{\tt\color{green}\ (\FAC)}: \FAC\/ based on the objects\\ +{\tt\color{green}<(\FAC)}: \FAC\/ based on {\tt\color{green}<}\\ +{\tt\color{green}>(\FAC)}: \FAC\/ based on {\tt\color{green}>} +\quad(\red{\tt-} equals {\color{red}\verb|<>(.5)|})\\ +\verb|\xymatrix@1{A\ar[r]^|{\tt\color{red}(.2)}\verb|{+}&B}|\hfill +\xymatrix@1{A\ar[r]^(.2){+}&B}\qquad\phantom{.}\\ +\verb|\xymatrix@1{A\ar[r]^|{\tt\color{red}<(.2)}\verb|{+}&B}|\hfill +\xymatrix@1{A\ar[r]^<(.2){+}&B}\qquad\phantom{.}\\ +{\tt\color{green}!\{\MGNT{s};\MGNT{t}\}}: +the point where the line from \MGNT{s} to \MGNT{t} crosses it\\ +\begin{z2col}[.4cm] +\begin{Alltt} +\\xymatrix\{ + 1 \\ar[rr]^{\color{red}-}{1000000x} + \\ar[dr]_{\color{red}(.2)}{2000x} + |{\color{red}!\{[d];[rr]\}}\\hole + && 1000000 \\\\ + 1000 \\ar[r]_{2x} + \\ar[urr]_{\color{red}>>>>}\{x^2\} + & 2000 \} +\end{Alltt} + +\kaidan + +\vspace*{3ex} +\xymatrix{ + 1 \ar[rr] ^-{1000000x} + \ar[dr] _(.2){2000x} |!{[d];[rr]}\hole + && 1000000 \\ + 1000 \ar[r] _{2x} + \ar[urr] _>>>>{x^2} + & 2000 } +\end{z2col} + +\smallskip +\centerline{\bf\large \name{S16}{1.6. Labeling with any object}} +\GOTO{Top} +{\tt\color{green}\ \{\MGNT{math}\}}: \MGNT{math} material as object + +{\tt\color{green}*\{\MGNT{math}\}}: similar but original style and blank margin are ignored + +{\tt\color{green}*\MGNT{modifiers}\{\TEXT\}}: % +change the shape and side according to \MGNT{modifiers}\\[-4.5ex] +\begin{tabbing} +\ \=\hspace{3.5cm}\=ABC\kill +\>\RED{\tt +} \>grow\\ +\>\RED{\tt+\string<\dm\string>}\>grow by \Dm\\ +\>\RED{\tt+=} \>grow to enclosing square\\ +\>\RED{\tt-} \>shrink\\ +\>\RED{\tt-\string<\dm\string>}\>shrink by \Dm\\ +\>\RED{\tt-=} \>shrink to contained square\\ +\>\RED{\tt!} \>do not center\\ +\>\RED{\tt[o]} \>round\\ +\>\RED{\tt [l] [r] [u] [d]}\>adjust left, right, \ldots\\ +\>\RED{\tt[F] [F=]} \>frame, double frame\\ +\>\RED{\tt[F,] [F--]} \>dotted frame, dashed frame\\ +\>\RED{\tt[F-,] [F-;\string<\MGNT{3pt}\string>]}\>shaded frame, frame with rounded edges\\ +\>\RED{\tt@\MGNT{variant}\{\MGNT{tip}\}} + \> \MGNT{tip} (or \MGNT{shaft}) object (cf.~next section)\\ +\>\RED{\tt\BK txt\MGNT{{\tt\string<}width{\tt\string>}}\{\TEXT\}} + \> similar as \BK hbox\{\} but \BK\BK\ can be used in \TEXT\\ +\>\RED{\tt\BK composit\{\MGNT{obj}*\MGNT{obj}\}} +\> combine objects\\ +\>\RED{\tt\BK frm\{\}}\> last object +\end{tabbing} + +\vspace*{-3.5ex} +\verb|\xymatrix@1{ A \ar[r]^|% +{\color{red}\verb|*+[Fo]{x}|}\verb| & B }|\hfill +\raisebox{4pt}{\xymatrix@1{ A \ar[r]^*+[Fo]{x} & B }}\quad\phantom{.} + +\begin{z2col} +\begin{Alltt} +\\xymatrix@1\{ A \\ar + {\color{red}@\{/*\\composite\{\{+\}*\{\\times\}\}/\}} [rr] + ^{\color{red}*+\\txt\{High\\\\label\}} && B\} +\end{Alltt} + +\kaidan + +\vspace*{-1ex} +\hfill\xymatrix@1{ A \ar @{/*\composite{{+}*{\times}}/} [rr] + ^*+\txt{High\\label} && B} +\end{z2col} +\newpage +%%% +\centerline{\bf\large \name{S17}{1.7. More arrow styles}} +\GOTO{Top} +{\color{green}\tt@\MGNT{variant}\{\MGNT{tail shaft head}\}}: +\MGNT{tail} and \MGNT{head} can be omitted\\ +{\color{green}\tt@\MGNT{variant}\{\MGNT{head}\}}\\ +\ \MGNT{variant}{\tt\color{green}\{\MGNT{tip}\}}\qquad +\MGNT{variant}{\tt\color{green}\{\MGNT{shaft}\}} +\if\pdf +\else +\hfill $\Rightarrow$\Goto{Arrow}{Arrow} +\fi +\\ +\quad \MGNT{variant}: \RED{\tt\string^} left\qquad +\RED{\tt\string_} right\qquad +\RED{\tt2} double\qquad +\RED{\tt3} triple + +\smallskip +\centerline{Plain \MGNT{shaft}s (in kernel library)} +\verb| @{-} |\xy*{}\ar@{-}(16,2)\endxy\hfill +\verb|@2{-} |\xy*{}\ar@2{-}(16,2)\endxy\hfill +\verb|@3{-} |\xy*{}\ar@3{-}(16,2)\endxy\\ +% +\verb| @{.} |\xy*{}\ar@{.}(16,2)\endxy\hfill +\verb|@2{.} |\xy*{}\ar@2{.}(16,2)\endxy\hfill +\verb|@3{.} |\xy*{}\ar@3{.}(16,2)\endxy\\ +% +\verb: @{~} :\xy*{}\ar@{~}(16,2)\endxy\hfill +\verb:@2{~} :\xy*{}\ar@2{~}(16,2)\endxy\hfill +\verb:@3{~} :\xy*{}\ar@3{~}(16,2)\endxy\\ +% +\verb|@{--} |\xy*{}\ar@{--}(16,2)\endxy\hfill +\verb|@2{--} |\xy*{}\ar@2{--}(16,2)\endxy\hfill +\verb|@3{--} |\xy*{}\ar@3{--}(16,2)\endxy\\ +% +\verb|@{~~} |\xy*{}\ar@{~~}(16,2)\endxy\hfill +\verb|@2{~~} |\xy*{}\ar@2{~~}(16,2)\endxy\hfill +\verb|@3{~~} |\xy*{}\ar@3{~~}(16,2)\endxy + +\smallskip +\centerline{Plain \MGNT{tip}s which are \MGNT{head}s or \MGNT{tail}s +(in kernel library)} +\verb| @{.>} |\xy*{}\ar@{.>}(5,2)\endxy\hfill +\verb|@^{.>} |\xy*{}\ar@^{.>}(5,2)\endxy\hfill +\verb|@_{.>} |\xy*{}\ar@_{.>}(5,2)\endxy\hfill +\verb|@2{.>} |\xy*{}\ar@2{.>}(5,2)\endxy\hfill +\verb|@3{.>} |\xy*{}\ar@3{.>}(5,2)\endxy\\ +% +\verb| @{.<} |\xy*{}\ar@{.<}(5,2)\endxy\hfill +\verb|@^{.<} |\xy*{}\ar@^{.<}(5,2)\endxy\hfill +\verb|@_{.<} |\xy*{}\ar@_{.<}(5,2)\endxy\hfill +\verb|@2{.<} |\xy*{}\ar@2{.<}(5,2)\endxy\hfill +\verb|@3{.<} |\xy*{}\ar@3{.<}(5,2)\endxy\\ +% +\verb: @{.|} :\xy*{}\ar@{.|}(5,2)\endxy\hfill +\verb:@^{.|} :\xy*{}\ar@^{.|}(5,2)\endxy\hfill +\verb:@_{.|} :\xy*{}\ar@_{.|}(5,2)\endxy\hfill +\verb:@2{.|} :\xy*{}\ar@2{.|}(5,2)\endxy\hfill +\verb:@3{.|} :\xy*{}\ar@3{.|}(5,2)\endxy\\ +% +\verb| @{.(} |\xy*{}\ar@{.(}(5,2)\endxy\hfill +\verb|@^{.(} |\xy*{}\ar@^{.(}(5,2)\endxy\hfill +\verb|@_{.(} |\xy*{}\ar@_{.(}(5,2)\endxy\hfill +\verb| @{.)} |\xy*{}\ar@{.)}(5,2)\endxy\hfill +\verb|@^{.)} |\xy*{}\ar@^{.)}(5,2)\endxy\\ +% +\verb|@_{.)} |\xy*{}\ar@_{.)}(5,2)\endxy\hfill +\verb|@^{.`} |\xy*{}\ar@^{.`}(5,2)\endxy\hfill +\verb|@^{.'} |\xy*{}\ar@^{.'}(5,2)\endxy\hfill +\verb|@_{.`} |\xy*{}\ar@_{.`}(5,2)\endxy\hfill +\verb|@_{.'} |\xy*{}\ar@_{.'}(5,2)\endxy + +\smallskip +\centerline{Constructed \MGNT{tip}s which are \MGNT{head}s or \MGNT{tail}s +(in kernel library)} + +\vspace*{-2.5ex} +\begin{tabbing} +\hspace{2.9cm}\=\hspace{2.9cm}\=\hspace{2.9cm}\=\hspace{2.9cm}\kill +\verb| @{.>>}| \xy*{}\ar@{.>>}(5,2)\endxy\> +\verb|@^{.>>}| \xy*{}\ar@^{.>>}(5,2)\endxy\> +\verb|@_{.>>}| \xy*{}\ar@_{.>>}(5,2)\endxy\> +\verb|@2{.>>}| \xy*{}\ar@2{.>>}(5,2)\endxy\\ +\verb|@3{.>>}| \xy*{}\ar@3{.>>}(5,2)\endxy\> +% +\verb| @{.<<}| \xy*{}\ar@{.<<}(5,2)\endxy\> +\verb|@^{.<<}| \xy*{}\ar@^{.<<}(5,2)\endxy\> +\verb|@_{.<<}| \xy*{}\ar@_{.<<}(5,2)\endxy\\ +\verb|@2{.<<}| \xy*{}\ar@2{.<<}(5,2)\endxy\> +\verb|@3{.<<}| \xy*{}\ar@3{.<<}(5,2)\endxy\> +% +\verb: @{.||}: \xy*{}\ar@{.||}(5,2)\endxy\> +\verb:@^{.||}: \xy*{}\ar@^{.||}(5,2)\endxy\\ +\verb:@_{.||}: \xy*{}\ar@_{.||}(5,2)\endxy\> +\verb:@2{.||}: \xy*{}\ar@2{.||}(5,2)\endxy\> +\verb:@3{.||}: \xy*{}\ar@3{.||}(5,2)\endxy\> +% +\verb:@{.{|-}}: \xy*{}\ar@{.{|-}}(5,2)\endxy\\ +\verb:@^{.{|-}}: \xy*{}\ar@^{.{|-}}(5,2)\endxy\> +\verb:@_{.{|-}}: \xy*{}\ar@_{.{|-}}(5,2)\endxy\> +\verb:@2{.{|-}}: \xy*{}\ar@2{.{|-}}(5,2)\endxy\> +% +\verb:@3{.{|-}}: \xy*{}\ar@3{.{|-}}(5,2)\endxy\\ +\verb: @{.>|}: \xy*{}\ar@{.>|}(5,2)\endxy\> +\verb:@{.>>|}: \xy*{}\ar@^{.>>|}(5,2)\endxy\> +\verb: @{.|<}: \xy*{}\ar@{.|<}(5,2)\endxy\> +\verb:@{.|<<}: \xy*{}\ar@{.|<<}(5,2)\endxy\\ +\verb|@{.{*}}| \xy*{}\ar@{.{*}}(5,2)\endxy\> +\verb| @{.o}| \xy*{}\ar@{.o}(5,2)\endxy\> +\verb| @{.+}| \xy*{}\ar@{.+}(5,2)\endxy\> +\verb| @{.x}| \xy*{}\ar@{.x}(5,2)\endxy\\ +\verb: @{./}: \xy*{}\ar@{./}(5,2)\endxy\> +\verb| @{.//}| \xy*{}\ar@{.//}(5,2)\endxy +\end{tabbing} + +\vspace*{-2ex} +\centerline{Some arrows} +\verb|@{^{(}->} |\xy*{}\ar@{^{(}->}(6,2)\endxy\hfill +\verb:@{|-_{>}} :\xy*{}\ar@{|-_{>}}(6,2)\endxy\hfill +\verb:@{*{x}*{y}*{z}} :\xy*{}\ar@{*{x}*{y}*{z}}(14,2)\endxy + +\smallskip +\begin{z2col} +\verb|\xymatrix{A \ar @/^/ |{\color{red}\verb|@{^{<}-_{>}|}\verb| [rr]|\\ +\verb| \ar @/_1pc/ |{\color{red}\verb|@{{*}{x}{*}}|}\verb| [rr] && B}| + +\kaidan + +\hfill +\xymatrix{A \ar @/^/ @{^{<}-_{>}} [rr] \ar @/_1pc/ @{{*}{x}{*}} [rr] && B}% +\!\!\!\!\!\!\!\!\! +\end{z2col} + +%%% Sliding arrows sideways %%% +\medskip +\centerline{\bf\large \name{S18}{1.8. Sliding arrows sideways}} +{\color{green}\tt @\string<}\MGNT{len}{\color{green}\tt\string>}: slide the arrow left sideways by \MGNT{len} + +\begin{z2col} +\begin{Alltt} +\\xymatrix\{ A \\ar{\color{red}@<1ex>}[dr]^a_{.} \\\\ + & B \\ar{\color{red}@<1ex>}[ul]^b \\ar{\color{red}@<1ex>}[r]^c + & C \\ar{\color{red}@<1ex>}[l]^d_{.} \} +\end{Alltt} + +\kaidan + +\vspace*{-5ex} +\hfill\xymatrix{ A \ar@<1ex>[dr]^a_{.} \\ & B \ar@<1ex>[ul]^b \ar@<1ex>[r]^c & C \ar@<1ex>[l]^d_{.} }\!\!\!\!\!\!\!\! +\end{z2col} + +\vspace*{-1ex} +\verb|\xymatrix@1{|\\ +\verb| A \ar@/^/[r] \ar@/^/|{\color{red}\verb|@<-1ex>|}\verb|[r] & B }|\hfill +\xymatrix@1{ A \ar@/^/[r] \ar@/^/@<-1ex>[r] & B }\\ +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\bf\large \name{S19}{1.9. More addresses of targets}} +\GOTO{Top} +{\color{green}\tt[\MGNT{r},\MGNT{c}]}: relative entry. +{\tt\color{red}[1,2]} and {\tt\color{red}[-2,0]} means {\color{red}\tt[drr]} and {\color{red}\tt[uu]}\\ +% +{\color{green}\tt"\MGNT{r},\MGNT{c}"}: absolute entry. +The top left is {\tt\color{red}"1,1"}\\ +% +{\color{green}\tt\MGNT{b};\MGNT{t}}:\quad\ \ change the base and target to \MGNT{b} and \MGNT{t}, respectively.\\[2ex] +\begin{z2col} +\begin{Alltt} +\\xymatrix\{ A \\\\ + B & C \\ar@<1ex>[ul] + \\ar@<1ex>{\color{red}[ul];[]} \} +\end{Alltt} +\kaidan + +\vspace*{-4ex} +\hfill +\xymatrix{ A \\ B & C \ar@<1ex>[ul] \ar@<1ex>[ul];[] } +\end{z2col} +\centerline{\bf\large \name{S110}{1.10. Changing the position of a target}} +{\tt\color{green}!\MGNT{vector}}: +moves the center of the target by \MGNT{vector}\\ +{\tt\color{green}+\MGNT{vector}} or {\tt\color{green}-\MGNT{vector}}: +change the target with size 0 and the central\\ +\quad position is shifted by \MGNT{vector}:\\ +\ \ {\tt\color{green}<\MGNT{x},\MGNT{y}>}: \MGNT{vector} giving by size\qquad +{\tt\color{red}0}: zero \MGNT{vector}\\ +\ \ {\tt\color{red} U UR R DR D DL L UL} : \MGNT{vector} to the corners of the target\\ +\ \ {\tt\color{green}/\!\MGNT{d} \dm/}: \MGNT{vector} going \Dm\/ in the \MGNT{d}\/irection where \MGNT{d} is:\\ +\qquad{\tt\color{red} u ur r dr d dl l ul}\\ +\qquad{\tt\color{red}va(\MGNT{$\theta$})}: absolute angle\\ +\qquad{\tt\color{red}a(\MGNT{$\theta$})\ }: relative angle\\ +\qquad{\tt\color{red}(\MGNT{x},\MGNT{y})}: relative vector\\ +\qquad{\tt\color{red}\string^\ \ \string_\ }: {\tt\color{red}a(90)} +and {\tt\color{red}a(-90)}, respectively\\ +\qquad{\it\color{magenta}empty}: empty means the current (=last) + +\centerline{\bf\large \name{S111}{1.11. Arrows passing under}} +{\tt\color{green}'\MGNT{t}}: visited target \MGNT{t} except the last\\ +\begin{z2col} +\begin{Alltt} +\\xymatrix\{ \{\\circ\} + \\ar@\{|-->\} {\color{red}'[dr]} ^a + {\color{red}'[rr]}+D*{\\bullet} ^b + {\color{red}[drrr]} ^c + &\{\\circ\}&\{\\circ\}&\{\\circ\}\\ + \{\\circ\}&\{\\circ\}&\{\\circ\}&\{\\circ\} \} +\end{Alltt} + +\kaidan + +\vspace*{1ex} +\hfill +\xymatrix{ {\circ} + \ar@{|-->} '[dr] ^a + '[rr]+D*{\bullet} ^b + [drrr] ^c + & {\circ} & {\circ} & {\circ} \\ + {\circ} & {\circ} & {\circ} & {\circ} } +\!\!\!\!\!\! +\end{z2col} + +\smallskip +\begin{z2col} +\begin{Alltt} +\\xymatrix{\color{red}@!0}\{ %{\rm see 1.16 for }{\color{red}@!0} + & \\lambda\\omega + \\ar@\{-\}[rr]\\ar@\{-\}{\color{red}'[d][dd]} + && \\lambda C \\ar@\{-\}[dd]\\\\ + \\lambda2 \\ar@\{-\}[ur] + \\ar@\{-\}[rr]\\ar@\{-\}[dd] + && \\lambda P2\\ar@\{-\}[ur]\\ar@\{-\}[dd]\\\\ + & \\lambda\\underline\\omega \\ar@\{-\}{\color{red}'[r][rr]} + && \\lambda P\\underline\\omega\\\\ + \\lambda\{\\to\} \\ar@\{-\}[rr]\\ar@\{-\}[ur] + && \\lambda P \\ar@\{-\}[ur]\} +\end{Alltt} + +\kaidan + +\vspace*{-4ex} +\hfill\xymatrix@!0{ + & \lambda\omega \ar@{-}[rr]\ar@{-}'[d][dd] + & & \lambda C \ar@{-}[dd] \\ + \lambda2 \ar@{-}[ur]\ar@{-}[rr]\ar@{-}[dd] + & & \lambda P2 \ar@{-}[ur]\ar@{-}[dd] \\ + & \lambda\underline\omega \ar@{-}'[r][rr] + & & \lambda P\underline\omega + \\ \lambda{\to} \ar@{-}[rr]\ar@{-}[ur] + & & \lambda P \ar@{-}[ur] +}\!\!\!\!\!\!\!\!\! +\end{z2col} +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\bf\large \name{S112}{1.12. More bending arrows}} +\GOTO{Top} +{\tt\color{green}`\!\MGNT{d}\,\MGNT{t}}: +start \MGNT{d}\/irection and turn to \MGNT{t}\/arget\\ +\quad \MGNT{d} may be {\tt\color{red} u ur r},\ldots\\ +\quad curve ends after a quarter turn\\ +\quad default radius is 10pt. +It can be changed by {\tt\color{green} /}\!\MGNT{radius} just +after {\tt\color{green}`}\\[1ex] +%% +\begin{z2col} +\begin{Alltt} +\\xymatrix\{ + \{\\circ\} \\ar {\color{red}`r[d]} ^a + {\color{red}`[rr]} ^b + {\color{red}`/4pt[rr]} ^c + {\color{red}`[rrr]} ^d + {\color{red}`_dl[drrr]}^e + {\color{red}[drrr]}^f + & \{\\circ\} & \{\\circ\} & \{\\circ\} \\\\ + \{\\circ\} & \{\\circ\} & \{\\circ\} & \{\\circ\} \} +\end{Alltt} + +\kaidan + +\vspace*{4ex} +\hfill +\xymatrix{ + {\circ} \ar `r[d] ^a + `[rr] ^b + `/4pt[rr] ^c + `[rrr] ^d + `_dl[drrr]^e + [drrr]^f + & {\circ} & {\circ} & {\circ} \\ + {\circ} & {\circ} & {\circ} & {\circ} }\!\!\!\!\! +\end{z2col} + +\smallskip +\begin{z2col} +\begin{Alltt} +\\xymatrix@1\{ + A \\ar@<-2pt> {\color{red}`d[r] `[r] [r]} + \\ar@<+2pt> {\color{red}`d[r] `[r] [r]} & B \} +\end{Alltt} + +\kaidan + +\hfill +\xymatrix@1{ + A \ar@<-2pt> `d[r] `[r] [r] + \ar@<+2pt> `d[r] `[r] [r] & B } +\end{z2col} + +\medskip +\centerline{\bf\large \name{S113}{1.13. Defining new arrow types}} +{\color{red}\verb:> < | o x + / ( ) [ ] :\tt \textvisiblespace\ }: +\MGNT{tip} characters\\ +{\color{red}\verb|- . ~ : = |}: \MGNT{shaft} characters\\ +{\color{green}\tt\BK newdir\MGNT{variant}\{\MGNT{directional}\}\{\MGNT{composite}\}}: +\MGNT{directional} should be a\\ +\quad sequence of \MGNT{tip}/\MGNT{shaft} characters\\ +{\color{green}\tt !}\MGNT{vector}: shift object by \MGNT{vector}\\[-1ex] +%%% +\begin{z2col} +\begin{Alltt} +{\color{red}\\newdir\{|>\}\{}% + {\color{red}!/4.5pt/@\{|\}*:(1,-.2)@^\{>\}*:(1,+.2)@_\{>\}\}} +\\xymatrix\{ A \\ar @\{={\color{red}|>}\} [r] & B \} +\end{Alltt} + +\kaidan + +\vspace*{3ex} +\hfill +{ +\newdir{|>}{% + !/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}} +\xymatrix{ A \ar @{=|>} [r] & B } +}\!\!\!\! +\end{z2col}\\[2ex] +\begin{z2col} +\begin{Alltt} +\red{\\newdir\{ >\}\{\{\}*!/-5pt/@\{>\}\}} +\\xymatrix\{ A \\ar @\{>->\} @< 2pt> [r] + \\ar\red{@\{ >->\}} @<-2pt> [r] & B \} +\end{Alltt} + +\kaidan + +\vspace*{.1ex} +\hfill{% +\newdir{ >}{{}*!/-5pt/@{>}} +\xymatrix{ A \ar @{>->} @< 2pt> [r] + \ar @{ >->}@<-2pt> [r] & B } +} +\end{z2col}\\[2ex] +%%% +{\tt\color{green}\BK SelectTips\{cm\}\{\MGNT{point}\}}: style for Computer Modern fonts\\ +{\tt\color{green}\BK SelectTips\{eu\}\{\MGNT{point}\}}: style for Euler fonts\\ +\quad \MGNT{point}: default is {\color{red}10}\\ +\begin{z2col} +\begin{Alltt} +\\xymatrix@1\{ A \\ar[r] + |-\{{\color{red}\\SelectTips\{cm\}\{\}}\\object@\{>>\}\} + |>\{{\color{red}\\SelectTips\{eu\}\{\}}\\object@\{>\}\} & B \} +\end{Alltt} + +\kaidan + +\vspace*{2ex} +\hfill +\xymatrix@1{ A \ar[r] + |-{\SelectTips{cm}{}\object@{>>}} + |>{\SelectTips{eu}{}\object@{>}} + & B } +\end{z2col} +\newpage +%%% +\centerline{\bf\large \name{S114}{1.14. Manual entry formatting}} +\GOTO{Top} + +\vspace*{-3ex} +\begin{Alltt} +\\xymatrix\{ + *{\color{red}\\txt\{A very long and stupid\\\\program\}} + \\ar[rr]^-\{{\color{red}\\txt\{weird\\\\arrow\}}\} + &&*{\color{red}\\txt<2pc>\{Com\\-pli\\-cated\\\\Code\}}\} +\end{Alltt} + +\vspace*{-2ex} +\centerline{\xymatrix{ + *\txt{A very long and stupid\\program} + \ar[rr]^-{\txt{weird\\arrow}} + &&*\txt<2pc>{Com\-pli\-cated\\Code}}} + +\begin{z2col} +\begin{Alltt} +\\xymatrix\{ + *=0\{\\bullet\} + \\ar@/^/[dr]!U|1 + \\ar@/^/[drr]!U|2 + \\ar@/^/[drrr]!U|3 \\ + &*{\color{red}+[F]\\txt\{x\}} + &*{\color{red}+[F]\\txt\{x\\\\x\}} + &*{\color{red}+[F]\\txt\{x\\\\x\\\\x\}} \} +\end{Alltt} + +\kaidan + +\vspace*{2ex} +\hfill +\xymatrix{ + *=0{\bullet} + \ar@/^/[dr]!U|1 + \ar@/^/[drr]!U|2 + \ar@/^/[drrr]!U|3 \\ + &*+[F]\txt{x} + &*+[F]\txt{x\\x} + &*+[F]\txt{x\\x\\x} } +\end{z2col} + +\smallskip +\centerline{\bf\large \name{S115}{1.15. Extra entries outside the matrix}} +{\color{green}\tt\BK save \MGNT{t}}: \MGNT{t} is any kind of typesetting\\ +{\color{green}\tt\BK restore}: restore the above \MGNT{t} as an extra entry\\[-5ex] +\begin{Alltt} +\\xymatrix\{ + A \\ar@\{-\}[dr] + &{\color{red}\{\}\\save[]+<3cm,0cm>*\\txt<8pc>\{% + This is a very big commentary + but it does not otherwise affect + the diagram.\}} + \\ar[l] \\ar[d] {\color{red}\\restore} \\\\ + & B \\ar@\{-\}[r] & C \\ar@\{-\}[r] & D \} +\end{Alltt} +\centerline{ +\xymatrix{ + A \ar@{-}[dr] + &{}\save[]+<3cm,0cm>*\txt<8pc>{% + This is a very big commentary + but it does not otherwise affect + the diagram.} + \ar[l] \ar[d] \restore \\ + & B \ar@{-}[r] & C \ar@{-}[r] & D }} + +\smallskip +\centerline{\bf\large \name{S116}{1.16. Spacing and rotation}} +{\tt\color{green} \ @=\Dm}: set spacing\\ +{\tt\color{green} @R=\dm}: set row spacing\\ +{\tt\color{green} @C=\dm}: set column spacing\\ +{\tt\color{green} @M=\dm}: set entry default margin\\ +{\tt\color{green} @W=\dm}: set entry default width\\ +{\tt\color{green} @H=\dm}: set entry default height\\ +{\tt\color{green} @L=\dm}: set label margin\\ +\quad +They should be put between {\tt\BK xymatrix} and the following {\tt\{}.\\ +\quad +{\tt\color{green}=} can be replaced by {\tt\color{green}+ += - -=}. Then ``set" is replaced by\\ +\quad ``increase" ``increase at most" ``decrease" ``decrease at most"\\ +{\tt\color{green}\BK xymatrixrowsep=\{\Dm\}}: change the default (=2 pt)\\ +{\tt\color{green}\BK xymatrixcolsep=\{\dm\}}: same as above for column spacing + + +\verb|\xymatrix@1|{\color{red}\verb|@=0pt@M=0pt|}% +\verb|{A&B\\C&D}|\hfill\xymatrix@1@=0pt@M=0pt{A&B\\C&D} +\hfill\phantom{.} + +\vspace*{-.5ex} +{\tt\color{green} @!\ }: force all spacing equal\\ +{\tt\color{green} @!0}: \quad and ignore entry sizes\\ +{\tt\color{green} @!R}: force equal row spacing\\ +{\tt\color{green} @!C}: force equal column spacing\\ +{\tt\color{green} @\MGNT{d} }: rotate towards \MGNT{d}\\ +\begin{z2col} +\begin{Alltt} +\\xymatrix{\color{red}@dr@C=1pc}\{ + a \\ar[r]\\ar@\{->>\}[d] + & a' \\ar@\{.>>\}[d] \\\\ + b \\ar@\{.>>\}[r] + & b' \} +\end{Alltt} + +\kaidan + +\vspace*{-2ex} +\hfill +\xymatrix@dr@C=1pc{ + a \ar[r]\ar@{->>}[d] & a' \ar@{.>>}[d] \\ + b \ar@{.>>}[r] & b' } +\quad\phantom{.} +\end{z2col} + +\vspace*{-1ex} +\centerline{\bf\large \name{S117}{1.17. Entry style}} +\GOTO{Top} +{\color{green}\tt\BK objectstyle}: entry style +(default: mathmode in text style)\\ +{\color{green}\tt\BK labelstyle }: label syle\\ +{\color{green}\tt\BK entrymodifiers=\{\MGNT{modifier}\}}: apply \MGNT{modifier} to all entries\\ +%% +\begin{z2col} +\begin{Alltt} +$\\left( + {\color{red}\\def\\objectstyle\{\\scriptstyle\} + \\def\\labelstyle\{\\scriptstyle\}} + \\vcenter\{\\xymatrix @-1.2pc @ur \{ + A \\ar[r]^\{a\} & B \\ar[d]^\{b\} \\\\ + A'\\ar[u]^\{a'\} & B'\\ar[l]^\{b'\} \}\} \\right)$ +\end{Alltt} + +\kaidan + +\vspace*{1ex} +\hfill +$\left( + \def\objectstyle{\scriptstyle} + \def\labelstyle{\scriptstyle} \vcenter{\xymatrix @-1.2pc @ur { + A \ar[r]^{a} & B \ar[d]^{b} \\ + A'\ar[u]^{a'} & B'\ar[l]^{b'} }} \right)$\!\!\!\!\!\!\!\! +\end{z2col} + +\medskip +\begin{z2col} +\begin{Alltt} +{\color{red}\\entrymodifiers=\{++[o][F-]\}} +\\SelectTips\{cm\}\{\} +\\xymatrix @-1pc \{ + *\\txt\{start\} \\ar[r] + & 0 \\ar@(r,u)[]^b \\ar[r]_a + & 1 \\ar[r]^b \\ar@(r,d)[]_a + & 2 \\ar[r]^b + \\ar `dr_l[l] `_ur[l] _a [l] + &*++[o][F=]\{3\} + \\ar `ur^l[lll]`^dr[lll]^b [lll] + \\ar `dr_l[ll] `_ur[ll] [ll] \} +\end{Alltt} + +\kaidan + +\vspace*{2ex} +\hfill +{\entrymodifiers={++[o][F-]} +\SelectTips{cm}{} +\xymatrix @-1pc { + *\txt{start} \ar[r] + & 0 \ar@(r,u)[]^b \ar[r]_a + & 1 \ar[r]^b \ar@(r,d)[]_a + & 2 \ar[r]^b + \ar `dr_l[l] `_ur[l] _a [l] + &*++[o][F=]{3} + \ar `ur^l[lll]`^dr[lll]^b [lll] + \ar `dr_l[ll] `_ur[ll] [ll] } +}\!\!\!\!\!\! +\end{z2col} +\newpage +%%%% +\centerline{\bf\large \name{S118}{1.18. Naming for later use as targets}} +\GOTO{Top} +\textcolor{magenta}{\it t}{\tt\color{green}="}\MGNT{name}{\color{green}\tt"}: +give {\tt"\MGNT{name}"} to \MGNT{t}arget to be referred it later\\ +\begin{z2col} +\begin{Alltt} +\\xymatrix\{ + A \\ar[r] ^a{\color{red}="a"} + & B \\ar[r] ^b{\color{red}="b"} & C + \\ar @/^/ {\color{red}"a"};{\color{red}"b"} \} +\end{Alltt} + +\kaidan + +\vspace*{1ex} +\hfill +\xymatrix{ + A \ar[r] ^a="a" & B \ar[r] ^b="b" & C + \ar @/^/ "a";"b" } +\end{z2col} + +\smallskip +\centerline{\bf\large \name{S119}{1.19. Grouping objects}} +\MGNT{t}{\color{green}\tt.}\MGNT{s}: marge \MGNT{t} with simple \MGNT{s}\\ +{\tt\color{green}\{\MGNT{t}\}}: make \MGNT{t} simple\\[-3ex] +\begin{Alltt} +\\xymatrix @R=1pc \{ + 1,1 & 1,2 & 1,3 & 1,4 & 1,5 \\\\ + 2,1 & 2,2 & 2,3 & 2,4 & 2,5 + \\save {\color{red}"1,2"."2,4"}*[F]\\frm\{\} + \\ar{\color{red}"1,1"} \\ar{\color{red}"2,1"} \\ar{\color{red}"1,5"} \\ar{\color{red}"2,5"} + \\restore \} +\end{Alltt} +\centerline{ +\xymatrix @R=1pc { + 1,1 & 1,2 & 1,3 & 1,4 & 1,5 \\ + 2,1 & 2,2 & 2,3 & 2,4 & 2,5 + \save "1,2"."2,4"*[F]\frm{} + \ar"1,1" \ar"2,1" \ar"1,5" \ar"2,5" + \restore } +} +\begin{Alltt} +{\color{red}\\def\\g#1\{\\save + [].[dr]!C="g#1"*[F]\\frm\{\}\\restore\}}% +\\xymatrix\{ + {\color{red}\\g1} A\\ar[r]&B\\ar[d]&{\color{red}\\g2} A'\\ar[r]&B'\\ar[d]\\\\ + C\\ar[u]&D\\ar[l]& C'\\ar[u]&D'\\ar[l] + \\ar @\{.>\} {\color{red}"g1"} ;"1,4" + \\ar @\{-->\} "2,1";{\color{red}"g2"} \} +\end{Alltt} +\centerline{ +\def\g#1{\save + [].[dr]!C="g#1"*[F]\frm{}\restore}% +\xymatrix{ + \g1 A\ar[r]&B\ar[d]&\g2 A'\ar[r]&B'\ar[d]\\ + C\ar[u]&D\ar[l]& C'\ar[u]&D'\ar[l] + \ar @{.>} "g1" ;"1,4" + \ar @{-->} "2,1";"g2" } +} + +\medskip +\centerline{\large\bf \name{S120}{1.20. More examples}} +\begin{z2col} +\begin{Alltt} +\\everyentry=\{\{\\the{\color{red}\\Row},\\the{\color{red}\\Col}\}\} +\\xymatrix {\color{red}@*[F]@*[o]} \{ + \{\} \\POS[];[r]**\\dir\{..\} & \\\\ + \{\} \\POS[];[ur]**\\dir\{--\} \} +\end{Alltt} +\kaidan + +\hfill +{\everyentry={{\the\Row,\the\Col}} +\xymatrix @*[F]@*[o] { + {} \POS[];[r]**\dir{..} & \\ + {} \POS[];[ur]**\dir{--} } +} +\end{z2col} + +\begin{z2col} +\begin{Alltt} +\\entrymodifiers=\{=<1pc>[o][F-]\} +\\xymatrix @ur \{ + A \\save[];[r] **\\dir{-}, + [];[dr]**\\dir{-}, + [];[d] **\\dir{-}\\restore + & B \\\\ + C & D \} +\end{Alltt} + +\kaidan + +\vspace*{.5ex} +\hfill +{\entrymodifiers={=<1pc>[o][F-]} +\xymatrix @ur { + A \save[];[r] **\dir{-}, + [];[dr]**\dir{-}, + [];[d] **\dir{-}\restore + & B \\ + C & D }} +\end{z2col} + +\begin{z2col} + +\medskip +\begin{Alltt} +\\xymatrix @W=3pc @H=1pc @R=0pc @*[F-] \{% + : \\save+<-4pc,1pc>*\\hbox\{\\it root\} + \\ar[] + \\restore \\\\ + \{\\bullet\} + \\save*\{\} + \\ar`r[dd]+/r4pc/`[dd][dd] + \\restore \\\\ + \{\\bullet\} + \\save*\{\} + \\ar`r[d]+/r3pc/`[d]+/d2pc/ + `[uu]+/l3pc/`[uu][uu] + \\restore \\\\ + 1 \} +\end{Alltt} + +\kaidan + +\vspace{10ex} +\hfill +\xymatrix @W=3pc @H=1pc @R=0pc @*[F-] {% + : \save+<-4pc,1pc>*\hbox{\it root} + \ar[] + \restore \\ + {\bullet} + \save*{} + \ar`r[dd]+/r4pc/`[dd][dd] + \restore \\ + {\bullet} + \save*{} + \ar`r[d]+/r3pc/`[d]+/d2pc/ + `[uu]+/l3pc/`[uu][uu] + \restore \\ + 1 }\!\!\!\! +\end{z2col} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\bf\tt\Large Xy-pic\quad Kernel} + +%%% +\keyin{\xy \endxy}{\tt\BK xy \MGNT{pos} \MGNT{decor} \BK endxy}\\ +\keyin{\begin{xy} 0d 0a 0d 0a\end{xy}}% +{\tt\BK begin\{xy\} \MGNT{pos} \MGNT{decor} \BK end\{xy\}} +\GOTO{Top} +\centerline{\bf\large \name{S21}{2.1. Positions}} +\rm +A \name{pos}{position} may represent a rectangular region with a +reference point in the rectangular. + + +\vspace*{-2ex} +\begin{tabbing} +\hspace{2.2cm}\=\hspace{3cm}\=\kill +\quad\MGNT{c}: current position\\ +\quad\MGNT{p}: previous position\\ +\quad{\tt\color{green}<\MGNT{$X$-dimen},\MGNT{$Y$\!\begin{xy} \xy \endxy\end{xy}-dimen}>}: + absolute vector\\ +\quad{\tt\color{green}(\MGNT{$x$-factor},\MGNT{$y$-factor})}\begin{xy} + +\end{xy}: + relative vector (coordinate)\\ +\qquad + $(x,y) = + \langle X_o+x\times X_x + y\times Y_x, Y_o+x\times X_y + y\times Y_y\rangle$\\ +\qquad + $\langle X_o,Y_o\rangle$\>\quad\RED{origin} + (default: $\langle 0\,\text{pt},0\,\text{pt}\rangle$)\\ +\qquad + $\langle X_x,Y_x\rangle$\>\quad\RED{$x$-base} + (default: $\langle 1\,\text{mm},0\,\text{mm}\rangle$)\\ +\qquad + $\langle X_y,Y_y\rangle$\>\quad\RED{$y$-base} + (default: $\langle 0\,\text{mm},1\,\text{mm}\rangle$)\\ +\pos{\tt\color{green}:}\cod\> + \RED{origin}\La\MGNT{p}, + \RED{$x$-base}\La\cod$-$\RED{origin}\\ +\>\quad\RED{$y$-base}\La$\langle -Y_x, X_x\rangle$, \MGNT{c}\La\cod\\ +\pos{\tt\color{green}::}\cod +\>\RED{$y$-base}\La$\cod-$\RED{origin}, \MGNT{c}\La\cod\\ +\pos{\color{green}$\pm$}\cod +\>\MGNT{c}\La\pos$\pm$\cod\qquad(region is kept)\\ +\pos{\tt\color{green}!}\cod +\>\MGNT{c}\La\pos, skew \MGNT{c} by \cod\qquad(move reference point)\\ +\pos{\tt\color{green}.}\cod +\>\MGNT{c}\La\pos\ with covering \cod\qquad(shape changes)\\ +\pos{\tt\color{green},}\cod +\>\MGNT{c}\La\pos, then \MGNT{c}\La\cod\\ +\pos{\tt\color{green};}\cod +\>\MGNT{c}\La\pos, swap \MGNT{p} \MGNT{c}, \MGNT{c}\La\cod +%\ (\MGNT{c}\La\MGNT{p} without \cod) +\\ +\pos{\tt\color{green}*}\obj +\>\MGNT{c}\La\pos, drop (type set) \obj\ at \MGNT{c}\\ +\pos{\tt\color{green}**}\obj +\>\MGNT{c}\La\pos, connect using \obj\\ +\pos{\tt\color{green}?}\place +\>\MGNT{c}\La\pos, \MGNT{c}\La \place\\ +\pos{\tt\color{green}@}\stack +\>\MGNT{c}\La\pos, do \stack\/ing\\ +\pos{\tt\color{green}=}\sav +\>\MGNT{c}\La\pos, do \sav\!ing +(Sometimes \sav\ is \green{\tt"\ID"})\\[1ex] +%% +One of the following is recognized as \name{cod}{\cod}\\ +\ {\tt\color{green}\{\pos\ \MGNT{decor}\}} +\>\qquad \MGNT{c} resulting from interpreting the group\\ +\ {\tt\color{green}"\ID"} +\>\qquad restore what was saved as \ID\\ +\ \MGNT{p} +\>\qquad \MGNT{p}\\ +\ {\tt\color{red} x y} +\>\qquad axis intersection with the line through \MGNT{p} \MGNT{c}\\ +\ {\tt\color{green}s{\color{cyan}digit}\ s\{{\color{cyan}num}\}} +\>\qquad stack position (one) {\color{cyan}digit} or {\color{cyan}num} below the top\\ +%% +or the following \name{vector}{\vector\/s}\\[1ex] +\ \RED{$0$} or {\tt\color{green}<\MGNT{$X$\!-dimen},\MGNT{$Y$\!-dimen}>} or {\tt\color{green}(\MGNT{$x$-factor},\MGNT{$y$-factor})}\\ +\ {\tt\color{green}<\Dm>} +\>= {\tt\color{green}<\dm,\dm>}\\ +\RED{\ \tt L R D U} +\>\qquad offset to left,\ldots\\ +\RED{\ \tt CL CR CD CU C} +\>\qquad offset to center of left side,\ldots\\ +\RED{\ \tt LD RD LU RU} +\>\qquad offset to left/down orner,\ldots\\ +\RED{\ \tt E P} +\>\qquad offset to nearest/proportional edge point to \MGNT{p}\\ +\ \RED{\tt L}{\color{green}\tt(\FAC)} etc. +\>\qquad the above offset multiplied with \FAC\\ +\ {\tt\color{green}a({\color{cyan}num})} +\>\qquad angle in current base $(\cos\text{{\color{cyan}num}}^o,\sin\text{{\color{cyan}num}}^o)$\\ +\>\qquad {\tt\color{green}a(90)}=$(0,1)$. {\color{cyan}num} is an integer.\\ +\ {\tt\color{green}/\!\dr\ \dm/} +\>\qquad\qquad vector \Dm(default: 0.5pt) in \dr:\\ +\>\qquad $\langle Z\cos\alpha, Z\cos\alpha\rangle$ +if $Z=$\dm\ and $\alpha=$\dr\\ +\>\qquad Sometimes \dm\ or \dr\ is omitted\\[1ex] +%%% +Moreover \name{place}{\MGNT{place}} is one of the followings\\ +\ \ {\tt\color{green}<\MGNT{place}} +\>\qquad shave $(0)$ to edge of \MGNT{p}, \MGNT{f}\La0\\ +\ \ {\tt\color{green}>\MGNT{place}} +\>\qquad shave $(1)$ to edge of \MGNT{c}, \MGNT{f}\La1\quad +(\MGNT{c} {\tt\green{?\,>}} equals \MGNT{c} {\tt\green{+}\,\red{E}})\\ +\ \ {\tt\color{green}(\FAC)}\MGNT{place} +\>\qquad\MGNT{f}\La\FAC\\ +\ \ {\tt\color{green}/\!\dm/} +\>\qquad pick place and \MGNT{slide} further by \Dm\/\\ +\ \ {\tt\color{green}!\{\pos\}} +\>\qquad intercept with line setup by \pos\/ +({\tt\color{green}/\!\Dm/}{\scriptsize may follow})\\ +%\ \ {\tt\color{green}!\{\pos\}/\!\dm/} +%\>\qquad shift the above by \dm further along connection\\ +Here \MGNT{f} is a factor to multiply the offset vector in the last. +\end{tabbing} + +\vspace*{-2ex} +\begin{z2col} +\begin{Alltt} +\\xy + \red{0}*\{DL\} ,\red{+/r1cm/}*\{DR\} + , \red{<0cm,1cm>}*\{UL\} ,\red{<1cm,1cm>}*\{UR\} + , \red{(5,5)}*\{5,5\} +\\endxy +\end{Alltt} +\kaidan + +\vspace*{0.1ex} +\hfill\hfill +\xy + 0*{DL} ,+/r1cm/*{DR} + , <0cm,1cm>*{UL} ,<1cm,1cm>*{UR} + , (5,5)*{5,5} +\endxy +\hfill\phantom{.} +\end{z2col}\\[1ex] +%%% +\begin{z2col} +\begin{Alltt} +\\xy \red{0;<5mm,0mm>:} + \red{0}*\{DL\} ,\red{(2,0)}*\{DR\} ,\red{<0cm,1cm>}*\{UL\} ,\red{(2,2)}*\{UR\} + , \red{0+(4,0)="c"}*\{\\mathtt C\} + , \red{"c"+(2,2)="b"}*\{\\mathtt B\} + , \red{"b"-<1cm,0cm>}*\{\\mathtt A\} + , \red{"b"-(0,2)}*\{\\mathtt D\} +\\endxy +\end{Alltt} + +\kaidan + +\vspace*{5ex} +\hfill +\xy 0;<5mm,0mm>: + 0*{DL} ,(2,0)*{DR} ,<0cm,1cm>*{UL} ,(2,2)*{UR} + , 0+(4,0)="c"*{\mathtt C} + , "c"+(2,2)="b"*{\mathtt B} + , "b"-<1cm,0cm>*{\mathtt A} + , "b"-(0,2)*{\mathtt D} +\endxy +\end{z2col}\\[1ex] +%%% +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + \red{0}*\{DL\}\red{;<1cm,1cm>}*\{UR\}\red{**}@\{-\}, + \red{<0cm,1cm>}*\{UL\}\red{;<1cm,0cm>}*\{DR\}\red{**}@\{=\} +\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace*{-2ex} +\hfill +\begin{xy} + 0*{DL};<1cm,1cm>*{UR}**@{-}, + <0cm,1cm>*{UL};<1cm,0cm>*{DR}**@{=} +\end{xy} +\end{z2col}\\[1ex] +%%% +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + 0*\green{++[o][F]}\{DL\}\red{;}<2cm,1cm>*\green{+[F]}\{UR\}\red{**}@\{.\} + \red{?<}*@\{<<\} \red{?>>>>}*@\{>\} + \red{?(0.5)}*\green{!/_3mm/}\{\\Omega\} +\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace*{.5ex} +\hfill +\begin{xy} + 0*++[o][F]{DL};<2cm,1cm>*+[F]{UR} **@{.} + ?<*@{<<} ?(0.5)*!/_3mm/{\Omega} ?>>>>*@{>} +\end{xy}\!\!\!\! +\end{z2col}\\[1ex] +%%% +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + *\green{=<3cm,1cm>}\\txt\{Box\}*\green{\\frm\{-\}} + \red{!U!R(.5)} *\green{\\frm\{..\}}*\{\\bullet\} +\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace*{.1ex} +\hfill +\begin{xy} + *=<3cm,1cm>\txt{Box}*\frm{-} + !U!R(.5) *\frm{..}*{\bullet} +\end{xy} +\end{z2col}\\[.5ex] +%%% +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + <1cm,0cm>: + (0,0)*\green{=0}{+}\red{="+" ;} {\color{cyan}% set size 0} + (2,1)*\green{=0}\{\\times\}\red{="*"} \red{**}@\{.\} , + (1,0)*\green{+}\{A\} \red{;} (2,2)*\green{+}\{B\} \red{**}@\{-\} + \red{?!\{"+";"*"\}} *\{\\bullet\} +\\end\{xy\} +\end{Alltt} +\kaidan + +\vspace*{-1ex} +\hfill +\xy <1cm,0cm>: + (0,0)*=0{+}="+" ; + (2,1)*=0{\times}="*" **@{.} , + (1,0)*+{A} ; (2,2)*+{B} **@{-} + ?!{"+";"*"} *{\bullet} +\endxy +\end{z2col}\\[.5ex] +%% +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + (0,0) ="A" *\green{\\cir<1pt>}\{\} *\green{+!DR}\{A\}, + (7,10)="B" *\green{\\cir<1pt>}\{\} *\green{+!DR}\{B\}, + (13,8)="C" *\green{\\cir<1pt>}\{\} *\green{+!DL}\{C\}, + (15,4)="D" *\green{\\cir<1pt>}\{\} *\green{+!DL}\{D\}, + \red{\{"A";"B":"C";"D",x\}="I"} *\green{\\cir<3pt>}\{\}, + \red{"I";"A"**\{\} +/1pc/;-/1pc/ **}@\{..\}, + \red{"I";"D"**\{\} +/1pc/;-/1pc/ **}@\{..\} +\\end\{xy\} +\end{Alltt} +\kaidan + +\vspace{2ex} +\hfill +\begin{xy} + (0,0) ="A" *\cir<1pt>{} *+!DR{A}, + (7,10)="B" *\cir<1pt>{} *+!DR{B}, + (13,8)="C" *\cir<1pt>{} *+!DL{C}, + (15,4)="D" *\cir<1pt>{} *+!DL{D}, + {"A";"B":"C";"D",x}="I" *\cir<3pt>{}, + "I";"A"**{} +/1pc/;-/1pc/ **@{..}, + "I";"D"**{} +/1pc/;-/1pc/ **@{..} +\end{xy}\!\!\!\!\!\! +\end{z2col}\\ +\quad {\tt\red{"A";"B":}}\ \ $x$-axis \La\ $\overrightarrow{AB}$\\ +\quad {\tt\red{"C";"D"}}\quad \MGNT{c} \La\ \red{\tt "C"} and \MGNT{p} \La\ +\red{\tt "D"}\\ +\quad {\tt\red{, x}}\qquad\quad\,get intersection of +$\overrightarrow{\text{\MGNT{pc}}}$ and $x$-axis + +\medskip +\centerline{\bf\large \name{S22}{2.2. Stack}} +\GOTO{Top} +The \MGNT{stack} is used to store {\cod}s.\\[-5ex] + +\begin{tabbing} +\hspace{2.2cm}\=\hspace{3cm}\=\kill +\green{\tt @+}\cod \>push \cod\\ +\green{\tt @-}\cod \>c\La\cod\ \ then pop\\ +\green{\tt @=}\cod \>load stack with \cod\\ +\green{\tt @@}\cod \>do \cod\ \ for \MGNT{c}\La\MGNT{stack}\\ +\green{\tt @i} \>initialize\\ +\green{\tt @(} \>enter new frame\\ +\green{\tt @)} \>leave current frame\\ +\quad After saving \MGNT{c}\/\ with \green{\tt$\cdots$="\ID"}\\ +\green{\tt @:"\ID"} \> \green{\tt"\ID"} restores current base\\ +\green{\tt @\cod"\ID"} \> \green{\tt"\ID"} reinterprets \cod\\ +\green{\tt @@"\ID"} \> \green{\tt@="\ID"} reloads this stack\\ +\end{tabbing} + +\vspace*{-4ex} +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + \red{@=}\{(0,-10),(10,3),(20,-5)\} + \red{@@}\{*\{P\}\} +\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace*{.1ex} +\hfill +\begin{xy} + @={(0,-10),(10,3),(20,-5)} + @@{*{P}} +\end{xy} +\end{z2col} +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + \red{@=}\{(0,-10),(10,3),(20,-5)\} + , \red{s0="prev"} \red{@@}\{;\red{"prev"};**@\{-\}\red{="prev"}\} +\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace{.1ex} +\hfill +\begin{xy} + @={(0,-10),(10,3),(20,-5)} + , s0="prev" @@{;"prev";**@{-}="prev"} +\end{xy} +\end{z2col}\\[1ex] + +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + \red{=}\{.\{+DL(2)\}.\{+UR(2)\}\}\red{"dbl"} + ,*\green{+<2pc,1pc>}\{+\}*\green{\\frm\{-\}},\red{"dbl"}*\green{\\frm\{--\}} +\\end\{xy\} +\end{Alltt} +\kaidan + +\vspace*{.1ex} +\hfill +\begin{xy} + ={.{+DL(2)}.{+UR(2)}}"dbl" + , *+<2pc,1pc>{+}*\frm{-}, "dbl"*\frm{--} +\end{xy}\!\!\!\! +\end{z2col} + +\centerline{\bf\large \name{S23}{2.3. Objects}} +\name{obj}{{\obj}ects} are used to actual type setting by +\green{\tt*} or \green{\tt**}at \pos. +They are \MGNT{modifier} \obj\/\ or \MGNT{objectbox}. +Here \MGNT{objectbox} is one of the followings.\\[-4ex] +\begin{tabbing} +\hspace{2.6cm}\=\kill +\green{\tt\{\MGNT{txt}\}} +\>\qquad build default object(reference point is \red{\tt C}enter)\\ +\MGNT{library object} or \green{\tt@\Dir}\\ +\green{\tt\{\MGNT{\TeX\ box}\}} + \>\qquad usual \TeX\ box such as \red{\tt\BK hbox}\\ +\green{\tt\BK object}\obj + \>\qquad wrap up \obj\/\ as a final object box, which can\\ + \>\qquad be used outside \Xy-pic\\ +\green{\tt\BK composit\{\obj*\obj*$\cdots$\}} +\qquad build composit object box\\ +\green{\tt\BK xybox\{\pos\/\ \MGNT{dec}\}} +\>\qquad package entire \Xy-picture +as \obj\\[1ex] +%%%%%%%%% +\MGNT{modifiers} are one of the followings\\ +\ \green{\tt!\MGNT{vector}} +\>\obj\/ has reference point shifted by \MGNT{vector}(See \href{#S21}{\S2.1})\\ +\ \green{\tt !} +\> \obj\/ has its original reference point reinstalled\`\NEXT\\ +\ \name{addop}{\MGNT{add-op}} \MGNT{size} +\> \MGNT{add-op} is one of \red{\tt+ - = += -=} (grow, shrink,\`\BACK \\ +\> set, grow to, shrink to) and \MGNT{size} is a rectangle\\ +\> covering the \MGNT{vector} in \href{#S21}{\S2.1}(\MGNT{size} may be omitted)\\ +\ \red{\tt h\quad i} +\> hidden or invisible\\ +\ \green{\tt[\MGNT{shape}]} +\> \obj\/ is given the specified \MGNT{shape} (={\tt\color{yellow}empty \color{red}. o} etc)\\ +\ \green{\tt[=\MGNT{shape}]} +\> define \MGNT{shape} to reestablish current object style\\ +\ \dr +\> set current direction for this \obj. They are\\ +\quad\ \green{\tt v}\MGNT{vector} +\>\qquad direction of \MGNT{vector}\\ +\quad\ \green{\tt v\{\MGNT{pos} \MGNT{decor}\}} +\>\qquad direction from \MGNT{p} to \MGNT{c} after \MGNT{pos} \MGNT{decor}\\ +\quad\ \green{\dr:\MGNT{vector}}\quad vector relative to \dr\\ +\quad\ \dr\green{\tt\string_}\ \ +\dr\green{\tt\string^}\quad (clock/anticlock)wise to \dr\\ +\quad\ \red{\tt l r d u} +\>\qquad left, right, down, up diagonal (called \name{diag}{\MGNT{diag}})\\ +\quad\ \red{\tt ld rd lu ru} +\>\qquad left/down,\ldots diagonal (also called \MGNT{diag})\\[1ex] +If \MGNT{size} is omitted in the above,\\ +\quad\red{\tt +}\> +\red{\tt+<2$\times$\MGNT{objectmargin}>}\\ +\quad\red{\tt -}\> +\red{\tt-<2$\times$\MGNT{objectmargin}>}\\ +\quad\red{\tt =}\> +\red{\tt=<\MGNT{objectwidth},\MGNT{objectheight}>}\\ +\quad\red{\tt+=}\> +\red{\tt+=<$\min({\mathtt L_c+\mathtt R_c, \mathtt D_c+\mathtt U_c})$>}\\ +\quad\red{\tt-=}\> +\red{\tt-=<$\max(\mathtt L_c+\mathtt R_c, \mathtt D_c+\mathtt U_c)$>}\\[1ex] +Default values can be changed\\ +\quad\green{\tt\BK objectmargin\goto{addop}{\MGNT{add-op}}\{\Dm\}}\\ +\quad +\quad\green{\tt\BK objectwidth} +\quad\green{\tt\BK objectheight} are same as above\\ +\end{tabbing} + +\vspace*{-4ex} +\centerline{\bf\large \name{S24}{2.4. Decorations}} +\GOTO{Top} +\MGNT{decor}ators are sequences of commands, which are followings. + +\vspace*{-5ex} +\begin{tabbing} +\hspace{2.5cm}\=\\ +\green{\tt\BK save} \pos + \> save state, then do \pos\\ +\green{\tt\BK restore} + \> restore state save by matching \green{\tt\BK save}\\ +\green{\tt\BK POS} \pos + \> interpret \pos\\ +\green{\tt\BK aftrePOS\{\MGNT{decor}\}} \pos + \qquad interpret \pos\/ and then perform \MGNT{decor}\\ +\green{\tt\BK drop} \obj + \> drop \obj\/ect as the \pos\/ \green{\tt *} operation\\ +\green{\tt\BK connect} \obj + \> connect \obj\/ect as the \pos\/ \green{\tt **} operation\\ +\green{\tt\BK relax} \obj + \> do nothing\\ +\MGNT{\TeX commands}\\ +\green{\tt\BK xyverbose\quad \BK xytracing\quad \BK xyquite}\qquad +tracing commands\\ +\green{\tt\BK xyignore\{\MGNT{pos} \MGNT{decor}\}}\qquad \ \! +ignore \Xy-pic code\\ +\green{\tt\BK xycompile\{\MGNT{pos} \MGNT{decor}\}}\qquad +compile to file \MGNT{prefix} \MGNT{no}.xyc\\ +\green{\tt\BK xycompileto\{\MGNT{name}\}\{\MGNT{pos} \MGNT{decor}\}}\qquad +compile to file \MGNT{name}.xyc +\end{tabbing} + +\vspace*{-2ex} +\begin{z2col} +\begin{Alltt} +\\def\\ToPOS\{\red{\\save\\afterPOS}\{% + \red{\\POS}**\{\}?>*@2\{>\}**@\{-\}\red{\\restore}\};p,\} +\\xy *\{A\} \\ToPOS +<10mm,2mm>\\endxy +\end{Alltt} +\kaidan + +\vspace*{.1ex} +\hfill +\def\ToPOS{\save\afterPOS{% + \POS**{}?>*@2{>}**@{-}\restore};p,} +\xy *{A} \ToPOS +<10mm,2mm>\endxy +\end{z2col} + +%\vspace*{1ex} +\newpage +\centerline{\large\bf \name{S25}{2.5. Kernel object library}} + +\vspace*{-2ex} +\begin{tabbing} +\hspace{2.2cm}\=\hspace{2.2cm}\=\kill +\green{\tt\BK dir\MGNT{variant}\{\MGNT{main}\}} +\quad \green{\MGNT{variant}\{\MGNT{main}\}\/} is called +\name{dir}{\DIR\/ectional}\\ +\quad +\MGNT{variant} is empty or one of \ \red{\tt\^ \_ 2 3}, +\MGNT{main} is in the list in \href{#S17}{\S1.7}.\\ +\green{\tt\BK newdir\MGNT{variant}\{\MGNT{directional}\}\{\MGNT{composite}\}}\quad See \href{#S113}{\S1.13}.\\ +\green{\tt\BK cir<\MGNT{vector}>\CIR\}}\quad arc defined by \CIR\/ +and \MGNT{vector}\\ +\qquad \MGNT{radius} is $x$-component of \MGNT{vector}\quad +(default $\Rightarrow$ $\mathtt R_c$) +and \name{cir}{\MGNT{cir}}\ is\\ +\MGNT{\Diag1} \MGNT{orient} \MGNT{\Diag2}\quad +tangent direction corresponds to \Diag\\ +\qquad partial circle from \MGNT{diag1} to \MGNT{diag2} in the \MGNT{orient}\/ation\\ +\qquad (default $\Rightarrow$ a full circle)\\ +\qquad \name{orient}{\MGNT{orient}\/ation} + is {\color{red}\verb|^|} (anticlockwise) or +{\color{red}\verb|_|} (clockwise).\\ +\green{\tt\BK txt<\MGNT{width}>\MGNT{style}\{\TEXT\}} +\end{tabbing} + +\vspace*{-2ex} +\begin{z2col}[2.5cm] +\begin{Alltt} +\\begin\{xy\} + *\{+\}; p+(6,3)*\{+\} **\{\} ?(1) + *\red{@\{-\}} *!/-5pt/^\red{\\dir\{-\}} + *^\red{\\dir\{-\}} *!/^-5pt/\red{\\dir\{-\}}\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace*{2ex} +\begin{xy} + *{+}; p+(6,3)*{+} **{} ?(1) + *@{-} *!/-5pt/^\dir{-} + *^\dir{-} *!/^-5pt/\dir{-}\end{xy} +\end{z2col}%\\[1ex] + +\begin{z2col}[2.8cm] +\begin{Alltt} +\\xy*\red{\\cir<4pt>\{\}}\\endxy +\\xy*\red{\\cir<4pt>\{l^r\}}\\endxy +\\xy*\red{\\cir<4pt>\{l_r\}}\\endxy +\\xy*\red{\\cir<4pt>\{dl^u\}}\\endxy +\\xy*\red{\\cir<4pt>\{dl_u\}}\\endxy +\\xy*\red{+{M}*\\cir\{dr_ur\}}\\endxy + +\end{Alltt} +\kaidan + +\vspace*{-2ex} +\xy*\cir<4pt>{}\endxy + +\xy*\cir<4pt>{l^r}\endxy + +\xy*\cir<4pt>{l_r}\endxy + +\xy*\cir<4pt>{dl^u}\endxy + +\xy*\cir<4pt>{dl_u}\endxy + +\xy*+{M}*\cir{dr_ur}\endxy +\end{z2col} + +\vspace*{-1.5ex} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\bf\tt\Large Xy-pic\quad Extensions} + +%\medskip +\centerline{\large\bf \name{S31}{3.1. Curve, Circle and Ellipse}} +\GOTO{Top} +\keyin{\xyoption{curve}}{{\tt\BK xyoption\{curve\}}}\\ +This option provides the typeset spline curved connections using arbitrary directional objects.\hfill\ToDef{Dcurve} + +\vspace*{-2.5ex} +\begin{tabbing} +\hspace*{3.5cm}\=\kill +\green{\tt**\BK crv\{\MGNT{poslist}\}} + \> curved connection (\MGNT{poslist} is a list of \MGNT{pos}\/itions)\\ +\green{\tt**\BK crvs\{\dr\}} + \> get \MGNT{poslist} from the stack\\ +\green{\tt\BK curve\{\MGNT{poslist}\}} + \> as a \MGNT{decor}\/ation +(\green{\tt\BK curve} equals \green{\BK connect\BK crv})\\ +%\quad\MGNT{poslist}\> a list of valid \MGNT{pos}\/itions.\\ +\#\MGNT{poslist}=\,0 \> straight connection\\ +\qquad\qquad \ \,1 \> single-segment B\a{'}ezier\\ +\qquad\qquad \ \,2 \> cubic spline\\ +\qquad\ \ \ \ \ $\ge$3 \> cubic B-spline construction\`\NEXT +\end{tabbing} + +\vspace*{-5ex} +\begin{Alltt} +\\begin\{xy\} \red{(0,20)}*[o]+{A}\red{;(60,0)}*[o]+\{B\}="B" + \red{**\\crv\{\}} \\POS?(.4)*_+!UR\{0\},"B" + \red{**\\crv\{(30,30)\}} \\POS?*^+!D\{1\},"B" + \red{**\\crv\{(20,40)&(40,40)\}} \\POS?*^+!D\{2\},"B" + \red{**\\crv\{(10,20)&(30,20)&(50,-20)&(60,-10)\}} + \\POS?*+^!UR\{4\}\\end\{xy\} +\end{Alltt} + +\xy + (0,20)*[o]+{A};(60,0)*[o]+{B}="B" + **\crv{} \POS?(.4)*_+!UR{0},"B" + **\crv{(30,30)} \POS?*^+!D{1},"B" + **\crv{(20,40)&(40,40)} \POS?*^+!D{2},"B" + **\crv{(10,20)&(30,20)&(50,-20)&(60,-10)} + \POS?*+^!UR{4} +\endxy + +\vspace*{-29ex} +\hfill +{\def\ssz#1{\hbox{$_{^{#1}}$}} +\xy + (0,0)*+{A};(30,-10)*+{B}="B",**\dir{-}, + "B"**\crv{(5,20)&(20,25)&(35,20)} + ?<(0)*\dir{<}="a" ?>(1)*\dir{>}="h" + ?(.1)*\dir{<}="b" ?(.9)*\dir{>}="i" + ?(.2)*\dir{<}="c" ?(.8)*\dir{>}="j" + ?(.3)*\dir{<}="d" ?(.7)*\dir{>}="k" + ?(.4)*\dir{<}="e" ?(.6)*\dir{>}="l" + ?(.5)*\dir{|}="f", + "a"*!RC\txt{\ssz{(<)}}; + "h"*!LC\txt{\ssz{\;(>)}},**\dir{.}, + "b"*!RD{\ssz{.1}}; + "i"*!L{\ssz{\;.9}},**\dir{-}, + "c"*!RD{\ssz{.2}}; + "j"*!L{\ssz{\;.8}},**\dir{-}, + "d"*!RD{\ssz{.3}}; + "k"*!L{\ssz{\;.7}},**\dir{-}, + "e"*!RD{\ssz{.4}}; + "l"*!LD{\ssz{.6}},**\dir{-}, + "f"*!D!/^-3pt/{\ssz{.5}} +\endxy +} + +\vspace*{4ex} +\begin{Alltt} +\\def\\ssz#1\{\\hbox\{$_\{^\{#1\}\}$\}\} +\\begin\{xy\} + \red{(0,0)}*+\{A\}\red{;(30,-10)}*+\{B\}="B",**\\dir\{-\}, + "B"\red{**\\crv\{(5,20)&(20,25)&(35,20)\}} + ?<(0)*\\dir\{<\}="a" ?>(1)*\\dir\{>\}="h" ?(.1)*\\dir\{<\}="b" + ?(.9)*\\dir\{>\}="i" ?(.2)*\\dir\{<\}="c" ?(.8)*\\dir\{>\}="j" + ?(.3)*\\dir\{<\}="d" ?(.7)*\\dir\{>\}="k" ?(.4)*\\dir\{<\}="e" + ?(.6)*\\dir\{>\}="l" ?(.5)*\\dir\{|\}="f", + "a"*!RC\\txt\{\\ssz\{(<)\}\} + ; "h"*!LC\\txt\{\\ssz\{\\;(>)\}\},**\\dir\{.\}, + "b"*!RD\{\\ssz\{.1\}\}; "i"*!L\{\\ssz\{\\;.9\}\},**\\dir\{-\}, + "c"*!RD\{\\ssz\{.2\}\}; "j"*!L\{\\ssz\{\\;.8\}\},**\\dir\{-\}, + "d"*!RD\{\\ssz\{.3\}\}; "k"*!L\{\\ssz\{\\;.7\}\},**\\dir\{-\}, + "e"*!RD\{\\ssz\{.4\}\}; "l"*!LD\{\\ssz\{.6\}\}, **\\dir\{-\}, + "f"*!D!/^-3pt/\{\\ssz\{.5\}\} +\\end\{xy\} +\end{Alltt} + +\vspace*{-5ex} +\begin{tabbing} +\hspace{2.5cm}\=\kill +\green{\tt\BK curve\MGNT{modifier}\{\MGNT{curve-object} \MGNT{poslist}\}}\\ +\ \ \MGNT{modifier} (default \red{\tt\string~C}) is \green{\tt\string~}\!\MGNT{curve-option} with \MGNT{curve-option}:\\ +\red{\tt p P l L c C} +\> only control \red{\tt p}oints, jointed by \red{\tt l}ines, +or \red{\tt c}urve\\ +%\> Upper case version uses \MGNT{curve-object}\\ +\> Lower case version ignores \MGNT{curve-object}\\ +\red{\tt pc pC Pc PC} +\> control \red{\tt p}oints and \red{\tt c}urves\\ +\red{\tt lc lC Lc LC} +\> \red{\tt l}ines joining control points and \red{\tt c}urves\\ +\red{\tt cC} +\> plot \red{\tt c}urve twice\\ +\ \ +\MGNT{curve-object} is empty or a sequence of \ \green{\tt\string~*\obj} \ +and/or +\ \green{\tt\string~**\obj}.\\ +\ \ +\MGNT{poslist} is empty or a sequence of \pos\/ and/or \green{\tt\string~@} \\ +separated by \green{\tt\string&}. +\hfill\`\NEXT +\end{tabbing} +\newpage +\begin{Alltt} +\\begin\{xy\} + (0,0)*+\{A\}; (50,-10)*+\{B\} + **\red{\\crv}\{\red{~*=<4pt>\{.\}} (10,10)&(20,0)&(40,15)\} + **\red{\\crv}\{\red{~*=<8pt>\{\}~**!/-5pt/\\dir\{>\}}(10,-20)&(40,-15)\} +\\end\{xy\} +\end{Alltt} + +\vspace*{-3ex} +\begin{xy} + (0,0)*+{A}; (50,-10)*+{B} + **\crv{~*=<4pt>{.} (10,10)&(20,0)&(40,15)} + **\crv{~*=<8pt>{}~**!/-5pt/\dir{>}(10,-20) &(40,-15)} +\end{xy} + +\vspace*{-15ex} +\hfill +\begin{xy} + (0,0)*+{A};(50,-10)*+{B} + **\crv~pC{~*=<\jot>{.}(10,-10)&(20,15) &(40,15)} +\end{xy}\!\! + +\vspace*{-5ex} +\begin{Alltt} +\\begin\{xy\} + (0,0)*+\{A\};(50,-10)*+\{B\} + **\red{\\crv~pC}\{\red{~*=<\\jot>\{.\}}(10,-10)&(20,15) &(40,15)\} +\\end\{xy\} +\end{Alltt} + +\begin{Alltt} +\\begin\{xy\} + (0,0)*+\{A\};(50,-10)*+\{B\} + **\red{\\crv~Lc}\{\red{~**\\dir\{--\} + ~*\{\\oplus\}} + (20,20)&(35,15)\} +\\end\{xy\} +\end{Alltt} + +\vspace*{-20ex} +\hfill +\begin{xy} + (0,0)*+{A};(50,-10)*+{B} + **\crv~Lc{~**\dir{--} + ~*{\oplus} + (20,20)&(35,15)} +\end{xy} + +\vspace*{-2ex} +\centerline{{\bf Intersection} of a straight line and a curved connection} +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + *+\{A\}="A";p+/r5pc/+(0,15)*+\{B\}="B" + ,p+<1pc,3pc>*+\{C\}="C" + ,"A"+<4pc,-1pc>*+\{D\}="D",\red{\{\\ar@/_/"C"\}} + ,\red{?!\{"A";"B"**@\{-\}\}}*++\{\\oplus\} +\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace*{-.5ex} +\hfill +\begin{xy} + *+{A}="A";p+/r5pc/+(0,15)*+{B}="B" + ,p+<1pc,3pc>*+{C}="C" + ,"A"+<4pc,-1pc>*+{D}="D",{\ar@/_/"C"} + ,?!{"A";"B"**@{-}}*++{\oplus} +\end{xy} +\end{z2col} +% +%\hfill +%\begin{xy} +% *+{A}="A";p+/r5pc/+(0,15)*+{B}="B", +% ,p+<1pc,3pc>*+{C}="C" +% ,"A"+<4pc,-1pc>*+{D}="D","A";"B"**@{-} +% ,?!{"D",{\ar@/_/"C"}}*++{\oplus} +%\end{xy} + +%\smallskip +%{\bf Quadratic Splines}\\ +%Quadratic B\'ezier splines is different from cubic B\'ezier spline and are +%constructed from parabolic arcs. They can be get by\\ +%\green{\tt\BK qspline\{\MGNT{style}\}}\\ +\name{Circles}{\centerline{\bf Circles and Ellipse}} +\GOTO{Top} +\green{\tt\BK xycircle\MGNT{vector}\{\MGNT{style}\}}\ \ +\MGNT{style} is any \MGNT{conn} or \obj. + +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + 0;/r5pc/:*\\dir\{*\} + ;p+(.5,-.5)*\\dir\{*\}="c" + ,**\\dir\{-\},*+!UL\{c\},"c" + ,*\red{\\xycircle(1,.4)\{++\\dir\{<\}\}} + ,*\red{\\xycircle(1,1)\{++\\dir\{>\}\}} + ,*\red{\\xycircle<15pt,10pt>\{\}} + ;*\red{\\xycircle<10pt>\{\{.\}\}} +\\end{xy} +\end{Alltt} + +\kaidan + +\vspace*{-2.2ex} +\hfill +\begin{xy} + 0;/r5pc/:*\dir{*} + ;p+(.5,-.5)*\dir{*}="c" + ,**\dir{-},*+!UL{c},"c" + ,*\xycircle(1,.4){++\dir{<}} + ,*\xycircle(1,1){++\dir{>}} + ,*\xycircle<15pt,10pt>{} + ;*\xycircle<10pt>{{.}} +\end{xy}\!\!\!\!\!\!\!\! +\end{z2col} +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\large\bf \name{S32}{3.2. Frame and Bracket}} +\GOTO{Top} +\keyin{\xyoption{frame}}{{\tt\BK xyoption\{frame\}}}\\ +\green{\tt\BK frm\MGNT{opt}\{\MGNT{frame}\}}\quad put frame at \pos\\ +\green{\tt[F \MGNT{frame}:\MGNT{opt}]} +\quad\ \green{\tt*\BK frm\MGNT{opt}\{\MGNT{frame}\}}\\ +\green{\tt[F \MGNT{frame}]} +\qquad\quad\ \green{\tt*\BK frm\{\MGNT{frame}\}}\\ +\green{\tt[F]} +\qquad\qquad\qquad\ \green{\tt*\BK frm\{-\}}\\ +Here \MGNT{frame} is empty or + +\vspace*{-2ex} +\begin{tabbing} +\hspace*{2.3cm}\=\kill +\red{\tt .~- =} + \>allow an optional corner radius by +\MGNT{opt}=\green{\tt<\Dm>}\\ +\red{\tt -- o-} + \>\red{\tt o-} has rounded corner\quad\\ +\red{\tt , -,} + \>put a shade with \MGNT{opt}\/ional depth of shade by +\green{\tt<\dm>}\\ +\red{\tt *} + \> fill a box\\ +\red{\tt o .o -o oo} + \>circle with \MGNT{opt}\/ional radius by \green{\tt<\dm>}\\ + \>outer most one of a doubled frame = the single one\\ + %\red{\tt oo} equals that for \red{\tt o}\\ +{\color{red}\verb|_\} ^\} \{ \}|} + \quad put braces bottom, top, left, right\\ +{\color{red}\verb|_) ^) ( )|} + \> put parenthesis bottom, top, left, right\\ +\end{tabbing} + +\vspace*{-4ex} +\xy + 0 *+\txt{\tt\BK frm\{.\}} *\frm{.}, + (22,0) *+\txt{\tt\BK frm\{-\}} *\frm{-}, + (44,0) *+\txt{\tt\BK frm\{=\}} *\frm{=}, + (66,0) *+\txt{\tt\BK frm\{--\}} *\frm{--}, + (92,0) *+\txt{\tt\BK frm<8pt>\{-\}} *\frm<8pt>{-}, + (0,-10) *+\txt{\tt\BK frm\{,\}} *\frm{,}, + (22,-10) *+\txt{\tt\BK frm\{-,\}} *\frm{-,}, + (55,-10) *+\txt{\tt\BK frm<6pt>\{,\}} *\frm<6pt>{,}, + (92,-10) *+\txt{\tt\BK frm<4pt>\{=\}} *\frm<4pt>{=}, + (0,-24) *+\txt{\tt\BK frm\{o\}} *\frm{o}, + (40,-24) *+\txt{\tt\BK frm<12pt>\{oo\}} *\frm<12pt>{oo}, + (75,-24) *+\txt{\tt\BK frm\{-o\}} *\frm{-o}, + (95,-24) *+\txt{\tt Box} *\frm{*}, + (95,-20) *+\txt{\tt frm\{*\}}, + (4,-40) *+\txt{\tt\BK frm\{\string_\BK \}\}} *\frm{_\}}, + (32,-40) *+\txt{\tt\BK frm\{\string^)\}} *\frm{^)}, + (62,-40) *+\txt{\tt Framed with\\ \BK frm\{\BK \{\}\\ frame} *\frm{\{}, + (92,-40) *+\txt{\tt Framed with\\ \BK frm\{)\}\\ frame} *\frm{)}, +\endxy +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + (0,0) *++\{A\} ; + (10,2) *++\{B\} \red{**\\frm\{.\}} + \red{**\\frm\{^\\\}\}} ; \red{**\\frm\{_\\\}\}} +\\end\{xy\} +\end{Alltt} +\kaidan + +\vspace*{1ex} +\hfill +\begin{xy} + (0,0) *++{A} ; + (10,2) *++{B} **\frm{.} + **\frm{^\}} ; **\frm{_\}} +\end{xy} +\end{z2col} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\centerline{\large\bf \name{S34}{3.3. Rotate ans Scale}} +\centerline{\large\bf \name{S33}{3.3. Import Graphics}} +{\tt\color{green}\BK xyimport(\MGNT{width},\MGNT{height})\{\MGNT{graphic}\}}\\ +{\tt\color{green}\BK xyimport(\MGNT{width},\MGNT{height})% +(\MGNT{$x$-off},\MGNT{$y$-off})\{\MGNT{graphic}\}}\\ +\MGNT{graphic} is a box with a graphic imported by a graphic package. +\begin{verbatim} +\def\GraA{\resizebox{6cm}{!}{\includegraphcs{foo.eps}}} +\begin{xy} +\xyimport(4,3)(1.2,1,2){\GraA}*\frm{-}, +... +\end{verbatim} +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\bf\tt\Large Xy-pic\quad Features} +\rm +\keyin{\xyoption{all}}{{\tt\BK xyoption\{all\}}}\quad +Load \Xy-pic extensions {\tt curve frame cmtip}\\ +\qquad{\tt line rotate color matrix arrow} and {\tt graph}. + +\medskip +\centerline{\large\bf \name{S41}{4.1. Path and Arrow}} +\GOTO{Top} +\keyin{\xyoption{arrow}}{{\tt\BK xyoption\{arrow\}}}\\ +\centerline{\bf\large PATH} + +\vspace*{-3ex} +\begin{tabbing} +\hspace*{3.0cm}\=\hspace{1.2cm}\=\kill +A Path is defined by the command\`\ToDef{DefPATH}\\ +\green{\tt\BK PATH}\MGNT{path}\qquad\qquad\qquad\quad\!interpret \MGNT{path}\\ +\green{\tt\BK afterPATH\{\MGNT{decor}\}}\MGNT{path}\quad interpret \MGNT{path} +and run \MGNT{decor}\\ +\qquad \MGNT{path} includes several \MGNT{segment}s, which are\\ +\MGNT{path-pos} \Dm\ \MGNT{labels} + \quad \Dm\/ is optional to \MGNT{slide}s \obj\\ +\qquad \MGNT{labels} are sequence of\qquad\qquad +%% +\if\pdf +\else +($\Rightarrow$\Goto{place}{place}) +\fi +\\ +%% +\green{\tt\string^}\anchor\/ \MGNT{it} \green{\tt="\ID"} + \>label with \MGNT{it}\/em above \MGNT{anchor} +(\green{\tt="\ID"} is optional)\\ + \green{\tt\string_}\MGNT{anchor} \MGNT{it} \green{\tt="\ID"} + \>label with \MGNT{it}\/em below \MGNT{anchor} +(\green{\tt="\ID"} is optional)\\ +\green{\tt\string|}\MGNT{anchor} \MGNT{it} \green{\tt="\ID"} + \>label with \MGNT{it}\/em at \MGNT{anchor}\qquad +(\green{\tt="\ID"} is optional)\\ +% \>\MGNT{place} may be preceded by \red{\tt-} which means \red{\tt<>(.5)}\\ +\>\name{anchor}{\MGNT{anchor}} is \Place\/ or \red{\tt -}\Place\/ + (\red{\tt -} means \red{\tt<>(0.5)})\\ +Here \name{it}{\MGNT{it}}\/em is {\it\color{cyan}digit} or +{\it\color{cyan}letter} or +\green{\tt\{\TEXT\}} or \MGNT{cs} (default labels) or\\ +\green{\tt *}\obj\> \obj\/ect\\ +\green{\tt @}\Dir\>\MGNT{dir}\/ectional\\ +\qquad which may be preceded by \green{\tt[\MGNT{shape}]}\\[.5ex] +%%% +\qquad Except for the last one, \MGNT{segment}\/s should be either in the forms\\ +\green{\tt'\MGNT{segment}} + \>\>\quad make straight segment\\ +\green{\tt`\Diag\/ \MGNT{turnradius} \MGNT{segment}} + \>\>\quad 1/4 turning \MGNT{segment} starting in \Diag\\ +\green{\tt`\Cir \MGNT{turnradius} \MGNT{segment}} + \>\>\quad explicit turning \MGNT{segment} +\if\pdf +\\ +\else +\qquad($\Rightarrow$\Goto{cir}{cir})\\ +\fi +\qquad \MGNT{turnradius} is \green{\tt/\!\Dm} and use default turn if +it is omitted.\\ +\qquad \green{\tt\BK turnradius\goto{addop}{\MGNT{add-op}}\{\Dm\}} to change it (default:10pt).\\ +\green{\tt`\MGNT{segment}} + \>\>turning \MGNT{segment} as at the last \Diag\/ \MGNT{radius} + \\[.5ex] +%%% +\qquad Moreover \MGNT{path} may also contain\\ +\green{\tt\string~\MGNT{action}\{\MGNT{stuff}\}} + \>set \MGNT{action} to \MGNT{stuff}\\ +\green{\tt\string~\MGNT{which}\{\MGNT{labels}\}} + \>add \MGNT{labels} prefix for some segments with \MGNT{which}\\ + \>\red{\tt <}\quad next segment only\\ + \>\red{\tt >}\quad last segment only\\ + \>\red{\tt =}\quad every segment\\ +\green{\tt\string~\{\MGNT{stuff}\}} + \>set failure continuation to \MGNT{stuff}\\ +\end{tabbing} + +\vspace*{-3ex} +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} + *+{0}\red{\\PATH} + \red{~=}\{**\\dir\{-\}\} \red{~>}\{|>*\\dir\{>\}\} \red{~}+\{|*\\dir\{/\}\} + \red{'}(10,1)*+\{1\} \red{'}(20,-2)*+\{2\} (30,0)*+\{3\} +\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace*{-.7ex} +\hfill +\begin{xy} + *+{0}\PATH + ~={**\dir{-}} ~>{|>*\dir{>}} ~+{|*\dir{/}} + '(10,1)*+{1} '(20,-2)*+{2} (30,0)*+{3} +\end{xy} +\end{z2col} +\newpage + +%\vspace*{.5ex} +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} <4pc,0pc>:(0,0) +*+\\txt\{base\}="base" +\red{\\PATH} \red{~=}\{**\\dir\{-\}?>*\\dir\{>\}\} + \red{`l} (-1,-1)*\{A\} ^a + \red{`} (1,-1)*\{B\} ^b + \red{`_ul} (1, 0)*\{C\} ^c + \red{`ul^l} "base" ^d + "base" ^e +\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace*{5.8ex} +\hspace*{-0.7cm} +\begin{xy} <4pc,0pc>:(0,0) +*+\txt{base}="base" +\PATH ~={**\dir{-}?>*\dir{>}} + `l (-1,-1)*{A} ^a + ` (1,-1)*{B} ^b + `_ul (1, 0)*{C} ^c + `ul^l "base" ^d + "base" ^e +\end{xy} +\end{z2col} + +\bigskip +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\bf\large Arrows} +\name{Arrow}{Arrows} are paths with +\MGNT{tail}, \MGNT{stem} and \MGNT{head} described in +\href{#S17}{\S1.7}. They are constructed as follows + +\vspace*{-4ex} +\begin{tabbing} +\hspace*{2.8cm}\=\\ +\green{\tt\BK ar}\MGNT{arrow} \MGNT{path} + \> make \MGNT{arrow} along \MGNT{path}\\ +\qquad Here \MGNT{arrow} is of the form\\ +\green{\tt@\MGNT{variant}} + \> use \MGNT{variant} of arrow. \MGNT{variant} is empty or one of \\ + \> {\color{red}\verb|^ _ 0 1 2 3 |}with above, below, double or triple\\ +\green{\tt@\MGNT{variant}\{\MGNT{tip}\}} + \> build arrow using \MGNT{variant} of a standard stem and\\ + \> \MGNT{tip} for the head. Here \MGNT{tip} is some of \MGNT{tipcharacter}s\\ + \> {\color{red}\verb:< > ( ) | ' ` + / :}or \MGNT{letter} or \MGNT{space} + with a \\ + \> preceding optional \Dir\/ectional\\ +\green{\tt@\MGNT{variant}\{\MGNT{tip} \MGNT{conn} \MGNT{tip}\}} + \quad make arrow using \MGNT{variant} with indicated\\ + \> tail, stem and head (in this order).\\ + \> \MGNT{conn} is a sequence of \MGNT{connchar}s (with \Dir\/ectional)\\ +\green{\tt@\MGNT{connchar}} + \> change stem by \MGNT{connchar}, which is one of + {\color{red}\tt\verb|- . ~ =|}\\ +\green{\tt@!} + \> dash the arrow stem by doubling it\\ +\green{\tt@/\!\dr\/\ \MGNT{dist}/} + \> curve arrow the \MGNT{dist}\/ance towards \dr\\ + \> default \MGNT{dist}\/ance is .5pc (may be omitted)\\ +\green{\tt@(\dr,\dr)}\\ + \> curve to fit with in-out directions\\ +\green{\tt@`\{\MGNT{control-point-list}\}} +\ \ curve setup with explicit control points\\ +\> See \href{#S31}{\S3.1} for control points.\\ +\green{\tt@[\MGNT{shape}]} + \> add \green{[\MGNT{shape}]} to object \MGNT{modifier} for all object\\ +\green{\tt*\{\MGNT{modifier}\}} + \> add object \MGNT{modifier}\/s for all object\\ +\green{\tt<\dm>} + \> slide arrow the \Dm\\ +\green{\tt\string|\anchor\/ \MGNT{it}} + \> break each segment at \MGNT{anchor} with \MGNT{it}\/em\qquad +% +\if\pdf +\else +$\Rightarrow$\Goto{it}{item} +\fi +\\ +%% +\green{\tt\string^\anchor\/ \MGNT{it}} + \> label each segment at \MGNT{anchor} with \MGNT{it}\/em\\ +\green{\tt\string_\anchor\/ \MGNT{it}} + \> label each segment at \MGNT{anchor} with \MGNT{it}\/em\\ +\green{\tt@?} + \> reverse meaning of above and below\\ + \> \Anchor\/ is \Place\/ or \red{\tt -}\Place\ (\red{\tt -} means +\red{\tt<>(0.5)})\\ +\end{tabbing} +\vspace*{-1cm} + +\newpage +\begin{z2col} +\begin{Alltt} +\\xy\\ar @\{<^\{|\}>\} (20,7) \\endxy + +\\xy\\ar @\{\{\}\{+\}>\} (20,7) \\endxy + +\\xy\\ar @\{*\{x\}*\{y\}*\{z\}\} (20,7) \\endxy + +\\xy\\ar @\{>>*\\composite\{% + \\dir\{x\}*\\dir\{+\}\}<<\} (20,7) \\endxy +\end{Alltt} + +\kaidan + +\vspace*{-1ex} +\hfill +\xy\ar @{<^{|}>} (20,7) \endxy \\ +\hfill +\xy\ar @{{}{+}>} (20,7) \endxy \\ +\hfill +\xy\ar @{*{x}*{y}*{z}} (20,7) \endxy \\ +\hfill +\xy\ar @{>>*\composite{% + \dir{x}*\dir{+}}<<} (20,7) \endxy +\end{z2col} +\begin{z2col} + +\vspace*{3ex} +\begin{Alltt} +\\begin\{xy\} + (0,0) \red{\\ar} @\{-->\} (30,7) ^A\red{="a"} + \\POS(10,12)*+\\txt\{label\} \red{\\ar "a"} +\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace*{2ex} +\hfill +\begin{xy} + (0,0) \ar @{-->} (30,7) ^A="a" + \POS(10,12)*+\txt{label} \ar "a" +\end{xy} +\end{z2col} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\medskip +\centerline{\large\bf \name{S42}{4.2. Graph}} +\GOTO{Top} +See Reference Manual for details.\hfill\ToDef{Dgraphic} + +%\newpage +\begin{z2col} +\begin{Alltt} +\\xygraph\{ + \red{[]}L \red{:}@/_/ \red{[r]}\{M_1\} \red{:}@/^/ \red{[r]}\{M^2\} + \red{:}@\{|.>\}\red{[r]}R \red{:}@/_1em/"L" +\} +\end{Alltt} + +\kaidan + +\vspace*{-.5ex} +\hfill +\xygraph{ + []L :@/_/ [r]{M_1} :@/^/ [r]{M^2} + :@{|.>}[r]R :@/_1em/"L" +}\!\!\!\!\!\!\!\!\! +\end{z2col} +\begin{tabbing} +\hspace*{3.5cm}\=\kill +\green{\tt\BK xygraph\{\MGNT{graph}\}} + \>perform \MGNT{graph} +which are \MGNT{node} or the followings\\ +\green{\tt-\MGNT{arrow} \MGNT{node} \MGNT{labels}} + \>draw line to \MGNT{node} with \MGNT{labels} and move there\\ +\green{\tt:\MGNT{arrow} \MGNT{node} \MGNT{labels}} + \>draw \MGNT{arrow} to \MGNT{node} with \MGNT{labels} and move there\\ +\green{\tt(\MGNT{list})}\quad\quad map \MGNT{list} (= \MGNT{graph}s separated by \green{\tt ,}) to the current \MGNT{node}\\ +\qquad Here \MGNT{node}s are \\ +\green{[\MGNT{move}] \ \string& \ \BK\BK \ "\ID" \ ?\ } +may be followed by +\MGNT{it}\/em or \green{\tt="\ID"} or \green{\tt!\MGNT{escape}}\\ +\quad\MGNT{move} by some \red{\tt d u l r} (may be followed by \MGNT{place} and \MGNT{move})\\ +\quad\MGNT{escape} one of \red{\tt M P E \string~} (\MGNT{matrix} \MGNT{polygon} \MGNT{ellipse} set-up) +\end{tabbing} + +\vspace*{-1ex} +\begin{z2col} +\begin{Alltt} +\\xygraph\{ +\red{[]} *+[o]+[F]\{1\} + \red{(-[dl]} *+=[o]+[F]\{11\} + \red{,-[d]} *+=[o]+[F]\{12\} + \red{(-[dl]} *+=[o]+[F]\{121\} + \red{,-[d]} *+=[o]+[F]\{122\} + \red{,-[dr]} *+=[o]+[F]\{123\} + \red{)} + \red{,-[dr]} *+=[o]+[F]\{13\} + \red{)} +\} +\end{Alltt} + +\kaidan + +\vspace*{1ex} +\hfill +\xygraph{ +[] *+[o]+[F]{1} + (-[dl] *+=[o]+[F]{11} + ,-[d] *+=[o]+[F]{12} + (-[dl] *+=[o]+[F]{121} + ,-[d] *+=[o]+[F]{122} + ,-[dr] *+=[o]+[F]{123} + ) + ,-[dr] *+=[o]+[F]{13} + ) +} +\end{z2col} + +\vspace*{-2ex} +\phantom{See \S1}\hfill{\large\bf \name{S43}{4.3. Matrix}}\hfill See \href{#S11}{\S1}. +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\large\bf \name{S44}{4.4. Polygon}} +See Reference Manual for details.\hfill\ToDef{Dpolygon}\phantom{AB} +\GOTO{Top} +\vspace*{-2ex} +\begin{Alltt} +\\begin\{xy\} /r8mm/: + , 0 ,\{\red{\\xypolygon6\{\}}\} + ,+/r18mm/,\{\red{\\xypolygon8\{@\{o\}\}}\} + ,+/r18mm/,\{*@\{o\}\red{\\xypolygon6\{@\{*\}\}}\} +\\end\{xy\} +\end{Alltt} + +\vspace*{-1.5ex} +\begin{xy} /r8mm/: + , 0 ,{\xypolygon6{}} + ,+/r18mm/,{\xypolygon8{@{o}}} + ,+/r18mm/,{*@{o}\xypolygon6{@{*}}} +% + ,+/r22mm/,{\xypolygon6{~*{\dir{*}}}} + ,+/r18mm/,{\xypolygon8{~<{.}~>{}~={45}{\dir{*}}}} + ,+/r18mm/,{\xypolygon6{~<{=}~>{:}{\dir{*}}}} +\end{xy} + +\vspace*{-2ex} +\begin{Alltt} +\\begin\{xy\} /r8mm/: + , 0 ,\{\red{\\xypolygon6\{~*\{\\dir\{*\}\}\}}\} + ,+/r18mm/,\{\red{\\xypolygon8\{~<\{.\}~>\{\}~=\{45\}\{\\dir\{*\}\}\}}\} + ,+/r18mm/,\{\red{\\xypolygon6\{~<\{=\}~>\{:\}\{\\dir\{*\}\}\}}\} +\\end\{xy\} +\end{Alltt} + +\vspace*{-2.2ex} +{\color{green}\verb|~: |} any \pos\/ \MGNT{decor} performed first\\ +{\color{green}\verb|~* ^= |} set \obj\/ect, \MGNT{angle} to vertex\\ +{\color{green}\verb|~< ~<< ~<> |} set \Dir\/ectional, arrow, labels to spokes\\ +{\color{green}\verb|~> ~>< ">> |} set \Dir\/ectional, arrow, labels to sides +\vspace*{-2.1ex} +\begin{Alltt} +\\newcounter\{node\} +\\newcommand\{\\Letter\}% + \{\{\\setcounter\{node\}% + \{\red{\\xypolynode}\}\\Alph\{node\}\}\} +\\begin\{xy\} /r12mm/: + (0,0), \{\red{\\xypolygon6\{~*\{\\xypolynode\}\}}\} + ,(3.3,0), \{*\{0\}*\\cir<5pt>\{\} + \red{\\xypolygon8\{~*\{\\xybox\{}% + \red{*\{\\xypolynode\}*\\cir<2mm>\{\}\}\}\}}\} + ,(6.6,0), \{\red{\\xypolygon6\{~><\{@/_.9ex/\}} + \red{~>>\{_\{\\delta^\{\\xypolynode\}_\{\\xypolynum\}\}\}} + \red{~<<\{@\{=\}\} ~<>\{|\\uparrow\} ~*\{\\Letter\}\}}\} +\\end\{xy\} +\end{Alltt} + +\vspace*{-4.5ex} +\newcounter{node} +\newcommand{\Letter}% + {{\setcounter{node}% + {\xypolynode}\Alph{node}}} +\begin{xy} /r12mm/: + (0,0), {\xypolygon6{~*{\xypolynode}}} + ,(3.3,0), {*{0}*\cir<5pt>{} + \xypolygon8{~*{\xybox{% + *{\xypolynode}*\cir<2mm>{}}}}} + ,(6.6,0), {\xypolygon6{% + ~><{@/_.9ex/} + ~>>{_{\delta^{\xypolynode}_{\xypolynum}}} + ~<<{@{=}} ~<>{|\uparrow} ~*{\Letter}}} +\end{xy} + +%\vspace*{-4ex} +\newpage +\begin{Alltt} +\\begin\{xy\} /r9mm/: + (0,0), \{\red{\\xypolygon6\{~:\{(1,-.1):(0,.33)::\}~<\{-\}\}}\} + ,(0,2), \{\red{\\xypolygon6\{~:\{(1,-.2):(0,.5)::\}~<\{-\}\}}\} + ,(3,0), \{\red{\\xypolygon6\{~:\{(1,-.2):(0,-.3)::\}~<\{-\}\}}\} + ,(3,2), \{\red{\\xypolygon6\{~:\{(1,.3):(0,-.6)::\}~<\{-\}\}}\} + ,(6,0)="0", +(-.5,3)="T","0" + ,\{\red{\\xypolygon6\{~:\{(1,.2):(0,.4)::\}~<>\{;"T"**@\{-\}\}\}}\} +\\end\{xy\} +\end{Alltt} + +\vspace*{-2ex} +\begin{xy} /r9mm/: + (0,0),{\xypolygon6{% + ~:{(1,-.1):(0,.33)::}~<{-}}} + ,(0,2),{\xypolygon6{% + ~:{(1,-.2):(0,.5)::}~<{-}}} + ,(3,0),{\xypolygon6{% + ~:{(1,-.2):(0,-.3)::}~<{-}}} + ,(3,2),{\xypolygon6{% + ~:{(1,.3):(0,-.6)::}~<{-}}} + ,(6,0)="0", +(-.5,3)="T","0" + ,{\xypolygon6{~:{(1,.2):(0,.4)::} + ~<>{;"T"**@{-}}}} +\end{xy} + +\vspace*{-19.5ex} +\hfill +\begin{xy} /r1cm/: + {\xypolygon4"F"{~:{(0,.6)::}}},+(.8,1.3) + ,{\xypolygon4"B"{~:{(.7,0):(0,.7)::}}} + ,"F1";"B1"**@{.}, "F2";"B2"**@{.} + ,"F3";"B3"**@{.}, "F4";"B4"**@{.},-(1.0,2.7) + ,{\xypolygon10"O"{~={16}\dir{*}}} + ,{\xypolygon5"I"{~:{(0.55,0):} + ~={16}{\dir{*}}}} + ,"O1";"I1"**@{.}, "O3";"I2"**@{.} + ,"O5";"I3"**@{.}, "O7";"I4"**@{.} + ,"O9";"I5"**@{.} +\end{xy}\phantom{A} + +\vspace*{-6ex} +\begin{Alltt} +\\begin\{xy\} /r1cm/: + \{\red{\\xypolygon4"F"\{~:\{(0,.6)::\}\}\}},+(.8,1.3) + ,\{\red{\\xypolygon4"B"\{~:\{(.7,0):(0,.7)::\}\}\}} + ,"F1";"B1"**@\{.\}, "F2";"B2"**@\{.\} + ,"F3";"B3"**@\{.\}, "F4";"B4"**@\{.\},-(1.0,2.7) + ,\{\red{\\xypolygon10"O"\{~=\{16\}\\dir\{*\}\}}\} + ,\{\red{\\xypolygon5"I"\{~:\{(0.55,0):\} + ~=\{16\}\{\\dir\{*\}\}\}}\} + ,"O1";"I1"**@\{.\}, "O3";"I2"**@\{.\} + ,"O5";"I3"**@\{.\}, "O7";"I4"**@\{.\} + ,"O9";"I5"**@\{.\} +\\end\{xy\} +\end{Alltt} +\begin{z2col} +\begin{Alltt} + +\\xypolygon4{\color{magenta}\{}~:\{/r5pc/:\} + ~<>{\color{green}\{}*\\frm<8pt>\{o\} + \red{\\xypolygon4\{}~:\{/-2pc/:\} + ~*\{\red{\\xypolyname\\xypolynode}\}\red{\}}{\color{green}\}} +[o]=<5pc>\{\red{\\xypolynode\}}{\color{magenta}\}} +\end{Alltt} + +\kaidan + +\vspace*{-6ex} +\hfill +\xypolygon4{~:{/r5pc/:} + ~<>{*\frm<8pt>{o}\xypolygon4{~:{/-2pc/:} + ~*{\xypolyname\xypolynode}}} +[o]=<5pc>{\xypolynode}}\!\!\!\!\!\!\!\! +\end{z2col} +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\large\bf \name{S45}{4.5. Circle, Ellipse and Arc}} +%\vspace*{-1.5ex} +\GOTO{Top} +\green{\tt\BK ellipse({\color{cyan}num})\{\MGNT{style}\}}\ +radius = {\color{cyan}num}$\times$dist(\MGNT{p},\MGNT{c}), default +{\color{cyan}num}=1\\ +\green{\tt\BK ellipse<\Dm>\{\MGNT{style}\}}\quad radius is \dm\/sion +\vspace*{-2ex} +\begin{Alltt} +\\begin\{xy\} + 0;/r5pc/:*\\dir\{*\}="p",*+!DR\{p\}; + p+(.5,-.5)*\\dir\{*\}="c" + ,*+++!L\{c\}**\\dir\{-\} + ,\{\red{\\ellipse<>\{:\}}\},\{\red{\\ellipse(.5)\{\}}\} + ,0;(.5,.5)::,"p";"c",\{\red{\\ellipse(.5)\{.\}}\} + ,\{\red{\\ellipse<5pt>\{=\}}\} +\\end\{xy\} +\end{Alltt} + +\vspace*{-22ex} +\hfill +\begin{xy} + 0;/r5pc/:*\dir{*}="p",*+!DR{p}; + p+(.5,-.5)*\dir{*}="c",*+++!L{c}**\dir{-} + ,{\ellipse<>{:}},{\ellipse(.5){}} + ,0;(.5,.5)::,"p";"c",{\ellipse(.5){.}} + ,{\ellipse<5pt>{=}} +\end{xy}\!\! + +\medskip +\green{\tt\BK ellipse\string_\{\MGNT{style}\}}\quad clockwise arc from \MGNT{p} to \MGNT{c}\\ +\green{\tt\BK ellipse\string^\{\MGNT{style}\}}\quad counter-clockwise arc from \MGNT{p} to \MGNT{c} + +\vspace*{-2ex} +\begin{Alltt} +\\begin\{xy\} + 0;/r5pc/:*=+\\dir\{*\}*+!UR\{p\}; + p+(.5,-.5)*\\dir\{*\}="o",*+!UL\{o\} + ,+(0,.81)*=<6.1pt>\\dir\{*\}*\\frm\{-\}="c" + ,*+!DL\{c\},"o",**\\dir\{-\} + ,"c",\{\red{\\ellipse_\{\}}\},\{\red{\\ellipse^\{.\}}\} + ,"o"+(1.5,.2)*\\dir\{*\}="a"*+!UL\{a\} + ,"o";p+/_1pc/,**\{\},"a",\{\red{\\ellipse_\{\}}\} +\\end\{xy\} +\end{Alltt} + +%\vspace*{-25ex} +%\hfill +\vspace*{.1ex} +\quad +\begin{xy} + 0;/r5pc/:*=+\dir{*}*+!UR{p}; + p+(.5,-.5)*\dir{*}="o",*+!UL{o} + ,+(0,.81)*=<6.1pt>\dir{*} + *\frm{-}="c" + ,*+!DL{c},"o",**\dir{-} + ,"c",{\ellipse_{}} + ,{\ellipse^{.}} + ,"o"+(1.5,.2)*\dir{*}="a"*+!UL{a} + ,"o";p+/_1pc/,**{},"a",{\ellipse_{}} +\end{xy} + +\vspace*{-19ex} +\hfill +\begin{xy} + 0;/r5pc/:*\dir{*}="p",*+!UR{p} + ;p+(.5,-.5)*\dir{*}="o",*++!L{o}**\dir{-} + ,p+(.5,.5)*\dir{*}="c",*++!D{c},"c" + ;p+(1,.1)*\dir{*}="q",*++!L{q}**\dir{-} + ,"o";"p",**{};"c" + ,{\ellipse![["o";"p"]],_![["q";"c"]]{}} + ,{\ellipse![["o";"p"]],![["c";"q"]]{.}} +\end{xy}\phantom{A} + +\bigskip +See Reference Manual for more details. + +\vspace*{-2ex} +\begin{Alltt} +\\begin\{xy\} + 0;/r5pc/:*\\dir\{*\}="p",*+!UR\{p\} + ;p+(.5,-.5)*\\dir\{*\}="o",*++!L\{o\}**\\dir\{-\} + ,p+(.5,.5)*\\dir\{*\}="c",*++!D\{c\},"c" + ;p+(1,.1)*\\dir\{*\}="q",*++!L\{q\}**\\dir\{-\} + ,"o";"p",**\{\};"c" + ,\{\red{\\ellipse![["o";"p"]],_![["q";"c"]]\{\}}\} + ,\{\red{\\ellipse![["o";"p"]],![["c";"q"]]\{.\}}\} +\\end\{xy\} +\end{Alltt} +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\large\bf \name{S46}{4.6. Two-cell}} +See Reference Manual for details. +\GOTO{Top} + +\vspace*{-2ex} +\begin{Alltt} +\\xymatrix\{ + L\red{\\rtwocell^u_d} & R \} +\end{Alltt} + +\vspace*{-10ex} +\hspace*{.6\textwidth} +\xymatrix{ + L\rtwocell^u_d & R } + +\begin{Alltt} +\\xymatrix @=15mm\{ + L_1 \red{\\rlowertwocell<-3>_\{a_1\}\{<-1>\} + \\rcompositemap<6>_\{a_2\}^\{a_3\}\{\\omit\}} +& R_1 \red{\\dtwocell<0>_\{a_4\}\{"\}}\\\\ + L_2 \red{\\uuppertwocell_u^d\{\\omit\}} + \red{\\rtwocell<2>\{'id\}} +& R_2\} +\end{Alltt} + +\vspace*{-23ex} +\hspace*{.68\textwidth} +\xymatrix @=15mm{ + L_1 \rlowertwocell<-3>_{a_1}{<-1>} + \rcompositemap<6>_{a_2}^{a_3}{\omit} + & R_1 \dtwocell<0>_{a_4}{"}\\ + L_2 \uuppertwocell_u^d{\omit} + \rtwocell<2>{'id} + & R_2} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +\centerline{\large\bf \name{S47}{4.7. Lattice and web}} +\GOTO{Top} +%See Reference Manual for more details. + +\quad +Lattice is the set given by\\ +\centerline% +{$L = \{a\vec u + b\vec v\,;\, a \text{ and } b \text{ are integers}\}$} +Here $a_{min}\le a\le a_{max}$, $b_{min}\le b\le b_{max}$ are plotted.\\ +\green{\BK xylattice}\MGNT{\tt\#1\#2\#3\#4}\quad +with (\MGNT{\tt\#1},\MGNT{\tt\#2},\MGNT{\tt\#3},\MGNT{\tt\#4})= +$(a_{min}, a_{max}, b_{min}, b_{max})$\\ +\green{\BK croplattice}\MGNT{\tt\#1\#2\#3\#4\#5\#6\#7\#8}\quad cropped +by $X$-coordinates of\\ +\qquad \MGNT{\tt\#5}$\times\vec u$ and \MGNT{\tt\#6}$\times\vec u$ +and $Y$-coordinates of \MGNT{\tt\#5}$\times\vec v$ and +\MGNT{\tt\#8}$\times\vec v$\\ +\green{\tt\BK latticebody}\quad expaned at lattice points with\\ +\quad\green{\tt\BK LatticeA \BK LatticeB}\quad (a,b) coordinate\\ +\quad\green{\tt\BK LatticeX \BK LatticeY}\quad (X,Y) coordinate in pts +%%%% +\begin{Alltt} +\\def\red{\\latticebody}\{% +\\ifnum\red{\\latticeA}=1 \\ifnum\red{\\latticeB}=-1 % +\\else \\drop\{\\dir\{+\}\}\\fi\\else +\\ifnum\red{\\latticeA}=0 \\ifnum\red{\\latticeB}=1\\else +\\drop\{\\dir\{x\}\}\\fi\\else\\drop\{\\circ\}\\fi\\fi\} +\\begin\{xy\} +(2,2)="o",0*\\xybox{\color{magenta}\{}% + 0;<3pc,1.5mm>:<0.72pc,1.65pc>:: + ,\{"o" \red{\\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\{.\}{\color{magenta}\}}="L","o"."L"="L" + ,\{"L"+L \\ar "L"+R*+!L\{s^\{(1)\}\}\} + ,\{"L"+D \\ar "L"+U*+!D\{s^\{(2)\}\}\} +\\end\{xy\} +\end{Alltt} + +\vspace*{-5ex} +\def\latticebody{% +\ifnum\latticeA=1 \ifnum\latticeB=-1 % +\else \drop{\dir{+}}\fi\else +\ifnum\latticeA=0 \ifnum\latticeB=1\else +\drop{\dir{x}}\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\] +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\large\bf \name{S48}{4.8. Knots and Links}} +\GOTO{Top} +See Reference Manual for details. + +\begin{z2col} +\begin{Alltt} +$\\xy + 0;/r1pc/: + ,\{\\vunder\\vtwist\\vtwist\\vunder-\} +\\endxy\\qquad +\\xy + 0;/r1pc/:+(0,-1.5) + ,\{\\hover\\hcross\\hcross\\hover-\} +\\endxy$ +\end{Alltt} +\kaidan + +\vspace*{1ex} +\hfill +$\xy + 0;/r1pc/: ,{\vunder\vtwist\vtwist\vunder-} +\endxy +\qquad +\xy + 0;/r1pc/:+(0,-1.5) ,{\hover\hcross\hcross\hover-} +\endxy$ +\end{z2col} + +\medskip +\begin{z2col} +\begin{Alltt} +\\begin\{xy\} /r9mm/: + ,(0,0) + ,\{\\hunder<><\{1\}|>|\{2\}>>>\{3\}% + \\htwist<<<\{4\}|>|\{5\}><>\{6\}% + \\hloop<><\{7\}|>|\{8\}>>>\{9\}\} +\\end\{xy\} +\end{Alltt} + +\kaidan + +\vspace*{.1ex} +\hfill +\begin{xy} /r9mm/: + ,(0,0) + ,{\hunder<><{1}|>|{2}>>>{3}% + \htwist<<<{4}|>|{5}><>{6}% + \hloop<><{7}|>|{8}>>>{9}} +\end{xy} +\end{z2col} + +\vspace*{-2ex} +\hfill{\knotholesize{2mm} +\xygraph{!{0;/r1cm/:} + !P5"p"{~>{.}} + !P10"d"{~:{(1.7,0):}~>{.}} + !P20"D"{~={-9}~:{(2.2,0):}~>{.}} + !{\xunderv~{"d3"}{"d2"}{"p2"}{"p1"}} + !{\xunderv~{"d5"}{"d4"}{"p3"}{"p2"}} + !{\xunderv~{"d7"}{"d6"}{"p4"}{"p3"}} + !{\xunderv~{"d9"}{"d8"}{"p5"}{"p4"}} + !{\xunderv~{"d1"}{"d10"}{"p1"}{"p5"}} + !{\vloop~{"D3"}{"D2"}{"d2"}{"d1"}|>|{a}} + !{\vloop~{"D7"}{"D6"}{"d4"}{"d3"}|>|{b}} + !{\vloop~{"D11"}{"D10"}{"d6"}{"d5"}|>|{c}>} + !{\vloop~{"D15"}{"D14"}{"d8"}{"d7"}|>|{d}} + !{\vloop~{"D19"}{"D18"}{"d10"}{"d9"}|>|{e}} +}} + +\vspace*{-14ex} +\begin{Alltt} +\\[\\knotholesize\{2mm\} +\\xygraph\{!\{0;/r1cm/:\} + !P5"p"\{~>\{.\}\} + !P10"d"\{~:\{(1.7,0):\}~>\{.\}\} + !P20"D"\{~=\{-9\}~:\{(2.2,0):\}~>\{.\}\} + !\{\\xunderv~\{"d3"\}\{"d2"\}\{"p2"\}\{"p1"\}\} + !\{\\xunderv~\{"d5"\}\{"d4"\}\{"p3"\}\{"p2"\}\} + !\{\\xunderv~\{"d7"\}\{"d6"\}\{"p4"\}\{"p3"\}\} + !\{\\xunderv~\{"d9"\}\{"d8"\}\{"p5"\}\{"p4"\}\} + !\{\\xunderv~\{"d1"\}\{"d10"\}\{"p1"\}\{"p5"\}\} + !\{\\vloop~\{"D3"\}\{"D2"\}\{"d2"\}\{"d1"\}|>|\{a\}\} + !\{\\vloop~\{"D7"\}\{"D6"\}\{"d4"\}\{"d3"\}|>|\{b\}\} + !\{\\vloop~\{"D11"\}\{"D10"\}\{"d6"\}\{"d5"\}|>|\{c\}>\} + !\{\\vloop~\{"D15"\}\{"D14"\}\{"d8"\}\{"d7"\}|>|\{d\}\} + !\{\\vloop~\{"D19"\}\{"D18"\}\{"d10"\}\{"d9"\}|>|\{e\}\} +\}\\] +\end{Alltt} +%\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\centerline{\large\bf \name{S49}{4.9. Other options}} +\vfill +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\end{document} +\def\command{{\it\color{magenta}command}} +\def\direction{{\it\color{magenta}direction}} +\def\factor{\FAC} +\def\modifier{{\it\color{magenta}modifier}} +\def\decor{{\it\color{magenta}decor}} +\def\slide{{\it\color{magenta}slide}} +\def\shape{{\it\color{magenta}shape}} +\def\composite{{\it\color{magenta}composite}} +\def\corner{{\it\color{magenta}corner}} +\def\stacking{{\it\color{magenta}stacking}} +\def\saving{{\it\color{magenta}saving}} +%\def\diag{{\it\color{magenta}diag}} +\def\number{{\it\color{cyan}number}} +\def\digit{{\it\color{cyan}digit}} +\def\adop{{\it\color{magenta}add-op}} +\def\text{\TEXT} +\def\variant{{\it\color{magenta}variant}} +\def\size{{\it\color{magenta}size}} +\def\DM{{\it\color{cyan}dimen}} +\def\orient{{\it\color{magenta}orient}} +\def\empty{{\it\color{yellow}empty}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +\centerline{\bf\name{syntax}{Basic syntax of \Xy-pic}} +\GOTO{Top} +%Interpreted from left to right. +\def\Tiny{\scriptsize} +\vspace*{-4ex} +{\small +\begin{tabbing} +\hspace*{.5cm}\=\hspace*{.5cm}\=\hspace*{.5cm}\=\hspace{2cm}\=% +\hspace*{2cm}\=\kill +\Pos\\[-4pt] +\> \pos\blue{\tt +}\cod + \>\>\>\> {\Tiny \MGNT{c}\La$+$\cod\ (size of \cod\/ is kept)} + \`\ToEx{S21} \NEXT\\ +\> \pos\blue{\tt -}\cod + \>\>\>\> {\Tiny \MGNT{c}\La$-$\cod\ (size of \cod\/ is kept)}\\ +\> \pos\blue{\normalsize\tt !}\cod + \>\>\>\>{\tiny\MGNT{c}\La\pos, skew \MGNT{c} by \cod\/ + (move reference point)}\\ +\> \pos\blue{\normalsize\tt .}\cod + \>\>\>\> {\Tiny \MGNT{c}\La\MGNT{p} with covering \MGNT{c} (size changes)}\\ +\> \pos\blue{\normalsize\tt ,}\cod + \>\>\>\> {\Tiny \MGNT{c}\La\pos, then \MGNT{c}\La\cod}\\ +\> \pos\blue{\normalsize\tt ;}\cod + \>\>\>\> {\Tiny\MGNT{c}\La\pos, swap \MGNT{p}\ \MGNT{c}, + then \MGNT{c}\La\cod}\\ +\> \pos\blue{\normalsize\tt :}\cod + \>\>\>\> {\Tiny set \MGNT{$x$-base} and naturally + arrange \MGNT{$y$-base}}\\ +\> \pos\blue{\normalsize\tt ::}\cod + \>\>\>\> {\Tiny set \MGNT{$y$-base}}\\ +\> \pos\blue{\tt *}\obj + \>\>\>\> {\Tiny\MGNT{c}\La\pos, then drop \obj\/ at \MGNT{c}}\\ +\> \pos\blue{\tt **}\obj + \>\>\>\> {\Tiny\MGNT{c}\La\pos, connect from \MGNT{p} to \MGNT{c} + using \obj\/}\\ +\> \pos\blue{\tt?}\place + \>\>\>\>{\Tiny \MGNT{c}\La\pos, \MGNT{c}\La\place}\\ +\> \pos\blue{\tt\string@}\stacking + \>\>\>\> {\Tiny\MGNT{c}\La\MGNT{p}, do \stacking}\\ +\> \pos\blue{\tt=}\saving + \>\>\>\> {\Tiny\MGNT{c}\La\MGNT{p}, do \saving}\\ +\> \Cod +\>\>\>\>{\Tiny \MGNT{c}\La\cod}\\[-3pt] +\>\> \red{\tt c p x y} + \>\>\>{\Tiny \MGNT{c}, \MGNT{p}, axis intersections with + \MGNT{$\overrightarrow{pc}$}}\\ +\>\> \blue{\tt s}\digit + \>\>\>{\Tiny stack position \digit\/ below the top (= \blue{\tt s}$0$)}\\ +\>\> {\tt\blue{s}\{\number\}} + \>\>\>{\Tiny stack position \number\/ below the top}\\ +\>\> {\tt"{\it\color{cyan}id}"} + \>\>\>{\Tiny restored what is saved as {\tt"{\it\color{cyan}id}"} earlier}\\ +\>\> {\tt\{\pos\/\ \decor\}} + \>\>\>{\tiny the \MGNT{c} resulting from interpreting the group}\\ +\>\> \Vector + \>\>\>{\Tiny \pos\/ is \vector\/ with zero size}\\ +\>\>\> \red{0} + \>\>{\Tiny zero}\\ +\>\>\> {\tt \string<\DM,\DM\string>} + \>\>{\Tiny absolute}\\ +\>\>\> {\tt \string<\DM\string>} + \>\>{\Tiny absolute with equal dimensions}\\ +\>\>\> {\tt(\factor,\factor)} + \>\>{\Tiny in current base}\\ +\>\>\> {\tt\blue{a}(\number)} + \>\>{\Tiny angle in current base (\number\ is in degree)}\\ +\>\>\> \corner + \>\>{\Tiny from reference point to \corner\/ of \MGNT{c}}\\[-2pt] +\>\>\>\hspace*{.5cm}\red{\tt L R D U CL CR CD CU C LD RD LU RU E P}\\ +\>\>\> \corner(\factor) + \>\>{\Tiny the \corner\/ multiplied with \factor}\\ +\>\>\> \blue{/}\!\direction\/\ \DM\blue{/} +\>\>{\Tiny vector \DM\/ in \direction}\\ +\>\> \empty\\[-2pt] +%%%%%%%% +\blue{\tt@+\cod}\>\>\>\>\>{\Tiny push \cod}\`\ToEx{S22}\\ +\blue{\tt@-\cod}\>\>\>\>\>{\Tiny\MGNT{c}\La\cod\/ then pop}\\ +\blue{\tt@=\cod}\>\>\>\>\>{\Tiny load stack with \cod}\\ +\blue{\tt@@\cod}\>\>\>\>\>{\Tiny do \cod\/ for \MGNT{c}\La stack}\\ +\blue{\tt@i} \>\>\>\>\>{\Tiny initialize}\\ +\blue{\tt@(} \>\>\>\>\>{\Tiny enter new frame}\\ +\blue{\tt@)} \>\>\>\>\>{\Tiny leave current frame}\\ +\blue{\tt@:"{\it\color{cyan}id}"} + \>\>\>\>\>{\Tiny {\tt"{\it\color{cyan}id}"} restores current base}\\ +\blue{\tt@\MGNT{cod}\,"{\it\color{cyan}id}"}\>\>\>\>\>{\Tiny {\tt"{\it\color{cyan}id}"} reinterprets +\cod}\\ +\blue{\tt@@"{\it\color{cyan}id}"}\>\>\>\>\>{\Tiny {\tt@="{\it\color{cyan}id}"} reloads this +stack}\\ +%%%%%%%% +\Place\`\BACK\ \NEXT\\[-3pt] +\> \blue{\tt\string<}\place + \>\>\>\>{\Tiny shave (0) to edge \MGNT{p}, \MGNT{f}\La0}\\ +\> \blue{\tt\string>}\place + \>\>\>\>{\Tiny shave (1) to edge \MGNT{c}, \MGNT{f}\La1}\\ +\> {\tt(\factor)}\place + \>\>\>\>{\Tiny \MGNT{f}\La\factor}\\ +\> \blue{\tt!}\{\pos\}\slide + \>\>\>\>{\tiny intercept with line setup by \pos\ and apply \slide}\\ +\> \slide + \>\>\>\>{\Tiny pick place ans apply \slide}\\ +\>\> \blue{\tt/}\!\DM\blue{\tt/} + \>\>\>{\Tiny slide \DM\/ further along connection}\\ +\>\> \empty\\ +\Obj\\[-2pt] +\> \modifier\/\ \obj + \>\>\>\>{\Tiny apply \modifier\/ to \obj}\\ +\> \MGNT{objectbox}\\ +\>\> {\tt\{\text\}} + \>\>\>{\Tiny build default object or text in \TeX}\\ +\>\> \MGNT{library-obj} + \>\>\>{\Tiny library object}\\ +\>\> {\tt\string@\Dir} + \>\>\>{\Tiny (\Dir)ectional}\\ +\>\> {\tt\BK object \obj} + \>\>\>{\Tiny wrap up \obj\/ as finished object box}\\ +\>\> {\tt\BK composite}\{\composite\} + \>\>\>{\Tiny build composit object box}\\ +\>\> {\tt\BK xybox\{\pos\/\ \decor\}} + \>\>\>{\Tiny package entire \Xy-picture as object}\\ +\composite\\ +\> {\tt\composite\blue{*}\obj} + \>\>\>\>{\Tiny add \obj\/ to composite object box}\\ +\> \obj + \>\>\>\>{\Tiny first object is required}\\ +\modifier\\ +\> {\tt\red{!}\vector} + \>\>\>\>{\tiny \obj\/ has its reference point shifted by \vector}\\ +\> {\tt\red{!}} + \>\>\>\>{\tiny \obj\/ has the original reference point reinstalled}\\ +\> \adop\/\ \size + \>\>\>\>{\Tiny change \obj\/ size {\tt<\dm,\dm>}}\\ +\> {\tt\red{h i}} + \>\>\>\>{\Tiny \obj\/ is given hidden, invisible}\\ +\> {\tt[\shape]} + \>\>\>\>{\Tiny \obj\/ is given the specified \shape\/}\\ +\> {\tt[\blue{=}\shape]} + \>\>\>\>{\tiny define \shape\/ to reestabrish current object style}\\ +\> \direction +\>\>\>\>{\Tiny set current \direction\/ for this \obj}\\ +\>\> \Diag\\ +\>\>\> \red{\tt l r d u ld rd lu ru} +\>\>{\Tiny left diagonal, right diagonal,\ldots}\\ +\>\>\> \empty +\>\>{\Tiny last used direction}\\ +\>\> \blue{\tt v}\vector + \>\>\>{\Tiny direction of \vector}\\ +\>\> {\tt\blue{q}\{\pos\/\ \decor\}} + \>\>\>{\Tiny direction from \MGNT{p} to \MGNT{c} after \pos\/ \decor}\\ +\>\> \direction:\vector + \>\>\>{\Tiny \vector\/ relative to \direction}\\ +\>\> \direction\/\ \orient +\>\>\>{\Tiny \orient\/ to \direction}\\ +%red{\string_}\\ +%\>\> \direction\red{\string^}\\ + +\goto{addop}{\adop}\\[-3pt] +\>\red{\tt +} + \>\>\>\>{\Tiny default size: \tt+2$\times$\MGNT{objectmargin}}\\ +\>\red{\tt -} + \>\>\>\>{\Tiny default size: \tt-2$\times$\MGNT{objectmargin}}\\ +\>\red{\tt =} + \>\>\>\>{\Tiny default size: \tt=<\MGNT{objectwidth},\MGNT{objectheight}>}\\ +\>\red{\tt +=} + \>\>\>\>{\Tiny default size: \tt+=<max($L_c+R_c,D_c+U_c)$>}\\ +\>\red{\tt -=} + \>\>\>\>{\Tiny default size: \tt-=<min($L_c+R_c,D_c+U_c)$>}\\ +% \>\>\>\>\> \red{\tt + - = += -=}\\ +\orient + \>\>\>\>\>\red{\tt \string_} {\Tiny(clockwise)}\qquad + \red{\tt\string^} {\Tiny(conterclockwise)}\\ +\shape\\ +\>{\red{\tt.\ o r l u d} etc.} +\>\>\>\> + {\Tiny many optional ones \red{\tt|({\color{cyan}num}) @!{\color{cyan}number}}}\\ +\>\empty\\ +\\ +%%% +{\tt\BK objectmargin\adop\{\dm\}} + \>\>\>\>\>{\Tiny set default object margin}\\ +{\tt\BK objectwidth\adop\{\dm\}} + \>\>\>\>\>{\Tiny set default object width}\\ +{\tt\BK objectheight\adop\{\dm\}} + \>\>\>\>\>{\Tiny set default object height}\\ +\\ +{\tt\BK xy \pos\ \decor\ \BK endxy} +\>\>\>\>\>{\Tiny build a box with an \Xy-picture} +\`\BACK\ \NEXT\\ +{\tt\BK everyxy=\{\text\}} + \>\>\>\>\>{\Tiny typed literally right after each {\tt\BK xy} command}\\ +\\ +\command\\ +\> {\tt\BK save \pos} + \>\>\>\>{\Tiny save state, and do \pos}\\ +\> {\tt\BK restore} + \>\>\>\>{\Tiny restore state by saved maching \BK save}\\ +\> {\tt\BK POS \pos} + \>\>\>\>{\Tiny interpret \pos}\\ +\> {\tt\BK afterPOS \{\decor\} \pos} + \>\>\>\>{\Tiny interpret \pos\/ and then perform \decor}\\ +\> {\tt\BK drop \obj} + \>\>\>\>{\Tiny drop \obj\/ as}\quad \pos\/ \blue{\tt*}\obj \\ +\> {\tt\BK connect \obj} + \>\>\>\> {\Tiny connect with \obj\/ as}\quad \pos\/ \blue{\tt**}\obj\\ +\> {\tt\BK relax} + \>\>\>\>{\Tiny do nothing}\\ +\> \TeX-command + \>\>\>\>{\Tiny any \TeX\/ command}\\ +\> {\tt\BK xyverbose \BK xytracing \BK xyquiet} + \>\>\>\>\qquad\qquad{\Tiny tracing command}\\ +\> {\tt\BK xyignore} + \>\>\>\>{\Tiny ignore \Xy-command}\\ +\> {\tt\BK xycompile\{\pos\ \decor\}} + \>\>\>\>{\Tiny compile to file \MGNT{prefix} \MGNT{no}.xyc}\\ +\> {\tt\BK xycompileto\{\MGNT{name}\}\{\pos\ \decor\}} + \>\>\>\>\qquad\qquad {\Tiny compile to file \MGNT{name}.xyc}\\ +\decor\\ +\> \command\/\ \decor\\ +\> \empty\\ +\\ +%% +\MGNT{c} + \>\>\>\>\>{\MGNT{c}\/urrent position}\\ +\MGNT{p} + \>\>\>\>\>{\MGNT{p}\/revious position}\\ +{\it\color{cyan}digit} + \>\>\>\>\>{one digit}\\ +{\it\color{cyan}number} + \>\>\>\>\>{an integer number}\\ +\FAC + \>\>\>\>\>{a real number}\\ +\name{dm}{\dm} + \>\>\>\>\>{a length in \TeX}\\ +{\it\color{cyan}letter} + \>\>\>\>\>{a letter (a usual character) in \TeX}\\ +{\it\color{cyan}id} + \>\>\>\>\>{a string in \TeX}\\ +\TEXT + \>\>\>\>\>{a text in \TeX}\\ +{\it\color{cyan}space} + \>\>\>\>\>{a space}\\ +\empty + \>\>\>\>\>{empty}\\ +%\BK dir dir\\ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\>\>\>\>{\bf\normalsize Kernel object library}\\ +{\tt\BK dir \DIR} + \>\>\>\>\> {\Tiny a directional object (a kernel object)}\`\ToEx{S42}\\ +\Dir\\ +\>\MGNT{variant}\{\MGNT{\it main}\} + \>\>\>\>{\Tiny see \href{#S17}{\S1.7} for \MGNT{main} +(in kernel library)}\\ +\MGNT{variant} + \>\>\>\>\>\red{\tt \string_ \string^ 2 3}\\ +%\\ +%% +{\tt\BK cir \MGNT{radius}\{\CIR\}} + \>\>\>\>\>{\Tiny a circle object (a kernel object)}\`\ToEx{S25}\\ +\MGNT{radius}\\ +\> \Dm\\ +\> \vector + \>\>\>\>{\Tiny use $X$ of the \vector\/ as radius}\\ +\> {\it\color{yellow}empty} + \>\>\>\>{\Tiny use \red{$R_c$} as radius}\\ +\Cir + \>\>\>\>\>{\Tiny partial circle segment with \orient\/ation}\\ +\> \Diag\ \orient\ \Diag + \>\>\>\>{\Tiny \diag\/s are start/end directions along circle}\\ +\> \empty + \>\>\>\>{\Tiny full circle}\\ +%\\ +%% +{\tt\BK txt<\MGNT{width}> \MGNT{style}\{\TEXT\}} + \>\>\>\>\>{\tiny\TEXT\/ is typeset to \MGNT{width} with \MGNT{style}(a kernel object)}\\ +\MGNT{width} \>\>\>\>\>{\Tiny \BK\BK\/ can be used in \TEXT. All lines are centered.}\\ +\>\Dm\`\ToEx{S115}\\ +\> {\it\color{yellow}empty}\\ +\MGNT{style} + \>\>\>\>\>{\scriptsize a font command etc.\ for each line}\\ +\\ +\>\>\>\>{\bf\normalsize Extensions}\`\BACK\ \NEXT\\ +\name{Dcurve}{\tt **\BK crvs\{\MGNT{dir}\}} + \>\>\>\>\>{\Tiny get \MGNT{polist} from the stack}\`\ToEx{S31}\\ +{\tt \BK curve\MGNT{modifier}\{\MGNT{curve-object} \MGNT{polist}\}} + \>\>\>\>\>\qquad{\Tiny as a {\decor}\/ation}\\ +{\tt \BK crv\MGNT{modifier}\{\MGNT{curve-object} \MGNT{polist}\}} + \>\>\>\>\>\qquad{\Tiny {\tt \BK curve} equals {\tt \BK connect\BK crv}}\\ +% +\MGNT{modifier} +\\ +\> {\tt\blue{\string~}}\MGNT{curve-option} \MGNT{modifier} + \>\>\>\>{\Tiny set \MGNT{curve-option}}\\ +\> \empty\>\>\>\>{\Tiny default is {\tt\string~C}}\\ +\MGNT{curve-option}\\ +\>\red{\tt p P l L c C pc pC Pc PC lc lC Lc LC cC}\\ +\MGNT{curve-object}\\ +\>\blue{\tt\string~*}\obj\ \MGNT{curve-object} + \>\>\>\>{\Tiny specify the drop object}\\ +\>\blue{\tt\string~**}\obj\ \MGNT{curve-object} + \>\>\>\>{\Tiny specify connect pbject}\\ +\>\empty\\ +\MGNT{polist}\\ +\>\pos\ \blue{\tt\string&} \MGNT{polist} + \>\>\>\>{\Tiny list f positions for control points}\\ +\>\blue{\tt\string~@} + \>\>\>\>{\Tiny add the current stack to the control points}\\ +\>\blue{\tt\string~@ \string& }\MGNT{polist}\\ +\>\empty\\ +{\tt\BK xycircle\vector\{\MGNT{style}\}}\`\ToEx{Circles}\\ +{\tt\BK qspline\{\MGNT{style}\}}\\ +{\tt\BK frm\{\MGNT{style}\}}\`\ToEx{S32}\\ +{\tt\BK SelectTips\{\MGNT{family}\}}\\ +\MGNT{family}\\ + \>\red{\tt xy cm eu}\\ +\\ +{\tt\BK xyimport(\MGNT{width},\MGNT{height})% +\{\MGNT{graphic}\}}\\ +{\tt\BK xyimport(\MGNT{width},\MGNT{height})% +(\MGNT{$x$-off},\MGNT{$y$-off})\{\MGNT{graphic}\}}\\ +\\ +%\\ +\>\>\>\>{\bf\normalsize Features}\\ +{\tt\BK afterPATH} \{\MGNT{decor}\}\MGNT{path} + \>\>\>\>\>{\Tiny Interpret \MGNT{path} and then run \MGNT{decor}}\\ +\name{DefPATH}{{\tt\BK PATH \MGNT{path}}} + \>\>\>\>\>{\Tiny Interpret \MGNT{path}}\`\ToEx{S41}\ \BACK\ \NEXT\\ +\name{pathdef}{\MGNT{path}}\\ +\>{\tt\color{blue}\string~\MGNT{action}\{\MGNT{stuff}\}}\MGNT{path} + \>\>\>\>{\Tiny set \MGNT{action} to \MGNT{stuff}}\\ +\>{\tt\color{blue}\string~\MGNT{which}\{\MGNT{labels}\}}\MGNT{path} + \>\>\>\>{\Tiny add \MGNT{labels} prefix for some segments}\\ +\>{\tt\color{blue}\string~\{\MGNT{stuff}\}}\MGNT{path} + \>\>\>\>{\Tiny set failure continuaton to \MGNT{stuff}}\\ +\>{\tt\color{blue}'}\MGNT{segment} \MGNT{path} + \>\>\>\>{\Tiny make straight segment}\\ +\>{\tt\color{blue}`}\MGNT{turn} \MGNT{segment} \MGNT{path} + \>\>\>\>{\Tiny make turning segment}\\ +\>\MGNT{segment} + \>\>\>\>{\Tiny make last segment}\\ +\>\>\MGNT{path-pos} \MGNT{slide} \MGNT{labels} + \>\>\>{\Tiny segment with \MGNT{slide} and \MGNT{labels}}\\ +\MGNT{action}\>\>\>\>{\tt\color{red}= / } +{\Tiny use \MGNT{stuff} before/after each segment}\\ +\MGNT{which}\>\>\>\>{\tt\color{red}< > }{\Tiny next (last) segment only} +\quad{\tt\color{red} = }{\Tiny every segmant}\\ +\MGNT{turn}\\ +\>\Diag\/ \MGNT{turnradius} + \>\>\>\>{\Tiny 1/4 turn starting in \MGNT{diag}}\\ +\>\Cir\ \MGNT{turnradius} + \>\>\>\>{\Tiny explisit turn}\\ +\MGNT{turnradius}\\ +\>{\tt\color{blue}/}\Dm + \>\>\>\>{\Tiny set turnradius to \dm}\\ +\>\empty + \>\>\>\>{\Tiny use default turn radius}\\ +\MGNT{slide}\\ +\>\Dm + \>\>\>\>{\Tiny \dm\/ in the ``above" direction}\\ +\>\empty\\ +\MGNT{labels}\\ +\>{\tt\color{blue}\string^}\MGNT{anchor} \MGNT{it} \MGNT{alias} \MGNT{labels} + \>\>\>\>{\Tiny label with \MGNT{it}\/em above \MGNT{anchor}}\\ +\>{\tt\color{blue}\string_}\MGNT{anchor} \MGNT{it} \MGNT{alias} \MGNT{labels} + \>\>\>\>{\Tiny label with \MGNT{it}\/em below \MGNT{anchor}}\\ +\>{\tt\color{blue}|}\MGNT{anchor} \MGNT{it} \MGNT{alias} \MGNT{labels} + \>\>\>\>{\Tiny break with \MGNT{it}\/em at \MGNT{anchor}}\\ +\>\empty\\ +\MGNT{anchor}\\ +\>{\tt\color{blue}-}\MGNT{anchor}\\ +\>\MGNT{place}\\ +\MGNT{alias}\\ +\>{\tt\color{blue}="{\it\color{cyan}id}"} + \>\>\>\>{\Tiny optional name for label object}\\ +\>\empty\\ +\MGNT{it}\`\BACK\ \NEXT\\\ +\>{\it\color{cyan}digit} + \>\>\>\>{\Tiny\tt\color{red}0 1 2 3 4 5 6 7 8 9}\\ +\>{\it\color{cyan}letter} + \>\>\>\>{\Tiny\tt\color{red}0 $\cdots$ A B $\cdots$ y z}\\ +\>{\tt\{\TEXT\}} + \>\>\>\>{\Tiny usual text}\\ +\>\MGNT{cs}\\ +\>{\tt\color{blue}*}\obj + \>\>\>\>{\Tiny\obj\/ect}\\ +\>{\tt\color{blue}@}\Dir + \>\>\>\>{\Tiny\DIR\/ectory}\\ +\>{\tt\color{blue}[\MGNT{shape}]}\MGNT{it} + \>\>\>\>{\Tiny use [\MGNT{shape}] for \MGNT{it}\/em}\\ +{\tt\BK labelmargin\goto{addop}{\MGNT{add-op}}\{\dm\}}\\ +{\tt\BK turnradius\goto{addop}{\MGNT{add-op}}\{\dm\}} +\>\>\>\>\>{\Tiny default: 10pt}\\ +\\ +%%%%%%%% +{\tt\BK ar \MGNT{form}{}\green{$^*$} \goto{pathdef}{\MGNT{path}}} + \>\>\>\>\>{\Tiny make \MGNT{arrow} along \MGNT{path}}\\ +\>\>{\Tiny\MGNT{form}{}\green{$^*$} represents \MGNT{form} \MGNT{form} \MGNT{$\cdots$}}\>\>\>{\Tiny(may be \empty)}\\ +\MGNT{form}\\ +\>{\tt \blue{@}\MGNT{variant}} + \>\>\>\>{\Tiny use \MGNT{variant} of arrow}\\ +\>{\tt \blue{@}\MGNT{variant}\{\MGNT{tip}\}} + \>\>\>\>{\Tiny use standart stem and \MGNT{tip} for head}\\ +\>{\tt \blue{@}\MGNT{variant}\{\MGNT{tip} \MGNT{conn} \MGNT{tip}\}} + \>\>\>\>{\Tiny use \MGNT{tip} \MGNT{conn} \MGNT{tip} as tail, stem, head}\\ +\>{\tt \blue{@}\MGNT{connchar}} + \>\>\>\>{\Tiny change stem by \MGNT{connchar}}\\ +\>{\tt \blue{@!}} + \>\>\>\>{\Tiny dash the arrow stem by doubling it}\\ +\>{\tt \blue{@}/\!\MGNT{direction}\/ \MGNT{dist}/} + \>\>\>\>{\Tiny curve arrow the \MGNT{dist}\/ance + towards \MGNT{direction}}\\ +\>{\tt \blue{@}(\MGNT{direction},\MGNT{direction})} + \>\>\>\>{\Tiny curve fit with in-out directions}\\ +\>{\tt \blue{@`}\{\MGNT{control-point-list}\}} + \>\>\>\>{\Tiny curve setup with explicit control points}\\ +\>{\tt \blue{@}[\MGNT{shape}]} + \>\>\>\>{\Tiny add [\MGNT{shape}] to \MGNT{modifier}s for all objects}\\ +\>{\tt \blue{@}\{\MGNT{modifier}\green{$^*$}\}} + \>\>\>\>{\Tiny add \MGNT{modifier} for all objects}\\ +\>{\tt \blue{@}<\Dm>} + \>\>\>\>{\Tiny slide arrow by \Dm}\\ +\>{\tt\red{|}\Anchor\/ \MGNT{it}} + \>\>\>\>{\Tiny break each segment at \MGNT{anchor} with \MGNT{it}\/em}\\ +\>{\tt\red{\string^}\Anchor\/ \MGNT{it}} + \>\>\>\>{\Tiny label each segment at \red{\tt\string^}\MGNT{anchor} + with \MGNT{it}\/em}\\ +\>{\tt\red{\string_}\Anchor\/ \MGNT{it}} + \>\>\>\>{\Tiny label each segment at \red{\tt\string_}\MGNT{anchor} + with \MGNT{it}\/em}\\ +\>{\tt\blue{@?}} + \>\>\>\>{\Tiny reverse meaning of \red{\tt\string^} and \red{\tt\string_}}\\ +%%%% +\goto{S17}{\MGNT{variant}}\\ + \>{\tt\color{red}\string^ \string_ 0 1 2 3}\\ + \>\empty\\ +\goto{S17}{\MGNT{tip}}\\ +\> \MGNT{tipchar}\green{${}^*$}\\ +\> \Dir + \>\>\>\>{\Tiny \DIR\/ectional}\\ +\goto{S17}{\MGNT{tipchar}}\>\>\>\> +{\tt\color{red}< > ( ) | ' ` + / {\color{cyan}letter space}}\\ +\goto{S17}{\MGNT{conn}}\\ +\>\MGNT{conchar}\green{${}^*$}\\ +\>\Dir + \>\>\>\>{\Tiny \DIR\/ectional}\\ +\goto{S17}{\MGNT{conchar}} + \>\>\>\>{\tt\color{red}- .\ \string~ = :}\\ +%%%%%%%%%%%%%%%%%%%%%% xymatrix %%%%%%%%%%%%%%%%%%%%%%%% +{\tt \BK xymatrix \MGNT{setup}\green{${}^*$}\{} + \`\BACK\ \NEXT\ \ToEx{S11} \Goto{Top}{Top}\\ +{\tt\ \MGNT{entry} \& \MGNT{entry} \& $\cdots$ \BK\BK}\\ +{\tt\ \MGNT{entry} \& \MGNT{entry} \& $\cdots$ \BK\BK}\\ +{\tt\ $\cdots$ \}}\\ +%\\ +\MGNT{setup}\\ +\>{\tt \blue{@R} \adop\ \dm} + \>\>\>\>{\Tiny change row spacing}\\ +\>{\tt \blue{@C} \adop\ \dm} + \>\>\>\>{\Tiny change column spacing}\\ +\>{\tt \blue{@}\ \ \adop\ \dm} + \>\>\>\>{\Tiny change row and column spacing}\\ +\>{\tt \blue{@!R}} + \>\>\>\>{\Tiny every row spacing is the maximal in entries}\\ +\>{\tt \blue{@!C}} + \>\>\>\>{\Tiny every column spacing is the maximal in entries}\\ +\>{\tt \blue{@!}} + \>\>\>\>{\Tiny\tt\blue{@!R @!C}}\\ +\>{\tt \blue{@!0}} + \>\>\>\>{\Tiny entries have size 0, + {\tt\blue{@!R0} \blue{@!C0}} are possible}\\ +\>{\tt \blue{@!=\dm}} + \>\>\>\>{\Tiny entries have size \dm, \blue{@!R=\dm} etc are OK}\\ +\>{\tt \blue{@1}} + \>\>\>\>{\Tiny suited for one-line matrices}\\ +\>{\tt \blue{@}\MGNT{direction}} + \>\>\>\>{\Tiny orientation, \red{\tt r} is the default of \MGNT{direction}}\\ +\>{\tt \blue{@*}[\MGNT{shape}]} + \>\>\>\>{\Tiny apply to every entries}\\ +\>{\tt \blue{@*}\adop\ \MGNT{size}} + \>\>\>\>{\Tiny apply to every entries}\\ +\>{\tt \blue{@}\MGNT{em} \adop\ \dm} +\>\>\>\>{\Tiny set size for entries}\\ +\MGNT{em}\\ +\>\red{\tt M} + \>\>\>\>{\Tiny entry margin}\\ +\>\red{\tt W} + \>\>\>\>{\Tiny entry width}\\ +\>\red{\tt H} + \>\>\>\>{\Tiny entry height}\\ +\>\red{\tt L} + \>\>\>\>{\Tiny label separation for label}\\ +\MGNT{entry}\\ + \>\{\text\} + \>\>\>\>{\Tiny a math text, sometimes \{ \} may be omitted}\\ + \>\blue{\tt*}\obj\ \pos\ \decor\\ + \>{\tt\blue{**}[\MGNT{shape}]}\MGNT{entry}\\ + \>{\tt\blue{**}[\MGNT{modifier}\green{${}^*$}]}\MGNT{entry}\\ +{\tt "\MGNT{r},\MGNT{c}"} + \>\>\>\>\>{\Tiny entry row \MGNT{r} and column \MGNT{c}, top left is {\tt"1,1"}}\\ +{\tt [$\Delta$\MGNT{r},$\Delta$\MGNT{c}]} + \>\>\>\>\>{\Tiny $\Delta$\MGNT{r} rows below and $\Delta$\MGNT{c} columns right}\\ +{\tt [\MGNT{hop}\green{${}^*$}]} + \>\>\>\>\>{\Tiny entry reached by \MGNT{hop}\green{${}^*$}}\\ +{\tt [\MGNT{hop}\green{${}^+$}\MGNT{place}]} + \>\>\>\>\>{\Tiny place on straight line to non-empty \MGNT{hop}\green{${}^*$}}\\ +\MGNT{hop}\\ +\>{\tt\color{red}r l u d} + \>\>\>\>{\Tiny right left up down}\\ +{\tt "\MGNT{prefix} \MGNT{r},\MGNT{c}"\quad \ \ +["\MGNT{prefix}" $\Delta$\MGNT{r},$\Delta$\MGNT{c}]} + \>\>\>\>\>\qquad\qquad{\Tiny entry from the matrix \MGNT{prefix}}\\ +{\tt ["\MGNT{prefix}" \MGNT{hop}\green{${}^*$}] +["\MGNT{prefix}" \MGNT{hop}\green{${}^+$}\MGNT{place}]} + \>\>\>\>\>\qquad\qquad{\Tiny entry from the matrix \MGNT{prefix}}\\[.5ex] +{\tt\BK xymatrixrowsep\,\adop\,\dm} + \>\>\>\>\>\ \ {\Tiny change row separation (default 2pc)}\\ +{\tt\BK xymatrixcolsep\,\adop\,\dm} + \>\>\>\>\>\ \ {\Tiny change column separation (default 2pc)}\\ +{\tt\BK entrymodifiers=\{\MGNT{modifier}\green{${}^*$}\}}\\ +{\tt\BK everyentry=\{\decor\}}\\ +%%%%%%%%%%%%%%%%%%% GRAPH %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\name{Dgraphic}{\tt\BK xygraph\{\MGNT{graph}\}} +\>\>\>\>\>{\Tiny Setup \MGNT{graph} which equals} \MGNT{step}\green{${}^*$} +\`\ToEx{S42}\\ +%\MGNT{graph} +% \>\>\>\>\>{\Tiny interpret \MGNT{step}\/s in sequence}\\ +%\>\MGNT{step}\green{${}^*$}\\ +\MGNT{step}\`\ \BACK\ \Goto{Top}{Top}\\[-3pt] +\>{\tt\blue{-}\MGNT{arrow} \MGNT{node} \MGNT{labels}} + \>\>\>\>{\Tiny draw line to \MGNT{node} with \MGNT{labels}}\\ +\>{\tt\blue{:}\MGNT{arrow} \MGNT{node} \MGNT{labels}} + \>\>\>\>{\Tiny draw \MGNT{arrow} to \MGNT{node} with \MGNT{labels}}\\ +\>{\tt(\MGNT{list})} + \>\>\>\>{\Tiny map current node over \MGNT{list}}\\ +\>\MGNT{node} + \>\>\>\>{\Tiny move to the \MGNT{node}}\\ +\>\>{\tt[\MGNT{move}]} + \>\>\>{\Tiny new node \MGNT{move}\/d relative to current}\\ +\>\>{\tt\blue{\&}} + \>\>\>{\Tiny new node is next column}\\ +\>\>{\tt\blue{\BK \BK}} + \>\>\>{\Tiny new node is next row}\\ +\>\>{\tt"{\it\color{cyan}id}"} + \>\>\>{\Tiny previously saved node}\\ +\>\>{\tt\blue{?}} + \>\>\>{\Tiny currently mapped node}\\ +\>\>{\tt\MGNT{node} \MGNT{it}} + \>\>\>{\Tiny \MGNT{node} with \MGNT{it} typeset and saved there}\\ +\>\>{\tt\MGNT{node}="{\it\color{cyan}id}"} + \>\>\>{\Tiny \MGNT{node} saved as "{\it\color{cyan}id}"}\\ +\>\>{\tt\MGNT{node}\blue{!}\MGNT{escape}} + \>\>\>{\Tiny \MGNT{node} augment node with material in another node}\\ +\MGNT{move}\\[-2pt] +\>\MGNT{hop}\green{${}^*$} + \>\>\>\>{\Tiny\MGNT{hop}s (\red{\tt d u l r}) from current node}\\ +\>\MGNT{hop}\green{${}^*$} \Place\ \MGNT{move} + \>\>\>\>{\Tiny do \MGNT{hop}s but use \MGNT{place} and \MGNT{move} again}\\ +\MGNT{list}\\[-6pt] +\>\MGNT{graph}, \MGNT{list}\\[-2pt] +\>\MGNT{graph}\\[-1pt] +\MGNT{escape}\\[-2pt] +\>{\tt\{\pos,\decor\}} + \>\>\>\>{\Tiny perform \pos\ \decor}\\ +\>{\tt\blue{M} \MGNT{matrix}} + \>\>\>\>{\Tiny insert \MGNT{matrix}}\\ +\>{\tt\blue{P} \MGNT{polygon}} + \>\>\>\>{\Tiny insert \MGNT{polygon}}\\ +\>{\tt\blue{E} \MGNT{ellipse}} + \>\>\>\>{\Tiny insert \MGNT{ellipse}}\\ +\>{\tt\blue{\string~} \MGNT{setup}} + \>\>\>\>{\Tiny setup paramaters}\\ +{\tt\blue{!\string~}\MGNT{setup}}\\[-2pt] +\>{\tt\blue{!\string~}:\{\MGNT{arrow}\}} + \>\>\>\>{\Tiny include with every \blue{\tt:} arrow}\\ +\>{\tt\blue{!\string~}-\{\MGNT{arrow}\}} + \>\>\>\>{\Tiny include with every \blue{\tt-} line}\\ +\>{\tt\blue{!\string~*}\{\MGNT{modifier}\}} + \>\>\>\>{\Tiny include with every non-\blue{\tt*} node}\\ +\>{\tt\blue{!\string~}{\it\color{cyan}letter}\{\MGNT{graph}\}} + \>\>\>\>{\Tiny define new graph escape} \blue{\tt!}% + {\it\color{cyan}letter}\\ +%% +{\tt\BK newgraphescape\{{\it\color{cyan}letter}\}\color{red}{\verb|#1#2|$\cdots$}\{\MGNT{graph}\}}\\ +%%% +\name{Dpolygon}% +{\tt\BK xypolygon\,{\it\color{cyan}number} "\MGNT{prefix}" \{\MGNT{switches}$\cdots$\}}\`\ToEx{S44}\\ +{\tt\blue{\string~:}\{$\ldots$\}} + \>\>\>\>\>{\Tiny for rescaling}\\ +{\tt\blue{\string~*}\{\obj\}} + \>\>\>\>\>{\Tiny \obj\/ at each vertex} \\ +{\tt\blue{\string~=}\{\MGNT{angle}\}} + \>\>\>\>\>{\Tiny aligne first vertex}\\ +{\tt\blue{\string~<}\{$\ldots$\}} + \>\>\>\>\>{\Tiny directional for "spokes"} \\ +{\tt\blue{\string~<<}\{\MGNT{arrow}\}} + \>\>\>\>\>{\Tiny use \MGNT{arrow} for "spokes"} \\ +{\tt\blue{\string~<>}\{$\ldots$\}} + \>\>\>\>\>{\Tiny labels and breakes on "spokes"} \\ +{\tt\blue{\string~>}\{$\ldots$\}} + \>\>\>\>\>{\Tiny directional for "slides"} \\ +{\tt\blue{\string~><}\{\MGNT{arrow}\}} + \>\>\>\>\>{\Tiny use \MGNT{arrow} for "slides"} \\ +{\tt\blue{\string~>>}\{$\ldots$\}} + \>\>\>\>\>{\Tiny labels and breaks in "slides"} +\end{tabbing} +\end{document} |