xypic: 2 セルの三角形の等式

xypic: 2 セルの三角形の等式

私は、 を使用して、圏論における随伴関数の定義からの三角形の恒等式をタイプセットしたいと思いますxypic。問題は、斜辺と反対側の角を結ぶ二重矢印を作成することです。

ここに画像の説明を入力してください

以下は、私が自分で実行できる (完全に簡単な) 部分です。二重矢印以外の部分です。 \xymatrix{ C\ar[r]^{F}\ar[dr]_{1_{C}} & D\ar[d]^{G} & & D\ar[dr]^{1_{D}}\ar[d]_{G}\\ & C & & C\ar[r]_{F} & D }

にはそのような「貼り付け図」を作成する方法があるようですxypicが、どこにも明確な説明が見つかりません。コマンドが何らかの形で関係していることはわかっています\compositemapが、それをどのように使用すればよいのかわかりませんでした。

答え1

xyそれほど簡単で強力ではないので、もう使用していませんこの解決策があなたにも役立つことを願っています:

% arara: pdflatex

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}    
\[\begin{tikzcd}[row sep=3em]
C \arrow{r}{F} \arrow[""{name=foo}]{dr}[swap]{1_C} & D \arrow{d}{G} \arrow[Rightarrow, from=foo, swap, near start, "\eta"]& D \arrow{d}[swap]{G} \arrow[""{name=bar, below}]{dr}{1_D} & \\
& C & C \arrow{r}[swap]{F} \arrow[Rightarrow, to=bar, swap, near start, "\varepsilon"] & D
\end{tikzcd}\]
\end{document}

ここに画像の説明を入力してください


ご希望どおり、 を使用したソリューションがここにありますxy。これはかなりハッキーです。 Sigur が挙げた例を使用する方が良いと思います。ただし、 はxy空の行列エントリを管理できるため、矢印を必要な場所を指すためにこれを使用しました。ただし、行列ノードの数は 2 倍必要です。

% arara: pdflatex

\documentclass{article}
\usepackage[%
,all
%,cmtip % recommended, but I do not know how to get it to work for the double arrow
]{xy}

\begin{document}    
\[\xymatrix@R=4mm @C=4mm{ 
    C\ar[rr]^{F} \ar[ddrr]_{1_{C}} & & D \ar[dd]^{G} & & D \ar[ddrr]^{1_{D}} \ar[dd]_{G} & & \\ 
    &\ar@2{->}[ur]_{\eta} & & & & & \\
    & & C & & C \ar@2{->}[ur]_{\varepsilon} \ar[rr]_{F} & & D 
}\]
\end{document}

ここに画像の説明を入力してください

答え2

xy-pic異なるアプローチによる別の解決策:

\documentclass{article}
\usepackage[all]{xy}

\begin{document}
\[
\xymatrix{ 
  C\ar[r]^{F}\ar[dr]_{1_{C}} & D\ar[d]^{G}\ar@{<=}[dl]+<22pt>^>>>{\eta} & & D\ar[dr]^{1_{D}}\ar[d]_{G}                      & \\ 
                             & C                                        & & C\ar[r]_{F}\ar@{=>}[ur]-<22pt>_>>>{\varepsilon} & D 
}
\]
\end{document} 

出力:

ここに画像の説明を入力してください

答え3

私はちょうど同じものを見て、の2cell機能を使用しようとしましたxy-pic参考マニュアル、私は「正しい」解決策は次のようになると思います

\documentclass[border=10pt]{standalone}
\usepackage[all,2cell]{xy}
\UseAllTwocells

\begin{document}
\[
\xymatrix{C\drtwocell\omit{^<-2>\eta}\ar_{1_C}[dr]\ar^F[r]&D\ar^G[d]&
D\drtwocell\omit{^<2>\varepsilon}\ar^{1_D}[dr]\ar_G[d]&\\
&C&C\ar_F[r]&D}
\]
\end{document}

コードは と読みます\drtwocell\omit{^<-2>\eta}。ここで は\omit2 つの曲線矢印を省略することを示し、 は^2 つのセルの方向を指定し、 は<-2>ラベルを微調整します (そうでない場合は中心点になります)。

出力:

ここに画像の説明を入力してください

問題があります:あなたできない2 セルに対してラベルがどちら側にあるかを指定します。これは実装されていないようですが、おそらく他のハックなしでできる最善の方法です。

関連情報