中间有一个环的箭头

中间有一个环的箭头

我正在寻找一种箭的符号,箭杆在中间“穿过一个环”。理想情况下,箭应该像普通的箭头符号一样,有一根直箭杆,但在中间“卷曲”成一个环,环的末端与开始时的高度相同。然后箭杆继续延伸,直到箭头末端。有没有至少有点像这样的符号(我查看了综合符号列表,但没找到)?如果没有,我想做一个,把一个水平倒置的$\hookrightarrow$符号和一个直的符号放在一起$\hookrightarrow$,这样钩子就可以组装成一个环,但我必须剪掉箭头的一些长度,这样合成的箭头就不会太长。有什么办法吗?

答案1

像这样?

\documentclass[border=3mm]{standalone}
\newcommand{\rightlooparrow}{\mathbin{
    \vbox{\openup-10.25pt\halign{\hss$##$\hss\cr\circ\cr\longrightarrow\cr}}
}}
\begin{document}
$A \rightlooparrow B$
\end{document}

在此处输入图片描述

如果您希望它适用于不同的尺寸(下标等),则需要制作一个mathpalette版本。

答案2

你可以稍微粉碎一下圆圈。以下方法也适用于所有数学风格。

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}

\makeatletter
\newcommand{\smashed@circ}{\mathpalette\smashed@@circ\relax}
\newcommand{\smashed@@circ}[2]{%
  \scalebox{1}[0.5]{$\m@th#1\circ$}%
}

\newcommand{\loop@arrow}[3]{%
  \mathrel{\mathpalette\loop@@arrow{{#1}{#2}{#3}}}%
}
\newcommand{\loop@@arrow}[2]{\loop@@@arrow#1#2}
\newcommand{\loop@@@arrow}[4]{%
  \ooalign{%
    \loop@raise{#1}%
    \hidewidth\raisebox{\loop@raise@amount}{$\m@th#1#3\smashed@circ#4$}\hidewidth\cr
    $\m@th#1#2$\cr
  }%
}
\newcommand{\loop@raise}[1]{%
  \settowidth\dimen@{$\m@th#1\mspace{1mu}$}%
  \edef\loop@raise@amount{%
    \ifx#1\displaystyle\the\dimexpr4\dimen@\else
    \ifx#1\textstyle\the\dimexpr4\dimen@\else
    \ifx#1\scriptstyle\the\dimexpr3.5\dimen@\else
    \the\dimexpr3\dimen@\fi\fi\fi
  }%
}
\newcommand{\looprightarrow}{\loop@arrow{\rightarrow}{\!}{}}
\newcommand{\loopleftarrow}{\loop@arrow{\leftarrow}{}{\!}}
\newcommand{\looplongrightarrow}{\loop@arrow{\longrightarrow}{\!}{}}
\newcommand{\looplongleftarrow}{\loop@arrow{\longleftarrow}{}{\!}}
\makeatother

\begin{document}

$A\looprightarrow B$
$\scriptstyle A\looprightarrow B$
$\scriptscriptstyle A\looprightarrow B$

$A\looprightarrow B\loopleftarrow C$

$A\looplongrightarrow B\looplongleftarrow C$

\end{document}

在此处输入图片描述

相关内容