Risposte nei forum create
-
AutoreRisposte
-
::
robitex” post=73414
Se il problema è ritagliare il pdf, la cosa migliore è usare la classe standalone con questa struttura:
`\documentclass{standalone}\begin{document}
\begin{tikzpicture}
\end{tikzpicture}
\end{document}`Produce direttamente il disegno in pdf ritagliato e non c’é più bisogno nemmeno di pdfcrop (che torna comunque sempre molto utile).
R.Preso al volo il tuo consiglio, purtroppo mi taglia il pdf sulla parte destra ed anche un po’ in basso, come al solito, non centrando il tutto:
`\documentclass{standalone}
%\documentclass[landscape, 2pt]{report}
%\usepackage{pdflscape}
\usepackage[landscape]{geometry}
\usepackage{ucs}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{tikz-er2}\usetikzlibrary{positioning}
\usetikzlibrary{shadows}\tikzstyle{every entity} = [top color=white, bottom color=blue!30,
draw=blue!50!black!100, drop shadow]
\tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
shadow yshift=-.7ex}]\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
draw=yellow, node distance=5em, drop shadow]
\tikzstyle{every relationship} = [top color=white, bottom color=red!20,
draw=red!50!black!100, drop shadow]
\tikzstyle{every isa} = [top color=white, bottom color=green!20,
draw=green!50!black!100, drop shadow]\begin{document}
\begin{tikzpicture}[node distance=9.4em, every edge/.style={link}]
\node[entity] (autore) {Autore};
\node[attribute] (id){\key{ID}} edge (autore);
\node[attribute] (ecc) [above=1em of autore]{…} edge(autore);\node[relationship] (creazione)
{Creazione} edge node[auto,swap]{(0,N)} (autore);
\node[entity] (opera)
{Opera} edge node[auto,swap] {(0,N)} (creazione);
\node[attribute] (id){\key{ID}} edge (opera);
\node[attribute] (ecc) [below right=1em of opera] {…} edge (opera);\node[relationship] (associazione) [below of=opera] {Associazione} edge node[auto,swap]{(0,N)} (opera);
\node[entity] (file) [below of=associazione] {File} edge node[auto,swap] {(0,1)} (associazione);
\node[attribute] (id) [above left=1em of file] {\key{ID}} edge (file);
\node[attribute] (ecc) [above right=1em of file] {…} edge (file);\node[relationship] (esterna)
{Esterna} edge node[auto,swap]{(0,N)} (file);
\node[entity] (datir){DatiRipresa} edge node[auto,swap] {(0,N)} (esterna);
\node[attribute] (id){\key{ID}} edge (datir);
\node[attribute] (ecc) [above=1em of datir] {…} edge (datir);\node[relationship] (diritto) [below of=file] {Diritto} edge node[auto,swap]{(0,N)} (file);
\node[entity] (copyright){Copyright} edge node[auto,swap] {(0,1)} (diritto);
\node[attribute] (id){\key{ID}} edge (copyright);
\node[attribute] (ecc) [below=1em of copyright] {…} edge (copyright);\node[relationship] (inserimento)
{Inserimento} edge node[auto,swap]{(0,N)} (file);
\node[entity] (cartella) [above of=inserimento] {Cartella} edge node[auto,swap] {(0,1)} (inserimento);
\node[attribute] (id) [above=1em of cartella] {\key{ID}} edge (cartella);
\node[attribute] (ecc) [above right=1em of cartella] {…} edge (cartella);\node[relationship] (condivisione)
{Condivisione} edge node[auto,swap]{(0,N)} (cartella);
\node[entity] (docente)
{Docente} edge node[auto,swap] {(0,1)} (condivisione);
\node[attribute] (matricola) [below left=2cm of docente] {\key{Matricola}} edge (docente);
\node[attribute] (ecc) [below right=1em of docente] {…} edge (docente);\node[relationship] (correlazione) [above of=opera] {Correlazione} edge node[auto,swap]{(0,N)} (opera);
\node[entity] (descrizione)
{Descrizione} edge node[auto,swap] {(0,1)} (correlazione);
\node[attribute] (id) [above=1em of descrizione] {\key{ID}} edge (descrizione);
\node[attribute] (ecc) [below=1em of descrizione] {…} edge (descrizione);\node[relationship] (attribuzione)
{Attribuzione} edge node[auto,swap]{(0,1)} (descrizione);
\node[relationship] (istruzione){Istruzione} edge node[auto,swap]{(0,N)} (docente);
\node[entity] (insegnamento) [below of=istruzione] {Insegnamento} edge node[auto,swap] {(0,1)} (istruzione);
\node[attribute] (id){\key{ID}} edge (insegnamento);
\node[attribute] (ecc){…} edge (insegnamento);
\node[relationship] (didattica) [below of=insegnamento] {Didattica} edge node[auto,swap]{(0,1)} (insegnamento);
\node[entity] (corsodilaurea)
{CorsoDiLaurea} edge node[auto,swap] {(0,N)} (didattica);
\node[attribute] (codice) [above=0.5em of corsodilaurea] {\key{Codice}} edge (corsodilaurea);
\node[attribute] (ecc) [below=0.5em of corsodilaurea] {…} edge (corsodilaurea);\draw[link] (inserimento) -|node [pos=0.85,auto, swap] {(0,N)} (docente)(docente) edge (docente);
\draw[link] (attribuzione) -| node [pos=0.95,auto, swap] {(0,N)} (docente)(docente) edge (docente);\end{tikzpicture}
\end{document}`Grazie,
Simone
::
Grazie a tutti per le risposte e per i complimenti 😳Allora rispondo a voi tre andando in ordine di apparizione, sperando di risolvere il problema in modo agevole:
@cfiandra: ho inserito il codice come riportato da te, tra l’opzione \{rotetebox}{90}{:
`\documentclass[a4paper,10pt]{report}
%\documentclass[landscape, 2pt]{report}
%\usepackage{pdflscape}
\usepackage[landscape]{geometry}
\usepackage{ucs}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{tikz-er2}\usetikzlibrary{positioning}
\usetikzlibrary{shadows}\tikzstyle{every entity} = [top color=white, bottom color=blue!30,
draw=blue!50!black!100, drop shadow]
\tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
shadow yshift=-.7ex}]\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
draw=yellow, node distance=5em, drop shadow]
\tikzstyle{every relationship} = [top color=white, bottom color=red!20,
draw=red!50!black!100, drop shadow]
\tikzstyle{every isa} = [top color=white, bottom color=green!20,
draw=green!50!black!100, drop shadow]\begin{document}
\rotatebox{90}{
\begin{tikzpicture}[node distance=9.4em, every edge/.style={link}]\node[entity] (autore) {Autore};
\node[attribute] (id){\key{ID}} edge (autore);
\node[attribute] (ecc) [above=1em of autore]{…} edge(autore);\node[relationship] (creazione)
{Creazione} edge node[auto,swap]{(0,N)} (autore);
\node[entity] (opera)
{Opera} edge node[auto,swap] {(0,N)} (creazione);
\node[attribute] (id){\key{ID}} edge (opera);
\node[attribute] (ecc) [below right=1em of opera] {…} edge (opera);\node[relationship] (associazione) [below of=opera] {Associazione} edge node[auto,swap]{(0,N)} (opera);
\node[entity] (file) [below of=associazione] {File} edge node[auto,swap] {(0,1)} (associazione);
\node[attribute] (id) [above left=1em of file] {\key{ID}} edge (file);
\node[attribute] (ecc) [above right=1em of file] {…} edge (file);\node[relationship] (esterna)
{Esterna} edge node[auto,swap]{(0,N)} (file);
\node[entity] (datir){DatiRipresa} edge node[auto,swap] {(0,N)} (esterna);
\node[attribute] (id){\key{ID}} edge (datir);
\node[attribute] (ecc) [above=1em of datir] {…} edge (datir);\node[relationship] (diritto) [below of=file] {Diritto} edge node[auto,swap]{(0,N)} (file);
\node[entity] (copyright){Copyright} edge node[auto,swap] {(0,1)} (diritto);
\node[attribute] (id){\key{ID}} edge (copyright);
\node[attribute] (ecc) [below=1em of copyright] {…} edge (copyright);\node[relationship] (inserimento)
{Inserimento} edge node[auto,swap]{(0,N)} (file);
\node[entity] (cartella) [above of=inserimento] {Cartella} edge node[auto,swap] {(0,1)} (inserimento);
\node[attribute] (id) [above=1em of cartella] {\key{ID}} edge (cartella);
\node[attribute] (ecc) [above right=1em of cartella] {…} edge (cartella);\node[relationship] (condivisione)
{Condivisione} edge node[auto,swap]{(0,N)} (cartella);
\node[entity] (docente)
{Docente} edge node[auto,swap] {(0,1)} (condivisione);
\node[attribute] (matricola) [below left=2cm of docente] {\key{Matricola}} edge (docente);
\node[attribute] (ecc) [below right=1em of docente] {…} edge (docente);\node[relationship] (correlazione) [above of=opera] {Correlazione} edge node[auto,swap]{(0,N)} (opera);
\node[entity] (descrizione)
{Descrizione} edge node[auto,swap] {(0,1)} (correlazione);
\node[attribute] (id) [above=1em of descrizione] {\key{ID}} edge (descrizione);
\node[attribute] (ecc) [below=1em of descrizione] {…} edge (descrizione);\node[relationship] (attribuzione)
{Attribuzione} edge node[auto,swap]{(0,1)} (descrizione);
\node[relationship] (istruzione){Istruzione} edge node[auto,swap]{(0,N)} (docente);
\node[entity] (insegnamento) [below of=istruzione] {Insegnamento} edge node[auto,swap] {(0,1)} (istruzione);
\node[attribute] (id){\key{ID}} edge (insegnamento);
\node[attribute] (ecc){…} edge (insegnamento);
\node[relationship] (didattica) [below of=insegnamento] {Didattica} edge node[auto,swap]{(0,1)} (insegnamento);
\node[entity] (corsodilaurea)
{CorsoDiLaurea} edge node[auto,swap] {(0,N)} (didattica);
\node[attribute] (codice) [above=0.5em of corsodilaurea] {\key{Codice}} edge (corsodilaurea);
\node[attribute] (ecc) [below=0.5em of corsodilaurea] {…} edge (corsodilaurea);\draw[link] (inserimento) -|node [pos=0.85,auto, swap] {(0,N)} (docente)(docente) edge (docente);
\draw[link] (attribuzione) -| node [pos=0.95,auto, swap] {(0,N)} (docente)(docente) edge (docente);\end{tikzpicture}
}
\end{document}`
purtroppo mi sparisce il diagramma e viene sostituito da tutto il codice, riportato in un pdf. Se tolgo la tua indicazione lo visualizzo correttamente. Non capisco dove possa errare.
@robitex: il pdf prodotto è composto da due pagine una bianca o meglio vuota (e non capisco il motivo) ed una col diagramma corretto. Ho inserito il pdf utilizzando il codice sottostante purtroppo nel documento finale non ottengo l’effetto sperato, al posto del pdf vi è una mezza paginetta bianca (credo che si prenda la prima del pdf creato). Se inserisco direttamente il pdf non mi uscirà anche il numero di pagina sottostante al diagramma? Dovrei evitarlo
Se con lo stesso codice metto il jpg del diagramma ottengo correttamente quanto sperato solo che sgranato. L’ho convertito in jpg utilizzando gimp.\begin{figure}[htbp]
\centering%
\includegraphics[height=18cm, width=20cm, angle=90,
keepaspectratio]{DaZero.pdf}%
\caption{Esempio d’uso delle opzioni}%
\end{figure}
@Spike: hai indovinato ho fatto proprio come dici. Grazie del consiglio.Solo che ora ho l’imbarazzo della scelta su quale via adottare. E vorrei evitare la sgranatura.
Grazie,
Simone
::
buongiornon ragazzi,
sono riuscito alla fine a produrre lo schema (qui allegato), purtroppo quando lo inserisco come immagine, dopo averla ritagliata delle sue parti bianche ed inutili, ed inserita come immagine nel codice, nel prodotto finale del pdf ottengo il diagramma un po’ sgranato.C’è qualche soluzione? Ho provato ad inserire il codice sorgente del diagramma nel file . tex solo che ottengo il diagramma in modo verticale. Volendo porre solo questa pagina in orizzontale come posso fare?
Grazie,
Simone
Attachments:
You must be logged in to view attached files.::
Buongiorno ragazzi,
ho un piccolissimo problema che credo si possa risolvere facilmente.Questo è il mio schema:
`\documentclass[a4paper,10pt]{report}
\usepackage[landscape]{geometry}
\usepackage{ucs}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{tikz-er2}\usetikzlibrary{positioning}
\usetikzlibrary{shadows}%\tikzstyle{every entity} = [top color=white, bottom color=blue!30,
%draw=blue!50!black!100, drop shadow]
%\tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
%shadow yshift=-.7ex}]
%\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
%draw=yellow, node distance=7em, drop shadow]
%\tikzstyle{every relationship} = [top color=white, bottom color=red!20,
%draw=red!50!black!100, drop shadow]
%\tikzstyle{every isa} = [top color=white, bottom color=green!20,
%&draw=green!50!black!100, drop shadow]\begin{document}
\begin{tikzpicture}[node distance=9em, every edge/.style={link}]\node[entity] (autore) {Autore};
\node[attribute] (id){\key{ID}} edge (autore);
\node[attribute] (ecc) [above=0.5em of autore]{…} edge(autore);\node[relationship] (creazione)
{Creazione} edge node[auto,swap]{(0,N)} (autore);
\node[entity] (opera)
{Opera} edge node[auto,swap] {(0,N)} (creazione);
\node[attribute] (id){\key{ID}} edge (opera);
\node[attribute] (ecc) [below right=0.5em of opera] {…} edge (opera);\node[relationship] (associazione) [below of=opera] {Associazione} edge node[auto,swap]{(0,N)} (opera);
\node[entity] (file) [below of=associazione] {File} edge node[auto,swap] {(0,1)} (associazione);
\node[attribute] (id) [above left=0.5em of file] {\key{ID}} edge (file);
\node[attribute] (ecc) [above right=0.5em of file] {…} edge (file);\node[relationship] (esterna)
{Esterna} edge node[auto,swap]{(0,N)} (file);
\node[entity] (datir){DatiRipresa} edge node[auto,swap] {(0,N)} (esterna);
\node[attribute] (id){\key{ID}} edge (datir);
\node[attribute] (ecc) [above=0.5em of datir] {…} edge (datir);\node[relationship] (diritto) [below of=file] {Diritto} edge node[auto,swap]{(0,N)} (file);
\node[entity] (copyright){Copyright} edge node[auto,swap] {(0,1)} (diritto);
\node[attribute] (id){\key{ID}} edge (copyright);
\node[attribute] (ecc) [below=0.5em of copyright] {…} edge (copyright);\node[relationship] (inserimento)
{Inserimento} edge node[auto,swap]{(0,N)} (file);
\node[entity] (cartella) [above of=inserimento] {Cartella} edge node[auto,swap] {(0,1)} (inserimento);
\node[attribute] (id) [above=0.5em of cartella] {\key{ID}} edge (cartella);
\node[attribute] (ecc) [above right=0.5em of cartella] {…} edge (cartella);\node[relationship] (condivisione)
{Condivisione} edge node[auto,swap]{(0,N)} (cartella);
\node[entity] (docente){Docente} edge node[auto,swap] {(0,1)} (condivisione);
\node[relationship] (correlazione) [above of=opera] {Correlazione} edge node[auto,swap]{(0,N)} (opera);
\node[entity] (descrizione){Descrizione} edge node[auto,swap] {(0,1)} (correlazione);
\node[relationship] (attribuzione)
{Attribuzione} edge node[auto,swap]{(0,1)} (descrizione);
\node[relationship] (istruzione)
{Istruzione} edge node[auto,swap]{(0,1)} (docente);
\node[entity] (insegnamento){Insegnamento} edge node[auto,swap] {(0,N)} (istruzione);
\draw[link] (inserimento) -|node [pos=0.85,auto, swap] {(0,N)} (docente)(docente) edge (docente);
\draw[link] (attribuzione) -| node [pos=0.95,auto, swap] {(0,N)} (docente)(docente) edge (docente);\end{tikzpicture}
\end{document}
`ove mancano un’associazione (rombo) ed un’altra entità (rettangolo) al fianco dell’entità Insegnamento (che dal pdf prodotto dalla compilazione non è visibile).
Non capisco perché a sx ho abbastanza spazio e non trasla tutto il diagramma in quella direzione invece di tagliare i nuovi rettangoli e rombi sulla parte dx del foglio.
Dovrei solo aggiungere questi due concetti poi il diagramma è finito, solo che non riesco a farcelo stare in una pagina sola, come posso fare?
Vi lascio anche il codice del file .sty in formato txt (da salvare con estensione .sty) che serve a visualizzare il tutto.
Grazie,
Simone
Attachments:
You must be logged in to view attached files.::robitex” post=73345Forse non è il caso di riportare tutti gli attributi ma solo quelli più significativi per caratterizzare l’oggetto, inserendone uno con dei puntini, per dire “ok, ci sono altri attributi meno importanti”. Lo schema grafico infatti è da intendersi come il mostrare le relazioni e quindi la struttura complessiva senza inserire dettagli che non influenzano la comprensione del concetto generale.
Se le specifiche devono essere complete, potresti riportarne i nomi e le caratteristiche in forma di una normale tabella.
Un saluto.
R.Grazie tante, credo che sia un buon compromesso questo. Difatti i giorni precedenti ho preparato il Dizionario dei dati costituito da tutte le entità e tutte le relazioni inserite in una tabella coi propri attributi.
Farò come mi hai cosigliato,
buona serata.
Simone
::
Non è passato molto tempo dal breve successo di una compilazione, che a nuove sfide ed intoppi mi ritrovo.Il seguente codice:
`\documentclass[a4paper,10pt]{report}
\usepackage{ucs}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{tikz-er2}\usetikzlibrary{positioning}
\usetikzlibrary{shadows}%\tikzstyle{every entity} = [top color=white, bottom color=blue!30,
%draw=blue!50!black!100, drop shadow]
%\tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
%shadow yshift=-.7ex}]
%\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
%draw=yellow, node distance=7em, drop shadow]
%\tikzstyle{every relationship} = [top color=white, bottom color=red!20,
%draw=red!50!black!100, drop shadow]
%\tikzstyle{every isa} = [top color=white, bottom color=green!20,
%&draw=green!50!black!100, drop shadow]\begin{document}
\begin{tikzpicture}[node distance=15em, every edge/.style={link}]\node[entity] (autore) {Autore};
\node[attribute] (pid){\key{ID}} edge (autore);
\node[attribute] (nome) [below left=0.5cm of autore] {Nome} edge (autore);
\node[attribute] (cognome) [above left=0.5cm of autore] {Cognome} edge (autore);
\node[attribute] (nomepubblico) [above=0.9cm of autore] {NomePubblico} edge (autore);
%\node[attribute] (anex){anexo} edge (fono);
%\node[attribute] (number) [below left of=fono, node distance=5em] {number} edge (fono);
\node[attribute] (annonascita) [below=0.7cm of autore] {AnnoNascita} edge (autore);
\node[attribute] (luogonascita) [above right of=autore] {LuogoNascita} edge (autore);
\node[attribute] (annomorte) [above right=0.5 of autore] {AnnoMorte} edge (autore);
\node[relationship] (pertenece){Pertenece} edge node[auto,swap] {1:1} (autore);
\node[entity] (depto)
{Depto} edge node[auto,swap] {0:N} (pertenece);
\node[attribute] (iddepto) [above of=depto] {\key{id\_depto}} edge (depto);
\node[attribute] (dname) [above right of=depto] {d\_name} edge (depto);
\node[rectangle, draw=black, fit=(pertenece), inner sep=0em] (ipertenece) {};
\node[relationship] (tieneun) [below of=pertenece] {Ocupa} edge node[auto,swap] {1:1} (pertenece);\node[entity] (cargo)
{Cargo} edge node[auto,swap] {0:N} (tieneun);
\node[attribute] (idcargo){\key{id\_cargo}} edge (cargo);
\node[attribute] (cname) [above right of=cargo] {c\_name} edge (cargo);
\node[attribute] (plevel) [below right of=cargo] {nivel} edge (cargo);\node[relationship] (responde) [below of=autore] {Responde} edge node[auto,swap] {1:N} (ipertenece);
\node[entity] (pregunta) [below of=tieneun] {Pregunta};
\node[attribute] (idpreg) [below of=pregunta] {\key{id\_preg}} edge (pregunta);
\node[attribute] (ptexto) [below right of=pregunta] {p\_texto} edge (pregunta);
\node[attribute] (pnumber){p\_numero} edge (pregunta);
\node[relationship] (tiene) [below of=responde] {Tiene} edge node[auto,swap] {1:N} (pregunta) edge node[auto,swap] {0:N} (responde);
\node[rectangle, draw=black, fit=(tiene), inner sep=0em] (itiene) {};\node[entity] (alternativa)
{Alternativa} edge node[auto,swap] {1:1} (tiene);
\node[attribute] (idalt) [above of=alternativa] {\key{id\_altern}} edge (alternativa);
\node[attribute] (atexto) [below of=alternativa] {a\_texto} edge (alternativa);
\node[attribute] (anumber) [below right of=alternativa] {a\_numero} edge (alternativa);
\end{tikzpicture}
\end{document}
`slavato dei colori, mi pone delle difficoltà perché:
1- dovrei innanzitutto ruotare il pdf appena compilato, nel senso che vorrei che le immagini si estendessero per orizzontale e non per verticale;
2- la cosa dura è che come potete vedere nell’entità Autore dovrei aggiungere ancora un paio di attributi, e se penso che le future entità Opera o File ne avranno sulla trentina di attributi io non riesco a capire come potrei distribuirli tutti intorno senza che collidano o si accavallino tra loro. Avete un’idea? io oltre a quei sette-otto attributi non riesco a mettere.Grazie,
Simone
::robitex” post=73330
Secondo me c’è un problema alla base di tutto.
Altri pacchetti scaricati del tipo gli esempi pgf di KarlheinzOchs li compila regolarmente. Quelli postati da noi no. Ho inviato i log che magari potrebbero servire.
Grazie anche per la pazienza,
SimoneIl pacchetto non sarà un gran che ma se la grafica ti soddisfa e non devi fare 1000 schemi, penso possa risolvere. A me il codice che ti ho postato compila correttamente.
Semmai, pubblica qui il log, per la sola parte relativa all’errore.
Ciao.Si scusami, prima non l’ho neppure allegato per la fretta.
Attachments:
You must be logged in to view attached files.::robitex” post=73325Ciao,
non ho capito il problema.
Io userei questo codice per ottenere il pdf già ritagliato per inserirlo poi come normale immagine nel documento pronciplae (con \includegraphics):Leggo solo ora in cima al tuo precedente post, scusami.
Il mio intento è di prendere il modello che tu hai fatto girare e utilizzarlo per fare lo schema della mia base di dati. Ovviamente ci devo lavorare su, ma se non compilarlo non ottengo lo stesso tuo risultato come faccio?
Anche questa semplice istruzione:
`\begin{tikzpicture}
\node[entity] (person) {Person};
\end{tikzpicture}`
non mi fa ottenere il rettangolino col nome Person.Ho messo il file .sty dov’è il sorgente tex, ma non lo compila graficamente.
Grazie,
Simone
::
Grazie tante …. 😛
Solo che a me non viene fuori. Ho posto il file tikz-er2.sty:
`% The tikz-er2 package.
% Ver. 1.0
% (c) Pável Caldo
% January 2009\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tikz-er2}[2009/01/31 Entity-relationship diagrams using the
Tikz library]\RequirePackage{tikz}
\RequirePackage[normalem]{ulem} % for the dashed underline\usetikzlibrary{shapes.geometric}
\usetikzlibrary{arrows}
\usetikzlibrary{fit}\tikzstyle{every entity} = []
\tikzstyle{every weak entity} = []
\tikzstyle{every attribute} = []
\tikzstyle{every relationship} = []
\tikzstyle{every link} = []
\tikzstyle{every isa} = []\tikzstyle{link} = [>=triangle 60, draw, thick, every link]
\tikzstyle{total} = [link, double, double distance=3pt]
\tikzstyle{entity} = [rectangle, draw, black, very thick,
minimum width=6em, minimum height=3em,
every entity]\tikzstyle{weak entity} = [entity, double, double distance=2pt,
every weak entity]\tikzstyle{attribute} = [ellipse, draw, black, very thick,
minimum width=5em, minimum height=2em,
every attribute]%\tikzstyle{key attribute} = [attribute, font=\bfseries]
\tikzstyle{multi attribute} = [attribute, double, double distance=2pt]
\tikzstyle{derived attribute} = [attribute, dashed]
%\tikzstyle{discriminator} = [attribute, font=\itshape]
\tikzstyle{relationship} = [diamond, draw, black, very thick,
minimum width=2em, aspect=1,
every relationship]\tikzstyle{ident relationship} = [relationship, double, double distance=2pt]
\tikzstyle{isa} = [isosceles triangle, isosceles triangle apex angle=60,
shape border rotate=-90,
draw, black, very thick, minimum size=3em,
every isa]% for text un key attributes
\newcommand{\key}[1]{\underline{#1}}% for text in discriminator attributes
\def\discriminator{\bgroup
\ifdim\ULdepth=\maxdimen % Set depth based on font, if not set already
\settodepth\ULdepth{(j}\advance\ULdepth.4pt\fi
\markoverwith{\kern.15em
\vtop{\kern\ULdepth \hrule width .3em}%
\kern.15em}\ULon}`Dentro una cartella dove riesiede quel file che ti ho postato il codice poco fa… ma non me lo compila. O meglio ottengo un pdf con codice… che sbagli a compilare o a far qulacosa?
Grazie
Simone
::robitex” post=73041
Per il momento metti il file di stile (.sty) nella cartella dove si trova il sorgente.
R.Ok, messo il file .sty dov’è presente un file con codice tikz-er2, in ogni modo compilo regolarmente i file LaTex, ma per il seguente codice:
`\documentclass[a4paper,10pt]{report}
\usepackage{ucs}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{tikz-er2}\usetikzlibrary{positioning}
\usetikzlibrary{shadows}\tikzstyle{every entity} = [top color=white, bottom color=blue!30,
draw=blue!50!black!100, drop shadow]
\tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
shadow yshift=-.7ex}]
\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
draw=yellow, node distance=7em, drop shadow]
\tikzstyle{every relationship} = [top color=white, bottom color=red!20,
draw=red!50!black!100, drop shadow]
\tikzstyle{every isa} = [top color=white, bottom color=green!20,
draw=green!50!black!100, drop shadow]\begin{document}
\begin{tikzpicture}[node distance=8em, every edge/.style={link}]
\node[entity] (persona) {Persona};
\node[attribute] (pid){\key{id\_persona}} edge (persona);
\node[attribute] (name) [below left of=persona] {nombre} edge (persona);
\node[multi attribute] (fono) [above of=persona] {fono} edge (persona);
\node[attribute] (anex){anexo} edge (fono);
\node[attribute] (number) [below left of=fono, node distance=5em] {number} edge (fono);
\node[attribute] (email) [above right of=persona] {email} edge (persona);
\node[relationship] (pertenece){Pertenece} edge node[auto,swap] {1:1} (persona);
\node[entity] (depto)
{Depto} edge node[auto,swap] {0:N} (pertenece);
\node[attribute] (iddepto) [above of=depto] {\key{id\_depto}} edge (depto);
\node[attribute] (dname) [above right of=depto] {d\_name} edge (depto);
\node[rectangle, draw=black, fit=(pertenece), inner sep=0em] (ipertenece) {};
\node[relationship] (tieneun) [below of=pertenece] {Ocupa} edge node[auto,swap] {1:1} (pertenece);\node[entity] (cargo)
{Cargo} edge node[auto,swap] {0:N} (tieneun);
\node[attribute] (idcargo){\key{id\_cargo}} edge (cargo);
\node[attribute] (cname) [above right of=cargo] {c\_name} edge (cargo);
\node[attribute] (plevel) [below right of=cargo] {nivel} edge (cargo);\node[relationship] (responde) [below of=persona] {Responde} edge node[auto,swap] {1:N} (ipertenece);
\node[entity] (pregunta) [below of=tieneun] {Pregunta};
\node[attribute] (idpreg) [below of=pregunta] {\key{id\_preg}} edge (pregunta);
\node[attribute] (ptexto) [below right of=pregunta] {p\_texto} edge (pregunta);
\node[attribute] (pnumber){p\_numero} edge (pregunta);
\node[relationship] (tiene) [below of=responde] {Tiene} edge node[auto,swap] {1:N} (pregunta) edge node[auto,swap] {0:N} (responde);
\node[rectangle, draw=black, fit=(tiene), inner sep=0em] (itiene) {};\node[entity] (alternativa)
{Alternativa} edge node[auto,swap] {1:1} (tiene);
\node[attribute] (idalt) [above of=alternativa] {\key{id\_altern}} edge (alternativa);
\node[attribute] (atexto) [below of=alternativa] {a\_texto} edge (alternativa);
\node[attribute] (anumber) [below right of=alternativa] {a\_numero} edge (alternativa);
\end{tikzpicture}
\end{document}`ed ache quello di un semplice rettangolo ottengo solo codice scritto in pdf e nessuna figura.
Che sbagli a compilare, o che debba aggiungere qualcosa?Grazie,
Simone
::
Sono riuscito a farcela, nel seguente modo:
`\begin{longtable}{llp{0.18\textwidth}r}
% intestazione iniziale
\caption{Esempio di tabella.}
\label{tab:longtable} \\
\toprule
Entità & Descrizione & Attributi & Identificatore\\
\midrule
\endfirsthead
% intestazione normale
\multicolumn{4}{l}{\footnotesize\itshape
Continua dalla pagina precedente} \\
\toprule
Entità & Descrizione & Attributi & Identificatore\\
\midrule
\endhead
% piede normale
\midrule
\multicolumn{4}{r}{\footnotesize\itshape
Continua nella prossima pagina} \\
\endfoot
% piede finale
\bottomrule
\multicolumn{4}{r}{\footnotesize\itshape
Si conclude dalla pagina precedente} \\
\endlastfoot
% corpo della tabella
Autore & Autore che crea l'opera & Nome, \mbox{Cognome}, \mbox{NomePubblico}, \mbox{AnnoNascita}, \mbox{LuogoNascita}, \mbox{AnnoMorte}, \mbox{LuogoMorte}, \mbox{DateCerte} & ID\\
Opera & Opera d'arte & TipoOpera, \mbox{Titolo},\mbox{TitoloOriginale}, \mbox{TitoloInternazionale}, \mbox{Tecnica}, \mbox{Anno}, \mbox{Collocazione}, \mbox{AreaCompetenza}, Altezza, \mbox{Larghezza}, \mbox{Profondità}, \mbox{Durata}, \mbox{GenereFilm}, \mbox{AutoreFotografia}, \mbox{AutoreScenografia}, \mbox{FormaMusicale}, \mbox{Tonalità}, \mbox{IdentificativoOpera}, \mbox{PrimaEsecuzione}, \mbox{Organico}, \mbox{InformazioniLibretto}, \mbox{Incipit}, \mbox{IncipitModerno}, \mbox{DataCreazione}, \mbox{DataUltimaModifica} & ID\\
File & File in cui è contenuta l'opera d'arte & Opera, \mbox{PathName}, \mbox{Nome}, \mbox{Estensione}, \mbox{AltezzaPunti}, \mbox{LarghezzaPunti}, Durata, \mbox{DimensioneByte}, \mbox{ProfonditaColore}, \mbox{SpazioColore}, \mbox{Campionamento\_dpi}, \mbox{Campionamento\_hertz}, \mbox{Campionamento\_fps}, \mbox{Bit-Rate}, \mbox{CalibrazioneColore}, \mbox{Esecutore}, \mbox{CanaliAudio}, \mbox{SistemaCodifica}, \mbox{FonteEdita\_Titolo}, \mbox{FonteEdita\_ISBN}, \mbox{FonteEdita\_Editore}, \mbox{FonteEdita\_Curatore}, \mbox{FonteEdita\_Collana}, \mbox{FonteEdita\_NumInvBibl}, \mbox{FonteEdita\_Proprietario}, \mbox{FonteAntica}, \mbox{Descrizione}, \mbox{DataCreazione}, \mbox{DataUltimaModifica}, \mbox{NumeroVisite} & ID\\\end{longtable}`
per ora ha impaginato con successo due pagine, speriamo che continui così anche perché avrò ancora tanto d’aggiungere…
In questo modo la terza colonna l’ho fatta un po’ stretta in modo che gli attributi vengano tutti incolonnati. Per ora vanno bene così, poi se al relatore dispiacciono allargherò la colonna. Se non dovessi farcela vi chiederò una mano, risollevando questo topic.
Grazie a chiunque mi abbia dato una mano.
Buona serata,
Simoneedit: anche se in realtà l’intestazione è un po’ ballerina rispetto al testo. Prima completerò la tabella del tutto e nel caso mi farò vivo.
-
AutoreRisposte