Saltar al contenido

Nodos, flechas y diagramas con TikZ

Coloca cada caja con \node[draw] (name) {text};, sitúa las siguientes con la biblioteca positioning (right=of name) y conéctalas con \draw[->] (a) -- (b);.

Nodos

Un nodo es un fragmento de texto en un punto, opcionalmente con un marco. draw le da un contorno, fill un fondo, y circle o ellipse una forma redondeada (rectangle es la predeterminada). Un nombre entre paréntesis te permite referirte al nodo más adelante.

Nodos con formas, rellenos y tamaños

LaTeXPreámbulo: \usepackage{tikz}Abrir en el editor (se abre en una pestaña nueva)
\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}

Flechas entre nodos

\draw[->] (a) -- (b); dibuja una flecha del nodo a al nodo b. La línea empieza y termina en los bordes de los nodos, no en sus centros. -| y |- dibujan conexiones en ángulo recto.

Un pequeño diagrama de flujo con la 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 pone el nodo a la derecha de in, separado por node distance. Las demás direcciones son left, above, below y las diagonales como above right. right=2cm of in fija la distancia para un solo nodo.

Etiquetas en flechas y nodos

Un node escrito en mitad de un camino lo etiqueta. above, below, left, right fijan el lado, y midway, near start, near end o pos=0.3 la posición a lo largo del camino. label=below:text añade una etiqueta a un nodo.

Un diagrama de estados con aristas curvas y etiquetadas

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

Anclajes

Cada nodo tiene anclajes en su borde: north, south, east, west y las esquinas como north east. (box.north) es el punto central superior de box.

Flechas desde los anclajes de un nodo

LaTeXPreámbulo: \usepackage{tikz}Abrir en el editor (se abre en una pestaña nueva)
\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 en un nodo lo coloca de forma que su anclaje oeste quede en el punto indicado.

Puntas de flecha

OpciónPuntaEn Scissor LaTeX
->, <-, <->la punta predeterminada de TikZFunciona
-stealth, -latexlas puntas clásicas stealth y LaTeXFunciona
-{Stealth}, -{Latex} (arrows.meta)las puntas más nuevasFunciona
|-|una barra en cada extremoFunciona
>={Stealth} en la figurala punta que usa ->Funciona
opciones de punta como -{Stealth[length=3mm]}tamaños y formas de la puntaEn parte: la punta se dibuja con su tamaño predeterminado

Los tamaños de las puntas se parecen mucho a los de TikZ, pero no son idénticos.

Qué no se admite

Estas funciones compilan en una instalación de TeX pero no aquí. La mayoría se notifican en la pestaña Problemas.

FunciónQué pasa en Scissor LaTeXQué escribir en su lugar
\matrix (y matrix of nodes)Toda la figura se convierte en un recuadro discontinuo con un mensajeColoca los nodos con at (x,y) o con positioning
\picToda la figura se convierte en un recuadro discontinuo con un mensajeRepite el dibujo en un scope con shift
decoraciones (decorate, decoration=...)Se ignoran con un mensaje; el camino se dibuja lisoUn camino liso o discontinuo
formas de nodo de shapes.geometric (diamond, trapezium ...)Se dibujan como rectángulo, con un mensajerectangle, circle o ellipse
líneas doubleSe ignoran con un mensajeDos nodos o caminos
to[loop above] (un bucle sobre un nodo)No se dibuja ningún bucle ni se muestra ningún mensaje; su etiqueta queda sobre el nodoUn arc o una curva .. controls .. desde el borde del nodo
pin=Se muestra el texto del pin, sin la línea del pinlabel=
pos= en un camino -| o |-La etiqueta se coloca solo a lo largo del segundo tramo, así que pos=0.25 cae cerca de la esquinaEtiqueta el segundo tramo con pos=0.75, o divide el camino en dos
tikz-cd, circuitikz, forestLa figura se omite, con un mensajeTikZ sencillo, o una imagen

\matrix se convierte en un marcador de posición

LaTeXPreámbulo: \usepackage{tikz}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \matrix[draw] {
    \node {a}; & \node {b}; \\
    \node {c}; & \node {d}; \\
  };
\end{tikzpicture}

Pestaña Problemas: \matrix in a picture is not supported yet

Un nodo con forma de rombo se dibuja como rectá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}

Pestaña Problemas: TikZ node option 'diamond' is not supported yet

El manual de TikZ (en el paquete PGF) trata los nodos, la biblioteca positioning y las puntas de flecha: ctan.org/pkg/pgf. Para formas y caminos, consulta dibujos con TikZ.

Consulta también Fundamentos de TikZ, TikZ y Figuras e imágenes.

Preguntas y respuestas

¿Cómo dibujo un diagrama de flujo en LaTeX?

Usa nodos de TikZ con draw para las cajas, la biblioteca positioning (right=of a, below=of b) para colocarlos y \draw[->] (a) -- (b); para las flechas.

¿Cómo pongo texto sobre una flecha en TikZ?

Escribe un nodo en mitad del camino: \draw[->] (a) -- node[above] {text} (b);.

¿Funciona tikz-cd en Scissor LaTeX?

Todavía no. Un diagrama tikzcd se omite con un mensaje. Dibuja en su lugar diagramas sencillos con nodos y flechas.

Scissor LaTeX compone cada ejemplo de esta página al generar el sitio. Última actualización: 2026-11-07.