Alterando o ponto de partida da seta na imagem XY

Alterando o ponto de partida da seta na imagem XY

Este roteiro

\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}

dê o seguinte resultado insira a descrição da imagem aqui

Desejo que a seta comece em "G_2" e chegue em "G_1". Obrigado

Responder1

Uma possível solução com 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}

insira a descrição da imagem aqui

Se você quiser uma ponta de seta como xymatrixadicionar

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

no seu preâmbulo, depois \usepackage{tikz-cd}, e você obterá:

insira a descrição da imagem aqui

Responder2

Você pode usar tikzo pacote. Considere o seguinte código:

\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}

Esta é a saída:

insira a descrição da imagem aqui

Observação:Você pode alterar ou remover facilmente a cor dos nós.

\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}

insira a descrição da imagem aqui

Você também pode alterar o ângulo de saída e entrada e a posição da seta, alterando a seguinte linha no código:

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

insira a descrição da imagem aqui

informação relacionada