[Tex/LaTex] Drawing non-trivial commutative diagrams

commutative-diagramsdiagrams

I am trying to draw the following mathematical diagram (see attached). If all the elements were in an array style figure I would be fine with the usual \begin{array} etc. However the arrows from the \mathbb R symbol extend over what would be several elements of an array. I really have no idea how I would approach this picture and wondered if anyone could point me in the correct direction? Many thanks!

enter image description here

Best Answer

This would be definitely doable in TikZ or PSTricks, but I think it'd be an overkill for a simple diagram as this. I think you should use tikz-cd, very minimal code, and specifically designed for this kind of diagrams.

Keep in mind that it works like a matrix (a table basically), so you know how you can place the various "nodes". Also, the command for the arrows are easy too, the letters indicate the direction: u for up, d for down, r and l for right and left, dr for down-right, drr for down-right-right, and so on.

I couldn't read the text on some of the arrows, so you might have to fix that, but it gives the idea.

Output

output

Code

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

\begin{document}
\[\begin{tikzcd}
        & & T(TM) & & T^*(TM)\\
        & & T^{*}M \arrow[u, "X_H", swap] \arrow[urr, "\delta_H", swap]\\
   R    \arrow[uurr, "X_{H}\circ(X\circ\varphi)", bend left=45]  
        \arrow[urr, "\alpha\circ\varphi", swap, bend left] 
        \arrow[rr] 
        \arrow[drr, "X\circ\varphi", bend right]  
        \arrow[ddrr, "X_{L}\circ(X\circ\varphi)", swap, bend right=45] 
        & & M \arrow[u, "\alpha", swap] \arrow[d, "X"] \\
        & & TM \arrow[d, "X_L"] \arrow[drr, "\delta_L"]\\
        & & T(TM) & & T^*(TM)
\end{tikzcd}\]
\end{document}
Related Question