我想要制作如下所示的图表:
答案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$}
在给定箭头的顶部放置标签。