\curvedarrowleft
is a typo, I believe; try \curvearrowleft
instead.
\documentclass{article}
\usepackage{amssymb} % for '\curvearrowleft' macro
\usepackage{amsmath} % for '\overset' macro
\begin{document}
$\overset{\curvearrowleft}{C}$
\end{document}
Using stacks, but in this case, I only lay a scaled black triangle atop of the underlying symbol. As presented below, my first MWE will not work in smaller math styles. If that is needed, see my 2nd MWE.
The symbols are designed to take up the same horizontal space as their underlying roots (i.e., \subseteq
and/or =
).
\documentclass{article}
\usepackage{amssymb,stackengine,graphicx}
\stackMath
\newcommand\frightarrow{\scalebox{.4}[.3]{$\blacktriangleright$}}
\newcommand\fleftarrow{\scalebox{.4}[.3]{$\blacktriangleleft$}}
\newcommand\subsetrleads{\mathrel{%
\stackengine{-1pt}{\subseteq}{\frightarrow}{U}{r}{F}{T}{S}}}
\newcommand\eqrleads{\mathrel{%
\stackengine{-2.4pt}{=}{\frightarrow}{U}{r}{F}{T}{S}}}
\newcommand\subsetlleads{\mathrel{%
\stackengine{-1pt}{\subseteq}{\fleftarrow}{U}{l}{F}{T}{S}}}
\newcommand\eqlleads{\mathrel{%
\stackengine{-2.4pt}{=}{\fleftarrow}{U}{l}{F}{T}{S}}}
\begin{document}
$A \subseteq B\subsetrleads C$
$A = B\eqrleads C$
$A \subseteq B\subsetlleads C$
$A = B\eqlleads C$
\end{document}
Here's a version that works across math styles:
\documentclass{article}
\usepackage{amssymb,stackengine,graphicx,scalerel}
\stackMath
\newcommand\frightarrow{\scalebox{.4}[.3]{$\SavedStyle\blacktriangleright$}}
\newcommand\fleftarrow{\scalebox{.4}[.3]{$\SavedStyle\blacktriangleleft$}}
\newcommand\subsetrleads{\mathrel{\ThisStyle{%
\stackengine{\dimexpr-.7\LMpt-.3pt}{\SavedStyle\subseteq}{\frightarrow}{U}{r}{F}{T}{S}}}}
\newcommand\eqrleads{\mathrel{\ThisStyle{%
\stackengine{\dimexpr-2.45\LMpt+0.05pt}{\SavedStyle=}{\frightarrow}{U}{r}{F}{T}{S}}}}
\newcommand\subsetlleads{\mathrel{\ThisStyle{%
\stackengine{\dimexpr-.7\LMpt-.3pt}{\SavedStyle\subseteq}{\fleftarrow}{U}{l}{F}{T}{S}}}}
\newcommand\eqlleads{\mathrel{\ThisStyle{%
\stackengine{\dimexpr-2.45\LMpt+0.05pt}{\SavedStyle=}{\fleftarrow}{U}{l}{F}{T}{S}}}}
\begin{document}
$A \subseteq B\subsetrleads C$
$A = B\eqrleads C$
$A \subseteq B\subsetlleads C$
$A = B\eqlleads C$
$\scriptstyle A \subseteq B\subsetrleads C$
$\scriptstyle A = B\eqrleads C$
$\scriptscriptstyle A \subseteq B\subsetlleads C$
$\scriptscriptstyle A = B\eqlleads C$
\end{document}
ADDENDUM
Based on an OP follow up, here is a version of the fixed-style version in which the arrow conforms exactly to the end of the horizontal stroke, rather than extending past it. It does this by clipping off the tip of the black triangle, and using the rounded end of the underlying stroke to serve as the arrow tip.
\documentclass{article}
\usepackage{amssymb,stackengine,graphicx,trimclip}
\stackMath
\newcommand\frightarrow{\scalebox{.4}[.3]{%
\clipbox{0pt 0pt 2pt 0pt}{$\blacktriangleright$}\kern1.8pt}}
\newcommand\fleftarrow{\scalebox{.4}[.3]{%
\kern1.8pt\clipbox{2pt 0pt 0pt 0pt}{$\blacktriangleleft$}}}
\newcommand\subsetrleads{\mathrel{%
\stackengine{-1.1pt}{\subseteq}{\frightarrow\kern.3pt}{U}{r}{F}{T}{S}}}
\newcommand\eqrleads{\mathrel{%
\stackengine{-2.43pt}{=}{\frightarrow}{U}{r}{F}{T}{S}}}
\newcommand\subsetlleads{\mathrel{%
\stackengine{-1.1pt}{\subseteq}{\kern.4pt\fleftarrow}{U}{l}{F}{T}{S}}}
\newcommand\eqlleads{\mathrel{%
\stackengine{-2.43pt}{=}{\fleftarrow}{U}{l}{F}{T}{S}}}
\begin{document}
$A \subseteq B\subsetrleads C$
$A = B\eqrleads C$
$A \subseteq B\subsetlleads C$
$A = B\eqlleads C$
\end{document}
Best Answer
The following solution uses TikZ (more configuration options as rounded line caps, ...). The optional argument of
\vertchar
allows horizontal fine tuning: