![Flecha redondeada en tikzcd con texto](https://rvso.com/image/328811/Flecha%20redondeada%20en%20tikzcd%20con%20texto.png)
Esta es una continuación de miPregunta anterior. Me gustaría dibujar una flecha rectangular con esquinas redondeadas en tikzcd y me gustaría poner un texto en esta flecha. Aquí está mi intento:
\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}
El problema es que el nodo fantasma produce espacios en blanco adicionales en la imagen tikz, de modo que el texto que sigue no viene directamente después.
Hay una solución "sucia" que usa \vspace{-10mm} después de la imagen tikz, pero no es muy precisa ni elegante.
Respuesta1
Puedes agregar un nodo al final de dibujar esa imagen. Pero esto todavía requiere el posicionamiento manual de la etiqueta. Al menos no generas espacio extra aquí:
% 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}