> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/es/figuras-y-tablas/05-tikz-package.md).

# Paquete TikZ

## Introducción

[Ti*k*Z](https://en.wikipedia.org/wiki/PGF/TikZ) es probablemente la herramienta más compleja y poderosa para crear elementos gráficos en LaTeX. Empezando con un ejemplo simple, este artículo introduce algunos conceptos básicos: dibujar líneas, puntos, curvas, círculos, rectángulos, etc.

En primer lugar, carga el `tikz` paquete incluyendo la línea `\usepackage{tikz}` en el preámbulo de tu documento, luego dibuja un gráfico usando el `tikzpicture` entorno.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\draw[gray, thick] (-1,-1) -- (2,2);
\filldraw[black] (0,0) circle (2pt) node[anchor=west]{Intersection point};
\end{tikzpicture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=First+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C2%29+--+%282%2C-4%29%3B%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C-1%29+--+%282%2C2%29%3B%0A%5Cfilldraw%5Bblack%5D+%280%2C0%29+circle+%282pt%29+node%5Banchor%3Dwest%5D%7BIntersection+point%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![OLV2tikz1.png](/files/ea23f115a4f51bdc8243ee9a8496d1ff41d1e06a)

En este ejemplo se dibujan dos líneas y un punto. Para añadir una línea, el comando `\draw[gray, thick]` define un elemento gráfico cuyo *color* es `gray` y con un `thick` trazo. La línea se define realmente por sus dos extremos, `(-1,2)` y `(2,-4)`unidos por `--`.

El *punto* es en realidad un `círculo` dibujado por `\filldraw[black]`, este comando no solo dibujará el círculo, sino que también lo rellenará usando negro. En este comando se declaran el punto central `(0,0)` y el radio `(2pt)` . Junto al punto hay un `nodo`, que en realidad es una caja que contiene el texto `punto de intersección`y está anclada al `oeste` del punto.

Es importante notar el punto y coma `;` usado al final de cada `dibujo` comando.

Nota: El `tikzfigure` entorno puede estar encerrado dentro de un entorno figure o similar. Consulta el [Inserción de imágenes](/latex/es/mas-temas/27-inserting-images.md) artículo para obtener más información sobre este tema.

## Elementos básicos: puntos, líneas y rutas

En esta sección ofrecemos algunos ejemplos que muestran cómo crear algunos elementos gráficos básicos que pueden combinarse para crear figuras más elaboradas.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw (-2,0) -- (2,0);
\filldraw [gray] (0,0) circle (2pt);
\draw (-2,-2) .. controls (0,0) .. (2,-2);
\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);

\end{tikzpicture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%0A%5Cdraw+%28-2%2C0%29+--+%282%2C0%29%3B%0A%5Cfilldraw+%5Bgray%5D+%280%2C0%29+circle+%282pt%29%3B%0A%5Cdraw+%28-2%2C-2%29+..+controls+%280%2C0%29+..+%282%2C-2%29%3B%0A%5Cdraw+%28-2%2C2%29+..+controls+%28-1%2C0%29+and+%281%2C0%29+..+%282%2C2%29%3B%0A%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![OLV2tikz2.png](/files/9bb9fe0062f331555fdff94afe1b92fc6cf27fd7)

Hay tres comandos básicos en este ejemplo:

* **`\draw (-2,0) -- (2,0);`**: Esto define una línea cuyos extremos son `(-2,0)` y `(2,0)`.
* **`\filldraw [gray] (0,0) circle (2pt);`**: El punto se crea como un muy pequeño `gray` `círculo` centrado en `(0,0)` y cuyo radio es `(2pt)`. El `\filldraw` se usa para dibujar elementos y rellenarlos con un color específico. Consulta la siguiente sección para ver más ejemplos.
* **`\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);`**: Dibuja una [curva de Bézier](https://en.wikipedia.org/wiki/B%C3%A9zier_curve). Hay 4 puntos que la definen: `(-2,2)` y `(2,2)` son sus extremos, `(-1,0)` y `(1,0)` puedes [*puntos de control*](https://en.wikipedia.org/wiki/Control_point_\(mathematics\)) que determinan «cuán curvada» está. Puedes pensar en estos dos puntos como «puntos de atracción».

## Formas geométricas básicas: círculos, elipses y polígonos

Las figuras geométricas pueden construirse a partir de elementos más simples, así que comencemos con círculos, elipses y arcos.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);
\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);
\draw[ultra thick, ->] (6.5,0) arc (0:220:1);
\end{tikzpicture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Third+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cfilldraw%5Bcolor%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%5D%28-1%2C0%29+circle+%281.5%29%3B%0A%5Cfill%5Bblue%2150%5D+%282.5%2C0%29+ellipse+%281.5+and+0.5%29%3B%0A%5Cdraw%5Bultra+thick%2C+-%3E%5D+%286.5%2C0%29+arc+%280%3A220%3A1%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![TikzEx3.png](/files/08ebe09999527e5b99ed3e87ed050969ceb5b7b6)

* **`\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);`**: Este comando se usó en la sección anterior para dibujar un *punto*, pero en esta ocasión hay algunos parámetros adicionales dentro de los corchetes. Se explican a continuación:
  * **`color=red!60`**: El color del borde alrededor del círculo se establece en 60% rojo (más claro que el rojo «puro»). Consulta la [guía de referencia](#reference-guide) para ver una lista de los colores predeterminados disponibles en LaTeX; además, consulta [Uso de colores en LaTeX](/latex/es/formato/13-using-colors-in-latex.md) para aprender cómo crear tus propios colores.
  * **`fill=red!5`**: El círculo se rellena con un tono de rojo aún más claro.
  * **`muy grueso`**: Este parámetro define el grosor del trazo. Consulta la [guía de referencia](#reference-guide) para ver una lista completa de valores.
* **`\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);`**: Para crear una elipse proporcionas un punto central `(2.5,0)`, y dos radios: horizontal y vertical (`1.5` y `0.5` respectivamente). Además, observa el comando `fill` en lugar de `dibujo` o filldraw; esto se debe a que, en este caso, no es necesario controlar los colores exterior e interior.
* **`\draw[ultra thick, ->] (6.5,0) arc (0:220:1);`**: Este comando dibujará un arco que comienza en `(6.5,0)`. El parámetro adicional `->` indica que el arco tendrá una flecha al final. Además del punto inicial debes proporcionar tres valores adicionales: los ángulos inicial y final, y el radio; aquí, estos tres valores de parámetro se proporcionan en el formato `(0:220:1)`.

Además de formas geométricas curvas, también puedes crear elementos que usan líneas rectas, utilizando una sintaxis similar:

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue, very thick] (0,0) rectangle (3,2);
\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;
\end{tikzpicture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fourth+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bblue%2C+very+thick%5D+%280%2C0%29+rectangle+%283%2C2%29%3B%0A%5Cdraw%5Borange%2C+ultra+thick%5D+%284%2C0%29+--+%286%2C0%29+--+%285.7%2C2%29+--+cycle%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![OLV2tikz4.png](/files/27e3d968ac64bd1d6f39fd16ad28fcdbb433250a)

* **`\draw[blue, very thick] (0,0) rectangle (3,2);`**: Los rectángulos se crean mediante el comando especial `rectangle`. Debes proporcionar dos puntos: el primero es donde el «lápiz» comienza a dibujar el rectángulo y el segundo es el punto de la esquina opuesta en diagonal.
* **`\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;`**: Para dibujar un polígono dibujamos un *cerrado* trazado de líneas rectas: una línea desde `(4,0)` a `(6,0)` y una línea desde `(6,0)` a `(5.7,2)`. El `cycle` La instrucción significa que los puntos inicial y final deben coincidir para crear un trazado «cerrado» (figura), lo que da lugar a la construcción del segmento de línea final.

## Diagramas

Los nodos son probablemente los elementos más versátiles en TikZ. Ya hemos usado un nodo en la introducción, para añadir algo de texto a la figura. El siguiente ejemplo usa nodos para crear un diagrama.

```latex
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm},
squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm},
]
%Nodos
\node[squarednode]      (maintopic)                              {2};
\node[roundnode]        (uppercircle)       [above=of maintopic] {1};
\node[squarednode]      (rightsquare)       [right=of maintopic] {3};
\node[roundnode]        (lowercircle)       [below=of maintopic] {4};

%Líneas
\draw[->] (uppercircle.south) -- (maintopic.north);
\draw[->] (maintopic.east) -- (rightsquare.west);
\draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
\end{tikzpicture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=More+advanced+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cusetikzlibrary%7Bpositioning%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%5B%0Aroundnode%2F.style%3D%7Bcircle%2C+draw%3Dgreen%2160%2C+fill%3Dgreen%215%2C+very+thick%2C+minimum+size%3D7mm%7D%2C%0Asquarednode%2F.style%3D%7Brectangle%2C+draw%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%2C+minimum+size%3D5mm%7D%2C%0A%5D%0A%25Nodes%0A%5Cnode%5Bsquarednode%5D++++++%28maintopic%29++++++++++++++++++++++++++++++%7B2%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28uppercircle%29+++++++%5Babove%3Dof+maintopic%5D+%7B1%7D%3B%0A%5Cnode%5Bsquarednode%5D++++++%28rightsquare%29+++++++%5Bright%3Dof+maintopic%5D+%7B3%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28lowercircle%29+++++++%5Bbelow%3Dof+maintopic%5D+%7B4%7D%3B%0A%0A%25Lines%0A%5Cdraw%5B-%3E%5D+%28uppercircle.south%29+--+%28maintopic.north%29%3B%0A%5Cdraw%5B-%3E%5D+%28maintopic.east%29+--+%28rightsquare.west%29%3B%0A%5Cdraw%5B-%3E%5D+%28rightsquare.south%29+..+controls+%2B%28down%3A7mm%29+and+%2B%28right%3A7mm%29+..+%28lowercircle.east%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![OLV2tikz5.png](/files/772d7ed8aa54c55fd481a80e99d9cc5bd604a8ac)

Esencialmente hay tres comandos en esta figura: una definición de nodo, una declaración de nodo y líneas que unen dos nodos.

* **`roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm}`**: Pasado como parámetro al `tikzpicture` entorno. Define un nodo al que se hará referencia como `roundnode`: este nodo será un círculo cuyo contorno exterior se dibujará usando el color `green!60` y se rellenará usando `green!5`. El trazo será `muy grueso` y su `tamaño mínimo` es `7mm`. La línea de abajo define un segundo nodo con forma de rectángulo llamado `squarednode`, utilizando parámetros similares.
* **`\node[squarednode] (maintopic) {2};`**: Esto creará un `squarednode`nodo `maintopic` y contendrá el número `2`. Si dejas un espacio vacío dentro de las llaves no se mostrará ningún texto.
* **`[above=of maintopic]`**: Observa que todos los nodos, excepto el primero, tienen un parámetro adicional que determina su posición relativa a otros nodos. Por ejemplo, `[above=of maintopic]` significa que este nodo debe aparecer encima del nodo llamado `maintopic`. Para que este sistema de posicionamiento funcione, debes añadir `\usetikzlibrary{positioning}` a tu preámbulo. Sin la `posicionamiento` biblioteca, puedes usar la sintaxis `above of=maintopic` en su lugar, pero la `posicionamiento` sintaxis es más flexible y potente: puedes ampliarla para escribir `above=**3cm** of maintopic` es decir, controlar la distancia real desde `maintopic`.
* **`\draw[->] (uppercircle.south) -- (maintopic.north);`**: Se dibujará una línea recta con forma de flecha. La sintaxis ya se ha explicado en la [elementos básicos](#basic-elements-points-lines-and-paths) sección. La única diferencia es la manera en que escribimos los extremos de la línea: haciendo referencia a un nodo (por eso les pusimos nombre) y a una posición relativa al nodo.

## Guía de referencia

Posibles parámetros de color y grosor en el `tikz` paquete:

| parámetro | valores                                                     | picture                                                              |
| --------- | ----------------------------------------------------------- | -------------------------------------------------------------------- |
| color     | blanco, negro, rojo, verde, azul, cian, magenta, amarillo   | ![BasicColours.png](/files/19cf7ac5f48df1c8d88b65a466194dd0db56c7e6) |
| grosor    | ultrafino, muy fino, fino, grueso, muy grueso, ultra grueso | ![Thickness.png](/files/77a0e796b214696170a64bb385de4b4aa2d3d857)    |

Puede que haya más colores disponibles en tu distribución de LaTeX. Consulta [Uso de colores en LaTeX](/latex/es/formato/13-using-colors-in-latex.md)

## Lectura adicional

Para más información, consulte:

* [Uso de colores en LaTeX](/latex/es/formato/13-using-colors-in-latex.md)
* [paquete Pgfplots](/latex/es/especifico-de-un-campo/08-pgfplots-package.md)
* [Inserción de imágenes](/latex/es/mas-temas/27-inserting-images.md)
* [Listas de tablas y figuras](/latex/es/figuras-y-tablas/03-lists-of-tables-and-figures.md)
* [Posicionamiento de imágenes y tablas](/latex/es/figuras-y-tablas/02-positioning-images-and-tables.md)
* [Dibujar diagramas directamente en LaTeX](/latex/es/figuras-y-tablas/04-picture-environment.md)
* [Manual de los paquetes TikZ y PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf)
* [Ejemplos de TikZ y PGF en TeXample.net](http://www.texample.net/tikz/examples/all/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/es/figuras-y-tablas/05-tikz-package.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
