# How to make a circular arrow have the same size and position as other circular symbols?

I'm using the mathabx package's circular arrows; however, since I otherwise prefer the usual amsmath symbols, I'm following the setup described in Importing a Single Symbol From a Different Font to import only the circular arrows.

Here is my code:

\documentclass[11pt]{article}
\usepackage{amsmath,amssymb,graphicx}

\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}{<5> <6> <7> <8> <9> <10> gen * mathb
<10.95> mathb10 <12> <14.4> <17.28> <20.74> <24.88> mathb12}{}
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}
\DeclareMathSymbol{\rcirclearrow}{0}{mathb}{'367}

\begin{document}
$A\mathbin{\raisebox{0.05ex}{\scalebox{0.9}{\rotatebox[origin=c]{270}{$\rcirclearrow$}}}} B$

$A\otimes B$
\end{document}


This is what is produced:

As you can see, they are not lined up, even though I put the circular arrow inside \mathbin{}. Since I know that fiddling with \hspace and \raisebox is not fully "proper", and won't scale with changes to font or font size, my question is:

How can I make this circular arrow agree with other circular symbols like \oplus and \otimes, in a way that will scale properly? Is there a way to figure out the exact value needed to give to \scalebox to get the circular arrow to be the same size as an \otimes?

Incidentally, I suppose this raises the mathematical question of whether the circular arrow is to be considered a relation or an operator. In my context, I am using

 A (right-facing circular arrow) B


to mean "A acts on B". For example, we might have a group G acting on a space X.

Can any mathematically-inclined people give their opinions/reasoning for whether "acts on" is a relation or operation, and hence whether I should instead be giving the circular arrow a \mathrel or a \mathbin spacing?

-
Welcome to TeX.sx! –  Jubobs Mar 18 '13 at 4:16

You loose horizontal space by scaling it at 0.9 of its original width. Besides that, I have defined the original \rcirclearrow as an \mathbin. The 0 you put there made it an Ord atom.

Putting the new symbol inside a box wide as the \rcirclearrow symbol you can achieve good results.

## Code

\documentclass[11pt]{article}
\usepackage{amsmath,amssymb,graphicx,calc}

\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}{<5> <6> <7> <8> <9> <10> gen * mathb
<10.95> mathb10 <12> <14.4> <17.28> <20.74> <24.88> mathb12}{}
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}

\DeclareMathSymbol{\rcirclearrow}{\mathbin}{mathb}{'367}
\makeatletter
\newcommand*{\Rcirclearrow}{\mathpalette\@Rcirclearrow{}}
\newcommand*{\@Rcirclearrow}[1]{%
\mathbin{\ooalign{\hphantom{$#1\rcirclearrow$}\cr\hss\raisebox{0.05ex}{%
\scalebox{0.9}{%
\rotatebox[origin=c]{270}{%
$#1\rcirclearrow$}}}\hss}}}
\makeatother
\begin{document}
\leavevmode\llap{\smash{\rule[-2.3\baselineskip]{.4pt}{2.5\baselineskip}}}% only to show the alignment
$A \rcirclearrow B_{A \rcirclearrow B_{A \rcirclearrow B}}$%
\rlap{\smash{\rule[-2.3\baselineskip]{.4pt}{2.5\baselineskip}}}% again, only for alignment

$A \Rcirclearrow B_{A \Rcirclearrow B_{A \Rcirclearrow B}}$

$A \otimes B_{A \otimes B_{A \otimes B}}$
\end{document}


-