8

In physics, it's sometimes useful to draw an arrow over a letter to represent the torch around that point. I've seen this in multiple textbooks and would like to know how to do it myself in \LaTeX documents. Anyone who knows a solution for this?

Note that this isn't just about putting a \curverarrow above a letter, but surrounding the letter by the curved arrow like in the picture I attached below.

Thanks in advance for the help and have a good day :)

enter image description here

4 Answers4

11

You could use \curvearrowleft from AMS Symbols, e.g.:

\documentclass{article}

\usepackage{amssymb} \newcommand{\curvearrow}[1]{\ooalign{\kern1pt \ensuremath{#1}\cr\hidewidth\raise.8ex\hbox{$\curvearrowleft$}\hidewidth}}

\begin{document}

$\curvearrow{a}, \curvearrow{b}, \curvearrow{c}$

\end{document}

enter image description here

Perhaps you have to tweak the distances, e.g. to cover capital letters.

Matthias
  • 711
  • I like the simplicity here, keeping the \usepackage count low. It doesn't match the exact look but certainly solves the crux of the problem :) – StiggyStardust Mar 17 '21 at 17:35
7

Something like this, with the \nccircle command from pst-node?

\documentclass[12pt]{article}
\usepackage{pst-node}

\begin{document}

\psset{arrowinset=0.1}
$\psDefBoxNodes{A}{A}\nccircle[nodesep =5pt]{->}{A:bC}{0.6em}$%

\end{document}

enter image description here

Vincent
  • 20,157
Bernard
  • 271,350
7

Not sure if this looks too appealing but maybe this goes in the right direction.

\documentclass{article}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{scalerel}
\newcommand\OverCurveArrowRight[2][n]{%
\setbox0\hbox{\scalerel*{\curvearrowright}{\overset{#1}{#2}}}\copy0%
\mathllap{\mathmakebox[\wd0]{#2\hskip0.2\wd0}}}
\newcommand\OverCurveArrowLeft[2][n]{%
\setbox0\hbox{\scalerel*{\curvearrowleft}{\overset{#1}{#2}}}\copy0%
\mathllap{\mathmakebox[\wd0]{\hskip0.2\wd0#2}}}
\begin{document}
abc $\OverCurveArrowRight{A}$ $\OverCurveArrowLeft{A}$ 
\[\OverCurveArrowRight{A}\to\OverCurveArrowLeft{A}\]
\[\OverCurveArrowRight[\int]{\int}\to\OverCurveArrowLeft{A}\]
\end{document}

enter image description here

6

Starting from the code of the answer of the user @egreg in this question How to write a character overlapping another character I have adapted this using the packages graphicx, scalerel to have a little big arrow and to rotate the symbol \circlearrowleft of 170 degrees (for example).

\documentclass[a4paper,12pt]{article}
\usepackage{newtxtext,newtxmath}
\usepackage{graphicx,scalerel}
\makeatletter
\DeclareRobustCommand{\as}[1]{
  {\vphantom{#1}\mathpalette\erel@as{#1}}%
}
\newcommand{\cla}{\rotatebox[origin=c]{170}{\hstretch{1}{$\scaleobj{1.5}{\circlearrowleft}$}}}
\newcommand{\erel@as}[2]{%
  \ooalign{\hfil$\m@th#1\cla$\hfil\cr\hfil$\m@th#1#2$\hfil\cr}%
}
\makeatother

\begin{document} $\as{A}$

\end{document}

enter image description here

Sebastiano
  • 54,118