带元素的交换图

带元素的交换图

我想要制作如下所示的图表:

在此处输入图片描述

答案1

使用包graphicx和有一个不太复杂的答案xypic。在解释之前,我会直接给出我的解决方案。它如下:

\usepackage{graphicx}
\usepackage{xypic}
\usepackage{amsmath}

\begin{align*}
\xymatrix@R=10pt{
    cRing \ar[r] & Sch \\
    A \ar@{}[u]|{\rotatebox{90}{$\in$}} \ar@{|->}[r] 
            & Spec(A) \ar@{}[u]|{\rotatebox{90}{$\in$}}
}
\end{align*}

注意,图表当然应该包含在\begin{document}和中\end{document}。当然,使用哪个并不重要align*,任何显示样式的数学环境都可以。包amsmath也只是为了align*提供,因为它是我最喜欢的。

现在开始解释。我假设你已经对 有所了解xypic。这个包在基本层面上真的很容易使用。这里它以更高级的方式使用。@R=10pt之间的选项\xymatrix和下面的{选项是指定“行距”的选项,在这种情况下,我们希望它很小,这样图片看起来就不会很傻。顶部箭头是使用xypic绘制的标准箭头\ar[r],但下方箭头有额外的符号@{|->},这只指定了我们希望这个箭头有特殊的外观。一般来说,如果你想在 LaTeX 中旋转一个符号,graphicx包中包含允许旋转元素的命令\rotatebox,例如符号\in。这些符号像箭头一样用命令放置

\ar@{}[u]|{\rotatebox{90}{$\in$}}

现在\rotatebox{90}{$\in$}只是将符号旋转了 90 度\in。符号@{}指定我们想要一个“空”箭头,即没有线的箭头,符号|{\rotatebox{90}{$\in$}}指定我们想要\rotatebox{90}{$\in$}在给定箭头的顶部放置标签。

相关内容