如您所见,中间的“映射到”箭头略微不水平,但我不知道为什么。
也许我用来在箭头之间设置箭头的技术不是完成这项工作的最佳方法,但在这里搜索了一会儿后,我得出结论,没有人有更好的主意。
我的代码:
\begin{tikzcd}
G \arrow[d, "f"', ""{name=f}] \arrow[r, maps to] & Z(G) \arrow[""{name=zf}, d, "f\mid_{Z(G)}"] \\
H \arrow[r, maps to] & Z(H)
\arrow[maps to, from=f, to=zf, shorten <= 5pt, shorten >= 5pt]
\end{tikzcd}
答案1
两个垂直箭头的长度略有不同。您可以通过粉碎括号来修复此问题,这是造成此问题的原因。
\documentclass{article}
\usepackage{amsmath,tikz-cd}
\begin{document}
\begin{tikzcd}
G \arrow[d, "f"', ""{name=f}] \arrow[r, maps to] &
\smash{Z(G)}\vphantom{G} \arrow[""{name=zf}, d, "f|_{Z(G)}"] \\
H \arrow[r, maps to] & \smash{Z(H)}\vphantom{H}
\arrow[maps to, from=f, to=zf, shorten <= 5pt, shorten >= 5pt]
\end{tikzcd}
\end{document}
或者,在左栏中使用G\mathstrut
和,在右栏中使用 和。H\mathstrut
Z(G)
Z(H)
请注意,这\mid
是错误的限制符号;只需使用|
。