I introduced the following macros
\newcommand{\malcev}{\mathop{\text{\textcircled{\scriptsize M}}}\nolimits}
\newcommand{\imalcev}{\mathop{\text{\textcircled{\tiny M}}}\nolimits}
The code
\[
\mathbf{V} \malcev \mathbf{W} \qquad F_{\mathbf{V} \imalcev \mathbf{W}} \qquad S^{\mathbf{V} \imalcev \mathbf{W}}
\]
now produces an acceptable result
However, it is certainly not a clean solution since I have to manually switch between \malcev and \imalcev depending on the font size (not to speak about a possible double superscript). I am looking for a better solution (if possible avoiding tikz). I looked at the following questions
- Good way to make \textcircled numbers?
- How do I put a circle around an operator?
- How to make a command for a composed symbol to work with all font sizes?
which are certainly relevant, but I was not able to get exactly what I wanted from their answers. One of the difficulties is that I use \textcircled on a scriptsized letter (otherwise my symbol would be too big), but this is probably not a good idea. Any help would be appreciated.
\text
, extract the actual height of a letter, and draws the operator in proportion to it.textcircled
. For instance:\newlength\oneex\def\malcev{\mathop{\text{\settoheight{\oneex}{x}\raisebox{0.3\oneex}{\resizebox{!}{\oneex}{\normalsize\textcircled{\scriptsize M}}}}}}
. Basically, the circled M is written in a "normal" size, and it is then scaled to the height of an x.