\setlength\unitlength{1mm}
\begin{picture}(142,96)
  \sffamily\small
% Background coloring commands.  These use graphics \specials, but do not
% print anything else, thus plain DVI previewers can simply ignore them.
  \setlength\fboxsep{0pt}
  \put(0,0){\fcolorbox{black}{lightgray}{\phantom{\rule{142mm}{96mm}}}}
  \multiput(9,3)(0,18){5}{\colorbox{darkgray}{\phantom{\rule{130mm}{12mm}}}}
  \multiput(6,6)(0,18){5}{\colorbox{white}{\phantom{\rule{130mm}{12mm}}}}
% Textboxes
  \put(6,6){\framebox(130,12){\parbox{120mm}{{kernel}\hfill\texttt{(libI, gmp, cln, piologie, mm)}}}}
  \put(6,24){\framebox(130,12){\parbox{120mm}{{interfaces}\hfill\texttt{(bigint, gmm)}}}}
  \put(6,42){\framebox(130,12){\parbox{120mm}{{simple classes}\hfill\texttt{(bigrational, bigfloat, \dots)}}}}
  \put(6,60){\framebox(130,12){\parbox{120mm}{{parameterized classes}\hfill\texttt{(vector, matrix, power series, \dots)}}}}
  \put(6,78){\framebox(130,12){\parbox{120mm}{{user interfaces}\hfill\texttt{(lchelp, lc)}}}}
% Double-headed arrows
  \multiput(71,21)(0,18){4}{\vector(0,1){3}}
  \multiput(71,21)(0,18){4}{\vector(0,-1){3}}
% Dashed lines (even without epic)
  \multiput(53,6)(0,3){4}{\line(0,1){.75}}
  \multiput(53,18)(0,-3){4}{\line(0,-1){.75}}
  \multiput(53,24)(0,3){4}{\line(0,1){.75}}
  \multiput(53,36)(0,-3){4}{\line(0,-1){.75}}
  \multiput(53,42)(0,3){4}{\line(0,1){.75}}
  \multiput(53,54)(0,-3){4}{\line(0,-1){.75}}
  \multiput(53,60)(0,3){4}{\line(0,1){.75}}
  \multiput(53,72)(0,-3){4}{\line(0,-1){.75}}
  \multiput(53,78)(0,3){4}{\line(0,1){.75}}
  \multiput(53,90)(0,-3){4}{\line(0,-1){.75}}
\end{picture}
