summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/schemabloc/schemabloc.sty
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/schemabloc/schemabloc.sty')
-rw-r--r--graphics/pgf/contrib/schemabloc/schemabloc.sty331
1 files changed, 199 insertions, 132 deletions
diff --git a/graphics/pgf/contrib/schemabloc/schemabloc.sty b/graphics/pgf/contrib/schemabloc/schemabloc.sty
index 73204561e8..9531438789 100644
--- a/graphics/pgf/contrib/schemabloc/schemabloc.sty
+++ b/graphics/pgf/contrib/schemabloc/schemabloc.sty
@@ -1,82 +1,107 @@
+% !TeX encoding = utf8
+% !TeX spellcheck = fr
\NeedsTeXFormat{LaTeX2e}[1999/01/01]
-\ProvidesPackage{schemabloc}[2006/12/29]
+\ProvidesPackage{schemabloc}[version 1.9]
\RequirePackage{ifthen}
\RequirePackage{tikz}
-\usetikzlibrary{shapes,arrows}
+\usetikzlibrary{shapes,arrows,positioning,fit}
-%macros dessin des schéma-blocs mise à jour 6 janvier 2009
-% version 1.5
+%macros dessin des schéma-blocs mise à jour 11 mars 20013
+% version 1.6
%initialisation des styles
-\tikzstyle{sbStyleLien}=[->,>=latex',]
-\tikzstyle{sbStyleBloc}=[draw, rectangle,]
-\tikzstyle{sbStyleBlocPatate}=[]
-\tikzstyle{sbStyleSum}=[draw, circle,]%style Sum CC
+\tikzset{blocstyle/.style={draw, rectangle,
+ minimum height=3em, minimum width=3em,right}
+ }
+
+\tikzset{sbStyleLien/.style={->,>=latex'},
+sbStyleBloc/.style={draw, rectangle},
+sbStyleBlocPatate/.style={},
+sbStyleSum/.style={}
+}
+%\tikzstyle{sbStyleLien}=[,]
+%\tikzstyle{sbStyleBloc}=[draw, rectangle,]
+%\tikzstyle{sbStyleBlocPatate}=[]
+%\tikzstyle{sbStyleSum}=[ ]%style Sum CC
% Commandes de changement de style
\newcommand{\sbStyleLienDefaut}{
-\tikzstyle{sbStyleLien}=[->,>=latex']
+%\tikzstyle{sbStyleLien}=[->,>=latex']
+\tikzset{sbStyleLien/.style={->,>=latex'}}
}
-
\newcommand{\sbStyleLien}[1]{
-\tikzstyle{sbStyleLien}+=[#1]
+\tikzset{sbStyleLien/.style={->,>=latex',#1}}
+%\tikzstyle{sbStyleLien}+=[#1]
}
\newcommand{\sbStyleBloc}[1]{
-\tikzstyle{sbStyleBloc}+=[#1]
+\tikzset{sbStyleBloc/.style={#1}}
+%\tikzstyle{sbStyleBloc}+=[#1]
}
\newcommand{\sbStyleBlocDefaut}{
-\tikzstyle{sbStyleBloc}=[draw, rectangle,]
+\tikzset{sbStyleBloc/.style={draw, rectangle}}
+%\tikzstyle{sbStyleBloc}=[draw, rectangle,]
}
\newcommand{\sbStyleSum}[1]{
-\tikzstyle{sbStyleSum}+=[#1]
+\tikzset{sbStyleSum/.style={#1}}
+%\tikzstyle{sbStyleSum}+=[#1]
}
\newcommand{\sbStyleSumDefaut}{
-\tikzstyle{sbStyleBloc}=[draw, circle,]
+\tikzstyle{sbStyleSum}=[draw, circle,]
}%style Sum default CC
-% Commandes d'entrée et sortie
-\newcommand{\sbEntree}[1]{
- \node [coordinate, name=#1] {};
-\sbDecaleNoeudx[0]{#1}{#1}
+% Commandes d'entrée et sortie
+\newcommand{\sbEntree}[2][0,0]{
+ \node [coordinate, name=#2] at (#1) {};
+\sbDecaleNoeudx[0]{#2}{#2}
+}
+
+\newcommand{\sbEntrees}[2][0,0]{
+ \node [coordinate, name=#2] at(#1) {};
+\sbDecaleNoeudx[0]{#2}{#2}
}
\newcommand{\sbSortie}[3][2]{
- \node [coordinate, right of=#3droite, node distance=#1em, minimum size=0em,right] (#2) {};
+ \node [coordinate, right of=#3droite, node distance=#1em,%
+ minimum size=0em,right] (#2) {};
+}
+
+\newcommand{\sbSortieL}[3][2]{
+ \node [coordinate, right of=#3droite, node distance=#1em,%
+ minimum size=0em,right] (#2) {};
+ \sbRelier{#3}{#2}
}
%Commandes de Bloc
\newcommand{\sbBloc}[4][2]{
-\node [draw, rectangle,
- minimum height=3em, minimum width=3em, right of = #4droite,
+\node [blocstyle, right of = #4droite,
node distance=#1em,sbStyleBloc,right] (#2) {#3};
-\node (#2droite) at (#2.east){};
-\node (BlocdeFindroite) at (#2.east){};
+\coordinate (#2droite) at (#2.east);
+%\coordinate (BlocdeFindroite) at (#2.east);
}
\newcommand{\sbBlocPatate}[4][2]{
\node [draw, cloud, cloud puffs=5, draw,
minimum height=3em, minimum width=5em, right of = #4droite,
node distance=#1em,sbStyleBlocPatate,right] (#2) {#3};
-\node (#2droite) at (#2.east){};
+\coordinate (#2droite) at (#2.east);
}
\newcommand{\sbBlocr}[4][2]{
-\node [
- minimum height=3em, minimum width=3em, left of = #4gauche,
+\node [blocstyle, left of = #4gauche,
node distance=#1em, sbStyleBloc,left] (#2) {#3};
-\node (#2gauche) at (#2.west){};
+\coordinate (#2gauche) at (#2.west);
}
\newcommand{\sbBlocL}[4][2]{
-\node [draw, rectangle,
- minimum height=3em, minimum width=3em, right of = #4droite,node distance=#1em,sbStyleBloc,right] (#2) {#3};
-\node (#2droite) at (#2.east){};
-\node (BlocdeFindroite) at (#2.east){};
- \draw [sbStyleLien,auto] (#4) -- node[name=#4-#2] {} (#2);
+\node [blocstyle, right of = #4droite,node distance=#1em%
+,sbStyleBloc,right] (#2) {#3};
+\coordinate (#2droite) at (#2.east);
+\coordinate (BlocdeFindroite) at (#2.east);
+ \draw [sbStyleLien,auto] (#4) -- (#2) node[midway](#4-#2){};
}
\newcommand{\sbBlocrL}[4][2]{
@@ -85,32 +110,35 @@ node distance=#1em, sbStyleBloc,left] (#2) {#3};
node distance=#1em, sbStyleBloc,left] (#2) {#3};
\node (#2gauche) at (#2.west){};
\node (BlocdeFingauche) at (#2.west){};
- \draw [sbStyleLien,auto] (#4) -- node[name=#4-#2] {} (#2);
+ \draw [sbStyleLien,auto] (#4) -- (#2)node[name=#4-#2] {};
}
\newcommand{\sbBlocseul}[4][1.5]{
\sbEntree{E1}
-\sbBloc[#1]{B1}{#3}{E1}
-\sbSortie[#1]{S1}{B1}
-\sbRelier{E1}{B1}{#2}
-\sbRelier{B1}{S1}{#4}
+\sbBloc[#1]{Blocseul}{#3}{E1}
+\sbSortie[#1]{S1}{Blocseul}
+\sbRelier[#2]{E1}{Blocseul}
+\sbRelier[#4]{Blocseul}{S1}
}
%\Commande de lien
\newcommand{\sbRelier}[3][]{
- \draw [sbStyleLien,auto] (#2) -- node[name=#2-#3] {#1} (#3);
+ \draw [sbStyleLien,auto] (#2) --
+ (#3)node[pos=0.5,name=#2-#3]{#1}coordinate[pos=0.25,name=#2-#3-1]coordinate[pos=0.75,name=#2-#3-2];
}
\newcommand{\sbRelieryx}[2]{
-\draw [sbStyleLien] (#1.south) |- (#2) ;
+\draw [sbStyleLien] (#1.south) -- (#1.south |-#2) --(#2) ;
}
+
\newcommand{\sbRelierxy}[3][]{
-\draw [sbStyleLien] (#2) -| node[name=#2-#3,near end,right] {#1} (#3) ;
+\draw [sbStyleLien] (#2) -| (#3) coordinate[name=#2-#3-1,pos=0.25]
+ node[name=#2-#3,near end,right] {#1} ;
}
\newcommand{\sbRenvoi}[4][4]{
-\node [below of=#2, node distance=#1em, minimum size=0em](retour#2) {};
-\draw [sbStyleLien] (#2.south)--(retour#2.south) -| node[name=#2-#3,near end,right] {#4} (#3) ;
+\node [below =#1em of #2, minimum size=0em](retour#2) {};
+\draw [sbStyleLien] (#2.south)--(retour#2.south) -| (#3)node[name=#2-#3,near end,right] {#4} ;
}
\newcommand{\sbNomLien}[3][0.4]{
@@ -120,20 +148,53 @@ node distance=#1em, sbStyleBloc,left] (#2) {#3};
\newcommand*{\sbCompSum}{\@ifstar\sbCompSumNorm\sbCompSumUsuel}
+\newcommand*{\sbCompSumr}{\@ifstar\sbCompSumNormr\sbCompSumUsuelr}
+
+
\newcommand{\sbCompSumUsuel}[7][4]{
- \node [draw, circle,minimum size=2em, right of=#3,node distance=#1em] (#2) {};
- \node [draw, cross out,minimum size=1.414em,right of=#3,node distance=#1em] {};
- \node [above of=#2,node distance=0.6em] {$#4$};
- \node [below of=#2,node distance=0.6em] {$#5$};
- \node [left of=#2,node distance=0.6em] {$#6$};
- \node [right of=#2,node distance=0.6em] {$#7$};
+ \node [draw, circle,minimum size=2em, right of=#3droite%
+,sbStyleSum,node distance=#1em] (#2) {};
+ \node [draw,sbStyleSum, cross out,minimum size=1.414em,
+ right of=#3droite,node distance=#1em] {};
+ \node [above of=#2,node distance=0.6em,sbStyleSum,inner sep=0] {$#4$};
+ \node [below of=#2,node distance=0.6em,sbStyleSum,inner sep=0] {$#5$};
+ \node [left of=#2,node distance=0.6em,sbStyleSum,inner sep=0] {$#6$};
+ \node [right of=#2,node distance=0.6em,sbStyleSum,inner sep=0] {$#7$};
+\node (#2droite) at (#2.east){};
+\node (#2gauche) at (#2.west){};
+}
+
+
+
+\newcommand{\sbCompSumUsuelr}[7][4]{
+ \node [draw, circle,minimum size=2em, left of=#3gauche%
+,sbStyleSum,node distance=#1em] (#2) {};
+ \node [draw,sbStyleSum, cross out,minimum size=1.414em,%
+left of=#3gauche,node distance=#1em] {};
+ \node [above of=#2,node distance=0.6em,sbStyleSum,inner sep=0] {$#4$};
+ \node [below of=#2,node distance=0.6em,sbStyleSum,inner sep=0] {$#5$};
+ \node [left of=#2,node distance=0.6em,sbStyleSum,inner sep=0] {$#6$};
+ \node [right of=#2,node distance=0.6em,sbStyleSum,inner sep=0] {$#7$};
\node (#2droite) at (#2.east){};
\node (#2gauche) at (#2.west){};
}
\newcommand{\sbCompSumNorm}[7][4]{
- \node [draw, circle,minimum size=1.5em, right of=#3,node distance=#1em,
-label=85:$#4$,label=-85:$#5$,label=175:$#6$,label=5:$#7$,sbStyleSum] (#2) {};
+ \node [draw, circle,minimum size=1.5em, right of=#3,sbStyleSum,node distance=#1em,,sbStyleSum] (#2) {};
+ \node [ fit=(#2),inner sep=0.5em] (compext) {};
+\node at( compext.75){$#4$};
+\node at( compext.-75){$#5$};
+\node at( compext.165){$#6$};
+\node at( compext.15){$#7$};
+\node (#2droite) at (#2.east){};
+\node (#2gauche) at (#2.west){};
+}
+
+\newcommand{\sbCompSumNormr}[7][4]{
+ \node [draw, circle,minimum size=1.5em, left of=#3%
+,sbStyleSum,node distance=#1em,,sbStyleSum] (#2) {};
+ \node [ fit=(#2),inner sep=0.5em] (compext) {};
+\node at( compext.75){$#4$};\node at( compext.-75){$#5$};\node at( compext.165){$#6$};\node at( compext.15){$#7$};
\node (#2droite) at (#2.east){};
\node (#2gauche) at (#2.west){};
}
@@ -153,16 +214,51 @@ label=175:$#4$,label=-85:$#5$,label=85:$#6$,sbStyleSum] (#2) {};
\sbCompSum*[#1]{#2}{#3}{}{-}{+}{}
}
+\newcommand*{\sbCompr}{\@ifstar\sbCompNormr\sbCompUsuelr}
+\newcommand{\sbCompUsuelr}[3][4]{
+\sbCompSumr[#1]{#2}{#3}{}{-}{}{+}
+}
+\newcommand{\sbCompNormr}[3][4]{
+\sbCompSumr*[#1]{#2}{#3}{}{-}{}{+}
+}
+
+\newcommand*{\sbCompL}{\@ifstar\sbCompNormL\sbCompUsuelL}
+\newcommand{\sbCompUsuelL}[3][4]{
+\sbCompSum[#1]{#2}{#3}{}{-}{+}{}
+\sbRelier[]{#3}{#2}
+}
+\newcommand{\sbCompNormL}[3][4]{
+\sbCompSum*[#1]{#2}{#3}{}{-}{+}{}
+\sbRelier[]{#3}{#2}
+}
+
+\newcommand*{\sbCompLr}{\@ifstar\sbCompNormLr\sbCompUsuelLr}
+\newcommand{\sbCompUsuelLr}[3][4]{
+\sbCompSumr[#1]{#2}{#3}{}{-}{}{+}
+\sbRelier[]{#3}{#2}
+}
+\newcommand{\sbCompNormLr}[3][4]{
+\sbCompSumr*[#1]{#2}{#3}{}{-}{}{+}
+\sbRelier[]{#3}{#2}
+}
\newcommand*{\sbComph}{\@ifstar\sbComphNorm\sbComphUsuel}
\newcommand{\sbComphUsuel}[3][4]{
\sbCompSum[#1]{#2}{#3}{-}{}{+}{}
}
-
\newcommand{\sbComphNorm}[3][4]{
\sbCompSum*[#1]{#2}{#3}{-}{}{+}{}
}
+\newcommand*{\sbComphr}{\@ifstar\sbComphNormr\sbComphUsuelr}
+\newcommand{\sbComphUsuelr}[3][4]{
+\sbCompSumr[#1]{#2}{#3}{-}{}{}{+}
+}
+
+\newcommand{\sbComphNormr}[3][4]{
+\sbCompSumr*[#1]{#2}{#3}{-}{}{}{+}
+}
+
\newcommand*{\sbSumh}{\@ifstar\sbSumhNorm\sbSumhUsuel}
\newcommand{\sbSumhUsuel}[3][4]{
\sbCompSum[#1]{#2}{#3}{+}{}{+}{}
@@ -171,6 +267,14 @@ label=175:$#4$,label=-85:$#5$,label=85:$#6$,sbStyleSum] (#2) {};
\sbCompSum*[#1]{#2}{#3}{+}{}{+}{}
}
+\newcommand*{\sbSumhr}{\@ifstar\sbSumhNormr\sbSumhUsuelr}
+\newcommand{\sbSumhUsuelr}[3][4]{
+\sbCompSumr[#1]{#2}{#3}{+}{}{}{+}
+}
+\newcommand{\sbSumhNormr}[3][4]{
+\sbCompSumr*[#1]{#2}{#3}{+}{}{}{+}
+}
+
\newcommand*{\sbSumb}{\@ifstar\sbSumbNorm\sbSumbUsuel}
\newcommand{\sbSumbUsuel}[3][4]{
\sbCompSum[#1]{#2}{#3}{}{+}{+}{}
@@ -179,22 +283,41 @@ label=175:$#4$,label=-85:$#5$,label=85:$#6$,sbStyleSum] (#2) {};
\sbCompSum*[#1]{#2}{#3}{}{+}{+}{}
}
+\newcommand*{\sbSumbr}{\@ifstar\sbSumbNormr\sbSumbUsuelr}
+\newcommand{\sbSumbUsuelr}[3][4]{
+\sbCompSumr[#1]{#2}{#3}{}{+}{}{+}
+}
+\newcommand{\sbSumbNormr}[3][4]{
+\sbCompSumr*[#1]{#2}{#3}{}{+}{}{+}
+}
+
-%Commandes de décalage de noeud
+%Commandes de d�calage de noeud
\newcommand{\sbDecaleNoeudy}[3][5]{
\node [below of=#2, node distance=#1em, minimum size=0em](#3) {};
\node (#3droite) at (#3){};
\node (#3gauche) at (#3){};
}
+
+\newcommand{\sbDecaleNoeudyZ}[3][5]{
+\node [below of=#2, minimum size=0em,inner sep=0](#3) {};
+\node (#3droite) at (#3){};
+\node (#3gauche) at (#3){};
+}
\newcommand{\sbDecaleNoeudx}[3][5]{
\node [right of=#2, node distance=#1em, minimum size=0em](#3) {};
\node (#3droite) at (#3){};
\node (#3gauche) at (#3){};
}
+\newcommand{\sbDecaleNoeudxy}[4]{
+\sbDecaleNoeudy[#2]{#3}{#4}
+\sbDecaleNoeudx[#1]{#4}{4}
+}
+
-%==============Chaines et Boucles===========
+%==============Chaînes et Boucles===========
\newcommand{\sbChaine}[3][4]{
\foreach \x/\y [remember=\x as \lastx (initially #2)] in {#3}
@@ -202,17 +325,27 @@ label=175:$#4$,label=-85:$#5$,label=85:$#6$,sbStyleSum] (#2) {};
}
}
+
+\newcommand{\sbChaineComp}[3][4]{
+\sbDecaleNoeudx[2]{#2}{V#2}
+\sbComp[#1]{Comp#2}{V#2}\sbRelier{#2}{Comp#2}
+\sbChaine[#1]{Comp#2}{#3}
+}
+
\newcommand{\sbChaineRetour}[3][4]{
\foreach \x/\y [remember=\x as \lastx (initially #2)] in {#3}
{\sbBlocrL[#1]{\x}{\y}{\lastx}
}
}
+
\newcommand{\sbBoucleSeule}[4][4]{
-\sbComp[#1]{Comp#2}{#2}\sbRelier{#2}{Comp#2}
+\sbDecaleNoeudx[2]{#2}{V#2}
+\sbComp[#1]{Comp#2}{V#2}\sbRelier{#2}{Comp#2}
\sbChaine[#1]{Comp#2}{#3}
\sbSortie[#1]{#4}{BlocdeFin}
-\draw [sbStyleLien,auto] (BlocdeFindroite.base) -- node[name=FindeChaine-#4] {} (#4);
+\draw [sbStyleLien,auto] (BlocdeFindroite.base) --
+ (#4) node[pos=0.5,name=FindeChaine-#4] {};
\sbRenvoi{FindeChaine-#4}{Comp#2}{}
}
@@ -220,86 +353,20 @@ label=175:$#4$,label=-85:$#5$,label=85:$#6$,sbStyleSum] (#2) {};
\newcommand{\sbBoucle}[3][4]{
\sbComp[#1]{Comp#2}{#2}\sbRelier{#2}{Comp#2}
\sbChaine[#1]{Comp#2}{#3}
-\draw [sbStyleLien,auto,-] (BlocdeFindroite.base) --++(1em,0)coordinate[name=FindeChaine];
+\draw [sbStyleLien,auto,-] (BlocdeFindroite.base) --++(1em,0)%
+coordinate[name=FindeChaine];
\sbRenvoi{FindeChaine}{Comp#2}{}
}
\newcommand{\sbBoucleRetour}[4][4]{
-\sbComp[#1]{Comp#2}{#2}\sbRelier{#2}{Comp#2}
+\sbDecaleNoeudx[2]{#2}{V#2}
+\sbComp[#1]{Comp#2}{V#2}
+\sbRelier{#2}{Comp#2}
\sbChaine[#1]{Comp#2}{#3}
-\draw [sbStyleLien,auto,-] (BlocdeFindroite.base) --++(1em,0)coordinate[name=FindeChaine];
+\draw [sbStyleLien,auto,-] (BlocdeFindroite.base) --++(1em,0)%
+coordinate[name=FindeChaine];
\sbDecaleNoeudy[5]{FindeChaine}{sbDebutRetour}
\sbChaineRetour[#1]{sbDebutRetour}{#4}
-\draw [sbStyleLien,-] (FindeChaine) |- (sbDebutRetour.west) ;
-
-\draw [sbStyleLien] (BlocdeFingauche.base) -| node[name=sbNomRetour,near end,right] {} (Comp#2) ;
-
-}
-
-
-
-
-%vielles definitions, ne plus utiliser, décommenter si nécessaire
-%\newcommand{\bloc}[4][2]{
-%\node [draw, rectangle,
-% minimum height=1cm, minimum width=1cm, right of = #4,node distance=#1cm] (#2) {#3};
-%}
-%\newcommand{\blocr}[4][1.5]{
-%\node [draw, rectangle,
-% minimum height=1cm, minimum width=1cm, left of = #4, node distance=#1cm] (#2) {#3};
-%}
-%\newcommand{\comp}[3][1.5]{
-% \node [draw, circle,minimum size=1cm, right of=#3,node distance=#1cm] (#2) {};
-% \node [draw, cross out,minimum size=0.707cm,right of=#3,node distance=#1cm] {};
-% \node [below of=#2,node distance=0.3cm] {$-$};
-% \node [left of=#2,node distance=0.3cm] {$+$};
-%}
-%\newcommand{\comph}[3][2]{
-% \node [draw, circle,minimum size=1cm, right of=#3,node distance=#1cm] (#2) {};
-% \node [draw, cross out,minimum size=0.707cm,right of=#3,node distance=#1cm] {};
-% \node [above of=#2,node distance=0.3cm] {$-$};
-% \node [left of=#2,node distance=0.3cm] {$+$};
-%}
-%\newcommand{\sumh}[3][2]{
-% \node [draw, circle,minimum size=1cm, right of=#3,node distance=#1cm] (#2) {};
-% \node [draw, cross out,minimum size=0.707cm,right of=#3,node distance=#1cm] {};
-% \node [above of=#2,node distance=0.3cm] {$+$};
-% \node [left of=#2,node distance=0.3cm] {$+$};
-%}
-%\newcommand{\sumb}[3][2]{
-% \node [draw, circle,minimum size=1cm, right of=#3,node distance=#1cm] (#2) {};
-% \node [draw, cross out,minimum size=0.707cm,right of=#3,node distance=#1cm] {};
-% \node [below of=#2,node distance=0.3cm] {$+$};
-% \node [left of=#2,node distance=0.3cm] {$+$};
-%}
-%
-%\newcommand{\entree}[1]{
-% \node [coordinate, name=#1,node distance=1cm] {};
-%}
-%\newcommand{\sortie}[3][1.5]{
-% \node [coordinate, right of=#3, node distance=#1cm, minimum size=0cm] (#2) {};
-%}
-%\newcommand{\decale}[3][2]{
-%\node [below of=#2, node distance=#1cm, minimum size=0cm](#3) {};
-%}
-%
-%\newcommand{\relier}[3]{
-% \draw [->,>=latex',auto] (#1) -- node[name=#1-#2] {#3} (#2);
-%}
-%\newcommand{\relieryx}[2]{
-%\draw [->,>=latex'] (#1.south) |- (#2) ;
-%}
-%\newcommand{\relierxy}[3]{
-%\draw [->,>=latex'] (#1) -| node[name=#1-#2,near end,right] {#3} (#2) ;
-%}
-%\newcommand{\renvoi}[4][1.5]{
-%\node [below of=#2, node distance=#1cm, minimum size=0cm](retour#2) {};
-%\draw [->,>=latex'] (#2.south)--(retour#2.south) -| node[name=#2-#3,near end,right] {#4} (#3) ;
-%}
-%\newcommand{\blocseul}[4][1.5]{
-%\entree{E1}
-%\bloc[#1]{B1}{#3}{E1}
-%\sortie[#1]{S1}{B1}
-%\relier{E1}{B1}{#2}
-%\relier{B1}{S1}{#4}
-%}
+\draw [sbStyleLien] (FindeChaine) |- (sbDebutRetour.west) ;
+\draw [sbStyleLien] (BlocdeFingauche.base) -- (BlocdeFingauche.base -|Comp#2) -- (Comp#2) node[name=sbNomRetour,near end,right] {};
+}