如何使用 tikz-cd 让符号出现在交换图的中间?

如何使用 tikz-cd 让符号出现在交换图的中间?

我想在我的交换图的中心加上问号符号,因此:

\documentclass{article}

\usepackage{tikz-cd}

\begin{document}

\[
\begin{tikzcd}[row sep=tiny]
A \arrow{d}[swap]{\beta} & K_h \arrow{l}[swap]{\pi'} \arrow{d}[swap]{\gamma} \arrow{r}{\pi} & A \arrow{d}{\alpha} & & \\
F(A) & F(K_h) \arrow{l}{F(\pi')} \arrow{r}[swap]{F(\pi)} & F(A) & \hspace{-14em}\raisebox{2.25em}{?} & \hspace{-32em}\raisebox{2.25em}{?}
\end{tikzcd}
\]

\end{document}

我在这里所做的只是一种技巧,向您展示我的意思,它不适用于更复杂的图表。我猜某种绝对定位功能可以做到,但我无法找到它。我对 tikz-cd 很满意,不想切换到其他软件包。有什么想法吗?非常感谢!

答案1

一个选项是使用description带有 的箭头draw=none

\documentclass{article}
\usepackage{tikz-cd}

\tikzset{commutative diagrams/.cd,
mysymbol/.style={start anchor=center,end anchor=center,draw=none}
}
\newcommand\MySymb[2][?]{%
  \arrow[mysymbol]{#2}[description]{#1}}

\begin{document}

\[
\begin{tikzcd}
A \MySymb{dr}\arrow{d}[swap]{\beta} & K_h \MySymb{dr}\arrow{l}[swap]{\pi'} \arrow{d}[swap]{\gamma} \arrow{r}{\pi} & A \arrow{d}{\alpha} & & \\
F(A) & F(K_h) \arrow{l}{F(\pi')} \arrow{r}[swap]{F(\pi)} & F(A) & \end{tikzcd}
\]

\end{document}

在此处输入图片描述

使用选项定义了一种新样式start anchor=center,end anchor=center,draw=none(感谢奎伯比尔贝尔对于这个建议);此样式用于\MySymb使用description箭头的命令,并且有一个用于箭头方向指定的强制参数和一个用于要使用的符号的可选参数(默认符号= ?)。

相关内容