\usetikzlibrary{guide}

Guía de TikZ para LaTeX

Dibuje lo que quiera (diagramas de flujo, diagramas de circuitos, gráficas matemáticas, formas geométricas, árboles) directamente dentro de su documento LaTeX. TikZ produce gráficos vectoriales perfectos que se escalan a cualquier resolución y se mantienen en sintonía con su tipografía.

Guía de símbolos matemáticos

¿Qué es TikZ?

TikZ significa «TikZ ist kein Zeichenprogramm» (un acrónimo recursivo alemán que significa «TikZ no es un programa de dibujo»). A pesar del nombre, es el sistema gráfico más potente disponible para LaTeX, construido sobre la biblioteca PGF de más bajo nivel.

Con TikZ se describen los gráficos de forma programática mediante coordenadas, trazados y estilos. El resultado es una salida vectorial perfecta al píxel incrustada directamente en su PDF: diagramas de flujo, diagramas de circuitos, gráficas de funciones, diagramas conmutativos, árboles, autómatas finitos y mucho más.

Inicio rápido

Añada \usepackage{tikz} a su preámbulo y luego envuelva sus comandos de dibujo en un entorno tikzpicture. Todo comando de dibujo empieza con \draw y termina con un punto y coma. Las coordenadas son pares (x,y) medidos en centímetros.

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
  % A simple rectangle
  \draw (0,0) rectangle (3,2);
  
  % A circle
  \draw (5,1) circle (1);
  
  % A line with arrow
  \draw[->] (0,3) -- (3,3);
  
  % Text node
  \node at (1.5, 1) {Rectangle};
\end{tikzpicture}

\end{document}

Conceptos básicos

Cuatro bloques de construcción cubren casi cualquier dibujo de TikZ que pueda necesitar.

Coordenadas

Los puntos se escriben como (x,y) en centímetros de forma predeterminada. Las coordenadas polares usan (ángulo:radio). El origen (0,0) está en la esquina inferior izquierda de la imagen.

Trazados

\draw traces a visible stroke. \fill fills a closed shape. \filldraw does both. Every path statement ends with a semicolon.

Opciones

Las opciones entre corchetes siguen a cada comando: [color, thick, dashed, ->]. Combínelas libremente: TikZ resuelve los conflictos de izquierda a derecha.

Nodos

\node places a label or box in the picture. Nodes act as named connection points for arrows and can carry any TikZ style.

Estilos y colores

TikZ usa una sintaxis de mezcla para los colores: blue!20 significa 20% de azul mezclado con 80% de blanco. red!40!black significa 40% de rojo mezclado con 60% de negro. Este sistema funciona con cualquier color con nombre y se integra con el paquete xcolor.

Las opciones de estilo de línea incluyen thick, very thick, dashed y dotted. Las puntas de flecha se especifican como -> (hacia delante), <- (hacia atrás) o <-> (ambas).

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
  % Filled shapes with colors
  \draw[fill=blue!20, draw=blue] (0,0) rectangle (2,1.5);
  \draw[fill=red!20, draw=red, thick] (3,0.75) circle (0.75);
  
  % Dashed line
  \draw[dashed, gray] (0,-0.5) -- (4,-0.5);
  
  % Arrow styles
  \draw[->, thick, amber] (0,2) -- (4,2) 
    node[right] {direction};
\end{tikzpicture}

\end{document}

Diagramas de flujo

Los diagramas de flujo combinan tres funciones de TikZ: \tikzset para definir estilos de nodo reutilizables, shapes.geometric para los nodos de decisión en forma de rombo y positioning para la cómoda sintaxis de colocación below of= y right of=.

La biblioteca arrows.meta ofrece la punta de flecha moderna -Stealth (preferible a la antigua -> en documentos profesionales).

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows.meta, positioning}

\tikzset{
  process/.style = {rectangle, draw, fill=blue!10, 
                    text width=3cm, text centered, 
                    minimum height=1cm},
  decision/.style = {diamond, draw, fill=green!10, 
                     text width=2.5cm, text centered, 
                     inner sep=0pt},
  arrow/.style = {thick, -Stealth}
}

\begin{document}

\begin{tikzpicture}[node distance=2cm]
  \node[process] (start) {Start};
  \node[process, below of=start] (input) {Read Input};
  \node[decision, below of=input] (check) {Valid?};
  \node[process, below of=check] (process) {Process Data};
  \node[process, right of=check, xshift=2cm] (error) {Show Error};
  
  \draw[arrow] (start) -- (input);
  \draw[arrow] (input) -- (check);
  \draw[arrow] (check) -- node[right] {Yes} (process);
  \draw[arrow] (check) -- node[above] {No} (error);
\end{tikzpicture}

\end{document}

Gráficas con pgfplots

pgfplots es el paquete complementario de TikZ dedicado a gráficas de datos y de funciones. Envuelve una imagen de TikZ en un entorno axis que gestiona automáticamente las marcas, las etiquetas, las leyendas y el escalado. Añada \pgfplotsset{compat=1.18} a su preámbulo para activar las últimas correcciones de comportamiento.

Use \addplot para curvas de funciones, diagramas de dispersión y gráficos de barras. domain y samples controlan el rango representado y la suavidad.

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}

\begin{tikzpicture}
  \begin{axis}[
    title={Function Plot},
    xlabel={$x$},
    ylabel={$f(x)$},
    grid=major,
    width=8cm, height=6cm
  ]
    \addplot[blue, thick, domain=-3:3, samples=100] 
      {x^2};
    \addplot[red, thick, domain=-3:3, samples=100] 
      {sin(deg(x))};
    \legend{$x^2$, $\sin(x)$}
  \end{axis}
\end{tikzpicture}

\end{document}

Bibliotecas habituales de TikZ

Cargue bibliotecas adicionales con \usetikzlibrary{name} en su preámbulo. Se pueden separar varias bibliotecas con comas.

BibliotecaFinalidad
arrows.metaPuntas de flecha modernas y configurables
shapes.geometricRombos, elipses, cilindros, etc.
positioningSintaxis above of=, right of=, below of=
calcAritmética de coordenadas con ($…$)
fitAjusta un nodo estrechamente alrededor de otros nodos
matrixDispone los nodos en una cuadrícula (matrix of nodes)
decorationsLíneas onduladas, zigzag, decoraciones de llaves

Errores comunes

Tres errores explican la gran mayoría de los fallos de compilación de TikZ.

Missing \usetikzlibrary{}

Shapes like diamond or arrow tips like Stealth live in optional libraries. Always add \usetikzlibrary{shapes.geometric, arrows.meta} before using them.

Errores de una unidad en las coordenadas

TikZ coloca (0,0) en la esquina inferior izquierda del tikzpicture, no en la superior izquierda. Si su dibujo aparece al revés, invierta el eje y con yscale=-1.

Olvidar el punto y coma del trazado

Every \draw, \fill, or \node statement must end with a semicolon. Missing one causes a cryptic "missing ; inserted" error from LaTeX.

Pruebe TikZ en su navegador

Abra el ejemplo de diagrama de flujo directamente en el playground de FormaTeX: edite, compile y descargue su PDF sin instalar nada.

Empiece gratis