10

There is an asymmetric tensor-like binary product operation on rings, and the notation for it is informed by both the notation for semi-direct product \rtimes and that for tensor product \otimes. It looks like a tensor product, with the arc of the surrounding "O" missing between the lower-left leg and upper-left legs of the central "X". Here is a photo of the symbol in context, hand-drawn using an iPad:

Handwritten math notation, including the symbol I would like to replicate. The LaTeX code would be $\widehat{H}_c \rtensor \mathbb{C}[\Gamma(c)]$, if I can create a \rtensor command.

As far as I know it is so far exclusively handwritten. How can I create a glyph for this operation in LaTeX? I'd like to call it \rtensor. I have the sense that the easiest way to do this is to somehow modify the glyph for \otimes by removing an arc from one side, since I want it to be the same size and have the same spacing properties. But I don't know how to proceed.

Can someone help me typeset this symbol?

19

Here is an easy "design-your-own" TikZ solution.

enter image description here

Advantages: Easy. Nicer corners compared to clipping.

Disadvantage: Not truly the exact spacing of \otimes. But close.

Code:

\documentclass{article}
\usepackage{tikz,scalerel}

\newcommand{\rtensor}{\mathbin{\mkern1mu\scalerel*{\tikz[line width=.25]{
    \clip(0,0) circle[radius=1mm+.125pt];
    \draw(-45:.1)--(135:.1) arc (135:-135:.1) -- (45:.1);
    }}{\otimes}\mkern1mu}}

\begin{document}

$H\rtensor C_{H\rtensor C_{H\rtensor C}}$

\end{document}

Update: If it's important to get the spacing for \rtensor to be exactly the same as \otimes, you can redefine \otimes. Use \let to retain the original \otimes definition if you wish.

\documentclass{article}
\usepackage{tikz,scalerel}

\let\oldtimes\otimes

\renewcommand{\otimes}{\mathbin{\mkern1mu\scalerel*{\tikz[line width=.25]{
    \clip(0,0) circle[radius=1mm+.125pt];
    \draw(0,0) circle[radius=.1]; \draw (-135:.1) -- (45:.1); \draw (135:.1) -- (-45:.1);
    }}{\oldtimes}\mkern1mu}}

\newcommand{\rtensor}{\mathbin{\mkern1mu\scalerel*{\tikz[line width=.25]{
    \clip(0,0) circle[radius=1mm+.125pt];
    \draw(-45:.1)--(135:.1) arc (135:-135:.1) -- (45:.1);
    }}{\oldtimes}\mkern1mu}}

\begin{document}

$H\rtensor C_{H\rtensor C_{H\rtensor C}}$

$H\otimes C_{H\otimes C_{H\otimes C}}$

\end{document}

enter image description here

4
  • 1
    This looks fantastic! What's the difference in spacing between the first and second parts of the answer? (In any case the spacing looks similar enough I'll probably prefer the first since it's a bit simpler.) And is the renewed \otimes visibly different from \oldtimes? – Jackson Apr 6 at 15:19
  • 2
    I edited my original response to that the spacing was a little better, adding clip and mkern. So the 2 parts are identical except for renewing \otimes. The difference in spacing and line weight changes slightly in scriptstyle and scriptscriptstyle. By renewing \otimes the two characters become identical in size and weight. I can imagine a scenario using align or something similar where you would want the characters to be precisely the same. – Sandy G Apr 6 at 16:32
  • +1 for using scalerel...hoist by my own petard. – Steven B. Segletes Apr 7 at 0:47
  • @StevenB.Segletes, best package ever! – Sandy G Apr 7 at 1:01
15

Set up to work in all math styles.

As nicely upvoted as the original answer, below, was, I took to heart Barbara's comment on how the clipping should be such to provide square corners. So here is a revision that seems to work well over the span of 10-12 pt documents, without any changes needed.

To see how this is done, you can change the white to red to see how a patch is overlaid over \otimes. Therefore, this version only works out of the box for documents with white background.

\documentclass{article}
\usepackage{amsmath,trimclip,scalerel,xcolor,stackengine}
\newcommand\rtensor{\mathbin{\ThisStyle{\sbox0{$\SavedStyle\otimes$}%
  \ensurestackMath{\stackinset{r}{.5\wd0+.1pt+.1\LMpt}{c}{}%
  {\textcolor{white}{\clipbox{1.1pt 0pt 0pt 0pt}{\rotatebox%
  [origin=c]{45}{\rule{.425\wd0}{.42\wd0}}}}}{\SavedStyle\otimes}}}}}
\begin{document}
$ A \rtensor B$

$\scriptstyle A \rtensor B$

$\scriptscriptstyle A \rtensor B$
\end{document}

enter image description here

ORIGINAL ANSWER

\documentclass{article}
\usepackage{amsmath,trimclip,scalerel}
\newcommand\rtensor{\mathbin{\ThisStyle{\kern1pt
  \clipbox{{\dimexpr.25ex+.12\LMex\relax} 0pt 0pt 0pt}%
  {$\SavedStyle\otimes$}}}}
\begin{document}
$ A \rtensor B$

$\scriptstyle A \rtensor B$

$\scriptscriptstyle A \rtensor B$
\end{document}

enter image description here

For a [12pt] document, with different sidebearings and relative scales, this adjustment seems to work

\documentclass[12pt]{article}
\usepackage{trimclip,scalerel}
\newcommand\rtensor{\mathbin{\ThisStyle{\kern1pt
  \clipbox{{\dimexpr.06ex+.31\LMex\relax} 0pt 0pt 0pt}%
  {$\SavedStyle\otimes$}}}}
\def\scriptscriptstyleScaleFactor{0.63}
\begin{document}
$ A \rtensor B$

$\scriptstyle A \rtensor B$

$\scriptscriptstyle A \rtensor B$
\end{document}

enter image description here

4
  • 2
    Same comment as for @egreg's answer -- "corners" would be better square. – barbara beeton Apr 6 at 1:37
  • @barbarabeeton Please see revision. – Steven B. Segletes Apr 7 at 0:42
  • Yes! Nice crisp corners! Good job. (I could be fussy, and ask that the original symbol from the font, with the full circle, be shown so that the thickness of the strokes can be compared, but that's probably a bit much to ask.) – barbara beeton Apr 7 at 2:55
  • @barbarabeeton If you follow the answer advice and change "white" to "red", you will see the totality of the revision that was done to the original symbol. – Steven B. Segletes Apr 7 at 9:14
12

An alternative to Steven's answer, with the possibility of fine tuning the clipping in the various styles.

Beware that different math fonts will probably need different factors.

\documentclass{article}
\usepackage{trimclip}

\makeatletter
\DeclareRobustCommand{\rotimes}{\mathbin{\mkern1mu\mathpalette\rotimes@\relax}}
\newcommand{\rotimes@}[2]{%
  \clipbox{{\rotimes@clip{#1}} 0pt 0pt 0pt}{$\m@th#1\otimes$}%
}
\newcommand{\rotimes@clip}[1]{%
  \ifx#1\displaystyle 0.206\else
  \ifx#1\textstyle 0.206\else
  0.22\fi\fi\width
}
\makeatother

\begin{document}

$\hat{H}_l \rotimes C[\Gamma(c)]$

$\scriptstyle\hat{H}_l \rotimes C[\Gamma(c)]$

$\scriptstyle\hat{H}_l \rotimes C[\Gamma(c)]$

\Huge$H\rotimes C$

\end{document}

enter image description here

1
  • 5
    The "corners" aren't really square. You need to take into account the thickness of the drawn line. It probably doesn't matter whether it's the cross or the circle, but it's likely that only one is needed, and it shouldn't matter which. – barbara beeton Apr 6 at 1:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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