- Questo topic ha 12 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 2 mesi fa da
Rocco.
-
CreatoreTopic
-
25 Maggio 2012 alle 5:13 #74334::
Ciao a tutti.
Sono in dirittura d’arrivo con un progetto di informatica all’università e dobbiamo consegnare uno schema che rappresenti la gerarchia tra le classi che abbiamo utilizzato. Avrebbe dovuto occuparsene la persona che ha fatto il progetto con me, ma purtroppo si é ammalato piuttosto seriamente. Mi trovo quindi a doverlo fare da solo e non ho molti strumenti a disposizione… Allora ho pensai subito a LaTeX, perché sicuramente ci sarà un pacchetto apposito per creare organigrammi o diagrammi UML.Qualcuno può darmi qualche dritta? Più che il nome del pacchetto e la sua documentazione (comunque indispensabili) mi servirebbe qualche esempio, che potrei pori modificare ed espandere a mio piacimento (perché il tempo stringe… =S). C’é qualche benevolo che ha in giro un esempio (semplice) di utilizzo e sarebbe disposto a postarlo?
Grazie mille, Rocco.
-
CreatoreTopic
-
AutoreRisposte
-
-
25 Maggio 2012 alle 5:25 #74335::
Rocco M.” post=73322Ciao a tutti.
Sono in dirittura d’arrivo con un progetto di informatica all’università e dobbiamo consegnare uno schema che rappresenti la gerarchia tra le classi che abbiamo utilizzato. Avrebbe dovuto occuparsene la persona che ha fatto il progetto con me, ma purtroppo si é ammalato piuttosto seriamente. Mi trovo quindi a doverlo fare da solo e non ho molti strumenti a disposizione… Allora ho pensai subito a LaTeX, perché sicuramente ci sarà un pacchetto apposito per creare organigrammi o diagrammi UML.Qualcuno può darmi qualche dritta? Più che il nome del pacchetto e la sua documentazione (comunque indispensabili) mi servirebbe qualche esempio, che potrei pori modificare ed espandere a mio piacimento (perché il tempo stringe… =S). C’é qualche benevolo che ha in giro un esempio (semplice) di utilizzo e sarebbe disposto a postarlo?
Grazie mille, Rocco.
Ciao,
il pacchetto esiste e ne trovi la documentazione con texdoc uml da terminale. Come dicevo in questo post tuttavia, è possibile realizzare qualcosa di meglio con TikZ: fra le guide tematiche nella sezione Documentazione, trovi l’Introduzione all’uso di TikZ in Ingegneria dove il primo esempio è davvero molto simile a ciò che ti serve (il codice è molto semplice e si può migliorare usando il \foreach di TIkZ).
Ciao
Claudio
-
25 Maggio 2012 alle 10:47 #74336::
cfiandra” post=73323
Ciao,il pacchetto esiste e ne trovi la documentazione con texdoc uml da terminale. Come dicevo in questo post tuttavia, è possibile realizzare qualcosa di meglio con TikZ: fra le guide tematiche nella sezione Documentazione, trovi l’Introduzione all’uso di TikZ in Ingegneria dove il primo esempio è davvero molto simile a ciò che ti serve (il codice è molto semplice e si può migliorare usando il \foreach di TIkZ).
Ciao
ClaudioGrazie mille per la tempestiva risposta. Ho guardato un po’ la documentazione del pacchetto uml e come immaginavo ha pochi esempi e quindi é difficile poterlo utilizzare in poco tempo. Per quanto riguarda la guida che mi hai consigliato, il primo esempio mi sembra ottimo e fa proprio il caso mio. Purtroppo però bisogna piazzare ogni elemento a mano e nuovamente si tratta di un lavoro troppo lungo.
Non c’é qualcosa di meno perfetto ma di più pratico, qualcosa di “automatico”?
Faccio un esempio di quello che veramente avrei bisogno:
`
\begin{UML}
\level[1]
\class{A}{Attributi}{Metodi}
\level[2]
\class[A]{B}{Attributi}{Metodi}
\class[A]{C}{Attributi}{Metodi}
\level[3]
\class[B|C]{D}{Attributi}{Metodi}
\end{UML}
`
Per generare una gerarchia del tipo. A
. / \
. B C
. \ /
. DAnche se il fatto che una sotto classe eredita da due classi superiori non ce l’ho bisogno. Mi serve quindi una gerarchia piramidale che però si generi automaticamente. Come opzione tra [] ho messo la classe superiore a cui si é legati… Qualcosa del genere (che ovviamente qui ho inventato di sana pianta) sarebbe davvero pratico e farebbe il caso mio…
Esiste?Rocco.
Ps: L’ambiente l’ho chiamato UML ma non deve assolutamente essere una cosa formale. Va benissimo qualsiasi riquadro. Se poi diviso in tre parti (Titolo, attributi, metodi) sarebbe perfetto.
-
25 Maggio 2012 alle 11:08 #74337::
Rocco M.” post=73339Grazie mille per la tempestiva risposta. Ho guardato un po’ la documentazione del pacchetto uml e come immaginavo ha pochi esempi e quindi é difficile poterlo utilizzare in poco tempo. Per quanto riguarda la guida che mi hai consigliato, il primo esempio mi sembra ottimo e fa proprio il caso mio. Purtroppo però bisogna piazzare ogni elemento a mano e nuovamente si tratta di un lavoro troppo lungo.
Non c’é qualcosa di meno perfetto ma di più pratico, qualcosa di “automatico”?
Faccio un esempio di quello che veramente avrei bisogno:
`
\begin{UML}
\level[1]
\class{A}{Attributi}{Metodi}
\level[2]
\class[A]{B}{Attributi}{Metodi}
\class[A]{C}{Attributi}{Metodi}
\level[3]
\class[B|C]{D}{Attributi}{Metodi}
\end{UML}
`
Per generare una gerarchia del tipo. A
. / \
. B C
. \ /
. DAnche se il fatto che una sotto classe eredita da due classi superiori non ce l’ho bisogno. Mi serve quindi una gerarchia piramidale che però si generi automaticamente. Come opzione tra [] ho messo la classe superiore a cui si é legati… Qualcosa del genere (che ovviamente qui ho inventato di sana pianta) sarebbe davvero pratico e farebbe il caso mio…
Esiste?Rocco.
Ps: L’ambiente l’ho chiamato UML ma non deve assolutamente essere una cosa formale. Va benissimo qualsiasi riquadro. Se poi diviso in tre parti (Titolo, attributi, metodi) sarebbe perfetto.
L’esempio che ti ho suggerito in quel caso è fatto completamente a mano: nessuno vieta di farlo meglio. 😀 Probabilmente nella revisione della guida lo farò come si deve, ossia definendo una chiave mytable che creii la tabella. Questo vuol dire che anche il codice che tu hai proposto si può fare, ma ora ho veramente pochissimo tempo (devo fare alcuni laboratori sui socket senza alcun entusiamso 🙁 ) anche se mi piacerebbe occuparmene. In ogni caso, se hai voglia di tentare, secondo me leggendo il pgfmanual (texdoc pgfmanual) dove si parla di chiavi (in particolar modo /.code={}) e sul costrutto foreach ci puoi riuscire in poco tempo.
Ciao
Claudio
-
25 Maggio 2012 alle 11:24 #74338::
cfiandra” post=73341
L’esempio che ti ho suggerito in quel caso è fatto completamente a mano: nessuno vieta di farlo meglio. 😀 Probabilmente nella revisione della guida lo farò come si deve, ossia definendo una chiave mytable che creii la tabella. Questo vuol dire che anche il codice che tu hai proposto si può fare, ma ora ho veramente pochissimo tempo (devo fare alcuni laboratori sui socket senza alcun entusiamso 🙁 ) anche se mi piacerebbe occuparmene. In ogni caso, se hai voglia di tentare, secondo me leggendo il pgfmanual (texdoc pgfmanual) dove si parla di chiavi (in particolar modo /.code={}) e sul costrutto foreach ci puoi riuscire in poco tempo.Ciao
ClaudioNon avevo notato che la guida l’avessi scritta tu! =). Ad ogni modo cerco un’esempio automatico proprio perché ho poco tempo. Domani sera devo consegnare il tutto e mi restano ancora parecchie cose da fare. Spulciare un manuale di 700 pagine (con 60 risultati di ricerca per le parole chiave che mi hai dato) é per me impossibile, anche se non mi dispiacerebbe poterlo fare. Se non esiste niente di già fatto come l’ho pensato io non fa niente.
Nel caso di dovessi divertire ad crearlo, fammelo sapere che potrà sicuramente rivelarsi utile anche in futuro. ; )
Grazie mille in ogni caso.
Rocco.
-
25 Maggio 2012 alle 16:50 #74339::
Non mi sono dato per vinto e ho cominciato a buttare giù questo, grazie ad alcuni esempi che ho trovato in internet.`
\documentclass{article}
\usepackage[a3paper]{geometry}
\usepackage{tikz}
\usepackage{pdflscape}
\usetikzlibrary{shapes,arrows}\tikzstyle{block} = [rectangle, draw, text width=8em, text centered, rounded corners, minimum height=4em]
\tikzstyle{line} = [draw, -latex']\begin{document}
\begin{landscape}
\begin{center}
\begin{tikzpicture}[node distance = 2.5cm, auto]
\node [block] (DES) {Dessinable};
\node [block, below of=DES] (OBM) {ObjetMobile};
\node [block, left of=OBM, node distance = 2.5cm] (OBS) {Obstacle};
\node [block, right of=OBM, node distance = 2.5cm] (CHF) {ChampForce};\path [line] (DES) — (OBM);
\path [line] (DES) — (OBS);
\path [line] (DES) — (CHF);\end{tikzpicture}
\end{center}
\end{landscape}\end{document}
`Sembrerebbe quello che cerco, ma ho bisogno di alcune cose:
– Come posso rendere la grandezza dei riquadri automatica?
– Come posso ricreare le linee che hai utilizzato nella guida, potendole poi utilizzare come faccio adesso?
– Come posso riprendere i tuoi blocchi (con una linea che spezza, io ne avrei bisogno due) e come utilizzarli come li sto utilizzando adesso (definendo poi che testo vada sopra la linea e che tasto vada sotto la linea)?
– Come posso distanziare i blocchi sullo stesso livello? Sono completamente attaccati.Grazie mille per eventuali delucidazioni.
Rocco.
-
27 Maggio 2012 alle 8:01 #74340::
Rocco M.” post=73365Non mi sono dato per vinto e ho cominciato a buttare giù questo, grazie ad alcuni esempi che ho trovato in internet.
`
\documentclass{article}
\usepackage[a3paper]{geometry}
\usepackage{tikz}
\usepackage{pdflscape}
\usetikzlibrary{shapes,arrows}\tikzstyle{block} = [rectangle, draw, text width=8em, text centered, rounded corners, minimum height=4em]
\tikzstyle{line} = [draw, -latex']\begin{document}
\begin{landscape}
\begin{center}
\begin{tikzpicture}[node distance = 2.5cm, auto]
\node [block] (DES) {Dessinable};
\node [block, below of=DES] (OBM) {ObjetMobile};
\node [block, left of=OBM, node distance = 2.5cm] (OBS) {Obstacle};
\node [block, right of=OBM, node distance = 2.5cm] (CHF) {ChampForce};\path [line] (DES) — (OBM);
\path [line] (DES) — (OBS);
\path [line] (DES) — (CHF);\end{tikzpicture}
\end{center}
\end{landscape}\end{document}
`Sembrerebbe quello che cerco, ma ho bisogno di alcune cose:
– Come posso rendere la grandezza dei riquadri automatica?
– Come posso ricreare le linee che hai utilizzato nella guida, potendole poi utilizzare come faccio adesso?
– Come posso riprendere i tuoi blocchi (con una linea che spezza, io ne avrei bisogno due) e come utilizzarli come li sto utilizzando adesso (definendo poi che testo vada sopra la linea e che tasto vada sotto la linea)?
– Come posso distanziare i blocchi sullo stesso livello? Sono completamente attaccati.Grazie mille per eventuali delucidazioni.
Rocco.
Ciao,
ti consiglio di dare un’occhiata a questo post che potrebbe esserti utile. I riquadri hanno di per se una grandezza automatica in base al testo inserito al loro interno; poi è possibile impostare in ogni caso un’ altezza e lunghezza minima.
Per le linee guida: guarda nel post.
Io in realtà ho in mente un modo per fare il lavoro in maniera più semplice dal punto di vista utente (qualcosa simile al codice di esempio che hai riportato): il problema è che ci vuole un po’ di tempo, soprattutto per gestire bene il problema dei collegamenti da crearsi con segmenti.
Ti faccio sapere quando ho qualcosa di interessante.
Ciao
Claudio
-
27 Maggio 2012 alle 9:49 #74341::
cfiandra” post=73413
Ciao,ti consiglio di dare un’occhiata a questo post che potrebbe esserti utile. I riquadri hanno di per se una grandezza automatica in base al testo inserito al loro interno; poi è possibile impostare in ogni caso un’ altezza e lunghezza minima.
Per le linee guida: guarda nel post.
Io in realtà ho in mente un modo per fare il lavoro in maniera più semplice dal punto di vista utente (qualcosa simile al codice di esempio che hai riportato): il problema è che ci vuole un po’ di tempo, soprattutto per gestire bene il problema dei collegamenti da crearsi con segmenti.
Ti faccio sapere quando ho qualcosa di interessante.
Ciao
ClaudioCiao.
Grazie ancora per la risposta. Ieri sera ho già consegnato il lavoro, ma il post che mi hai proposto é interessante. Effettivamente é davvero un po’ macchinoso impostare manualmente tutte le distanze tra i nodi e le relazioni di ereditarietà esplicitando i collegamenti. Un pacchetto come l’avrei concepito io sarebbe sicuramente utile!Non mi intendo troppo di LaTeX (sono un semplice utilizzatore) ma immagino che non sia semplice creare un pacchetto, e che comunque prenda non poco tempo. Ad ogni modo se decidi di farlo fammi sapere, perché potrebbe essere davvero utile averlo a disposizione! =).
Saluti,
Rocco.
-
8 Giugno 2012 alle 10:38 #74342
-
8 Giugno 2012 alle 11:04 #74343
-
8 Giugno 2012 alle 14:15 #74344
-
8 Giugno 2012 alle 15:03 #74345
-
5 Luglio 2012 alle 10:36 #74346::
Ciao a tutti.Sono finiti gli esami mi sono rimesso a programmare e ho avuto un’altra idea, riguardante sempre un metodo per creare la mappa delle gerarchie di classe contenente solo i nomi di quest’ultime (niente di più complicato).
Sarebbe fantastico se esistesse un pacchetto in cui si inserisce solamente il nome della cartella in cui sono contenuti i file header (.h) e quest’ultimo va a spulciarli e a cercare la gerarchia delle classi in automatico!
È fattibile? Io non sarei assolutamente in grado di farlo (conoscenze di LaTeX troppo scarse), ma magari qualcuno a cui piace l’idea e ha voglia di mettersi dietro… 😉
Ciao,
R.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.