Abgerundeter Pfeil in Tikzcd mit Text darauf

Abgerundeter Pfeil in Tikzcd mit Text darauf

Dies ist eine Fortsetzung meinervorherige Frage. Ich möchte in tikzcd einen rechteckigen Pfeil mit abgerundeten Ecken zeichnen und auf diesen Pfeil einen Text setzen. Hier ist mein Versuch:

Bildbeschreibung hier eingeben

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

Das Problem besteht darin, dass der Phantomknoten zusätzlichen Leerraum im Tikzbild erzeugt, sodass der nachfolgende Text nicht direkt dahinter kommt.

Es gibt eine „schmutzige“ Lösung mit \vspace{-10mm} nach dem Tikz-Bild, aber diese ist nicht sehr präzise und nicht elegant.

Antwort1

Sie können am Ende der Zeichnung dieses Bildes einen Knoten hinzufügen. Dies erfordert jedoch weiterhin eine manuelle Positionierung des Etiketts. Zumindest erzeugen Sie hier keinen zusätzlichen Platz:

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

Bildbeschreibung hier eingeben

verwandte Informationen