
Então, eu tenho o seguinte diagrama Tikzcd e estou tentando colocar um Y no centro do triângulo W, (X x Y), X ou o triângulo W, (X x Y), (X x Y) x Z
\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*}
Tentei adicionar mais linhas e colunas. Mas parece que o tikz-cd faz com que o espaçamento das colunas não seja uniforme, são necessárias muitas linhas e colunas para ser prático. Qual o melhor jeito de consertar isso?
Responder1
Você pode lembrar os nós e usar uma sobreposição para desenhar os nós desejados nos baricentros dos triângulos.
\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}
Aumentando os coeficientes de X
ou XxYxZ
você pode mover o nó um pouco mais em direção aos cantos retangulares.
ATUALIZAR: Adicionadas setas de conexão, provavelmente muitas, mas deve ser óbvio quais remover.