Diagrammi su LaTeX

  • Creatore
    Topic
  • #117647
    Up
    0
    Down
    ::


    Buongiorno a tutti,
    Sto usando questo codice per creare un albero, solo che non sono in grado di passare dai nodi E,F,I,N,O in avanti, cioò vorrei creare un ulteriore ramo dopo questi. Riuscite a darmi una mano? 😕 😀
    Vi linko il codice usato:
    `
    \documentclass[12pt]{article}
    \usepackage{design_ASC}
    \usepackage{tikz}
    \setlength\parindent{0pt}
    \title{\textbf{Alberi
    }}

    \author{Prova\\
    \textsc{Creazione alberi}
    }
    \date{\today}
    \begin{document}
    \setlength{\droptitle}{-5em}
    \maketitle
    \section{\textit{Creazione alberi}}

    \begin{center}
    \tikz [font=\small,
    grow=right,
    level 1/.style={sibling distance=3em},
    level 2/.style={sibling distance=3em}
    level 3/.style={sibling distance=3em},
    level distance=3cm]
    \node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=1cm, align=flush center] {$S^1_0$=1} % root
    child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$S^{1u}_1$=0.5}
    child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$O$}}
    child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$N$}}
    child{node [shape=rectangle, rounded corners=1mm, inner sep=4, text width=2cm, align=flush center] {}}}
    child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$S^{1m}_1$=1}
    child { node [shape=rectangle, rounded corners=1mm, inner sep=4, text width=2cm, align=flush center] {}}
    child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$I$}}
    child{node [shape=rectangle, rounded corners=1mm, inner sep=4, text width=2cm, align=flush center] {}}}
    child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$S^{1u}_1$=3.5}
    child{node [shape=rectangle, rounded corners=1mm, inner sep=4, text width=2cm, align=flush center] {}}
    child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$F$}}
    child{node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$E$}}}
    \end{center}
    \end{document}`

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #117648
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Benvenuto nel forum

        Certamente ci sarà qualcuno che ti saprà rispondere; ma perché ciò avvenga è necessario che tu non esponga solo il codice per questo albero, ma che tu fornisca un esempio minimo compatibile (EMC); casomai non ti fosse chiaro il concetto di EMC, nella sezione Documentazione di questo forum c’è una guida tematica su questo argomento; in due parole: un EMC comincia con \documentclass e finisce con \end{document}; il preambolo contiene il minimo necessario per compilare il testo, e il testo (qualunque cosa dopo \begin{document}) è il minimo necessario per replicare il problema.
        Nel tuo caso il testo sembra a posto ma manca tutto il resto ridotto al minimo.

      • #117649
        Up
        0
        Down
        ::


        Ha perfettamente ragione! Credo sia fatto bene ora 😀

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

          giuseppeloscomm” post=118068Buongiorno a tutti,
          Sto usando questo codice per creare un albero, solo che non sono in grado di passare dai nodi E,F,I,N,O in avanti, cioò vorrei creare un ulteriore ramo dopo questi. Riuscite a darmi una mano? 😕 😀
          Vi linko il codice usato:
          `
          \documentclass[12pt]{article}
          \usepackage{design_ASC}
          \usepackage{tikz}
          \setlength\parindent{0pt}
          \title{\textbf{Alberi
          }}

          \author{Prova\\
          \textsc{Creazione alberi}
          }
          \date{\today}
          \begin{document}
          \setlength{\droptitle}{-5em}
          \maketitle
          \section{\textit{Creazione alberi}}

          \begin{center}
          \tikz [font=\small,
          grow=right,
          level 1/.style={sibling distance=3em},
          level 2/.style={sibling distance=3em}
          level 3/.style={sibling distance=3em},
          level distance=3cm]
          \node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=1cm, align=flush center] {$S^1_0$=1} % root
          child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$S^{1u}_1$=0.5}
          child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$O$}}
          child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$N$}}
          child{node [shape=rectangle, rounded corners=1mm, inner sep=4, text width=2cm, align=flush center] {}}}
          child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$S^{1m}_1$=1}
          child { node [shape=rectangle, rounded corners=1mm, inner sep=4, text width=2cm, align=flush center] {}}
          child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$I$}}
          child{node [shape=rectangle, rounded corners=1mm, inner sep=4, text width=2cm, align=flush center] {}}}
          child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$S^{1u}_1$=3.5}
          child{node [shape=rectangle, rounded corners=1mm, inner sep=4, text width=2cm, align=flush center] {}}
          child { node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$F$}}
          child{node [shape=rectangle, rounded corners=1mm,draw, inner sep=4, text width=2cm, align=flush center] {$E$}}}
          \end{center}
          \end{document}`

          Ciao.
          guardando il codice del grafico in TikZ che hai postato, gli obiettivi principali devono essere due:
          il primo è comprendere la struttura sintattica tra codice e struttura ad albero;
          il secondo è introdurre gli stili così da dare al codice più compattezza.

          Per l’obiettivo 1 considera che un sotto ramo viene creato da un nodo con la sintassi:
          child {node {un nodo} }

          se è vuoto il nodo diventa una foglia (un nodo terminale per intenderci), altrimenti si riparte ricorsivamente con la stessa sintassi.
          Partiamo da un codice semplice:
          `\documentclass{article}
          \usepackage{tikz}
          \begin{document}
          \begin{tikzpicture}
          \node {root}
          child {node {left}}
          child {node {right}
          child {node {a}}
          child {node {b}}
          };
          \end{tikzpicture}
          \end{document}`
          Come vedi i nodi a e b sono inseriti dentro il nodo right con il codice:
          `
          =
          child {node {a}}
          child {node {b}}`

          Ovviamente tutto è specificato nel manuale, credo nel capitolo 21.
          L’indentazione, ovvero inserire spazi per allineare verticalmente il codice, è utile per individuare visivamente i rami.

          Cerca quindi di creare la struttura del tuo albero senza preoccuparti dello stile, usando la sintassi ricorsiva che abbiamo visto.
          Rispetto alla struttura che vuoi raggiungere ho trascurato solo il disegno dei collegamenti tra nodi diciamo a X, ma non ti preoccupare, prima la struttura complessiva poi il resto.
          In un secondo momento puoi occuparti poi dello stile, come la forma dei nodi, la direzione orizzonatale eccetera.
          Alla prossima.
          R.

        • #117651
          Up
          0
          Down
          ::


          Grazie della risposta, sei stato davvero molto utile!

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

      Go to top