Sciences Industrielles en CPGE

Accueil > LaTeX en SI > Schéma-blocs avec PGF/TIKZ sous LaTeX

Schéma-blocs avec PGF/TIKZ sous LaTeX

mardi 6 janvier 2009, par papanicola robert

 version 1.8

 Le package proposé sur CTAN est toujours l’ancienne version (1.5)

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.

Les macros ont été adaptées à partir des exemples d’utilisation de la librairie pgf de Till Tantau et TikZ de Kjell Magne Fauske et principalement block-diagram}.

La doc suivante est extraite de la doc principale (fichier pdf et/ou flash) elle ne présente que quelques utilsations.

Utilisation typique
L’utilisation typique de cet ensemble de macro-commandes est produire des diagrammes fonctionnels tel celui présenté sur la figure suivante.

Utilisation typique
Schéma d’utilsation typique du package schéma bloc

On retrouve dans ces schémas les principales fonctionnalités des macros

 des blocs :

  • de la gauche vers la droite,
  • de la droite vers la gauche ;

 un comparateur ;
 une entrée ;
 une sortie ;
 des liens :

  • simple entre blocs alignés,
  • entre un lien et un bloc ,
  • entre deux blocs (ou comparateur) non alignés,
  • un retour direct.

Le code utilisé pour décrire le schéma est précisé ci-contre.

\begin{minipage}[t]{0.36\linewidth}
\begin{verbatim}
\begin{tikzpicture}
\sbEntree{E}
\sbComp{comp}{E}                
\sbRelier[$E_1$]{E}{comp}
\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}
\end{tikzpicture}
\end{verbatim}

Schéma complexe

Schéma bloc

ce schéma a ete obtenu avec le code suivant :

\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}
\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}

Personalisation

Il est aussi possible de personaliser la représentation des blocs et des liens

Personalisation des blocs
Personalisation des liens et textes

Installation

 Décompresser l’archive jointe
 Copier le package schemabloc.sty dans votre répertoire localtexmf/tex/latex
 Placer dans l’entête de votre document

Vous pouvez aussi copier le code des macros ci-dessous dans votre entête.

Messages

  • J’ai une tout petite question :
    "Comment peux je dessiner deux entrées ?, c’est à dire, est-il possible de dessiner deux entrées avec des liens pour chaqu’un d’eux ?"

    Je peux dessiner les deux blocs :

    \begintikzpicture

    \sbEntreeentrada

    \sbBlocbloc1Caja 1entrada

    \sbDecaleNoeudy[5]entradabloc1

    \sbBlocbloc2Caja 2bloc1

    \sbDecaleNoeudy[-5]entradabloc2

    \endtikzpicture

    Pourtant je n’arrive pas a dessiner les fleches d’entrée pour chaque bloc.
    J’espère qu’il est possible de faire ça.
    Merci pour le package.