Ciao a tutti. Con TikZ una cosa si può fare in più e più modi. Per esempio, voglio disegnare un quadrato con ciascun vertice contrassegnato da un cerchietto ed etichettato. Il codice che userei io è molto ingenuo:
`\begin{tikzpicture}
\draw [help lines] (0,0) grid (2,2);
\coordinate (c1) at (1,0);
\coordinate (c2) at (0,1);
\coordinate (c3) at (1,2);
\coordinate (c4) at (2,1);
\node at (c1) [below] {$c_1$};
\node at (c2)
{$c_2$};
\node at (c3) [above] {$c_3$};
\node at (c4)
{$c_4$};
\draw (c1) circle (2pt);
\draw (c2) circle (2pt);
\draw (c3) circle (2pt);
\draw (c4) circle (2pt);
\draw (c1) — (c2) — (c3) — (c4) — cycle;
\end{tikzpicture}`
Insomma:
1. definisco sulla tela le 4 coordinate, una alla volta ;
2. inserisco, in corrispondenza di queste coordinate, le 4 etichette, una alla volta;
3. disegno i 4 cerchietti, uno alla volta (sempre usando le coordinate);
4. disegno il quadrato (sempre usando le coordinate).
Comprensibilissimo, ma tutte quelle istruzioni ripetute sono bruttine.
Ecco un codice più elegante:
`\begin{tikzpicture}
\draw [help lines] (0,0) grid (2,2);
\path (1,0) coordinate (c1)
(0,1) coordinate (c2)
(1,2) coordinate (c3)
(2,1) coordinate (c4);
\draw (c1) — (c2) — (c3) — (c4) — cycle;
\draw (c1) circle (2pt)
(c2) circle (2pt)
(c3) circle (2pt)
(c4) circle (2pt)
(c1) node [below] {$c_1$}
(c2) node
{$c_2$}
(c3) node [above] {$c_3$}
(c4) node
{$c_4$};
\end{tikzpicture} `
Quello che si fa qui è:
1. si traccia un “cammino invisibile” con il solo scopo di definire le coordinate dei vertici;
2. si disegna il quadrato (usando le coordinate);
3. si disegnano cerchietti ed etichette, usando un’unica istruzione \draw.
Questo secondo codice è elegante, ma lo trovo meno intuitivo. Mi date qualche delucidazione in più?
In particolare, è vero che se devo disegnare due oggetti diversi posso sempre farlo con un’unica istruzione \draw?
Per esempio.
`\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,3);
\draw (0,0) rectangle (1,1)
(0,2) rectangle (1,3)
(2,2) rectangle (3,3)
(2,0) rectangle (3,1);
\end{tikzpicture}
`
è uguale al più goffo (ma per me più intuitivo)
`\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,3);
\draw (0,0) rectangle (1,1);
\draw (0,2) rectangle (1,3);
\draw (2,2) rectangle (3,3);
\draw (2,0) rectangle (3,1);
\end{tikzpicture}`
Mi illuminate?
Grazie!