[Tex/LaTex] group actions in diagrams

diagrams

I am currently finishing a math paper where I have several diagrams with group actions and just plain morphisms. I need the proper denotation for group actions (a round arrow).

Currently, the code looks like this:

\begin{align*}
\xymatrix{
G_1 \ar@{^{(}->}[rd] & & G_2 \ar@{^{(}->}[ld] \ar@{^{(}->}[rd] & & G_1 \ar@{^{(}->}[ld] \\
& \ar[ld]_-{a_1} X_1 \ar[rd]_-{b_1} & & \ar[ld]_-{a_2} X_2 \ar[rd]_-{b_2} & \\
A & & B & & A 
} 
\end{align*}

The groups G_1 and G_2 act on the spaces. But in this diagram the actions look more like inclusions.

Another situation common in my paper:

\[
\xymatrix{
G_1 \ar@{^{(}->}[r] & \ar[dl]_{a} X \ar[dr]_{b} & \ar@{^{(}->}[l] G_2 \\
A & & B 
} 
\]

I want to replace these weird looking inclusions by a symbol for group actions, namely the round arrows.

How could I do this specifically in \xymatrix? Is there a way at all?
If you can give me some pstricks hack or something which works in any LaTeX distribution that would be my favorite solution (without having to add packages like tikz, as I fear the math journal will not be able to compile the file).

The question looks similar to a commutative diagram compatible with group actions
but in my case the diagram is different.

I have added a picture of what I have in mind.
Btw, I find the tikz arrows not pretty either…

enter image description here

Best Answer

In case you change your opinion towards TikZ:

% arara: pdflatex

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

\begin{document}    
\[
\begin{tikzcd}
    G_1 \ar[hook]{rd} & & G_2 \ar[hook]{ld} \ar[hook]{rd} & & G_1 \ar[hook]{ld} \\
    & \ar{ld}{a_1} X_1 \ar{rd}{b_1} & & \ar{ld}{a_2} X_2 \ar{rd}{b_2} & \\
    A & & B & & A 
\end{tikzcd}
\]
\[
\begin{tikzcd}
    G_1\arrow[loop left] \arrow{r} & \arrow{dl}{a} X \arrow{dr}{b} & \arrow{l} G_2\arrow[loop right] \\
    A & & B 
\end{tikzcd}
\]
\end{document}

enter image description here


If those loops are what you want, you may be interested in how to tweak them:

\begin{document}    
\begin{tikzcd}
1\arrow[loop] & 2\arrow[loop above] & 3\arrow[loop above, distance=30] & 4\arrow[loop above, out=70, in=110, distance=30] & 5\arrow[loop, distance=14, out=60, in=30]
\end{tikzcd}
\end{document}

enter image description here


Edit: After the inclusion of the image to the OP, I can update to this solution:

% arara: pdflatex

\documentclass{article}
\usepackage{tikz-cd}
% if you want to change the arrow heads. Look into the manual for more information
%\tikzcdset{%
%   arrow style=tikz,
%   diagrams={>=stealth}
%}
\tikzset{%
    symbol/.style={%
        ,draw=none
        ,every to/.append style={%
            edge node={node [sloped, allow upside down, auto=false]{$#1$}}}
    }
}
\usepackage{amssymb} % for the circle arrows. Chose whatever font you like. 

\begin{document}    
\[
\begin{tikzcd}[every label/.append style={swap}]
G_1 \arrow[symbol=\circlearrowleft]{rd} & & G_2 \ar[symbol=\circlearrowright]{ld} \ar[symbol=\circlearrowleft]{rd} & & G_1 \ar[symbol=\circlearrowright]{ld} \\[-2\jot]
& \ar{ld}{a_1} X_1 \ar{rd}{b_1} & & \ar{ld}{a_2} X_2 \ar{rd}{b_2} & \\
A & & B & & A 
\end{tikzcd}
\]
\hrulefill
\[
\begin{tikzcd}[every label/.append style={swap}]
G_1 \arrow[symbol=\circlearrowleft]{r} & \arrow{dl}{a} X\arrow[symbol=\circlearrowright]{r} \arrow{dr}{b} & G_2 \\
A & & B 
\end{tikzcd}
\]
\end{document}

enter image description here