I would like to know how to make this image better, maybe with a more "compact" code.
Also I would like to place the label IMT to better fit the arrow.
Is it possible to fill the axis between pompa and turbina with a shade?
Lastly I would like that the arrows between boxes ends before touching the boxes.
Thank you, and sorry for my English.
This is my code:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,intersections,shapes.geometric,fit,arrows,decorations.pathmorphing,decorations.pathreplacing,decorations.shapes,decorations.markings}
\begin{document}
\begin{tikzpicture}[>=latex',auto,inner sep=2mm,node distance=2cm and 3cm]
%set styles for the axis between turbine and pump and for the boxes
\tikzset{asse/.style = {thick, double,double distance = 6pt}}
\tikzset{box1/.style={draw,minimum width=2.5cm,rectangle,thick}}
% draw nodes
\node[box1] (setA) {\textit{SET A}};
\node[box1] (evaporatore) [below=of setA] {\textit{Evaporatore}};
\node[draw,trapezium,shape border rotate=90,inner sep=1pt,minimum width=2.5cm,trapezium stretches=true,trapezium angle=80] (turbina) [on grid,below right= of evaporatore] {\textit{Turbina}};
\node[box1] (sem) [right=of turbina] {\textit{SEM}};
\node[box1] (condensatore) [on grid,below left=of turbina] {\textit{Condensatore}};
\node[draw,circle] (pompa) [on grid,below left= of evaporatore] {\textit{Pompa}};
\node[box1] (setB) [below=of condensatore] {\textit{SET B}};
%draw axis between turbine and pump
\node (imt) [draw, dashed,inner sep=3pt, rectangle, fit = (evaporatore) (turbina) (condensatore)(pompa)] {};
%connecting evaporatore-turbina-condensatore-pompa (with arrows in the middle of the path)
\begin{scope}[>=triangle 60]
\draw [decoration={markings, mark=at position 0.6 with {\arrow{>}}},postaction={decorate}] (evaporatore) -| (turbina.top right corner);
\draw [decoration={markings, mark=at position 0.6 with {\arrow{>}}},postaction={decorate}] (turbina.bottom left corner) |- (condensatore);
\draw [decoration={markings, mark=at position 0.4 with {\arrow{>}}},postaction={decorate}] (condensatore) -| (pompa);
\draw [decoration={markings, mark=at position 0.6 with {\arrow{>}}},postaction={decorate}] (pompa) |- (evaporatore);
\end{scope}
%draw the IMT label
\node[] (labelimt) [above right=0.5cm and 0.5cm of imt] {\textit{IMT}};
\draw[->,decorate,decoration={bent,amplitude=-2,aspect=0.3}] (labelimt) -- (imt);
%draw the "asse"
\draw[asse](pompa) to node[]{asse} (turbina);
%draw arrows
\begin{scope}[>=stealth']
\path[->] (setA) edge node[] {$q_A$} (evaporatore);
\path[->] (turbina) edge node[] {$l$} (sem);
\path[->] (condensatore) edge node[] {$q_B$} (setB);
\end{scope}
\end{tikzpicture}
\end{document}


{}button in the interface. – Jake May 01 '12 at 11:32standaloneclass instead ofarticlefor singletikzpictures. This way the resulting file holds only the picture. – Martin Scharrer May 01 '12 at 11:35\documentclass[border=5mm]{standalone}and will have some more 'fresh air' around the figure. – Ignasi May 02 '12 at 08:28