如何以显示形式排列交换图

如何以显示形式排列交换图

我想安排以下三张图

\[
    \begin{tikzcd}
        Z\arrow[dr, "h", dashed]\arrow[drr, "g", bend left]\\
            &   X\arrow[r, "f"] &   Y
    \end{tikzcd}
\]

\[
    \begin{tikzcd}
        pZ\arrow[dr, "w", dashed]\arrow[drr, "pg", bend left]\\
            &   I\arrow[r, "u"] &   J
    \end{tikzcd}
\]

\[
    \begin{tikzcd}
        \mathbb{E}\arrow[d, "p"]\\
        \mathbb{B}
    \end{tikzcd}
\]

它们的排列如下: 在此处输入图片描述

最好的方法是什么?

答案1

我会用aligned

\documentclass{article}
\usepackage{amsmath,amssymb,tikz-cd}

\begin{document}

\[
\begin{tikzcd}[row sep=huge]
  \mathbb{E}\arrow[d, "p"]\\
  \mathbb{B}
\end{tikzcd}
\qquad\qquad
\begin{aligned}
& \begin{tikzcd}
    \phantom{p}Z\arrow[dr, "h", dashed]\arrow[drr, "g", bend left]\\
    &   X\arrow[r, "f"] &   Y
  \end{tikzcd}
\\
& \begin{tikzcd}
    pZ\arrow[dr, "w", dashed]\arrow[drr, "pg", bend left]\\
    &   I\arrow[r, "u"] &   J
  \end{tikzcd}
\end{aligned}
\]

\end{document}

\phantom{p}右上图中,我们确保与下图相似。

在此处输入图片描述

答案2

我想说的是,如果你把所有东西都放在一张图里,事情就会简单得多。这样你就可以完全轻松地控制所有维度。例如,我添加了[3em] after& to make the gap between the left and the right two diagrams a bit larger. And, of course,\mathbb{E} and\mathbb{B}`,它们会自动与右侧的图对齐。

\documentclass{article}
\usepackage{amsmath,amsfonts}
\usepackage{tikz-cd}
\begin{document}
\[
    \begin{tikzcd}
     &[3em]   Z\arrow[ddr, "h", dashed]\arrow[ddrr, "g", bend left]\\[-2em] 
\mathbb{E}\arrow[ddd, "p"]   & & & \\[-2em]
     &       &   X\arrow[r, "f"] &   Y\\
     & pZ\arrow[ddr, "w", dashed]\arrow[ddrr, "pg", bend left]\\[-2em] 
\mathbb{B}   & & & \\[-2em] 
     &     &   I\arrow[r, "u"] &   J\\
    \end{tikzcd}
\]
\end{document}

在此处输入图片描述

答案3

这里还有另一个建议,使用xy用于绘制的包commutative-diagrams来获取相同的图像。

在这种情况下,我使用了环境光minipage来获得与您的图片相同的结构。

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage[all]{xy}
\usepackage{amssymb}
\begin{document}
\begin{figure}
\centering
\begin{minipage}[c][10mm]{.5\textwidth}
\centering
\xymatrix@+1pc{
\mathbb{E} \ar[d]_p  \\
\mathbb{B}}
\end{minipage}
\begin{minipage}[c]{.5\textwidth}\hspace{0cm}
\centering
\xymatrix@+.5pc{
Z  \ar@/^1.5pc/[drr]^g \ar@{-->}[dr]_h\\
& X  \ar[r]<3pt>_f & Y  
}
\vfill
\hspace{0cm}\xymatrix@+.5pc{
pZ  \ar@/^1.5pc/[drr]^{u\,\circ\, w\,=\,pg} \ar[dr]_w\\
& I  \ar[r]<3pt>_u & J  
}
\end{minipage}
\end{figure}
\end{document}

相关内容