> 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/04-picture-environment.md).

# Dibujar diagramas directamente en LaTeX

## Introducción

integrado de LaTeX `picture` se puede usar para crear diagramas/figuras—no necesitas *necesitan* cargar ningún paquete externo para usarlo, pero paquetes como [`pict2e`](https://ctan.org/pkg/pict2e?lang=en) y [`picture`](https://ctan.org/pkg/picture) se han escrito para ampliar o mejorar sus funciones.

Este artículo ofrece una introducción concisa al `picture` entorno y todos los ejemplos usan el [`pict2e` paquete](https://ctan.org/pkg/pict2e?lang=en). Hay documentación más extensa y una serie de ejemplos útiles disponibles en los siguientes recursos:

* [manual de referencia no oficial de LaTeX2e](https://latexref.xyz/picture.html)
* [La introducción no tan corta a LaTeX2ε](https://tobi.oetiker.ch/lshort/lshort.pdf) (véase el capítulo 5)
* [Wikilibros](https://en.wikibooks.org/wiki/LaTeX/Picture)
* [preguntas etiquetadas `picture-mode` en tex.stackexchange](https://tex.stackexchange.com/questions/tagged/picture-mode)
* [`pict2e` documentación del paquete](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/pict2e/pict2e.pdf)

En comparación con herramientas gráficas potentes y sofisticadas como [TikZ/PGF](https://en.wikipedia.org/wiki/PGF/TikZ), [MetaPost](https://tug.org/metapost.html), [PSTricks](https://ctan.org/topic/pstricks?lang=en) o [Asymptote](https://ctan.org/pkg/asymptote?lang=en) la `picture` el entorno puede parecer bastante limitado pero, de vez en cuando, podría ser suficiente para lo que necesitas hacer.

## Crear una nueva imagen

Crear una nueva imagen suele implicar los siguientes pasos:

1. definir el tamaño de las unidades de dibujo que deseas usar;
2. declarar un `picture` entorno que define el tamaño de la imagen;
3. dibujar los componentes gráficos individuales usando los `\put`, `\multiput` o `\qbezier` comandos.

### Definir el tamaño de las unidades de dibujo

Para crear una imagen normalmente empiezas estableciendo las *unidades de dibujo* mediante el comando `\unitlength`, que debe usarse fuera de un `picture` entorno. Por ejemplo, si escribes

```latex
\setlength{\unitlength}{1cm}
```

las unidades de dibujo se interpretarían como múltiplos de 1 cm. La unidad predeterminada es 1 pt.

### Definir el tamaño de tu imagen

La forma general del `picture` entorno es la siguiente

```latex
\begin{picture}(width, height)(Xoffset, Yoffset)
 ...
\end{picture}
```

donde

* `ancho` y `alto` son valores, en unidades de `\unitlength`, que definen el tamaño de la imagen. LaTeX usa estos valores para crear una caja cuyas dimensiones son
  * ancho de la caja (imagen) = `ancho` × `\unitlength`
  * alto de la caja (imagen) = `alto` × `\unitlength`
* `(Xoffset, Yoffset)` es una coordenada opcional que establece el origen (esquina inferior izquierda) de la imagen, expresado como un *desplazamiento* relativo a la ubicación predeterminada. `Xoffset` y `Yoffset` también se expresan en unidades determinadas por el valor actual de `\unitlength`.

Observa que `Xoffset` y `Yoffset` no afectan la cantidad de espacio que LaTeX reserva; es decir, las dimensiones de la caja.

#### Entender las dimensiones de la imagen

Crearemos dos imágenes, ambas usando `\setlength{\unitlength}{1cm}` y cada una con un `ancho` y `alto` de 3 unidades.

La primera imagen usa el origen predeterminado de `(0,0)`:

```latex
\begin{picture}(3,3)
...
\end{picture}
```

la segunda imagen desplaza el origen en `(1,1)`:

```latex
\begin{picture}(3,3)(1,1)
...
\end{picture}
```

### Dibujar gráficos

Los gráficos se crean usando una secuencia de `\put`, `\multiput`, o `\qbezier` comandos que producen los “componentes” individuales (o “objetos”) a partir de los cuales se construye la imagen o ilustración:

* `\put(x, y){*component*}` dibuja el `*component*` en la ubicación `(x, y)`.
* `\multiput(x, y)(dx, dy){n}{*component*}` dibuja el `*component*` `n` veces: comenzando en la ubicación `(x, y)` y trasladando repetidamente por `(dx, dy)` para volver a dibujar el `*component*`.
* `\qbezier[n](x<sub>1</sub>, y<sub>1</sub>)(x, y)(x<sub>2</sub>, y<sub>2</sub>)`: dibuja una [curva de Bézier cuadrática](https://en.wikipedia.org/wiki/B%C3%A9zier_curve#Quadratic_B%C3%A9zier_curves) donde:
  * `n` un entero opcional que determina el número de puntos usados para trazar/producir la curva
  * `(x<sub>1</sub>, y<sub>1</sub>)` es el punto inicial de la curva
  * `(x<sub>2</sub>, y<sub>2</sub>)` es el punto final de la curva
  * `(x, y)` denota el punto de control de la curva de Bézier (cuadrática)

A `*component*` es un elemento gráfico producido normalmente usando primitivas gráficas como `\line`, `\oval`, `\circle`, `\vector` y así sucesivamente—consulta el [manual de referencia no oficial de LaTeX2e](https://latexref.xyz/picture.html) o [La introducción no tan corta a LaTeX2ε](https://tobi.oetiker.ch/lshort/lshort.pdf) (capítulo 5) para obtener detalles sobre las primitivas disponibles.

**Nota**: El [`pict2e` paquete](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/pict2e/pict2e.pdf) amplía el original `picture` entorno para proporcionar varios comandos para dibujar curvas de Bézier: `\bezier`, `\qbezier`, `\cbezier` y `\qbeziermax`.

### Entender el desplazamiento y el origen

En los siguientes ejemplos se usa el `\put` comando para dibujar puntos de color que indican coordenadas clave (posiciones) en el gráfico. Ambos ejemplos usan el comando \fbox de LaTeX `\fbox` para dibujar un borde alrededor de la caja que LaTeX creó para contener nuestra imagen, mostrando la *caja delimitadora* del gráfico.

**Ejemplo 1: usando el origen predeterminado**

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\usepackage[dvipsnames]{xcolor}
\begin{document}
\setlength{\unitlength}{1cm}
\setlength{\fboxsep}{0pt}

Esta es mi imagen\fbox{%
\begin{picture}(3,3)
\put(0,0){{\color{blue}\circle*{0.25}}\hbox{\kern3pt \texttt{(0,0)}}}
\put(3,3){{\color{red}\circle*{0.25}}\hbox{\kern3pt \texttt{(3,3)}}}
\end{picture}}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=understanding+picture+dimensions+example+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cusepackage%5Bdvipsnames%5D%7Bxcolor%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Csetlength%7B%5Cfboxsep%7D%7B0pt%7D%0A%0AThis+is+my+picture%5Cfbox%7B%25%0A%5Cbegin%7Bpicture%7D%283%2C3%29%0A%5Cput%280%2C0%29%7B%7B%5Ccolor%7Bblue%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt+%5Ctexttt%7B%280%2C0%29%7D%7D%7D%0A%5Cput%283%2C3%29%7B%7B%5Ccolor%7Bred%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt+%5Ctexttt%7B%283%2C3%29%7D%7D%7D%0A%5Cend%7Bpicture%7D%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![dimensiones del entorno picture de LaTeX](/files/68d98170f269541aa472268f9ea7342b86f4b99c)

El `\fbox` el comando dibuja un borde alrededor de la caja delimitadora del gráfico, mostrando el espacio (área) reservado por LaTeX:

* ancho de la imagen = `ancho` × `\unitlength` = 3 × 1 cm = 3 cm.
* alto de la imagen = `alto` × `\unitlength` = 3 × 1 cm = 3 cm.

El primer ejemplo muestra que el origen, `(0,0)`, está en el punto en que se ejecutó el `\begin{picture}` comando, inmediatamente después del texto “Esta es mi imagen”. Además, la esquina superior derecha está en la posición `(3,3)`, la `(ancho,alto)` valores proporcionados a `\begin{picture}(3,3)`.

**Ejemplo 2: desplazando el origen en (1,1)**

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\usepackage[dvipsnames]{xcolor}
\begin{document}
\setlength{\unitlength}{1cm}
\setlength{\fboxsep}{0pt}

Esta es mi imagen\fbox{%
\begin{picture}(3,3)(1,1)
\put(0,0){{\color{blue}\circle*{0.25}}\hbox{\kern3pt\texttt{(0,0)}}}
\put(1,1){{\color{orange}\circle*{0.25}}\hbox{\kern3pt\texttt{(1,1)}}}
\put(3,3){{\color{red}\circle*{0.25}}\hbox{\kern3pt\texttt{(3,3)}}}
\put(4,4){{\color{black}\circle*{0.25}}\hbox{\kern3pt\texttt{(4,4)}}}
\end{picture}}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=understanding+picture+dimensions+example+2\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cusepackage%5Bdvipsnames%5D%7Bxcolor%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Csetlength%7B%5Cfboxsep%7D%7B0pt%7D%0A%0AThis+is+my+picture%5Cfbox%7B%25%0A%5Cbegin%7Bpicture%7D%283%2C3%29%281%2C1%29%0A%5Cput%280%2C0%29%7B%7B%5Ccolor%7Bblue%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt%5Ctexttt%7B%280%2C0%29%7D%7D%7D%0A%5Cput%281%2C1%29%7B%7B%5Ccolor%7Borange%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt%5Ctexttt%7B%281%2C1%29%7D%7D%7D%0A%5Cput%283%2C3%29%7B%7B%5Ccolor%7Bred%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt%5Ctexttt%7B%283%2C3%29%7D%7D%7D%0A%5Cput%284%2C4%29%7B%7B%5Ccolor%7Bblack%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt%5Ctexttt%7B%284%2C4%29%7D%7D%7D%0A%5Cend%7Bpicture%7D%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![dimensiones del entorno picture de LaTeX](/files/52d71bf009b0c19b8ed819324e10f54a53d858c9)

El segundo ejemplo muestra los efectos de desplazar el origen y destaca algunos puntos clave:

* el borde creado por `\fbox` muestra que la caja delimitadora del gráfico, el ancho y la altura de la caja creada por LaTeX, es *no se ve afectada* por el desplazamiento del origen: sigue determinada por los `(ancho,alto)` valores proporcionados a `\begin{picture}(3,3)(1,1)`
  * ancho de la imagen = `ancho` × `\unitlength` = 3 × 1 cm = 3 cm
  * alto de la imagen = `alto` × `\unitlength` = 3 × 1 cm = 3 cm
* los elementos de dibujo no están restringidos (recortados) al área (dimensiones de la caja delimitadora) creada por LaTeX. Por ejemplo, el punto azul y `(0,0)` la coordenada se dibujan fuera de la línea de límite producida por `\fbox`, que indica la caja delimitadora.
  * Corresponde al usuario asegurarse de que los elementos de dibujo permanezcan dentro de la caja delimitadora y no se superpongan con el texto circundante.
* el origen, `(0,0)`, ya no está *ya no* situado inmediatamente después del texto “Esta es mi imagen”, en el punto en que se ejecutó el `\begin{picture}` comando: el origen ahora se desplaza 1 unidad a la izquierda y 1 unidad hacia abajo
* la esquina superior derecha está ahora en la posición `(4,4)`

## Ejemplos del entorno picture

### Ejemplos del manual de referencia no oficial de LaTeX2e

El [manual de referencia no oficial de LaTeX2e](https://latexref.xyz/picture.html) contiene una serie de `picture` ejemplos del entorno, algunos de los cuales se reproducen aquí junto con enlaces que los abren en Overleaf, permitiéndote editar y explorar el código.

#### Ejemplo 1: el comando \vector

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{1cm}
\begin{picture}(6,6)      % la caja de la imagen tendrá 6 cm de ancho por 6 cm de alto
  \put(0,0){\vector(2,1){4}}  % por cada 2 a lo largo, este vector sube 1
    \put(2,1){\makebox(0,0)[l]{\ primer tramo}}
  \put(4,2){\vector(1,2){2}}
    \put(5,4){\makebox(0,0)[l]{\ segundo tramo}}
  \put(0,0){\vector(1,1){6}}
    \put(3,3){\makebox(0,0)[r]{suma\ }}
\end{picture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=picture+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Cbegin%7Bpicture%7D%286%2C6%29++++++%25+picture+box+will+be+6cm+wide+by+6cm+tall%0A++%5Cput%280%2C0%29%7B%5Cvector%282%2C1%29%7B4%7D%7D++%25+for+every+2+over+this+vector+goes+1+up%0A++++%5Cput%282%2C1%29%7B%5Cmakebox%280%2C0%29%5Bl%5D%7B%5C+first+leg%7D%7D%0A++%5Cput%284%2C2%29%7B%5Cvector%281%2C2%29%7B2%7D%7D%0A++++%5Cput%285%2C4%29%7B%5Cmakebox%280%2C0%29%5Bl%5D%7B%5C+second+leg%7D%7D++%0A++%5Cput%280%2C0%29%7B%5Cvector%281%2C1%29%7B6%7D%7D%0A++++%5Cput%283%2C3%29%7B%5Cmakebox%280%2C0%29%5Br%5D%7Bsum%5C+%7D%7D++%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![ejemplo del entorno picture](/files/8eae8068581b03ecae0adea98cb0d69d70b8f080)

#### Ejemplo 2: los comandos \qbezier, \line, \vector, \thinlines y \thicklines

Observa cómo el `\qbezier` comando *no se* usa dentro de `\put{...}` mientras que otros comandos primitivos, como `\line`, `\vector` *puedes* usa dentro de `\put{...}`.

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{1cm}
\begin{picture}(8,4)
  \thinlines % empezar con líneas finas
  \put(0,0){\vector(1,0){8}}  % eje x
  \put(0,0){\vector(0,1){4}}  % eje y
  \put(2,0){\line(0,1){3}}    % lado izquierdo
  \put(4,0){\line(0,1){3.5}}  % lado derecho
  \thicklines % usar líneas más gruesas para los comandos \qbezier
  \qbezier(2,3)(2.5,2.9)(3,3.25)
  \qbezier(3,3.25)(3.5,3.6)(4,3.5)
  \thinlines % volver a usar líneas finas
  \put(2,3){\line(4,1){2}}
  \put(4.5,2.5){\framebox{Regla trapezoidal}}
\end{picture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=qbezier+picture+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Cbegin%7Bpicture%7D%288%2C4%29%0A++%5Cthinlines+%25+Start+with+thin+lines%0A++%5Cput%280%2C0%29%7B%5Cvector%281%2C0%29%7B8%7D%7D++%25+x+axis%0A++%5Cput%280%2C0%29%7B%5Cvector%280%2C1%29%7B4%7D%7D++%25+y+axis%0A++%5Cput%282%2C0%29%7B%5Cline%280%2C1%29%7B3%7D%7D++++%25+left+side%0A++%5Cput%284%2C0%29%7B%5Cline%280%2C1%29%7B3.5%7D%7D++%25+right+side%0A++%5Cthicklines+%25+Use+thicker+lines+for+the+%5Cqbezier+commands%0A++%5Cqbezier%282%2C3%29%282.5%2C2.9%29%283%2C3.25%29%0A++%5Cqbezier%283%2C3.25%29%283.5%2C3.6%29%284%2C3.5%29%0A++%5Cthinlines+%25+Back+to+using+thin+lines%0A++%5Cput%282%2C3%29%7B%5Cline%284%2C1%29%7B2%7D%7D%0A++%5Cput%284.5%2C2.5%29%7B%5Cframebox%7BTrapezoidal+Rule%7D%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Ejemplo del entorno picture de LaTeX](/files/316befdceb5572d8dba75ab5dd518c842c8c4039)

#### Ejemplo 3: los comandos \multiput y \linethickness

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{1cm}
\thicklines
\begin{picture}(10,10)
  \linethickness{0.05mm}
  \multiput(0,0)(1,0){10}{\line(0,1){10}}
  \multiput(0,0)(0,1){10}{\line(1,0){10}}
  \linethickness{0.5mm}
  \multiput(0,0)(5,0){3}{\line(0,1){10}}
  \multiput(0,0)(0,5){3}{\line(1,0){10}}
\end{picture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=multiput+command+picture+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Cthicklines%0A%5Cbegin%7Bpicture%7D%2810%2C10%29%0A++%5Clinethickness%7B0.05mm%7D%0A++%5Cmultiput%280%2C0%29%281%2C0%29%7B10%7D%7B%5Cline%280%2C1%29%7B10%7D%7D+%0A++%5Cmultiput%280%2C0%29%280%2C1%29%7B10%7D%7B%5Cline%281%2C0%29%7B10%7D%7D%0A++%5Clinethickness%7B0.5mm%7D%0A++%5Cmultiput%280%2C0%29%285%2C0%29%7B3%7D%7B%5Cline%280%2C1%29%7B10%7D%7D%0A++%5Cmultiput%280%2C0%29%280%2C5%29%7B3%7D%7B%5Cline%281%2C0%29%7B10%7D%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![ejemplo del entorno picture de LaTeX con \multiput](/files/7af281f00051795cf546bd07425b07e8d0d80dfe)

### Otros ejemplos

#### Una curva de Bézier básica

El siguiente ejemplo utiliza el `\qbezier` comando para dibujar una curva de Bézier:

```latex
\qbezier(1,1)(5,5)(9,0.5)
```

Observa lo siguiente:

* la `\qbezier` comando no se usa dentro de un `\put` comando
* el punto inicial de la curva de Bézier es `(1,1)`
* el punto final de la curva de Bézier es `(9,0.5)`
* el punto de control de la curva de Bézier es `(5,5)`
* no utilizamos el entero opcional que determina el número de puntos usados para trazar/producir la curva de Bézier

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{0.8cm}
\begin{picture}(10,5)
\thicklines
\qbezier(1,1)(5,5)(9,0.5)
\put(2,1){{Curva de Bézier}}
\end{picture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=multiput+command+picture+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B0.8cm%7D%0A%5Cbegin%7Bpicture%7D%2810%2C5%29%0A%5Cthicklines%0A%5Cqbezier%281%2C1%29%285%2C5%29%289%2C0.5%29%0A%5Cput%282%2C1%29%7B%7BB%C3%A9zier+curve%7D%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Dibujar una curva de Bézier usando LaTeX](/files/41e6ad9f55f65205e697b7987b9e39489d2393e9)

#### Óvalos, líneas y círculos

El siguiente ejemplo demuestra los `\line`, `\circle` y `\oval` comandos y—observa cómo *puedes* todos se usan dentro del `\put{...}` comando:

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{1cm}
\thicklines
\begin{picture}(10,6)
\put(2,2.2){\line(1,0){6}}
\put(2,2.2){\circle{2}}
\put(6,2.2){\oval(4,2)[r]}
\end{picture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=picture+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Cthicklines%0A%5Cbegin%7Bpicture%7D%2810%2C6%29%0A%5Cput%282%2C2.2%29%7B%5Cline%281%2C0%29%7B6%7D%7D%0A%5Cput%282%2C2.2%29%7B%5Ccircle%7B2%7D%7D%0A%5Cput%286%2C2.2%29%7B%5Coval%284%2C2%29%5Br%5D%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Ejemplo del entorno picture de LaTeX](/files/9d49c77d79d601d9d02106e6a9ec4421f0c677db)

A continuación se describen los comandos:

* `\put(2,2.2){\line(1,0){6}}`: dibuja una línea `6` de unidades de largo usando el “vector de dirección” `(1,0)`
* `\put(6,2.2){\oval(4,2)[r]}`: dibuja un óvalo centrado en el punto `(4,2)`. El parámetro `[r]` es opcional, puedes usar `r`, `l`, `t` y `b` para mostrar la parte derecha, izquierda, superior o inferior del óvalo.
* `\put(2,2.2){\circle{2}}`: dibuja un círculo centrado en el punto `(2,2.2)` y cuyo diámetro es `2`.

#### Combinar líneas, círculos y texto

Se pueden combinar diferentes elementos básicos para crear imágenes más complejas. En este ejemplo se combinan varias líneas y círculos para crear una imagen, junto con texto para etiquetar los puntos:

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{0.8cm}
\begin{picture}(12,4)
\thicklines
\put(8,3.3){{\footnotesize $3$-simplex}}
\put(9,3){\circle*{0.1}}
\put(8.3,2.9){$a_2$}
\put(8,1){\circle*{0.1}}
\put(7.7,0.5){$a_0$}
\put(10,1){\circle*{0.1}}
\put(9.7,0.5){$a_1$}
\put(11,1.66){\circle*{0.1}}
\put(11.1,1.5){$a_3$}
\put(9,3){\line(3,-2){2}}
\put(10,1){\line(3,2){1}}
\put(8,1){\line(1,0){2}}
\put(8,1){\line(1,2){1}}
\put(10,1){\line(-1,2){1}}
\end{picture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=understanding+picture+dimensions+example+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B0.8cm%7D%0A%5Cbegin%7Bpicture%7D%2812%2C4%29%0A%5Cthicklines%0A%5Cput%288%2C3.3%29%7B%7B%5Cfootnotesize+%243%24-simplex%7D%7D%0A%5Cput%289%2C3%29%7B%5Ccircle%2A%7B0.1%7D%7D%0A%5Cput%288.3%2C2.9%29%7B%24a_2%24%7D%0A%5Cput%288%2C1%29%7B%5Ccircle%2A%7B0.1%7D%7D%0A%5Cput%287.7%2C0.5%29%7B%24a_0%24%7D%0A%5Cput%2810%2C1%29%7B%5Ccircle%2A%7B0.1%7D%7D%0A%5Cput%289.7%2C0.5%29%7B%24a_1%24%7D%0A%5Cput%2811%2C1.66%29%7B%5Ccircle%2A%7B0.1%7D%7D%0A%5Cput%2811.1%2C1.5%29%7B%24a_3%24%7D%0A%5Cput%289%2C3%29%7B%5Cline%283%2C-2%29%7B2%7D%7D%0A%5Cput%2810%2C1%29%7B%5Cline%283%2C2%29%7B1%7D%7D%0A%5Cput%288%2C1%29%7B%5Cline%281%2C0%29%7B2%7D%7D%0A%5Cput%288%2C1%29%7B%5Cline%281%2C2%29%7B1%7D%7D%0A%5Cput%2810%2C1%29%7B%5Cline%28-1%2C2%29%7B1%7D%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Ejemplo del entorno picture de LaTeX](/files/e3f70e834a24a9470d39268eb028b30e6242adeb)

Aquí hay un resumen de algunos comandos utilizados:

* `\thicklines`: esto aumenta el grosor de las líneas. El `\thinlines` comando tiene el efecto contrario.
* `\put(8,3.3){{\footnotesize $3$-simplex}}`: el texto “3-simplex” se inserta en el punto `(8,3.3)`, el tamaño de la fuente se establece en `\footnotesize`. El mismo comando se usa para etiquetar cada punto.
* `\put(9,3){\circle*{0.1}}`: esto dibuja un círculo relleno, centrado en `(9,3)` con un diámetro pequeño de `0.1` (unidad de dibujo), de modo que pueda usarse como punto.
* `\put(10,1){\line(3,2){1}}`: crea una línea recta que comienza en `(10,1)` y se dibuja en la dirección de `(3,2)` con una longitud de 1 (unidad de dibujo).

#### Uso de flechas

Las flechas también pueden usarse dentro de un `picture` entorno, así que aquí va un segundo ejemplo:

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{0.20mm}
\begin{picture}(400,250)
\put(75,10){\line(1,0){130}}
\put(75,50){\line(1,0){130}}
\put(75,200){\line(1,0){130}}
\put(120,200){\vector(0,-1){150}}
\put(190,200){\vector(0,-1){190}}
\put(97,120){$\alpha$}
\put(170,120){$\beta$}
\put(220,195){estado superior}
\put(220,45){estado inferior 1}
\put(220,5){estado inferior 2}
\end{picture}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+arrows+in+LaTeX+picture+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B0.20mm%7D%0A%5Cbegin%7Bpicture%7D%28400%2C250%29%0A%5Cput%2875%2C10%29%7B%5Cline%281%2C0%29%7B130%7D%7D%0A%5Cput%2875%2C50%29%7B%5Cline%281%2C0%29%7B130%7D%7D%0A%5Cput%2875%2C200%29%7B%5Cline%281%2C0%29%7B130%7D%7D%0A%5Cput%28120%2C200%29%7B%5Cvector%280%2C-1%29%7B150%7D%7D%0A%5Cput%28190%2C200%29%7B%5Cvector%280%2C-1%29%7B190%7D%7D%0A%5Cput%2897%2C120%29%7B%24%5Calpha%24%7D%0A%5Cput%28170%2C120%29%7B%24%5Cbeta%24%7D%0A%5Cput%28220%2C195%29%7Bupper+state%7D%0A%5Cput%28220%2C45%29%7Blower+state+1%7D%0A%5Cput%28220%2C5%29%7Blower+state+2%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Ejemplo de flechas en el entorno picture de LaTeX](/files/7d956cc7b2b6da761401508c9378a10fd4964a06)

El `\vector` el comando usa la misma sintaxis que `\line`:

* `\put(120,200){\vector(0,-1){150}}`: dibuja un vector cuyo punto de inicio es `(120,200)`, la longitud es `150` y la dirección de dibujo es `(0,-1)`.

## Lectura adicional

Para más información, consulta los siguientes recursos:

* [manual de referencia no oficial de LaTeX2e](https://latexref.xyz/picture.html)
* [La introducción no tan corta a LaTeX2ε](https://tobi.oetiker.ch/lshort/lshort.pdf) (véase el capítulo 5)
* [Wikilibros](https://en.wikibooks.org/wiki/LaTeX/Picture)
* [preguntas etiquetadas `picture-mode` en tex.stackexchange](https://tex.stackexchange.com/questions/tagged/picture-mode)
* [`pict2e` documentación del paquete](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/pict2e/pict2e.pdf)
* [Paquete TikZ](/latex/es/figuras-y-tablas/05-tikz-package.md)
* [paquete Pgfplots](/latex/es/especifico-de-un-campo/08-pgfplots-package.md)
* [Posicionamiento de imágenes y tablas](/latex/es/figuras-y-tablas/02-positioning-images-and-tables.md)
* [Listas de tablas y figuras](/latex/es/figuras-y-tablas/03-lists-of-tables-and-figures.md)


---

# 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/04-picture-environment.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.
