Vai al contenuto

Nodi, frecce e diagrammi TikZ

Posiziona ogni riquadro con \node[draw] (name) {text};, colloca i successivi con la libreria positioning (right=of name), e collegali con \draw[->] (a) -- (b);.

Nodi

Un nodo è un pezzo di testo in un punto, facoltativamente con una cornice. draw gli dà un contorno, fill uno sfondo, e circle o ellipse una forma rotonda (rectangle è quella predefinita). Un nome tra parentesi tonde ti permette di riferirti al nodo in seguito.

Nodi con forme, riempimenti e dimensioni

LaTeXPreambolo: \usepackage{tikz}Apri nell'editor (si apre in una nuova scheda)
\begin{tikzpicture}
  \node[draw] (a) at (0,0) {plain box};
  \node[draw, rounded corners, fill=blue!10] (b) at (3,0) {rounded};
  \node[draw, circle, fill=yellow!40] (c) at (5.5,0) {44};
  \node[draw, ellipse] (d) at (8,0) {ellipse};
  \node[draw, minimum width=2.5cm, minimum height=1cm] at (1,-1.6) {fixed size};
  \node[draw, text width=2.6cm, align=center] at (5,-1.6) {text that wraps onto two lines};
\end{tikzpicture}

Frecce tra nodi

\draw[->] (a) -- (b); disegna una freccia dal nodo a al nodo b. La linea inizia e finisce sui bordi dei nodi, non nei loro centri. -| e |- disegnano collegamenti ad angolo retto.

Un piccolo diagramma di flusso con la libreria positioning

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning, arrows.meta}
\begin{document}
\begin{tikzpicture}[
    node distance=1.2cm and 1.6cm,
    box/.style={draw, rounded corners, fill=blue!8, minimum width=2.2cm, minimum height=0.8cm},
    >={Stealth},
  ]
  \node[box] (in) {Read data};
  \node[box, right=of in] (clean) {Clean};
  \node[box, right=of clean] (fit) {Fit model};
  \node[draw, circle, below=of clean] (ok) {OK?};
  \draw[->] (in) -- (clean);
  \draw[->] (clean) -- (fit);
  \draw[->] (fit) |- (ok);
  \draw[->] (ok) -| node[pos=0.75, left] {no} (in);
\end{tikzpicture}
\end{document}

right=of in mette il nodo a destra di in, separato da node distance. Le altre direzioni sono left, above, below e le diagonali come above right. right=2cm of in imposta la distanza per un solo nodo.

Etichette su frecce e nodi

Un node scritto a metà di un percorso gli fa da etichetta. above, below, left, right impostano il lato, e midway, near start, near end o pos=0.3 la posizione lungo il percorso. label=below:text aggiunge un’etichetta a un nodo.

Un diagramma degli stati con archi curvi ed etichettati

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning, arrows.meta}
\begin{document}
\begin{tikzpicture}[state/.style={draw, circle, minimum size=1cm}, >={Stealth}, node distance=2.4cm]
  \node[state, label=below:start] (s0) {$q_0$};
  \node[state, right=of s0] (s1) {$q_1$};
  \node[state, right=of s1, fill=green!15] (s2) {$q_2$};
  \draw[->] (s0) to[bend left] node[above] {$a$} (s1);
  \draw[->] (s1) to[bend left] node[below] {$b$} (s0);
  \draw[->] (s1) -- node[above] {$a$} (s2);
\end{tikzpicture}
\end{document}

Ancore

Ogni nodo ha delle ancore sul bordo: north, south, east, west e gli angoli come north east. (box.north) è il punto al centro del lato superiore di box.

Frecce dalle ancore di un nodo

LaTeXPreambolo: \usepackage{tikz}Apri nell'editor (si apre in una nuova scheda)
\begin{tikzpicture}
  \node[draw, minimum width=3cm, minimum height=1cm] (box) {Server};
  \draw[->] (box.north) -- ++(0,0.7) node[above] {north};
  \draw[->] (box.east) -- ++(1,0) node[right] {east};
  \draw[->] (box.south west) -- ++(-0.6,-0.6) node[below left] {south west};
  \node[anchor=west] at (box.south east) {\small (anchor=west)};
\end{tikzpicture}

anchor=west su un nodo lo colloca in modo che la sua ancora west stia nel punto indicato.

Punte di freccia

OpzionePuntaIn Scissor LaTeX
->, <-, <->la punta predefinita di TikZFunziona
-stealth, -latexle classiche punte stealth e LaTeXFunziona
-{Stealth}, -{Latex} (arrows.meta)le punte più recentiFunziona
|-|una barretta a ogni estremitàFunziona
>={Stealth} sulla figurala punta usata da ->Funziona
opzioni della punta come -{Stealth[length=3mm]}dimensioni e forme della puntaIn parte: la punta viene disegnata nella dimensione predefinita

Le dimensioni delle punte sono vicine a quelle di TikZ, ma non identiche.

Cosa non è supportato

Queste funzioni compilano in un’installazione TeX ma non qui. La maggior parte viene segnalata nella scheda Problemi.

FunzioneCosa succede in Scissor LaTeXCosa scrivere invece
\matrix (e matrix of nodes)L’intera figura diventa un riquadro tratteggiato con un messaggioPosiziona i nodi con at (x,y) o con positioning
\picL’intera figura diventa un riquadro tratteggiato con un messaggioRipeti il disegno in uno scope con shift
decorazioni (decorate, decoration=...)Ignorate con un messaggio; il percorso viene disegnato sempliceUn percorso semplice o tratteggiato
forme di nodo di shapes.geometric (diamond, trapezium ...)Disegnate come rettangolo, con un messaggiorectangle, circle o ellipse
linee doubleIgnorate con un messaggioDue nodi o percorsi
to[loop above] (un anello su un nodo)Non viene disegnato alcun anello né mostrato alcun messaggio; la sua etichetta finisce sul nodoUn arc o una curva .. controls .. dal bordo del nodo
pin=Il testo del pin viene mostrato, senza la linea del pinlabel=
pos= su un percorso -| o |-L’etichetta viene posizionata solo lungo il secondo tratto, quindi pos=0.25 finisce vicino all’angoloEtichetta il secondo tratto con pos=0.75, oppure dividi il percorso in due
tikz-cd, circuitikz, forestLa figura viene omessa, con un messaggioTikZ semplice, oppure un’immagine

\matrix diventa un segnaposto

LaTeXPreambolo: \usepackage{tikz}Apri nell'editor (si apre in una nuova scheda)
\begin{tikzpicture}
  \matrix[draw] {
    \node {a}; & \node {b}; \\
    \node {c}; & \node {d}; \\
  };
\end{tikzpicture}

Scheda Problemi: \matrix in a picture is not supported yet

Un nodo diamond viene disegnato come rettangolo

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
  \node[draw, diamond] at (0,0) {Yes?};
  \node[draw, ellipse] at (2.5,0) {ellipse works};
\end{tikzpicture}
\end{document}

Scheda Problemi: TikZ node option 'diamond' is not supported yet

Il manuale di TikZ (nel pacchetto PGF) tratta i nodi, la libreria positioning e le punte di freccia: ctan.org/pkg/pgf. Per forme e percorsi, vedi disegni con TikZ.

Vedi anche Le basi di TikZ, TikZ e Figure e immagini.

Domande e risposte

Come si disegna un diagramma di flusso in LaTeX?

Usa i nodi TikZ con draw per i riquadri, la libreria positioning (right=of a, below=of b) per collocarli, e \draw[->] (a) -- (b); per le frecce.

Come si mette del testo su una freccia in TikZ?

Scrivi un nodo a metà del percorso: \draw[->] (a) -- node[above] {text} (b);.

tikz-cd funziona in Scissor LaTeX?

Non ancora. Un diagramma tikzcd viene omesso con un messaggio. Disegna invece diagrammi semplici con nodi e frecce.

Ogni esempio di questa pagina viene composto da Scissor LaTeX quando il sito viene generato. Ultimo aggiornamento: 2026-11-07.