![使用 tikz 的交换图中的圆形箭头](https://linux22.com/image/441437/%E4%BD%BF%E7%94%A8%20tikz%20%E7%9A%84%E4%BA%A4%E6%8D%A2%E5%9B%BE%E4%B8%AD%E7%9A%84%E5%9C%86%E5%BD%A2%E7%AE%AD%E5%A4%B4.png)
我正在使用 tikz 和以下代码来制作交换图。
\documentclass{article}
\usepackage{tikz-cd, mathtools}
\usetikzlibrary{calc}
\usetikzlibrary{arrows}
\begin{document}
\begin{equation*}
\begin{tikzcd}
V^{1*} \arrow{r}{\Pi_1(T)} \arrow[dashed, swap]{dr}{g} & V^{2} \\
& U \arrow[dashed, swap]{u}{h}
\end{tikzcd} \hspace{10mm} \text{dim}(U) = r
\end{equation*}
\end{document}
我正在尝试在图中放置一个圆形箭头来表示它是可交换的。任何帮助都将不胜感激!
答案1
一种方法是将name
箭头标记为g
。然后从 1,2 入口到 的虚线箭头name
可以用圆形箭头标记。phantom
使用箭头,因此只显示标签。
\documentclass{article}
\usepackage{tikz-cd,amssymb}
\begin{document}
\[
\begin{tikzcd}
V^{1*} \arrow{r}{\Pi_1(T)} \arrow[dashed, swap, ""{name=G}]{dr}{g} & V^{2} \\
& U \arrow[dashed, swap]{u}{h} \arrow[from=1-2, to=G, pos=.4, phantom, "\circlearrowleft"]
\end{tikzcd} \hspace{10mm} \dim(U) = r
\]
\end{document}
我将圆形箭头放置在幻影箭头的 40% 位置,但您可以根据需要进行调整。
amssymb
需要 包。\circlearrowleft
此外,\dim
已经定义,因此您不需要使用\text
。
答案2
在交换图中,有一个我喜欢的旧包,尽管它在语法上不太清楚。我只是想指出,在某些情况下,使用这种类型的包可以减少代码量。现在我们使用tikz-cd
,但很高兴知道这个xy
包适合tikz-cd
箭头……参见cmtip
选项。
\documentclass[12pt]{article}
\usepackage[cmtip,all]{xy}
\usepackage{amssymb}
\begin{document}
\[
\xymatrix@R=1.5pc@C=3pc{\ar @{} [dr]^{\circlearrowleft}
V^{1*} \ar@{-->}[dr]_g \ar[r]^{\Pi_1(T)} & V^{2} \ar@{<--}[d]^h \\
& U } \hspace{1cm}\dim(U)=r
\]
\[
\xymatrix@R=1.5pc@C=3pc{\ar @{} [dr]^{\circlearrowleft}
V^{1*} \ar@{.>}[dr]_g \ar[r]^{\Pi_1(T)} & V^{2} \ar@{<.}[d]^h \\
& U } \hspace{1cm}\dim(U)=r
\]
\end{document}