投影模块图如何排版?

投影模块图如何排版?

如何绘制像下图所示的射影模块类型图?

在此处输入图片描述

答案1

使用 Xy-pic 的第一个版本

\documentclass{article}
\usepackage[all]{xy}

\begin{document}

\[
\xymatrix{
  & P \ar@{.>}[dl]_{h} \ar[d]^{f} \\
A \ar@{->>}[r]^g & B \ar[r] & 0
}
\]

\end{document}

在此处输入图片描述

使用 Xy-pic 的改进版本

\documentclass{article}
\usepackage[all,cmtip]{xy}

\begin{document}

\[
\xymatrix{
  & P \ar@{.>}[dl]_{h} \ar[d]^{f} \\
A \ar@{->>}[r]^g & B \ar[r] & 0
}
\]

\end{document}

在此处输入图片描述

版本tikz-cd

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

\begin{document}

\[
\begin{tikzcd}
  & P \arrow[dl,dotted,swap,"h"] \arrow[d,"f"] \\
A \arrow[r,two heads,"g"] & B \arrow[r] & 0
\end{tikzcd}
\]

\end{document}

在此处输入图片描述

评论

第一个版本看起来和你的图片一模一样,几乎可以肯定是用同样的方式制作的。但是箭头尖很糟糕,与文档中的其他箭头不协调。第二个版本通过添加 解决了这个问题cmtip

切换到 有什么好处tikz-cd?好处太多了,无法一一列举。

语法更简单:在选项中\arrow指定目标,然后可能是箭头类型和标签;标准位置在左侧(从源到目标),选项 swap 允许更改侧面。标签通过括在引号中来输入。

另一个重要方面是箭头尖通常与主文档数学字体一致,而 Xy-pic 则无法做到这一点。

答案2

一个具有 的解tikz-cd和一个具有 的解pstricks

\documentclass{article}
\usepackage{amsmath}
 \usepackage{pstricks-add}
\usepackage{tikz-cd}
\usepackage{auto-pst-pdf}

\begin{document}

 \[ \psset{arrows=->, arrowinset=0.2, linewidth=0.5pt, nodesep=2pt, labelsep=2pt, rowsep=0.6cm, colsep = 1.1cm, shortput=tab, linejoin=1}
 \everypsbox{\scriptstyle}
 \begin{psmatrix}
%%%nodes
 & P\\%
 A & B & 0%%%
  %%% arrows
 \ncline{1,2}{2,2}>[tpos =0.4]{f}
 \ncline[linestyle=dashed, dash=3pt 2pt]{1,2}{2,1}^[ tpos=0.48]{h}
 \ncline[arrows=->>]{2,1}{2,2}^{g} \ncline{2,2}{2,3}
 \end{psmatrix}
 \]

\[ \begin{tikzcd}
 &P \dar{f}\dlar[ swap, dashed]{h} \\%
 A \rar[two heads]{g} & B \rar & 0\end{tikzcd}
\]
\end{document} 

在此处输入图片描述

相关内容