我怎样才能在这个图中放置带有 0 的箭头?

我怎样才能在这个图中放置带有 0 的箭头?

这是我想要绘制的图表:

在此处输入图片描述

我从这里获得了绘制以下内容的帮助:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{cd}

\begin{document}
    $$\begin{tikzcd}
        & P \ar[dl, dashed, "\tilde{f}" ']
        \ar[d, "f"]     \\
        A \ar[r,twoheadrightarrow,"g" ']    & B 
    \end{tikzcd}$$
\end{document}

但是我怎样才能在这个图中放置带有 0 的箭头呢?有人可以给我看一下吗?

答案1

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{cd}

\begin{document}
    \[\begin{tikzcd}
        & P \ar[dl, dashed, "\tilde{f}" ']
        \ar[d, "f"]     \\
        A \ar[r,twoheadrightarrow,"g" ']   & B  \arrow[r, twoheadrightarrow] & 0
    \end{tikzcd}\]
\end{document}

在此处输入图片描述

答案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}

在此处输入图片描述

如果你想要您可以使用以下选项[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]以修改间距并按照您的意愿进行操作。

相关内容