不使用 tikz-cd 的情况下 cd 中间的圆形箭头

不使用 tikz-cd 的情况下 cd 中间的圆形箭头

我有以下交换图

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}
\begin{tikzpicture}
     \matrix (m)[matrix of math nodes, row sep=3em, column sep=4em, minimum width=2em , text height=1.5ex, text depth=0.5ex ] {E|_{\pi^{-1}(U_{\alpha})} & U_{\alpha} \times \mathbb R^k & W_{\alpha} \times \mathbb R^k \\ U_{\alpha} & U_{\alpha} & W_{\alpha}\\};

\path[-stealth]
(m-1-1) edge node [left]{$\pi$} (m-2-1)
    edge node [above] {$\varPhi_{\alpha}$} (m-1-2)
(m-2-1) edge node [above] {id} (m-2-2)       
(m-2-2) edge node [above] {$\varphi_{\alpha}$} (m-2-3) 
(m-1-2) edge node [above] {$\varphi_{\alpha} \times id $} (m-1-3)
(m-1-2) edge node [left] {$\pi_1$} (m-2-2)
(m-1-3) edge node [right] {$\pi_1$} (m-2-3);
\end{tikzpicture}
\end{document}

我需要在两列中间画一个圆形箭头。不用 tikz-cd 可以做到吗?

答案1

也许像这样?我将你的交换图放在一个中\hbox,然后在其顶部插入巨大的圆形箭头。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage{amssymb,stackengine}
\newsavebox{\tmp}
\begin{document}
\setbox0=\hbox{\begin{tikzpicture}
     \matrix (m)[matrix of math nodes, row sep=3em, column sep=4em, minimum width=2em , text height=1.5ex, text depth=0.5ex ] {E|_{\pi^{-1}(U_{\alpha})} & U_{\alpha} \times \mathbb R^k & W_{\alpha} \times \mathbb R^k \\ U_{\alpha} & U_{\alpha} & W_{\alpha}\\};
%
\path[-stealth]
(m-1-1) edge node [left]{$\pi$} (m-2-1)
    edge node [above] {$\varphi_{\alpha}$} (m-1-2)
(m-2-1) edge node [above] {id} (m-2-2)       
(m-2-2) edge node [above] {$\varphi_{\alpha}$} (m-2-3) 
(m-1-2) edge node [above] {$\varphi_{\alpha} \times id $} (m-1-3)
(m-1-2) edge node [left] {$\pi_1$} (m-2-2)
(m-1-3) edge node [right] {$\pi_1$} (m-2-3);
\end{tikzpicture}}
\savebox{\tmp}{\box0}

\stackinset{c}{-1.5cm}{c}{}{\Huge$\circlearrowleft$}{%
\stackinset{c}{+1.5cm}{c}{}{\Huge$\circlearrowright$}{%
\usebox{\tmp}}}

\end{document}

在此处输入图片描述

如果需要更大的圆形箭头,\scalebox{}{}可以解决问题。

相关内容