LaTeX no tiene un concepto de «paréntesis». Lo que tiene es una tabla de delimitadores. Un carácter entra en esa tabla solo si la fuente proporciona piezas para alargarlo verticalmente, y poner cualquier otra cosa tras \left hace que TeX responda al instante: ! Missing delimiter (. inserted). Dicho de otro modo, qué paréntesis se pueden usar lo decide la fuente, no el gusto. Esta página sirve para consultar qué hay en esa tabla: paréntesis, corchetes, llaves, los angulares \langle y \rangle, el | y el \lvert del valor absoluto, el suelo y el techo \lfloor y \lceil, y hasta los que uno busca sin encontrar: los corchetes dobles ⟦ ⟧ y las esquinas ⌜ ⌝. Elegir entre \left/\right y la familia \big para ajustar un paréntesis a su contenido es asunto de la página matemática dedicada.
! Missing delimiter (. inserted).: qué caracteres pueden ser paréntesis
El error indica que tras \left o \right ha aparecido algo que no es un delimitador. Compilando $\left\alpha x \right\alpha$ en TeX Live 2024, la línea sale dos veces. La razón está en las declaraciones del núcleo. Un delimitador se define como \DeclareMathDelimiter{comando}{clase}{fuente pequeña}{posición}{fuente grande}{posición}: nombra a la vez el glifo que se usa en tamaño normal y dónde viven las piezas ampliables. Esta es la línea real de fontmath.ltx: \DeclareMathDelimiter{\langle}{\mathopen}{symbols}{"68}{largesymbols}{"0A}. \alpha no tiene tal declaración, así que sencillamente no hay nada que estirar.
Esa estructura en dos partes explica el resto de la página. Un símbolo con forma pequeña utilizable pero sin forma grande —<, o \mid— no puede seguir a \left; a la inversa, un símbolo que solo tiene la forma grande, como el \lgroup de más abajo, no imprime nada escrito en matemáticas corrientes. La primera columna de cada tabla lleva además una segunda propiedad, más callada: la clase nombrada en la declaración. \langle es \mathopen, \rangle es \mathclose y | es \mathord, un símbolo ordinario. Esa diferencia fija el espacio alrededor. El delimitador nulo ., usado cuando no se quiere dibujar nada en un lado, pertenece a la misma tabla; la página relacionada detalla el uso de \left.
% a delimiter names a small glyph AND the growable pieces
% \DeclareMathDelimiter{\langle}{\mathopen}{symbols}{"68}{largesymbols}{"0A}
\[
\langle a, b \rangle
\qquad
\left\langle \frac{a}{b} \right\rangle
\]
% $\left\alpha x\right\alpha$ -> ! Missing delimiter (. inserted).Escribir (, [, \{ y \langle, y por qué nunca <
Los paréntesis ( ) y los corchetes [ ] se escriben directamente; las llaves no. { y } son en LaTeX caracteres reservados para agrupar argumentos, así que escritos a secas no aparecen en la página: hay que poner \{ y \}. Los angulares son aún más delicados: los < y > del teclado son signos de desigualdad (\mathrel), no paréntesis. Para productos internos y notación bra-ket se usan \langle (⟨) y \rangle (⟩). Las formas largas \lbrack, \rbrack, \lbrace y \rbrace son alias que producen los mismos caracteres que [ ] \{ \}, y resultan útiles dentro del argumento de una macro, donde un [ desnudo podría confundirse con un argumento opcional. Con mathtools cargado, \lparen y \rparen funcionan igual.
| Entrada | Glifo | Clase | Uso / notas |
|---|---|---|---|
( ) | ( ) | open / close | se escribe directamente; la pareja habitual |
[ ] | [ ] | open / close | \lbrack y \rbrack son alias |
\{ \} | { } | open / close | { está reservado; \lbrace y \rbrace equivalen |
\langle \rangle | ⟨ ⟩ | open / close | productos internos, bra-ket; < > son relaciones |
\lparen \rparen | ( ) | open / close | alias de mathtools; salida idéntica a ( ) |
. | (nada) | null | delimitador nulo; deja vacío un lado de \left/\right |
Los angulares en el texto corrido guardan una trampa más. Bajo OT1, la codificación por defecto de pdfLaTeX, las posiciones de < y > contienen ¡ y ¿. Escribe A <x> B en el cuerpo con TeX Live 2024 y la cadena que sale del PDF es A ¡x¿ B. Ese es todo el conocido fallo en el que aparece de la nada la puntuación invertida española. Hay dos arreglos: cargar \usepackage[T1]{fontenc}, que coloca < y > donde se espera, o decir lo que se quiere decir con \textless y \textgreater para los signos de desigualdad, o \textlangle y \textrangle para angulares de verdad 〈 〉. Estos últimos pertenecen a TS1, pero el núcleo los lleva desde 2020, así que no hace falta paquete adicional.
|, \vert, \mid, \Vert, \|, \lvert: seis maneras de trazar una raya
Se parecen, pero los seis se reparten en tres grupos. Primero, el glifo. En fontmath.ltx, |, \vert y el \arrowvert que se ve más abajo apuntan a la misma posición ("6A en cmsy), y medidos los tres dan 2,77779 pt de ancho. \|, \Vert y \Arrowvert comparten igualmente la posición "6B, con 5,00002 pt. Es decir, escribir \| o \Vert no cambia ni un carácter de la salida. Después, la clase. Todos ellos son \mathord, símbolos ordinarios: ni de apertura ni de cierre. Los \lvert/\rvert y \lVert/\rVert de amsmath toman los mismos glifos y les dan una clase de apertura y otra de cierre, que es justo lo que piden el valor absoluto y la norma.
El tercer grupo lo forma \mid en solitario. No se distingue por el glifo sino por la clase: está declarado \mathrel, una relación. En la notación por comprensión —«los x tales que…»— la raya no es un paréntesis sino una relación que significa «tal que», así que \mid es la elección correcta. La diferencia se mide: en TeX Live 2024, $\{x \mid x>0\}$ da 48,09702 pt mientras que $\{x | x>0\}$ y $\{x \vert x>0\}$ dan ambos 42,5416 pt. Los 5,55542 pt de diferencia son exactamente los 5 mu de espacio de relación a cada lado. Si un conjunto escrito con un | desnudo parece extrañamente apretado, es ese espacio el que falta.
| Entrada | Glifo | Clase | Uso / notas |
|---|---|---|---|
| \vert | | | ord | el mismo carácter; 2,77779 pt; ni abre ni cierra |
\| \Vert | ‖ | ord | el mismo carácter; 5,00002 pt; la doble raya de la norma |
\mid | | | rel | «tal que»; el correcto en notación por comprensión |
\lvert \rvert | | | | open / close | valor absoluto; requiere amsmath |
\lVert \rVert | ‖ ‖ | open / close | normas; requiere amsmath |
\arrowvert \Arrowvert | | ‖ | ord | idénticos a \vert/\Vert en tamaño normal; solo difieren las piezas ampliables |
\usepackage{amsmath} % \lvert \rvert \lVert \rVert
\[
\lvert x \rvert \;=\; \lvert -x \rvert,
\qquad
\lVert v \rVert \;=\; \sqrt{\langle v, v \rangle},
\qquad
\{\, x \mid x > 0 \,\}
\]Suelo y techo: \lfloor, \lceil y qué significan la l y la r
Redondear hacia abajo, ⌊x⌋, se escribe \lfloor y \rfloor; hacia arriba, ⌈x⌉, \lceil y \rceil. Los cuatro son de LaTeX estándar. La l y la r iniciales significan left (apertura) y right (cierre), regla que se cumple igual en \lbrack/\rbrack, \langle/\rangle y \lvert/\rvert. Recuerda que solo la parte inferior tiene esquinas en el suelo y solo la superior las tiene en el techo y tampoco confundirás los glifos. Ambos símbolos los introdujo Kenneth E. Iverson en su libro A Programming Language de 1962. Antes, [x] cargaba con el sentido de redondeo hacia abajo, pero no había símbolo correspondiente para el redondeo hacia arriba, y [x] se confundía con un corchete corriente. Partir la forma en una mitad superior y otra inferior fue justamente el invento.
\[
\lfloor x \rfloor \le x \le \lceil x \rceil,
\qquad
\left\lfloor \frac{n}{2} \right\rfloor
\qquad
\left\lceil \log_2 n \right\rceil
\]Las flechas y las barras también son delimitadores: \uparrow, /, \backslash
La tabla de delimitadores no contiene solo paréntesis. Las seis flechas verticales —\uparrow (↑), \downarrow (↓), \updownarrow (↕) y las de doble trazo \Uparrow (⇑), \Downarrow (⇓), \Updownarrow (⇕)— están declaradas con \DeclareMathDelimiter en fontmath.ltx, de modo que tras \left/\right crecen hasta la altura del contenido. Su clase, en cambio, es \mathrel: usadas de forma corriente dentro de una fórmula se comportan como flechas. Un mismo comando es flecha o paréntesis según dónde esté. Aparecen marcando un rango junto a una matriz, o haciendo de raya que indica un límite.
Las barras viven en la misma tabla. La barra / se escribe directamente; la invertida es \backslash (\), porque un \ a secas es el comando de salto de línea. Se usan para conjuntos cociente, G \backslash H, o en una pareja \left. … \right/ que da un separador que se estira en diagonal. El operador de diferencia de conjuntos \setminus se le parece pero es otro comando y de otra clase, \mathbin; lo trata la página de símbolos de conjuntos y lógica.
| Entrada | Glifo | Clase | Uso / notas |
|---|---|---|---|
\uparrow \downarrow | ↑ ↓ | rel | trazo simple; bidireccional: \updownarrow |
\Uparrow \Downarrow | ⇑ ⇓ | rel | doble trazo; bidireccional: \Updownarrow |
/ | / | ord | se escribe directamente; crece como separador diagonal |
\backslash | \ | ord | conjuntos cociente; un \ a secas es el salto de línea |
$\lgroup$ no imprime nada: los delimitadores que solo existen en tamaño grande
Cinco comandos —\lgroup, \rgroup, \lmoustache, \rmoustache y \bracevert— no tienen ningún glifo en tamaño normal. En la declaración que vimos al principio, su posición «pequeña» no apunta a un carácter de una fuente corriente sino a una pieza para ensamblar un símbolo grande. Comprobado en TeX Live 2024, el síntoma es llamativo: $\lgroup x \rgroup$ ocupa 23,49307 pt (frente a 13,49307 pt de $( x )$), pero pdftotext extrae un solo carácter, x. Los dos paréntesis caen en la zona de uso privado de Unicode (U+F8F3 y U+F8FE) y tampoco parecen paréntesis en la página. $\lmoustache x \rmoustache$ es aún peor: la extracción da zx{, porque los números de posición de las dos piezas se leen directamente como z y {.
La conclusión es simple: usar siempre estos cinco en una pareja \left/\right o con \bigl/\Bigl … \lgroup y \rgroup son paréntesis más gruesos con esquinas más marcadas, y lucen bien en una fórmula grande fuera de línea. \lmoustache y \rmoustache son la mitad superior e inferior de una llave grande, útiles para tareas concretas como separar las filas de una distinción de casos. \bracevert, \arrowvert y \Arrowvert son, literalmente, las piezas rectas con las que se prolongan verticalmente llaves y flechas. Por lo mismo, tampoco conviene escribir esos tres en línea.
% these have no text-size glyph — always pair them with \left/\right or \big
\[
\left\lgroup \frac{a}{b} \right\rgroup
\qquad
\left\lmoustache \frac{a}{b} \right\rmoustache
\]
% $\lgroup x \rgroup$ alone prints no brackets at all⟦ ⟧ y ⌜ ⌝: en qué paquete están los corchetes que faltan en el estándar
Los corchetes dobles de la semántica denotacional, ⟦M⟧, son \llbracket y \rrbracket de stmaryrd; las esquinas ⌜ ⌝ de la teoría de la demostración y de la cita a la Quine son \ulcorner y \urcorner de amssymb (el par inferior es \llcorner y \lrcorner). Ninguno está en LaTeX estándar, así que escribirlos sin el paquete da ! Undefined control sequence. En XeLaTeX o LuaLaTeX con unicode-math, los corchetes dobles se llaman \lBrack y \rBrack (U+27E6 y U+27E7).
Aquí hay una trampa que no se ve sin mirar el paquete: incluso dentro de un mismo paquete, algunos símbolos están declarados como delimitadores y otros no. En stmaryrd.sty, \llbracket y \rrbracket son \DeclareMathDelimiter, mientras que \llparenthesis / \rrparenthesis (⦇ ⦈) y \Lbag / \Rbag (⟅ ⟆) son \DeclareMathSymbol: símbolos de tamaño fijo. Compilando $\left\llparenthesis \frac{a}{b} \right\rrparenthesis$ en TeX Live 2024 vuelve, como cabía esperar, ! Missing delimiter (. inserted). Recordar que \llbracket se estira y \llparenthesis no ahorra una sorpresa.
| Comando | Glifo | Paquete | ¿Se estira? / notas |
|---|---|---|---|
\llbracket \rrbracket | ⟦ ⟧ | stmaryrd | se estira; el ⟦M⟧ de la semántica denotacional |
\ulcorner \urcorner | ⌜ ⌝ | amssymb | tamaño fijo; cita de Quine, numeración de Gödel |
\llcorner \lrcorner | ⌞ ⌟ | amssymb | tamaño fijo; las esquinas inferiores |
\llparenthesis \rrparenthesis | ⦇ ⦈ | stmaryrd | no se estira; tras \left da error |
\Lbag \Rbag | ⟅ ⟆ | stmaryrd | no se estira; corchetes de multiconjuntos |
\lBrack \rBrack | ⟦ ⟧ | unicode-math | el nombre de los corchetes dobles en XeLaTeX/LuaLaTeX |
Una última observación sobre lo que sobrevive dentro del PDF. Extrae texto de un PDF que contenga \langle y obtendrás U+27E8, MATHEMATICAL LEFT ANGLE BRACKET: al copiarlo se pega como angular. En cambio, los ⟦ ⟧ de stmaryrd exponen los números de posición crudos de su propia fuente: en TeX Live 2024, pdftotext los extrae como J y K. Esa diferencia importa cuando los revisores copian fórmulas del PDF para discutirlas, así que un artículo que abuse de los corchetes dobles merece pasarse a un motor Unicode con unicode-math.
\usepackage{amssymb} % \ulcorner \urcorner \llcorner \lrcorner
\usepackage{stmaryrd} % \llbracket \rrbracket \Lbag \Rbag
% ...
\[
\llbracket M \rrbracket_\rho
\qquad
\left\llbracket \frac{a}{b} \right\rrbracket
\qquad
\ulcorner \varphi \urcorner
\]