- Questo topic ha 10 risposte, 6 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 10 mesi fa da
antonio.macrì.
-
CreatoreTopic
-
24 Ottobre 2011 alle 5:32 #65156
-
CreatoreTopic
-
AutoreRisposte
-
-
24 Ottobre 2011 alle 6:23 #65157::
claudio” post=64216ho questo codice
`
\begin{figure}
\centering
\begin{tikzpicture}\end{tikzpicture}
\caption{M.C.D.}
\label{fig:numnatMCD}
\end{figure}
`perché non si centra?
ciao
ClaudioProva questo:`
\documentclass{article}
\usepackage{tikz}\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\node[circle, draw] at (0,0) {};
\end{tikzpicture}
\caption{M.C.D.}
\label{fig:numnatMCD}
\end{figure}\end{document}`
Si centra perfettamente.
R.
-
24 Ottobre 2011 alle 7:37 #65158
-
24 Ottobre 2011 alle 12:05 #65159::
egreg9″ post=64220
perché non si centra?
Probabilmente il disegno è più grande della riga di stampa.
Ciao
Enriconon è improbabile
`
% Graphic for TeX using PGF
% Title: C:\Users\claudio\Pictures\Diagramma2.dia
% Creator: Dia v0.97.1
% CreationDate: Mon Oct 24 15:56:03 2011
% For: claudio
% \usepackage{tikz}
% The following commands are not supported in PSTricks at present
% We define them conditionally, so when they are implemented,
% this pgf file will use them.
\ifx\du\undefined
\newlength{\du}
\fi
\setlength{\du}{15\unitlength}
\begin{tikzpicture}
\pgftransformxscale{1.000000}
\pgftransformyscale{-1.000000}
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\pgfpathellipse{\pgfpoint{7.721636\du}{4.898318\du}}{\pgfpoint{3.028364\du}{0\du}}{\pgfpoint{0\du}{2.401682\du}}
\pgfusepath{fill}
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
\pgfsetmiterjoin
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\pgfpathellipse{\pgfpoint{7.721636\du}{4.898318\du}}{\pgfpoint{3.028364\du}{0\du}}{\pgfpoint{0\du}{2.401682\du}}
\pgfusepath{stroke}
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (7.721636\du,5.093318\du){A};
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (7.569670\du,10.044670\du)–(11.350000\du,12.822335\du)–(7.569670\du,15.600000\du)–(3.789340\du,12.822335\du)–cycle;
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
\pgfsetmiterjoin
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (7.569670\du,10.044670\du)–(11.350000\du,12.822335\du)–(7.569670\du,15.600000\du)–(3.789340\du,12.822335\du)–cycle;
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (7.569670\du,13.017335\du){B};
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (3.900000\du,18.800000\du)–(3.900000\du,21.850000\du)–(11.200000\du,21.850000\du)–(11.200000\du,18.800000\du)–cycle;
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
\pgfsetmiterjoin
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (3.900000\du,18.800000\du)–(3.900000\du,21.850000\du)–(11.200000\du,21.850000\du)–(11.200000\du,18.800000\du)–cycle;
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (7.550000\du,20.520000\du){C};
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
\pgfsetbuttcap
{
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetfillcolor{dialinecolor}
% was here!!!
\pgfsetarrowsend{stealth}
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (7.674620\du,7.349908\du)–(7.623142\du,10.034130\du);
}
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
\pgfsetbuttcap
{
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetfillcolor{dialinecolor}
% was here!!!
\pgfsetarrowsend{stealth}
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (7.562272\du,15.644077\du)–(7.554120\du,18.753397\du);
}
\end{tikzpicture}
`
ecco un esempio di codice prodotto con DIA
penso che scatenerà qualche brontolio
ciao
Claudio
-
24 Ottobre 2011 alle 12:41 #65160::
In effetti mi domando perché ti fai fare i diagrammi da un programma che non è in grado di produrre un codice decente.Espresso il mio mugugno, confesso che non ho capito perché non ti centri l’immagine, anche perché il codice è così confuso che si riesce a malapena a capire che cosa faccia ogni descrizione di path o di nodo.
Ma non ho voglia di ridisegnarti il codice usando tikz per davvero con i suoi comandi, non con i comandi pgf, benché questi ultimi stiano alla base di primi, ma forse tikz li usa meglio.
-
24 Ottobre 2011 alle 13:05 #65161::
OldClaudio” post=64229In effetti mi domando perché ti fai fare i diagrammi da un programma che non è in grado di produrre un codice decente.
Espresso il mio mugugno, confesso che non ho capito perché non ti centri l’immagine, anche perché il codice è così confuso che si riesce a malapena a capire che cosa faccia ogni descrizione di path o di nodo.
Ma non ho voglia di ridisegnarti il codice usando tikz per davvero con i suoi comandi, non con i comandi pgf, benché questi ultimi stiano alla base di primi, ma forse tikz li usa meglio.
Confermo quanto dice OldClaudio: con tikz fai decisamente prima e con assai meno fatica. Guarda il pgfmanual (texdoc tikz da terminale/prompt dei comandi) pagine 211/212.
-
24 Ottobre 2011 alle 13:25 #65162::
in effetti non avete tutti i torti
Utilizzando Qtikz ho ottenuto questa semplificazione
`
% Graphic for TeX using PGF
% Title: C:\Users\claudio\Pictures\Diagramma2.dia
% Creator: Dia v0.97.1
% CreationDate: Mon Oct 24 15:56:03 2011
% For: claudio
% \usepackage{tikz}
% The following commands are not supported in PSTricks at present
% We define them conditionally, so when they are implemented,
% this pgf file will use them.
\ifx\du\undefined
\newlength{\du}
\fi
\setlength{\du}{12\unitlength}
\begin{tikzpicture}
\pgftransformxscale{1.000000}
\pgftransformyscale{-1.000000}
\pgfpathellipse{\pgfpoint{7.721636\du}{4.898318\du}}{\pgfpoint{3.028364\du}{0\du}}{\pgfpoint{0\du}{2.401682\du}}
\pgfusepath{stroke}
\node at (7.721636\du,5.093318\du){A};
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (7.569670\du,10.044670\du)–(11.350000\du,12.822335\du)–(7.569670\du,15.600000\du)–(3.789340\du,12.822335\du)–cycle;
\pgfsetlinewidth{0.100000\du}
\draw (7.569670\du,10.044670\du)–(11.350000\du,12.822335\du)–(7.569670\du,15.600000\du)–(3.789340\du,12.822335\du)–cycle;
\node at (7.569670\du,13.017335\du){B};
\fill (3.900000\du,18.800000\du)–(3.900000\du,21.850000\du)–(11.200000\du,21.850000\du)–(11.200000\du,18.800000\du)–cycle;
\draw (3.900000\du,18.800000\du)–(3.900000\du,21.850000\du)–(11.200000\du,21.850000\du)–(11.200000\du,18.800000\du)–cycle;
\node at (7.550000\du,20.520000\du){C};
{
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetfillcolor{dialinecolor}
% was here!!!
\pgfsetarrowsend{stealth}
\draw (7.674620\du,7.349908\du)–(7.623142\du,10.034130\du);
}
{
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetfillcolor{dialinecolor}
% was here!!!
\pgfsetarrowsend{stealth}
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (7.562272\du,15.644077\du)–(7.554120\du,18.753397\du);
}
\end{tikzpicture}
`
Saluti e grazie
Claudio
-
24 Ottobre 2011 alle 13:44 #65163::
In realtà (non ho ancora provato Qtikz) puoi semplificare ancora scrivendo a mano il codice: per creare figure geometriche non serve caratterizzare a mano tutto il path. Ti posto un esempio facile:`
\begin{center}
\begin{tikzpicture}[auto,-latex, thick,
block/.style ={rectangle, draw=blue, thick, fill=blue!20,
rounded corners,
minimum height=3em},
cloud/.style ={draw=red, thick, ellipse,fill=red!20,
minimum height=3em}]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\node[cloud] at (0,0) (sql) {SQL INSTRUCTION};
\node[block] at (0,-2) (opt) {OPTIMIZER};
\node[block] at (0,-4) (acm) {MANAGEMENT OF ACCESS METHODS};
\node[block] at (0,-6) (bfm) {BUFFER MANAGER};
\node[cloud] at (0,-8) (dtb) {DATABASE};
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\path (sql) edge (opt);
\path (opt) edge (acm);
\path (acm) edge (bfm);
\path (bfm) edge (dtb);
\end{tikzpicture}
\end{center}
`[attachment=52]prova_2011-10-24.pdf[/attachment]
P.S. Occhio solo a caricare le librerie giuste!
Attachments:
You must be logged in to view attached files. -
25 Ottobre 2011 alle 7:45 #65164::
Guarda come è più semplice fare a mano con tikz seguendo anche le indicazioni di @cfiandra:
`
\documentclass{…}
…
\usepackage{tikz}\usetikzlibrary{shapes.geometric}
…
\begin{document}
…
\begin{figure}\centering
\begin{tikzpicture}[auto, -stealth, thick, scale=0.5]% Definizione dei nodi e delle loro scatole
\node[ellipse, minimum height=7em, draw, very thick,inner xsep=3em] at (0,0) (primo) {A};
\node[diamond,aspect=2,draw, very thick,inner xsep=3em] at (0,-6) (secondo) {B};
\node[rectangle,minimum height=5em,draw, very thick,inner xsep=3em] at (0,-12) (terzo) {C};% collegamento dei nodi
\path (primo) edge (secondo);
\path (secondo) edge (terzo);
\end{tikzpicture}
\caption{…}\label{…}
\end{figure}
…
\end{document}
`I puntini sono quello che compare già nel tuo file oppure il contenuto della didascalia e il suo label
-
5 Novembre 2011 alle 15:17 #65165::
ho provato a seguire il consiglio
primo risultato
`
\begin{tikzpicture}[auto, -stealth, thick, scale=0.5]
% Definizione dei nodi e delle loro scatole
\tikzstyle{line} = [draw, -latex']
\node[ellipse, minimum height=7em, draw, very thick,inner xsep=3em] at (0,0) (primo) {A};
\node[rectangle,minimum height=5em,draw, very thick,inner xsep=3em] at (0,-6) (secondo) {1233456};
\node[diamond,aspect=2,draw, very thick,inner xsep=3em] at (0,-12
) (terzo) {test};
\node[ellipse ,minimum height=5em,draw, very thick,inner xsep=3em] at (0,-18) (quarto) {Fine};% collegamento dei nodi
\begin{scope}[every path/.style=line]
\path [line] (primo) — (secondo);
\path [line ](secondo) edge (terzo);
\path [line ](terzo) — node {NO} (quarto);
\path [line](terzo.west) -| node {SI}(secondo.west);
\end{scope}
\end{tikzpicture}
`ma non mi piace come viene tracciata la linea del test
Allora ho pensato ad un nodo fantasma e ho fatto così
`
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{arrows}
\begin{tikzpicture}[auto, -stealth, thick, scale=0.5]
% Definizione dei nodi e delle loro scatole
\tikzstyle{line} = [draw, -latex']
\node[ellipse, minimum height=7em, draw, very thick,inner xsep=3em] at (0,0) (primo) {A
};
\node[rectangle,minimum height=5em,draw, very thick] at (0,-6) (secondo) {123345678};
\node [rectangle] at (-4,-6)(xx){};
\node[diamond,aspect=2,draw, very thick,inner xsep=3em] at (0,-12
) (terzo) {test};
\node[ellipse ,minimum height=5em,draw, very thick,inner xsep=3em] at (0,-18) (quarto) {D};% collegamento dei nodi
\begin{scope}[every path/.style=line]
\path (primo) — (secondo);
\path (secondo) edge (terzo);
\path (terzo) — node {NO} (quarto);
\path (terzo.west) -| node [near start] {SI}(xx);
\path(xx.east) — (secondo.west);
\end{scope}
\end{tikzpicture}`
il risultato mi sembra migliore
ma la linea del test si è spezzata
come posso migliorare?
Grazie
Claudio
-
6 Novembre 2011 alle 15:33 #65166::
Prova con questo:
`
\documentclass{standalone}\usepackage[utf8]{inputenc}
\usepackage{tikz}\usetikzlibrary{shapes,arrows}
\tikzstyle{decisione} = [diamond, draw, inner xsep=1em, inner ysep=1ex]
\tikzstyle{istruzione} = [rectangle, draw, inner xsep=2em, inner ysep=2ex]
\tikzstyle{stato} = [rectangle, draw, rounded corners=2ex, inner xsep=1.5em, inner ysep=1ex]\begin{document}
\begin{tikzpicture}[node distance = 2cm, >=latex]
\node [stato] (A) {A};
\node [istruzione, below of=A] (value) {1234567889};
\node [decisione, below of=value] (test) {test};
\node [stato, below of=test] (D) {D};
\draw[->] (A) — (value);
\draw[->] (value) — (test);
\draw[->] (test) — (D);
\draw[->] (test) -| node [near start,above] {SI} +(-6em,0) |- (value);
\end{tikzpicture}
\end{document}`(Comunque è bene non porre domande disparate in un unico thread.)
Ciao,
Antonio
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.