答案1
您只需使用一个图表即可。(请注意,添加宽度为 0 的框的解决方案可能会弄乱边界框。)
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[every arrow/.append style={thick,-stealth},
execute at end picture={
\node[right=-4pt,fill=white,baseline={(aBf.base)}] at (aBf.east){$=\{a'\in\mathcal{B}\mid f(a')=b\}$};}
]
A \arrow[rrrr,"f"] \arrow[dddrr,"\pi_{\mathcal{B}_f}"'] & & & & B \\[-1em]
& a \arrow[rr] \arrow[dr] & & b & \\[2ex]
&& |[alias=aBf]|[a]_{\mathcal{B}_f} \arrow[ur] && \\
&& \mathcal{B}_f \arrow[uuurr,"\bar f"' {pos=0.85}] && \\
\end{tikzcd}
\end{document}
或其较小版本。
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[every arrow/.append style={thick,-stealth},column sep=small,
row sep=small,
execute at end picture={
\node[right=-4pt,fill=white,baseline={(aBf.base)}] at (aBf.east){$=\{a'\in\mathcal{B}\mid f(a')=b\}$};}
]
A \arrow[rrrr,"f"] \arrow[dddrr,"\pi_{\mathcal{B}_f}"'] & & & & B \\[-1em]
& a \arrow[rr] \arrow[dr] & & b & \\[2ex]
&& |[alias=aBf]|[a]_{\mathcal{B}_f} \arrow[ur] && \\
&& \mathcal{B}_f \arrow[uuurr,"\bar f"' {pos=0.85}] && \\
\end{tikzcd}
\end{document}