Freccia particolare flow chart TikZ

  • Creatore
    Topic
  • #111575
    Up
    0
    Down
    ::


    Ciao a tutti!
    Ho realizzato un diagramma di flusso semplicissimo usando TikZ, non riesco però a creare il collegamento tra il blocco D e E nel modo che potete vedere nella immagine qui sotto.

    [attachment=1940]FullSizeRender.jpg[/attachment]

    Il codice che ho attualemnte è:
    `
    \begin{tikzpicture}[node distance=2cm]
    \node (pro1) [process] {Processo 1};
    \node (pro2) [process, right of=pro1, xshift=2cm] {Processo 2};
    \node (pro3) [process, right of=pro2, xshift=2cm] {Processo 3};
    \node (pro4) [process, right of=pro3, xshift=2cm] {Processo 4};
    \node (pro5) [process, below of=pro1, yshift=-0.5cm] {Processo 5};
    \node (pro6) [process, right of=pro5, xshift=2cm] {Processo 6};
    \draw [arrow] (pro1) — (pro2);
    \draw [arrow] (pro2) — (pro3);
    \draw [arrow] (pro3) — (pro4);
    \draw [arrow] (pro4) — (pro5);
    \draw [arrow] (pro5) — (pro6);
    \end{tikzpicture}`

    Con process ed arrow definiti in questo modo:
    `\tikzstyle{process} = [rectangle, minimum width=3cm, minimum height=2cm, text centered, draw=black, text width=3cm, fill=orange!30]
    \tikzstyle{arrow} = [thick,->,>=stealth]
    `

    Il problema quindi risiede quindi nella freccia tra pro4 e pro5 che non si comporta come vorrei io
    `\draw [arrow] (pro4) — (pro5);`

    Avete qualche idea?

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #111576
      Antonio
      Partecipante
        Up
        0
        Down
        ::


        Una volta utilizzai tkz per degli schemi tipo mappe, inizialmente direttamente da codice LaTex, poi però ho trovato un modo per facilitarmi la vita cosi:

        1) ho chiaramente usato le include per il modulo tikz nel documento principale,
        2) utilizzando un programma Linux, mi pare Dia, ma può darsi che anche altri programmi Linux o Windows riascano a fare lo stesso, ho disegnato il mio bel diagramma esportando il prodotto finale come macro LaTex
        3) nel documento poi ho utilizzato il seguente codice per inserire il diagramma dove volevo io

        `
        \begin{center}
        \input{islam-macro}
        \end{center}
        `

        Ovviamente la macro deve essere all’interno del path name dove c’è il documento tex principale che lo richiama.
        In questa maniera hai il vantaggio di disegnare graficamente il diaggramma Se poi con un editor qualsiasi apri la macro creata, vedrai che nel codice c’è la voce tikzpicture.

        Spero ti possa essere stato utile.

      • #111577
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          ASP” post=111865Ciao a tutti!
          Ho realizzato un diagramma di flusso semplicissimo usando TikZ, non riesco però a creare il collegamento tra il blocco D e E nel modo che potete vedere nella immagine qui sotto.

          [attachment=1940]FullSizeRender.jpg[/attachment]

          Il codice che ho attualemnte è:
          `
          \begin{tikzpicture}[node distance=2cm]
          \node (pro1) [process] {Processo 1};
          \node (pro2) [process, right of=pro1, xshift=2cm] {Processo 2};
          \node (pro3) [process, right of=pro2, xshift=2cm] {Processo 3};
          \node (pro4) [process, right of=pro3, xshift=2cm] {Processo 4};
          \node (pro5) [process, below of=pro1, yshift=-0.5cm] {Processo 5};
          \node (pro6) [process, right of=pro5, xshift=2cm] {Processo 6};
          \draw [arrow] (pro1) — (pro2);
          \draw [arrow] (pro2) — (pro3);
          \draw [arrow] (pro3) — (pro4);
          \draw [arrow] (pro4) — (pro5);
          \draw [arrow] (pro5) — (pro6);
          \end{tikzpicture}`

          Con process ed arrow definiti in questo modo:
          `\tikzstyle{process} = [rectangle, minimum width=3cm, minimum height=2cm, text centered, draw=black, text width=3cm, fill=orange!30]
          \tikzstyle{arrow} = [thick,->,>=stealth]
          `

          Il problema quindi risiede quindi nella freccia tra pro4 e pro5 che non si comporta come vorrei io
          `\draw [arrow] (pro4) — (pro5);`

          Avete qualche idea?

          Ciao. Mai sottovalutare la potenza di TikZ …
          `\documentclass[tikz]{standalone}
          \usetikzlibrary{calc}

          \tikzstyle{process} = [
          rectangle,
          minimum width=3cm,
          minimum height=2cm,
          text centered,
          draw=black,
          text width=3cm,
          fill=orange!30
          ]
          \tikzstyle{arrow} = [thick,->,>=stealth]

          \begin{document}
          \begin{tikzpicture}[node distance=2cm]
          \node (pro1) [process] {Processo 1};
          \node (pro2) [process, right of=pro1, xshift=2cm] {Processo 2};
          \node (pro3) [process, right of=pro2, xshift=2cm] {Processo 3};
          \node (pro4) [process, right of=pro3, xshift=2cm] {Processo 4};
          \node (pro5) [process, below of=pro1, yshift=-2cm] {Processo 5};
          \node (pro6) [process, right of=pro5, xshift=2cm] {Processo 6};

          \draw [arrow] (pro1) — (pro2);
          \draw [arrow] (pro2) — (pro3);
          \draw [arrow] (pro3) — (pro4);
          \draw [arrow] (pro4) |- ($ (pro1)!0.5!(pro5) + (-3cm, 0) $) |- (pro5);
          \draw [arrow] (pro5) — (pro6);
          \end{tikzpicture}
          \end{document}`
          Bye.
          R.

        • #111578
          Up
          0
          Down
          ::


          Grazie mille ad entrambi per le risposte!

          E grazie a robitex per avermi addirittura scritto il codice! Il risultato è esattamente quello che cercavo di ottenere.

      Visualizzazione 2 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top