XY画像内の矢印の開始位置を変更する

XY画像内の矢印の開始位置を変更する

このスクリプト

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

\begin{document}
\begin{equation}
\xymatrix @R=0.3pc @C=0.3pc{ 
     & N_0\oplus G_1 & N_1\oplus G_2 \ar@/_1.5pc/[l]_u }
\end{equation}
\end{document}

次の結果を与える ここに画像の説明を入力してください

矢印が「G_2」から始まり、「G_1」に到達することを望みます。ありがとうございます

答え1

考えられる解決策tikz-cd:

\documentclass{article} 
\usepackage{amsmath} 
\usepackage{tikz-cd}
\begin{document} 
\[
\begin{tikzcd}
N_0\oplus G_1 
& N_1\oplus G_2 
\arrow[l, bend right=60, "u", swap, start anchor={[xshift=-10pt]north east}, end anchor={[xshift=-10pt]north east}]\\
\end{tikzcd}
\] 
\end{document}

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

矢印の先端をxymatrix追加したい場合は

\tikzcdset{arrow style=tikz, diagrams={>={Straight Barb[length=5pt,width=5pt]}}}

プリアンブルの の後に を追加すると\usepackage{tikz-cd}、次のようになります。

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

答え2

パッケージを使用できますtikz。次のコードを検討してください。

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{calc}
\tikzstyle{every picture}+=[remember picture]

\begin{document}
\begin{equation}
N_0\oplus \tikz[baseline]{\node[fill=blue!20,circle,inner sep=1pt,anchor=base] (t1){$G_1$}} \quad 
N_1\oplus \tikz[baseline]{\node[fill=red!20,circle,inner sep=1pt,anchor=base] (t2){$G_1$}}
\end{equation}
\begin{tikzpicture}[overlay]
\draw[-latex](t2.90)to[in=60,out=120]node[midway,above]{$u$}(t1);
\end{tikzpicture}
\end{document}

出力は次のようになります。

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

注記:ノードの色を簡単に変更または削除できます。

\begin{equation}
N_0\oplus \tikz[baseline]{\node[fill=none,draw=none,inner sep=1pt,anchor=base] (t1){$G_1$}} \quad 
N_1\oplus \tikz[baseline]{\node[fill=none,draw=none,inner sep=1pt,anchor=base] (t2){$G_1$}}
\end{equation}

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

コード内の次の行を変更することで、矢印の出力と入力の角度と位置を変更することもできます。

\draw[-latex]($(t2)+(-1mm,2mm)$)to[in=60,out=120]node[midway,above]{$u$}($(t1)+(-1mm,2mm)$);

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

関連情報