如何将一个角色与其他角色编织在一起

如何将一个角色与其他角色编织在一起

我想要做的是将一个(或多个)字母编织在一个(或多个)字母周围。应该可以在数学中像在文本模式下一样使用它。

我的想法是这样的:

在此处输入图片描述

但迄今为止还没有任何效果。

我尝试过:

%braiding
\makeatletter
\newlength\@SizeOfCirc%
\newcommand{\CricArrowRight}[1]{%
  \setlength{\@SizeOfCirc}{\maxof{\widthof{#1}}{\heightof{#1}}}%
  \tikz [x=1.0ex,y=-1.0ex,line width=0.15ex, draw=black]%
  \draw [->,anchor=center]%
    node (0,0) {#1}%
    (0,1.2\@SizeOfCirc) arc (85:-240:1.2\@SizeOfCirc);%
}%
\makeatother

但问题是它不是(水平)居中。

答案1

虽然这有点像 hack,但可能就足够了。我引入了语法\braid[horizontal-scale]{pointed quantity}{circled quantity}。在 MwE 中,我将其全部设置在 TABstack 中,以便我可以设置 OP 提供的堆叠方程。

箭头只是包装\circlearrowright中的一个amssymb,上面覆盖着一个白色方框,以便为工作数量留出空间。数量嵌入在圆形箭头的拉伸版本(默认拉伸 = 3)中,\scriptstyle这样就不会使物体的尺寸过大。

\documentclass{article}
\usepackage{amssymb,graphicx,xcolor,tabstackengine}
\newcommand\circcore[1][3]{\scalebox{#1}[3]{\kern-0.5pt\rotatebox[origin=center]{120}{%
  \raisebox{-3.5pt}{\stackinset{c}{1.8pt}{t}{0pt}{\textcolor{white}{%
  \rule{3pt}{2pt}}}{$\circlearrowright$}}}}}
\newcommand\braid[3][3]{%
  \stackinset{c}{#1\dimexpr-3.5pt\relax}{c}{1pt}{$\scriptstyle#2\strut$}{%
  \stackinset{r}{#1\dimexpr2.7pt\relax}{c}{1pt}{$\scriptstyle#3\strut$}{%
  \circcore[#1]}}}
\TABstackMath
\begin{document}
\[
\tabbedShortstack{
\braid[5]{\gamma_1}{\gamma_2\times\alpha} ={}& \braid{\gamma_1}{\gamma_2}&
  \braid{\gamma_1}{\alpha} &{}= 1\\
&=1 &=1&\\
\braid[5]{\gamma_2\times\alpha}{\gamma_1} ={}& \braid{\gamma_2}{\gamma_1}&
  \braid{\alpha}{\gamma_1} &{}= 1\\
}
\]
\end{document}

在此处输入图片描述

相关内容