Diagramma a blocchi (decisionale) con Tikz

  • Creatore
    Topic
  • #103586
    Up
    0
    Down
    ::


    Ciao a tutti.
    Per diletto, sto riscrivendo dei miei vecchi documenti usando qualche competenza in più maturata su LaTeX così da mettermi alla prova.
    Ho deciso di rifare un diagramma a blocchi (di quelli decisionali, che in inglese trovo come “flowchart”) usando TikZ (in passato avevo creato un’immagine).
    Mi sono riferito all’esempio presente qui.

    Il problema è che l’esempio di cui sotto mi dà un errore (vedi ancora più sotto) e non compila
    `
    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage{graphicx}
    \usepackage{tikz}
    \usetikzlibrary{matrix,calc,shapes}
    \tikzset{
    treenode/.style = {shape=rectangle,
    draw, anchor=center,
    text width=5em, align=center,
    inner sep=1ex},
    decision/.style = {treenode, diamond, inner sep=0pt},
    root/.style = {treenode, font=\Large, bottom color=red!30},
    env/.style = {treenode, font=\ttfamily\normalsize},
    finish/.style = {root, bottom color=green!40},
    dummy/.style = {circle,draw}
    }
    \newcommand{\yes}{edge node [above] {\textsc{sì}}}
    \newcommand{\no}{edge node

    {\textsc{no}}}
    \usepackage{amsfonts, amssymb, amsthm, amsmath}
    \begin{document}
    \begin{tikzpicture}[-latex]
    \matrix (chart)
    [
    matrix of nodes,
    column sep = 3em,
    row sep = 5 ex,
    column 1/.style={nodes={env}},
    column 2/.style={nodes={decision}}
    ]
    {
    |[root]| Input & \\
    Calcolo f & \\
    Stima del guadagno (vecchio metodo) & \\
    Stima $\Delta r$ & |[env]| Raffinamento segnale\\
    Stima del guadagno (da $\Delta r$) & Precisione sufficiente? & |[finish]| Output\\
    };
    \draw
    (chart-5-2) \no (chart-4-2)
    (chart-5-2) \yes (chart-5-3)
    (chart-1-1) edge (chart-2-1)
    \foreach\x [evaluate=\x as \xeval using \x +1] in {2,…,5}{
    (chart-\x-1) edge (chart-\xeval-1); }
    (chart-4-2) |- (chart-3-1);
    \end{tikzpicture}
    \end{document}
    `

    l’errore che mi dà è:
    `
    ./emc.tex:46: Package pgf Error: No shape named chart-3 is known.

    See the pgf package documentation for explanation.
    Type H for immediate help.

    l.46 (chart-\x-1) edge (chart-\xeval-1); }
    `
    che fatico a capire, dato che ho in parte copiato dal sito.

    EDIT FINALE: ho messo l’ultimo errore. Praticamente io vorrei che tutti i blocchi a sinistra, di tipo “env” fossero collegati da una freccia (dall’alto al basso). Per questo avevo pensato al foreach, che avrebbe dovuto collegare \x a \x+1. Evidentemente mi perdo qualcosa

  • Devi essere connesso per rispondere a questo topic.

Go to top