IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation (La)TeX avancée Discussion :

Tikz fleche a double changement de direction + OT1 encoding + Overfull h


Sujet :

Programmation (La)TeX avancée

  1. #1
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 940
    Points : 2 028
    Points
    2 028
    Par défaut Tikz fleche a double changement de direction + OT1 encoding + Overfull h
    Bonjour

    Je tente de faire des diagrammes de flux avec Tikz
    Voici ou j'en suis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    \documentclass{article}
    \usepackage[UTF8]{inputenc} %pour que les accents passent bien
    \usepackage[french]{babel}
    %\usepackage[latin1]{inputenc}
    \usepackage{tikz}
    \usetikzlibrary{shapes,arrows}
    \begin{document}
    \pagestyle{empty}
     
     
    % Define block styles
    \tikzstyle{decision} = [diamond, draw, fill=blue!0, 
        text width=5em, text badly centered, node distance=3cm, inner sep=0pt]
    \tikzstyle{block} = [rectangle, draw, fill=blue!0, 
        text width=12em, text centered, rounded corners, minimum height=2em]
    \tikzstyle{line} = [draw,-latex']
    \tikzstyle{lineNO} = [draw,o-latex']
    \tikzstyle{cloud} = [draw, ellipse,fill=red!0, node distance=3cm,
        minimum height=2em]
     
     
    \begin{tikzpicture}[node distance = 1cm ,auto]
        % Place nodes
        \node [block] (start) {Start Config to RAM};
        \node [block, below of=start] (Memset) {Tout à 0};
        \node [decision, below of=Memset, node distance=2cm] (TestZones) {2 zones de Flash invalides ?};
        \node [decision, below of=TestZones] (TestError) {Error ? (SPI)};
        \node [block, right of=TestError , node distance=5cm] (Defaut) {Force config par defaut};
        \node [decision, below of=TestZones] (TestError) {Error ? (SPI)};
        \node [decision, below of=TestError , node distance=3.5cm] (TestFichier) {Fichier config présent sur SD ?};
        \node [block, right of=TestFichier , node distance=5cm] (AnalyseFichier) {Analyse du fichier  de la SD};
        \node [block, below of=AnalyseFichier] (Effacement) {Effacement du fichier de la SD};
    	\node [block, below of=TestFichier, node distance=3cm] (Validconfig) {Validation de la configuration};
    	\node [decision, below of=Validconfig , node distance=2cm] (TestSave) {Enregistrement à faire ?};
    	\node [block, right of=TestSave, node distance=5cm] (Sauv) {Sauvegarde RAM->Flash};
    	\node [block, below of=TestSave, node distance=2cm] (Fin) {Fin};
     
        % Draw edges
        \path [line] (start) -- (Memset);
        \path [line] (Memset) -- (TestZones);
        \path [line] (TestZones) -| (Defaut);
        \path [lineNO] (TestZones) -- (TestError);
        \path [line] (TestError) -- (Defaut);
        \path [lineNO] (TestError) -- (TestFichier);
        \path [line] (Defaut) -- (TestFichier);
        \path [line] (TestFichier) -- (AnalyseFichier);
        \path [lineNO] (TestFichier) -- (Validconfig);
        \path [line] (AnalyseFichier) -- (Effacement);
        \path [line] (Effacement) -- (Validconfig);
        \path [line] (Validconfig) -- (TestSave);
          \path [line] (TestSave) -- (Sauv);
        \path [lineNO] (TestSave) -- (Fin);
        \path [line] (Sauv) -- (Fin);
     
    \end{tikzpicture}
     
    \end{document}
    ce qui donne ceci
    Nom : Diag1.JPG
Affichages : 822
Taille : 40,3 Ko

    3 soucis :
    1) J'ai un warning
    OT1 encoding should not be used for French.
    dont je n'arrive pas à trouver l'origine on me suggère de remplacer OT1 par T1 mais j'ai OT1 nullpart...
    2) le overfull h sur le test "Enregistrement à faire", je ne comprends pas pourquoi il ne coupe pas le mot enregistrement, comme il le fait par exemple sur le "Fichier" de "Effacement du fichier de la SD"
    3) J'aimerais mettre des fleches tel que ici en rouge mais je n'ai pas trouvé l'ombre de la trace d'une piste encore ; Je doute à ce stade de pouvoir faire ça simplement en modifiant ce \tickzstyle{line} que j'ai défini
    Nom : Diag2.JPG
Affichages : 770
Taille : 62,1 Ko

    Merci par avance pour votre aide
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  2. #2
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    on me suggère de remplacer OT1 par T1 mais j'ai OT1 nullpart...
    Effectivement, mais tu n'as pas T1 non plus. (OT1 est par défaut). \usepackage[T1]{fontenc} et hop, plus d'avertissement.

    je ne comprends pas pourquoi il ne coupe pas le mot enregistrement
    TeX ne fait pas de césure sur le premier mot d'un paragraphe. (c'est un cas assez rare ici). On peut découper ce mot manuellement : Enre\-gis\-tre\-ment ainsi TeX choisira l'endroit le plus adapté pour la césure. Un solution automatique est plus complexe à mettre en œuvre.

    J'aimerais mettre des fleches tel que ici en rouge mais je n'ai pas trouvé l'ombre de la trace d'une piste encore ; Je doute à ce stade de pouvoir faire ça simplement en modifiant ce \tickzstyle{line} que j'ai défini
    SI tu veux une flèche en rouge, il suffit de dire "red" dans les options des lignes. Et pour la flèche à angle droit, faire comme pour la première que tu as faite : |-. Pour faire aboutir cette flèche au centre d'une autre flèche, on créer un node au milieu de cette flèche et on rejoint le tout.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    \documentclass{article}
    \usepackage[UTF8]{inputenc} %pour que les accents passent bien
    \usepackage[french]{babel}
    \usepackage[T1]{fontenc}
    \usepackage{tikz}
    \usetikzlibrary{shapes,arrows}
    \begin{document}
    \pagestyle{empty}
     
    % Define block styles
    \tikzstyle{decision} = [diamond, draw, fill=blue!0, 
        text width=5em, text badly centered, node distance=3cm, inner sep=0pt]
    \tikzstyle{block} = [rectangle, draw, fill=blue!0, 
        text width=12em, text centered, rounded corners, minimum height=2em]
    \tikzstyle{line} = [draw,-latex']
    \tikzstyle{lineNO} = [draw,o-latex']
    \tikzstyle{cloud} = [draw, ellipse,fill=red!0, node distance=3cm,
        minimum height=2em]
     
     
    \begin{tikzpicture}[node distance = 1cm ,auto]
        % Place nodes
        \node [block] (start) {Start Config to RAM};
        \node [block, below of=start,node distance = 1cm] (Memset) {Tout à 0};
        \node [decision, below of=Memset, node distance=2cm] (TestZones) {2 zones de Flash invalides ?};
        \node [decision, below of=TestZones] (TestError) {Error ? (SPI)};
        \node [block, right of=TestError , node distance=5cm] (Defaut) {Force config par defaut};
        \node [decision, below of=TestZones] (TestError) {Error ? (SPI)};
        \node [decision, below of=TestError , node distance=3.5cm] (TestFichier) {Fichier config présent sur SD ?};
        \node [block, right of=TestFichier , node distance=5cm] (AnalyseFichier) {Analyse du fichier  de la SD};
        \node [block, below of=AnalyseFichier] (Effacement) {Effacement du fichier de la SD};
    	\node [block, below of=TestFichier, node distance=3cm] (Validconfig) {Validation de la configuration};
    	\node [decision, below of=Validconfig , node distance=3cm] (TestSave) {Enre\-gis\-tre\-ment à faire ?};
    	\node [block, right of=TestSave, node distance=5cm] (Sauv) {Sauvegarde RAM->Flash};
    	\node [block, below of=TestSave, node distance=3cm] (Fin) {Fin};
     
        % Draw edges
        \path [line] (start) -- (Memset);
        \path [line] (Memset) -- (TestZones);
        \path [line] (TestZones) -| (Defaut);
        \path [lineNO] (TestZones) -- (TestError);
        \path [line] (TestError) -- (Defaut);
        \path [lineNO] (TestError) -- (TestFichier) node[midway,inner sep =0pt](c){};
        \path [line,red] (Defaut) |- (c.center);
        \path [line] (TestFichier) -- (AnalyseFichier);
        \path [lineNO] (TestFichier) -- (Validconfig) node[midway,inner sep =0pt](a){};
        \path [line] (AnalyseFichier) -- (Effacement);
        \path [line,red] (Effacement) |- (a.center);
        \path [line] (Validconfig) -- (TestSave);
          \path [line] (TestSave) -- (Sauv);
        \path [lineNO] (TestSave) -- (Fin) node[midway,inner sep =0pt](b){};
        \path [line,red] (Sauv)  |- (b.center);
     
    \end{tikzpicture}
     
    \end{document}
    Nom : tikz.PNG
Affichages : 726
Taille : 29,6 Ko

  3. #3
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 940
    Points : 2 028
    Points
    2 028
    Par défaut
    Citation Envoyé par -Nikopol- Voir le message
    Effectivement, mais tu n'as pas T1 non plus. (OT1 est par défaut). \usepackage[T1]{fontenc} et hop, plus d'avertissement.
    Je vais renoncer à l'émerveillement tellement c'est limpide
    tu écriras 5000x : "lit ce qu'on te dit et croit 5000x ce qu'on te dit"


    Citation Envoyé par -Nikopol- Voir le message
    TeX ne fait pas de césure sur le premier mot d'un paragraphe. (c'est un cas assez rare ici). On peut découper ce mot manuellement : Enre\-gis\-tre\-ment ainsi TeX choisira l'endroit le plus adapté pour la césure. Un solution automatique est plus complexe à mettre en œuvre.
    Je me la note celle là parce que ça va m'arriver encore...
    C'est peut être aussi l'indice que le texte n'est pas le bon ; "Y a t-il un truc à enregistrer ?" ...

    Citation Envoyé par -Nikopol- Voir le message
    SI tu veux une flèche en rouge, il suffit de dire "red" dans les options des lignes. Et pour la flèche à angle droit, faire comme pour la première que tu as faite : |-. Pour faire aboutir cette flèche au centre d'une autre flèche, on créer un node au milieu de cette flèche et on rejoint le tout.
    CQFD, je ne voulais pas de couleur mais ça c'est fait...


    Comme mes questions semblent ne pas avoir été assez difficiles j'en ajoute 2...
    4) Pour les decisions (contrairement aux block entre eux) je suis obligé de coller partout des , y a t-il moyen qu'il se débrouille comme il le fait très bien avec les block entre eux? Ou alors les block entre eux ça fonctionne uniquement parce qu'ils ont besoin de moins d’écart et que cet écart se fait par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \begin{tikzpicture}[node distance = 1cm ,auto]
    ? au fait il fait quoi le auto ici ? pas réussi à trouver son rôle et si je le retire ça semble rien changer.

    5) Si je veux faire une flèche qui sort verticalement en dessous du node "Fin", contourne tout et rerentre également vers le bas sur le node "start" ça va faire 5 tronçons de flèche. J'en reviens au même problème qu'à ma première question sur les flèches où je cherchais à faire une flèche de 3 tronçons.

    re merci
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

Discussions similaires

  1. [Google Maps] Itinéraires et icônes changement de direction
    Par wehtam dans le forum APIs Google
    Réponses: 1
    Dernier message: 02/03/2013, 11h43
  2. [Débutant] suppression d'un changement de direction
    Par membreComplexe12 dans le forum MATLAB
    Réponses: 2
    Dernier message: 22/02/2012, 21h42
  3. Réponses: 2
    Dernier message: 21/09/2009, 15h36
  4. Réponses: 0
    Dernier message: 17/09/2009, 21h16
  5. Changement de direction
    Par bim92i dans le forum Emploi
    Réponses: 4
    Dernier message: 06/02/2009, 13h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo