> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/it/figure-e-tabelle/05-tikz-package.md).

# Pacchetto TikZ

## Introduzione

[Ti*re*Z](https://en.wikipedia.org/wiki/PGF/TikZ) è probabilmente lo strumento più complesso e potente per creare elementi grafici in LaTeX. Partendo da un semplice esempio, questo articolo introduce alcuni concetti di base: disegnare linee, punti, curve, cerchi, rettangoli ecc.

Per prima cosa, carica il `tikz` pacchetto includendo la riga `\usepackage{tikz}` nel preambolo del tuo documento, quindi disegna un grafico usando il `tikzpicture` ambiente.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\draw[gray, thick] (-1,-1) -- (2,2);
\filldraw[black] (0,0) circle (2pt) node[anchor=west]{Punto di intersezione};
\end{tikzpicture}
\end{document}
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=First+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C2%29+--+%282%2C-4%29%3B%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C-1%29+--+%282%2C2%29%3B%0A%5Cfilldraw%5Bblack%5D+%280%2C0%29+circle+%282pt%29+node%5Banchor%3Dwest%5D%7BIntersection+point%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Questo esempio produce il seguente output:

![OLV2tikz1.png](/files/87f078962304ae65879dc7f658ece4cdc048e83d)

In questo esempio vengono disegnate due linee e un punto. Per aggiungere una linea il comando `\draw[gray, thick]` definisce un elemento grafico il cui *colore* è `grigio` e con un `spesso` tratto. La linea è in realtà definita dai suoi due estremi, `(-1,2)` e `(2,-4)`, uniti da `--`.

Il *punto* è in realtà un `cerchio` disegnato da `\filldraw[black]`, questo comando non solo disegnerà il cerchio ma lo riempirà di nero. In questo comando il punto centrale `(0,0)` e il raggio `(2pt)` sono dichiarati. Accanto al punto c'è un `nodo`, che in realtà è una casella contenente il testo `punto di intersezione`, e ancorata a `ovest` del punto.

È importante notare il punto e virgola `;` usato alla fine di ogni `draw` comando.

Nota: il `tikzfigure` può essere racchiuso all'interno di un ambiente figure o simile. Vedi l' [Inserimento di immagini](/latex/it/altri-argomenti/27-inserting-images.md) articolo per ulteriori informazioni su questo argomento.

## Elementi di base: punti, linee e tracciati

In questa sezione forniamo alcuni esempi che mostrano come creare alcuni elementi grafici di base che possono essere combinati per creare figure più elaborate.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw (-2,0) -- (2,0);
\filldraw [gray] (0,0) circle (2pt);
\draw (-2,-2) .. controls (0,0) .. (2,-2);
\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);

\end{tikzpicture}
\end{document}
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%0A%5Cdraw+%28-2%2C0%29+--+%282%2C0%29%3B%0A%5Cfilldraw+%5Bgray%5D+%280%2C0%29+circle+%282pt%29%3B%0A%5Cdraw+%28-2%2C-2%29+..+controls+%280%2C0%29+..+%282%2C-2%29%3B%0A%5Cdraw+%28-2%2C2%29+..+controls+%28-1%2C0%29+and+%281%2C0%29+..+%282%2C2%29%3B%0A%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Questo esempio produce il seguente output:

![OLV2tikz2.png](/files/995bef47dc9b0d4a736318ec27610ea367db217d)

In questo esempio ci sono tre comandi di base:

* **`\draw (-2,0) -- (2,0);`**: Questo definisce una linea i cui estremi sono `(-2,0)` e `(2,0)`.
* **`\filldraw [gray] (0,0) circle (2pt);`**: Il punto viene creato come un cerchio molto piccolo `grigio` `cerchio` centrato in `(0,0)` e il cui raggio è `(2pt)`. Il `\filldraw` il comando viene usato per disegnare elementi e riempirli con un colore specifico. Vedi la sezione successiva per altri esempi.
* **`\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);`**: Disegna una [curva di Bézier](https://en.wikipedia.org/wiki/B%C3%A9zier_curve). Ci sono 4 punti che la definiscono: `(-2,2)` e `(2,2)` sono i suoi estremi, `(-1,0)` e `(1,0)` sono [*punti di controllo*](https://en.wikipedia.org/wiki/Control_point_\(mathematics\)) che determinano quanto è curva. Puoi considerare questi due punti come "punti attrattori".

## Forme geometriche di base: cerchi, ellissi e poligoni

Le figure geometriche possono essere costruite a partire da elementi più semplici, quindi cominciamo con cerchi, ellissi e archi.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);
\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);
\draw[ultra thick, ->] (6.5,0) arc (0:220:1);
\end{tikzpicture}
\end{document}
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Third+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cfilldraw%5Bcolor%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%5D%28-1%2C0%29+circle+%281.5%29%3B%0A%5Cfill%5Bblue%2150%5D+%282.5%2C0%29+ellipse+%281.5+and+0.5%29%3B%0A%5Cdraw%5Bultra+thick%2C+-%3E%5D+%286.5%2C0%29+arc+%280%3A220%3A1%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Questo esempio produce il seguente output:

![TikzEx3.png](/files/ab0f9bd2e94a9f784751a7fdea3a40f19cd2219d)

* **`\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);`**: Questo comando è stato usato nella sezione precedente per disegnare un *punto*, ma in questo caso ci sono alcuni parametri aggiuntivi tra parentesi quadre. Sono spiegati di seguito:
  * **`color=red!60`**: Il colore dell'anello attorno al cerchio è impostato al 60% di rosso (più chiaro del rosso "puro"). Vedi il [guida di riferimento](#reference-guide) per un elenco dei colori predefiniti disponibili in LaTeX; inoltre, vedi [Uso dei colori in LaTeX](/latex/it/formattazione/13-using-colors-in-latex.md) per imparare a creare i tuoi colori.
  * **`fill=red!5`**: Il cerchio è riempito con una tonalità di rosso ancora più chiara.
  * **`molto spesso`**: Questo parametro definisce lo spessore del tratto. Vedi il [guida di riferimento](#reference-guide) per un elenco completo dei valori.
* **`\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);`**: Per creare un'ellisse fornisci un punto centrale `(2.5,0)`, e due raggi: orizzontale e verticale (`1.5` e `0.5` rispettivamente). Nota anche il comando `fill` invece di `draw` o filldraw, questo perché, in questo caso, non c'è bisogno di controllare i colori esterno e interno.
* **`\draw[ultra thick, ->] (6.5,0) arc (0:220:1);`**: Questo comando disegnerà un arco che inizia a `(6.5,0)`. Il parametro aggiuntivo `->` indica che l'arco avrà una freccia alla fine. Oltre al punto di partenza devi fornire tre valori aggiuntivi: gli angoli iniziale e finale, e il raggio; qui, questi tre valori dei parametri sono forniti nel formato `(0:220:1)`.

Oltre alle forme geometriche curve puoi anche creare elementi che usano linee rette, usando una sintassi simile:

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue, very thick] (0,0) rectangle (3,2);
\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;
\end{tikzpicture}
\end{document}
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fourth+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bblue%2C+very+thick%5D+%280%2C0%29+rectangle+%283%2C2%29%3B%0A%5Cdraw%5Borange%2C+ultra+thick%5D+%284%2C0%29+--+%286%2C0%29+--+%285.7%2C2%29+--+cycle%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Questo esempio produce il seguente output:

![OLV2tikz4.png](/files/fa2373067829400740ae76aaea4fa23f6724fecb)

* **`\draw[blue, very thick] (0,0) rectangle (3,2);`**: I rettangoli sono creati dal comando speciale `rectangle`. Devi fornire due punti: il primo è dove la "matita" inizia a disegnare il rettangolo e il secondo è il punto dell'angolo opposto in diagonale.
* **`\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;`**: Per disegnare un poligono disegniamo un *chiuso* tracciato di linee rette: una linea da `(4,0)` su `(6,0)` e una linea da `(6,0)` su `(5.7,2)`. Il `cycle` l'istruzione significa che il punto iniziale e quello finale devono coincidere per creare un tracciato "chiuso" (forma), il che porta alla costruzione dell'ultimo segmento di linea.

## Diagrammi

I nodi sono probabilmente gli elementi più versatili in TikZ. Abbiamo già usato un nodo nell'introduzione—per aggiungere del testo alla figura. L'esempio successivo usa i nodi per creare un diagramma.

```latex
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm},
squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm},
]
%Nodi
\node[squarednode]      (maintopic)                              {2};
\node[roundnode]        (uppercircle)       [above=of maintopic] {1};
\node[squarednode]      (rightsquare)       [right=of maintopic] {3};
\node[roundnode]        (lowercircle)       [below=of maintopic] {4};

%Linee
\draw[->] (uppercircle.south) -- (maintopic.north);
\draw[->] (maintopic.east) -- (rightsquare.west);
\draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
\end{tikzpicture}
\end{document}
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=More+advanced+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cusetikzlibrary%7Bpositioning%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%5B%0Aroundnode%2F.style%3D%7Bcircle%2C+draw%3Dgreen%2160%2C+fill%3Dgreen%215%2C+very+thick%2C+minimum+size%3D7mm%7D%2C%0Asquarednode%2F.style%3D%7Brectangle%2C+draw%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%2C+minimum+size%3D5mm%7D%2C%0A%5D%0A%25Nodes%0A%5Cnode%5Bsquarednode%5D++++++%28maintopic%29++++++++++++++++++++++++++++++%7B2%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28uppercircle%29+++++++%5Babove%3Dof+maintopic%5D+%7B1%7D%3B%0A%5Cnode%5Bsquarednode%5D++++++%28rightsquare%29+++++++%5Bright%3Dof+maintopic%5D+%7B3%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28lowercircle%29+++++++%5Bbelow%3Dof+maintopic%5D+%7B4%7D%3B%0A%0A%25Lines%0A%5Cdraw%5B-%3E%5D+%28uppercircle.south%29+--+%28maintopic.north%29%3B%0A%5Cdraw%5B-%3E%5D+%28maintopic.east%29+--+%28rightsquare.west%29%3B%0A%5Cdraw%5B-%3E%5D+%28rightsquare.south%29+..+controls+%2B%28down%3A7mm%29+and+%2B%28right%3A7mm%29+..+%28lowercircle.east%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Questo esempio produce il seguente output:

![OLV2tikz5.png](/files/eafbb7a6b34c9636b40a9c0caf00af8005c9e6b3)

Ci sono essenzialmente tre comandi in questa figura: una definizione di nodo, una dichiarazione di nodo e linee che uniscono due nodi.

* **`roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm}`**: Passato come parametro a `tikzpicture` ambiente. Definisce un nodo a cui si farà riferimento come `roundnode`: questo nodo sarà un cerchio il cui anello esterno sarà disegnato usando il colore `green!60` e sarà riempito usando `green!5`. Lo spessore sarà `molto spesso` specifica `dimensione minima` è `7mm`. La riga sottostante definisce un secondo nodo di forma rettangolare chiamato `squarednode`, usando parametri simili.
* **`\node[squarednode] (maintopic) {2};`**: Questo creerà un `squarednode`nodo, come definito nel comando precedente. Questo nodo avrà un id di `maintopic` e conterrà il numero `2`. Se lasci uno spazio vuoto tra le parentesi graffe non verrà visualizzato alcun testo.
* **`[above=of maintopic]`**: Nota che tutti i nodi tranne il primo hanno un parametro aggiuntivo che determina la loro posizione rispetto agli altri nodi. Per esempio, `[above=of maintopic]` significa che questo nodo dovrebbe apparire sopra il nodo chiamato `maintopic`. Per far funzionare questo sistema di posizionamento devi aggiungere `\usetikzlibrary{positioning}` nel preambolo. Senza la `positioning` libreria, puoi usare la sintassi `above of=maintopic` invece, ma la `positioning` sintassi è più flessibile e potente: puoi estenderla per scrivere `above=**3cm** of maintopic` cioè controllare la distanza effettiva da `maintopic`.
* **`\draw[->] (uppercircle.south) -- (maintopic.north);`**: Verrà disegnata una linea retta simile a una freccia. La sintassi è già stata spiegata nella [elementi di base](#basic-elements-points-lines-and-paths) sezione. L'unica differenza è il modo in cui scriviamo gli estremi della linea: facendo riferimento a un nodo (per questo li abbiamo nominati) e a una posizione relativa al nodo.

## Guida di riferimento

Possibili parametri di colore e spessore nel `tikz` pacchetto:

| parametro | valori                                                                   | picture                                                              |
| --------- | ------------------------------------------------------------------------ | -------------------------------------------------------------------- |
| colore    | bianco, nero, rosso, verde, blu, ciano, magenta, giallo                  | ![BasicColours.png](/files/da1e4f6888928197d466a73cf36dcd8674f2d991) |
| spessore  | ultrasottile, molto sottile, sottile, spesso, molto spesso, ultra spesso | ![Thickness.png](/files/8b395fc197ffadb4f550355955373bf894192531)    |

Potrebbero essere disponibili più colori nella tua distribuzione LaTeX. Vedi [Uso dei colori in LaTeX](/latex/it/formattazione/13-using-colors-in-latex.md)

## Approfondimenti

Per ulteriori informazioni vedi:

* [Uso dei colori in LaTeX](/latex/it/formattazione/13-using-colors-in-latex.md)
* [pacchetto Pgfplots](/latex/it/specifico-per-argomento/08-pgfplots-package.md)
* [Inserimento di immagini](/latex/it/altri-argomenti/27-inserting-images.md)
* [Elenchi di tabelle e figure](/latex/it/figure-e-tabelle/03-lists-of-tables-and-figures.md)
* [Posizionamento di immagini e tabelle](/latex/it/figure-e-tabelle/02-positioning-images-and-tables.md)
* [Disegnare diagrammi direttamente in LaTeX](/latex/it/figure-e-tabelle/04-picture-environment.md)
* [Il manuale dei pacchetti TikZ e PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf)
* [Esempi di TikZ e PGF su TeXample.net](http://www.texample.net/tikz/examples/all/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/it/figure-e-tabelle/05-tikz-package.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
