summaryrefslogtreecommitdiff
path: root/Master/tlpkg/dviout/HYPERTEX/input9.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/dviout/HYPERTEX/input9.tex')
-rw-r--r--Master/tlpkg/dviout/HYPERTEX/input9.tex3567
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}