Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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:

image description

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?

share|improve this question
    
Welcome to TeX.sx! –  Jubobs Mar 18 '13 at 4:16
add comment

1 Answer

up vote 3 down vote accepted

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.

Reference

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}

Output

enter image description here

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.