
Ich habe also das folgende Tikzcd-Diagramm und versuche, ein Y in die Mitte des Dreiecks W, (X x Y), X oder des Dreiecks W, (X x Y), (X x Y) x Z zu platzieren
\begin{equation*}
\begin{tikzcd}[column sep=large, row sep=large]
X
&
& W
\ar[lldd, "(f'\times g')" description, dashed]
\ar[dd, "(f'\times g')\times g" description, dashed]
\ar[rdd, "g"]
\ar[ll, "f'"']
&
\\
&Y
&Y
&
\\
(X\times Y)
\ar[uu, "\pi_X"]
&
& (X\times Y)\times Z
\ar[ll, "p_{X\times Y}"]
\ar[r, "p_Z"']
& Z
\end{tikzcd}
\end{equation*}
Ich habe versucht, weitere Zeilen und Spalten hinzuzufügen. Aber es scheint, dass tikz-cd dafür sorgt, dass der Spaltenabstand nicht einheitlich ist. Es sind viel zu viele Zeilen und Spalten erforderlich, um praktisch zu sein. Wie kann ich das am besten beheben?
Antwort1
Sie können sich die Knoten merken und mithilfe einer Überlagerung die gewünschten Knoten an den Schwerpunkten der Dreiecke einzeichnen.
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz-cd}
\begin{document}
\begin{equation*}
\begin{tikzcd}[column sep=large, row sep=large,remember picture]
|[alias=X]| X
&
& |[alias=W]| W
\ar[lldd, "(f'\times g')" description, dashed]
\ar[dd, "(f'\times g')\times g" description, dashed]
\ar[rdd, "g"]
\ar[ll, "f'"']
&
\\
&Y
&Y
&
\\
|[alias=XxY]| (X\times Y)
\ar[uu, "\pi_X"]
&
& |[alias=XxYxZ]| (X\times Y)\times Z
\ar[ll, "p_{X\times Y}"]
\ar[r, "p_Z"']
& Z
\end{tikzcd}
\tikz[overlay,remember picture]{%
\node (Y1) at (barycentric cs:X=1,W=1,XxY=1) {$Y$};
\draw[->] (Y1) -- (W);\draw[->] (Y1) -- (XxY);
\node (Y2) at (barycentric cs:XxYxZ=1,W=1,XxY=1) {$Y$};
\draw[->] (Y2) -- (W);\draw[->] (Y2) -- (XxY);
}
\end{equation*}
\end{document}
Durch Erhöhen der Koeffizienten von X
oder XxYxZ
können Sie den Knoten etwas mehr in Richtung der rechteckigen Ecken verschieben.
AKTUALISIEREN: Verbindungspfeile hinzugefügt, wahrscheinlich zu viele, aber es sollte offensichtlich sein, welche entfernt werden müssen.