![tikzcd のテキスト付き丸矢印](https://rvso.com/image/328811/tikzcd%20%E3%81%AE%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E4%BB%98%E3%81%8D%E4%B8%B8%E7%9F%A2%E5%8D%B0.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}