> 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/errores-de-latex/25-missing-inserted.md).

# Falta insertar $

## Cómo corregir este error

Este error puede desencadenarse de diferentes maneras y, especialmente para quienes son nuevos en LaTeX, no siempre es *inmediatamente* obvio por qué ocurrió, o, lo que es más importante, cómo resolverlo. Empezaremos con una visión general de las *generales* condiciones que desencadenan este error y luego enumeraremos algunas de las causas más comunes y cómo corregirlas. Las [últimas partes de este artículo](#background-to-the-missing-inserted-error) ofrecen material más detallado para los lectores que deseen ampliar su comprensión.

**Nota**: En este artículo usamos los términos “TeX”, “LaTeX” y “motor de TeX”, pero si no estás seguro de sus distintos significados, puedes averiguarlo en el artículo de Overleaf [¿Qué hay en un nombre? Una guía de las muchas variantes de TeX](/latex/es/articulos-en-profundidad/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

### Las principales causas de Missing $ inserted

Hay tres razones principales por las que (La)TeX genera este error:

1. Has cometido un error explícito en tu marcado matemático, como escribir `$y=f(x)$$`—veremos otros ejemplos más adelante en este artículo.
2. TeX ha detectado un carácter o comando diseñado para usarse **solo** cuando TeX está compaginando matemáticas, pero ese carácter o comando se ha usado cuando TeX estaba **no** compaginando matemáticas.
   * **Técnicamente hablando**: TeX detectó un carácter o comando diseñado para funcionar *dentro de* [*modo matemático*](#math-mode) pero has intentado usarlo *fuera* [*modo matemático*](#math-mode). Para aclarar el problema de “caracteres” diseñados para funcionar en [modo matemático](#math-mode), lo que realmente queremos decir es usar caracteres asignados a ciertos [códigos de categoría](/latex/es/mas-temas/43-table-of-tex-category-codes.md) diseñados para operar dentro de material matemático.
3. TeX ha detectado un comando diseñado para usarse solo cuando TeX está **no** compaginando matemáticas, pero ese comando fue detectado (usado) mientras TeX **estaba** compaginando material matemático.
   * **Técnicamente hablando**: TeX detectó un comando diseñado para funcionar *fuera* [*modo matemático*](#math-mode) pero has intentado usarlo *dentro de* [*modo matemático*](#math-mode).

### Ejemplos de errores y sus soluciones

Los siguientes ejemplos muestran algunas formas en las que el `Falta insertar $` error puede desencadenarse, junto con soluciones para resolverlo.

#### Los comandos de símbolos deben usarse en modo matemático

Muchos símbolos matemáticos en LaTeX se acceden mediante comandos que solo deben usarse cuando TeX está componiendo matemáticas; es decir, en un momento en que TeX está en modo matemático.

Entre los ejemplos de comandos de símbolos de uso común están los de las letras griegas: `\alpha` $$(\alpha)$$, `\beta` $$(\beta)$$, `\gamma` ($$\gamma)$$, `\delta` $$(\delta)$$, `\Delta` $$(\Delta)$$ y así sucesivamente. Muchos otros comandos de LaTeX, como los de modificadores: `\vec{x}` $$(\vec{x})$$, `\tilde{x}` $$(\tilde{x})$$, `\hat{x}` $$(\hat{x})$$ etc., también están diseñados para usarse en modo matemático.

Usar modificadores, comandos de símbolos —y muchos otros comandos relacionados con las matemáticas— fuera de la composición de contenido matemático generará un `Falta insertar $` error y forzará al compilador a entrar en modo matemático.

El siguiente ejemplo muestra lo que ocurre si intentas usar el comando `\alpha` $$(\alpha)$$ fuera del modo matemático:

```latex
Escribir \verb|\alpha| fuera del modo matemático generará un error: \alpha y, por tanto, este texto no se compaginará correctamente...
```

[Abre este ***que produce errores*** ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Incorrect+use+of+LaTeX+symbols\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWriting+%5Cverb%7C%5Calpha%7C+outside+math+mode+will+generate+an+error%3A+%5Calpha+and+so+this+text+will+not+be+typeset+correctly...%0A%5Cend%7Bdocument%7D)

La siguiente imagen muestra parte de la salida producida por el código LaTeX anterior, demostrando el error causado por usar `\alpha` fuera del modo matemático:

![\alpha fuera del modo matemático](/files/e5740ae0f8adba563c52ec7b3ef3ccfc7cd037ab)

**Cómo corregir los errores causados por los comandos de símbolos de LaTeX**

Para usar modificadores o símbolos griegos matemáticos dentro de oraciones, siempre deben ir entre signos de dólar simples `$...$`, o la sintaxis de LaTeX `\(...\)` para que TeX los procese en *modo matemático en línea*, como se muestra a continuación.

```latex
Al escribir la letra griega alfa en una oración, debe escribirse como \verb|$\alpha$| para generar $\alpha$, o como \verb|\(\alpha\)|, que también genera \(\alpha\).

Al escribir un vector x en una oración, debe escribirse como \verb|$\vec{x}$| para producir $\vec{x}$ o como \verb|\(\vec{x}\)|, que también produce \(\vec{x}\).
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+LaTeX+symbols\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWhen+writing+the+Greek+letter+alpha+in+a+sentence%2C+it+must+be+written+as+%5Cverb%7C%24%5Calpha%24%7C+to+generate+%24%5Calpha%24%2C++or+as+%5Cverb%7C%5C%28%5Calpha%5C%29%7C+which+also+generates+%5C%28%5Calpha%5C%29.%0A+%0AWhen+writing+a+vector+x+in+a+sentence%2C+it+must+be+written+as+%5Cverb%7C%24%5Cvec%7Bx%7D%24%7C+to+produce+%24%5Cvec%7Bx%7D%24+or+as+%5Cverb%7C%5C%28%5Cvec%7Bx%7D%5C%29%7C+which+also+yields+%5C%28%5Cvec%7Bx%7D%5C%29.%0A%5Cend%7Bdocument%7D)

**Una lista de símbolos de LaTeX**

El artículo de Overleaf [Lista de letras griegas y símbolos matemáticos](/latex/es/matematicas/11-list-of-greek-letters-and-math-symbols.md) proporciona una lista de símbolos que son exclusivos del modo matemático, junto con enlaces a otros recursos útiles.

#### Usar caracteres exclusivos del modo matemático fuera del modo matemático

Tradicionalmente, TeX/LaTeX reservan ciertos caracteres comunes para su uso dentro del modo matemático:

* `^`: reservado para crear superíndices
* `_`: reservado para crear subíndices
* `$`: reservado para iniciar/detener el modo matemático

Usarlos directamente fuera del modo matemático provoca errores.

* Para escribir `$` fuera del modo matemático usa `\$`
* Para escribir `_` fuera del modo matemático usa `\_`
* Varias formas de escribir `^` fuera del modo matemático. Se proporciona una lista en [tex.stackexchange](https://tex.stackexchange.com/a/77647)

**Usar guiones bajos fuera del modo matemático**

Una causa común del `Falta insertar $` error es usar guiones bajos (`_`), un carácter del modo matemático, fuera del modo matemático, como los guiones bajos presentes en nombres de archivo: se muestra un ejemplo a continuación.

```latex
Usar un carácter matemático, como un guion bajo, en un nombre de archivo: math_example.tex.
```

[Abre este ***generador de errores*** código en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+code+error\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AUsing+a+math+character%2C+such+as+an+underscore%2C+in+a+file+name%3A+math_example.tex.%0A%5Cend%7Bdocument%7D)

Porque al carácter guion bajo se le asigna [el código de categoría 8](/latex/es/mas-temas/43-table-of-tex-category-codes.md) está reservado para crear subíndices cuando el motor de TeX está en modo matemático. En consecuencia, cuando (La)TeX detecta el `_` en el nombre de archivo `math_example.tex` lo hace fuera del modo matemático, lo que desencadena un error y da lugar a una composición errónea del texto posterior:

$$\text{Using a math character, such as an underscore, in a file name: math}\_example.tex.$$

El `_` el carácter (técnicamente, su código de categoría 8) desencadena un error y hace que TeX entre en modo matemático: la letra `e` que sigue inmediatamente después del `_` se trata como un carácter que debe componerse como subíndice. El procesamiento continúa entonces en modo matemático, lo que da como resultado el texto en cursiva y, además, aquí no hay forma de que TeX salga del modo matemático de manera elegante, lo que provocará más errores.

Para evitar este error en particular, siempre debes usar `_` en modo matemático, es decir, dentro de `$..$`, `$$...$$` o, preferiblemente, dentro de la notación de LaTeX `\(...\)` y `\[...\]`.

Fuera del modo matemático necesitas escribir `\_` para usar o componer un guion bajo, como se muestra en la versión corregida del ejemplo:

```latex
Para usar el carácter guion bajo del modo matemático en un nombre de archivo, escríbelo así: math\_example.tex.
```

[Abre este ***versión corregida*** en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fixed+math+code+error\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0ATo+use+the+math-mode+underscore+character+in+a+file+name%2C+write+it+like+this%3A+math%5C_example.tex.%0A%5Cend%7Bdocument%7D)

**Usar guiones bajos en las URL**

También puedes encontrarte con este error al intentar componer URL con guiones bajos, p. ej. `[https://www.overleaf.com/learn/latex/Subscripts_and_superscripts](../02-mathematics/02-subscripts-and-superscripts.md)`. En lugar de escapar cada carácter guion bajo, quizá quieras cargar el `url` o `hyperref` paquete, y luego usar la `\url` comando así:

```latex
\documentclass{article}
\usepackage{url}
\begin{document}
\url{https://www.overleaf.com/learn/latex/Subscripts_and_superscripts}
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=URL+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Burl%7D+%0A%5Cbegin%7Bdocument%7D%0A%5Curl%7Bhttps%3A%2F%2Fwww.overleaf.com%2Flearn%2Flatex%2FSubscripts_and_superscripts%7D%0A%5Cend%7Bdocument%7D)

**Guiones bajos en URL de archivos .bib**

Si esas URL están en tu bibliografía `.bib` archivo, lo que hace que se informen errores desde el `.bbl` archivo, entonces asegúrate de usar los `url` o `doi` campos para registrar estos campos en el `.bib` archivo:

```
doi = {10.1007/978-94-015-6859-3_4},
url = {https://abc.com/latest_news_1.html}
```

y carga el `url` o `hyperref` paquete en el preámbulo, si es necesario. La mayoría de los archivos de estilo bibliográfico podrán entonces envolver automáticamente estos valores en un `\url{...}` comando.

#### Usar comandos no permitidos en modo matemático

Algunos comandos integrados de bajo nivel de TeX (llamados *primitivas*) no están permitidos en modo matemático y su uso en modo matemático desencadenará el `Falta insertar $` error. Aunque es poco probable que la mayoría de los usuarios utilicen estos comandos en el código cotidiano de LaTeX, lo mencionamos aquí porque es posible que puedan estar contenidos dentro de comandos de LaTeX (macros) que se estén usando en modo matemático.

El siguiente ejemplo intenta usar el comando de TeX `\vskip` dentro de material matemático. Esto no está permitido y genera un error.

```latex
\documentclass{article}
\begin{document}
Quiero añadir algo de espacio, pero esta no es la manera de hacerlo...
\[y=f(x) \vskip5pt z=f(y)\]
$y=f(x) \vskip5pt z=f(y)$
\end{document}
```

[Abre este ***generador de errores*** código en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AI+want+to+add+some+space%2C+but+this+is+not+the+way+to+do+it...%0A%5C%5By%3Df%28x%29+%5Cvskip5pt+z%3Df%28y%29%5C%5D%0A%24y%3Df%28x%29+%5Cvskip5pt+z%3Df%28y%29%24%0A%5Cend%7Bdocument%7D)

Otros comandos (primitivos) de TeX no permitidos cuando TeX está en modo matemático incluyen `\par`, `\hrule`, `\unvbox`, `\unvcopy` y `\valign`.

#### Líneas en blanco en matemáticas

```latex
\documentclass{article}
\begin{document}
\begin{equation}
y=x^3,

z=x^3
\end{equation}
\end{document}
```

[Abre este ***generador de errores*** código en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bequation%7D%0Ay%3Dx%5E3%2C%0A%0Az%3Dx%5E3%0A%5Cend%7Bequation%7D%0A%5Cend%7Bdocument%7D)

**Causa**: La línea en blanco entre las fórmulas se convierte en un `\par` comando que no está permitido en modo matemático. También puedes verlo escribiendo

```latex
\documentclass{article}
\begin{document}
\[y=x^3,\par z=x^3\]
\end{document}
```

[Abre este ***generador de errores*** código en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+2\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5C%5By%3Dx%5E3%2C%5Cpar+z%3Dx%5E3%5C%5D%0A%5Cend%7Bdocument%7D)

Para corregir esto, elimina las líneas en blanco o coméntalas:

```latex
\documentclass{article}
\begin{document}
\begin{equation}
y=x^3,
% Esto suprimirá la línea en blanco
z=x^3
\end{equation}
\end{document}
```

[Abre este ***versión corregida*** en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bequation%7D%0Ay%3Dx%5E3%2C%0A%25+This+will+suppress+the+blank+line%0Az%3Dx%5E3%0A%5Cend%7Bequation%7D%0A%5Cend%7Bdocument%7D)

#### Usar $ dentro de entornos matemáticos

Algunos entornos de LaTeX, como los `align` y `equation` entornos, no requieren que las matemáticas se encierren entre `$` signos, ni el uso de la sintaxis matemática de LaTeX: `\(...\)` o `\[...\]`. El código de LaTeX que implementa esos entornos se encarga de entrar y salir del modo matemático.

El siguiente ejemplo muestra el uso del `$` signo dentro de un `amsmath` `align` entorno, lo que desencadena un `Falta insertar $` error, entre muchos otros....

```latex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
$2x - 5y &=  8 \\
3x + 9y &=  -12$
\end{align*}
\end{document}
```

[Abre este ***generador de errores*** código en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+4\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamsmath%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Balign%2A%7D%0A%242x+-+5y+%26%3D++8+%5C%5C+%0A3x+%2B+9y+%26%3D++-12%24%0A%5Cend%7Balign%2A%7D%0A%5Cend%7Bdocument%7D)

La forma correcta de escribir estas ecuaciones es:

```latex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
2x - 5y &=  8 \\
3x + 9y &=  -12
\end{align*}
\end{document}
```

[Abre este ***versión corregida*** en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+5\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamsmath%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Balign%2A%7D%0A2x+-+5y+%26%3D++8+%5C%5C+%0A3x+%2B+9y+%26%3D++-12%0A%5Cend%7Balign%2A%7D%0A%5Cend%7Bdocument%7D)

## Contexto del error Missing $ inserted

La siguiente sección es para lectores que deseen comprender mejor las razones detrás del error `Falta insertar $`. No es *esencial* una lectura obligatoria, pero puede ayudarte a encontrar y corregir errores.

### No faltan signos $ pero sigo obteniendo el error

En algunas circunstancias, el `Falta insertar $` error puede ser muy confuso porque tu código LaTeX puede no tener realmente ningún problema con *caracteres* `$` visiblemente faltantes. Por ejemplo, el fragmento de LaTeX $$\verb|$$y=f(x)\par$$|$$ parece corrector superficialmente: los $$\verb|$$|$$ los pares están equilibrados, pero desencadenará el “`falta de $`” error. Aquí se debe al `\par` comando que no está permitido en modo matemático:

```latex
\documentclass{article}
\begin{document}
Este ejemplo genera el error \verb|Missing $ inserted|:
$$y=f(x)\par$$
\end{document}
```

[Abre esto para ver un error Missing $ inserted](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AThis+example+generates+the+error+%5Cverb%7CMissing+%24+inserted%7C%3A+%0A%24%24y%3Df%28x%29%5Cpar%24%24%0A%5Cend%7Bdocument%7D)

El código LaTeX anterior en realidad desencadena una *cascada* de errores, como se muestra a continuación, así que claramente no debes usar `\par` dentro del modo matemático.

```
! Falta un $ insertado.
<texto insertado>
                $
l.12 $$y=f(x)\par
                 $$
He insertado un símbolo de inicio/fin de matemáticas porque creo
que omitiste uno. Continúa, con los dedos cruzados.

! Las matemáticas en modo display deben terminar con $$.
<para leer de nuevo>
                   \par
l.12 $$y=f(x)\par
                 $$
El `$' que acabo de ver supuestamente coincide con un `$$' anterior.
Así que asumiré que escribiste `$$' en ambas ocasiones.

! Falta un $ insertado.
<texto insertado>
                $
l.13 \end{document}

He insertado un símbolo de inicio/fin de matemáticas porque creo
que omitiste uno. Continúa, con los dedos cruzados.

! Las matemáticas en modo display deben terminar con $$.
<para leer de nuevo>
                   \par
l.13 \end{document}

El `$' que acabo de ver supuestamente coincide con un `$$' anterior.
Así que asumiré que escribiste `$$' en ambas ocasiones.
```

Cuando se carga el archivo `Falta insertar $` Cuando ocurre el error, el software del motor de TeX intenta recuperarse y “retomar el rumbo” para poder continuar procesando después del punto en que ocurrió el error. La sección [Avanzado: una explicación del mecanismo de recuperación de errores de TeX](#advanced-an-explanation-of-texs-error-recovery-mechanism) te ayudará a entender por qué surge esta cascada de errores debido a los intentos de TeX de corregir el error inicial.

### Sobre los modos, y cuándo

Internamente, los motores de TeX operan usando tres “estados mentales”, llamados *modos*, que dependen del tipo de material que un motor de TeX está *actualmente* componiendo. El modo en el que se encuentra un motor de TeX en cualquier momento durante la composición se llama su *actual* modo, que cambia a lo largo del proceso de composición del contenido de tu documento LaTeX.

Para cada uno de los modos de un motor de TeX hay ciertos comandos y caracteres (o, más correctamente, códigos de categoría) que son “incompatibles” con el modo actual de TeX: no deben usarse mientras TeX está en ese modo específico. Si intentas usar esos caracteres o comandos inapropiados, TeX emitirá un error como `Falta insertar $` para indicarte que algo está mal.

#### Modo matemático

Este error `Falta insertar $` está relacionado con el *modo matemático*—es decir, el modo en el que se encuentra un motor de TeX cuando le pides a LaTeX que componga algunas matemáticas.

Solo para completar, señalaremos que hay *dos* tipos de modo matemático, que reflejan la creación de matemáticas en línea o en display:

* modo matemático en línea
* modo matemático en display

TeX necesita estos dos modos matemáticos diferentes porque aplica distintas reglas de espaciado, tamaños de símbolos, etc., al componer matemáticas destinadas a estar en línea o en display.

#### Activar los modos matemáticos de TeX

Hay varias formas de hacer que un motor de TeX *entre* y luego *salga de* modo matemático.

* Puedes usar marcado explícito como:
  * Sintaxis de LaTeX: `\(...\)` a *entre* `\(` luego *salga de* `\)` modo matemático en línea o `\[...\]` a *entre* `\[` luego salir de `\]` modo matemático en display;
  * sintaxis (histórica) de TeX: `$...$` para entrar (primero `$`) y luego salir (segundo `$`) modo matemático en línea o `$$...$$` para entrar (primero `$$` *pair*) y luego salir (segundo `$$` *pair*) modo matemático en display;
* o cualquiera de los entornos matemáticos de LaTeX:
  * `\begin{align}...\end{align}` etc. Entre bastidores, estos entornos se encargan de entrar y salir del modo matemático.

El mensaje *texto* real `Falta insertar $` es *incorporadas en* (“codificado” en el software del motor de TeX), por eso seguirás viendo `Missing $` incluso si no estás usando `$` caracteres para componer matemáticas y usas únicamente la sintaxis de LaTeX para marcar las matemáticas en tu documento. Esto puede resultar confuso para los nuevos usuarios de LaTeX, pero hay poco que se pueda hacer para cambiar este mensaje de error sin modificar el código fuente de los motores de TeX.

#### Macros: comprobar el modo matemático

Es posible comprobar si TeX está actualmente en modo matemático usando el comando primitivo `\ifmmode`; de ese modo puedes escribir macros cuyo comportamiento se adapte para evitar generar errores relacionados con el modo. Aquí tienes un ejemplo muy básico para demostrar el principio, que imprime `Sí.` o `No.` dependiendo de si TeX está o no en modo matemático en el momento de “ejecutar” la macro.

```latex
\documentclass{article}
\begin{document}
\newcommand{\mytest}{\ifmmode \mathrm{Yes}\else No\fi.}

¿Se está usando la macro en modo matemático? $\mytest$

¿Se está usando la macro en modo matemático? $$\mytest$$

¿Se está usando la macro en modo matemático? \(\mytest\)

¿Se está usando la macro en modo matemático? \[\mytest\]

¿Se está usando la macro en modo matemático? \mytest
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Testing+for+math+mode\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5Cmytest%7D%7B%5Cifmmode+%5Cmathrm%7BYes%7D%5Celse+No%5Cfi.%7D%0A%0AIs+the+macro+being+used+in+math+mode%3F+%24%5Cmytest%24%0A%0AIs+the+macro+being+used+in+math+mode%3F+%24%24%5Cmytest%24%24%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5C%28%5Cmytest%5C%29+%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5C%5B%5Cmytest%5C%5D%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5Cmytest%0A%5Cend%7Bdocument%7D)

La siguiente gráfica muestra la salida producida por el ejemplo anterior:

![Macro de LaTeX para comprobar el modo matemático](/files/a5e6e3d239a32651c21d331e3e004cc7488fffd4)

## Avanzado: una explicación del mecanismo de recuperación de errores de TeX

El mensaje de error `Falta insertar $` no es generado por Overleaf, LaTeX o los paquetes de LaTeX; en realidad proviene de *dentro del programa ejecutable* responsable de componer tu documento LaTeX: ese programa ejecutable se llama un motor de TeX *motor*—puedes pensar en él como el que “conduce” el proceso de composición.

Dentro del código fuente del software de TeX, su autor (Donald Knuth) hace esta observación sobre el código responsable de generar el `Falta insertar $` error:

> Aquí hay una lista de casos en los que el usuario probablemente ha entrado o salido del modo matemático por error. TeX insertará un signo de dólar y volverá a analizar el token actual.

En el centro del `Falta insertar $` error está la detección por parte de TeX de “algo” que no debería haberse usado dentro del modo matemático, o de “algo” expresamente diseñado para la composición matemática que se usa fuera del modo matemático.

La tarea a la que se enfrenta TeX es: ¿Cómo me recupero de esto? TeX hace exactamente lo que escribe Knuth: inserta un signo de dólar y vuelve a analizar el token actual, un [“token”](/latex/es/articulos-en-profundidad/53-what-is-a-tex-token.md) es el valor numérico interno (entero) de TeX que representa el carácter o comando que acaba de leer. Sin embargo, debido al contexto preciso del error, esta estrategia puede, o no, ser exitosa, como continúa diciendo el texto del error: “Continúa, con los dedos cruzados.”!

### Ejemplo trabajado

Exploremos los comentarios de Knuth echando un vistazo más de cerca al siguiente ejemplo: $$\verb|$y=f(x)$$\vskip3pt|$$. Si abres el código de abajo verás que desencadena el error `Falta insertar $`.

```latex
Escribir \verb|$y=f(x)$$\vskip3pt| produce...$y=f(x)$$\vskip3pt Empieza una nueva línea...
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+missing+%24+inserted+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWriting+%5Cverb%7C%24y%3Df%28x%29%24%24%5Cvskip3pt%7C+produces...%24y%3Df%28x%29%24%24%5Cvskip3pt+Start+new+line...%0A%5Cend%7Bdocument%7D)

Para revisar por qué esto desencadena un error, escribamos subíndices para identificar cada $$\verb|$|$$ en la expresión para obtener $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}\verb|$|*{\mathtt3}\verb|\vskip3pt|$$. TeX puede procesar correctamente la primera parte $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}$$ que se trata como una pieza de matemáticas en línea correctamente formateada, produciendo $$y=f(x)$$. Inmediatamente después de procesar $$\verb|$|*{\mathtt2}$$ TeX sale temporalmente del modo matemático en línea; en nuestro ejemplo estamos creando matemáticas en línea en un párrafo, así que entra brevemente en el llamado *modo horizontal*.

Es lo que ocurre después lo que desencadena el error. TeX continúa procesando el $$\verb|$|\_{\mathtt3}$$ lo que hace que TeX vuelva a entrar en modo matemático en línea. TeX ahora lee el siguiente token, que es el $$\verb|\vskip|$$ comando; aún no ha leído el $$\verb|3pt|$$. En este punto, TeX ve $$\verb|\vskip|$$ pero está en modo matemático en línea: $$\verb|\vskip|$$ no está permitido allí, así que activa el proceso de manejo de errores de TeX, tal como lo describe Knuth:

> TeX insertará un signo de dólar y volverá a analizar el token actual.

Aquí, el token actual es el $$\verb|\vskip|$$ comando, así que lo que hace TeX es colocar un *nuevo* `$` en su entrada; llamémoslo $$\verb|$|*{\mathtt4}$$. En este punto, TeX sigue en modo matemático en línea, pero ahora vuelve a leer el equivalente de $$\verb|$|*{\mathtt4}\verb|\vskip|$$ que se lee en modo matemático en línea. El $$\verb|$|\_{\mathtt4}$$, insertado por el propio TeX, ahora *cierra* el modo matemático en línea actual y TeX continúa leyendo el $$\verb|\vskip|$$ comando *fuera* modo matemático en línea; aquí, TeX está en un párrafo, así que el $$\verb|\vskip3pt|$$ hace que el párrafo actual termine y $$\verb|3pt|$$ del espacio colocado después de él.


---

# 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/errores-de-latex/25-missing-inserted.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.
