5

I want a diagram that looks like the one found here,

enter image description here This is my attempt:

\[
\begin{tikzcd}
 [column sep = large]
N \arrow[d, "u"] \arrow[ddr, "q_j"]   \arrow[ddl, "q_k"] \\
\mathcal{A} \arrow[dr, "p_j"]  \arrow[dl, "p_k"] \\
 A_1 \arrow[r, "F(m)"] &  A_2 
\end{tikzcd}
\]

I notice the problems are with ddl and dl.

Alan Munn
  • 218,180
user7090
  • 161
  • Hi, and welcome to TeX.sx. You can format code by choosing the code and clicking on the {} icon. Also, it's preferable to put your code fragment into a complete compilable document: you'll get help faster, and shows which packages you have loaded to make that fragment run. – Alan Munn Oct 11 '15 at 00:47

3 Answers3

5

You need three columns (I also added some bending for some arrows and swapping for some of the labels):

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

\begin{document}

\[
\begin{tikzcd}[row sep = large]
& N \arrow[d, "u"] \arrow[ddr, bend left,"q_j"]   \arrow[ddl, bend right,"q_k",swap] & \\
& \mathcal{A} \arrow[dr, "p_j"]  \arrow[dl,swap, "p_k"] & \\
 A_1 \arrow[rr,swap, "F(m)"] & &  A_2 
\end{tikzcd}
\]

\end{document}

enter image description here

Or

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

\begin{document}

\[
\begin{tikzcd}[row sep = large]
& 
N 
  \arrow[d, dashed, "u" description] 
  \arrow[ddr, bend left,"q_j"]   
  \arrow[ddl, bend right,"q_k",swap] 
& 
\\
& 
\mathcal{A} 
  \arrow[dr, "p_j"]  
  \arrow[dl,swap, "p_k"] 
& 
\\
A_1 
  \arrow[rr,swap, "F(m)"] 
&
&  
A_2 
\end{tikzcd}
\]

\end{document}

enter image description here

Gonzalo Medina
  • 505,128
  • Just wondering here, would this example get into trouble if the " was active? For example Danish babel use active ", if problematic, might be an idea to also note the alternative syntax. – daleif Oct 11 '15 at 07:22
  • @daleif It's not a problem if you add \usetikzlibrary{babel}. – egreg Oct 11 '15 at 09:28
  • I understand the yearning for symmetry, but the label in the middle of a dashed arrow is, at the least, ambiguous. Also the row sep should be increased. – egreg Oct 11 '15 at 09:31
  • @egreg row sep increased. The first option then won't hurt your eyes. – Gonzalo Medina Oct 11 '15 at 12:18
3

A pstricks solution:

\documentclass{article}
\usepackage{pst-node}
\usepackage{auto-pst-pdf}

\begin{document}

\[ \psset{arrows=->, arrowinset=0.15, linewidth=0.6pt, dash=3pt 2pt, nodesep=3pt, labelsep=1pt, colsep=1cm, rowsep=1.25cm, shortput=nab}
\begin{psmatrix}
     & N\\
    & L\\
    F(X) & & F(Y)\\
\end{psmatrix}
\ncline[linestyle=dashed]{1,2}{2,2}\ncput*{u}
\ncline{2,2}{3,1}_{\phi_X} \ncline{2,2}{3,3}^{\phi_Y}
\ncline{3,1}{3,3}_{F(f)}
\ncarc[arcangle=-20]{1,2}{3,1}\nbput{\psi_X}\ncarc[arcangle=20]{1,2}{3,3}\naput{\psi_Y}
\]

\end{document} 

enter image description here

Bernard
  • 271,350
3

Besides the other answers, you can utilize Tikz for this matter.

\documentclass[border={10pt}]{standalone}

\usepackage{tikz}
\usetikzlibrary{calc, positioning}

\begin{document}

\begin{tikzpicture}
    [%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        node distance=2.5cm, thick,
    ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     \node (Fx)                                                  {$F(X)$};
     \node (Fy)[right=of Fx]                                     {$F(Y)$};
     \node (L) [yshift=1.8cm] at (barycentric cs:Fx=0.1,Fy=0.1)  {L};
     \node (N) [above=of L]                                      {$N$};

    \draw[->,dashed] (N) -- (L)  node [rectangle,fill=white,midway] {$u$};
    \draw[->] (L)  -- (Fx) node [left,midway]  {$\phi_{X}$};
    \draw[->] (L)  -- (Fy) node [right,midway] {$\phi_{Y}$};
    \draw[->] (Fx) -- (Fy) node [below,midway] {$F(f)$};
    \draw[->] (N) to [bend right=30] node [left,midway] {$\psi_{X}$} (Fx) ;
    \draw[->] (N) to [bend left=30] node [right,midway] {$\psi_{Y}$} (Fy) ;
\end{tikzpicture}
\end{document}

enter image description here

CroCo
  • 5,902
  • Just for completeness, might want to explain the barycentric cs, users passing by, might not know it. – daleif Oct 11 '15 at 10:08