13

Consider the diagram

enter image description here

where the clockwise circular arrows indicate $M_{f^t}$ has a structure inherited from the structure of the R-module $\mathscr{D}_{n,k}[t]. I have tried to duplicate it as follows

\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}

enter image description here

but don't know how to make the circular arrows instead of the standard vertical ones and don't know how to get $\sim$ (the squiggly line (~) indicating isomorphism) to appear over each horizontal arrow.

3
  • 1
    Please give the full compilable code of your attempt.
    – AndréC
    Aug 7 '20 at 19:46
  • @AndréC: Sorry for not including it earlier; I have edited my post.
    – Mark
    Aug 7 '20 at 19:57
  • Can you change the title of the question in order to facilitate its indexing by search engines such as "Represent schematically an isomorphism" this will allow those who have the same problem as you to find your question and the answers.
    – AndréC
    Aug 9 '20 at 10:53
14

I propose to use a scaled version of \circlearrowleft on a phantom vertical arrow:

\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} 

enter image description here

2
  • That's great. This is exactly what I wanted. I can't thank you enough.
    – Mark
    Aug 7 '20 at 20:45
  • 11
    You don't have to thank me. It's a pleasure to help when I can.
    – Bernard
    Aug 7 '20 at 20:57
11

Updating 1

....with some modifications.....to have a symmetrical loop.

\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}

enter image description here

..... the final code ....

\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}

enter image description here

3
  • 1
    Thank you. I will see how this looks.
    – Mark
    Aug 7 '20 at 20:41
  • 1
    (After your final edit): Very nice. Thank you so much for your effort and attempt to help me.
    – Mark
    Aug 7 '20 at 21:30
  • 1
    @Mark Here we are a very strong and compact group; and it is a pleasure to help others.
    – Sebastiano
    Aug 7 '20 at 21:38
9

Update 1: new loop my loop

as requested by Anush (I hope this will be convenient). The style of the loops is defined with:

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

my loop/.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}

Old answer

A solution that uses TikZ's native loops. The style of the loops is defined with: :

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

screenshot

\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}
8
  • 2
    I wanted to thank you for answering. That looks really good and would work very well.
    – Mark
    Aug 7 '20 at 20:59
  • You have the best looking loops! The vertical space above the loops looks too much though. I think it should be symmetric above and below the loops.
    – graffe
    Aug 8 '20 at 7:38
  • @Anush Thanks for the compliment. But I didn't quite understand what you mean by "The vertical space above the loops looks too much though. I think it should be symmetric above and below the loops"
    – AndréC
    Aug 8 '20 at 8:38
  • @Anush Do you mean that the loop must be at equal distance from the two lines (upper and lower)?
    – AndréC
    Aug 8 '20 at 8:49
  • Yes exactly that.
    – graffe
    Aug 8 '20 at 9:27
5
\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}

diagram with circle arrows

5
  • Is there a competition for this ahahaha code? :-)
    – Sebastiano
    Aug 7 '20 at 21:27
  • @Sebastiano A few minutes ago there were not aswers and when I post my answer there were three.
    – vi pa
    Aug 7 '20 at 21:46
  • I'm joking....:-)
    – Sebastiano
    Aug 7 '20 at 21:49
  • 1
    This is actually very nice as it shows how the circular arrow can be drawn with tikz instead of relying on \circlearrowleft. I wonder if the vertical space can be reduced. Aug 8 '20 at 18:23
  • 1
    @corwin.amber You can use the key row sep=tiny.
    – vi pa
    Aug 9 '20 at 10:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.