summaryrefslogtreecommitdiff
path: root/Master/tlpkg/dviout/HYPERTEX/inputxy.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/dviout/HYPERTEX/inputxy.tex')
-rw-r--r--Master/tlpkg/dviout/HYPERTEX/inputxy.tex930
1 files changed, 930 insertions, 0 deletions
diff --git a/Master/tlpkg/dviout/HYPERTEX/inputxy.tex b/Master/tlpkg/dviout/HYPERTEX/inputxy.tex
new file mode 100644
index 00000000000..9e787572f60
--- /dev/null
+++ b/Master/tlpkg/dviout/HYPERTEX/inputxy.tex
@@ -0,0 +1,930 @@
+\documentclass[10pt]{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
+\usepackage[all]{xy}
+\fi
+\xyoption{poly}
+\xyoption{arc}
+\xyoption{2cell}
+\xyoption{knot}
+\xyoption{web}
+\UseAllTwocells
+%%%
+\newenvironment{Alltt}{%
+\renewcommand{\\}{\char`\\}
+\begin{alltt}%
+}{%
+\end{alltt}
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\ToDef#1{\goto{#1}{\colorbox{magenta}{\tiny\sf Def}}}
+\def\ToEx#1{\goto{#1}{\colorbox{magenta}{\tiny\sf Ex}}}
+\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}
+\if\pdf
+\rightline{\href{http://akagi.ms.u-tokyo.ac.jp/input9.pdf}{\colorbox{cyan}{\scriptsize\sf Help \Xy-pic}}
+\ \NEXT}
+\else
+\rightline{\href{file:input9.dvi}{\colorbox{cyan}{\scriptsize\sf Help \Xy-pic}}
+\ \NEXT}
+\fi
+\centerline{\Large\bf\Xy-pic}
+
+\vspace*{-4ex}
+\section{はじめに}
+\AmS-\LaTeX の\texttt{CD}環境で簡単な可換図式が描けますが,
+矢印の形状が限られている上,斜めの矢印が描けないなど種々の制約があります.
+$\Xy$-pic はこのような制約が無く,各種の図式を描くことができます.
+%簡単に可換図式を描くことができるなど,
+%以下のような優れた特徴を持っています.
+\begin{itemize}
+\item
+任意の2点間に矢印が引け,矢先,軸,矢羽を組み合わせて種々の形状が可能で,
+軸の部分も自由に曲げることができる.
+\item
+可換図式,フローチャート,有向グラフやツリーグラフ,
+カテゴリー理論のセル2つの図式,多角形や楕円などの図形や自由曲線,
+格子構造の図式,結び目やリンク,などを描くための機能が備わっている.
+\item
+矢印や曲線などは独自のフォントによって(specialsを用いない)標準の\TeX の機能
+内で動作する.一方,出力デバイスに依存するが,tpic specials や PostScriptを使
+った軽く綺麗な出力にも対応し,タイプセットは(綺麗さを除いて)両者で同一で
+ある.これを利用し,拡大してもギザギザが出ないPDFに変換できる.
+\item
+座標の原点の移動のみならず,$X$-軸,$Y$-軸の単位ベクトルを任意に指定できるので,斜交座標の採用や図形のアフィン変換が容易.
+\item
+\LaTeX, plain\TeX, \AmS-\TeX など,種々の\TeX の下で同様に動く.
+\end{itemize}
+\quad
+\Xy-pic はいくつかのファイル群から成り立っており,必要なもののみ読み込むことができますが,当面は
+\begin{quote}
+\keyin{\usepackage[all]{xy} 0d 0a}{{\sf \BK usepackage[all]\{xy\}}}
+\end{quote}
+を\LaTeX の冒頭の{\sf \BK usepackage\{\}}の最後に追加しておくのがよいでしょう.
+
+\quad
+以下で扱う \LaTeX や p\LaTeX の場合,\Xy-pic は,本文の中で
+\begin{quote}
+\keyin{\begin{xy} 0d 0a\end{xy} 0d 0a}{{\sf \BK begin\{xy\}\\
+\quad$\cdots$\\
+\BK end\{xy\}}}
+\end{quote}
+として使うのが基本です.\\
+\quad
+なお,\href{ftp://akagi.ms.u-tokyo.ac.jp/pub/TeX/macros/xypic.zip}{ここ}
+をクリックして得たパッケージを {\tt.\BK texmf} の存在するディレクトリで展開すれば \Xy-pic がインストールされます.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{矢印}
+
+\vspace*{-4ex}
+\hfill\raisebox{2ex}{\BACK\ \NEXT}\\
+{\bf 1}.
+デフォルトの座標単位はmmで,%す.\\ \quad
+$(0,0)$から$(20,0)$に矢印を引くには
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ \\ar (20,0)
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace*{3ex}
+\begin{xy}
+ \ar (20,0)
+\end{xy}
+\end{z2col}
+
+\medskip
+とします.
+{\color{red}$(20,0)$} の代わりに実寸を用いて {\color{red}\verb|<2cm,0cm>|} の
+ように書くこともできます(\TeX で有効な\MGNT{長さ}を用いる).
+
+\quad 実際には「続けて{\color{red}\verb|\begin{xy} |}\verb|\ar (20,0)|{\color{red}\verb|\end{xy}|}と書く」と,
+以下のようになります.
+
+\centerline{「続けて\begin{xy} \ar (20,0)\end{xy}と書く」}
+
+\smallskip
+\quad
+より短く「続けて{\color{red}\verb|\xybox{|}\verb|\ar(20,0)|{\color{red}\verb|}|}と書く」としても同じ結果です.
+
+\medskip
+{\bf 2}.
+一般に
+
+\centerline{\tt\{(\MGNT{a},\MGNT{b}) \BK ar \string@\{\MGNT{arrow}\} (\MGNT{c},\MGNT{d})\} または \{\BK ar \string@\{\MGNT{arrow}\} (\MGNT{a},\MGNT{b});(\MGNT{c},\MGNT{d})\}}
+
+\medskip
+によって,{\tt(\MGNT{a},\MGNT{b})}から{\tt(\MGNT{c},\MGNT{d})}へ
+\MGNT{arrow}で形状を指定した矢印が引かれます
+(形状指定がないときは,上の標準の矢印):
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ \{(0,20) \\ar @\{\red{=>\}} (15,23)\},
+ \{(0,15) \\ar @\{\red{|-->}\} (15,15)\},
+ \{(0,15) \\ar @\{\red{~>}\} (35,5)\},
+ \{(0,5) \\ar @\{\red{.}\} (15,5)\},
+ \{(0,0) \\ar @\red{_}\{\red{||->>}\} (10,0)\},
+ \{(20,20) \\ar @\red{/^4mm/} (35,20)\},
+ \{(20,15) \\ar @\red{3}\{\red{<->}\} (35,15)\},
+ \{(20,0) \\ar @\{\red{^\{(\}-_\{>\}}\} (35,0)\}
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace*{5ex}
+\hfill
+\begin{xy}
+ {(0,20) \ar @{=>} (15,23)},
+ {(0,15) \ar @{|-->} (15,15)},
+ {(0,15) \ar @{~>} (35,2)},
+ {(0,5) \ar @{.} (15,5)},
+ {(0,0) \ar @_{||->>} (15,0)},
+ {(20,20) \ar @/^4mm/ (35,20)},
+ {(20,15) \ar @3{<->} (35,15)},
+ {(20,0) \ar @{^{(}-_{>}} (35,0)}
+\end{xy}
+\end{z2col}
+
+\medskip
+\quad
+矢印の進む向きに対し,\red{\tt\string^} は左直交方向,
+\red{\tt\string_} は右直交方向を表します(左から右へ向かう矢印に対しては,
+前者は「上」,後者は「下」方向).
+
+\quad
+一般に {\color{red}\verb|/ /|} は\textbf{ずらし}を表し,
+{\color{red}\verb|@/^4mm/|} は「左直交方向に4mmのずらし」となります.
+矢印の始点と終点は固定されたままで,上の例では4mm上に曲がった曲線の軸を持つ\textbf{標準の形状}の矢印が引かれます.
+
+\quad
+矢先と矢羽には \red{\tt < > ( ) | ' ` + / x o \{*\}} などが使えます.
+
+\quad
+矢軸には \red{\tt - . \string~ = :} が使えます.
+
+\quad
+\red{\tt@} の直後に {\tt\color{red}\verb|^ _ 2 3|} (左/右半,二/三重)のいずれかを付加できます.
+
+\quad
+形状の\MGNT{arrow}における 上の例の{\color{red}\verb|^{(}|}は
+「矢羽 \red{\tt(} の左半分」を表します.
+
+\medskip
+{\bf 3}.
+矢印のフォントはComputer ModernやEulerに変更できます:
+\hfill{\BACK\ \NEXT\!\!}
+
+\begin{z2col}
+\begin{Alltt}\\begin\{xy\} \\ar (0,10);(10,10)
+ \red{\\SelectTips\{cm\}\{\}} \\ar (0,5) ;(10,5)
+ \red{\\SelectTips\{eu\}\{\}} \\ar (10,0) \\end\{xy\} \end{Alltt}
+\kaidan
+\vspace*{-.5ex}
+\hfill\hfill
+\begin{xy}
+ \ar (0,10);(10,10)
+ \SelectTips{cm}{} \ar (0,5); (10,5)
+ \SelectTips{eu}{} \ar (10,0)
+\end{xy}
+\hfill\phantom{.}
+\end{z2col}
+
+\smallskip
+後の\red{\tt\{\ \}} の中で,ポイント(\red{10}/\red{11}/\red{12})が
+指定できます.
+
+\medskip
+{\bf 4}.
+矢印には,以下のように {\color{red}\verb:^ _ |:}(挿入) によって\textbf{ラベル}を付けられます:
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ \{(0,20) \\ar @\{\red{o.x}\}(20,20)\red{\tt\string^\{}n\\to\\infty\red{\}\string_}p\},
+ \{(0,15) \\ar @\red{/_/}@\{\red{\{*\}->}\} (20,10)\red{\tt\string^}A\red{\tt\string_}\\alpha\},
+ \{(0,0) \\ar @\{\red{||->>}\} (20,0){\tt\color{red}|\{}\\sum_n a_n\red{\tt\}}\}
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace*{-1.5ex}
+\hfill
+\begin{xy}
+ {(0,15) \ar @{o.x}(20,15)^{n\to\infty}_p},
+ {(0,10) \ar @/_/@{{*}->} (20,7)^A_\alpha},
+ {(0,0) \ar @{||->>} (20,0)|{\sum_n a_n}}
+\end{xy}\!\!\!\!
+\end{z2col}
+%%%%%%%%%%%%%%%%%%%%%%
+
+\medskip
+{\bf 5}.
+位置やラベルに{\tt\color{red}=\{\it{\color{cyan}id}\}} によって\textbf{名前}をつけると,後から参照できます:
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ (5,8.66)\red{="A"}, (0,0)\red{="B"}, (10,0)\red{="C"},
+ \\ar@\{-\}\red{"A"};\red{"B"} \\ar@\{-\}\red{"B"};\red{"C"} \\ar@\{-\}\red{"C"};\red{"A"}
+\\end\{xy\}
+\\begin\{xy\}
+ \\ar @\{<-|\} (0,0);(10,0)^a\red{="A"}
+ \\ar @\{|=>\}(15,0);(25,0)^b\red{="B"}
+ \\ar @/^/ @\{<->\}\red{"A"};\red{"B"}^c
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace*{1.ex}
+\hfill
+\begin{xy}
+ (5,8.66)="A", (0,0)="B", (10,0)="C",
+ \ar@{-}"A";"B" \ar@{-}"B";"C" \ar@{-}"C";"A"
+\end{xy}
+
+\vspace*{8ex}
+\hfill
+\begin{xy}
+ \ar @{<-|}(0,0);(10,0)^a="A"
+ \ar @{|=>}(15,0);(25,0)^b="B"
+ \ar @/^/ @{<->}"A";"B"^c
+\end{xy}
+\end{z2col}
+
+\medskip
+{\bf 6}.
+矢(羽)の\textbf{出発方向}と,終点からみた矢先の\textbf{到着方向}とは,
+この順に
+
+\centerline{\color{red}\tt@(\MGNT{方向},\MGNT{方向})}
+
+で指定できます.
+方向には
+\red{\tt r}(右),\red{\tt rd}(右下),\red{\tt d}(下),
+\red{\tt ld}(左下),\red{\tt l}(左),\red{\tt lu}(左上),\
+\red{\tt u}(上),\red{\tt ru}(右上)があります.
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ (0,0)="A", (20,0)="B",
+ \\ar \red{@(lu,ld)} "A";"A"|\{id\}
+ \\ar \red{@(d,d)} "A";"B"^f \\ar \red{@(ld,ru)} "B";"A"_g
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace*{-.1ex}
+\hfill
+\begin{xy}
+ (0,0)="A", (20,0)="B",
+ \ar @(lu,ld) "A";"A"|{id}
+ \ar @(d,d) "A";"B"^f
+ \ar @(ld,ru) "B";"A"_g
+\end{xy}
+\end{z2col}
+
+\medskip
+{\bf 7}.
+矢印は,指定した長さ(左方向が正)だけの平行の\textbf{ずらし}ができます:
+
+\centerline{\color{red}\tt@<\MGNT{長さ}>}
+
+\vspace*{-2ex}
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ (0,0)="A", (20,0)="B",
+ \\ar \red{@<1mm>} "A";"B"^\{f\}
+ \\ar \red{@<1mm>} "B";"A"^\{f^\{-1\}\}
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace{1ex}
+\hfill
+\begin{xy}
+ (0,0)="A", (20,0)="B",
+ \ar @<1mm> "A";"B"^{f}
+ \ar @<1mm> "B";"A"^{f^{-1}}
+\end{xy}
+\end{z2col}
+
+\newpage
+\medskip
+{\bf 8}.
+ラベルの直前にラベルの\textbf{場所指定}を置くことができます.\hfill
+\BACK\ \NEXT
+
+\hspace{1cm}{\tt\red{< > -\ \ \ } :矢印の末尾/先頭/中央(\red{\tt-} は \red{<>(0.5)} と同等)}\\
+\hspace{1cm}{\tt\red{(\MGNT{比})\ \ \ \ } :比で指定}\\
+\hspace{1cm}{\tt\red{/\MGNT{長さ}/\ \ } :ずらし}\\
+\hspace{1cm}{\tt\red{!\{\MGNT{位置}\}\ }} :位置で指定
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\} (0,15)="A",(0,0)="B",
+ \\ar "A";"B"^\red{<}a
+ \\ar@<6mm> "A";"B"^\red{<<<}b
+ \\ar@<12mm> "A";"B"^\red{>}c
+ \\ar@<18mm> "A";"B"^\red{(.3)}d
+ \\ar@<24mm> "A";"B"^\red{/3mm/}e \\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace{1ex}
+\hfill
+\begin{xy} (0,15)="A", (0,0)="B",
+ \ar "A";"B"^<a
+ \ar @<6mm> "A";"B"^<<<b
+ \ar @<12mm> "A";"B"^>c
+ \ar @<18mm> "A";"B"^(.3)d
+ \ar @<24mm> "A";"B"^/3mm/e
+\end{xy}\!\!\!\!
+\end{z2col}
+
+
+\medskip
+{\bf 9}.
+``A" と ``B" を結ぶ直線との交点の位置は
+
+\centerline{\color{red}\tt!\{"A";"B"\}}
+
+によって得られます.
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ (0,0)="A",(10,10)="B",(15,0)="C",(0,10)="D",
+ \\ar "A";"B"
+ \\ar "C";"D"|\red{!\{"A";"B"\}\\hole}
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+
+\vspace*{1ex}
+\hfill
+\begin{xy}
+ (0,0)="A",(10,10)="B",(15,0)="C",(0,10)="D",
+ \ar "A";"B"
+ \ar "C";"D"|!{"A";"B"}\hole
+\end{xy}
+\end{z2col}
+
+\medskip
+``C" から ``D" への矢印に対し,``A" と ``B" を結ぶ直線との交点に空白の穴 {\color{red}\verb|\hole|} を空けたものです.
+
+\quad
+一般に ``A" と ``B" を結ぶ直線と ``C" と ``D" を結ぶ直線の交点は\\
+\centerline{\tt\red{!\{"A";"B":"C";"D",x\}}}
+によって求められます.
+
+\vspace*{-3ex}
+\section{要素}
+{\bf 1}.
+図式に{\bf 要素}を配置し,それを矢印で結ぶことができます.要素は,
+通常の記号や文字,さらに一般に\TeX で表現されたものとすることができます.
+%要素の大きさが考慮されて矢印が引かれます.
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ (0,0) \red{*\{A\}}="A",(10,10)\red{*\{B\}}="B",
+ (15,0)\red{*\{C\}}="C",(0,10) \red{*\{D\}}="D",
+ \\ar "A";"B"
+ \\ar "C";"D"|!\{"A";"B"\}\\hole
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace*{2ex}
+\hfill
+\begin{xy}
+ (0,0) *{A}="A",(10,10)*{B}="B",
+ (15,0)*{C}="C",(0,10)*{D}="D",
+ \ar "A";"B"
+ \ar "C";"D"|!{"A";"B"}\hole
+\end{xy}
+\end{z2col}
+
+\smallskip
+\quad
+要素を配置するには,先頭に \red{\tt *} をつけて \red{\tt *\{\!要素\!\}} の
+ように書きます.
+%が,要素が通常の文字一つの時は \red{\tt\{\ \}} は省略できます.\\
+
+\vspace{5ex}
+\quad
+次のようなものが要素として,先頭に \red{\tt *} を付加することで配置されます.
+
+\hspace{.5cm}\red{\tt \{\!テキスト\!\}} :テキストは数式モードで組まれます.\\
+\hspace{1cm}{\TeX}における通常の {\tt\BK hbox} のように組まれた\textbf{箱}
+でもOKです.\\
+\hspace{.5cm}\red{\tt\BK txt<幅>\{\!テキスト\!\}} :テキストは通常の文章として組まれます.\\
+\hspace{1cm}\red{\tt<幅>} は省略可能で,テキスト中は強制改行
+記号 \red{\tt\BK\BK} が使用できます.\\
+\hspace{.5cm}\red{\tt \BK xybox\{{\rm\Xy-pic}による図式\}}
+
+これらの要素は,{\bf ラベル}としても使用できます.\hfill
+\BACK\ \NEXT
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ \\ar (0,0) *\red{\{}\\sum_\{n=1\}^N2^{-n}\red{\}};
+ (30,0)
+ *\red{\\txt\{}増加して\red{\\\\}1に収束\red{\}}
+ ^-\red{\{}N\\to\\infty\red{\}}
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+
+\vspace*{4ex}
+\hfill
+\begin{xy}
+ \ar (0,0) *{\sum_{n=1}^N2^{-n}};
+ (30,0) *\txt{増加して\\1に収束}
+ ^-{N\to\infty} \end{xy}\!\!\!\!\!\!
+\end{z2col}
+
+\medskip
+{\bf 2}.
+要素は{\bf 大きさ}や{\bf 位置}が調整でき,{\bf 枠}を付けることなどもできます.
+
+\hspace{.5cm}\MGNT{add-op}\MGNT{長さ} :大きさの調整.
+\MGNT{add-op} には,\red{\tt + - = += -=} がある.\\
+\hspace{1cm}\MGNT{長さ}を指定しない場合は,デフォルト値が用いられる.\\
+\hspace{.5cm}\red{\tt !}\MGNT{ベクトル} :位置の調整(境界までのベクトル
+\red{\tt R RD D} $\cdots$ なども可)\\
+\hspace{.5cm}\red{\tt[\MGNT{形}]} :様々な{\bf 形}(\red{\tt[o]}は丸に)を設定可能で,以下の{\bf 枠}もそのひとつ.\\
+\hspace{1cm}\red{\tt [F\MGNT{frame}:\MGNT{opt}]\ \,} :\red{\tt:\MGNT{opt}}は省略可.
+\red{\tt F}に(空白無しで続けた)\MGNT{frame} は\\
+\hspace{1.5cm}\red{\tt .\ - =\ \ \ \ \ } :矩形の枠,\MGNT{opt}は\red{\tt<\MGNT{長さ}>}で角の丸みの半径\\
+\hspace{1.5cm}\red{\tt -- o-\ \ \ \ \ } :破線の枠,丸みを帯びた枠\\
+\hspace{1.5cm}\red{\tt , -,\ \ \ \ \ \ } :影つきの枠(\MGNT{opt}は\red{\tt<\MGNT{長さ}>}で影のサイズ)\\
+\hspace{1.5cm}\red{\tt o .o -o oo} :円形の枠,\MGNT{opt}は\red{\tt<\MGNT{長さ}>}で半径を指定\\
+\hspace{1.5cm}\red{\tt ( ) \string^) \string_(\ } :\,{\tt (} の形の括弧(左/右/上/下)\\
+\hspace{1.5cm}\red{\tt\BK\{ \BK\} \string^\{ \string_\}}:\,{\tt \{} の形の括弧(左/右/上/下)
+
+枠は \red{\tt*\BK frm \MGNT{opt}\{\MGNT{frame}\}} または,
+\red{\tt**\BK frm \MGNT{opt}\{\MGNT{frame}\}} によっても描ける.前者は直前の
+\text{要素}を囲み,後者はその前の\text{要素}も囲むものとなる.
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+\{\\ar(0,20) *\{\\times\}*\red{+!D}\{a\};(15,20) *\{\\bigcirc\}
+ \\ar(0,15) *\red{=0}\{\\times\};(15,15) *\red{=0}\{\\bigcirc\}
+ \\ar(0,10) *\red{+[F]}\{A\}; (15,10) *\red{+[Fo]}\{B\}
+ \\ar *\red{++=}\{A\} \red{*\\frm\{o\}};
+ (15,3) \red{*+++}=\{B\} \red{*\\frm\{oo\}} \red{**\\frm\{-\}}\},
+ (8,-8) \red{*+[Fo]}\{AB\} ="A",
+ \\ar @(lu,ld) "A";"A"
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace*{.2ex}
+\hfill
+\begin{xy}
+{\ar(0,20) *{\times}*+!D{a};(15,20) *{\bigcirc}
+ \ar(0,15) *=0{\times};(15,15)*=0{\bigcirc}
+ \ar(0,10) *+[F]{A}; (15,10) *+[Fo]{B}
+ \ar *++={A} *\frm{o};(15,3) *+++={B} *\frm{oo} **\frm{-}},
+ (8,-8) *+[Fo]{AB} ="A",
+ \ar @(lu,ld) "A";"A"
+\end{xy}\!\!\!\!
+\end{z2col}
+
+\medskip
+{\bf 3}.
+\textbf{行列形式の図式}.\hfill{\BACK\ \NEXT}\\
+\textbf{要素}を,直接座標を指定せずに行列の\textbf{成分}として
+配置します.\\
+座標を考慮する必要がなく,可換図式のような図式を描くのに便利です.
+
+\quad
+列は \red{\tt\string&} で,行は \red{\tt\BK\BK} で区切り,以下の
+ように書きます.
+
+{\tt
+\BK xymatrix\{\\[-.2ex]
+\quad \textbf{成分} \string& \textbf{成分} \string& $\cdots$ \BK\BK\\[-.4ex]
+\quad \textbf{成分} \string& \textbf{成分} \string& $\cdots$ \BK\BK\\[-.7ex]
+\qquad$\cdots$\quad\}}
+
+\quad
+各\textbf{成分}には,配置された\textbf{要素}と,そこを始点と
+する\textbf{矢印}の情報があり
+
+・ \textbf{要素}がテキストの場合,\red{\tt *} は不要.%\\
+%\phantom{・ }
+先頭が \red{\tt\BK} でないなら \red{\tt\{ \}} も不要.\\
+・ 矢印の行き先は,成分の番号で指定できる:\\
+\quad \red{\tt[\MGNT{hop}]} :\MGNT{hop}は,\red{\tt r l u d} (右/左/上/下) を
+いくつか並べたもの\\
+\qquad たとえば \red{\tt[rrd]} は,
+その場所から2つ右で一つ下の成分を意味する.\\
+\quad \red{\tt "\MGNT{行},\MGNT{列}"} :例えば \red{\tt"1,1"} は左上
+の$(1,1)$成分
+
+\smallskip
+\begin{z2col}
+\begin{Alltt}
+\red{\\xymatrix\{} \\ar@\{\}\red{[rd]}|\{\\circlearrowright\}
+ X\\times_Z Y \\ar\red{[r]}_q \\ar\red{[d]}^p \red{&} Y \\ar\red{[d]}_q\red{\\\\}
+ X \\ar\red{[r]}^q \red{&} Z \red{\}}
+\end{Alltt}
+\kaidan
+
+\vspace*{-3ex}
+\hfill
+\xymatrix{ \ar@{}[rd]|{\circlearrowright}
+ X\times_Z Y \ar[r]_q \ar[d]^p & Y \ar[d]_p\\
+ X \ar[r]^q & Z }\!\!\!\!\!\!\!\!
+\end{z2col}
+
+\begin{z2col}
+\begin{Alltt}
+\red{\\xymatrix\{}
+ U \\ar@/_/\red{[ddr]}_y \\ar@\{.>\}\red{[dr]}
+ |\{x\\otimes y\} \\ar@/^/\red{[drr]}^x \red{\\\\}
+ \red{&} *+[F-:<3pt>]\{X \\times_Z Y\}
+ \\ar\red{[d]}^q \\ar\red{[r]}_p \red{&} X \\ar\red{[d]}_f \red{\\\\}
+ \red{&} Y \\ar\red{[r]}^g \red{&} Z \red{\}}
+\end{Alltt}
+\kaidan
+\vspace*{-1ex}
+\hfill
+\xymatrix{
+ U \ar@/_/[ddr]_y \ar@{.>}[dr]|{x\otimes y} \ar@/^/[drr]^x \\
+ & *+[F-:<4pt>]{X \times_Z Y} \ar[d]^q \ar[r]_p & X \ar[d]_f \\
+ & Y \ar[r]^g & Z }\!\!\!\!
+\end{z2col}
+
+\vspace*{-3ex}
+\section{いろいろな図式}
+{\bf 1}.曲がった軸をもつ矢印\\
+円弧と線分を組み合わせて,\textbf{迂回する矢印}を描くことができる.経路は\\
+\quad\red{\tt '\MGNT{目標}} :目標までの線分\\
+\quad\red{\tt `\MGNT{方向} \MGNT{目標}} :出発\MGNT{方向}から\MGNT{目標}に向かって$\frac14$回転する.\\
+\qquad 最初の\MGNT{方向}指定がなければ,前回の方向からの回転となる(次項も).
+\\
+\quad\red{\tt `\MGNT{方向} \MGNT{回転の向き} \MGNT{方向} \MGNT{目標}} :最初の\MGNT{方向}へ出発して直線的に移動し,後
+
+\qquad の\MGNT{方向}で進むと\MGNT{目標}に到達できる地点で必要な回転をする.\\
+\qquad 方向には \red{\tt r rd d ld l lu u ru} がある.\\
+\qquad\MGNT{回転の向き}は,\red{\tt\string^} (反時計回り) また
+は \red{\tt\string_} (時計回り)
+\\
+\quad
+最後は,同じ向きの矢印を引いて,最終\MGNT{目標}に到達させる.
+\\
+\quad
+円弧の半径は 10pt であるが \red{\tt/\MGNT{長さ}} により以降変更可能.
+
+\begin{z2col}
+\begin{Alltt}
+\\xymatrix\{
+ \{\\circ\} \\ar
+ \red{`r[d] `[rr] `^lu/3pt[rr] [rr]}
+ &\{\\circ\}&\{\\circ\}\\\\
+ \{\\circ\}&\{\\circ\}&\{\\circ\}\\\\ \}
+\end{Alltt}
+\kaidan
+\vspace*{1ex}
+\hfill
+\xymatrix{
+ {\circ} \ar
+ `r[d] `[rr]
+ `^lu/3pt[rr] [rr]
+ &{\circ} &{\circ}\\
+ {\circ}&{\circ}&{\circ}\\ }
+\end{z2col}
+
+\medskip
+\quad
+より一般に,始点と終点とを与えたとき,途中の\textbf{制御点}を指定したB\'ezier曲線
+を使って\textbf{自由曲線}が描けます.
+
+\centerline{\tt\red{**\BK crv\{\MGNT{制御点} \string& \MGNT{制御点} \string& $\cdots$\}}}
+
+・ 制御点がないときは,二点を結ぶ線分になります.
+
+・ 矢印のときと同様 \red{\tt\string~*\{.\}} などを入れて\textbf{線種}指定できます.\\
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ (0,10)*[o]+\{A\};(20,0)*[o]+\{B\}="B"
+ \red{**\\crv\{\}}
+ \red{**\\crv\{~*\{.\}}(10,15)\red{\}}
+ \red{**\\crv\{}(10,20)\red{&}(20,20)\red{\}} ?>*\\dir\{>\}, "B"
+ \red{**\\crv\{}(5,10)\red{&}(10,10)\red{&}(15,-10)\red{&}(20,-5)\red{\}}
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace*{-1ex}
+\hfill
+\begin{xy}
+ (0,10)*[o]+{A};(20,0)*[o]+{B}="B"
+ **\crv{}
+ **\crv{~*{.}(10,15)}
+ **\crv{(10,20)&(20,20)} ?>*\dir{>}, "B"
+ **\crv{(5,10)&(10,10)&(15,-10)&(20,-5)}
+\end{xy}
+\end{z2col}
+
+\medskip
+{\bf 2}.座標軸の回転\hfill{\BACK\ \NEXT}\\
+\MGNT{ベクトル\tt:} $X$軸の単位ベクトルを定める(回転+スケール変換を行う).
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\} \{\\ar (8,0)\},
+ (-.5,\red{\\halfrootthree})\red{:} \{\\ar(0,0);(8,0)\},
+ (0,0),(-.5,\red{\\halfrootthree})\red{:} \\ar(0,0);(8,0)
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace*{-.5ex}
+\hfill
+\begin{xy}
+{\ar (8,0)}, (-.5,\halfrootthree): {\ar(0,0);(8,0)},
+(0,0),(-.5,\halfrootthree): \ar(0,0);(8,0)
+\end{xy}
+\end{z2col}
+
+\medskip
+%座標軸の単位ベクトルを指定することにより,自由なアフィン変換ができますが,
+次に,{\tt \BK xymatrix} を使った$\frac\pi4$の整数倍の回転の例を挙げます.\\
+\quad {\tt \BK xymatrix} の直後の指定で\\
+\quad \red{\tt\ @}\MGNT{方向} :\MGNT{方向}に向けた回転をする
+(\red{\tt @r}\,:回転なし)\\
+\quad \red{\tt\ @}\MGNT{\it add-op 長さ}:行と列の空きの設定
+(\red{\tt@!}\,:行と列の空きを等しくする)\\
+\quad \red{\tt@C}\MGNT{\it add-op 長さ}:列の空き
+(\red{\tt@C!}\,:列の空きを等しくする)\\
+\quad \red{\tt@R}\MGNT{\it add-op 長さ}:行の空き
+(\red{\tt@R!}\,:行の空きを等しくする)\\
+\quad \red{\tt@M}\MGNT{\it add-op 長さ}:要素のデフォルトの空き
+
+\begin{z2col}
+\begin{Alltt}
+\\xymatrix\red{@=0pt@M=0pt}\{X&Y\\\\Z&W\}\\qquad
+\\xymatrix\red{@dr@=0pt@M=0pt}\{X&Y\\\\Z&W\}
+\end{Alltt}
+\vspace*{-4ex}
+\begin{Alltt}
+\\xymatrix\red{@dr@C=4mm}\{
+ A \\ar[r]^a & B \\ar@\{.>\}[d]^b\\\\
+ C \\ar[u]^c & D \\ar@\{.>\}[l]^d \}
+\end{Alltt}
+\kaidan
+\vspace*{-.5ex}
+\hfill
+\xymatrix@=0pt@M=0pt{X&Y\\Z&W}\qquad
+\xymatrix@dr@=0pt@M=0pt{X&Y\\Z&W}
+
+\vspace*{-1ex}
+\hfill
+\xymatrix@dr@C=4mm{
+ A \ar[r]^a & B \ar@{.>}[d]^b\\
+ C \ar[u]^c & D \ar@{.>}[l]^d
+}\quad\phantom{.}
+\end{z2col}
+
+\medskip
+{\bf 3}.仕様と例\hfill{\BACK}\\[-4ex]
+\[\begin{xy}
+ \ar@{=>} *++!D{\alpha_1} *\cir<4pt>{};
+ (10,0) *++!D{\alpha_2} *\cir<4pt>{}
+%
+ \ar@{-} (20,0) *++!D{\alpha_1} *\cir<4pt>{};
+ (30,0) *++!D!R(0.4){\alpha_2} *\cir<4pt>{}="A",
+ \ar@{-} "A";(35,8.61) *++!L{\alpha_3} *\cir<4pt>{}
+ \ar@{-} "A";(35,-8.61) *++!L{\alpha_4} *\cir<4pt>{},
+ \ar@{-} "A";(35,-8.61) *++!L{\alpha_4} *\cir<4pt>{},
+%
+ \ar@{-} (50,0) *++!D{\alpha_1} *\cir<4pt>{};
+ (60,0) *++!D{\alpha_2} *\cir<4pt>{}="B"
+ \ar@{-} "B";(70,0) *++!D{\alpha_3} *\cir<4pt>{}="C"
+ \ar@{-} "C";(75,0) \ar@{.} (75,0);(80,0)^*!U{\cdots}
+ \ar@{-} (80,0);(85,0) *++!D{\alpha_n} *\cir<4pt>{}
+\end{xy}
+\]
+\if\pdf
+\begin{verbatim}
+\begin{xy}
+ \ar@{=>} *++!D{\alpha_1} *\cir<4pt>{};
+ (10,0) *++!D{\alpha_2} *\cir<4pt>{}
+ \ar@{-} (20,0) *++!D{\alpha_1} *\cir<4pt>{};
+ (30,0) *++!D!R(0.4){\alpha_2} *\cir<4pt>{}="A",
+ \ar@{-} "A";(35,8.61) *++!L{\alpha_3} *\cir<4pt>{}
+ \ar@{-} "A";(35,-8.61) *++!L{\alpha_4} *\cir<4pt>{},
+ \ar@{-} "A";(35,-8.61) *++!L{\alpha_4} *\cir<4pt>{},
+ \ar@{-} (50,0) *++!D{\alpha_1} *\cir<4pt>{};
+ (60,0) *++!D{\alpha_2} *\cir<4pt>{}="B"
+ \ar@{-} "B";(70,0) *++!D{\alpha_3} *\cir<4pt>{}="C"
+ \ar@{-} "C";(75,0) \ar@{.} (75,0);(80,0)^*!U{\cdots}
+ \ar@{-} (80,0);(85,0) *++!D{\alpha_n} *\cir<4pt>{}
+\end{xy}
+\end{verbatim}
+\else
+このDynkin図式の例(
+\keyin{\begin{xy}
+ \ar@{=>} *++!D{\alpha_1} *\cir<4pt>{};
+ (10,0) *++!D{\alpha_2} *\cir<4pt>{}
+%
+ \ar@{-} (20,0) *++!D{\alpha_1} *\cir<4pt>{};
+ (30,0) *++!D!R(0.4){\alpha_2} *\cir<4pt>{}="A",
+ \ar@{-} "A";(35,8.61) *++!L{\alpha_3} *\cir<4pt>{}
+ \ar@{-} "A";(35,-8.61) *++!L{\alpha_4} *\cir<4pt>{},
+ \ar@{-} "A";(35,-8.61) *++!L{\alpha_4} *\cir<4pt>{},
+%
+ \ar@{-} (50,0) *++!D{\alpha_1} *\cir<4pt>{};
+ (60,0) *++!D{\alpha_2} *\cir<4pt>{}="B"
+ \ar@{-} "B";(70,0) *++!D{\alpha_3} *\cir<4pt>{}="C"
+ \ar@{-} "C";(75,0) \ar@{.} (75,0);(80,0)^*!U{\cdots}
+ \ar@{-} (80,0);(85,0) *++!D{\alpha_n} *\cir<4pt>{}
+\end{xy}
+}{ここ}をクリックすると,ソースがクリップボードにコピーされます)
+\fi
+では,以下の\textbf{円弧}を描くコマンドを使っています.
+\\
+%\begin{verbatim}
+%\[\begin{xy}
+% \ar@{=>} *++!D{\alpha_1} *\cir<4pt>{};
+% (10,0) *++!D{\alpha_2} *\cir<4pt>{}
+%%
+% \ar@{-} (20,0) *++!D{\alpha_1} *\cir<4pt>{};
+% (30,0) *++!D!R(0.4){\alpha_2} *\cir<4pt>{}="A",
+% \ar@{-} "A";(35,8.61) *++!L{\alpha_3} *\cir<4pt>{}
+% \ar@{-} "A";(35,-8.61) *++!L{\alpha_4} *\cir<4pt>{},
+% \ar@{-} "A";(35,-8.61) *++!L{\alpha_4} *\cir<4pt>{},
+%%
+% \ar@{-} (50,0) *++!D{\alpha_1} *\cir<4pt>{};
+% (60,0) *++!D{\alpha_2} *\cir<4pt>{}="B"
+% \ar@{-} "B";(70,0) *++!D{\alpha_3} *\cir<4pt>{}="C"
+% \ar@{-} "C";(75,0) \ar@{.} (75,0);(80,0)^*!U{\cdots}
+% \ar@{-} (80,0);(85,0) *++!D{\alpha_n} *\cir<4pt>{}
+%\end{xy}
+%\]
+%\end{verbatim}
+\quad
+\red{\tt \BK cir<\MGNT{半径}>\{\!\MGNT{方向} \MGNT{回転の向き} \MGNT{方向}\!\}}
+
+最初の\MGNT{方向}で円周上を\MGNT{回転の向き}(\red{\tt\string^} は反時計回り,
+\red{\tt\string_} は時計回り)にスタートし,後の\MGNT{方向}まで円弧を
+描きます.\red{\tt\{\ \}}の中を空として,これらを指定しない場合は円を描きます.
+
+\begin{z2col}
+\begin{Alltt}
+\\begin\{xy\}
+ *\red{\\cir<5mm>\{l_d\}}, (10,0) *\red{\\cir<5mm>\{r^d\}},
+ (22,0) *+\{M\} *\red{\\cir\{dr_ur\}}
+\\end\{xy\}
+\end{Alltt}
+\kaidan
+\vspace*{.1ex}
+\hfill
+\begin{xy}
+ *\cir<5mm>{l_d}, (10,0) *\cir<5mm>{r^d},
+ (22,0) *+{M} *\cir{dr_ur}
+\end{xy}\!\!\!\!\!\!
+\end{z2col}
+
+\medskip
+\quad
+\Xy-pic は {\TeX} のメモリーを大量に使うため,複雑な図式を扱うと
+{\tt TeX capacity exceeded} のエラーが発生することがあります.
+それが解消できない場合,より軽い
+
+\keyin{\usepackage[all,ps,dvisp]{xy}
+}{\quad{\tt\BK usepackage[all,ps,dvisp]\{xy\}}}
+
+としてDVIファイルを作成して下さい.その後 PS ファイルから EPS ファイル,
+あるいは PDF ファイルに変換({\tt Ghostscript}+{\tt dvipsk}+{\tt ps2pdf}な
+ど)することができます.
+
+\medskip
+\quad
+これまで \Xy-pic の基本的な機能をいくつか紹介してきましたが,
+その他にも,楕円や多角形,各種ダイアグラムや結び目などに関する
+多くの描画機能を持っています.
+より詳しい仕様やこれらの機能については,
+\if\pdf
+dvioutに添付の
+\href{http://akagi.ms.u-tokyo.ac.jp/input9.pdf}{Help},
+\else
+\href{file:input9.dvi}{添付のHelp},
+\fi
+あるいはそこに挙げてある文献などを参照してください.
+\end{document}