答案1
答案2
我觉得,原图是用坐标包。其实经典的技巧是一样的。使用的字体是(MTPRO2)其中关联您可以找到精简版本。
我已将字体更改为newtxtext
(Times New Roman 的克隆版)和newtxmath
。我认为它与您的图像非常接近。
\documentclass[a4paper,12pt]{article}
\usepackage[all]{xy}
\usepackage{newtxtext,newtxmath}
\begin{document}
\xymatrix@R=2pc@C=3pc{
& P \ar[d]^{id} \ar@{-->}[dl]_{\mu} &\\
M \ar[r]^{\varphi} & P\ar[r] & 0
}
\end{document}
附录 1:## 要获得 twoheadrightarrow,您可以使用代码\ar@{>>}
(参见 MWE):
\documentclass[a4paper,12pt]{article}
\usepackage[all]{xy}
\usepackage{newtxtext,newtxmath}
\begin{document}
\xymatrix@R=2pc@C=3pc{
& P \ar[d]^{id} \ar@{-->}[dl]_{\mu} &\\
M \ar@{>>}[r]^{\varphi} & P\ar@{>>}[r] & 0
}
\end{document}
如果你想要tikz-cd您可以使用以下选项[all, cmtip]
:
\documentclass[a4paper,12pt]{article}
\usepackage[all,cmtip]{xy}
\usepackage{newtxtext,newtxmath}
\begin{document}
\xymatrix@R=2pc@C=3pc{
& P \ar[d]^{id} \ar@{-->}[dl]_{\mu} &\\
M \ar@{>>}[r]^{\varphi} & P\ar@{>>}[r] & 0
}
\end{document}
答案3
除了@Roland的答案之外,另一个可能的答案是使用\usetikzlibrary{matrix}
。这看起来像
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}%
\matrix[matrix of math nodes,row sep=1cm, column sep=1cm]{%
&& |(P)| P \\
& |(M)| M & |(Ptwo)| P & |(zero)| 0 \\
};%
\draw[dashed,->,very thick](P)--(M) node[above,pos=0.5]{\(\mu\)};%
\draw[->>,very thick](P)--(Ptwo) node[right,pos=0.5]{id};%
\draw[->>,very thick](M)--(Ptwo) node[above,pos=0.5]{\(\varphi\)};%
\draw[->,very thick](Ptwo)--(zero);%
\end{tikzpicture}%
\end{document}
这将显示:
注意:您可以随意尝试并更改
[row sep=1cm, column sep=1cm]
以修改间距并按照您的意愿进行操作。