考虑一下图表
其中顺时针圆形箭头表示$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)}}}
\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}