我正在尝试绘制核技巧的交换图。我正在尝试以下代码:
\[
\begin{tikzcd}
&X \arrow{r}{\Phi} & H& \\%
X \times X \arrow[swap]{dr}{\pi_X} \arrow[swap]{ur}{\pi_X} \arrow{r}{k} &
\mathbb{R} &&
\mathcal{H} \times \mathcal{H} \arrow[swap]{ul}{\pi_\mathcal{H}}
\arrow[swap]{dl}{\pi_\mathcal{H}} \arrow{l}{\langle \cdot, \cdot \rangle_\mathcal{H}}\\%
&X \arrow{r}{\Phi} & H&
\end{tikzcd}
\]
此代码生成该图:
有 2 个错误:
No shape named `tikz@f@5-2-3' is known. I think the culprit is a tikzcd arrow in cell 2-4.
No shape named `tikz@f@5-2-3' is known. I think the culprit is a tikzcd arrow in cell 2-4.
k
实际上,除了箭头太短且不居中之外,图表几乎都很好\mathbb{R}
。我猜错误都是与此有关的,但我对 tikz 还很陌生,所以不完全理解这些错误。有人可以解释一下错误和改进图表的方法吗?谢谢。
答案1
您应该使用多一列,但您也可以缩短穿过中间列的箭头。
我使用了箭头的“现代”语法,我发现它更加方便。
\documentclass{article}
\usepackage{amsmath,amssymb,tikz-cd}
\begin{document}
\[
\begin{tikzcd}
&X \arrow[rr,"\Phi"] &[-1.5em] &[-1.5em] H \\
X \times X \arrow[dr,"\pi_X"'] \arrow[ur,"\pi_X"] \arrow[rr,"k"] &&
\mathbb{R} &&
\mathcal{H} \times \mathcal{H} \arrow[ul,"\pi_\mathcal{H}"']
\arrow[dl,"\pi_\mathcal{H}"] \arrow[ll,"{\langle \cdot, \cdot \rangle_\mathcal{H}}"'] \\
&X \arrow[rr,"\Phi"] && H
\end{tikzcd}
\]
\end{document}
注意:我保留了两个简单的 H,但我相信它们也应该\mathcal{H}
如此。