Der folgende Code funktioniert nicht:
\begin{tikzpicture}[->]
\node at (1.85,-1.2) (bF) {$F$};
\node at (1.27,-1.2) (bd) {$d$};
\node at (3.6,-1.2) (bW) {$W$};
\node at (1.9,-1.1) (GW) {};
\node at (1.29,-1.1) (EGxbW) {};
\node at (2.28,-0.9) (ExbW) {};
\path[every node/.style={font=\sffamily\small}, thick]
(GW) edge[bend right] node [left] {} (EGxbW);
(bW) edge[bend right] node [left] {} (ExbW);
\end{tikzpicture}
Es entsteht das folgende Bild:
Wenn wir hingegen die letzten beiden Codezeilen ändern (oder die abhängigen Codezeilen unabhängig betrachten), erhalten wir:
\begin{tikzpicture}[->]
\node at (1.85,-1.2) (bF) {$F$};
\node at (1.27,-1.2) (bd) {$d$};
\node at (3.6,-1.2) (bW) {$W$};
\node at (1.9,-1.1) (GW) {};
\node at (1.29,-1.1) (EGxbW) {};
\node at (2.28,-0.9) (ExbW) {};
\path[every node/.style={font=\sffamily\small}, thick]
(GW) edge[bend right] node [left] {} (EGxbW);
(bW) edge[bend right] node [left] {} (ExbW);
\end{tikzpicture}
und wir bekommen:
Es sollte möglich sein, beide Pfeile sichtbar zu machen, da ich mit dem folgenden Code etwas Ähnliches gemacht habe:
\begin{tikzpicture}[->]
\draw[black, very thick] (0,0) rectangle (1.5,1);
\node at (1.8,0) (aL) {$\overline{L}$};
\draw[black, very thick] (0.8,-1.7) rectangle (2.3,-0.7);
\node at (2.55,-1.75) (bL) {$L$};
\node at (1.05,0.5) (aF) {$\overline{F}$};
\node at (0.47,0.5) (ad) {$\tilde{d}$};
\node at (1.85,-1.2) (bF) {$F$};
\node at (1.27,-1.2) (bd) {$d$};
\node at (2.8,0.5) (aW) {$\overline{W}$};
\node at (3.6,-1.2) (bW) {$W$};
\node at (1.48,0.8) (ExaW) {};
\node at (2.28,-0.9) (ExbW) {};
\path[every node/.style={font=\sffamily\small}, thick]
(ad) edge [out=230, in=173] (bd)
(aW) edge[bend right] node [left] {} (ExaW)
(bW) edge[bend right] node [left] {} (ExbW);
\end{tikzpicture}
Dadurch wird das folgende Bild erzeugt:
Was mache ich falsch? Oder ist es nur ein Fehler in TikZ?
Antwort1
In Ihren ersten beiden Codefragmenten haben Sie Waisen in der letzten Codezeile. Befehl
\path[every node/.style={font=\sffamily\small}, thick]
(GW) edge[bend right] node [left] {} (EGxbW); % is terminated here, so
(bW) edge[bend right] node [left] {} (ExbW); % this line orphan: not drown
wird ;
bereits nach der ersten Codezeile beendet (durch ), sodass die zweite Zeile verwaist ist und keine Anweisung mehr hat, was zu tun ist. Folglich wird der darin festgelegte Pfeil nicht gelöscht.
Wenn Sie also Ihr erstes Codefragment auf das folgende WME erweitern:
\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[->,
every node/.style = {inner xsep=0pt} ]
\node at (1.85,-1.2) (bF) {$F$};
\node at (1.27,-1.2) (bd) {$d$};
\node at (3.6,-1.2) (bW) {$W$};
\path (bF.north) edge[bend right] (bd.north east) % <--- not terminated
(bW.north) edge[bend right] (bF.north east);
\end{tikzpicture}
\end{document}
Sie erhalten das scheinbar gewünschte Ergebnis.
Im Vergleich zu Ihrem obigen Codefragment ist der Code vereinfacht und gekürzt.