Seta arredondada no tikzcd com texto

Seta arredondada no tikzcd com texto

Esta é uma continuação do meupergunta anterior. Gostaria de desenhar uma seta retangular com cantos arredondados no tikzcd e gostaria de colocar um texto nesta seta. Aqui está minha tentativa:

insira a descrição da imagem aqui

\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}

O problema é que o nó fantasma produz espaço em branco extra no tikzpicture, de modo que o texto depois dele não vem diretamente depois dele.

Existe uma solução "suja" usando \vspace{-10mm} após a imagem tikz, mas isso não é muito preciso e nem elegante.

Responder1

Você pode adicionar um nó no final do desenho dessa imagem. Mas isso ainda requer posicionamento manual da etiqueta. Pelo menos você não gera espaço extra aqui:

% 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}

insira a descrição da imagem aqui

informação relacionada