**请帮我构建图表 bpmn **
请帮我构建图表bpmn
%%% tikz-bpmn.sty %%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tikz-bpmn}[2015/01/1 BPMN diagrams using the
Tikz library]
\RequirePackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{arrows}
\tikzstyle{every task} = []
\tikzstyle{every servicetask} = []
\tikzstyle{every gateway} = []
\tikzstyle{every sequence} = []
\tikzstyle{every message} = []
\tikzstyle{every association} = []
\tikzstyle{every event} = []
\tikzstyle{every timer} = []
\tikzstyle{task} = [minimum height=2em,rectangle,fill=white,thick,draw,rounded corners,align=center, every task, font=\footnotesize]
\tikzstyle{gateway} = [draw,minimum width=1.7em, minimum height=1.7em,every gateway,fill=white]
\tikzstyle{sequence} = [->,>=triangle 45,every sequence,thick]
\tikzstyle{message} = [o->,dashed,>=open triangle 45,every sequence]
\tikzstyle{association} = [->,densely dotted,>=angle 45,every association]
\tikzstyle{event} = [circle,minimum width=1.5em, minimum height=1.5em,draw,every event,thick,fill=white]
\tikzstyle{timer} = [circle,double,minimum width=1.5em, minimum height=1.5em,draw,every timer]
\tikzstyle{end event} = [service,event,ultra thick,every event]
\tikzstyle{intermediate event} = [event,double,every event]
\tikzstyle{end event} = [event,line width=2.5pt,fill=white]
\tikzstyle{pool} = [draw, rectangle, fill=black!8]
\tikzstyle{servicetask} = [minimum height=2em,rectangle,fill=white,thick,draw,rounded corners,align=center, every task, font=\footnotesize]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% P A R A L L E L G A T E W A Y %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pgfdeclareshape{parallelgateway}{
\inheritsavedanchors[from=diamond] % this is nearly a rectangle
\inheritanchorborder[from=diamond]
\inheritanchor[from=diamond]{center}
\inheritanchor[from=diamond]{north}
\inheritanchor[from=diamond]{south}
\inheritanchor[from=diamond]{west}
\inheritanchor[from=diamond]{east}
\inheritanchor[from=diamond]{north east}
\inheritanchor[from=diamond]{south east}
\inheritanchor[from=diamond]{north west}
\inheritanchor[from=diamond]{south west}
\backgroundpath{
\pgf@process{\outernortheast}%
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
\pgfmathsetlength{\pgf@xa}{\pgfkeysvalueof{/pgf/outer xsep}}%
\pgfmathsetlength{\pgf@ya}{\pgfkeysvalueof{/pgf/outer ysep}}%
\advance\pgf@xc by-1.414213\pgf@xa%
\advance\pgf@yc by-1.414213\pgf@ya%
\pgfpathmoveto{\pgfqpoint{\pgf@xc}{0pt}}%
\pgfpathlineto{\pgfqpoint{0pt}{\pgf@yc}}%
\pgfpathlineto{\pgfqpoint{-\pgf@xc}{0pt}}%
\pgfpathlineto{\pgfqpoint{0pt}{-\pgf@yc}}%
\pgfpathclose\pgfusepath{stroke}
% add
\advance\pgf@xc by -.5\pgf@xc%
\advance\pgf@yc by -.5\pgf@yc%
\pgfsetlinewidth{2pt}
\pgfpathmoveto{\pgfqpoint{\pgf@xc}{0pt}}%
\pgfpathlineto{\pgfqpoint{-\pgf@xc}{0pt}}%
\pgfpathmoveto{\pgfqpoint{0pt}{\pgf@yc}}%
\pgfpathlineto{\pgfqpoint{0pt}{-\pgf@yc}}%
}
}
%%%% main.tex %%%
\begin{tikzpicture}[]
\matrix [pool] (pl1)
{
\node[event,node distance=1em,label={[text width=3em]below:\footnotesize{Buscar\newline norma}}] (start) {};
\node[task,node distance=2em,right=of start](pg1){Desplegar \\pantalla};
\draw[sequence,->] (start) -- (pg1);
\node[parallelgateway,gateway, node distance=2em, right=of pg1] (gw1) {};
\draw[sequence,->] (pg1) -- (gw1);
\node[task,node distance=2em,above right=of gw1] (imp) { Desplegar \\Buscador };
\node[task,node distance=2em,right=of imp] (imp2) { Mostrar \\norma };
\draw[sequence,->] (gw1) |- (imp) node [above,pos=0.5] {};
\node[parallelgateway,gateway, node distance=4.3em, right=of imp2] (gw3) {};
\draw[sequence,->] (imp) -- (imp2);
\draw[sequence,->] (imp2) -- (gw3) node [above,pos=0.5, text width=4em] {\footnotesize{Volver \newline a Buscar}};
\draw[sequence,<-] (gw1) -| (gw3) node [below,pos=0.25] {Si};
\node[end event,node distance=3.5em, right= of gw3] (end) {};
\draw[sequence,->,node distance=0.2em] (gw3) -- (end) node [below,pos=0.4,text width=3em] {\footnotesize{Norma \newline encontrada}} node [above,pos=0.5] {No};\\
};
\end{tikzpicture}