Io farei qualcosa di diverso perché, come dicevo, non mi piace la freccia in secondo piano.
La soluzione è una versione 2.0 di quanto proposto in Connecting nodes with brace in TikZ, un tipo di diagramma che sarà sicuramente inserito nella prossima versione di smartdiagram.
Codice:`
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,shapes.arrows,decorations.pathreplacing,shadows}
% list of keys
\newif\ifbraceon
\pgfkeys{/tikz/.cd,
arrow color/.store in=\arrowcol,
arrow color=green!80!blue,
items distance/.store in=\itemdistance,
items distance=3cm,
border color/.store in=\bordercol,
border color=green!80!black,
fill color/.store in=\fillcol,
fill color=green!80!lime!20,
brace color/.store in=\bracecol,
brace color=green!80!blue,
brace distance/.store in=\bracedistance,
brace distance=5pt,
display brace/.is if=braceon,
display brace=true
}
% list of styles
\tikzset{my arrow/.style={
single arrow, draw, minimum height=0.5cm,
minimum width=0.05cm,
single arrow head extend=0.1cm
},
module/.style={
rounded corners,
draw=\bordercol,
fill=\fillcol,
minimum height=1cm,
minimum width=1.5cm,
text width=1.45cm,
align=center,
general shadow={shadow yshift=-.4ex,opacity=.4, fill=black!50, every shadow},
},
brace/.style={
decoration={brace,raise=\bracedistance,amplitude=0.75em},
decorate,
draw=\bracecol,
very thick,
}
}
% arrows between two modules
\newcommand{\guparrow}{
node[my arrow,top color=\arrowcol!10,bottom color=\arrowcol,midway] {}
}
% bracediagram:
% #1 options, optional argument
% #2 list of items,
% #3 brace comment
\newcommand{\braceddiagram}[3][]{
\begin{tikzpicture}[#1]% here we can pass the options to customize the colors
% counting all the items to be displayed
\foreach \items [count=\xi] in {#2}{\global\let\maxnumitem\xi}
\foreach \items [count=\xi] in {#2}{%
\path let
\n1={0+\xi*\itemdistance} in
node[module] (module\xi) at +(\n1,0) {\items};
}
\foreach \items [count=\xi] in {#2}{%
\pgfmathtruncatemacro{\xj}{mod(\xi, \maxnumitem) + 1)}
\ifnum\xi<\maxnumitem % to not have the path from the last module
% directed to the first one
\path (module\xj) -- (module\xi) \guparrow;
\fi
}
\ifbraceon
% at the end we draw the brace with the comment
\draw[brace] (module1.north west)--(module\maxnumitem.north east)
node[above=3*\bracedistance, midway]{#3};
\fi
\end{tikzpicture}
}
\begin{document}
\braceddiagram[display brace=false]{%
{Passo a\\ Passo b\\ Passo c\\ Passo d}, Continua, Fine}{}
\vspace{1cm}
\tikzset{my style for the diagram/.style={
brace distance=6pt,
brace color=violet!60!magenta,
fill color=violet!60!magenta!30,
border color=violet!60!magenta,
arrow color=violet!60!magenta,
}
}
\braceddiagram[my style for the diagram]{Bla, Bla, Bla, Bla}{Some other comment}
\end{document}
` Il risultato:
[attachment=973]ScreenShot2014-04-05at9.40.18AM.png[/attachment]
Ciao
Claudio