Ich habe das folgende Bild, möchte aber, dass die Beschriftung $\tilde{f}$ des Pfeils in der Mitte über dem Pfeil sitzt, den ich hinzugefügt habe, nachdem ich einen Pfad über einen Phantompfeil definiert habe.
Gibt es eine Möglichkeit, dies zu tun?
% !TEX TS-program = XeLaTeX
\documentclass[draft]{article}
\usepackage{tikz-cd}
\usetikzlibrary{arrows}
\usetikzlibrary{decorations.markings,intersections}
\begin{document}
\tikzset{%
scalearrow/.style n args={3}{
decoration={
markings,
mark=at position (1-#1)/2*\pgfdecoratedpathlength
with {\coordinate (#2);},
mark=at position (1+#1)/2*\pgfdecoratedpathlength
with {\coordinate (#3);},
},
postaction=decorate,
}
}
\begin{tikzcd}
{ } &{} &{Set} &{} \\
{ } &{} &{\tilde{f}} &{} \\
{A} \ar[uurr,"!"] \ar[rrr,"f"'] \ar[rrr, shift left=5ex, phantom, scalearrow={0.1}{start}{end}] \ar[to path=(start) --(end), Rightarrow] &{} &{} &{B} \ar[uul, "\tilde{L}f"']&{} \\
\end{tikzcd}
\end{document}
Antwort1
aber das obige Bild ist als reines TikZ-Bild gezeichnet:
\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{positioning,
quotes}
\begin{document}
\begin{tikzpicture}[
node distance = 24mm and 12 mm
]
\node (a) {$A$};
\node (s) [above right=of a] {Set};
\node (b) [below right=of s] {$B$};
%
\draw[->] (a) edge ["!"] (s)
(b) edge ["$\tilde{L}f$" '] (s)
(a) edge ["$f$"] (b);
%
\node (f) [below=9mm of s] {$\stackrel{\tilde{f}}{\Rightarrow}$};
\end{tikzpicture}
\end{document}
oder mit Verwendung Longrightarrow
anstelle von Rightarrow
:
und am Ende mit tikz-cd
:
\documentclass[draft]{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
& & \mathrm{Set} & \\
& & \stackrel{\tilde{f}}{\Longrightarrow} & \\
A \ar[uurr,"!"] \ar[rrr,"f"']
& & & B \ar[uul, "\tilde{L}f"']&{} \\
\end{tikzcd}
\end{document}