更新 1:新循环my loop

更新 1:新循环my loop

考虑一下图表

在此处输入图片描述

其中顺时针圆形箭头表示$M_{f^t}$具有从 R 模块结构继承的结构$\mathscr{D}_{n,k}[t]。我尝试将其复制如下

\documentclass[a4paper,12pt]{report}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{tikz-cd}
\usepackage{mathrsfs}

\begin{document}
\[
\begin{tikzcd}[row sep=large, column sep=large]
{\mathscr{D}_{n,k}[t]} \arrow[rr, "t\mapsto s-m"'] \arrow[d]&& {\mathscr{D}_{n,k}[s]} \arrow[d] \\
M_{f^t} \arrow[rr, "{g(t,x)\cdot f^t \mapsto g(s-m,x)\cdot f^{s-m}}"'] && M_{f^s}      
\end{tikzcd}
\]
\end{document}

在此处输入图片描述

但不知道如何制作圆形箭头而不是标准的垂直箭头,也不知道如何让$\sim$(表示同构的波浪线(~))出现在每个水平箭头上。

答案1

\circlearrowleft我建议在幻影垂直箭头上使用缩放版本:

\documentclass{article}
\usepackage{amssymb, mathrsfs}
\usepackage{adjustbox}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}[row sep=large, column sep=large]
{\mathscr{D}_{n,k}[t]} \arrow[rr, "t\mapsto s-m"'] \arrow[rr, phantom, shift left=1ex, swap, "\sim"]
\arrow[d, phantom, "\adjustbox{scale={2}{-2}}{$ \circlearrowleft $}" description]&& {\mathscr{D}_{n,k}[s]} \arrow[d, phantom, "\adjustbox{scale={2}{-2}}{$ \circlearrowleft $}" description] \\
M_{f^t} \arrow[rr, "{g(t,x)\cdot f^t \mapsto g(s-m,x)\cdot f^{s-m}}"'] \arrow[rr, phantom, shift left=1ex, swap, "\sim"]&& M_{f^s}
\end{tikzcd}

 \end{document} 

在此处输入图片描述

答案2

更新1

....经过一些修改.....形成一个对称的循环。

\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{mathtools}
\usepackage{amssymb,mathrsfs}
\usepackage{graphicx}
\usepackage{tikz-cd} 
\newcommand{\cir}{\rotatebox[origin=c]{180}{$\circlearrowright$}}
\begin{document}

\[\begin{tikzcd}[row sep=0em, column sep=4.3em]
\underset{\scalebox{2}{\ensuremath{\cir}}}{\mathscr{D}_{n,k}[t]} \arrow[rr, above, "\sim", "t\mapsto s-m"'] &  & \underset{\scalebox{2}{\ensuremath{\cir}}}{\mathscr{D}_{n,k}[s]}\\[-.5em]
M_{f^t}\arrow[rr, above, "\sim", "{g(t,x)\cdot f^t \mapsto g(s-m,x)\cdot f^{s-m}}"'] &  & M_{f^s}
\end{tikzcd}\]

\end{document}

在此处输入图片描述

.....最终的代码....

\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{mathtools}
\usepackage{amssymb,mathrsfs}
\usepackage{graphicx}

\usepackage{tikz-cd} 
\newcommand{\cir}{\rotatebox[origin=c]{180}{$\circlearrowright$}}
\begin{document}


\[\begin{tikzcd}[row sep=-.1em, column sep=4.3em]
\underset{\scalebox{3}{\ensuremath{\cir}}}{\mathscr{D}_{n,k}[t]} \arrow[rr, above, "\sim", "t\mapsto s-m"'] &  & \underset{\scalebox{3}{\ensuremath{\cir}}}{\mathscr{D}_{n,k}[s]}\\
M_{f^t}\arrow[rr, above, "\sim", "{g(t,x)\cdot f^t \mapsto g(s-m,x)\cdot f^{s-m}}"'] &  & M_{f^s}
\end{tikzcd}\]


\end{document}

在此处输入图片描述

答案3

更新 1:新循环my loop

按照 Anush 的要求(我希望这会很方便)。循环的样式定义为:

\tikzset{my loop/.style={to path={.. controls +(130:2) and +(50:2) .. (\tikztotarget)}}}

我的循环/.style

\documentclass[border=5mm]{standalone}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{tikz-cd}
\usepackage{mathrsfs}

\tikzset{my loop/.style={to path={.. controls +(130:2) and +(50:2) .. (\tikztotarget)}}}

\begin{document}

\begin{tikzcd}[row sep=large, column sep=large,]
{\mathscr{D}_{n,k}[t]} \arrow[rr,"\sim", "t\mapsto s-m"'] && {\mathscr{D}_{n,k}[s]}  \\
|[alias=Z]|M_{f^t} \arrow[rr, "\sim","{g(t,x)\cdot f^t \mapsto g(s-m,x)\cdot f^{s-m}}"'] && M_{f^s}      
\arrow[my loop, from=2-1, to=2-1
]
\arrow[my loop, from=2-3, to=2-3]
\end{tikzcd}

\end{document}

旧答案

使用 TikZ 原生循环的解决方案。循环的样式定义为::

\tikzset{every loop/.style ={out=120,in=60,looseness=6,min distance=7mm}}

截屏

\documentclass[border=5mm]{standalone}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{tikz-cd}
\usepackage{mathrsfs}

\tikzset{every loop/.style ={out=120,in=60,looseness=6,min distance=7mm}}

\begin{document}
%\[
\begin{tikzcd}[row sep=large, column sep=large,]
{\mathscr{D}_{n,k}[t]} \arrow[rr,"\sim", "t\mapsto s-m"'] && {\mathscr{D}_{n,k}[s]}  \\
M_{f^t} \arrow[rr, "\sim","{g(t,x)\cdot f^t \mapsto g(s-m,x)\cdot f^{s-m}}"'] && M_{f^s}      
\arrow[loop, from=2-1, to=2-1]
\arrow[loop, from=2-3, to=2-3]
\end{tikzcd}
%\]
\end{document}

答案4

\documentclass[a4paper,12pt]{report}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{tikz-cd}
\usepackage{mathrsfs}

\begin{document}
\def\circleArrow{\tikz\draw[->] (0,0) arc[start angle=265,end angle=-85,radius=5mm];}
\[
\begin{tikzcd}[row sep=large, column sep=large]
{\mathscr{D}_{n,k}[t]} \arrow[rr,"\sim", "t\mapsto s-m"'] && {\mathscr{D}_{n,k}[s]}\\ 
\circleArrow && \circleArrow \\
M_{f^t} \arrow[rr, "\sim","{g(t,x)\cdot f^t \mapsto g(s-m,x)\cdot f^{s-m}}"'] && M_{f^s}      
\end{tikzcd}
\]
\end{document}

带圆圈箭头的图表

相关内容