# Long arrows in a commutative diagram with transform canvas

I need to represent a commutative diagram. The following code works. Is there a way to modify it in order to have longer arrows?

\begin{tikzcd}
A \arrow[transform canvas={yshift=.5ex}]{r}{f}  \arrow[transform canvas={xshift=.5ex}]{d}{g} & B
\arrow[transform canvas={yshift=-.5ex}]{l}{h} \arrow[transform canvas={xshift=-.75ex}]{dl}{} \\
C \arrow[transform canvas={xshift=-.5ex}]{u}{r} \arrow[transform canvas={yshift=-.75ex}]{ur}{}
\end{tikzcd}


Use the sep key. The input can also be simplified.

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

\begin{document}

\begin{tikzcd}[sep=huge]
A \arrow[r,shift left,"f"] \arrow[d,shift left,"g"] &
B \arrow[l,shift left,"h"] \arrow[dl,shift left] \\
C \arrow[u,shift left,"r"] \arrow[ur,shift left]
\end{tikzcd}

\end{document}


I added my MWE using the xy package....but with the same tips of @egreg :-) :-). The code is more hard than tikz-cd. Using the parameter <.5ex> you can increase or decrease the distance of the double arrows, and with R=1.5cm@C=2cm you can change the lenght of the row and the column.

\documentclass[a4paper,12pt]{article}
\usepackage[cmtip,all]{xy}
\labelmargin-{1pt}
\begin{document}
\xymatrix@R=1.5cm@C=2cm{
A \ar@<.5ex>[r]^{f} \ar@<.5ex>[d]^{g}& \ar@<.5ex>[l]^{h} B\ar@<.5ex>[dl]\\
C \ar@<.5ex>[u]^{r} \ar@<.5ex>[ur] &
}
\end{document}