#LyX 2.4 created this file. For more info see https://www.lyx.org/ \lyxformat 620 \begin_document \begin_header \save_transient_properties true \origin /systemlyxdir/examples/ja/Graphics_and_Insets/ \textclass scrartcl \begin_preamble \usepackage[all]{xy} % define new commands used in sec. 5.1 \newcommand{\xyR}[1]{ \xydef@\xymatrixrowsep@{#1}} \newcommand{\xyC}[1]{ \xydef@\xymatrixcolsep@{#1}} \newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}} % a pdf-bookmark for the TOC is added \let\myTOC\tableofcontents \renewcommand\tableofcontents{% \pdfbookmark[1]{\contentsname}{} \myTOC } % redefine the \LyX macro for PDF bookmarks \def\LyX{\texorpdfstring{% L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} {LyX}} \end_preamble \options BCOR7.5mm,bookmarkpackage=false \use_default_options false \maintain_unincluded_children no \language japanese \language_package default \inputencoding utf8 \fontencoding auto \font_roman "lmodern" "IPAexMincho" \font_sans "default" "IPAexGothic" \font_typewriter "default" "IPAGothic" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_roman_osf false \font_sans_osf false \font_typewriter_osf false \font_sf_scale 100 100 \font_tt_scale 100 100 \use_microtype false \use_dash_ligatures false \graphics default \default_output_format default \output_sync 0 \bibtex_command default \index_command default \paperfontsize 12 \spacing single \use_hyperref true \pdf_title "Using XY-pc in LyX" \pdf_author "H. Peter Gumm" \pdf_subject "LyX's XY-pic manual" \pdf_keywords "LyX, documentation" \pdf_bookmarks true \pdf_bookmarksnumbered true \pdf_bookmarksopen true \pdf_bookmarksopenlevel 2 \pdf_breaklinks false \pdf_pdfborder false \pdf_colorlinks true \pdf_backref false \pdf_pdfusetitle false \pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true,pdfstartview=XYZ, plainpages=false, pdfpagelabels" \papersize a4 \use_geometry false \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 1 \use_package esint 1 \use_package mathdots 1 \use_package mathtools 1 \use_package mhchem 1 \use_package stackrel 1 \use_package stmaryrd 1 \use_package undertilde 1 \cite_engine basic \cite_engine_type default \biblio_style plain \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date true \justification true \use_refstyle 0 \use_minted 0 \use_lineno 0 \index 索引 \shortcut idx \color #008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default \is_math_indent 0 \math_numbering_side default \quotes_style english \dynamic_quotes 0 \papercolumns 1 \papersides 2 \paperpagestyle default \tablestyle default \tracking_changes false \output_changes false \change_bars false \postpone_fragile_content false \html_math_output 0 \html_css_as_file 0 \html_be_strict false \docbook_table_output 0 \docbook_mathml_prefix 1 \end_header \begin_body \begin_layout Title \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picを\SpecialChar LyX で使用する \end_layout \begin_layout Author H. Peter Gumm \end_layout \begin_layout Abstract \family typewriter preview \family default スタイルの導入された\SpecialChar LaTeX システムと、比較的新しい版の\SpecialChar LyX があれば、\SpecialChar LyX 内部からグラフ描画パッケージ \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \family default -Picを便利に使用することができます。 \SpecialChar LyX のメイン編集ウィンドウ内部で、図式を編集したり表示したりすることができるのです。 ここでは、主に圏論や代数などの関連領域で使用される図式を描いたり、編集したり、プレビューしたりするためには、 \family typewriter xypic \family default の \family typewriter \backslash xymatrix \family default コマンドを\SpecialChar LyX 内部からどのように使えばいいのかを説明します。 \end_layout \begin_layout Abstract \begin_inset CommandInset toc LatexCommand tableofcontents \end_inset \end_layout \begin_layout Section はじめに \end_layout \begin_layout Standard \family typewriter xypic \family default パッケージは、\SpecialChar LaTeX においてグラフと図式を簡単に構成するための便利なツールとして、長い間使われてきています。 不幸にして長い間、\SpecialChar LyX 中でこのパッケージを使えるのは、悪名高き\SpecialChar TeX コードボックスに限定されてきたため、\SpecialChar LyX エディタでは、完成した図式ではなく\SpecialChar LaTeX ソースしか表示されませんでした。 しかしついに、AUC\SpecialChar TeX プロジェクト \begin_inset CommandInset citation LatexCommand cite key "AUCTeX" literal "true" \end_inset の一部である新しい\SpecialChar LaTeX スタイル \family typewriter preview \family default によって、\SpecialChar LyX 内部から構成し、表示し、対話式に編集する形で、 \family typewriter xypic \family default 図式の編集や表示ができるようになりました。 \end_layout \begin_layout Standard \begin_inset VSpace defskip \end_inset \end_layout \begin_layout Standard \align center \begin_inset Graphics filename xyfigure.png width 80col% BoundingBox 0bp 0bp 680bp 445bp clip \end_inset \end_layout \begin_layout Standard \begin_inset VSpace defskip \end_inset \end_layout \begin_layout Standard このメモでは、 \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picを\SpecialChar LyX 内部からどのように使用すればよいか、図式をどのように作成し編集すればよいかを説明します。 下記の手順は、Windows \begin_inset space \thinspace{} \end_inset XPおよびWindows Vistaそれぞれの環境下で、\SpecialChar LyX の第1.3.7版から第1.6版までを使用して検証されています。 \end_layout \begin_layout Standard 操作には二つのモードがあります。 最初のうち、何回かの練習では、まず \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picコードを\SpecialChar LyX ウィンドウに入力し、その全体を選択した後、 \family sans Ctrl-m \family default か \family sans Ctrl-M \family default を押して \begin_inset Foot status collapsed \begin_layout Plain Layout 【訳註】これはキー割り当てがcuaの場合です(以下同)。 その他のキー割り当てであれば、 \family typewriter math-mode \family default 関数に割り当てられたキーになります。 たとえば、emacs配列では \family typewriter Ctrl-m m \family default です。 \end_layout \end_inset 図表示に変換するのが、最も簡単でしょう。 \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picをもっとよく使うようであったり、最初に作った図を修正したりしたいのであれば、目的の図は、\SpecialChar LyX 数式エディタを使って組み立て、修正した方がよいでしょう。 \end_layout \begin_layout Standard カーソルを図式の上に動かすと、図式はノードコマンドと矢印コマンドの配列として表示され、これは対話的に変更することができます。 カーソルを編集領域から動かすと、図式が再び表示されます。 \end_layout \begin_layout Standard この文書の最初の2節では、上述した最初のモードで\SpecialChar LyX を使うにはどうすればよいか説明し、可換図やグラフやオートマトンを描くのに便利な、すべての \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picの機能を紹介します。 第 \begin_inset CommandInset ref LatexCommand ref reference "sec:数式エディタ" nolink "false" \end_inset 節では、数式編集領域内での \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picコマンドの使い方を説明します。 \end_layout \begin_layout Standard この文書の意図は、新しい \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picの入門を書くことではなく、これらのうち最も重要なコマンドが\SpecialChar LyX 内部でどう機能するのかを紹介することにあります。 というのも、 \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Pic取扱説明書 \begin_inset CommandInset citation LatexCommand cite key "xypic manual" literal "true" \end_inset で説明されているキー割り当ては、\SpecialChar LyX 内部では必ずしも正しく動作しないからです。 \end_layout \begin_layout Section 準備 \end_layout \begin_layout Standard ここからは、\SpecialChar LaTeX パッケージの \family typewriter xypic \family default と \family typewriter preview \family default が、\SpecialChar LaTeX システムに導入されていることが必要です。 これらはCTANから入手することができます。 それぞれ \begin_inset CommandInset citation LatexCommand cite key "instant-preview" literal "true" \end_inset と \begin_inset CommandInset citation LatexCommand cite key "xypic" literal "true" \end_inset を参照してください。 これらを新しく導入した場合には、\SpecialChar LyX のメインメニューから \family sans 編集\SpecialChar menuseparator 再設定 \family default を実行する必要があるかもしれません。 すると、\SpecialChar LyX で最初の図式を作るための手順は以下のようになります。 \end_layout \begin_layout Enumerate \family typewriter preview \family default の有効化とテスト \end_layout \begin_deeper \begin_layout Enumerate \SpecialChar LyX を開き、 \family sans ツール\SpecialChar menuseparator 設定\SpecialChar menuseparator 操作性\SpecialChar menuseparator 表示 \family default を選択して、 \emph on 自動プレビュー \emph default ドロップダウンメニューを「有効」にしてください。 \end_layout \begin_layout Enumerate \SpecialChar LyX 文書を開き、適当な数式、たとえば \begin_inset Formula $a+b=c$ \end_inset を入力して、 \family typewriter instant-preview \family default が動作するかどうかテストします。 \end_layout \begin_layout Enumerate カーソルを数式の外に出し、その外観が、DVI文書やPostScript文書の仕上がりと同じような外観に変化するのを確認してください。 \end_layout \end_deeper \begin_layout Enumerate \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picの有効化とテスト \end_layout \begin_deeper \begin_layout Enumerate \SpecialChar LyX 文書内部で \family typewriter \begin_inset Newline newline \end_inset \backslash xymatrix{A \backslash ar[r] & B} \family default . \begin_inset Newline newline \end_inset という文を入力してください。 \end_layout \begin_layout Enumerate この文章全体を選択して、 \family sans 挿入\SpecialChar menuseparator 数式\SpecialChar menuseparator 別行建て数式 \family default を選択するか、対応する短絡キー \family sans Ctrl-M \family default を使用してください。 \end_layout \begin_layout Enumerate マウスカーソルを編集ボックスから出し、 \begin_inset Formula $\xymatrix{A\ar[r] & B} $ \end_inset のような矢印が現れるまでほんの一瞬待ってください。 \end_layout \end_deeper \begin_layout Standard \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picの作成者Kristoffer H. Roseが書いた \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picの取扱説明書 \begin_inset CommandInset citation LatexCommand cite key "xypic manual" literal "true" \end_inset から採った、以下の図式は、このパッケージで利用できる機能の多くに対する使用例となるでしょう。 \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash ar@/_{1pc}/[ddr]_ \backslash psi \backslash ar@/^{1pc}/[drr]^ \backslash varphi \begin_inset Newline newline \end_inset \backslash ar@{.>}[dr]|-{(x,y)} \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y \backslash ar[d]^q \backslash ar[r]_p & X \backslash ar[d]_f \backslash \backslash \begin_inset Newline newline \end_inset & Y \backslash ar[r]^g & Z } \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard 先ほどと同じように、このコードをグラフィカルな出力に置き換えるには、これを一度に全部、 \family typewriter \backslash xymatrix{ \family default \SpecialChar ldots から閉じ波括弧\SpecialChar ldots \family typewriter } \family default までを選択して、上述したように別行建て数式に変えてください。 カーソルを数式領域から出してしばらくすると、以下のような輝かしいフルグラフィックスとして図式が表示されるはずです。 \end_layout \begin_layout Standard \begin_inset Formula $\xymatrix{U\ar@/_{1pc}/[ddr]_{\psi}\ar@/{}^{1pc}/[drr]^{\varphi}\ar@{.>}[dr]|-{(x,y)}\\ & X\times_{Z}Y\ar[d]^{q}\ar[r]_{p} & X\ar[d]_{f}\\ & Y\ar[r]^{g} & Z } $ \end_inset \end_layout \begin_layout Subsection 図式の行列レイアウト \end_layout \begin_layout Standard \family typewriter xymatrix \family default は、図式の頂点のレイアウトを定義するのに、行列を使います。 上記の例では、 \begin_inset Formula $3\times3$ \end_inset 行列が必要とされ、そのうち5つの場所は、 \begin_inset Formula $U$ \end_inset ・ \begin_inset Formula $X\times_{Z}Y$ \end_inset ・ \begin_inset Formula $X$ \end_inset ・ \begin_inset Formula $Y$ \end_inset ・ \begin_inset Formula $Z$ \end_inset の各頂点用に使用され、残りの位置は空のままに残されています。 この場合には、以下の行列がレイアウトを決定しています。 \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y & X \backslash \backslash \begin_inset Newline newline \end_inset & Y & Z } \end_layout \begin_layout Standard このパターンは\SpecialChar LaTeX で慣れておられると思います。 ここには3つの行があり、最初の2行は行末マーカ \family typewriter \backslash \backslash \family default で終わっています。 各行には、各要素がアンパサンド \family typewriter & \family default で区切られて入っています。 \end_layout \begin_layout Subsection 矢印 \end_layout \begin_layout Standard 頂点を入れたので、それらの間に矢印を加えます。 矢印を生成する \family typewriter xypic \family default の基本コマンドは \family typewriter \backslash ar \family default ですが、これを矢印の始まる行列セルに入れます。 矢印の終点は、方向コマンド \family typewriter u \family default (上)・ \family typewriter d \family default (下)・ \family typewriter l \family default (左)・ \family typewriter r \family default (右)で決定します。 これらは経路を表すように結合して、角括弧の中に入れます。 たとえば、左上角の頂点 \begin_inset Formula $U$ \end_inset を起点として、右下の \begin_inset Formula $X\times_{Z}Y$ \end_inset ・ \begin_inset Formula $Y$ \end_inset ・ \begin_inset Formula $X$ \end_inset に向かう矢印はそれぞれ、 \family typewriter \backslash ar[dr] \family default ・ \family typewriter \backslash ar[ddr] \family default ・ \family typewriter \backslash ar[drr] \family default と定義します。 よって、上記の図式にすべての矢印を加えたものは以下のようになります。 \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash ar[ddr] \backslash ar[drr] \backslash ar[dr] \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y \backslash ar[d] \backslash ar[r]& X \backslash ar[d] \backslash \backslash \begin_inset Newline newline \end_inset & Y \backslash ar[r] & Z } \end_layout \begin_layout Standard \begin_inset Formula $\xymatrix{U\ar[ddr]\ar[drr]\ar[dr]\\ & X\times_{Z}Y\ar[d]\ar[r] & X\ar[d]\\ & Y\ar[r] & Z } $ \end_inset \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code \end_layout \begin_layout Subsection ラベル \end_layout \begin_layout Standard 矢印に加えるラベルは、 \family typewriter \backslash ar \family default コマンドに上添字または下添字として書き加えれば、付けることができます。 したがって、 \family typewriter \backslash ar[drr]^ \backslash varphi \family default と書けば、セルを一つ下に下がって二つ右に行く矢印で、上に \begin_inset Formula $\varphi$ \end_inset というラベルを付けた矢印を定義することになります。 ラベルを矢印の下に付けるには、 \family typewriter \backslash ar[ddr]_ \backslash psi \family default のように、ラベルを下添字にしてください。 実は、この説明は右向きの矢印にのみ該当します。 正確には、矢印が指している方向に矢印に沿って見ると、上添字はラベルを矢印の左に置き、下添字は右に置くのです。 その結果、 \family typewriter \backslash ar[l]^ \backslash alpha_ \backslash beta \family default のように右から左に向いている矢印では、ラベル \begin_inset Formula $\alpha$ \end_inset が矢印の下、ラベル \begin_inset Formula $\beta$ \end_inset が上になり、 \begin_inset Formula $\xymatrix{\ & \ \ar[l]_{\beta}^{\alpha}} $ \end_inset のようになります。 ^や_の代わりに、|という文字を使用すると、ラベルを矢印の上に(柄の部分が埋もれてしまいますが)置くこともできます。 \end_layout \begin_layout Standard 通常、ラベルは、矢印の起点となるオブジェクトと終点のオブジェクトの中点に置かれます。 以下の図式では、 \begin_inset Formula $U$ \end_inset から始まる真ん中の矢印にあるラベル \begin_inset Formula $(x,y)$ \end_inset は、それがつなぐ二つのオブジェクトの中点ではなく、矢印の柄の中点にあります。 これは、 \family typewriter \backslash ar[dr]|-{(x,y)} \family default のように、ラベルの前にマイナス記号を付けることで実現しています。 \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash ar[ddr]_ \backslash psi \backslash ar[drr]^ \backslash varphi \backslash ar[dr]|-{(x,y)} \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y \backslash ar[d]^q \backslash ar[r]_p& X \backslash ar[d]_f \backslash \backslash \begin_inset Newline newline \end_inset & Y \backslash ar[r]^g & Z } \end_layout \begin_layout LyX-Code \begin_inset Formula $\xymatrix{U\ar[ddr]_{\psi}\ar[drr]^{\varphi}\ar[dr]|-{(x,y)}\\ & X\times_{Z}Y\ar[d]^{q}\ar[r]_{p} & X\ar[d]_{f}\\ & Y\ar[r]^{g} & Z } $ \end_inset \end_layout \begin_layout Standard \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picは、通常、 \family typewriter (.3) \family default のように比率をラベルの前に付けることによって、ラベルを矢印の先の方や根本の方にずらすことができますが、これは\SpecialChar LyX では、 \family typewriter \backslash ar[r]|(0.3){ \backslash phi} \family default のように矢印の上に置かれているラベルに関してのみ行うことができます。 \end_layout \begin_layout Standard これは、矢印の右や左に置かれているラベルに対しては機能しないのです。 \SpecialChar LyX の数式エディタは、このような場合に対応する、 \family typewriter \backslash ar[r]^(.3) \backslash phi \family default や \family typewriter \backslash ar[r]_(.3) \backslash psi \family default と云った \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picコードを正しく解釈できません。 これを回避する二つの方法は、この文書の最後の節で提案されています。 \end_layout \begin_layout Subsection 矢印の修正 \end_layout \begin_layout Standard 矢印のデザインや形状や配置の修正は、 \family typewriter @ \family default 文字を使って行われます。 その後に括弧対を置き、その括弧の形、 \family typewriter { } \family default や \family typewriter < > \family default や \family typewriter / / \family default が、矢印のデザインを修正したいのか配置を変えたいのか曲率を変えたいのかを示します。 これと同時に、矢印に対する様々な修正も加えることができます。 \end_layout \begin_layout Subsubsection 矢印のデザイン \end_layout \begin_layout Standard 矢印の柄に対しては、 \emph on 実線 \emph default ・ \emph on 点線 \emph default ・ \emph on 二重線 \emph default のような様々なデザインを施すことができます。 これと同時に、様々な鏃や根本を指定できます。 一般的に、矢印のデザインは、 \family typewriter \backslash ar \family default コマンドの直後に \family typewriter @ \family default 印を置き、その後に矢印の根本と柄、鏃を指定する文字を入れた括弧対{\SpecialChar ldots }を置くことで指定することができます。 この指定文字は、実際の矢印をASCII文字で模したようなものになっています。 たとえば、 \family typewriter \backslash ar@{>..>>} \family default と書くと、二股の矢羽根に、点線の矢柄、二重の鏃を持つ矢印が生成されます。 その他の矢印デザインを下記の表に多数列挙しておきます。 \begin_inset Formula $\xymatrix{A\ar@{^{(}->}[r] & B} $ \end_inset のような埋込矢印の矢羽根は、 \family typewriter \backslash ar@{^(->}[r] \family default のように左括弧を上添えにするか下添えにするかで記述します。 \family typewriter \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout 出力 \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \SpecialChar LyX 中のソースコード \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{-->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{-->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{..>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{..>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{~>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{~>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{->>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{-->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{-->>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{>->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{>->>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{_{(}->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{_(->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{^{(}->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{^(->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{|-|}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{|-|} \end_layout \end_inset \end_inset \end_layout \begin_layout Standard \noindent @文字の後に、2や3や^を続けることによって、二重・三重線の矢柄を持つ矢印や、鏃と矢羽根の上側ないし下側のみが表示された矢印を作ることができます。 最後の例が示すように、矢印は必ずしも鏃と矢羽根を持っていなくてはならないということはありません。 \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout 出力 \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \SpecialChar LyX 中のソースコード \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@2[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@2 \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@3[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@3 \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@_{->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@_{->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@^{->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@^{->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@^{>>->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@^{>>->>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{^{<}-_{>}}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{^<-_>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@2{--}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@2{--} \end_layout \end_inset \end_inset \end_layout \begin_layout Subsubsection 自作の矢印をデザインする \end_layout \begin_layout Standard 一定の制限内であれば、自作の矢印をデザインする方法もあります。 \family typewriter ><|ox+/()[ \family default という文字のうちいくつかを使えば、プリアンブル中で \family typewriter \backslash newdir \family default コマンドを使って、自作の鏃をデザインすることができます。 説明は \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picの取扱説明書にゆだねますが、以下はそこから採った例です。 \end_layout \begin_layout Standard \family typewriter \backslash newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}} \family default . \end_layout \begin_layout Standard \noindent これは \family typewriter |> \family default で参照される新しい鏃を定義し、 \family typewriter \backslash ar@{-|>}[r] \family default とすれば、\SpecialChar LyX 中で以下のように正しく表示されます。 \begin_inset Formula \[ \xymatrix{A\ar@{-|>}[r] & \ \ B} \] \end_inset \end_layout \begin_layout Subsection 矢印の配置 \end_layout \begin_layout Standard 矢印は、修飾子 \family typewriter @< \family default \begin_inset Formula $\ldots$ \end_inset \family typewriter > \family default を使えば、横にずらすことができます。 ここで省略符号の部分には正か負の長さを入れます。 たとえば、二つのノードの間に右向きと左向きの矢印を並べてデザインするには、矢印の間が離れるようにシフトさせなくてはなりません。 (正の)シフトの方向は、矢印に沿って見たときに左側になることに注意してください。 したがって、 \end_layout \begin_layout Standard \family typewriter \backslash xymatrix{ \backslash circ \backslash ar@<1ex>[r]& \backslash circ \backslash ar@<1ex>[l]} \end_layout \begin_layout Standard \noindent とすれば、以下のように出力されます。 \begin_inset Formula \[ \xymatrix{\circ\ar@<1ex>[r] & \circ\ar@<1ex>[l]} \] \end_inset \end_layout \begin_layout Subsubsection 行内図式と中央揃え図式 \end_layout \begin_layout Standard 矢印と図式は、 \begin_inset Formula $\xymatrix{\circ\ar@<1ex>[r] & \circ\ar@<1ex>[l]} $ \end_inset のように、行内で使用することができます。 上記のように、このコードを\SpecialChar LyX 内で書いたならば、それを選択して、行内表示にしたければ \family sans Ctrl-m \family default を押し、別行建てにしたければ \family sans Ctrl-M \family default を押します。 \family sans 編集\SpecialChar menuseparator 数式\SpecialChar menuseparator 数式の表記を変更 \family default を行内として作られた図式は後から中央揃えにすることもできますし、逆に中央揃えの図式を行内にすることもできます。 \end_layout \begin_layout Subsection 矢印を曲げる \end_layout \begin_layout Standard 矢印を曲げるには、簡単な方法が二つあります。 最初の方法は、矢印の柄の中点をどれだけ持ち上げるか、あるいはどれだけ押し下げるかを示す値を明示的に与える方法です。 もう一つの方法は、矢印が起点を指定した方角に出るように指定し、終点に指定した方角から入るように規定する方法です。 必要な矢印の曲率は、自動的に決定されます。 以下でこの二つの方法を説明します。 \end_layout \begin_layout Subsubsection 矢柄を持ち上げる \end_layout \begin_layout Standard 矢印を曲げるには、修飾子@/ \begin_inset Formula $\ldots$ \end_inset /を使用します。 省略記号の部分には、\SpecialChar TeX 式の長さを下添字か上添字として入力する必要があります。 たとえば、矢印を \family typewriter 1pc \family default 下に曲げるには、 \family typewriter xypic \family default では \family typewriter \backslash ar@/_1pc/ \family default と書けばいいのですが、\SpecialChar LyX では直接このように書くことはできません。 \SpecialChar LyX では、長さを \family typewriter \backslash ar@/_{1pc}/ \family default のように波括弧対の中に入れる必要があります。 下記の例は、それぞれ.5ピカ分曲げられた、 \begin_inset Formula $A$ \end_inset と \begin_inset Formula $B$ \end_inset の間で対向する二つの矢印です。 以下のソースコードで与えられます。 \end_layout \begin_layout Standard \family typewriter \backslash xymatrix{A \backslash ar@/_{.5pc}/[r] & B \backslash ar@/_{.5pc}/[l]} \end_layout \begin_layout Standard \begin_inset Formula \[ \xymatrix{A\ar@/{}_{.5pc}/[r] & B\ar@/{}_{.5pc}/[l]} \] \end_inset \end_layout \begin_layout Subsubsection 入射角と出射角を指定する \end_layout \begin_layout Standard 矢印を曲げるもう一つの方法は、起点を出る際と終点に入る際の方角を指定する方法です。 方角は、北・北東・東などと指定はしないで、 \family typewriter u \family default (up:上)・ \family typewriter ur \family default (up-right:右上)・ \family typewriter r \family default (right:右)・ \family typewriter dr \family default (down-right:右下)・ \family typewriter d \family default (down:下)・ \family typewriter dl \family default (down-left:左下)・ \family typewriter l \family default (left:左)・ \family typewriter ul \family default (up-left:左上)というふうに指定します。 方角は@( \emph on 出射 \emph default , \emph on 入射 \emph default )のように指定し、 \emph on 出射 \emph default は最初のオブジェクトを出る方角を示し、 \emph on 入射 \emph default は終点に入る方角を示します。 例として、曲がった矢印と、矢印の終点を指定せずに入射角と出射角のみを指定すると作ることのできるループを示します。 \end_layout \begin_layout Standard \begin_inset Formula \[ \xymatrix{A\ar@(dr,dl)[r]\ar@(dr,dl)[rr] & B\ar@(d,r)[dl] & C\\ E\ar@(ul,ur) } \] \end_inset \end_layout \begin_layout LyX-Code \backslash xymatrix{A \backslash ar@(dr,dl)[r] \backslash ar@(dr,dl)[rr] \begin_inset Newline newline \end_inset &B \backslash ar@(d,r)[dl] &C \backslash \backslash \begin_inset Newline newline \end_inset E \backslash ar@(ul,ur)} \end_layout \begin_layout Subsection 頂点を修正する \end_layout \begin_layout Standard 上述の例は、オートマトン図式を思い起こさせますが、通常、オートマトン図式では、状態が小さな丸で囲まれ、最終状態は二重丸で囲まれています。 \end_layout \begin_layout Subsubsection オブジェクトに枠を付ける \end_layout \begin_layout Standard \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picでは、要素の前に \family typewriter *[F-] \family default または \family typewriter *[F=] \family default と付けて、枠を付けたい要素部分を波括弧で囲えば、 \begin_inset Formula $\xymatrix{*+[F]{A}} $ \end_inset や \begin_inset Formula $\xymatrix{*+[F=]{B}} $ \end_inset のように、要素に一重または二重の枠を付けることができます。 通常、枠は非常に窮屈なので、前に \family typewriter + \family default または \family typewriter ++ \family default を付けて枠を広げなくてはなりません。 \begin_inset Formula $\xymatrix{*++[o][F]{A}} $ \end_inset や \begin_inset Formula $\xymatrix{*++[o][F=]{B}} $ \end_inset のように丸い枠は、形を \family typewriter [o] \family default として指定することで得ることができます。 この後者の例は、*++[o][F=]{B}として構成されています。 このようにして、以下のオートマトン \end_layout \begin_layout Standard \begin_inset Formula \[ \xymatrix{\txt{\text{開始}}\ar[r] & *++[o][F]{1}\ar[r] & *++[o][F=]{2}\ar@(ur,dr)\ar@(ur,ul)[l]} \] \end_inset \end_layout \begin_layout Standard \noindent は、下記のようにして組版することができます。 \end_layout \begin_layout LyX-Code \backslash xymatrix{ \backslash txt{開始} \backslash ar[r] \end_layout \begin_layout LyX-Code & *++[o][F]{1} \backslash ar[r] \end_layout \begin_layout LyX-Code & *++[o][F=]{2} \backslash ar@(ur,dr) \backslash ar@(ur,ul)[l] \end_layout \begin_layout LyX-Code }. \end_layout \begin_layout Standard \SpecialChar LaTeX コマンドの \family typewriter \backslash entrymodifiers={ \family default \SpecialChar ldots \family typewriter } \family default は、ある要素の様式を既定に設定するものですが、もちろん各要素において、この様式を上書きすることができます。 したがって、 \family typewriter \backslash entrymodifiers={++[o][F-]} \family default の後では、 \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -行列内のすべての要素は丸で囲まれるようになります。 \end_layout \begin_layout Subsubsection 長方形による枠付け \end_layout \begin_layout Standard \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -行列内での長方形の囲いは、マクロ対 \family typewriter \backslash save ... \backslash restore \family default で作れます。 長方形の寸法は、長方形の左上と右下を示す点をピリオドでつなげた対 \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none \begin_inset Formula $P_{0}.P_{1}$ \end_inset で与えられ、その各点は、行 \begin_inset Formula $x$ \end_inset と列 \begin_inset Formula $y$ \end_inset のコンマ区切りを二重引用符でくくったもの \begin_inset Quotes eld \end_inset \begin_inset Formula $x,y$ \end_inset \begin_inset Quotes erd \end_inset で与えられます。 その後には、以下のような図を生成するための枠付けコマンドが続きます。 \begin_inset Formula \[ \xymatrix{A & B\ar@(d,r)[dl]\sp(0.2)\phi\sp(0.7)\psi\save"1,1"."2,1"*+[F=]\frm{}\restore\,\\ C & \save"1,1"."1,2"*++[F]\frm{}\restore } \] \end_inset ここで \family typewriter \series default \shape default \size default \emph default \bar default \noun default \color inherit \backslash save"1,1"."2,1"*+[F=] \backslash frm{} \backslash restore \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none というコードは、二重線長方形を生成し、もう一つの横に長い長方形は、 \family typewriter \series default \shape default \size default \emph default \bar default \noun default \color inherit \backslash save"1,1"."1,2"*++[F] \backslash frm{} \backslash restore \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none で作られます。 このコードは、 \family default \series default \shape default \size default \emph default \bar default \noun default \color inherit \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -行列のどのセルにも置くことができます。 \end_layout \begin_layout Section \SpecialChar LyX 数式エディタを使う \begin_inset CommandInset label LatexCommand label name "sec:数式エディタ" \end_inset \end_layout \begin_layout Standard \family typewriter xypic \family default コードを書いてそれをマークし、 \family sans Ctrl-m \family default か \family sans Ctrl-M \family default を適用して数式編集環境に変換する方法以外にも、\SpecialChar LyX 数式エディタ内でxypic図式を作成して編集することができます。 上記のような図を編集する手順を説明することにしましょう。 \end_layout \begin_layout Subsection 注意— 波括弧の入れ方 \end_layout \begin_layout Standard \SpecialChar LyX 数式エディタでは、マクロパラメータを囲む波括弧の対 \family typewriter { \family default と \family typewriter } \family default は、 \family typewriter \backslash { \family default を一回入力するだけで入れなくてはなりません。 閉じ括弧は自動的に付け加えられ、間にはパラメータを入れるボックスが現れます。 \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -図式との関連について云えば、矢羽根・矢柄・鏃を指定するために、通常 \family typewriter @{ \family default \SpecialChar ldots \family typewriter } \family default の形で入力する矢印修飾子についても同じことが云えます。 数式エディタ内では、 \family typewriter @ \backslash { \family default とだけ入力して、\SpecialChar LyX がボックスと閉じ括弧を入れてくれるのを待ち、そこに矢印の指定を入れてください。 \end_layout \begin_layout Standard バックスラッシュ \family typewriter \backslash \family default なしで入れた波括弧は、打ったとおりに出ますが、マクロパラメータを受けるために使用することはできません。 こうした波括弧は、集合などを示すのに便利です。 たとえば、 \family typewriter {x \backslash in X \backslash mid x \backslash notin x} \family default は \begin_inset Formula $\{x\in X\mid x\notin x\}$ \end_inset と表示されます。 \end_layout \begin_layout Subsection 行列を用意する \end_layout \begin_layout Standard \family sans Ctrl-m \family default または \family sans Ctrl-M \family default で数式環境を開始し、 \family typewriter \backslash xymatrix \family default と入れてください。 すると、1 \begin_inset Formula $\times$ \end_inset 1- \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -行列が作られます。 行を追加するには、 \family sans Ctrl-Enter \family default と入力し、列を追加するには、 \family sans Alt-m c i \family default と入力します。 \end_layout \begin_layout Standard 行や列は、 \family sans 編集\SpecialChar menuseparator 数式 \family default にあるコマンド、あるいは \family sans Alt-m c \family default で始まる列コマンド短絡キーや \family sans Alt-m w \family default で始まる行コマンド短絡キーを使って、いつでも追加したり削除したりすることができます。 \end_layout \begin_layout Subsection ノード・矢印・ラベルを入力する \end_layout \begin_layout Standard まずノードを行列中の正しい位置に入力してください。 行列の外にカーソルを動かすと、ノードレイアウトの最初のレンダリングを見ることができます。 次に、矢印を開始するノードに \family typewriter \backslash ar[ \family default \emph on p \family typewriter \emph default ] \family default と打って矢印を加えてください。 ここで \emph on p \emph default は、 \family typewriter u \family default ・ \family typewriter d \family default ・ \family typewriter l \family default ・ \family typewriter r \family default の文字を組み合わせて作られたパスを示します。 このパスが、本当に行列中の既存ノードに向かっていることを確認してください。 正しくないと、カーソルを編集領域から出しても、図が表示されません。 \end_layout \begin_layout Standard 次に、矢印のパスの終わりに上添字か下添字としてラベルを書くことで、矢印にラベルを付けてください。 \SpecialChar LyX 数式エディタにおいては常に、アンダースコア \family typewriter _ \family default を打つと下添字のボックスが開き、 \family typewriter ^ \family default の後にスペースを押すと上添字のボックスが開きます。 ラベルには、\SpecialChar LaTeX コードを自由に入れることができます。 \end_layout \begin_layout Subsection 矢印を修飾する \end_layout \begin_layout Standard 最後に、@-修飾子 \family typewriter @{ \family default \SpecialChar ldots \family typewriter } \family default ・ \family typewriter @< \family default \SpecialChar ldots >・ \family typewriter @( \family default \SpecialChar ldots ,\SpecialChar ldots )・ \family typewriter @/ \family default \SpecialChar ldots \family typewriter / \family default を入れることによって、矢印の見かけを修正することができます。 上記の注意は、最初の修飾子のみに該当し、 \family typewriter @ \backslash { \family default と打つと出てくるボックスの中に矢印の指定を入力するようにしなくてはなりません。 このボックスを空のままにしておくと、空の矢印を指定したことになります。 次節で見るように、これもまた便利な作図法です。 \end_layout \begin_layout Standard その他の修飾子 \family typewriter @< \family default \SpecialChar ldots \family typewriter > \family default ・ \family typewriter @( \family default \SpecialChar ldots ,\SpecialChar ldots \family typewriter ) \family default ・ \family typewriter @/ \family default \SpecialChar ldots \family typewriter / \family default は、省略記号部分を矢印の指定に置き換える他は、そのまま入力します。 曲がった矢印のコードは、 \family typewriter xypic \family default では、 \family typewriter @/_ \family default \emph on 寸法 \family typewriter \emph default / \family default または \family typewriter @/ \emph on ^ \family default 寸法 \family typewriter \emph default / \family default として入れます(ここで \emph on 寸法 \emph default は有効な\SpecialChar TeX 寸法であり、最初のスラッシュ/の後に上添字または下添字として入力します)。 最後のスラッシュが、上添字や下添字の一部のままにならないように注意してください。 \end_layout \begin_layout Subsection おかしくなったらどうするか \end_layout \begin_layout Standard 図式を作図するときに、ときどきカーソルを編集領域の外に出して、自動プレビューがグラフィカル出力に正しく変換されるかどうかを確かめると良いでしょう。 うまく変換されないときには、何らかの理由で自動プレビューがグラフィックスを再描画すべきことに気づかないせいかもしれません。 カーソルを編集領域にいったん入れてからまた出すと、自動プレビューが引き起こされることがあります。 \end_layout \begin_layout Standard もっと深刻な理由としては、入力中の文法エラーであることもあります。 必要であれば、 \emph on Ctrl+Z \emph default を使って編集の最後の手順をやり直すか、 \emph on Ctrl+D \emph default または \family sans 表示\SpecialChar menuseparator DVI \family default を使って、\SpecialChar LyX ファイルを \emph on DVI \emph default に変換してみてください。 いくつかエラーが出力されるはずなので、間違いの原因についてのヒントが得られるかもしれません。 \end_layout \begin_layout Section 手を入れる \end_layout \begin_layout Standard 一部には、\SpecialChar LyX 内部では正しく動作しないものがあります。 私たちが(かつて)最も望んでいたものは、図式の水平・垂直伸縮であり、矢印の正確な配置でした。 これにはいくつか回避法があり、それをここで説明します。 \end_layout \begin_layout Subsection 水平・垂直伸縮 \end_layout \begin_layout Standard 行間コマンドや列間コマンドを使用して、図式全体の水平寸法や垂直寸法を伸縮させることが便利なことがよくあります。 \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -取扱説明書によれば、たとえば \family typewriter \backslash xymatrix@R=1pc{ \family default \SpecialChar ldots \family typewriter } \family default とすると、1ピカの行間を持つ \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -行列が定義されます。 同様に、 \family typewriter \backslash xymatrix@C= \family default \SpecialChar ldots \family typewriter { \family default \SpecialChar ldots \family typewriter } \family default とすれば、列間を指定することができます。 残念ながら@-文字は、\SpecialChar LyX に \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -行列マクロの終わりと解釈されてしまうので、これらのコマンドは、現在のところ、\SpecialChar LyX 内では動作しません。 \end_layout \begin_layout Standard \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset が、行間および列間を \family typewriter \backslash xymatrixrowsep@ \family default 変数と \family typewriter \backslash xymatrixrowsep@ \family default 変数に保存することが知られていることから、プリアンブル( \family sans 文書\SpecialChar menuseparator 設定\SpecialChar menuseparator \SpecialChar LaTeX プリアンブル \family default )に以下のマクロを付け加えます。 \begin_inset Newpage pagebreak \end_inset \end_layout \begin_layout LyX-Code \backslash newcommand{ \backslash xyR}[1]{% \end_layout \begin_layout LyX-Code \backslash xydef@ \backslash xymatrixrowsep@{#1}} \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard \family typewriter \backslash xymatrixrowsep@ \family default を \family typewriter \backslash xymatrixcolsep@ \family default に変えることによって、 \family typewriter \backslash xyC \family default マクロも定義できます。 すると、 \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -行列に \backslash xyR{...}を入れることによって、図を伸縮することができます。 カーソルを行列の内部、最初の要素の前に置きます。 そこに、 \family typewriter \backslash xyR \backslash { \family default または \family typewriter \backslash xyC \backslash { \family default 、あるいは両者を入力します。 バックスラッシュを忘れないようにし、閉じ括弧は\SpecialChar LyX が自動的に供給することに注意してください。 波括弧の中に寸法を入れます。 既定値は、 \family typewriter 2pt \family default です。 以下は、 \family typewriter \backslash xyR{9pc} \backslash xyC{.5pc} \family default と指定して、縦方向に圧縮し、横方向に伸ばした図式の例です。 \end_layout \begin_layout Standard \begin_inset Formula \[ \xyC{.5pc}\xyC{9pc}\xymatrix{A\ar[r]\ar[d] & B\\ C\ar@{}[ur]|{\text{{\text{水}\text{平}\text{方}\text{向}\text{に}\text{延}\text{ば}\text{す}}}} } \] \end_inset \end_layout \begin_layout Subsection ラベルの位置 \end_layout \begin_layout Standard もう一つの便利な \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -コマンドに、ラベルを矢柄の正確な位置に配置させるものがあります。 ラベルの既定位置が絵を汚くしてしまったり、下記の図における矢印の交点のように、他の要素と干渉してしまったりする場合には、この機能が必要となります。 矢柄に沿ってラベル位置を移動させるために、 \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset では、括弧の中に十進数を入れて、矢の中でラベルを配置する相対位置を指定することができます。 たとえば、 \family typewriter \backslash ar[r]|(0.3) \backslash varphi \family default というコードは、ラベルを柄の3分の1のところに配置します。 同じことを矢印の上や下に付けるラベルに対してしようとして、 \family typewriter \backslash ar[dr]^(0.3) \backslash varphi \family default あるいは \family typewriter \backslash ar[ur]_(0.3) \backslash phi \family default としたとしても、\SpecialChar LyX の内部からではうまく動作しません。 その代替策として、ハット記号^あるいはアンダースコア_を、それぞれ \family typewriter \backslash sp \family default ・ \family typewriter \backslash sb \family default に置き換え、 \family typewriter \backslash ar[dr] \backslash sp(0.3) \backslash varphi \family default または \family typewriter \backslash ar[ur] \backslash sb(0.3) \backslash phi \family default のようにしてください。 じつは、このようにして複数のラベルを入れ、たとえ矢印が曲がっていても、これらのラベルを正確に配置することができるのです。 以下の図では、 \family typewriter \begin_inset Newline linebreak \end_inset \backslash ar@(r,r)[d] \backslash sp(0.2){ \backslash phi_{1}} \backslash sp(0.4){ \backslash phi_{2}} \backslash sb(0.6){ \backslash phi_{3}} \begin_inset Newline linebreak \end_inset \backslash sp(0.8){ \backslash phi_{4}} \family default と指定することによって、4つのラベルを持つ曲がった矢印を生成しています。 \end_layout \begin_layout Standard \begin_inset Formula \[ \xyC{4pc}\xymatrix{\bullet\ar[dr]\sp(0.3)\varphi & \circ\ar@{}[d]|\vdots\ar@(r,r)[d]\sp(0.2){\phi_{1}}\sp(0.4){\phi_{2}}\sb(0.6){\phi_{3}}\sp(0.8){\phi_{4}}\\ \circ\ar[ur]\sb(0.3)\phi & \bullet } \] \end_inset \end_layout \begin_layout Subsection 見えない矢印の引き延ばし \end_layout \begin_layout Standard 図式の好きなオブジェクトを(ほぼ任意の)好きな場所に配置するトリックとして、見えない矢印を使う方法がよく使われます。 見えない矢印を作成し、パスに伸縮比 \family typewriter (0.6) \family default や \family typewriter (1.4) \family default などを加えて、その行き先を縮めたり延ばしたりしてください。 この見えない矢印にラベルを付加します。 \end_layout \begin_layout Standard したがって、上図中の、矢柄の(0.3)の位置に \begin_inset Formula $\varphi$ \end_inset というラベルを付けた下向きの矢印は、通常の矢印 \family typewriter \backslash ar[dr] \family default に、ラベル \begin_inset Formula $\varphi$ \end_inset を持った見えない矢印 \family typewriter \backslash ar@{}[dr(0.6)]^ \backslash varphi \family default を付け加え、それを比率0.6に縮めることによっても作成することができます。 そのラベルは、元の見える矢印の0.3の位置に表示されることになります。 \end_layout \begin_layout Standard この回避法には、2つ微少な短所があります。 一つは、これは曲がった矢印には機能しないことです。 二つめは、見えない矢印を図全体の正常な寸法を超えて延ばしてしまうと、図のボックスの余白を延ばしてしまい、図と前後の段落との間に垂直余白を取りすぎることになってしまうことです。 \end_layout \begin_layout Standard それでも、見えない矢印は、基本的に図式中の任意の場所に情報を置くのに用いることができるので、重要なツールなのです。 たとえば、上図中では、 \family typewriter \backslash vdots \family default をラベルとしておくのに見えない矢印が使われていますし、その前の図では、図の真ん中に「 \family typewriter 水平方向に延ばす \family default 」という文章を置くのに見えない矢印を使用しています。 \end_layout \begin_layout Subsection その他の \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \family default -トリック \end_layout \begin_layout Standard ここでは、 \family typewriter \backslash xymatrix \family default コマンドに焦点を当てましたが、これは、Kris Roseによる素晴らしい \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \family default -パッケージの機能の一つに過ぎないのです。 \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \family default -Picの取扱説明書 \begin_inset CommandInset citation LatexCommand cite key "xypic manual" literal "true" \end_inset には、このパッケージの進んだ使い方が多く示されています。 そこでは簡潔な説明しか与えられていないため、そこにある多くの実例をあれこれ試したり修正したりする必要があるかもしれないので、注意してください。 Lauda \begin_inset CommandInset citation LatexCommand cite key "Lauda" literal "true" \end_inset には、組ひも・コボルディズム・ひも図式などを作るための \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -Picの使い方がたくさん説明されています。 \family typewriter \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \family default -行列へのシステマティックで良い入門書は \begin_inset CommandInset citation LatexCommand cite key "Ouvaton" literal "true" \end_inset です。 あなたが私同様にエスペラント語に長けていないとしても、ほとんどの部分はわかるでしょう。 \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem label "1" key "xypic manual" literal "true" \end_inset Kristoffer H. Rose: \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -Pic User's Guide \emph default . Version 3.7, Feb. 16, 1999. \begin_inset Newline newline \end_inset \SpecialChar LaTeX パッケージ \family typewriter xypic \family default の一部として入手できます。 \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem label "2" key "instant-preview" literal "true" \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout http://www.gnu.org/software/auctex/preview-latex.html \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem label "3" key "xypic" literal "true" \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyguide.pdf \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem label "4" key "AUCTeX" literal "true" \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout http://www.gnu.org/software/auctex/ \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem label "5" key "Lauda" literal "true" \end_inset Aarlon Lauda: \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -Pic \emph default \emph on tutorial with an archive of examples \emph default . \begin_inset Newline newline \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyguide.pdf \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem label "6" key "Ouvaton" literal "true" \end_inset Filipp Ouvaton: \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -Pic \emph default : \emph on Enkonduko pri Xymatrix \emph default . \begin_inset Newline newline \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyguide.pdf \end_layout \end_inset \end_layout \end_body \end_document