![tikzcd 中帶有文字的圓形箭頭](https://rvso.com/image/328811/tikzcd%20%E4%B8%AD%E5%B8%B6%E6%9C%89%E6%96%87%E5%AD%97%E7%9A%84%E5%9C%93%E5%BD%A2%E7%AE%AD%E9%A0%AD.png)
這是我的延續上一個問題。我想在 tikzcd 中繪製一個帶有圓角的矩形箭頭,並想在該箭頭上放置文字。這是我的嘗試:
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{tikz-cd}
\usepackage[english]{babel}
\usepackage{relsize}
\tikzset{nodes={inner sep=2pt}}
\usepackage{blindtext}
\begin{document}
\[\begin{tikzcd}[sep=34pt]
B \ar{r}[swap]{g}
\ar[to path={ -- ([yshift=-4ex]\tikztostart.south) -| (\tikztotarget)},
rounded corners=12pt]{rr}
& B' \ar{r}[swap]{g'}
\ar[phantom]{d}[pos=0.45]{\mathsmaller{g' \circ g}} & B'' \\
& \phantom{.} &
\end{tikzcd}\]
\blindtext
\end{document}
問題是幻影節點在 tikzpicture 中產生額外的空白,因此它後面的文字不會直接出現在它後面。
在 tikzpicture 之後使用 \vspace{-10mm} 有一個「骯髒」的解決方案,但這不是很精確而且不優雅。
答案1
您可以在繪製該圖片的末尾新增一個節點。但這仍然需要手動定位標籤。至少你不會在這裡產生額外的空間:
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzcd}[sep=large, execute at end picture={\node[below = 1mm of tikz@f@1-1-2] {$\scriptstyle g' \circ g$};}]
B \ar{r}[swap]{g\vphantom{'}}
\ar[to path={ -- ([yshift=-4ex]\tikztostart.south) -| (\tikztotarget)},
rounded corners=12pt]{rr}
& B' \ar{r}[swap]{g'} & B'' \\
\end{tikzcd}
\end{document}