texlive[68445] Master/texmf-dist: schemabloc (3oct23)
commits+karl at tug.org
commits+karl at tug.org
Tue Oct 3 22:09:51 CEST 2023
Revision: 68445
https://tug.org/svn/texlive?view=revision&revision=68445
Author: karl
Date: 2023-10-03 22:09:50 +0200 (Tue, 03 Oct 2023)
Log Message:
-----------
schemabloc (3oct23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/schemabloc/schemabloc.pdf
trunk/Master/texmf-dist/doc/latex/schemabloc/schemabloc.tex
trunk/Master/texmf-dist/tex/latex/schemabloc/schemabloc.sty
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/schemabloc/README.txt
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/latex/schemabloc/README
Deleted: trunk/Master/texmf-dist/doc/latex/schemabloc/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/schemabloc/README 2023-10-02 23:43:22 UTC (rev 68444)
+++ trunk/Master/texmf-dist/doc/latex/schemabloc/README 2023-10-03 20:09:50 UTC (rev 68445)
@@ -1,26 +0,0 @@
-
-schemabloc (block diagram)
-version : 1.5
-
-Ce package est un ensemble de macro-commande Tikz permettant de dessiner des sch\xE9ma-blocs.
-
-This packages is a set of macro-command Tikz allowing to draw block diagrams.
-
-files:
-- readme.txt - this file
-- schemabloc.sty - the package
-- schemabloc.tex - the source of the documentation (french)
-- schemabloc.pdf - the documentation (french)
-
-Remarks and improvements:
-Note your remarks and wishes on the forum of the article
-http://www.sciences-indus-cpge.apinc.org/Schema-blocs-avec-PGF-TIKZ-sous
-
-Licenses
- This work may be distributed and/or modified under the conditions of
- the LaTeX Project Public License, either version 1.3c of this license
- or (at your option) any later version. The latest version of this
- license is in
- http://www.latex-project.org/lppl.txt
- and version 1.3c or later is part of all distributions of LaTeX
- version 2005/12/01 or later.
Added: trunk/Master/texmf-dist/doc/latex/schemabloc/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/schemabloc/README.txt (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/schemabloc/README.txt 2023-10-03 20:09:50 UTC (rev 68445)
@@ -0,0 +1,26 @@
+
+schemabloc (block diagram)
+version : 1.9
+
+Ce package est un ensemble de macro-commande Tikz permettant de dessiner des schéma-blocs.
+
+This packages is a set of macro-command Tikz allowing to draw block diagrams.
+
+files:
+- readme.txt - this file
+- schemabloc.sty - the package
+- schemabloc.tex - the source of the documentation (french)
+- schemabloc.pdf - the documentation (french)
+
+Remarks and improvements:
+Note your remarks and wishes on the forum of the article
+http://www.sciences-indus-cpge.apinc.org/Schema-blocs-avec-PGF-TIKZ-sous
+
+Licenses
+ This work may be distributed and/or modified under the conditions of
+ the LaTeX Project Public License, either version 1.3c of this license
+ or (at your option) any later version. The latest version of this
+ license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3c or later is part of all distributions of LaTeX
+ version 2005/12/01 or later.
Property changes on: trunk/Master/texmf-dist/doc/latex/schemabloc/README.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/schemabloc/schemabloc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/schemabloc/schemabloc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/schemabloc/schemabloc.tex 2023-10-02 23:43:22 UTC (rev 68444)
+++ trunk/Master/texmf-dist/doc/latex/schemabloc/schemabloc.tex 2023-10-03 20:09:50 UTC (rev 68445)
@@ -1,14 +1,15 @@
+% !TeX encoding = utf-8
%--------------DOCUMENT--------------------------------------------------------
\documentclass[a4paper,11pt]{article} % Type de document
-\usepackage[frenchb]{babel} % Titres en fran\xE7ais
+\usepackage[french]{babel} % Titres en fran?ais
\usepackage[T1]{fontenc} % Correspondance clavier -> document
-\usepackage{fourier}
+\usepackage{kpfonts}
%-------------PACKAGES---------------------------------------------------------
\usepackage{makeidx} % Indexation du document
\usepackage[Bjornstrup]{fncychap} % beaux chapitres
-\usepackage{fancyhdr} % entete et pied de pages
+%\usepackage{fancyhdr} % entete et pied de pages
\usepackage{here} % avoir ses figures a la suite du texte
\usepackage{hyperref}
@@ -15,49 +16,85 @@
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
-\usepackage{color}
+\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{geometry}
\geometry{ hmargin=2cm, vmargin=1.5cm }
\usepackage{multicol}
-
-\usepackage{subfigure}
+\usepackage{verbatim}
+\usepackage{subfig}
\usepackage{floatflt}% package for floatingfigure environment
\usepackage{wrapfig}% package for wrapfigure environment
+\usepackage{tikz}
+\usetikzlibrary[calc,positioning]
+
+
%-------------PACKAGES PERSO---------------------------------------------------------
+
+
\usepackage{schemabloc}
+\usepackage[most]{tcolorbox}
+\newtcblisting{tikzexample}[1][]{%tikz lower,
+colback=red!5!white,colframe=red!75!black,listing side text,
+ title=,fonttitle=\bfseries,
+ toprule=2mm,
+ bicolor,
+ colback=red!15!white,
+ colbacklower=red!5!white, %white,
+ %listing options={style=tcblatex,basicstyle=\small},
+ #1}
+
-\usepackage{ifpdf}
-\ifx\pdftexversion\undefined %if using TeX
+
+\newtcblisting{tikzexampleL}[1][]{%tikz lower,
+ listing above text,
+ colback=red!5!white,
+ colframe=red!75!black,
+ title=,fonttitle=\bfseries,
+ toprule=2mm,
+ bicolor,
+ colback=red!15!white,
+ colbacklower=red!5!white, %white,
+ listing options={style=tcblatex,basicstyle=\small},
+ #1}
+
+\DeclareTotalTCBox{\myverb}{ v }{verbatim,
+ colframe=red!75!black,colupper=blue}{#1}
+
+
+\newcommand{\noeud}{n\oe ud}
+
+%
+%\usepackage{ifpdf}
+%\ifx\pdftexversion\undefined %if using TeX
\usepackage{graphicx}
-\else %if using PDFTeX
- \usepackage{graphicx}
-\fi
-\ifpdf %if using PDFTeX in PDF mode
- \DeclareGraphicsExtensions{.pdf,.png,.mps,.eps,.tpx}
- \usepackage{pgf}
-\else %if using TeX or PDFTeX in TeX mode
- \usepackage{graphicx}
- \DeclareGraphicsExtensions{.eps,.bmp,.tpx}
- \DeclareGraphicsRule{.emf}{bmp}{}{}% declare EMF filename extension
- \DeclareGraphicsRule{.png}{bmp}{}{}% declare PNG filename extension
- \usepackage{pgf}
- \usepackage{pstricks}%variant: \usepackage{pst-all}
-\fi
+%\else %if using PDFTeX
+% \usepackage{graphicx}
+%\fi
+%\ifpdf %if using PDFTeX in PDF mode
+% \DeclareGraphicsExtensions{.pdf,.png,.mps,.eps,.tpx}
+% \usepackage{pgf}
+%\else %if using TeX or PDFTeX in TeX mode
+% \usepackage{graphicx}
+% \DeclareGraphicsExtensions{.eps,.bmp,.tpx}
+% \DeclareGraphicsRule{.emf}{bmp}{}{}% declare EMF filename extension
+% \DeclareGraphicsRule{.png}{bmp}{}{}% declare PNG filename extension
+% \usepackage{pgf}
+%\fi
%*******Macros diverses ***********
%-------------ENTETE-ET-PIED-DE-PAGE-------------------------------------------
+%
+%\renewcommand{\headrulewidth}{0pt} % epaisseur du trait apres entete
+%\renewcommand{\footrulewidth}{0pt} % epaisseur du trait avant pied de page
+%\pagestyle{fancy}
-\renewcommand{\headrulewidth}{0pt} % epaisseur du trait apres entete
-\renewcommand{\footrulewidth}{0pt} % epaisseur du trait avant pied de page
-\pagestyle{fancy}
-
%-------------PAGE-DE-GARDE----------------------------------------------------
-\title{Sch\xE9ma-blocs avec PGF/TIKZ} % Titre
+\title{Schéma-blocs avec PGF/TIKZ} % Titre
\author{Papanicola Robert} % Auteur(s)
\date{\today} % Date (\today pour aujourd'hui)
@@ -70,36 +107,43 @@
\maketitle
\begin{description}
-\item [version 1.5] Modification du dessin des comparateurs et sommateurs (ajout des symboles avec l'op\xE9rateur \xE0 l'ext\xE9rieur). Ajout des commandes de trac\xE9 de cha\xEEnes de blocs et de boucles. les vielles d\xE9finitions ont \xE9t\xE9 d\xE9sactiv\xE9es (mise en commentaires).
-\item[version 1.2] red\xE9finition des noms de commandes, ajout du pr\xE9fixe sb, quelques nouvelles commandes (\verb"\sbBlocSeul", ..)
-\item [version 1] version initiale
+\item [version 1.9] Réécriture de la documentation (utilisation de tcolorbox à la place de tkzexample), correction de coquilles et ajout de nouveaux exemples (moteur à courant continu, schémas paramétrés, correcteur P.I.D).
+\item[version 1.8] Ajout des commandes permettant de tracer des comparateurs/sommateurs dans les boucles de retour
+\item[version 1.62] Retour de la boucle foreach
+\item[version 1.61] Ajout de la commande sbStyleSum afin de définir le style graphique des comparateurs et sommateurs.
+\item[version 1.6] Remplacement de la boucle foreach de tikz par la boucle \verb"\newforeach" du package loops.
+\item [version 1.5.1] Un bug dans la fonction remenber de foreach impose de choisir au minimum la version 2.1 cvs de pgf.
+\item [version 1.5] Modification du dessin des comparateurs et sommateurs (ajout des symboles avec l'opérateur à l'extérieur). Ajout des commandes de tracé de chaînes de blocs et de boucles. les vielles définitions ont été désactivées (mise en commentaires).
+\item[version 1.2] Redéfinition des noms de commandes, ajout du préfixe sb, quelques nouvelles commandes (\verb"\sbBlocSeul", ..)
+\item [version 1] Version initiale
\end{description}
-version 1.2
+\section{Schéma-blocs avec PGF/TIKZ}
+Les macros suivantes permettent de faciliter le dessin de schéma-blocs (block-diagram), elles s'appuient sur le package pgf et les macros tikz.
-\section{Sch\xE9ma-blocs avec PGF/TIKZ}
-Les macros suivantes permettent de faciliter le dessin de sch\xE9ma-blocs (block-diagram), elles s'appuient sur le package pgf et les macros tikz.
+Les macros ont été adaptées à partir des exemples d'utilisation de la librairie \href{http://www.ctan.org/tex-archive/help/Catalogue/entries/pgf.html}{pgf} de Till Tantau et TikZ de Kjell Magne Fauske et principalement \href{http://www.fauskes.net/pgftikzexamples/tag/block-diagram/}{block-diagram}.
-Les macros ont \xE9t\xE9 adapt\xE9es \xE0 partir des exemples d'utilisation de la librairie \href{http://www.ctan.org/tex-archive/help/Catalogue/entries/pgf.html}{pgf} de Till Tantau et TikZ de Kjell Magne Fauske et principalement \href{http://www.fauskes.net/pgftikzexamples/tag/block-diagram/}{block-diagram}.
-
\subsection{Utilisation typique}
-L'utilisation typique de cet ensemble de macro-commandes est produire des diagrammes fonctionnels tel celui pr\xE9sent\xE9 sur la figure suivante.
+L'utilisation typique de cet ensemble de macro-commandes est produire des diagrammes fonctionnels tel celui présenté sur la figure suivante.
\textit{The typical use of this set of macro-commands is to produce functional diagrams such that presented on the following figure.}
-\begin{figure}[!ht]
+\begin{figure}[!htb]
\centering
+
+\begin{tikzexample}[title=,righthand width=0.45\textwidth,]
\begin{tikzpicture}
\sbEntree{E}
\sbComp{comp}{E} \sbRelier[$E_1$]{E}{comp}
-\sbBloc{reg}{R\xE9gulateur}{comp} \sbRelier[$\epsilon$]{comp}{reg}
-\sbBloc{sys}{Syst\xE8me}{reg} \sbRelier[u]{reg}{sys}
-\sbSortie{S}{sys} \sbRelier[$S_1$]{sys}{S}
+\sbBloc{reg}{Régulateur}{comp} \sbRelier[$\epsilon$]{comp}{reg}
+\sbBloc{sys}{Système}{reg} \sbRelier[u]{reg}{sys}
+\sbSortie{S}{sys} \sbRelier[$S_1$]{sys}{S}
\sbDecaleNoeudy[4]{S}{U}
-\sbBlocr{cap}{Capteur}{U} \sbRelieryx{sys-S}{cap}
- \sbRelierxy[m]{cap}{comp}
+\sbBlocr{cap}{Capteur}{U} \sbRelieryx{sys-S}{cap}
+ \sbRelierxy[m]{cap}{comp}
\end{tikzpicture}
+\end{tikzexample}
\caption{Utilisation typique}
\label{fig:utiltyp}
\end{figure}
@@ -106,8 +150,7 @@
-\begin{minipage}[t]{0.55\linewidth}
-On retrouve dans ces sch\xE9mas les principales fonctionnalit\xE9s des macros
+On retrouve dans ce schéma les principales fonctionnalités des macros
\begin{itemize}
\item des blocs:
\begin{itemize}
@@ -115,245 +158,278 @@
\item de la droite vers la gauche;
\end{itemize}
\item un comparateur;
-\item une entr\xE9e;
+\item une entrée;
\item une sortie;
\item des liens:
\begin{itemize}
-\item simple entre blocs align\xE9s,
+\item simple entre blocs alignés,
\item entre un lien et un bloc ,
-\item entre deux blocs (ou comparateur) non align\xE9s,
+\item entre deux blocs (ou comparateur) non alignés,
\item un retour direct.
\end{itemize}
\end{itemize}
-Le code utilis\xE9 pour d\xE9crire le sch\xE9ma est pr\xE9cis\xE9 ci-contre.
-\end{minipage}
-\begin{minipage}[t]{0.36\linewidth}
-\begin{verbatim}
-\begin{tikzpicture}
-\sbEntree{E}
-\sbComp{comp}{E}
-\sbRelier[$E_1$]{E}{comp}
-\sbBloc{reg}{R\xE9gulateur}{comp}
-\sbRelier[$\epsilon$]{comp}{reg}
-\sbBloc{sys}{Syst\xE8me}{reg}
-\sbRelier[u]{reg}{sys}
-\sbSortie{S}{sys}
-\sbRelier[$S_1$]{sys}{S}
-\sbDecaleNoeudy[4]{S}{U}
-\sbBlocr{cap}{Capteur}{U}
-\sbRelieryx{sys-S}{cap}
-\sbRelierxy[m]{cap}{comp}
-\end{tikzpicture}
-\end{verbatim}
-\end{minipage}
\subsection{Environnement}
-\begin{minipage}[t]{0.55\linewidth}
-Les macros suivantes s'utilisent dans l'environnement \textbf{tikzpicture}.
-\textbf{Nota}: vous devez avoir install\xE9 la derni\xE8re version du package pgf!
-\end{minipage}
-\begin{minipage}[t]{0.55\linewidth}
+\begin{wrapfigure}[8]{r}{7cm}
+\centering
\begin{verbatim}
\begin{tikzpicture}
+ .....
listes de commandes
.....
+ .....
\end{tikzpicture}
\end{verbatim}
-\end{minipage}
+\caption{Environnement tikzpicture}
+\label{fig:envirTikz}
+\end{wrapfigure}
-\subsection{Entr\xE9e et noeud}
-Tous les blocs sont dessin\xE9s en relatif par rapport \xE0 un noeud d'entr\xE9e, la construction du sch\xE9ma ne peut donc d\xE9buter qu'apr\xE8s avoir d\xE9fini le premier noeud avec la commande:\verb"\sbEntree{nom}".
+Les macros suivantes s'utilisent dans l'environnement \textbf{tikzpicture}.
-Les commandes \verb"\sbDecaleNoeudx[distance]{N1}{N2}" et \verb"\sbDecaleNoeudy[distance]{N1}{N2}" permettent de positionner un nouveau n\oe ud \verb"{N2}" par rapport au n\oe ud pr\xE9c\xE9dent \verb"{N1}" , respectivement
+Vous devez avoir installé la dernière version du package \textbf{pgf}.
+
+
+
+
+\subsection{Entrée et n\oe ud}
+
+Tous les blocs sont dessinés en relatif par rapport à un n\oe ud d'entrée, la construction du schéma ne peut donc débuter qu'après avoir défini le premier n\oe ud avec la commande:\myverb{\sbEntree{nom}}.
+
+
+
+Les commandes \myverb{\sbDecaleNoeudx[distance]{N1}{N2}} et \myverb{\sbDecaleNoeudy[distance]{N1}{N2}} permettent de positionner un nouveau n\oe ud \verb"{N2}" par rapport au n\oe ud précédent \verb"{N1}" , respectivement
\begin{itemize}
-\item suivant x - horizontalement de la gauche vers la droite
-\item suivant y - verticalement du haut vers le bas de la page
+\item suivant x - horizontalement de la gauche vers la droite pour le sens positif,
+\item suivant y - verticalement du haut vers le bas de la page pour le sens positif.
\end{itemize}
-Cette commande est n\xE9cessaire pour d\xE9marrer un nouvelle branche ou pour positionner une nouvelle entr\xE9e.
-La distance optionnelle \verb"[distance]" doit \xEAtre pr\xE9cis\xE9e sans unit\xE9 et est compt\xE9e en em, la valeur par d\xE9faut est de 5em.
+Ces commandes sont nécessaires pour démarrer un nouvelle branche ou pour positionner une nouvelle entrée.
-Remarque: il est toujours possible de positionner les diff\xE9rents noeuds en absolu dans la page en utilisant les commandes sp\xE9cifiques de tikz (\verb"\node...").
+La distance optionnelle \verb"[distance]" doit être précisée sans unité et est comptée en \textbf{em}, la valeur par défaut est de $5em$.
+\textbf{Remarque:} il est toujours possible de positionner les différents n\oe uds en absolu dans la page en utilisant les commandes spécifiques de tikz (\verb"\node...").
+
+
\subsection{Bloc}
\subsubsection {Utilisation}
-deux commandes principale permettent d'obtenir le dessin d'un bloc fonctionnel
+Deux commandes principales permettent d'obtenir le dessin d'un bloc fonctionnel
\begin{itemize}
-\item la premi\xE8re permet le dessin d'un bloc seul;
-\begin{verbatim}
- \sbBloc[distance]{nom}{contenu}{bloc precedent}
-\end{verbatim}
-\item la seconde permet le dessin du bloc et du lien avec le bloc pr\xE9c\xE9dent
-\begin{verbatim}
- \sbBlocL[distance]{nom}{contenu}{bloc precedent}
-\end{verbatim}
+\item la première permet le dessin d'un bloc seul;
+
+ \myverb{\sbBloc[distance]{nom}{contenu}{bloc precédent}}
+
+
+\item la seconde permet le dessin du bloc et du lien avec le bloc précédent
+
+ \myverb{\sbBlocL[distance]{nom}{contenu}{bloc précédent}}
+
\end{itemize}
- avec les param\xE8tres suivant:
+ avec les paramètres suivant:
\begin{description}
-\item [distance] ce param\xE8tre optionnel permet de positionner le bloc par rapport au bloc pr\xE9c\xE9dent ( la valeur par d\xE9faut est 2 em), cette distance est l'intervalle entre les deux blocs;
-\item [nom] ce param\xE8tre permet de nommer le noeud associ\xE9 au bloc, pour faire r\xE9f\xE9rence \xE0 ce bloc, il faudra utiliser ce param\xE8tre (pour relier les blocs);
-\item [contenu] ce param\xE8tre pr\xE9cise le contenu du bloc, cela peut \xEAtre aussi bien du texte qu'une fonction math\xE9matique comme $\dfrac{K_c}{1 + \tau \cdot p}$ en tapant \verb"$\dfrac{K_c}{1 + \tau \cdot p}$" (ne pas oublier les \$ );
-\item[bloc precedent] ce param\xE8tre permet de pr\xE9ciser le nom du bloc pr\xE9c\xE9dent, chaque bloc est positionn\xE9 relativement au bloc pr\xE9c\xE9dent avec la distance \textbf{distance}.
+\item [distance] ce paramètre optionnel permet de positionner le bloc par rapport au bloc précédent ( la valeur par défaut est 2 em), cette distance est l'intervalle entre les deux blocs;
+\item [nom] ce paramètre permet de nommer le noeud associé au bloc, pour faire référence à ce bloc, il faudra utiliser ce paramètre (pour relier les blocs);
+\item [contenu] ce paramètre précise le contenu du bloc, cela peut être aussi bien du texte qu'une fonction mathématique comme $\dfrac{K_c}{1 + \tau \cdot p}$ en tapant \verb"$\dfrac{K_c}{1 + \tau \cdot p}$" (ne pas oublier les \$ );
+\item[bloc précédent] ce paramètre permet de préciser le nom du bloc précédent, chaque bloc est positionné relativement au bloc précédent avec la distance \textbf{distance}.
\end{description}
-\subsubsection{Exemple}
-\begin{multicols}{2}
-\begin{verbatim}
+\subsubsection{Exemples}
+%\begin{multicols}{2}
+
+\begin{figure}[!htb]
+\centering
+\begin{tikzexample}[title= , righthand width=0.45\textwidth,]
\begin{tikzpicture}
- \sbEntree{E}
- \sbBloc{bloc1}{contenu}{E}
- \sbBloc{bloc2}{
-$K_c\dfrac{1+\tau \cdot p}{1+\dfrac{2\cdot z}
-{\omega_n}p+\dfrac{p^2}{\omega_n^2}}$}{bloc1}
- \sbBlocL[4]{bloc3}{Bloc li\xE9}{bloc2}
+\sbEntree{E}
+\sbBloc{bloc1}{contenu}{E}
\end{tikzpicture}
-\end{verbatim}
+\end{tikzexample}
-\begin{itemize}
- \item on notera la pr\xE9sence de \verb"\entree" pour positionner le premier bloc;
- \item le nom de chaque bloc est unique;
- \item le deuxi\xE8me bloc s'est adapt\xE9 en hauteur et largeur en fonction du contenu;
- \item le troisi\xE8me bloc est d\xE9cal\xE9 de 4em du pr\xE9c\xE9dent et reli\xE9.
-\end{itemize}
-\end{multicols}
-\begin{figure}[!ht]
-\centering
+\begin{tikzexample}[title= , righthand width=0.45\textwidth,]
\begin{tikzpicture}
- \sbEntree{E}
- \sbBloc{bloc1}{contenu}{E}
- \sbBloc{bloc2}{$K_c\dfrac{1+\tau \cdot p}{1+\dfrac{2\cdot z}{\omega_n}p+\dfrac{p^2}{\omega_n^2}}$}{bloc1}
- \sbBlocL[4]{bloc3}{Bloc li\xE9}{bloc2}
+\sbEntree{E}
+\sbBloc{bloc2}
+{$K_c\dfrac{K}{1+\tau \cdot p}$}{E}
+\sbBlocL[3]{bloc3}{Bloc lié}{bloc2}
\end{tikzpicture}
-\caption{commandes sbBloc et sbBlocL}
+\end{tikzexample}
+\caption{Commandes
+\textbackslash sbBloc et {\textbackslash sbBlocL} }
\label{fig:commandebloc}
\end{figure}
+\begin{itemize}
+ \item on notera la présence de \myverb{\sbentree} pour positionner le premier bloc;
+ \item le nom du bloc correspond à un \verb+\node+ au sens de Tikz;
+ \item le premier bloc s'est adapté en hauteur et largeur en fonction du contenu;
+ \item le second bloc est décalé de $4em$ du précédent et relié.
+\end{itemize}
+
+
\subsubsection{Autres commandes de Bloc}
-\paragraph{Bloc de la cha\xEEne de retour}
+\paragraph{Bloc de la chaîne de retour}
-La commande \verb"\sbBlocr..." (respectivement \verb"\sbBlocrL...") permet de tracer les blocs de la cha\xEEne de retour de la droite vers la gauche. les param\xE8tres de commande sont identiques. le bloc est plac\xE9 \xE0 gauche du bloc (ou du n\oe ud) pr\xE9c\xE9dent.
+La commande \myverb{\sbBlocr...} (respectivement \myverb{\sbBlocrL...}) permet de tracer les blocs de la chaîne de retour de la droite vers la gauche. les paramètres de commande sont identiques. le bloc est placé à gauche du bloc (ou du \noeud) précédent.
\paragraph{Bloc seul}
-La commande \verb"\sbBlocseul..." permet de tracer un bloc seul avec une entr\xE9e et une sortie cette commande est g\xE9n\xE9ral utilis\xE9e seule. Le param\xE8tre de distance est appliqu\xE9 sur le lien d'entr\xE9e et de sortie
+La commande \myverb{\sbBlocseul...} permet de tracer un bloc seul avec une entrée et une sortie cette commande est en général utilisée seule. Le paramètre de distance est appliqué sur le lien d'entrée et de sortie
-\begin{minipage}[c]{0.46\linewidth}
-\begin{verbatim}
-\sbBlocseul[3]{Entr\xE9e}{$H(p)$}{Sortie}
-\end{verbatim}
-\end{minipage}
-\begin{minipage}[c]{0.46\linewidth}
+\begin{tikzexample}[title=Commande , righthand width=0.45\textwidth,]
\begin{tikzpicture}
-\sbBlocseul[3]{Entr\xE9e}{$H(p)$}{Sortie}
-
+\sbBlocseul[3]{Entrée}{$H(p)$}{Sortie}
\end{tikzpicture}
-\end{minipage}
+\end{tikzexample}
\subsubsection{Personnalisation des blocs}
-La commande \verb"\sbStyleBloc{liste d'option}" permet de modifier la repr\xE9sentation graphique du bloc ( fond, couleur des traits,couleur du texte, \xE9paisseur,\dots), les modifications sont valables jusqu'\xE0 une nouvelle d\xE9finition. Les modifications de style apport\xE9e sont cumulatives. La commande \verb"\sbStyleBlocDefaut" r\xE9-active la repr\xE9sentation graphique par d\xE9faut
+La commande \myverb{\sbStyleBloc{liste d'options}} permet de modifier la représentation graphique du bloc ( fond, couleur des traits,couleur du texte, épaisseur,\dots), les modifications sont valables jusqu'à une nouvelle définition. Les modifications de style apportée sont cumulatives. La commande \myverb{\sbStyleBlocDefaut} ré-active la représentation graphique par défaut
-\begin{minipage}{0.52\linewidth}
-~\\
+\begin{tikzexample}[title=Personnalisation des blocs , righthand width=0.55\textwidth,]
\begin{tikzpicture}
\sbEntree{E1}
\sbBlocL{B0}{bloc 1}{E1}
\sbStyleBloc{blue,very thick,%
fill=yellow,text=red}%
-\sbBlocL{B1}{$\dfrac{K}{1+p+p^2}$}{B0}
-\sbStyleBloc{fill=black!30,text=blue,ellipse}
-\sbBlocL{B2}{$H(p)$}{B1}
-\sbStyleBlocDefaut
-\sbBlocL{B3}{$H(p)$}{B2}
-\end{tikzpicture}
-\end{minipage}
-\begin{minipage}{0.42\linewidth}
-\begin{verbatim}
-\begin{tikzpicture}
-\sbEntree{E1}
-\sbBlocL{B0}{bloc 1}{E1}
-\sbStyleBloc{blue,very thick,%
-fill=yellow,text=red}%
-\sbBlocL{B1}{$\dfrac{K}{1+p+p^2}$}{B0}
+\sbBlocL{B1}{$\dfrac{K}
+{1+p+p^2}$}{B0}
\sbStyleBloc{fill=black!30,
-text=blue,ellipse}
+ text=blue,ellipse}
\sbBlocL{B2}{$H(p)$}{B1}
\sbStyleBlocDefaut
\sbBlocL{B3}{$H(p)$}{B2}
\end{tikzpicture}
-\end{verbatim}
-\end{minipage}
-Comme on le voit ci-dessus, il m\xEAme possible de modifier la forme du n\oe ud. Toutes les options relatives au trac\xE9 des noeuds dans pgf/tikz sont utilisables.
+\end{tikzexample}
+Comme on le voit ci-dessus, il même possible de modifier la forme du \noeud. Toutes les options relatives au tracé des
+\noeud s de pgf/tikz sont utilisables.
+
\subsection{Comparateur - Sommateur}
-Les commandes de base
-\begin{verbatim}
- \sbComp[distance]{nom}{bloc precedent}
- \sbComp*[distance]{nom}{bloc precedent}
-\end{verbatim}
+\subsubsection{Les commandes de base}
-permettent de dessiner un comparateur, soit avec sa repr\xE9sentation usuelle
+ Les deux commandes
+ \myverb{\sbComp[distance]{nom}{bloc précédent}} et \\
+ \myverb{\sbComp*[distance]{nom}{bloc précédent}}
+permettent de dessiner un comparateur avec les opérateurs dans le symbole
+
+\begin{tikzexample}[title=Personnalisation des comparateurs , righthand width=0.5\textwidth,]
\begin{tikzpicture}
\sbEntree{E}
\sbComp[0]{comp}{E}
\end{tikzpicture}
-ou avec les op\xE9rateurs \xE0 l'ext\xE9rieur
+\end{tikzexample}
+
+ou avec les opérateurs à l'extérieur
+
+\begin{tikzexample}[title=Personnalisation des comparateurs , righthand width=0.5\textwidth,]
\begin{tikzpicture}
\sbEntree{E}
\sbComp*[0]{comp}{E}
\end{tikzpicture}
- avec les param\xE8tres suivant:
+\end{tikzexample}
+ avec les paramètres suivant:
+
+
+
\begin{description}
-\item [\xE9toile $*$ : ] repr\xE9sentation usuelle sans l'\xE9toile;
-\item [distance : ] param\xE8tre optionnel permettant de positionner le comparateur par rapport au bloc pr\xE9c\xE9dent ( la valeur par d\xE9faut est 4em);
-\item [nom :] nom du comparateur, ce nom doit \xEAtre unique dans votre sch\xE9ma, il sert \xE0 r\xE9f\xE9rencer le comparateur pour tous les liens;
-\item [bloc precedent :] le nom du bloc pr\xE9c\xE9dent, le comparateur est plac\xE9 \xE0 sa droite,\xE0 la distance \textbf{distance}.
+\item [étoile $*$ : ] la version étoilée permet l'affichage des opérateurs à l'extérieur;
+\item [distance : ] paramètre optionnel permettant de positionner le comparateur par rapport au bloc précédent ( la valeur par défaut est 4em);
+\item [nom :] nom du comparateur, ce nom doit être unique dans votre schéma, il sert à référencer le comparateur pour tous les liens;
+\item [bloc précédent :] le nom du bloc précédent, le comparateur est placé à sa droite,à la distance \textbf{distance}.
\end{description}
-\begin{figure}[!ht]
+On retrouve dans la figure~\ref{fig:comp} deux exemples d'utilisation d'un comparateur.
+
+\begin{figure}[!htb]
\centering
+
+\begin{tikzexample}[title= , righthand width=0.5\textwidth,]
\begin{tikzpicture}
\sbEntree{E}
-\sbComp{comp}{E} \sbRelier[$E_1$]{E}{comp}
-\sbBloc{reg}{R\xE9g}{comp} \sbRelier[$\epsilon$]{comp}{reg}
-\sbBloc{sys}{Sys}{reg} \sbRelier[u]{reg}{sys}
-\sbSortie{S}{sys} \sbRelier[$S_1$]{sys}{S}
-\sbDecaleNoeudy[4]{S}{U}
-\sbBlocr{cap}{Capt}{U} \sbRelieryx{sys-S}{cap}
- \sbRelierxy[m]{cap}{comp}
+\sbComp{comp}{E}
+ \sbRelier[$E_1$]{E}{comp}
+\sbBloc{reg}{Rég}{comp}
+ \sbRelier[$\epsilon$]{comp}{reg}
+\sbBloc{sys}{Sys}{reg}
+ \sbRelier[u]{reg}{sys}
+\sbSortie{S}{sys}
+ \sbRelier[$S_1$]{sys}{S}
+ \sbDecaleNoeudy[4]{S}{U}
+\sbBlocr{cap}{Capt}{U} \
+ \sbRelieryx{sys-S}{cap}
+ \sbRelierxy[m]{cap}{comp}
\end{tikzpicture}
+\end{tikzexample}
+
+\begin{tikzexample}[title=, righthand width=0.5\textwidth,]
\begin{tikzpicture}
\sbEntree{E}
\sbComp*{comp}{E} \sbRelier[$E_1$]{E}{comp}
-\sbBloc{reg}{R\xE9g}{comp} \sbRelier[$\epsilon$]{comp}{reg}
+\sbBloc{reg}{Rég}{comp} \sbRelier[$\epsilon$]{comp}{reg}
+\sbBloc{sys}{Sys}{reg}
+ \sbRelier[u]{reg}{sys}
+\sbSortie{S}{sys}
+ \sbRelier[$S_1$]{sys}{S}
+ \sbDecaleNoeudy[4]{S}{U}
+\sbBlocr{cap}{Capt}{U}
+ \sbRelieryx{sys-S}{cap}
+ \sbRelierxy[m]{cap}{comp}
+\end{tikzpicture}
+\end{tikzexample}
+\caption{Comparateur- commande étoilée ou non}
+\label{fig:comp}
+\end{figure}
+
+
+\subsubsection{Comparateur dans la boucle de retour}
+
+Les commandes indicées avec un \og r\fg{} permettent de placer un correcteur dans la boucle de retour (figure~\ref{fig:comparretrour}).
+
+\begin{figure}[!htb]
+\centering
+\begin{tikzexample}[title=, righthand width=0.5\textwidth,]
+\begin{tikzpicture}
+\sbEntree{E}
+\sbComp{comp}{E} \sbRelier[$E_1$]{E}{comp}
+\sbBloc{reg}{Rég}{comp} \sbRelier[$\epsilon$]{comp}{reg}
\sbBloc{sys}{Sys}{reg} \sbRelier[u]{reg}{sys}
\sbSortie{S}{sys} \sbRelier[$S_1$]{sys}{S}
\sbDecaleNoeudy[4]{S}{U}
-\sbBlocr{cap}{Capt}{U} \sbRelieryx{sys-S}{cap}
- \sbRelierxy[m]{cap}{comp}
+\sbBlocr{cap}{Capt}{U} \sbRelieryx{sys-S}{cap}
+\sbCompr[1.5]{C2}{cap} \sbRelier{cap}{C2}
+\sbBlocr[1.5]{K}{$K$}{C2} \sbRelier{C2}{K}
+ \sbRelierxy{K}{comp}
+\draw[latex-] (C2)|- ++ (2em,-3em)node[right]{$Pert$};
\end{tikzpicture}
-\caption{Comparateur- commande \xE9toil\xE9e ou non}
-\label{fig:comp}
+
+\end{tikzexample}
+\caption{Utilisation d'un comparateur dans la boucle de retour}
+\label{fig:comparretrour}
\end{figure}
+On peut ainsi installer toutes les formes de comparateurs et sommateurs.
+
+On remarque aussi sur le schéma de la figure~\ref{fig:comparretrour} l'utilisation des commandes de tracé de Tikz
+
+%\clearpage
+
\subsubsection{Commandes et symboles}
-D'autres commandes g\xE9n\xE9riques permettent de dessiner rapidement les principaux symboles de sommation et de comparaison.
+D'autres commandes génériques permettent de dessiner rapidement les principaux symboles de sommation et de comparaison.
\begin{table}[!ht]
\centering
@@ -397,9 +473,14 @@
\label{tab:symbcomp}
\end{table}
-Une commande plus g\xE9n\xE9rique \verb"\sbCompSum[dist]{nom}{E1}{a}{b}{c}{d}" permet de dessiner tout sommateur et entre autres les sommateurs et comparateurs plac\xE9s dans les lignes de retour. Une commande \xE9toil\xE9e \verb"\sbCompSum*[dist]{nom}{E1}{a}{b}{c}{d}"permet de repr\xE9senter le sommateur (comparateur) avec les signes \xE0 l'ext\xE9rieur.
-\begin{minipage}{0.48\linewidth}
+\subsubsection{Commandes génériques}
+
+
+
+\begin{figure}[!htb]
+\centering
+\begin{tikzexample}[title=, righthand width=0.5\textwidth,]
\begin{tikzpicture}
\sbEntree{E1}
\sbCompSum[-4]{C1}{E1}{a}{b}{c}{d}
@@ -408,8 +489,9 @@
\sbCompSum[8]{C1}{E1}{+}{ }{+}{-}
\sbCompSum[12]{C1}{E1}{ }{+}{-}{-}
\end{tikzpicture}
+\end{tikzexample}
-
+\begin{tikzexample}[title=, righthand width=0.5\textwidth,]
\begin{tikzpicture}
\sbEntree{E1}
\sbCompSum*[-4]{C1}{E1}{a}{b}{c}{d}
@@ -418,167 +500,125 @@
\sbCompSum*[8]{C1}{E1}{+}{ }{+}{-}
\sbCompSum*[12]{C1}{E1}{ }{+}{-}{-}
\end{tikzpicture}
-\end{minipage}
-\begin{minipage}{0.48\linewidth}
-\begin{verbatim}
-\begin{tikzpicture}
-\sbEntree{E1}
-\sbCompSum[-4]{C1}{E1}{a}{b}{c}{d}
-\sbCompSum[0]{C1}{E1}{+}{+}{+}{ }
-\sbCompSum[4]{C1}{E1}{+}{+}{ }{-}
-\sbCompSum[8]{C1}{E1}{+}{ }{+}{-}
-\sbCompSum[12]{C1}{E1}{ }{+}{-}{-}
-\end{tikzpicture}
-\end{verbatim}
+\end{tikzexample}
+\caption{Différentes formes de comparateurs / sommateurs}
+\label{fig:compsum1}
+\end{figure}
-\end{minipage}
+Deux commandes plus génériques (figure~\ref{fig:compsum1})
+\begin{itemize}
+\item \myverb{\sbCompSum[dist]{nom}{E1}{a}{b}{c}{d}}
+\item \myverb{\sbCompSumr[dist]{nom}{E1}{a}{b}{c}{d}}
+\end{itemize}
+permettent de dessiner tout sommateur et entre autres les sommateurs et comparateurs placés dans les lignes de retour et les commandes étoilées le sommateur (comparateur) avec les signes à l'extérieur.
+\begin{itemize}
+\item \myverb{\sbCompSum*[dist]{nom}{E1}{a}{b}{c}{d}}
+\item \myverb{\sbCompSumr*[dist]{nom}{E1}{a}{b}{c}{d}}
+\end{itemize}
+
+
\subsection{Liens et renvois}
-La commande \verb"\sbBlocL..." permet de tracer un lien sans texte entre deux blocs successifs, les macros proposent trois autres types de liens qui permettent de tracer tout type de sch\xE9ma.
+La commande \myverb{\sbBlocL...} permet de tracer un bloc avec un lien sans texte avec le bloc précédent, les macros proposent trois autres types de liens qui permettent de tracer tout type de schéma.
\begin{itemize}
-\item lien direct \verb"\sbRelier[nom]{b1}{b2}";
-\item les renvois et sauts \verb"\sbRenvoi{b1}{b2}{}";
-\item les liens d\xE9cal\xE9s.
+\item lien direct \myverb{\sbRelier[nom]{b1}{b2}};
+\item les renvois et sauts \myverb{\sbRenvoi{b1}{b2}{}};
+\item les liens décalés.
\end{itemize}
-\subsubsection{liens directs}
-Liens entre deux blocs (ou comparateur, entr\xE9e ou sortie) dans la cha\xEEne directe (de la gauche vers la droite) ou dans la cha\xEEne de retour (de la droite vers la gauche). Un lien direct entre deux blocs "b1" et "b2" s'\xE9crit:
-\verb"\sbRelier[nom]{b1}{b2}" \\
-Le nom du lien (optionnel) est plac\xE9 au dessus du lien au centre,
-Un n\oe ud est associ\xE9 au lien dans la figure sous le nom "b1-b2" (concat\xE9nation des noms avec un tiret "-")
+\subsubsection{Liens directs}
+Liens entre deux blocs (ou comparateur, entrée ou sortie) dans la chaîne directe (de la gauche vers la droite) ou dans la chaîne de retour (de la droite vers la gauche). Un lien direct entre deux blocs "b1" et "b2" s'écrit:
+\myverb{\sbRelier[nom]{b1}{b2}}
+Le nom du lien (optionnel) est placé au dessus du lien au centre,
-\begin{minipage}[t]{0.46\linewidth}
-~\\
-\begin{tikzpicture}
-\sbEntree{E1}
-\sbBloc[3]{Bloc1}{$H1$}{E1} \sbRelier[{$E(p)$}]{E1}{Bloc1}
-\sbBloc[3]{Bloc2}{$H2$}{Bloc1} \sbRelier[{nom}]{Bloc1}{Bloc2}
-\sbSortie[3]{S1}{Bloc2} \sbRelier[{$S(p)$}]{Bloc2}{S1}
-\end{tikzpicture}
+Trois n\oe uds sont définis le long du lien entre les éléments définis par $b1$ et $b2$
-\end{minipage}
-\begin{minipage}[t]{0.46\linewidth}
-\begin{verbatim}
+\begin{itemize}
+\item \textbf{b1-b2}: concaténation des noms avec un tiret "-" placé au milieu du lien;
+\item \textbf{b1-b2-1}: placé au premier tiers du lien;
+\item \textbf{b1-b2-2}: placé au second tiers du lien;
+
+\end{itemize}
+
+\begin{tikzexample}[title=, righthand width=0.45\textwidth,]
\begin{tikzpicture}
\sbEntree{E1}
-\sbBloc[3]{Bloc1}{$H1$}{E1}
- \sbRelier[$E(p)$]{E1}{Bloc1}
-\sbBloc[3]{Bloc2}{$H2$}{Bloc1}
- \sbRelier[nom]{Bloc1}{Bloc2}
-\sbSortie[3]{S1}{Bloc2}
- \sbRelier[$S(p)$]{Bloc2}{S1}
+\sbBloc[3]{Bloc1}{$H1$}{E1}
+ \sbRelier[{$E(p)$}]{E1}{Bloc1}
+\sbBloc[3]{Bloc2}{$H2$}{Bloc1}
+ \sbRelier[{nom}]{Bloc1}{Bloc2}
+\sbSortie[3]{S1}{Bloc2}
+ \sbRelier[{$S(p)$}]{Bloc2}{S1}
\end{tikzpicture}
-\end{tikzpicture}
-\end{verbatim}
-\end{minipage}
+\end{tikzexample}
+
\subsubsection{Renvois et sauts}
-Les renvois sont des liens qui permettent soit de retourner en arri\xE8re soit de sauter un ou plusieurs blocs. Ils sont trac\xE9s entre un lien et un comparateur (sommateur);
+Les renvois sont des liens qui permettent soit de retourner en arrière soit de sauter un ou plusieurs blocs. Ils sont tracés entre un lien et un comparateur (sommateur);
-\begin{minipage}[t]{0.3\linewidth}
+\begin{figure}[!htb]
+\centering
+
+\begin{tikzexample}[title=, righthand width=0.5\textwidth,]
\begin{tikzpicture}
\sbEntree{E}
-\sbComp[1.5]{comp}{E}
- \sbRelier{E}{comp}
-\sbBloc[1.5]{B}{$H_1$}{comp}
- \sbRelier{comp}{B}
-\sbSortie{S}{B}
- \sbRelier{B}{S}
- \sbRenvoi{B-S}{comp}{}
-\end{tikzpicture}
-\begin{small}
- \begin{verbatim}
-\begin{tikzpicture}
-\sbEntree{E}
-\sbComp[1.5]{comp}{E}
- \sbRelier{E}{comp}
-\sbBloc[1.5]{B}{$H_1$}
- {comp}
- \sbRelier{comp}{B}
-\sbSortie{S}{B}
- \sbRelier{B}{S}
- \sbRenvoi{B-S}{comp}{}
-\end{tikzpicture}
-\end{verbatim}
-\end{small}
-\end{minipage}
-\begin{minipage}[t]{0.3\linewidth}
- \begin{tikzpicture}
-\sbEntree{E}
\sbComph[1.5]{comp}{E}
- \sbRelier{E}{comp}
+ \sbRelier{E}{comp}
\sbBloc[1.5]{B}{$H_1$}{comp}
- \sbRelier{comp}{B}
-\sbSortie{S}{B}
- \sbRelier{B}{S}
- \sbRenvoi[-3]{B-S}{comp}{}
+ \sbRelier{comp}{B}
+\sbBloc[5]{B2}{bloc 2}{B}
+ \sbRelier[$a$]{B}{B2}
+\sbRenvoi[-4]{B-B2-1}{comp}{$a$}
+\sbCompL{C2}{B2}
+ \sbRenvoi{B-B2}{C2}{}
\end{tikzpicture}
-\begin{small}
- \begin{verbatim}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbComph[1.5]{comp}{E}
- \sbRelier{E}{comp}
-\sbBloc[1.5]{B}{$H_1$}
- {comp}
- \sbRelier{comp}{B}
-\sbSortie{S}{B}
- \sbRelier{B}{S}
- \sbRenvoi[-3]{B-S}{comp}{}
-\end{tikzpicture}
-\end{verbatim}
-\end{small}
-\end{minipage}
-\begin{minipage}[t]{0.3\linewidth}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbBloc{B}{$H_1$}{E}
- \sbRelier{E}{B}
-\sbSumb{sum}{B}
- \sbRelier{B}{sum}
-\sbSortie{S}{sum}
- \sbRelier{sum}{S}
- \sbRenvoi{E-B}{sum}{}
-\end{tikzpicture}
-\begin{small}
- \begin{verbatim}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbBloc{B}{$H_1$}{E}
- \sbRelier{E}{B}
-\sbSumb{sum}{B}
- \sbRelier{B}{sum}
-\sbSortie{S}{sum}
- \sbRelier{sum}{S}
- \sbRenvoi{E-B}{sum}{}
-\end{tikzpicture}
-\end{verbatim}
-\end{small}
-\end{minipage}
+\end{tikzexample}
+
+
+\caption{Utilisation des renvois}
+\label{fig:renvois1}
+\end{figure}
+La commande \myverb{\sbRenvoi[dist]{n1}{n2}{}} comporte les éléments suivants:
+\begin{itemize}
+\item \textbf{n1} : le nom du lien de départ ;
+\item \textbf{n2} : le nom du comparateur;
+\item \textbf{dist}: la distance optionnelle au dessous si la valeur est positive, au dessus si la valeur est négative.
-\subsubsection{Liens d\xE9cal\xE9s}
-Ces liens sont utilis\xE9s pour relier un bloc d'un ligne vers un bloc d'une ligne parall\xE8le (vers l'avant ou l'arri\xE8re);
+\end{itemize}
-\begin{center}
+La figure~\ref{fig:renvois1} présente deux utilisations des renvois.
+
+
+
+
+
+\begin{itemize}
+\item \myverb{\sbRenvoi[-4]{B-B2-1}{comp}{$a$}} trace un renvoi qui part du premier tiers du lien \textbf{B-B2-1} entre \textbf{B} et \textbf{B2} en passant au-dessus. Le nom du lien $a$ est placé à l'extrémité du lien.
+\item \myverb{\sbRenvoi{B-B2}{C2}{}} trace un renvoi du milieu du lien vers le second comparateur. On remarque qu'il est nécessaire de ne pas oublier les deux accolades vides.
+\end{itemize}
+
+
+\subsubsection{Liens décalés}
+Ces liens sont utilisés pour relier un bloc d'un ligne vers un bloc d'une ligne parallèle (vers l'avant ou l'arrière);
+
+\begin{figure}[!htb]
+\centering
+\begin{tikzexampleL}[title=,]
\begin{tikzpicture}
\sbEntree{E}
\sbComp{a}{E}
-\sbBloc{b}{$H_1$}{a}
- \sbRelier[$E_1$]{E}{a}
-\sbBlocL{c}{$H_2$}{b}
- \sbRelier[$\epsilon$]{a}{b}
-\sbComph{d}{c}
- \sbRelier[u]{c}{d}
+\sbBloc{b}{$H_1$}{a} \sbRelier[$E_1$]{E}{a}
+\sbBlocL{c}{$H_2$}{b} \sbRelier[$\epsilon$]{a}{b}
+\sbComph{d}{c} \sbRelier[u]{c}{d}
\sbBlocL{e}{$H_3$}{d}
\sbBlocL{f}{$H_4$}{e}
-\sbSortie[5]{S1}{f}
- \sbRelier{f}{S1}
+\sbSortie[5]{S1}{f} \sbRelier{f}{S1}
\sbNomLien[0.8]{S1}{$S_1$}
\sbDecaleNoeudy[-4]{f}{u}
\sbDecaleNoeudy{e}{v}
@@ -585,170 +625,120 @@
\sbBlocr{r1}{$R_1$}{u}
\sbBlocr{r2}{$R_2$}{v}
\sbBlocrL{r3}{$R_3$}{r2}
-\sbRelieryx{f-S1}{r1}
-\sbRelierxy[n1]{r1}{d}
-\sbRelieryx{e-f}{r2}
-\sbRelierxy[n2]{r3}{a}
+ \sbRelieryx{f-S1}{r1}
+ \sbRelierxy[n1]{r1}{d}
+ \sbRelieryx{e-f}{r2}
+ \sbRelierxy[n2]{r3}{a}
\end{tikzpicture}
-\end{center}
-\begin{minipage}[t]{0.46\linewidth}
-Code
-\begin{verbatim}
-\begin{tikzpicture}
-\sbEntree{E}
-\sbComp{a}{E}
- \sbRelier[$E_1$]{E}{a}
-\sbBloc{b}{$H_1$}{a}
- \sbRelier[$\epsilon$]{a}{b}
-\sbBlocL{c}{$H_2$}{b}
-\sbComph{d}{c}
- \sbRelier[u]{c}{d}
-\sbBlocL{e}{$H_3$}{d}
-\sbBlocL{f}{$H_4$}{e}
-\sbSortie[5]{S1}{f}
- \sbRelier{f}{S1}
- \sbNomLien[0.8]{S1}{$S_1$}
-\sbDecaleNoeudy[-4]{f}{u}
-\sbDecaleNoeudy{e}{v}
-\sbBlocr{r1}{$R_1$}{u}
-\sbBlocr{r2}{$R_2$}{v}
-\sbBlocrL{r3}{$R_3$}{r2}
-\sbRelieryx{f-S1}{r1}
-\sbRelierxy[n1]{r1}{d}
-\sbRelieryx{e-f}{r2}
-\sbRelierxy[n2]{r3}{a}
-\end{tikzpicture}
-\end{verbatim}
-\end{minipage}
-\begin{minipage}[t]{0.46\linewidth}
-Commentaires
+\end{tikzexampleL}
+
+\caption{Utilisation des liens décalés}
+\label{fig:liensdecals}
+\end{figure}
+
+
+On note sur la figure~\ref{fig:liensdecals}!
\begin{itemize}
- \item Les premi\xE8res commandes (de \verb"\sbEntree.." \xE0 \verb"\sbSortie{S1}..") placent les blocs de la cha\xEEne directe, certains blocs sont positionn\xE9s avec la commande \verb"\sbBloc" d'autres avec \verb"\sbBlocL";
- \item le nom de la sortie n'est pas positionn\xE9 avec la commande \verb"\sbRelier{f}{S1}" mais avec la commande \verb"\sbNomLien[0.8]{S1}{$S_1$}" afin qu'il ne soit pas superpos\xE9 au trait du retour vers $R_1$;
- \item Les deux commandes \verb"\sbDecaleNoeudy[-4]{f}{u}" et \verb"\sbDecaleNoeudy{e}{v}" permettent de positionner le d\xE9part des deux boucles de retour, la premi\xE8re est d\xE9cal\xE9 de \textbf{[-4]} au dessus de la cha\xEEne pr\xE9c\xE9dente et positionn\xE9e par rapport au bloc \textbf{f}, la seconde est plac\xE9e par d\xE9faut au dessous par rapport au bloc \textbf{e}. Ces nouveaux n\oe uds sont nomm\xE9s \textbf{u} et \textbf{v}.
- \item Les blocs de retours sont ensuite trac\xE9s de la droite vers la gauche par rapport \xE0 ces n \oe uds avec la commande \verb"\sbBlocr..." et \verb"\sbBlocrL..." puis reli\xE9s.
- \item La commande \verb"\sbRelieryx{f-S1}{r1}" trace le lien depuis le milieu de la liaison entre les blocs \textbf{f} et \textbf{s} et le bloc \textbf{r1}, la commande \verb"\sbRelierxy[n1]{r1}{d}" trace le lien vers le comparateur
- \item
+ \item Les premières commandes (de \myverb{\sbEntree..} à \myverb{\sbSortie{S1}..}) placent les blocs de la chaîne directe, certains blocs sont positionnés avec la commande \myverb{\sbBloc} d'autres avec \myverb{\sbBlocL};
+ \item Le nom de la sortie n'est pas positionné avec la commande \myverb{\sbRelier{f}{S1}} mais avec la commande \myverb{\sbNomLien[0.8]{S1}{$S_1$} } afin qu'il ne soit pas superposé au trait du retour vers $R_1$;
+ \item Les deux commandes \myverb{\sbDecaleNoeudy[-4]{f}{u}} et \myverb{\sbDecaleNoeudy{e}{v}} permettent de positionner le départ des deux boucles de retour, la première est décalé de \textbf{[-4]} au dessus de la chaîne précédente et positionnée par rapport au bloc \textbf{f}, la seconde est placée par défaut au dessous par rapport au bloc \textbf{e}. Ces nouveaux n\oe uds sont nommés \textbf{u} et \textbf{v}.
+ \item Les blocs de retours sont ensuite tracés de la droite vers la gauche par rapport à ces n \oe uds avec la commande \myverb{\sbBlocr...} et \myverb{\sbBlocrL...} puis reliés.
+ \item La commande \myverb{\sbRelieryx{f-S1}{r1}} trace le lien depuis le milieu de la liaison entre les blocs \textbf{f} et \textbf{s} et le bloc \textbf{r1}, la commande \myverb{\sbRelierxy[n1]{r1}{d}} trace le lien vers le comparateur .
\end{itemize}
-\end{minipage}
+
+
+
+
+
\subsubsection{Personnalisation des liens}
-La commande \verb"\sbStyleLien{liste d'option}" permet de personnaliser le trac\xE9 des liens et des textes associ\xE9s.
+La commande \myverb{\sbStyleLien{liste d'option}} permet de personnaliser le tracé des liens et des textes associés.
-\begin{center}
- \begin{tikzpicture}
+
+
+\begin{tikzexample}[title=, righthand width=0.5\textwidth,]
+\begin{tikzpicture}
\sbEntree{E}
\sbComp{comp}{E}
- \sbRelier{E}{comp}
+ \sbRelier{E}{comp}
\sbBlocL{B1}{$H_0$}{comp}
-\sbStyleLien{dashed, red}
-\sbBloc[8]{B2}{$H_1$}{B1}
- \sbRelier[lien]{B1}{B2}
+ \sbStyleLien{dashed, red}
+\sbBloc[6]{B2}{$H_1$}{B1}
+ \sbRelier[lien]{B1}{B2}
\sbSortie[4]{S}{B2}
-\sbStyleLienDefaut
-\sbStyleLien{blue, very thick,text=brown}
- \sbRelier[Sortie]{B2}{S}
-\sbStyleLien{dashed}
- \sbRenvoi{B2-S}{comp}{}
-\sbStyleLienDefaut
+ \sbStyleLienDefaut
+\sbStyleLien{blue,very thick,text=brown}
+ \sbRelier[Sortie]{B2}{S}
+ \sbStyleLien{dashed}
+ \sbRenvoi{B2-S}{comp}{}
+ \sbStyleLienDefaut
\end{tikzpicture}
-\end{center}
+\end{tikzexample}
-\begin{multicols}{2}
-\begin{verbatim}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbComp{comp}{E}
-\sbRelier{E}{comp}
-\sbBlocL{B1}{$H_0$}{comp}
-\sbStyleLien{dashed, red}
-\sbBloc[8]{B2}{$H_1$}{B1}
-\sbRelier[lien]{B1}{B2}
-\sbSortie[4]{S}{B2}
-\sbStyleLienDefaut
-\sbStyleLien{blue, very thick,text=brown}
- \sbRelier[Sortie]{B2}{S}
-\sbStyleLien{dashed}
- \sbRenvoi{B2-S}{comp}{}
-\sbStyleLienDefaut
-\end{tikzpicture}
-\end{verbatim}
-\end{multicols}
- Cette commande s'applique \xE0 tous les types de liens, les styles sont actifs jusqu'\xE0 une nouvelle d\xE9finition, et comme pour la commande \verb"\sbStyleBloc{liste d'option}" ils sont cumulatifs. La commande \verb"\sbStyleLienDefaut" r\xE9-initialise le style par d\xE9faut.
+Cette commande s'applique à tous les types de liens, les styles sont actifs jusqu'à une nouvelle définition, et comme pour la commande \myverb{\sbStyleBloc{liste d'option}} ils sont cumulatifs. La commande \myverb{\sbStyleLienDefaut} ré-initialise le style par défaut.
-\subsection{Cha\xEEnes et Boucles}
+\subsection{Chaînes et Boucles}
-Plusieurs commandes globales facilitent le trac\xE9 de sch\xE9ma blocs, elle tracent directement des cha\xEEnes de blocs, ou des boucles.
+Plusieurs commandes globales facilitent le tracé de schéma blocs, elle tracent directement des chaînes de blocs, ou des boucles.
-\subsubsection{Cha\xEEnes}
-deux commandes, une qui pour trace des chaines directe ( de la gauche vers la droite), l'autre les cha\xEEnes de retour (de la droite vers la gauche).
+\subsubsection{Chaînes}
+deux commandes, une qui pour trace des chaînes directe ( de la gauche vers la droite), l'autre les chaînes de retour (de la droite vers la gauche).
+
+
\begin{description}
-\item [Cha\xEEne directe:] \verb"\sbChaine[pas]{Noeud depart}{liste blocs Nom/Fonction}"
+\item [Chaîne directe:] \myverb{\sbChaine[pas]{Noeud depart}{liste blocs Nom/Fonction}}
+\item [Chaîne de retour: ] \myverb{\sbChaineRetour[pas]{Noeud depart}{liste blocs Nom/Fonction}}
+\end{description}
-\begin{verbatim}
+ \begin{figure}[!htb]
+\centering
+\begin{tikzexampleL}[title=,]
\begin{tikzpicture}
\sbEntree{E}
-\sbChaine[3]{E}{A/$A_1(p)$,B/Fonction(p),C/$C(p)$,D/$D_1(p)$}
+\sbChaine[4]{E}{A/$A_1(p)$,B/Fonction(p),C/$C(p)$,D/$D_1(p)$}
\end{tikzpicture}
-\end{verbatim}
+\end{tikzexampleL}
+\caption{Chaîne directe}
+\label{fig:chainedirecte}
+\end{figure}
-\begin{center}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbChaine[3]{E}{A/$A_1(p)$,B/Fonction(p),C/$C(p)$,D/$D_1(p)$}
-\end{tikzpicture}
-\end{center}
-\item [Cha\xEEne de retour: ]\verb"\sbChaineRetour[pas]{Noeud depart}{liste blocs Nom/Fonction}"
-\begin{verbatim}
+\begin{figure}[!htb]
+\centering
+\begin{tikzexampleL}[title=,]
\begin{tikzpicture}
\sbEntree{E}
\sbChaineRetour[3]{E}{E1/$E_1(p)$,F/$\dfrac{K_p}{1+\tau\cdot p}$,G/$G(p)$}
\end{tikzpicture}
+\end{tikzexampleL}
+\caption{Chaîne de retour}
+\label{fig:chaineretoure}
+\end{figure}
-\end{verbatim}
-\begin{center}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbChaineRetour[3]{E}{E1/$E_1(p)$,F/$\dfrac{K_p}{1+\tau\cdot p}$,G/$G(p)$}
-\end{tikzpicture}
-\end{center}
-\end{description}
-
+
On retrouve dans ces deux commandes
\begin{description}
\item[pas: ] distance en em entre les blocs,
-\item[noeud depart:] le premier bloc de la cha\xEEne est positionn\xE9e \xE0 la distance pas du n\oe ud noeud depart,
-\item[liste blocs: ] la liste des blocs est not\xE9e avec la syntaxe suivante $Nom_1$/$Fonction_1$, $Nom_2$/$Fonction_2$, ...., $Nom_i$/$Fonction_i$, ...., $Nom_n$/$Fonction_n$.
+\item[noeud depart:] le premier bloc de la chaîne est positionnée à la distance pas du n\oe ud noeud depart,
+\item[liste blocs: ] la liste des blocs est notée avec la syntaxe suivante $Nom_1$/$Fonction_1$, $Nom_2$/$Fonction_2$, ...., $Nom_i$/$Fonction_i$, ...., $Nom_n$/$Fonction_n$.
\end{description}
-Avec ces deux commandes, on dessine rapidement le sch\xE9ma ci dessous avec un code relativement court.
+%
+Avec ces deux commandes, on dessine rapidement le schéma ci dessous avec un code relativement court.
+%
-\begin{center}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbComp{comp}{E}\sbRelier[$E(p)$]{E}{comp}
-\sbChaine[4]{comp}{A/$A_1(p)$,B/Fonction(p),C/$C(p)$,D/$D_1(p)$}
-\sbDecaleNoeudy[5]{B-C}{DebutRetour}
-\node[above of=comp-A,node distance=0.5em]{$\varepsilon(p)$};
-\node[above of=B-C,node distance=0.5em]{$V(p)$};
-\sbChaineRetour[2]{DebutRetour}{E1/$E_1(p)$,F/$\dfrac{K_p}{1+\tau\cdot p}$,G/$G(p)$}
-\sbRelieryx{B-C}{E1}
-\sbRelierxy{G}{comp}
-\sbSortie[5]{S}{D}\sbRelier[$S(p)$]{D}{S}
-\end{tikzpicture}
-\end{center}
-
-\begin{verbatim}
+\begin{figure}[!htb]
+\centering
+\begin{tikzexampleL}[title=,]
\begin{tikzpicture}
\sbEntree{E}
\sbComp{comp}{E}\sbRelier[$E(p)$]{E}{comp}
@@ -761,128 +751,130 @@
\sbRelierxy{G}{comp}
\sbSortie[5]{S}{D}\sbRelier[$S(p)$]{D}{S}
\end{tikzpicture}
-\end{verbatim}
+\end{tikzexampleL}
+\caption{Utilisation des chaînes directe et de retour}
+\label{fig:schemacompletsimple}
+\end{figure}
-On remarquera, tous les liens sont nomm\xE9s, le nom est construit \xE0 partir du nom des deux blocs \xE0 relier, ainsi, B-C correspond au point milieu du lien entre B et C.
-La commande tikz \verb"\node[above of=B-C,node distance=0.5em]{$V(p)$};" permet de placer le nom du lien au dessus (\xE0 la distance 0.5em) de celui-ci.
+On remarquera, tous les liens sont nommés, le nom est construit à partir du nom des deux blocs à relier, ainsi, B-C correspond au point milieu du lien entre B et C.
+
+La commande tikz \verb"\node[above of=B-C,node distance=0.5em]{$V(p)$};" permet de placer le nom du lien au dessus (à la distance 0.5em) de celui-ci.
+
+
\subsubsection{Boucles}
-Trois commandes permettent de dessiner des sch\xE9mas blocs boucl\xE9s unitaire ou non.
+Trois commandes permettent de dessiner des schémas blocs bouclés unitaire ou non.
\begin{description}
-\item[Boucle unitaire: ]deux commandes, une pour dessiner une boucle \xE0 retour unitaire \xE0 ins\xE9rer dans un sch\xE9ma, l'autre pour dessiner compl\xE8tement la boucle.
+\item[Boucle unitaire: ]deux commandes:
\begin{itemize}
-\item \verb"\sbBoucle[pas]{noeud depart}{liste de blocs chaine directe}" ou
+\item \myverb{sbBoucle[pas]{nœud départ}{liste de blocs chaine directe}}: cette commande dessine une schéma bouclé à retour unitaire sans la sortie (figure~\ref{fig:retourunitaire}). Cette commande peut être associé et complété pour réaliser un schéma plus complexe.
-\begin{verbatim}
+
+\item \myverb{\sbBoucleSeule[pas]{Nœud début}{liste blocs}{Sortie}}: cette commande reprend la précédente et ajoute une sortie (figure~\ref{fig:retourunitairesortie}).
+
+
+ \end{itemize}
+
+
+\begin{figure}[!htb]
+\centering
+\begin{tikzexampleL}[title=,]
\begin{tikzpicture}
\sbEntree{E}
\sbBoucle[3]{E}{A/$A_1(p)$,B/Fonction(p),C/$C(p)$,D/$D_1(p)$}
+\sbBlocL{E}{$E_1(p)$}{D}
\end{tikzpicture}
-\end{verbatim}
+ \end{tikzexampleL}
+\caption{Tracé direct d'un schéma blocs à retour unitaire}
+\label{fig:retourunitaire}
+\end{figure}
-\begin{center}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbBoucle[3]{E}{A/$A_1(p)$,B/Fonction(p),C/$C(p)$,D/$D_1(p)$}
-\end{tikzpicture}
-\end{center}
-\item \verb"\sbBoucleSeule[pas]{Noeud debut}{liste blocs}{Sortie}"
-\begin{verbatim}
+\begin{figure}[!htb]
+\centering
+\begin{tikzexampleL}[title=,]
\begin{tikzpicture}
\sbEntree{E}
\sbBoucleSeule[3]{E}{A/$A_1(p)$,B/Fonction(p),C/$C(p)$,D/$D_1(p)$}{S}
\end{tikzpicture}
-\end{verbatim}
+ \end{tikzexampleL}
+\caption{Tracé direct d'un schéma blocs à retour unitaire avec sortie}
+\label{fig:retourunitairesortie}
+\end{figure}
-\begin{center}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbBoucleSeule[3]{E}{A/$A_1(p)$,B/Fonction(p),C/$C(p)$,D/$D_1(p)$}{S}
-\end{tikzpicture}
-\end{center}
-\end{itemize}
+\item[Boucle de retour non unitaire: ] ~\\
-\item[Boucle \xE0 retour non unitaire: ]
-
-\verb"\sbBoucleRetour[pas]{noeud depart}{liste chaine directe}{liste chaine de retour}"
-
-\begin{verbatim}
+\begin{figure}[!htb]
+\centering
+\begin{tikzexampleL}[title=,]
\begin{tikzpicture}
\sbEntree{E}
\sbBoucleRetour[3]{E}{A/$A_1(p)$,BB/Fonction(p),C/$C(p)$,D/$D_1(p)$}{F/$F(p)$,G/$G(p)$}
\end{tikzpicture}
-\end{verbatim}
+ \end{tikzexampleL}
+\caption{Tracé direct d'un schéma blocs avec complet}
+\label{fig:retourunitairecomplet}
+\end{figure}
-\begin{center}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbBoucleRetour[3]{E}{A/$A_1(p)$,B/Fonction(p),C/$C(p)$,D/$D_1(p)$}{F/$F(p)$,G/$G(p)$}
-\end{tikzpicture}
-\end{center}
+\begin{itemize}
+\item {\small \myverb{\sbBoucleRetour[pas]{nœud départ}{liste chaine directe}{liste chaine de retour}} }: cette commande reprend les deux commandes de chaîne directe et de chaîne de retour.
+\end{itemize}
+
+
\end{description}
-\newdimen\oldparindent \oldparindent=\parindent
-\noindent\begin{minipage}{0.4\textwidth}
-\parindent=\oldparindent
-Encore un petit exemple, dans le quel on peut noter que le lien entre le comparateur est nomm\xE9 CompU-C, ce nom est construit \xE0 partir de (Comp) concat\xE9ner avec le n\oe ud de d\xE9part (U) - le n\oe ud suivant (C).
-\end{minipage}\hfill
-\begin{minipage}{0.6\textwidth}
-\begin{verbatim}
-\begin{tikzpicture}
-\sbEntree{U}
-\sbBoucleRetour[3]{U}{C/$C(p)$,A/$A$,H/$H_{sys}(p)$}{G/G}
-\node[above of=CompU-C,node distance=0.5em]{$\varepsilon(p)$};
-\node[above of=A-H, node distance=0.5em]{$U(p)$};
-\node[above of=U,node distance=0.5em]{$U(p)$};
-\sbSortie[5]{V2}{H}\sbRelier[$V_2(p)$]{H}{V2}
-\end{tikzpicture}
-\end{verbatim}
-\end{minipage}
+Encore un petit exemple (figure~\ref{fig:tikzliennom}), on utilise dans cet exemple différentes commandes de tracés de Tikz pour nommer les différents liens et blocs.
+\begin{itemize}
+\item Le comparateur est nommé en concaténant le mot \textbf{Comp} avec le nom associé à l'entrée (ici \textbf{U}) soit \textbf{Comp-U}.
+\item Chaque bloc est nommé comme dans la liste de la commande.
+\item Chaque lien est nommé en concaténant le nom des deux deux blocs avec un tiret.
+\item Il est conseillé de préciser les distances et coordonnées en \textbf{em}.
+\end{itemize}
-\begin{center}
- \begin{tikzpicture}
+
+\begin{figure}[!htb]
+\centering
+\begin{tikzexampleL}[title=,]
+\begin{tikzpicture}
\sbEntree{U}
\sbBoucleRetour[3]{U}{C/$C(p)$,A/$A$,H/$H_{sys}(p)$}{G/G}
-
-\node[above of=CompU-C,node distance=0.5em]{$\varepsilon(p)$};
-\node[above of=A-H, node distance=0.5em]{$U(p)$};
-\node[above of=U,node distance=0.5em]{$U(p)$};
-
+\node[above =0.1em of CompU-C]{$\varepsilon(p)$};
+\node[above =0.5em of A]{$G(p)$};
+\node[above right =0.25em of U]{$U(p)$};
+\node[above =0.25em of A-H]{$W(p)$};
+\draw[latex-] (CompU) --++(0.5em,3em) node[right]{Comparateur};
\sbSortie[5]{V2}{H}\sbRelier[$V_2(p)$]{H}{V2}
\end{tikzpicture}
-\end{center}
+ \end{tikzexampleL}
+\caption{Utilisation des commandes de Tikz pour nommer les liens et bloc}
+\label{fig:tikzliennom}
+\end{figure}
+
+\subsection{Changement de taille}
+Toutes dimensions étant en em, le changement de taille d'un graphe se fait en changeant la taille des caractères de l'environnement englobant.
-
-
-
-
-
-
-\subsection{Changement de taille}
-
-Toutes dimensions \xE9tant en em, le changement de taille d'un graphe se fait en changeant la taille des caract\xE8res de l'environnement englobant.
-
-\begin{tabular}{|c|c|} \hline
-normal & small \\
- \begin{tikzpicture}
+\begin{figure}[!htb]
+\centering
+\begin{tikzexample}[title=,]
+{\small
+\begin{tikzpicture}
\sbEntree{E}
\sbComp{comp}{E}
\sbRelier{E}{comp}
@@ -890,11 +882,20 @@
\sbBloc[3]{B2}{$H_1$}{B1}
\sbRelier[lien]{B1}{B2}
\sbSortie{S}{B2}
- \sbRelier[Sortie]{B2}{S}
- \sbRenvoi{B2-S}{comp}{}
-\end{tikzpicture} &
-\begin{small}
- \begin{tikzpicture}
+\sbRelier[Sortie]{B2}{S}
+\sbRenvoi{B2-S}{comp}{}
+\end{tikzpicture}
+}
+ \end{tikzexample}
+\caption{Tracé en taille \textbf{small}}
+\label{fig:tikzsmall}
+\end{figure}
+
+\begin{figure}[!htb]
+\centering
+\begin{tikzexample}[title=, righthand width=0.55\textwidth,]
+{\Large
+\begin{tikzpicture}
\sbEntree{E}
\sbComp{comp}{E}
\sbRelier{E}{comp}
@@ -902,25 +903,19 @@
\sbBloc[3]{B2}{$H_1$}{B1}
\sbRelier[lien]{B1}{B2}
\sbSortie{S}{B2}
- \sbRelier[Sortie]{B2}{S}
- \sbRenvoi{B2-S}{comp}{}
+\sbRelier[Sortie]{B2}{S}
+\sbRenvoi{B2-S}{comp}{}
\end{tikzpicture}
-\end{small} \\ \hline
-tiny & Large \\
-\begin{tiny}
- \begin{tikzpicture}
-\sbEntree{E}
-\sbComp{comp}{E}
-\sbRelier{E}{comp}
-\sbBlocL{B1}{$H_0$}{comp}
-\sbBloc[3]{B2}{$H_1$}{B1}
-\sbRelier[lien]{B1}{B2}
-\sbSortie{S}{B2}
- \sbRelier[Sortie]{B2}{S}
- \sbRenvoi{B2-S}{comp}{}
-\end{tikzpicture}
-\end{tiny}&
-\begin{Large}
+}
+ \end{tikzexample}
+\caption{Tracé en taille \textbf{Large}}
+\label{fig:tikzLarge}
+\end{figure}
+
+\begin{figure}[!htb]
+\centering
+\begin{tikzexample}[title=, righthand width=0.45\textwidth,]
+{\tiny
\begin{tikzpicture}
\sbEntree{E}
\sbComp{comp}{E}
@@ -929,442 +924,215 @@
\sbBloc[3]{B2}{$H_1$}{B1}
\sbRelier[lien]{B1}{B2}
\sbSortie{S}{B2}
- \sbRelier[Sortie]{B2}{S}
- \sbRenvoi{B2-S}{comp}{}
+\sbRelier[Sortie]{B2}{S}
+\sbRenvoi{B2-S}{comp}{}
\end{tikzpicture}
-\end{Large} \\ \hline
-\end{tabular}
+}
+ \end{tikzexample}
+\caption{Tracé en taille \textbf{tiny}}
+\label{fig:tikztiny}
+\end{figure}
-Il est aussi possible d'utiliser ce changement de taille pour par exemple insister sur une partie de la boucle comme par exemple sur l'exemple ci-dessous, o\xF9 on souhaite insister sur la boucle ext\xE9rieure.
+Il est aussi possible d'utiliser ce changement de taille pour par exemple insister sur une partie de la boucle comme par exemple sur l'exemple de la figure~\ref{fig:tikzTaille}, où on souhaite insister sur la boucle intérieure.
-\begin{center}
+\begin{figure}[!htb]
+\centering
+\begin{tikzexampleL}[title=,]
+{\tiny
\begin{tikzpicture}
\sbEntree{E}
\sbComp{comp}{E}
-\sbRelier{E}{comp}
+ \sbRelier{E}{comp}
\sbBlocL{B1}{$H_0$}{comp}
-\begin{tiny}
-\sbComp[8]{comp2}{B1}
-\sbRelier{B1}{comp2}
+{\normalsize
+\sbStyleBloc{blue,very thick,%
+fill=yellow,text=red}
+\sbComp[5]{comp2}{B1}
+ \sbRelier{B1}{comp2}
\sbBlocL{B10}{$H_2$}{comp2}
\sbBloc[3]{B20}{$H_3$}{B10}
-\sbRelier[lien]{B10}{B20}
+ \sbRelier[lien 1]{B10}{B20}
\sbBloc{B30}{$H_4$}{B20}
\sbRelier{B20}{B30}
- \sbRenvoi{B20-B30}{comp2}{}
-\end{tiny}
-\sbBloc{B2}{$H_1$}{B30}
-\sbRelier[lien]{B30}{B2}
+ \sbRenvoi[2]{B20-B30}{comp2}{}
+}
+\sbBloc[5]{B2}{$H_1$}{B30}
+ \sbRelier[lien 2]{B30}{B2}
\sbSortie[6]{S}{B2}
\sbRelier[Sortie]{B2}{S}
\sbRenvoi[6]{B2-S}{comp}{}
\end{tikzpicture}
-\end{center}
-\begin{multicols}{2}
-\begin{verbatim}
-\begin{tikzpicture}
-\sbEntree{E}
-\sbComp{comp}{E}
-\sbRelier{E}{comp}
-\sbBlocL{B1}{$H_0$}{comp}
-\begin{tiny}
- \sbComp[8]{comp2}{B1}
- \sbRelier{B1}{comp2}
- \sbBlocL{B10}{$H_2$}{comp2}
- \sbBloc[3]{B20}{$H_3$}{B10}
- \sbRelier[lien]{B10}{B20}
- \sbBloc{B30}{$H_4$}{B20}
- \sbRelier{B20}{B30}
- \sbRenvoi{B20-B30}{comp2}{}
-\end{tiny}
-\sbBloc{B2}{$H_1$}{B30}
-\sbRelier[lien]{B30}{B2}
-\sbSortie[6]{S}{B2}
- \sbRelier[Sortie]{B2}{S}
- \sbRenvoi[6]{B2-S}{comp}{}
-\end{tikzpicture}
-\end{verbatim}
+}
+ \end{tikzexampleL}
+\caption{Utilisation du changement de taille dans un schéma}
+\label{fig:tikzTaille}
+\end{figure}
-\end{multicols}
-
-
-
-
-%\section{Vielles d\xE9finitions}
-%\subsubsection{Avertissement}
-%Les anciennes commandes du package schemabloc sont toujours impl\xE9ment\xE9es dans ce package, mais il est pr\xE9f\xE9rable de ne pas les utiliser, elles ne sont maintenues que de mani\xE8re transitoire. Elles ne permettent pas la personnalisation ni le changement de taille.
-%\itshape
-%\subsubsection{Commandes obsol\xE8tes}
-%\begin{itemize}
-%\item \verb"\entree{nom}" : Tous les blocs sont dessin\xE9s en relatif par rapport \xE0 un noeud d'entr\xE9e, la construction du sch\xE9ma ne peut donc d\xE9buter qu'apr\xE8s avoir d\xE9fini le premier noeud avec la commande:\verb"\entree{nom}".
-%\item \verb"\decale[distance]{E1}{E2}" : La commande \verb"\decale[distance]{E1}{E2}" permet de positionner un nouveau n\oe ud par rapport au n\oe ud pr\xE9c\xE9dent, cette commande est n\xE9cessaire pour d\xE9marrer un nouvelle branche ou pour positionner une nouvelle entr\xE9e.
-%\item \verb"\bloc[distance]{nom}{contenu}{bloc precedent}" :
-% \begin{description}
-% \item [distance] ce param\xE8tre optionnel permet de positionner le bloc par rapport au bloc pr\xE9c\xE9dent ( la valeur par d\xE9faut est 6 em);
-% \item [nom] ce param\xE8tre permet de nommer le noeud associ\xE9 au bloc, pour faire r\xE9f\xE9rence \xE0 ce bloc, il faudra utiliser ce param\xE8tre (pour relier les blocs);
-% \item [contenu] ce param\xE8tre pr\xE9cise le contenu du bloc, cela paut \xEAtre aussi bien du texte qu'une fonction math\xE9matique comme $\dfrac{K_c}{1 + \tau \cdot p}$ en tapant \verb"$\dfrac{K_c}{1 + \tau \cdot p}$" (ne pas oublier les \$ );
-% \item[bloc precedent] ce param\xE8tre permet de pr\xE9ciser le bloc pr\xE9c\xE9dent, chaque bloc est positionn\xE9 relativement au bloc pr\xE9c\xE9dent avec la distance \textbf{distance}.
-% \end{description}
-%\item \verb"\blocr..." : La commande \verb"\blocr..." permet de tracer les blocs de la cha\xEEne de retour de la droite vers la gauche. les param\xE8tres de commande sont identiques.
-%\item \verb"\blocseul..." : La commande \verb"\blocseul..." permet de tracer un bloc seul avec une entr\xE9e et une sortie cette commande est g\xE9n\xE9ral utilis\xE9e seule.
-%\item \verb"\comp[distance]{nom}{bloc precedent}" :
-% \begin{description}
-% \item [distance : ] param\xE8tre optionnel permettant de positionner le comparateur par rapport au bloc pr\xE9c\xE9dent ( la valeur par d\xE9faut est 4em);
-% \item [nom :] nom du comparateur, ce nom doit \xEAtre unique dans votre sch\xE9ma, il sert \xE0 r\xE9f\xE9rencer le comparateur pour tous les liens;
-% \item [bloc precedent :] le nom du bloc pr\xE9c\xE9dent, le comparateur est plac\xE9 \xE0 sa droite,\xE0 la distance \textbf{distance}.
-% \end{description}
-%\item \verb"\comph{comp}{E}" : voir ci-dessus pour les param\xE8tres
-%\item \verb"\sumh{comp}{E}" : voir ci-dessus pour les param\xE8tres
-%\item \verb"\sumb{comp}{E}" : voir ci-dessus pour les param\xE8tres
-%\item \verb"\relier{b1}{b2}{nom}" : liens entre deux blocs (ou comparateur, entr\xE9e ou sortie) dans la cha\xEEne directe (de la gauche vers la droite) ou dans la cha\xEEne de retour (de la droite vers la gauche).
-%\item \verb"\renvoi[distance]{nom d\xE9part}{nom arrivee}{texte}" : les renvois sont des liens qui permettent soit de retourner en arri\xE8re (retour) soit de sauter un ou plusieurs blocs; ils sont trac\xE9s entre un lien et un comparateur (sommateur);
-%\item \verb"\relieryx{nom depart}{nom arrivee}{texte}" : lien utilis\xE9 pour relier un bloc d'un ligne vers un bloc d'une ligne parall\xE8le (vers l'avant ou l'arri\xE8re). Ce lien d\xE9bute par une ligne verticale;
-%\item \verb"\relierxy{nom depart}{nom arrivee}{texte}" : lien utilis\xE9 pour relier un bloc d'un ligne vers un bloc d'une ligne parall\xE8le (vers l'avant ou l'arri\xE8re). Ce lien d\xE9bute par une ligne horizontale;
-%\end{itemize}
-
-%\subsubsection{Exemple commandes obsol\xE8tes}
-%
-%\begin{tikzpicture}
-%\entree{E}
-%\comp{a}{E}
-%\bloc{b}{$H_1$}{a}
-%\bloc{c}{$H_2$}{b}
-%\comph[2]{d}{c}
-%\bloc[2]{e}{$H_3$}{d}
-%\bloc{f}{$H_4$}{e}
-%\sortie{S}{f}
-%\sortie{S1}{S}
-%\relier{E}{a}{$E_1$}
-%\relier{a}{b}{$\epsilon$}
-%\relier{b}{c}{}
-%\relier{c}{d}{u}
-%\relier{d}{e}{}
-%\relier{e}{f}{}
-%\relier{f}{S}{}
-%\relier{S}{S1}{$S_1$}
-%\decale[-2]{f}{u}
-%\decale{e}{v}
-%\blocr{r1}{$R_1$}{u}
-%\blocr{r2}{$R_2$}{v}
-%\blocr{r3}{$R_3$}{r2}
-%\relieryx{f-S}{r1}{}
-%\relierxy{r1}{d}{nom1}
-%\relieryx{e-f}{r2}
-%\relier{r2}{r3}{}
-%\relierxy{r3}{a}{nom2}
-%\end{tikzpicture}
-%
-%\begin{minipage}[t]{0.46\linewidth}
-%\begin{verbatim}
-%Code
-%\begin{tikzpicture}
-%\entree{E}
-%\comp{a}{E}
-%\bloc{b}{$H_1$}{a}
-%\bloc{c}{$H_2$}{b}
-%\comph[5]{d}{c}
-%\bloc[5]{e}{$H_3$}{d}
-%\bloc{f}{$H_4$}{e}
-%\sortie{S}{f}
-%\sortie{S1}{S}
-%\relier{E}{a}{$E_1$}
-%\relier{a}{b}{$\epsilon$}
-%\relier{b}{c}{}
-%\relier{c}{d}{u}
-%\relier{d}{e}{}
-%\relier{e}{f}{}
-%\relier{f}{S}{}
-%\relier{S}{S1}{$S_1$}
-%\decale[-5]{f-S}{u}
-%\decale{e}{v}
-%\blocr{r1}{$R_1$}{u}
-%\blocr{r2}{$R_2$}{v}
-%\blocr{r3}{$R_3$}{r2}
-%\relieryx{f-S}{r1}{}
-%\relierxy{r1}{d}{nom1}
-%\relieryx{e-f}{r2}
-%\relier{r2}{r3}{}
-%\relierxy{r3}{a}{nom2}
-%\end{tikzpicture}
-%\end{verbatim}
-%\end{minipage}
-%\begin{minipage}[t]{0.46\linewidth}
-%Commentaires
-%\begin{itemize}
-% \item Les premi\xE8res commandes (de \verb"\entree.." \xE0 \verb"\sortie{S1}.." placent les blocs de la cha\xEEne directe
-% \item On remarquera les deux commandes successives \verb"\sortie..", elles permettent ici d'\xE9viter que le renvoi soit dessin\xE9 par dessus le nom de la sortie.
-% \item Les deux commandes \verb"\decale[-5]{f}{u}" et \verb"\decale{e}{v}" permettent de positionner le d\xE9part des deux boucles de retour, la premi\xE8re est d\xE9cal\xE9 de \textbf{[-5]} au dessus de la cha\xEEne pr\xE9c\xE9dente et positionn\xE9e par rapport au bloc \textbf{f}, la seconde est plac\xE9e par d\xE9faut au dessous par rapport au bloc e. Ces nouveaux n\oe uds sont nomm\xE9s \textbf{u} et \textbf{v}.
-% \item Les blocs de retours sont ensuite trac\xE9s de la droite vers la gauche par rapport \xE0 ces n \oe uds avec la commande \verb"\blocr..." et reli\xE9s.
-% \item La commande \verb"\relieryx{f-S}{r1}{}" trace le lien depuis le milieu de la liaison entre les blocs \textbf{f} et \textbf{s} et le bloc \textbf{r1}, la commande \verb"\relierxy{r1}{d}{nom1}" trace le lien vers le comparateur
-% \item
-%\end{itemize}
-%
-%
-%\end{minipage}
-
-
-
\section{Installation}
\begin{itemize}
-\item Copier le package schemabloc.sty dans votre r\xE9pertoire localtexmf/tex/latex \dots
-\item placer dans l'ent\xEAte de votre document \verb"\usepackage{schemabloc}"
+\item Copier le package schemabloc.sty dans votre répertoire localtexmf/tex/latex \dots
+\item Placer dans l'entête de votre document \verb"\usepackage{schemabloc}"
\end{itemize}
-Vous pouvez aussi copier le code des macros ci-dessous dans votre ent\xEAte.
-\section{Code des macros}
-\begin{verbatim}
-%initialisation des styles
-\tikzstyle{sbStyleLien}=[->,>=latex',]
-\tikzstyle{sbStyleBloc}=[draw, rectangle,]
-\tikzstyle{sbStyleBlocPatate}=[]
-\tikzstyle{sbStyleSum}=[draw, circle,]%style Sum CC
-% Commandes de changement de style
-\newcommand{\sbStyleLienDefaut}{
-\tikzstyle{sbStyleLien}=[->,>=latex']
-}
+\section{Exemples}
-\newcommand{\sbStyleLien}[1]{
-\tikzstyle{sbStyleLien}+=[#1]
-}
+\subsection{Moteur à courant continu}
-\newcommand{\sbStyleBloc}[1]{
-\tikzstyle{sbStyleBloc}+=[#1]
-}
-\newcommand{\sbStyleBlocDefaut}{
-\tikzstyle{sbStyleBloc}=[draw, rectangle,]
-}
-\newcommand{\sbStyleSum}[1]{
-\tikzstyle{sbStyleSum}+=[#1]
-}
+\begin{tikzexampleL}[title=Moteur à courant continu]
+\begin{tikzpicture}
+\sbEntree{Uc}
+\sbComp{C1}{Uc}
+ \sbRelier[$U_c(p)$]{Uc}{C1}
+\sbBlocL{He}{$\dfrac{1}{R+L\cdot p}$}{C1}
+\sbBlocL{Kc}{$K_c$}{He}
+\sbSumh{C2}{Kc}
+ \sbRelier[$C_m(p)$]{Kc}{C2}
+\sbBlocL{Hm}{$\dfrac{1}{J\cdot p +f}$}{C2}
+\sbSortie[5]{Omeg}{Hm}
+ \sbRelier[$\Omega_m(p)$]{Hm}{Omeg}
+\sbDecaleNoeudy{Kc}{Ke}
+\sbBlocr{Ke}{$K_e$}{Ke}
+ \sbRelieryx{Hm-Omeg}{Ke}
+ \sbRelierxy[$E(p)$]{Ke}{C1}
+\draw[latex-](C2)|-++(-3em,3em)node[left]{$C_r(p)$};
+\end{tikzpicture}
+\end{tikzexampleL}
-\newcommand{\sbStyleSumDefaut}{
-\tikzstyle{sbStyleBloc}=[draw, circle,]
-}%style Sum default CC
+\subsection{Schéma blocs avec comparateur dans la boucle de retour}
+\begin{tikzexample}[title=Schéma blocs avec comparateur et fonction dans la boucle de retour]
+\begin{tikzpicture}
+\sbEntree{E}
+\sbStyleBloc{fill=black!30,text=blue,text width=8em}
+\sbComp{comp}{E}
+ \sbRelier[$E_1$]{E}{comp}
+\sbBloc{A}{$A(p)=\dfrac{100}{p+10}$}{comp}
+ \sbRelier[$\epsilon$]{comp}{A}
+\sbSortie[5]{S}{A}
+ \sbRelier[$S_1$]{A}{S}
+\sbDecaleNoeudy[4]{S}{U}
+\sbCompSum[-4]{C1}{U}{}{-}{}{+}
+ \sbRelieryx{A-S}{C1}
+\sbBlocr{B}{$B(p)=\dfrac{3}{p+1}$}{C1}
+ \sbRelier{C1}{B}
+ \sbRelierxy[m]{B}{comp}
+ \sbRenvoi{B-comp-1}{C1}{}
+\end{tikzpicture}
+\end{tikzexample}
-% Commandes d'entr\xE9e et sortie
-\newcommand{\sbEntree}[1]{
- \node [coordinate, name=#1] {};
-\sbDecaleNoeudx[0]{#1}{#1}
-}
-\newcommand{\sbSortie}[3][2]{
- \node [coordinate, right of=#3droite, node distance=#1em, minimum size=0em,right] (#2) {};
-}
+\newpage
-%Commandes de Bloc
-\newcommand{\sbBloc}[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){};
-}
+\subsection{Schéma blocs paramétrés}
-\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){};
-}
+Deux exemples à partir du même code de tracé d'un graphe, les différentes fonctions et variables sont paramétrées dans le code.
+\begin{tikzexample}[title=Système bouclé unitaire paramétrable (premier ordre), righthand width=0.55\textwidth,]
+\begin{tikzpicture}
+%définition des paramètres
+\def\Sortie{$S(p)$}
+\def\Entree{$E(p)$}
+\def\HC{$K_p$}
+\def\HM{$\dfrac{K}
+{1+\tau\cdot p}$}
+\def\eps{$\varepsilon(p)$}
+\def\VU{$U(p)$}
+\sbEntree{E}
+\sbComp{comp}{E}
+\sbRelier[\Entree]{E}{comp}
+\sbBloc{B1}{\HC}{comp}
+\sbRelier[\eps]{comp}{B1}
+\sbBloc[3]{B2}{\HM}{B1}
+\sbRelier[\VU]{B1}{B2}
+\sbSortie[4]{S}{B2}
+\sbRelier[\Sortie]{B2}{S}
+\sbRenvoi{B2-S}{comp}{}
+\end{tikzpicture}
+\end{tikzexample}
-\newcommand{\sbBlocr}[4][2]{
-\node [
- minimum height=3em, minimum width=3em, left of = #4gauche,
-node distance=#1em, sbStyleBloc,left] (#2) {#3};
-\node (#2gauche) at (#2.west){};
-}
+\begin{tikzexample}[title=Système bouclé unitaire paramétrable (second ordre), righthand width=0.58\textwidth,]
+\begin{tikzpicture}
+%définition des paramètres
+\def\Sortie{$S(p)$}
+\def\Entree{$E(p)$}
+\def\HC{$K_p\cdot \dfrac{1+T_i\cdot p}{T_i\cdot p}$}
+\def\HM{$\dfrac{K}
+{1+\dfrac{2\cdot \xi}{\omega_n}\cdot p +\dfrac{p^2}{\omega_n^2}}$}
+\def\eps{$\varepsilon(p)$}
+\def\VU{$U(p)$}
+\sbEntree{E}
+\sbComp{comp}{E}
+\sbRelier[\Entree]{E}{comp}
+\sbBloc{B1}{\HC}{comp}
+\sbRelier[\eps]{comp}{B1}
+\sbBloc[3]{B2}{\HM}{B1}
+\sbRelier[\VU]{B1}{B2}
+\sbSortie[2]{S}{B2}
+\sbRelier[\Sortie]{B2}{S}
+\sbRenvoi{B2-S-1}{comp}{}
+\end{tikzpicture}
+\end{tikzexample}
-\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);
-}
+\newpage
-\newcommand{\sbBlocrL}[4][2]{
-\node [draw, rectangle,
- minimum height=3em, minimum width=3em, left of = #4gauche,
-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);
-}
+\subsection{Correcteurs P.I.D.}
-\newcommand{\sbBlocseul}[4][1.5]{
-\sbEntree{E1}
-\sbBloc[#1]{B1}{#3}{E1}
-\sbSortie[#1]{S1}{B1}
-\sbRelier{E1}{B1}{#2}
-\sbRelier{B1}{S1}{#4}
-}
+Tracé des différentes formes du correcteur P.I.D.
-%\Commande de lien
-\newcommand{\sbRelier}[3][]{
- \draw [sbStyleLien,auto] (#2) -- node[name=#2-#3] {#1} (#3);
-}
+\begin{tikzexample}[title=P.I.D. parallèle, righthand width=0.5\textwidth,]
+\begin{tikzpicture}
+\sbEntree{E} \sbNomLien[1]{E}{$\epsilon(p)$}
+\sbBlocL{Int}{$\dfrac{1}{T_i\cdot p}$}{E}
+\sbDecaleNoeudy[4]{E}{Der}
+\sbDecaleNoeudy[-4]{E}{Prop}
+\sbBloc{Der}{$T_d\cdot p$}{Der} \sbRelieryx{E-Int}{Der}
+\sbBloc{Prop}{$K_p$}{Prop} \sbRelieryx{E-Int}{Prop}
+\sbCompSum{Somme}{Int}{+}{+}{+}{ }
+\sbRelier{Int}{Somme}
+\sbRelierxy{Prop}{Somme}
+\sbRelierxy{Der}{Somme}
+\sbSortie{S}{Somme} \sbRelier[$U(p)$]{Somme}{S}
+\end{tikzpicture}
+\end{tikzexample}
-\newcommand{\sbRelieryx}[2]{
-\draw [sbStyleLien] (#1.south) |- (#2) ;
-}
-\newcommand{\sbRelierxy}[3][]{
-\draw [sbStyleLien] (#2) -| node[name=#2-#3,near end,right] {#1} (#3) ;
-}
+\begin{tikzexample}[title=P.I.D. mixte, righthand width=0.5\textwidth,]
+\begin{tikzpicture}
+\sbEntree{E} \sbNomLien[1]{E}{$\epsilon(p)$}
+\sbBlocL{Prop}{$K_p$}{E}
+\sbBlocL{Int}{$\dfrac{1}{T_i\cdot p}$}{Prop}
+\sbDecaleNoeudy[4]{Prop}{Der}
+\sbBloc[4]{Der}{$T_d\cdot p$}{Der} \sbRelieryx{Prop-Int}{Der}
+\sbCompSum{Somme}{Int}{+}{+}{+}{ }
+\sbRenvoi[-4]{Prop-Int}{Somme}{}
+\sbRelier{Int}{Somme}
+\sbRelierxy{Der}{Somme}
+\sbSortie{S}{Somme} \sbRelier[$U(p)$]{Somme}{S}
+\end{tikzpicture}
+\end{tikzexample}
-\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) ;
-}
-\newcommand{\sbNomLien}[3][0.4]{
-\node[above of=#2, node distance=#1em] (#2nom) at (#2) {#3};
-}
-%Commande comparateurs et sommateurs
-\newcommand*{\sbCompSum}{\@ifstar\sbCompSumNorm\sbCompSumUsuel}
+\begin{tikzexample}[title=P.I.D. série, righthand width=0.5\textwidth,]
+\begin{tikzpicture}
+\sbEntree{E}
+\node[above right=0em and-0.5em of E]{$\epsilon(p)$};
+%\sbNomLien[1]{E}{$\epsilon(p)$}
+\sbBlocL{Prop}{$K_p$}{E}
+\sbBlocL[1.5]{Int}{$\dfrac{1}{T_i\cdot p}$}{Prop}
+\sbSumh[1.8]{Som1}{Int} \sbRelier{Int}{Som1}
+\sbRenvoi[-3]{Prop-Int}{Som1}{}
+\sbBlocL[1.5]{Der}{$T_d\cdot p$}{Som1}
+\sbSumh[1.8]{Som2}{Der} \sbRelier{Der}{Som2}
+\sbRenvoi[-3]{Som1-Der}{Som2}{}
+\sbSortie{S}{Som2} \sbRelier[$U(p)$]{Som2}{S}
+\end{tikzpicture}
+\end{tikzexample}
-\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 (#2droite) at (#2.east){};
-\node (#2gauche) at (#2.west){};
-}
-% j'ai modifi\xE9 le dessin du comparateur qui comporte 3 entr\xE9es dont le signe est donn\xE9par #4 pour la chaîne directe, #5 pour le retour du bas, #6 pour le retour du haut. J'ai ajout\xE9 un style Sum. Je n'ai pas touch\xE9 le reste.
-\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 (#2droite) at (#2.east){};
-\node (#2gauche) at (#2.west){};
-}
-\newcommand{\sbSum}[6][4]{
- \node [draw, circle,minimum size=1.5em, right of=#3,node distance=#1em,
-label=175:$#4$,label=-85:$#5$,label=85:$#6$,sbStyleSum] (#2) {};
-\node (#2droite) at (#2.east){};
-\node (#2gauche) at (#2.west){};
-}
-
-\newcommand*{\sbComp}{\@ifstar\sbCompNorm\sbCompUsuel}
-\newcommand{\sbCompUsuel}[3][4]{
-\sbCompSum[#1]{#2}{#3}{}{-}{+}{}
-}
-\newcommand{\sbCompNorm}[3][4]{
-\sbCompSum*[#1]{#2}{#3}{}{-}{+}{}
-}
-
-
-\newcommand*{\sbComph}{\@ifstar\sbComphNorm\sbComphUsuel}
-\newcommand{\sbComphUsuel}[3][4]{
-\sbCompSum[#1]{#2}{#3}{-}{}{+}{}
-}
-
-\newcommand{\sbComphNorm}[3][4]{
-\sbCompSum*[#1]{#2}{#3}{-}{}{+}{}
-}
-
-\newcommand*{\sbSumh}{\@ifstar\sbSumhNorm\sbSumhUsuel}
-\newcommand{\sbSumhUsuel}[3][4]{
-\sbCompSum[#1]{#2}{#3}{+}{}{+}{}
-}
-\newcommand{\sbSumhNorm}[3][4]{
-\sbCompSum*[#1]{#2}{#3}{+}{}{+}{}
-}
-
-\newcommand*{\sbSumb}{\@ifstar\sbSumbNorm\sbSumbUsuel}
-\newcommand{\sbSumbUsuel}[3][4]{
-\sbCompSum[#1]{#2}{#3}{}{+}{+}{}
-}
-\newcommand{\sbSumbNorm}[3][4]{
-\sbCompSum*[#1]{#2}{#3}{}{+}{+}{}
-}
-
-
-%Commandes de d\xE9calage 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{\sbDecaleNoeudx}[3][5]{
-\node [right of=#2, node distance=#1em, minimum size=0em](#3) {};
-\node (#3droite) at (#3){};
-\node (#3gauche) at (#3){};
-}
-
-
-%==============Chaines et Boucles===========
-
-\newcommand{\sbChaine}[3][4]{
-\foreach \x/\y [remember=\x as \lastx (initially #2)] in {#3}
-{\sbBlocL[#1]{\x}{\y}{\lastx}
-}
-}
-
-\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#1}{#2}\sbRelier{E}{Comp#1}
-\sbChaine[#1]{Comp#1}{#3}
-\sbSortie[#1]{#4}{BlocdeFin}
-\draw [sbStyleLien,auto] (BlocdeFindroite.base) -- node[name=FindeChaine-#4] {} (#4);
-\sbRenvoi{FindeChaine-#4}{Comp#1}{}
-}
-
-
-\newcommand{\sbBoucle}[3][4]{
-\sbComp[#1]{Comp#1}{#2}\sbRelier{E}{Comp#1}
-\sbChaine[#1]{Comp#1}{#3}
-\draw [sbStyleLien,auto,-] (BlocdeFindroite.base) --++(1em,0)coordinate[name=FindeChaine];
-\sbRenvoi{FindeChaine}{Comp#1}{}
-}
-
-\newcommand{\sbBoucleRetour}[4][4]{
-\sbComp[#1]{Comp#1}{#2}\sbRelier{E}{Comp#1}
-\sbChaine[#1]{Comp#1}{#3}
-\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#1) ;
-
-}
-\end{verbatim}
-
-
-
-
-
-
-\printindex
-
-
-
-
-
-\newpage
-
-
-
-\printindex
-
-
\end{document}
-
Modified: trunk/Master/texmf-dist/tex/latex/schemabloc/schemabloc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/schemabloc/schemabloc.sty 2023-10-02 23:43:22 UTC (rev 68444)
+++ trunk/Master/texmf-dist/tex/latex/schemabloc/schemabloc.sty 2023-10-03 20:09:50 UTC (rev 68445)
@@ -1,60 +1,86 @@
+% !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\xE9ma-blocs mise \xE0 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\xE9e 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]{
@@ -61,22 +87,21 @@
\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 (#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,24 +148,57 @@
\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){};
+}
+
\newcommand{\sbSum}[6][4]{
\node [draw, circle,minimum size=1.5em, right of=#3,node distance=#1em,
label=175:$#4$,label=-85:$#5$,label=85:$#6$,sbStyleSum] (#2) {};
@@ -153,16 +214,51 @@
\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 @@
\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,14 +283,28 @@
\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\xE9calage 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){};
@@ -193,9 +311,14 @@
\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}
{\sbBlocL[#1]{\x}{\y}{\lastx}
@@ -202,6 +325,13 @@
}
}
+
+\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}
@@ -208,11 +338,14 @@
}
}
+
\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 @@
\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) ;
-
+\draw [sbStyleLien] (FindeChaine) |- (sbDebutRetour.west) ;
+\draw [sbStyleLien] (BlocdeFingauche.base) -- (BlocdeFingauche.base -|Comp#2) -- (Comp#2) node[name=sbNomRetour,near end,right] {};
}
-
-
-
-
-%vielles definitions, ne plus utiliser, d\xE9commenter si n\xE9cessaire
-%\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}
-%}
More information about the tex-live-commits
mailing list.