Re: Posizione label con il comando \node – TikZ

#79549
Up
0
Down
::

Marco87″ post=78704Ciao Claudio,

grazie mille! 😀 In effetti avevo provato anche quella soluzione, ma sono stato ingannato dal comportamento che adesso cerco di descrivere. Se io scrivo:
`\node [align=left,”posizione”] (scritta) at ($(A)+(2,-1.5)$) {Prima riga, \\ seconda riga \par};
\draw [->] (scritta) — (A);
\draw [->,red] ($(A)+(2,-1.5)$) — (A);`
a seconda che, al posto di [tt]”posizione”[/tt] scriva una fra le alternative [tt]left, below, right[/tt] e [tt]above,[/tt] la freccia che ottengo cambia. Evidentemente c’è qualcosa che non conosco nel comportamento di [tt]\node.[/tt]

Grazie ancora e buona giornata,
Marco.

Hai ragione, le cose cambiano a seconda di come allinei il testo. Il motivo è semplice e il seguente esempio dovrebbe essere di aiuto:`
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\node [draw,align=left,left] (scritta) at ($(A)+(2,-1.5)$) {Prima riga, \\ seconda riga \par};
\draw [->] (scritta) — (A);
\draw [->,red] ($(A)+(2,-1.5)$) — (A);
\draw[draw=none,mark=x] plot coordinates{(0,0) ($(A)+(2,-1.5)$) (scritta.center)};
\end{tikzpicture}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\node [draw,align=left,right] (scritta) at ($(A)+(2,-1.5)$) {Prima riga, \\ seconda riga \par};
\draw [->] (scritta) — (A);
\draw [->,red] ($(A)+(2,-1.5)$) — (A);
\draw[draw=none,mark=x] plot coordinates{(0,0) ($(A)+(2,-1.5)$) (scritta.center)};
\end{tikzpicture}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\node [draw,align=left,above] (scritta) at ($(A)+(2,-1.5)$) {Prima riga, \\ seconda riga \par};
\draw [->] (scritta) — (A);
\draw [->,red] ($(A)+(2,-1.5)$) — (A);
\draw[draw=none,mark=x] plot coordinates{(0,0) ($(A)+(2,-1.5)$) (scritta.center)};
\end{tikzpicture}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\node [draw,align=left,below] (scritta) at ($(A)+(2,-1.5)$) {Prima riga, \\ seconda riga \par};
\draw [->] (scritta) — (A);
\draw [->,red] ($(A)+(2,-1.5)$) — (A);
\draw[draw=none,mark=x] plot coordinates{(0,0) ($(A)+(2,-1.5)$) (scritta.center)};
\end{tikzpicture}
\end{document}
` Osserva il risultato grafico:

[attachment=485]Immagine_2012-10-05-3.jpg[/attachment]

In rosso evidenzio la freccia che dal punto di origine A connette il punto in cui viene definito il nodo (scritta). Nota però, che quando tu scrivi:`
\draw [->] (scritta) — (A);
` in realtà ti stai riferendo ad (scritta.center). Infatti il nodo ha origine in [tt]($(A)+(2,-1.5)$)[/tt], ma tu ne definisci il testo con un certo orientamento ancorato in un determinato modo e come conseguenza il suo centro naturale cambia. Chiaramente in un nodo di tipo`
\node [draw,align=left] (scritta) at ($(A)+(2,-1.5)$) {};
` con testo vuoto e senza ancore particolari il suo centro e il suo punto di origine coincidono (l’allineamento infatti non incide per nulla visto che non c’è testo).

Ciao
Claudio

Attachments:
You must be logged in to view attached files.

Go to top