tikzcd 将一个图表对齐到另一个图表下方

tikzcd 将一个图表对齐到另一个图表下方

我想用 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环境中来解决这个问题。

相关内容