[Tex/LaTex] Tikz matrix arrows alignment

horizontal alignmenttikz-matrixtikz-pgf

I have a problem that I cannot solve for myself.

The following code produces the following image, which I do not really like.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix, arrows}
\usepackage{amssymb}

\begin{document}

\begin{center}
\begin{tikzpicture}
  \matrix (m) [matrix of math nodes, row sep=0em, column sep=4em, minimum width=2em]
  { 0 & \mathbb{Z}\times\mathbb{Z} & \mathbb{Z}^2          & 0 \\
      & (\alpha_0, \alpha_1)       & (-\alpha_0, \alpha_1) &   \\
      &                            & \beta_{01}            & 0 \\ };
\path[>=stealth, ->]
    (m-1-1.east|-m-1-2) edge node [above] {\scriptsize$d_{-1}$} (m-1-2.west|-m-1-2)
    (m-1-2.east|-m-1-2) edge node [above] {\scriptsize$d_{ 0}$} (m-1-3.west|-m-1-2)
    (m-1-3.east|-m-1-2) edge node [above] {\scriptsize$d_{ 1}$} (m-1-4.west|-m-1-2);
\path[>=stealth, |->]
    (m-2-2.east|-m-2-2) edge (m-2-3.west|-m-2-2);
\path[>=stealth, |->]
    (m-3-3.east|-m-3-3) edge (m-3-4.west|-m-3-3);
\end{tikzpicture}
\end{center}


\end{document}

Old

What I want to achieve is having arrows aligned, more or less as in the following image

New

Does someone have some hint?
I prefer to use tikz, but any other package can be welcome.

Best Answer

Unless you use TiKZ for some other reason. There is no need to use it to obtain your diagram.

With help from "The Comprehensive LaTeX symbols list" (for \xrightarrow and \xmapsto) and egreg's answer to Make box with minimum width (in math mode) (for \minwidthbox) is possible to write:

\documentclass{article}
\usepackage{amsmath,amssymb,empheq,mathtools}

\DeclareRobustCommand{\minwidthbox}[2]{%
  \ifmmode
    \expandafter\mathmakebox
  \else
    \expandafter\makebox
  \fi
  [\ifdim#2<\width\width\else#2\fi]{#1}%
}

\begin{document}

\[
\begin{array}{ccccccc}
0 & \xrightarrow{\minwidthbox{d_{-1}}{3em}}    
   & \mathbb{Z}\times\mathbb{Z}
   & \xrightarrow{\minwidthbox{d_0}{3em}} 
   & \mathbb{Z}^2 
   & \xrightarrow{\minwidthbox{d_1}{3em}} 
   & 0 \\
   &  
   & (\alpha_0,\alpha_1) 
   & \xmapsto{\minwidthbox{}{3em}} 
   & (-\alpha_0,\alpha_1) 
   & 
   & \\
   & 
   & 
   & 
   & \beta_{01} & \xmapsto{\minwidthbox{}{3em}}  & 0 
\end{array}
\]
\end{document}

which produces

enter image description here