Pular para o conteúdo

Nós, setas e diagramas no TikZ

Posicione cada caixa com \node[draw] (name) {text};, posicione as seguintes com a biblioteca positioning (right=of name) e ligue-as com \draw[->] (a) -- (b);.

Nós

Um nó é um pedaço de texto num ponto, opcionalmente com moldura. draw dá a ele um contorno, fill, um fundo, e circle ou ellipse, uma forma redonda (rectangle é o padrão). Um nome entre parênteses permite se referir ao nó depois.

Nós com formas, preenchimentos e tamanhos

LaTeXPreâmbulo: \usepackage{tikz}Abrir no editor (abre em uma nova aba)
\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}

Setas entre nós

\draw[->] (a) -- (b); desenha uma seta do nó a até o nó b. A linha começa e termina nas bordas dos nós, não nos seus centros. -| e |- desenham ligações em ângulo reto.

Um pequeno fluxograma com a biblioteca 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 coloca o nó à direita de in, separado por node distance. As outras direções são left, above, below e as diagonais, como above right. right=2cm of in define a distância para um único nó.

Rótulos em setas e nós

Um node escrito no meio de um caminho serve de rótulo para ele. above, below, left, right definem o lado, e midway, near start, near end ou pos=0.3, a posição ao longo do caminho. label=below:text acrescenta um rótulo a um nó.

Um diagrama de estados com arestas curvas e rotuladas

\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}

Âncoras

Todo nó tem âncoras na sua borda: north, south, east, west e os cantos, como north east. (box.north) é o ponto no centro do topo de box.

Setas a partir das âncoras de um nó

LaTeXPreâmbulo: \usepackage{tikz}Abrir no editor (abre em uma nova aba)
\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 num nó o posiciona de modo que a sua âncora oeste fique no ponto indicado.

Pontas de seta

OpçãoPontaNo Scissor LaTeX
->, <-, <->a ponta padrão do TikZFunciona
-stealth, -latexas pontas clássicas stealth e LaTeXFunciona
-{Stealth}, -{Latex} (arrows.meta)as pontas mais novasFunciona
|-|uma barra em cada pontaFunciona
>={Stealth} na figuraa ponta usada por ->Funciona
opções de ponta como -{Stealth[length=3mm]}tamanhos e formas da pontaEm parte: a ponta é desenhada no tamanho padrão

Os tamanhos das pontas ficam próximos dos do TikZ, mas não idênticos.

O que não é suportado

Estes recursos compilam numa instalação do TeX, mas não aqui. A maioria é informada na aba Problemas.

RecursoO que acontece no Scissor LaTeXO que escrever no lugar
\matrix (e matrix of nodes)A figura inteira vira uma caixa tracejada com uma mensagemPosicione os nós com at (x,y) ou com positioning
\picA figura inteira vira uma caixa tracejada com uma mensagemRepita o desenho num scope com shift
decorações (decorate, decoration=...)Ignoradas com uma mensagem; o caminho é desenhado sem elasUm caminho simples ou tracejado
formas de nó do shapes.geometric (diamond, trapezium ...)Desenhadas como retângulo, com uma mensagemrectangle, circle ou ellipse
linhas doubleIgnoradas com uma mensagemDois nós ou caminhos
to[loop above] (um laço num nó)Nenhum laço é desenhado e nenhuma mensagem aparece; o rótulo fica sobre o nóUm arc ou uma curva .. controls .. a partir da borda do nó
pin=O texto do pin aparece, sem a linha do pinlabel=
pos= num caminho -| ou |-O rótulo é posicionado só ao longo do segundo trecho, então pos=0.25 cai perto do cantoRotule o segundo trecho com pos=0.75, ou divida o caminho em dois
tikz-cd, circuitikz, forestA figura fica de fora, com uma mensagemTikZ simples, ou uma imagem

\matrix vira um espaço reservado

LaTeXPreâmbulo: \usepackage{tikz}Abrir no editor (abre em uma nova aba)
\begin{tikzpicture}
  \matrix[draw] {
    \node {a}; & \node {b}; \\
    \node {c}; & \node {d}; \\
  };
\end{tikzpicture}

Aba Problemas: \matrix in a picture is not supported yet

Um nó em losango é desenhado como retângulo

\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}

Aba Problemas: TikZ node option 'diamond' is not supported yet

O manual do TikZ (no pacote PGF) trata de nós, da biblioteca positioning e das pontas de seta: ctan.org/pkg/pgf. Para formas e caminhos, veja desenhos com TikZ.

Veja também Noções básicas de TikZ, TikZ e Figuras e imagens.

Perguntas e respostas

Como desenho um fluxograma em LaTeX?

Use nós do TikZ com draw para as caixas, a biblioteca positioning (right=of a, below=of b) para posicioná-las e \draw[->] (a) -- (b); para as setas.

Como coloco texto numa seta no TikZ?

Escreva um nó no meio do caminho: \draw[->] (a) -- node[above] {text} (b);.

O tikz-cd funciona no Scissor LaTeX?

Ainda não. Um diagrama tikzcd fica de fora com uma mensagem. Em vez disso, desenhe diagramas simples com nós e setas.

Cada exemplo desta página é composto pelo Scissor LaTeX quando o site é gerado. Última atualização: 2026-11-07.