I generated a simple block diagram using the following code:
\documentclass[12pt,letterpaper]{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\tikzstyle{block} = [draw, rectangle,
minimum height=3em, minimum width=5em, align=left]
\tikzstyle{pinstyle} = [pin edge={to-,thin,black}]
% The block diagram code is probably more verbose than necessary
\begin{tikzpicture}[auto,>=latex']
% We start by placing the blocks
\node [block, name=message-source] {message \\ source};
\node [block, name=encoder, right of=message-source, node distance=3.5cm] {encoder};
\node [block, name=channel, right of=encoder, node distance=3.5cm, pin={[pinstyle]above:\scriptsize noise},
node distance=3.5cm] {channel};
\node [block, name=decoder, right of=channel, node distance=3.5cm] {decoder};
\node [block, name=user, right of=decoder, node distance=3.5cm] {user};
% Once the nodes are placed, connecting them is easy.
\draw [->] (message-source) -- node[name=message, align=center] {\scriptsize message} (encoder);
\draw [->] (encoder) -- node[name=codeword, align=center] {\scriptsize codeword} (channel);
\draw [->] (channel) -- node[name=receivedword, align=center, text width=1.75cm] {{\scriptsize received word}} (decoder);
\draw [->] (decoder) -- node[name=decodedmsg, align=center, text width=1.75cm] {{\scriptsize decoded message}} (user);
\end{tikzpicture}
\end{document}
I want to draw your attention to how "received word" and "decoded message" are split with "too much line space" for the font size (scriptsize).
A fix I tried (with no success) is to limit the height of the text box (similar to how I limit the width of the box), with the text height keyword, but this does not work.
An ugly solution I can think of is to manually split the text using \\, but also supply a spacing parameter like \\[0.25em], (see Manual/automatic line breaks and text alignment in TikZ nodes) but then I'd have to tweak that for each split...onerous!
What can I do to fix this issue?

