I need to put up a commutative diagram in my latex document but unfortunately I could not find any package which could do that.
I am putting up the diagram in an image below, please take a look.
Thank you for your help :)
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It only takes a minute to sign up.
Sign up to join this communityI need to put up a commutative diagram in my latex document but unfortunately I could not find any package which could do that.
I am putting up the diagram in an image below, please take a look.
Thank you for your help :)
Here is a solution with the psmatrix
environment from pst-node
(pstricks
family)
\documentclass{article}
\usepackage{mathtools, amsfonts, amssymb}
\usepackage{pstricks-add}
\usepackage{pst-pdf}
\begin{document}
\[ \begin{postscript}
\psset{arrows=->, arrowinset=0.15, linewidth=0.6pt, dash=4pt 3pt, nodesep=2pt, labelsep=2pt, colsep=1cm, rowsep=1cm, emnode=R, npos=0.5}
\begin{psmatrix}
[name=DF] $ \mathcal{DF}_{\!H_a} $ & &[name=M]$ (\mathcal{M},\bar{\partial}) $\\[-1.5ex]
& [name=PF] $ \mathcal{PF}_{\!\widetilde{H}_{a}} $ \\
& $ \mathcal F $
\everymath{\scriptstyle}
\ncline[linestyle=dashed, nodesep=4pt]{DF}{M}\naput{$ \varphi $}
\ncline[arrows=H->, nodesep=1pt,]{2,2}{1,1}\naput[ labelsep= -1pt]{$ i_\mathcal{D} $}%
\ncline[arrows=H->, hookwidth=-2mm, nodesepA=-1pt]{2,2}{1,3}\nbput[labelsep= 0pt]{$ i_{\mkern-2mu\mathcal{M}} $}%
\ncline{3,2}{1,1}\naput[labelsep=-2pt]{$ u_{\mathcal{D}} $ }
\ncline{3,2}{1,3}\nbput{$ u_{\mkern-2mu\mathcal{M}} $}
\nput[labelsep=18pt]{90}{PF}{\psarcn(0,0){0.25}{-40}{40}}
\end{psmatrix}
\everymath{\scriptstyle}
\ncline[linestyle=dashed, nodesep=4pt]{DF}{M}^{$ \varphi $}
\ncline[arrows=H->, hookwidth=1.5mm, nodesep=1pt,]{2,2}{1,1}\naput[ labelsep= -1pt]{$ i_\mathcal{D} $}%
\ncline[arrows=H->, hookwidth=-1.5mm, nodesepA=-1pt, ]{2,2}{1,3}\nbput[labelsep= 0pt]{$ i_{\mkern-2mu\mathcal{M}} $}%
\ncline{3,2}{1,1}\naput[labelsep=-2pt]{$ u_{\mathcal{D}} $ }
\ncline{3,2}{1,3}\nbput{$ u_{\mkern-2mu\mathcal{M}} $}
\nput[labelsep=18pt]{90}{PF}{\psarcn(0,0){0.25}{-40}{40}}
\end{postscript} \]
\end{document}
pdflatex
(as should be) don't forget to add the --enable-write18
switch when launching the compiler, if you're under MiKTeX, or -shell-escape
(TeX Live, MacTeX).
psmatrix
environment frompst-node
(pstricks
family) is another solution.XY-pic
package. See xy-pic or texdoc.net/texmf-dist/doc/generic/xypic/xyguide.pdf