El símbolo de relación más usado de las matemáticas tiene autor, y ese autor dejó escrita su razón. Robert Recorde imprimió = por primera vez en The Whetstone of Witte (1557) eligiendo dos líneas paralelas porque, según él, no hay dos cosas que puedan ser más iguales. En LaTeX ese signo encabeza toda una familia: =, \neq, \leq, \approx y \equiv son relaciones, y lo que importa de ellas no es tanto su forma como su clase. TeX las reúne en una sola clase y concede a cada miembro el mismo espacio, deliberadamente amplio, mayor que el de un operador binario. Esta página recorre la familia: la igualdad y sus aproximaciones, los signos de orden, la negación y el modo de ascender un símbolo propio a relación. El hilo es siempre el mismo: el significado lo fija la convención, pero el espaciado se declara en el fuente, y esa declaración está al alcance de cualquiera.
Por qué = recibe más espacio que +
Porque TeX elige el espacio según la clase, no según la forma. Cada símbolo de una fórmula pertenece a una de unas pocas clases —ordinario, operador binario, relación, de apertura, de cierre, puntuación, interno— y el hueco entre dos vecinos se consulta en una tabla de pares de clases. Un operador binario como + recibe \medmuskip, que plain TeX fija en 4mu plus 2mu minus 4mu; una relación como = recibe \thickmuskip, fijado en 5mu plus 5mu. El signo igual parte, pues, más ancho y, a diferencia del más, conserva margen para estirarse cuando hay que rellenar una línea. Nada de esto se escribe a mano: a+b=c sin un solo espacio sale correctamente compuesto.
La prueba más limpia de que quien trabaja es la clase, y no la forma, son dos órdenes que dibujan exactamente el mismo carácter. En fontmath.ltx, el archivo donde LaTeX declara sus símbolos matemáticos, | aparece como \DeclareMathDelimiter{|}{\mathord}…{symbols}{"6A} y \mid como \DeclareMathSymbol{\mid}{\mathrel}{symbols}{"6A}: la casilla "6A de la misma fuente en ambos casos, declarada ordinaria en uno y relación en el otro. Componga a | b junto a a \mid b y verá la misma barra con distinta cantidad de aire alrededor. La pareja \| y \parallel funciona igual, ambas en la casilla "6B: \parallel (∥) es una relación y puede afirmar «es paralela a», mientras que \| es un delimitador ordinario, pensado para normas como \|x\|. Equivocarse de miembro en una de estas parejas es la causa más frecuente de un espaciado que parece vagamente mal y no se deja explicar.
% same glyph, different class: | is ordinary, \mid is a relation
\[ a | b \qquad a \mid b \]
% a bare letter is ordinary; \mathrel promotes it
\[ A R B \qquad A \mathrel{R} B \]
% the colon trap: ":" is a relation, \colon is punctuation
\[ f : A \to B \qquad f\colon A \to B \]En la práctica, pues, basta con declarar uno mismo la clase. \mathrel{...} convierte su contenido en relación y \mathbin{...} lo convierte en operador binario; ambas órdenes son LaTeX estándar. Una letra suelta es un símbolo ordinario, así que A R B pega la R a sus vecinos, mientras que A \mathrel{R} B le da el espaciado de =. La trampa en sentido contrario son los dos puntos. LaTeX declara el carácter : como relación, de modo que f : A \to B rodea de espacio de relación unos dos puntos que en realidad son puntuación; \colon existe como \mathpunct justamente para este caso, y de ahí que la forma recomendada sea f\colon A \to B. Las flechas también pertenecen a la clase de las relaciones —por eso \to exige modo matemático—, pero tienen página propia.
Cómo elegir entre \approx, \sim, \simeq y \cong
Una regla que sirve: \approx (≈) para números casi iguales, \sim (∼) para una relación de equivalencia o «mismo orden de magnitud», \simeq (≃) para la igualdad asintótica y el homeomorfismo, y \cong (≅) para la congruencia en geometría y el isomorfismo en álgebra. Los cuatro son LaTeX estándar y ninguno necesita paquete. Su parecido no es casual: cada uno es el signo igual con la rigidez aflojada en distinta medida, y justo por eso los lectores se guían por el nombre de la orden y no por el dibujo. A su alrededor están \equiv (≡) para la identidad y la congruencia módulo n, \propto (∝) para la proporcionalidad, \asymp (≍) para «del mismo orden» y \doteq (≐), cuyo nombre Unicode es «approaches the limit» pero que muchos autores leen «igual por definición». Como \doteq y \asymp se leen de forma distinta según el campo, conviene aclarar el sentido en el primer uso.
| Comando | Glifo | Significado/uso |
|---|---|---|
= | = | igualdad; se escribe directamente — clase relación |
\neq | ≠ | distinto de; \ne es lo mismo — LaTeX estándar |
\equiv | ≡ | idénticamente igual; congruencia a \equiv b \pmod n |
\approx | ≈ | aproximadamente igual; numérico \pi \approx 3.14 |
\sim | ∼ | relación de equivalencia o «mismo orden de magnitud» |
\simeq | ≃ | asintóticamente igual; homeomorfo |
\cong | ≅ | congruente; isomorfo — \sim apilado sobre = |
\propto | ∝ | es proporcional a |
\asymp | ≍ | del mismo orden (análisis, teoría de números) |
\doteq | ≐ | un punto sobre =; «tiende al límite» o «igual por definición» |
Tres de los símbolos recién citados no existen en ninguna fuente. Abra fontmath.ltx y verá que \cong es \mathrel{\mathpalette\@vereq\sim}, un \sim apilado sobre un =; que \doteq es \buildrel\textstyle.\over=, un punto construido encima del signo igual; y que \notin es un \in con una barra sobreimpresa. El Computer Modern de Knuth sencillamente no contenía esos glifos, de modo que LaTeX los ensambla en el momento de componer. La anécdota tiene filo práctico: un símbolo ensamblado se desplaza un poco al cambiar de fuente matemática y, al no ser un carácter real dentro del PDF, no sobrevive a un copiar y pegar. Si eso importa —accesibilidad, o texto que los lectores van a extraer—, compilar con LuaLaTeX o XeLaTeX más unicode-math y una fuente matemática OpenType convierte \cong en el carácter genuino U+2245 y \doteq en U+2250.
\leq frente a \leqslant: qué forma de ≤ usar
Significan exactamente lo mismo; la diferencia es de estilo editorial, y \leqslant cuesta un paquete. \leq (≤) y \geq (≥) son LaTeX estándar, y los alias cortos \le y \ge apuntan al mismísimo carácter. \leqslant (⩽) y \geqslant (⩾) provienen de amssymb y trazan el rasgo inferior inclinado, paralelo al ángulo que tiene encima. Unicode trata las dos formas como puntos de código distintos —U+2264 «less-than or equal to» y U+2A7D «less-than or slanted equal to»— y no como un carácter en dos fuentes, lo que indica que la preferencia es una convención real y no un capricho. Decida, pues, una sola vez para todo el documento. En una misma página, ≤ mezclado con ⩽ se lee sin más como una errata.
Para «mucho menor que» y «mucho mayor que» están \ll (≪) y \gg (≫), también LaTeX estándar. Cada uno es un símbolo único y no dos < juntos, así que no los fabrique a mano. < y > se escriben directamente, pero solo dentro del modo matemático. Escriba A<B>C en el texto corriente con la codificación de fuente OT1 por defecto y saldrá A¡B¿C, porque OT1 aloja en esas dos posiciones una exclamación y una interrogación invertidas. Cuando el orden que quiere expresar no es magnitud numérica —un orden parcial, una precedencia, un refinamiento— la familia prec/succ es la elección convencional: \prec (≺), \succ (≻) y las formas con igualdad \preceq (⪯), \succeq (⪰), todas estándar. Y si ya se ha decidido por las desigualdades inclinadas, no reescriba una por una: un \let\leq\leqslant en el preámbulo convierte el documento entero y deja el fuente legible.
| Comando | Glifo | Significado/uso |
|---|---|---|
< | < | menor que; se escribe directamente en modo matemático |
> | > | mayor que; en modo texto sale ¿ |
\leq | ≤ | menor o igual; \le es el mismo — LaTeX estándar |
\geq | ≥ | mayor o igual; \ge es el mismo — LaTeX estándar |
\ll | ≪ | mucho menor que; un solo símbolo |
\gg | ≫ | mucho mayor que; un solo símbolo |
\leqslant | ⩽ | variante inclinada de ≤ — requiere amssymb |
\geqslant | ⩾ | variante inclinada de ≥ — requiere amssymb |
\prec | ≺ | precede; para un orden que no es magnitud |
\preceq | ⪯ | precede o iguala; \succ ≻ y \succeq ⪰ son sus espejos |
\usepackage{amssymb} % \leqslant, \geqslant, \nleq, \nmid ...
% decide the shape once, in the preamble
\let\leq\leqslant
\let\geq\geqslant
\[ 0 \leq x \leq 1, \qquad n \ll N, \qquad a \prec b \preceq c \]Cómo negar una relación: \neq, \not y amssymb
Use la orden dedicada cuando exista —\neq, \notin y la familia de amssymb \nleq, \nmid, \nsubseteq— y recurra a \not solo cuando no la haya. Aquí llega la sorpresa: en LaTeX estándar \neq no es un glifo aparte. fontmath.ltx contiene la línea \DeclareRobustCommand\neq{\not=}, y \ne está definido igual, de modo que \not= y \neq producen una salida idéntica byte a byte. El consejo habitual de «preferir \neq a \not=» habla, pues, del fuente y no del PDF: \neq declara la intención, aparece en una búsqueda y es lo que un coautor espera encontrar. Además viaja mejor hacia unicode-math, donde \ne pasa a ser el carácter real U+2260 en lugar de una superposición.
Donde \not falla de verdad es sobre símbolos para los que nunca se ajustó. Es un único carácter —la casilla "36 de la fuente de símbolos— superpuesto a lo que sigue con tamaño, inclinación y posición fijos, calibrados para signos de una anchura parecida a la de =. Sobre una relación ancha, el trazo se queda corto; sobre una alta o inusual, atraviesa la parte equivocada. Compare \not\leq con \nleq (≰), o \not\subseteq con \nsubseteq (⊈): los glifos de AMS dibujados a propósito ganan siempre. Aun así, \not sigue siendo útil para combinaciones que nadie dibujó: no existe \nequiv, de modo que x \not\equiv y \pmod p es la manera estándar de escribir una no congruencia. Y observe que \notin (∉) parece un símbolo de AMS pero no necesita paquete alguno.
| Comando | Glifo | Significado / paquete necesario |
|---|---|---|
\neq | ≠ | distinto; LaTeX estándar (se expande a \not=) |
\notin | ∉ | no pertenece; LaTeX estándar (\in con barra sobreimpresa) |
\nleq | ≰ | no menor o igual; amssymb |
\ngeq | ≱ | no mayor o igual; amssymb |
\nsim | ≁ | no semejante; amssymb |
\ncong | ≇ | no congruente / no isomorfo; amssymb |
\nsubseteq | ⊈ | no es subconjunto; amssymb |
\nparallel | ∦ | no paralelo; amssymb |
\nmid | ∤ | no divide; amssymb |
\nprec | ⊀ | no precede; amssymb |
Componer := correctamente y definir una relación propia
Para «igual por definición», cargue mathtools y escriba \coloneqq (≔) en lugar de teclear :=. El problema de la versión tecleada no es el espaciado: LaTeX declara : como relación y TeX no pone nada entre dos relaciones contiguas, así que := sale bien ajustado. El problema es la altura. El carácter : procede de la fuente de texto, donde sus puntos quedan bajos, mientras que = cabalga sobre el eje matemático, de modo que los dos puntos parecen haberse escurrido. mathtools ofrece \coloneqq con los dos puntos elevados, su espejo \eqqcolon para =: y una opción centercolon que eleva todos los dos puntos del documento. \coloneqq viene de mathtools, no de amssymb: cuando ! Undefined control sequence nombra a \coloneqq, esa confusión suele ser la causa.
Para poner algo encima de una relación, el clásico es \stackrel{\mathrm{def}}{=}. latex.ltx lo define como \mathrel{\mathop{#2}\limits^{#1}}, así que, se apile lo que se apile, el resultado es una relación. El \overset de amsmath hace el mismo trabajo pero conserva la clase del símbolo base en lugar de imponer una relación, que es lo deseable cuando la base es un operador binario; \underset se ocupa del otro lado. Y para cualquier símbolo que se use más de dos veces, defínalo una vez y deje que la clase viaje con él: \newcommand{\divides}{\mathrel{|}} da un signo de divisibilidad siempre bien espaciado y, si más adelante cambia el glifo, todas las apariciones lo siguen. Esta página entera cabe en una frase: no remiende nunca el espaciado con \, o \; en el punto de uso; declare la clase y deje que TeX haga las cuentas.
\usepackage{mathtools} % \coloneqq and \eqqcolon (loads amsmath too)
\newcommand{\divides}{\mathrel{|}}
\[ f(x) \coloneqq x^2 + 1, \qquad y \eqqcolon g(t) \]
% \stackrel always yields a relation; \overset keeps the base class
\[ a \stackrel{\mathrm{def}}{=} b, \qquad a \overset{\mathrm{def}}{=} b \]
\[ 2 \divides 10, \qquad x \not\equiv y \pmod{p} \]