[Tex/LaTex] How to draw sequence of shapes with arrows and text

diagramspstricksshapestikz-pgf

I'm trying to draw something of the sort
enter image description here

with a square figure in the far left, and a rectangular figure cut into 4 slices on the right-hand side. Above the arrows and below the figures reads "text". The middle portion consists of $\Omega_i$'s, with arrows coming from $\Omega_1$, $\Omega_j$, and $\Omega_k$.

How would one draw such a figure?

Best Answer

You can use TikZ:

enter image description here

The code:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,calc,matrix,shapes.multipart}

\begin{document}

\begin{tikzpicture}[
node distance=1cm and 1.5cm,
arrow/.style={
  ->,
  >=latex,
  shorten >= 3pt,
  shorten <= 3pt,
}
]
\node[draw,minimum size=3cm,label={270:text}]
  (rect) {};
\coordinate[right=of rect] (aux);
\matrix[matrix of math nodes]
  at ([xshift=8pt]aux)
  (mat)
  {
    \Omega_i \\
    \vdots \\
    \Omega_j \\
    \vdots \\
    \Omega_k \\
  };
\node[draw,rectangle split,rectangle split horizontal=true,right=1.5cm of mat,minimum size=1cm,label={270:text}] 
  (rectiv) {};
\node[circle,draw,right=of rectiv,minimum size=1cm,label={270:text}]
  (circ)  {};
\draw[arrow]
  (rect) -- node[above] {text} (aux);        
\foreach \Valor/\Texto/\Pos in {1/texti/above,3/textj/above,5/textk/below}
{
\draw[arrow]
  (mat-\Valor-1.east) -- node[pos=0.3,\Pos,sloped] {\Texto} (rectiv.west);        
}
\draw[arrow]
  (rectiv) -- node[above] {text} (circ);        
\end{tikzpicture}

\end{document}