Las letras en modo matemático son itálicas matemáticas por defecto, pero muchas áreas requieren un alfabeto matemático específico: la ℝ de pizarra en teoría de conjuntos, las letras script usadas para funtores, la Fraktur ornamentada de las álgebras de Lie. Esta página ordena comandos de alfabetos matemáticos como \mathbf y \mathbb, el paquete que necesita cada uno y la diferencia entre \boldsymbol y \bm para poner en negrita vectores y símbolos. Cierra con unicode-math, la forma moderna de usar fuentes matemáticas OpenType en XeLaTeX y LuaLaTeX.
Qué es un alfabeto matemático
Una letra en modo matemático se interpreta como una variable y se compone en itálica matemática: ese es el alfabeto matemático por defecto. Al envolverla en un comando como \mathbf{v}, solo ese tramo cambia a otra tipografía. LaTeX ofrece estos cambios con nombres \math…, en paralelo a los comandos de texto \textbf, \textsf, etc.
Un punto importante: un comando de alfabeto matemático recompone su argumento como una secuencia de símbolos matemáticos individuales, no como texto. Así, \mathbf{fit} es el producto de tres símbolos en negrita f, i, t, no la palabra “fit”. Si quieres insertar una palabra real en vertical dentro de una fórmula, usa \text{…} (de amsmath).
Hay siete comandos básicos disponibles sin ningún paquete. La tabla siguiente cubre los incorporados en LaTeX (\mathnormal simplemente nombra de forma explícita la itálica matemática por defecto).
| Comando | Aspecto | Notas |
|---|---|---|
\mathnormal | Itálica matemática por defecto | Integrado; aspecto por defecto de una variable |
\mathrm | Romana vertical | Integrado; para constantes y abreviaturas verticales |
\mathbf | Negrita vertical | Integrado; al ser vertical, no conviene para variables (véase abajo) |
\mathsf | Sans serif | Integrado; para tensores, nombres de categorías, etc. |
\mathtt | Monoespaciada (máquina de escribir) | Integrado; p. ej. tokens con aspecto de código en matemáticas |
\mathit | Itálica de texto | Integrado; palabras de varias letras inclinadas (espaciado de texto) |
\mathcal | Caligráfica; solo mayúsculas | Integrado; familias de conjuntos, categorías, etc. |
Una nota sobre \mathit y \mathnormal, que se confunden con facilidad: \mathnormal (por defecto) compone cada letra como variable, con mayor separación entre variables; \mathit es la itálica de texto y sirve para una palabra de varias letras como una sola unidad inclinada, como \mathit{diff}.
Pizarra, caligráfica, Fraktur y script
Las cuatro siguientes son de las más usadas en matemáticas, pero, salvo la \mathcal integrada, cada una requiere cargar un paquete. Difieren en aspecto, uso típico y paquete necesario.
\mathbb (blackboard bold o pizarra) es una negrita característica con trazos duplicados: imita la forma de escribir negrita en una pizarra repasando el trazo. Necesita amssymb (o amsfonts) y cubre solo mayúsculas. Su uso está casi fijado: conjuntos numéricos, reales ℝ, complejos ℂ, enteros ℤ, racionales ℚ, naturales ℕ. \mathbb{R} produce una “R de pizarra” con el trazo vertical duplicado.
\mathcal (caligráfica) produce mayúsculas fluidas y ornamentadas; está integrada y solo cubre mayúsculas. Se usa para familias de conjuntos 𝒜, la transformada de Fourier ℱ, nombres de categorías y haces, etc. \mathcal{F} da una “F ornamentada”.
\mathscr (script) es una cara aún más fluida y manuscrita que \mathcal. La fuente habitual es el paquete mathrsfs (que carga Formal Script de Ralph Smith); el paquete euscript (Euler Script) ofrece también otro script. Es útil cuando necesitas dos alfabetos ornamentales distintos junto a \mathcal (y, en la práctica, para mayúsculas).
\mathfrak (Fraktur) es una cara angular y ornamentada procedente de la antigua tipografía alemana, usada para álgebras de Lie 𝔤 e ideales 𝔭, 𝔮. Necesita amssymb (o amsfonts, que carga internamente eufrak) y, a diferencia de \mathbb y \mathcal, cubre mayúsculas y minúsculas.
\usepackage{amssymb} % \mathbb と \mathfrak
\usepackage{mathrsfs} % \mathscr
% ...
\[
\mathbb{R} \subset \mathbb{C}, \qquad
\mathcal{F}(f) = \hat{f}, \qquad
\mathscr{L}(f) = F, \qquad
\mathfrak{g} = \operatorname{Lie}(G).
\]En este ejemplo, \mathbb{R} y \mathbb{C} salen en pizarra, \mathcal{F} en caligráfica, \mathscr{L} en un script más fluido y \mathfrak{g} como una minúscula Fraktur angular. La tabla siguiente resume el paquete y la cobertura de letras de cada una.
| Comando | Paquete necesario | Cobertura y uso típico |
|---|---|---|
\mathbb | amssymb (o amsfonts) | Solo mayúsculas; conjuntos ℝ ℂ ℤ ℚ ℕ |
\mathcal | Integrado (ninguno) | Solo mayúsculas; familias de conjuntos, categorías, transformadas |
\mathscr | mathrsfs (o euscript) | En la práctica mayúsculas; script más fluido |
\mathfrak | amssymb / amsfonts (eufrak) | Mayúsculas y minúsculas; álgebras de Lie, ideales |
Una limitación importante común: estos alfabetos ornamentales cubren solo un conjunto limitado de caracteres. \mathbb y \mathcal se centran básicamente en las mayúsculas A–Z; las cifras, las letras griegas y las minúsculas normalmente no están disponibles en las fuentes estándar. Un deseo como “un 2 de pizarra con \mathbb{2}” no se puede cumplir de forma estándar: requiere otro paquete de fuentes (como mathalpha/mathalfa, bbm o dsfont) o unicode-math, tratado más abajo.
Poner matemáticas en negrita
A menudo querrás matemáticas en negrita, por ejemplo vectores y matrices, pero hay una trampa. El \mathbf anterior es una negrita vertical, pensada para constantes o abreviaturas en negrita que deben ir verticales. Si compones un vector con \mathbf{v}, obtienes negrita, pero vertical, rompiendo la convención de que las variables van inclinadas. Además, \mathbf no afecta a símbolos ni a letras griegas (\mathbf{\alpha} no pone α en negrita).
La primera opción para poner en negrita conservando la inclinación es \boldsymbol. Lo proporciona amsmath (su amsbsy) y pone en negrita no solo variables, sino también letras griegas y símbolos, conservando la forma original (la inclinación, etc.). \boldsymbol{\beta} da una “β itálica en negrita”.
Y la forma robusta más recomendada hoy es \bm, del paquete bm. Como bm forma parte del conjunto obligatorio latex-tools, cualquier distribución TeX estándar lo incluye; no hay que instalar nada aparte. \bm{…} está diseñado para añadir solo peso, conservando la inclinación y todo lo demás de su argumento, y maneja variables, griego, símbolos e incluso entradas complejas casi de forma transparente. Su espaciado también es más cuidadoso que el de \boldsymbol; la descripción de CTAN dice que \bm es más cuidadoso en cómo hace las cosas. bm redefine \boldsymbol como alias de \bm y añade \hm (\heavysymbol) para un peso extra.
\usepackage{amsmath} % \boldsymbol
\usepackage{bm} % \bm(推奨)
% ...
\[
\mathbf{v} \neq \bm{v}, \qquad
\bm{\beta} = (\beta_1, \dots, \beta_n), \qquad
\nabla \bm{F} = \bm{0}.
\]Aquí \mathbf{v} es una v en negrita vertical, mientras que \bm{v} es una v en negrita que sigue siendo itálica, dejando clara la diferencia. \bm{\beta} es una β itálica en negrita y \bm{0} un cero en negrita (el vector cero). Como regla: usa \bm para variables, vectores y símbolos en negrita, y \mathbf para constantes o abreviaturas que deban ir verticales.
\mathbf— negrita vertical; integrado, pero malo para variables que deben inclinarse, y no afecta a símbolos ni a griego.\boldsymbol— de amsmath (amsbsy); mantiene la inclinación y puede poner en negrita griego y símbolos.\bm— del paquete bm; recomendado. Añade solo peso, conservando forma y espaciado; el más robusto y amplio.
unicode-math (XeLaTeX y LuaLaTeX)
Hasta aquí hemos añadido cada tipo de letra con un paquete dedicado: el enfoque tradicional. En los motores modernos XeLaTeX y LuaLaTeX, el paquete unicode-math permite componer todas las matemáticas con una sola fuente matemática OpenType. Cambias de tipografía matemática casi como cambias una fuente de texto, y esto reemplaza el enfoque heredado de añadir \mathbb y compañía por partes (no se pueden mezclar ambos enfoques en un mismo documento).
El núcleo es \setmathfont{…}. Carga amsmath, luego unicode-math (después de cualquier otro paquete relacionado con fuentes), y nombra una fuente matemática OpenType con \setmathfont. Entre las fuentes habituales están Latin Modern Math (de la línea Computer Modern), STIX Two Math y la familia TeX Gyre (Termes/Pagella/Bonum/Schola Math). Si no defines ninguna fuente matemática antes de \begin{document}, se carga Latin Modern Math por defecto.
% コンパイルは xelatex または lualatex
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont{STIX Two Math} % OpenType 数式フォント
% ...
\[
\symbb{R} \subset \symbb{C}, \qquad
\symcal{F}, \quad \symscr{L}, \quad \symfrak{g}, \qquad
\symbf{v} = \symbf{0}.
\]El manual recomienda los comandos \sym… en lugar de los heredados \math…. La correspondencia es directa: \symbf (negrita), \symbb (pizarra), \symcal (caligráfica), \symscr (script), \symfrak (Fraktur), \symup (vertical), \symit (itálica), \symsf (sans serif), etc. Como se mapean a los caracteres matemáticos alfanuméricos correspondientes de Unicode, copiar un glifo desde el PDF conserva su significado. Los nombres antiguos como \mathbb se mantienen por compatibilidad, pero en documentos nuevos se prefiere \sym….
Cuando una sola fuente matemática no cubre todos los caracteres, la opción range= de \setmathfont permite tomar solo una parte del alfabeto matemático de otra fuente. range= acepta un rango Unicode (una forma como "1D538-"1D56B"), un símbolo único como range=\int o un estilo de alfabeto como range=\symbb (o range=bb). Así puedes, por ejemplo, tomar de otra fuente solo las letras de pizarra, o solo el griego minúsculo y mayúsculo. Ten en cuenta que debes cargar una fuente matemática principal de la forma habitual antes de usar range=.
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math} % 主たる数式フォント
\setmathfont{STIX Two Math}[range=\symbb] % 黒板太字だけ別フォント
\setmathfont{TeX Gyre Termes Math}[range=bfit/{greek,Greek}] % 太字斜体のギリシャだけEn este ejemplo, el cuerpo de las matemáticas se compone con Latin Modern Math, mientras que las letras de pizarra (\symbb) vienen de STIX Two Math y solo el griego negrita-itálica de TeX Gyre Termes Math. Por eficiencia, unicode-math carga una fuente indicada con range= solo para los huecos que necesita. En conjunto, si usas XeLaTeX o LuaLaTeX, el enfoque estándar actual es unicode-math con \setmathfont, no añadir un paquete por cada tipo de letra.