Schéma-blocs avec PGF/TIKZ sous LaTeX

Schéma blocLatex
  • 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.

Documents joints

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.