Fundamentos del modo matemático

Olvide un $ de cierre y LaTeX no señalará el punto del error. Corre hasta el final del párrafo, anuncia ! Missing $ inserted. y compone las palabras pegadas en cursiva. En eso consiste el modo matemático de LaTeX: no es un cambio de tipografía, es un cambio de reglas. Los espacios tecleados dejan de existir, las letras se convierten en nombres de variables, y + y = reciben un espacio fijo a cada lado. Esta página ordena las dos entradas —$…$ y \(…\) dentro de la línea, \[…\] en una línea propia—, explica por qué solo $$…$$ debe evitarse y por qué una palabra corriente dentro de una fórmula necesita \text{}.

Qué cambia realmente en el modo matemático

Cambian tres cosas: los espacios tecleados desaparecen, cada letra se convierte en un nombre de variable en cursiva matemática y cada símbolo recibe una clase de la que se calcula el espacio a su alrededor. Por eso a+b y a + b dan una salida idéntica hasta el último pelo, y por eso teclear log x produce «logx»: el producto de las cuatro variables l, o, g y x. Escrito como la función \log x, el nombre se compone en redonda y aparece un espacio fino antes de la x. Las mismas tres letras, dos objetos completamente distintos para TeX.

latex
% identical output: spaces in the source are ignored
$a+b$ \qquad $a  +  b$

% "logx" (four variables) vs. the function name
$log x$ \qquad $\log x$

Esas clases son uno de los mecanismos centrales de TeX. Todo lo que hay en una fórmula se clasifica como átomo ordinario, operador grande, operador binario, relación, apertura, cierre o signo de puntuación, y el espacio entre dos vecinos se consulta en una tabla a partir del par de clases. = es una relación, de modo que lleva \thickmuskip a cada lado, 5mu por omisión. En un documento de 10pt, 18mu equivalen a un cuadratín, es decir 10pt, así que el hueco resulta de 2,78pt por lado. No hace falta memorizar la cifra; sí conviene retener la idea de que el espaciado se deriva del significado. Para añadir espacio a mano, los comandos son \, (espacio fino), \;, \quad y \qquad.

Estas reglas solo existen dentro del modo matemático. Por eso escribir \to o \alpha directamente en el texto corriente es un error y no una simple torpeza: fuera del modo matemático la regla de espaciado sencillamente no existe. Ponga A \to B en el cuerpo del documento y pdflatex responde ! Missing $ inserted. Para obtener un símbolo matemático hay que entrar antes en modo matemático, lo que nos lleva a las entradas.

Fórmulas en línea: ¿$…$ o \(…\)?

La salida es idéntica. Lo que difiere es qué ocurre cuando uno se equivoca. $ tiene código de categoría 3 en TeX —el «math shift»— y el mismo carácter único abre y cierra: $ es un interruptor, no un paréntesis. \( y \), en cambio, están definidos en latex.ltx como dos macros distintas, cada una de las cuales comprueba si ya está en modo matemático antes de actuar. De ahí que ambos se comporten de forma radicalmente distinta cuando falta un delimitador.

latex
% one closing $ dropped: this compiles, and prints "We compare xandyinthetext."
We compare $x and $y$ in the text.

% the same mistake with \( \): pdflatex stops on this very line
We compare \( x and \( y \) in the text.

La primera línea de arriba asusta precisamente porque compila. TeX lee todo lo que va del primer $ al segundo como una fórmula, tira los espacios de «x and », lo compone en cursiva, y el $ sobrante acaba tropezando al final del párrafo con ! Missing $ inserted.: el número de línea que se informa apunta a \end{document}, y la página muestra «We compare xandyinthetext.». La segunda línea comete el mismo error, pero el segundo \( advierte que el modo matemático ya está abierto y avisa ! LaTeX Error: Bad math environment delimiter. en esa misma línea. No tener que recorrer con la vista un párrafo largo pesa, en la práctica, más de lo que parece.

En la práctica: haga de \(…\) su opción por defecto en documentos nuevos, sobre todo si llevan mucha matemática. El breve $…$ se entiende en todas partes y resulta perfectamente utilizable si su editor colorea las parejas; no es motivo para reescribir un manuscrito ya existente. La forma de entorno \begin{math}…\end{math} hace lo mismo, pero es demasiado larga para caber dentro de una línea y casi nunca se emplea. Para imprimir un signo de dólar literal en el texto, escriba \$.

Las fórmulas en display se componen con \[…\]

Una fórmula importante o voluminosa se saca del párrafo y se coloca en una línea propia. Sin número, eso es \[\]; con número, el entorno equation. \[…\] es exactamente lo mismo que la forma de entorno displaymath: centrada por omisión y alineada a la izquierda en cuanto la clase de documento recibe la opción fleqn. Encima y debajo, LaTeX inserta \abovedisplayskip y \belowdisplayskip —10pt cada uno en un documento de 10pt— y ese aire vertical es lo que da a una fórmula en display su aspecto.

latex
The following identity holds.
\[
  \int_0^1 x^2 \, dx = \frac{1}{3}
\]
It is one of the first integrals anyone computes.

Un dato hace encajar todo lo demás: en cuanto se carga amsmath, \[ y \] quedan reemplazados por el propio entorno equation*; las dos últimas líneas de amsmath.sty son \DeclareRobustCommand{\[}{\begin{equation*}} y \DeclareRobustCommand{\]}{\end{equation*}}. Bajo amsmath, la pregunta «¿\[…\] o equation*?» carece de contenido: son lo mismo. Entre equation y \[…\] decide únicamente si se quiere un número.

FormaNumeradaNotas
\[ … \]nola forma de LaTeX; bajo amsmath es equation*
displaymathnoforma de entorno idéntica a \[ \]; prolija, poco usada
equationnumeración automática; con \label se cita mediante \ref o \eqref
equation*norequiere amsmath; en lo que se convierte \[ \]
$$ … $$nola forma de plain TeX; no usarla (sección siguiente)

Por qué $$…$$ es la única forma que hay que evitar

$$…$$ es la manera de plain TeX de abrir una fórmula en display, y LaTeX nunca la ha documentado para los autores. No está prohibida: LaTeX la usa internamente. latex.ltx contiene \def\equation{$$\refstepcounter{equation}}, de modo que equation y eqnarray se apoyan ambos en $$. El problema es que, cuando lo teclea usted, pasa de largo por la capa de macros de LaTeX, y en esa capa viven las opciones de clase y la maquinaria de amsmath.

  • La opción fleqn deja de actuar. fleqn.clo redefine exactamente cuatro cosas —\[, \], equation y eqnarray— y nunca toca $$. Medido en un article con [fleqn]: \[a=b\] empieza a 25pt del margen izquierdo mientras que $$a=b$$ sigue centrado, 135pt de diferencia sobre la página.
  • El espaciado vertical cambia. Cuando \[ abre un párrafo, desliza en silencio una caja invisible de 0,6 del ancho de línea antes de ejecutar $$. La treta sirve para convencer a TeX de que la línea anterior era larga; sin ella, TeX elige la variante corta (\belowdisplayshortskip, 6pt). En la medición, la versión con $$ quedó exactamente 4pt más apretada por debajo.
  • \qedhere cae en el sitio equivocado. Coloque \qedhere en la última fórmula de un entorno proof de amsthm: dentro de \[…\], la marca de fin de demostración se apoya en el margen derecho. Dentro de $$…$$ se pega a la fórmula y descentra toda la exhibición.
  • Todo lo que añade amsmath se cae. Puesto que, bajo amsmath, \[ es equation*, teclear $$ tira los cimientos sobre los que se sostienen \tag, \qedhere y el desplazamiento automático de los números de ecuación.

La Short Math Guide for LaTeX de la AMS (versión 2.0, 2017/12/22, distribuida con TeX Live 2024) sostiene lo mismo: desaconseja con firmeza $$ y da dos razones —la notación no está documentada en ninguna parte como parte del juego de comandos de LaTeX y estorba el funcionamiento correcto de funciones como fleqn—. El resumen es breve. Sin número: \[…\]. Con número: equation. Si hereda un manuscrito plagado de $$, sustitúyalos mecánicamente ahora y el día en que añada fleqn o un entorno de demostración transcurrirá en silencio.

Palabras dentro de una fórmula: por qué hace falta \text{}

Como en modo matemático las letras son variables, if es el producto de i y f, y area el de cuatro variables. Para colocar una palabra como palabra —en redonda y con el espaciado correcto— se usa \text{…} de amsmath. Su contenido se compone con la fuente y el espaciado del texto corriente, y los espacios que se teclean dentro sobreviven: \text{ for all } conserva aire a ambos lados. A la inversa, $…$ dentro de \text{…} devuelve ese fragmento al modo matemático.

latex
\[
  f(x) = x^2 \quad \text{for all } x \in \mathbb{R},
  \qquad v_{\text{max}} = 3.
\]

La ventaja de \text es que sigue el tamaño de su entorno. Su definición en amstext.sty emplea \mathchoice para dar un cuerpo distinto a cada uno de los cuatro contextos: display, texto, subíndice y subíndice de segundo orden. Mida el «max» de v_{\text{max}} de arriba: 6,19pt de alto, el cuerpo de subíndice; lo mismo escrito \mbox{max} sale a 8,85pt y se instala en el subíndice con el tamaño del texto corriente, desentonando con lo que lo rodea. \mbox es el comando general «mete esto en una caja»; nunca fue una herramienta matemática. Además, \text se repliega sobre \mbox en modo texto, así que es seguro dentro de una macro que pueda invocarse en cualquiera de los dos. Si olvida cargar amsmath, obtendrá ! Undefined control sequence.

Estilo texto y estilo display: por qué la misma fórmula se ve distinta

El modo matemático tiene cuatro estilos, y TeX elige uno según el contexto: estilo texto dentro de una línea, lo bastante pequeño para no romper la altura de línea; estilo display en línea propia, con aire; estilo de subíndice para un subíndice; y estilo de segundo subíndice para el subíndice de un subíndice. Por eso el mismo \sum_{i=1}^{n} coloca sus límites pequeños a la derecha del signo cuando está en línea, y grandes encima y debajo en una fórmula en display.

  • Límites de sumas e integrales: en estilo display los límites de \sum van encima y debajo del signo; en estilo texto, a su derecha. \int se comporta igual.
  • Fracciones: \frac es grande en estilo display y pequeña y apretada en estilo texto. Para fijar el tamaño con independencia del contexto se usan \dfrac y \tfrac de amsmath.
  • Subíndices y superíndices: cada nivel de anidamiento baja un escalón de tamaño, y nada se reduce más allá del estilo de segundo subíndice.

También se puede cambiar de estilo a mano con \displaystyle, \textstyle, \scriptstyle y \scriptscriptstyle. El caso habitual es $\displaystyle\sum_{i=1}^{n} i$, cuando se quieren los límites de una suma encima y debajo en plena frase. Pero cuidado: sembrar \displaystyle por el texto corriente vuelve desiguales las alturas de línea y hace ondular el párrafo. La regla es usarlo solo donde una fórmula concreta lo pida.

latex
% limits sit at the right of the sign
Inline: $\sum_{i=1}^{n} i$

% limits forced above and below
Forced: $\displaystyle\sum_{i=1}^{n} i$

Los nombres de funciones son comandos: \sin, \log, \lim

De las reglas anteriores se sigue que teclear sin x escribe el producto de s, i, n y x. Lo correcto es un comando dedicado como \sin. LaTeX predefine los nombres de funciones y operadores habituales; todos se componen en redonda y llevan automáticamente un espacio fino detrás. Enderezar las letras con \mathrm{sin} no proporciona ese espacio: medido, \log x deja 1,8pt entre «log» y «x», mientras que \mathrm{log} x sale como «logx», pegado.

  • Trigonométricas e hiperbólicas: \sin \cos \tan \cot \sec \csc; \sinh \cosh \tanh \coth; inversas \arcsin \arccos \arctan.
  • Logaritmos y exponencial: \log \ln \lg \exp.
  • Límites y cotas: \lim \limsup \liminf \sup \inf \max \min \varinjlim \varprojlim.
  • Álgebra y demás: \arg \det \dim \gcd \ker \hom \deg \Pr; módulo con \bmod y \pmod.
latex
\[
  \lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^{n} = e,
  \qquad \sin^2\theta + \cos^2\theta = 1.
\]

Parte de esa lista —\lim, \max, \min, \sup, \inf, \det, \gcd, \Pr, entre otros— coloca el subíndice justo debajo en estilo display. Por eso \lim_{n\to\infty} pone su condición bajo «lim» en una fórmula en display y abajo a la derecha cuando está en línea. Para un operador que no figure en la lista, como rank o Hom, se define uno propio con \operatorname{…} y \DeclareMathOperator de amsmath: eso corresponde a la página de amsmath.