Funciones por partes en LaTeX: cases, condiciones y numeración
Para escribir una función definida por partes en LaTeX, carga amsmath y utiliza cases dentro del modo matemático. Escribe el valor, separa la condición con & y empieza la siguiente rama con \\. Si encierras la definición en equation, tendrá un único número de ecuación.
Un ejemplo completo para empezar
Guarda este contenido como main.tex y compílalo con pdfLaTeX. Este documento article solo necesita amsmath. No hace falta añadir el paquete independiente llamado cases.
\documentclass[a4paper,11pt]{article}\usepackage{amsmath}\begin{document}\begin{equation}\label{eq:absolute} |x| = \begin{cases} x, & \text{if } x \ge 0, \\ -x, & \text{if } x < 0. \end{cases}\end{equation}See equation~\eqref{eq:absolute}.\end{document}El PDF debe mostrar una llave izquierda, dos filas de valores y condiciones y un número para toda la definición. Cuando se resuelvan las referencias, el número del texto debe coincidir. El cero pertenece a la primera rama y los números negativos a la segunda: cada entrada real está cubierta una sola vez.
Diagrama de la definición: la columna izquierda contiene el valor y la derecha su condición. El punto frontera 0 pertenece a la primera fila.
Alinear condiciones y separar ramas
&separa dos columnas alineadas a la izquierda. Los espacios de sangría del código no alinean las columnas del PDF.\\inicia otra rama. Normalmente se omite al final de la última fila. Un salto de línea en el archivo fuente no crea una fila en la fórmula.\text{if }compone la palabra como texto normal. Conserva el espacio dentro de las llaves para separarla de la condición matemática. Usa\text{otherwise}para los demás casos.casesproporciona la llave izquierda; no añadas otra con\left\{. Debe estar en modo matemático, por ejemplo dentro de\[...\]oequation. Una definición de varias filas suele leerse mejor como fórmula independiente.
En esta función escalón, con dominio real, otherwise incluye x <= 0, también el cero:
\[s(x)=\begin{cases} 1, & \text{if } x > 0, \\ 0, & \text{otherwise}.\end{cases}\]Mantén los símbolos matemáticos en modo matemático. Escribir if como fórmula produce variables en cursiva y elimina los espacios habituales. Escribir toda la condición como texto tampoco conserva la composición matemática. La variante dcases* utiliza otra regla para la columna derecha.
Ejemplo para un artículo: pérdida de Huber y fronteras
Sea r un residuo real y sea δ > 0 el umbral. La pérdida de Huber utiliza un término cuadrático para residuos pequeños y uno lineal en el valor absoluto del residuo para los mayores:
\[L_{\delta}(r) =\begin{cases} \frac{1}{2}r^2, & \text{if } |r| \le \delta, \\ \delta\left(|r|-\frac{1}{2}\delta\right), & \text{if } |r| > \delta.\end{cases}\]La primera rama incluye |r| = δ; la segunda solo se aplica a |r| > δ. En la frontera, ambas expresiones valen δ²/2, aunque las condiciones asignan ese punto únicamente a la primera rama. Para δ = 1, los residuos r = 0, 1 y 2 producen pérdidas de 0, 0.5 y 1.5.
Al adaptar el ejemplo, anota el dominio y revisa cada frontera. Dos desigualdades estrictas pueden dejar un punto sin cubrir; dos condiciones inclusivas pueden solaparse. Compilar sin errores no valida esas condiciones matemáticas.
Fracciones pequeñas: cuándo usar dcases
El entorno cases habitual usa \textstyle: las fracciones \frac siguen siendo pequeñas aunque la fórmula exterior sea independiente. Para mostrar fracciones, sumas o integrales más grandes, sustituye \usepackage{amsmath} por \usepackage{mathtools} en el preámbulo y utiliza dcases. mathtools carga amsmath automáticamente.
Inserta este fragmento en el cuerpo de un documento con mathtools para comparar la misma función:
\[g(x)=\begin{cases} \frac{1}{1+x^2}, & x \ge 0, \\ 0, & x < 0.\end{cases}\qquadg(x)=\begin{dcases} \frac{1}{1+x^2}, & x \ge 0, \\ 0, & x < 0.\end{dcases}\]
Diagrama comparativo de estilos: la definición y las condiciones no cambian. dcases usa estilo de visualización, con una fracción más alta y mayor separación entre filas. Comprueba el resultado en tu plantilla.
Si solo necesitas ampliar una fracción, cambia \frac por \dfrac dentro de cases. Esto modifica esa fracción, mientras que dcases aplica estilo de visualización a las expresiones de las ramas. Revisa el espaciado y el ancho disponible, sobre todo en columnas estrechas.
La columna derecha de dcases* es texto
En dcases, la columna de condiciones sigue siendo matemática y las palabras necesitan \text{...}. En dcases*, esa columna es texto normal y las condiciones matemáticas van entre $...$:
\[g(x)=\begin{dcases*} \frac{1}{1+x^2}, & if $x \ge 0$, \\ 0, & otherwise.\end{dcases*}\]Ambas variantes pertenecen a mathtools. Si cambias el nombre del entorno, cambia también la sintaxis de las condiciones.
Numerar la definición o cada rama
| Necesidad | Construcción | Paquete y anidamiento |
|---|---|---|
| Sin número | cases dentro de \[...\] | amsmath |
| Un número para toda la definición | cases dentro de equation | Referencias con \label y \eqref |
| Un número por rama | numcases | Paquete cases; ya es un entorno de fórmula independiente |
| Sufijos de letras en un grupo | subnumcases | Paquete cases, por ejemplo (1a) y (1b) |
Una definición de función suele necesitar un solo número. Si el texto debe citar ramas individuales, carga \usepackage{amsmath} y \usepackage{cases} en el preámbulo e inserta:
\begin{numcases}{h(x)=} x, & if $x \ge 0$ \label{eq:positive} \\ -x, & if $x < 0$ \label{eq:negative}\end{numcases}See equations~\eqref{eq:positive} and~\eqref{eq:negative}.El argumento {h(x)=} aporta el contenido situado a la izquierda de la llave. La columna derecha es texto de forma predeterminada, por lo que las condiciones matemáticas necesitan $...$. No encierres numcases en equation ni en \[...\]. Cada \label se refiere al número de su fila. Para usar sufijos de letras, cambia a subnumcases y comprueba las referencias.
Consulta numeración y referencias de ecuaciones para ampliar estas reglas.
Resolver problemas según el síntoma
| Síntoma | Qué revisar | Corrección |
|---|---|---|
| Errores de modo matemático o alineación | Entorno exterior y amsmath | Recupera el paquete y el entorno del ejemplo completo |
Environment dcases undefined | Solo se ha cargado amsmath | Carga mathtools |
| Valores y condiciones pegados | Falta & | Separa las dos columnas con un & por fila |
| Las ramas aparecen en una fila | Falta \\ | Añade dos barras inversas entre ramas |
Extra alignment tab u otro error similar | Sobran caracteres & | Mantén dos columnas en cases |
if u otherwise en cursiva, sin espacios | Palabras introducidas como matemáticas | Usa \text{...} en cases |
| Dos llaves izquierdas | Un \left\{ añadido | Conserva la llave que genera cases |
Referencias con ?? | Etiquetas, entorno numerado y compilaciones | Revisa \label, compila de nuevo y lee el registro |
Un síntoma puede tener varias causas. Empieza por el primer error del registro y el código cercano, en vez de guiarte solo por el último mensaje.
Verificar en local o en EasyLaTeX
Con TeX Live o MiKTeX, ejecuta estos comandos en el directorio de main.tex:
pdflatex -interaction=nonstopmode -halt-on-error main.texpdflatex -interaction=nonstopmode -halt-on-error main.texBusca errores, referencias sin resolver y Overfull \hbox en main.log. Abre el nuevo main.pdf y revisa la llave, las condiciones, las fracciones y la numeración. Sustituir los tres residuos con δ = 1 también ayuda a detectar un coeficiente mal copiado en la pérdida de Huber.
En EasyLaTeX, coloca el ejemplo en el archivo principal del proyecto, confirma que esté seleccionado y elige pdfLaTeX para este article en inglés. Espera a que termine la compilación. Si hay problemas, consulta el panel Bug y Original Log. Puedes proporcionar a Agent el código y el registro pertinentes para localizar la causa; revisa sus cambios y vuelve a compilar. En un proyecto multilingüe o una plantilla editorial existente, conserva el compilador y los ajustes adecuados.
El documento mínimo completo y los otros cinco fragmentos se compilaron con pdfLaTeX en TeXLive.net y se revisaron sus registros y PDF. No se probaron en el compilador del producto ni en una plantilla de revista concreta. Al integrarlos en un manuscrito, comprueba la compatibilidad de paquetes y el PDF actual.
Más información: índices, fracciones, delimitadores y matrices, saltos de línea en ecuaciones y errores de compilación.
Referencias
- Guía de amsmath: entornos matemáticos,
cases,\texty estilo de texto. - Documentación oficial de mathtools:
dcasesy variantes con asterisco. - Documentación del paquete cases:
numcases,subnumcasesy columna de condiciones.