Problem with TikZ and vertical alignment of text inside nodes

This situation is described in Section 5.1 Styling the Nodes of the pgfmanual; one possible solution is to explicitly declare height and depth for the nodes:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning,shapes.geometric}

\begin{document}

\begin{tikzpicture}[%
  ->,
  thick, shorten >=1pt,
  >=latex,
  node distance=7mm,
  noname/.style={%
    rectangle, rounded corners=9pt,
    text height=1.5ex,
    text depth=.25ex,
    text width=11em,
    text centered,
    minimum height=3em,
    draw=black!50,fill=black!20
  }
]

\node[noname] (configload) {Loads config};
\node[noname] (varsdec) [right=of configload] {New variables};

\path (configload) edge node {} (varsdec);

\end{tikzpicture}

\end{document}

Here I add an image showing that now the baseline of the text is aligned:

The red line showing the alignment was obtained by adding

\draw[help lines,red,<->] let \p1 = (configload.base), \p2 = (varsdec.base) in (-1.5,\y1) -- (6.5,\y1)
(-1.5,\y2) -- (6.5,\y2);

to the example code above.


You can solve this by adding anchor=mid to the node's definition.

\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{arrows,calc,positioning,shapes.geometric}

\begin{document}
\begin{tikzpicture}[%
  ->,
  thick, shorten >=1pt,
  >=latex,
  node distance=7mm,
  noname/.style={%
    rectangle, rounded corners=9pt,
    text width=11em,
    text centered,
    minimum height=3em,
    draw=black!50,fill=black!20
  }
]

\node[noname,anchor=mid] (configload) {Loads config};
\node[noname,anchor=mid] (varsdec) [right=of configload] {New variables};

\draw[help lines,red,<->] ($(configload.base)-(2,0)$)--($(varsdec.base)+(2,0)$);
\path (configload) edge node {} (varsdec);

\end{tikzpicture}    
\end{document} 

enter image description here


add some phantom text with the same height as the other one. For example

\node[noname,anchor=mid] (configload) {Loads config};
\node[noname,anchor=mid] (varsdec) [right=of configload] {\vphantom{g} New variables};