# Fine-tuning a commutative diagram

I am trying to type the following simple commutative diagram in LaTeX. I have the basics, but I need for the V to be centered, and for the arrow under the g to be in the opposite direction.

\begin{tikzpicture}[every node/.style={midway}]
\matrix[column sep={4em,between origins},
row sep={2em}] at (0,0)
{ \node(X)   {$X$}  ; & \node(Y) {$Y$}; \\
\node(V) {$V$};                   \\};
\draw[<-] (V) -- (X) node[anchor=east]  {$h$};
\draw[->] (V) -- (Y) node[anchor=north]  {$g$};
\draw[->] (X)   -- (Y) node[anchor=south] {$f$};
\end{tikzpicture}

• To switch the direction of the arrow, just reverse the order: \draw[->] (Y) -- (V) instead of \draw[->] (V) -- (Y). Also, the V node is centered, so perhaps just increasing the length of the line a bit by adding shorten option as in \draw[->, shorten >=-0.5ex] (Y) -- (V) makes it look more centered. Commented Jan 1, 2013 at 19:56
• have you seen Commutative Diagrams and TikZ and a search for commutative diagrams Commented Jan 1, 2013 at 20:00
• @PeterGrill When I compile, I still see the V directly beneath the X,rather than centered and diagonally beneath and to the right of the X, as I would like for it to be. Thanks again. Commented Jan 1, 2013 at 20:05
• @MichaelDykes: Duhh!!! Sorry about that. Not sure what part of "center" was confusing to me. :-) Commented Jan 1, 2013 at 20:49

Does this solution with tikz-cd help?

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

\begin{document}

\begin{tikzcd}[column sep=small]
X \arrow{rr}{f} \arrow[swap]{dr}{h}& &Y \arrow{dl}{g}\\
& V &
\end{tikzcd}

\end{document}


• Actually, it does as this is exactly what I was looking for. In general, what are the differences between tikz and tikz-cd? I mean when is it better to use the latter rather than the former? Thanks again. Commented Jan 1, 2013 at 20:18
• I am unexpert, but as I see it, tikz-cd is a tikz-based package to easily type commutative diagrams. As you can see, the syntaxis is as easy as xymatrix.
– c.p.
Commented Jan 1, 2013 at 20:24