如何绘制交换图?

如何绘制交换图?

有人能帮我在 LaTeX 中给出交换图的命令吗?它似乎无法在我拥有的 LaTeX 指南中正确显示。带有与地图关联的箭头的简单三角图命令就足够了,或者可能是一些适当的参考。

答案1

对于简单和复杂的图表,我建议使用tikz-cd。如果您不习惯使用宏,还有一个基于 Web 的 GUI 编辑器,网址为https://tikzcd.yichuanshen.de/。可以在编辑器中查看以下示例此链接(点击)

让我们看一个简单的三角图。

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\[
  \begin{tikzcd}
    A \arrow{r}{f} \arrow[swap]{dr}{g\circ f} & B \arrow{d}{g} \\
     & C
  \end{tikzcd}
\]
\end{document}

在此处输入图片描述

箭头以它要去的“步骤”作为参数:r代表“右”、d代表“下”;也u代表“上”和l“左”。

Xy-pic 提供类似的语法。

\documentclass{article}
\usepackage[all,cmtip]{xy}
\begin{document}
\[
\xymatrix{
A \ar[r]^{f} \ar[dr]_{g\circ f} & B \ar[d]^{g} \\
 & C
}
\]
\end{document}

注意标签的位置:^表示在箭头上方,_表示在箭头下方;上方和下方是相对于箭头的方向:逆时针旋转,直到它从左指向右。

在此处输入图片描述

如您所见,结果非常相似。虽然我以前使用过 Xy-pic,但现在我更相信它tikz-cd可以更好,因为它依赖于强大的 TikZ/PGF 库。

答案2

另一种方法是使用psmatrix环境,来自pst-node。首先将对象描述为矩阵中的节点,然后描述箭头。在此描述中,可以为节点命名,或通过i, j矩阵中的索引对进行描述。有关如何连接节点或更一般地如何微调图表外观的详细信息,请参阅 pst-node 的文档。

pdflatex如果您使用--shell-escape开关 (TeX Live、MacTeX) 或 --enable-write18 (MiKTeX),则可以使用编译,并使用pdf文档类的选项:这将加载auto-pst-pdf包。或者,您可以加载后者的包、afterpstricks 及其系列。

这是一个简单的例子:

\documentclass[pdf]{article}
\usepackage{pst-node}

\begin{document}

\[ \psset{arrows=->, arrowinset=0.25, linewidth=0.6pt, nodesep=3pt, labelsep=2pt, rowsep=1.2cm}
\begin{psmatrix}
  (X, d) & (X_1 ,d_1 )\\%
   & (X_2 ,d_2)
%%%
 \ncline{1,1}{1,2}\naput{T_1} \ncline{1,1}{2,2}\nbput{T_2 }
 \ncline{1,2}{2,2}\naput[npos=0.45]{T}
\end{psmatrix}
\]
\end{document} 

在此处输入图片描述

相关内容