如何利用通用属性图进行回拉?

如何利用通用属性图进行回拉?

我想在 tikz(或 tikz-cd)环境中制作交换图,以演示回拉的通用属性。确切地说,我想在 LaTeX 中制作以下图表(顶部的箭头不需要弯曲):

回拉图的普遍性质

我不知道该怎么画。我知道如何制作一般的交换图,并且有使用通用属性图制作推拉图的答案(如何进行具有通用属性的推送?)但我不知道如何制作上述回调图。如能得到任何帮助我将不胜感激。

答案1

你必须思考一个 3x3 矩阵,然后其余的事情就会水到渠成了。

在左上角,你把 B 和其他物品放在右下角的 2x2 空间中。因此骨架是

\begin{tikzcd}
B \\
& Q & A \\
& B & C
\end{tikzcd}

在此处输入图片描述

现在您要添加箭头。从左上角开始有三个箭头,其他的很容易添加。

\begin{tikzcd}
B \arrow[ddr] \arrow[drr] \arrow[dr,dashed] \\
& Q \arrow[r] \arrow[d] & A \arrow[d] \\
& B \arrow[r] & C
\end{tikzcd}

在此处输入图片描述

现在我们要添加标签

\begin{tikzcd}
B \arrow[ddr,"\mathrm{Id}"] \arrow[drr,"h"] \arrow[dr,dashed,"\beta"] \\
& Q \arrow[r,"q"] \arrow[d,"g^*"] & A \arrow[d,"f"] \\
& B \arrow[r,"g"] & C
\end{tikzcd}

在此处输入图片描述

好的,现在我们清楚地看到弯曲外箭头是必要的。此外,“Id”标签应该放在另一侧,“g*”标签应该稍微向上移动,这可以通过压碎“Q”的底部来实现。

\begin{tikzcd}
B \arrow[ddr,bend right,"\mathrm{Id}"'] \arrow[drr,bend left,"h"] \arrow[dr,dashed,"\beta"] \\
& \smash[b]{Q} \arrow[r,"q"] \arrow[d,"g^*"] & A \arrow[d,"f"] \\
& B \arrow[r,"g"] & C
\end{tikzcd}

在此处输入图片描述

答案2

在此处输入图片描述

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}

\begin{tikzcd}
  B \arrow[rrd,bend left,"h"]
    \arrow[ddr,bend right,swap,"\mathrm{Id}"]
    \arrow[dr,dashed,"\beta"] \\
  & Q \arrow[d,"g^*"'] \arrow[r,"q"] & A \arrow[d,"k"]  \\
  & B \arrow[r,swap,"g"]  & C
\end{tikzcd}

\end{document}

答案3

我使用xy带有 ie 函数的包cmtip,其箭头与 TiKZ 相同。您可以在这里看到tikz-cd代码差异。xy代码与 类似tikz-cd

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage[all,cmtip]{xy}
\begin{document}
\xymatrix{
B \ar@/_1.5pc/[ddr]_{\mathrm{Id}} \ar@/^1.5pc/[drr]^h
\ar@{-->}[dr]^\beta \\
& Q \ar[d]_{g^{*}} \ar[r]^q
& A \ar[d]^k \\
& B \ar[r]_g & C}
\end{document}

在此处输入图片描述

相关内容