2 つのセルのスタイルを変更するにはどうすればよいですか?

2 つのセルのスタイルを変更するにはどうすればよいですか?

2 つのセルのスタイルを変更するにはどうすればよいですか? 次の簡単な例をご覧ください。

\documentclass{article}
\usepackage[all,cmtip,2cell]{xy}
\UseTwocells

\begin{document}

$\xymatrix@C+1pc{C \rtwocell<4>  & D}$

\end{document}

図の中央に下向きの二重矢印があります。そのスタイルを変更するにはどうすればよいでしょうか。たとえば、ジグザグ矢印にするにはどうしたらよいでしょうか。つまり、xypic で通常の矢印だった場合、スタイルを次のように変更します\ar@{~}[d]

答え1

矢印は によって変更されます\arrowobject。デフォルトでは、 は\dir{=>}で次のよう=>に定義されます。xy2cell.tex

\newdir{=>}{!/5pt/\dir{=}!/2.5pt/\dir{=}*!/-5pt/\dir2{>}}

次のようなもので曲がりくねった矢印を作ることができます

\newdir{~>}{!/2.5pt/\dir{~}*!/-5pt/\dir2{>}}

これを

$\arrowobject{\dir{~>}}\xymatrix@C+1pc{C \rtwocell<4>  & D}$

サンプル出力

\documentclass{article}
\usepackage[all,cmtip,2cell]{xy}
\UseTwocells

\newdir{~>}{!/2.5pt/\dir{~}*!/-5pt/\dir2{>}}

\begin{document}

$\arrowobject{\dir{~>}}\xymatrix@C+1pc{C \rtwocell<4>  & D}$

\end{document}

詳細は、以下の参照マニュアルをxyrefer.pdfご覧ください。texdoc xyrefer

矢印のない接続の場合は、次のいずれかを使用できます。

2番目のサンプル

$\arrowobject{\dir{~}}\xymatrix@C+1pc{C \rtwocell<4>  & D}$

\newdir{l~}{!/3.5pt/\dir{~}*!/-3.5pt/\dir{~}}
$\arrowobject{\dir{l~}}\xymatrix@C+1pc{C \rtwocell<4>  & D}$

\newdir、 で区切られたユニットで構成された複合オブジェクトです*。ユニットは!/3.5t/\dir{~}先端を受け取り~3.5ptパスに沿って (後方に) スライドさせます。

答え2

質問は特に について尋ねていることは承知しています2cellが、より現代的な方法を使用すると次のようになります。tikz-cdパッケージ; 波線はライブラリsnakeの装飾を使用して作成されましたdecorations.pathmorphing:

\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{decorations.pathmorphing}

\tikzset{no tip/.style={arrows=-}}

\begin{document}

\begin{tikzcd}
C \ar[r, bend left=50, ""{name=U, below}]
\ar[r, bend right=50, ""{name=D}]
& D
\ar[decorate, decoration={snake},from=U, to=D,no tip]
\end{tikzcd}

\end{document}

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

関連情報