[Tex/LaTex] Double head and hook arrows of length x

arrows

I am creating several commutative diagrams with diagonal arrows, and I'm so close to the look I want. My last step is to be able to create double head arrows and hook arrows of length x. I found an answer to the double head arrow problem here: Is it possible to have a two head arrow as a decorator?. The same solution doesn't work for the hook arrow, though, because it has 'decorations' on both ends.

It looks like lots of people have similar problems, but I haven't been able to find a solution other than creating the arrow in tikz, which doesn't seem terribly dynamic. Thanks for any help.

As per request, my MWE is

\documentclass{article}
\usepackage{mathtools}
\usepackage{multirow}
\usepackage{arrows}
\usepackage{rotating}
\def\Overrightarrow#1{\mathrlap{\overrightarrow{\phantom{#1\mkern11mu}}}%
  \overrightarrow{#1}}   

\begin{document}

$$\begin{array}{lllllll}
F_1 & \multicolumn{3}{c}{\xrightarrow{\mathmakebox[1cm]{\phi_1}}} & F_0 & \overset{\phi_0} \twoheadrightarrow & M \\
& \begin{turn}{-45}$\Overrightarrow{\mathmakebox[.7cm]{}}$\end{turn} & &  \begin{turn}{45}$\hookrightarrow$\end{turn} & & & \\
& & \ker(\phi_0) & & & & 
 \end{array}$$

\end{document}

Which gives me

enter image description here

As you can see, the double headed angled arrow looks adequate, save for the thickness that I think I can fix, but I want to make the hook arrow look similar.

Best Answer

The idea of using TikZ is good; but better yet is to use tikz-cd:

\documentclass[12pt]{article}
\usepackage{tikz-cd}

\begin{document}
\[
\begin{tikzcd}
 F_1 \arrow{rr}{\phi_1} \arrow[two heads]{dr} && F_0 \arrow[two heads]{r}{\phi_0} & M \\
     & \ker(\phi_0) \arrow[hookrightarrow]{ur}
\end{tikzcd}
\]
\end{document}

enter image description here

Related Question