我想用 tikzcd 画一个上下叠放的图,并且有一个从上到下的大向下箭头。所以我需要垂直放置以下三个部分:
我想在它的右侧得到另一个类似的,我相信我可以使用它\qquad
。我的代码如下:
\begin{equation}
\begin{tikzcd}[column sep=3em]
w \ar[rrd, bend left=16] \ar[rd, dotted, "\exists!"'] & & \\
& x \ar[r, "f"'] & y
\end{tikzcd}
\begin{tikzcd}[column sep=3em]
{} \ar[Rightarrow, d, "p"]\\
{}
\end{tikzcd}
\begin{tikzcd}[column sep=3em]
p(w) \ar[rrd, bend left=12] \ar[rd] & & \\
& p(x) \ar[r, "p(f)"'] & p(y)
\end{tikzcd}
\qquad
\begin{tikzcd}[column sep=3em]
w \ar[rrd, bend left=16] \ar[rd, dotted, "\exists!"'] & & \\
& x \ar[r, "f"'] & y
\end{tikzcd}
\begin{tikzcd}[column sep=3em]
{} \ar[Rightarrow, d, "p"]\\
{}
\end{tikzcd}
\begin{tikzcd}[column sep=3em]
p(w) \ar[rrd, bend left=12] \ar[rd] & & \\
& p(x) \ar[r, "p(f)"'] & p(y)
\end{tikzcd}
\end{equation}
问题是,如何修改我的代码才能得到我想要的?如果能使大向下箭头变大一点就更好了。谢谢!
答案1
tikzcd
将两个图表一个写在另一个上面最简单的方法可能是对第一个图表、箭头和第二个图表使用单一环境。
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz-cd}
\begin{document}
\begin{equation}
\begin{tikzcd}[column sep=3em]
w \ar[rrd, bend left=16] \ar[rd, dotted, "\exists!"'] & & \\
& x \ar[r, "f"'] & y \\[-8mm]
& {} \ar[Rightarrow, d, "p"]\\[5mm]
& {} \\[-12mm]
p(w) \ar[rrd, bend left=12] \ar[rd] & & \\
& p(x) \ar[r, "p(f)"'] & p(y)
\end{tikzcd}
\hspace*{11mm}
\begin{tikzcd}[column sep=3em]
w \ar[rrd, bend left=16] \ar[rd, dotted, "\exists!"'] & & \\
& x \ar[r, "f"'] & y \\[-8mm]
& {} \ar[Rightarrow, d, "p"]\\[5mm]
& {} \\[-12mm]
p(w) \ar[rrd, bend left=12] \ar[rd] & & \\
& p(x) \ar[r, "p(f)"'] & p(y)
\end{tikzcd}
\end{equation}
\end{document}
这里,我为两列使用了两个环境,因为这样可以让代码更易于阅读。但是,如果您要在右侧添加的图表与左侧的图表不同,则列可能无法正确对齐。如果是这种情况,您可以通过将所有内容放在同一个tikzcd
环境中来解决这个问题。