Funciones por partes en LaTeX: cases, condiciones y numeración

BlogEasyLaTeXPublicado

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.

LaTeX
\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.
  • cases proporciona la llave izquierda; no añadas otra con \left\{. Debe estar en modo matemático, por ejemplo dentro de \[...\] o equation. 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:

LaTeX
\[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:

LaTeX
\[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:

LaTeX
\[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 $...$:

LaTeX
\[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

NecesidadConstrucciónPaquete y anidamiento
Sin númerocases dentro de \[...\]amsmath
Un número para toda la definicióncases dentro de equationReferencias con \label y \eqref
Un número por ramanumcasesPaquete cases; ya es un entorno de fórmula independiente
Sufijos de letras en un gruposubnumcasesPaquete 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:

LaTeX
\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íntomaQué revisarCorrección
Errores de modo matemático o alineaciónEntorno exterior y amsmathRecupera el paquete y el entorno del ejemplo completo
Environment dcases undefinedSolo se ha cargado amsmathCarga mathtools
Valores y condiciones pegadosFalta &Separa las dos columnas con un & por fila
Las ramas aparecen en una filaFalta \\Añade dos barras inversas entre ramas
Extra alignment tab u otro error similarSobran caracteres &Mantén dos columnas en cases
if u otherwise en cursiva, sin espaciosPalabras introducidas como matemáticasUsa \text{...} en cases
Dos llaves izquierdasUn \left\{ añadidoConserva la llave que genera cases
Referencias con ??Etiquetas, entorno numerado y compilacionesRevisa \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:

Shell
pdflatex -interaction=nonstopmode -halt-on-error main.texpdflatex -interaction=nonstopmode -halt-on-error main.tex

Busca 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