Lección 18 de 19

Diagramas con TikZ

Nodos, flechas y posicionamiento relativo: dibuja diagramas de bloques y esquemas como código mantenible.

Objetivos de la lección

  • Crear y conectar nodos con estilos reutilizables
  • Posicionar elementos relativamente con la librería positioning
  • Comprender cuándo un diagrama en código es mejor que una imagen

Nodos y caminos

TikZ dibuja dentro de un entorno tikzpicture con órdenes \draw. El elemento central es el nodo: \node[estilo] (nombre) {texto}; crea una caja con texto que puedes conectar después por su nombre, sin calcular coordenadas a mano.

Los caminos conectan: \draw (a) -- (b) une con línea recta, (a) -> (b) añade flecha, (a) <-> (b) doble. Entre medias puedes doblar: (a) -| (b) va en ángulo recto (horizontal y luego vertical).

Los estilos se declaran con every node/.style o estilos nombrados (bloque/.style={draw, rounded corners, ...}) y se aplican a cada nodo: cambiar el estilo cambia todo el diagrama, igual que una paleta xcolor.

Posicionamiento relativo y babel

La librería positioning permite colocar cada nodo respecto a otro: \node[below=of a] (b) {...} lo sitúa debajo, con espaciado declarado en millimeters. Un diagrama así se lee como su significado («el compilador va debajo del editor») y reordenar es barato.

El mismo aviso de la lección anterior: con babel en español carga \usetikzlibrary{babel} para que los textos de los nodos no confundan al parser.

TikZ es un lenguaje completo (puede ser tan complejo como quieras). Para diagramas de bloques y esquemas, la combinación de estilos + positioning cubre el 90 % de las necesidades de un documento.

El flujo de compilación, dibujado

Un diagrama del propio flujo que llevas usando todo el curso: fuente → latexmk → PDF, con estilos reutilizables y posicionamiento relativo. Compílalo y modifica un estilo para ver el efecto global.

Ctrl/Cmd + Enter para compilar

Diagrama de tu flujo de trabajo

Dibuja tres nodos con el estilo del ejemplo, representando tu flujo personal (editor → compilador → lector, por ejemplo).

Conecta 1→2 y 2→3 con flechas etiquetadas, y añade una flecha de retorno punteada del tercero al primero.

Ctrl/Cmd + Enter para compilar