Fuentes matemáticas

Cambiaste el texto del cuerpo a Times o Palatino, pero las ecuaciones siguen en Computer Modern y el contraste se nota. Evitar ese choque es el tema de esta página. En LaTeX, la fuente de texto y la matemática se eligen por separado, así que debes escoger deliberadamente una fuente matemática para todo el documento y armonizarla con el texto. Cubrimos tanto los paquetes heredados de la era pdfLaTeX (mathptmx, mathpazo, newtxmath) como la forma moderna en XeLaTeX y LuaLaTeX, unicode-math con \setmathfont, cada una con un ejemplo funcional. Los comandos de alfabeto matemático por símbolo, como \mathbb y \mathcal, pertenecen a otra página (Math fonts, en el área de matemáticas) y no se repiten aquí.

Texto y matemáticas se eligen por separado

Empecemos por el principio. En LaTeX, la fuente del texto del cuerpo y la del modo matemático se gestionan como dos sistemas independientes. Sustituir la fuente de texto no arrastra automáticamente las matemáticas, así que aparece el desajuste: “puse el cuerpo en Times con \usepackage{...}, pero la x y el \sum de mis ecuaciones siguen con la cara antigua”. Una buena composición exige alinear ambas de forma intencional, para que variables y símbolos de una fórmula tengan el mismo peso y la misma sensación que la prosa que los rodea.

La fuente matemática por defecto es Computer Modern math, la tipografía que Knuth diseñó junto con TeX. Con pdfLaTeX y sin elegir fuentes, texto y matemáticas se componen en Computer Modern, y como fueron diseñados como un conjunto armonizan naturalmente. Al cargar el paquete lmodern, el texto pasa a Latin Modern (su descendiente de contornos más suaves) y las matemáticas a la Latin Modern Math correspondiente (esta se usa sobre todo mediante unicode-math). En otras palabras, no hacer nada ya da un punto de partida con texto y matemáticas emparejados.

A partir de aquí, en cuanto quieras otra cara de texto, las opciones se bifurcan. En pdfLaTeX, la ruta heredada carga un paquete dedicado por cada fuente matemática; en XeLaTeX y LuaLaTeX, la ruta moderna nombra una sola fuente matemática OpenType mediante unicode-math. Las secciones siguientes tratan cada una.

La vía heredada (pdfLaTeX / Type1)

En pdfLaTeX se cambia la fuente matemática de todo el documento con un paquete de fuente matemática. La mayoría están hechos para emparejarse con una fuente de texto, así que al cargarlos junto con el paquete del lado del texto, cuerpo y matemáticas quedan en la misma familia. La tabla siguiente reúne los habituales.

PaqueteTexto / cara a juegoNotas
mathptmxTimesMatemáticas estilo Times (de Times, Symbol y CM); fácil pero algo antiguo
mathpazoPalatinoMatemáticas Palatino con alfabetos Pazo Math
newtxmathTimes (con newtxtext)Matemáticas modernas estilo Times; opciones como [libertine]/[utopia] combinan con otros textos
newpxmathPalatino (con newpxtext)Matemáticas estilo Palatino (requiere TeX Gyre Pagella)
fourierUtopiaConfigura juntos texto Utopia y matemáticas Fourier
kpfontsSu propio conjunto texto y matemáticasPaquete completo que proporciona texto y matemáticas
mathdesignGaramond / Charter / UtopiaMatemáticas a juego con la cara elegida (garamond/charter/utopia)
eulervm(cualquier cara de texto)Alfabeto matemático Euler; combina con textos sin matemáticas propias

El patrón típico es cargar juntos el paquete del lado del texto y el del lado matemático. mathpazo, por ejemplo, configura de una vez texto Palatino y matemáticas Pazo. La recomendación más fácil hoy es la familia newtx: escribir \usepackage{newtxtext,newtxmath} da texto estilo Times y matemáticas modernas a juego estilo Times. newtxmath tiene muchas opciones: añade [libertine] para matemáticas que combinen con texto Libertine (libertinus), o [utopia] (con las fuentes Erewhon) para una cara de texto Utopia.

document.tex
% --- Palatino 本文+数式 / Palatino text & math ---
\usepackage{mathpazo}            % Palatino + Pazo math

% --- Times 本文+数式(おすすめ) / Times text & math (recommended) ---
\usepackage{newtxtext}           % 本文 / text
\usepackage{newtxmath}           % 数式 / math

% --- Libertine 本文に数式を合わせる / match math to Libertine text ---
% \usepackage{libertine}
% \usepackage[libertine]{newtxmath}

Lo que hay que vigilar: especificar texto y matemáticas con paquetes separados facilita elegir una combinación que choque. Mezclar piezas no emparejadas, como newtxtext con newpxmath (texto Times, matemáticas Palatino), fabrica justo el desajuste que esta página intenta evitar. El orden de carga también importa: pon el paquete de fuente matemática después del paquete de texto. La regla es simple: elige texto y matemáticas como una pareja.

La vía moderna: unicode-math (XeLaTeX y LuaLaTeX)

En XeLaTeX o LuaLaTeX puedes apartar la sopa de paquetes heredada. El paquete unicode-math compone todas las matemáticas con una sola fuente matemática OpenType, nombrada con \setmathfont{…}. Cambia el cuerpo a una fuente de texto OpenType con fontspec, cambia las matemáticas a la fuente matemática OpenType correspondiente con \setmathfont, y esas dos líneas alinean texto y matemáticas. unicode-math carga fontspec por ti y requiere el motor XeTeX o LuaTeX (no funciona en pdfLaTeX). También se apoya en amsmath, así que carga amsmath primero.

Entre las fuentes matemáticas OpenType utilizables hay una buena selección libre: Latin Modern Math (línea Computer Modern), STIX Two Math (amplia cobertura de símbolos científicos), la familia TeX Gyre: Termes (estilo Times), Pagella (estilo Palatino), Bonum y Schola, cada una con variante Math, Libertinus Math (sucesora de Libertine / Linux Libertine), además de XITS (derivada de STIX), Asana Math y Fira Math. Si no nombras ninguna fuente matemática antes de \begin{document}, se carga Latin Modern Math por defecto.

Fuente matemática OpenTypeLinaje / carácterTexto a juego
Latin Modern MathLínea Computer Modern; por defectoLatin Modern
TeX Gyre Termes MathEstilo TimesTeX Gyre Termes / Times
TeX Gyre Pagella MathEstilo PalatinoTeX Gyre Pagella / Palatino
STIX Two MathEstilo Times, conjunto de símbolos muy amplioSTIX Two Text / Times
Libertinus MathSucesora de LibertineLibertinus Serif
XITS / Asana / Fira MathBasada en STIX / propia / estilo sanssegún convenga

Aquí tienes un ejemplo mínimo. Carga amsmath, luego unicode-math, y nombra la fuente matemática con \setmathfont. No hace falta ningún paquete por fuente como mathptmx o mathpazo: esta línea se hace cargo de todas las matemáticas. Para combinar también el cuerpo, define la fuente de texto correspondiente con \setmainfont de fontspec (puedes omitir cargar fontspec porque unicode-math lo trae consigo).

document.tex
% コンパイルは xelatex または lualatex / compile with xelatex or lualatex
\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Termes}       % 本文(fontspec)/ text
\setmathfont{TeX Gyre Termes Math} % 数式(対の OpenType フォント)/ matching math
\begin{document}
\[
  f(x) = \int_{-\infty}^{\infty} \hat f(\xi)\, e^{2\pi i x \xi}\, d\xi.
\]
\end{document}

En este ejemplo, el cuerpo es TeX Gyre Termes (estilo Times) y las matemáticas su TeX Gyre Termes Math correspondiente, así que integrales, subíndices y variables comparten la sensación del texto. Cuando una sola fuente matemática no basta, la opción range= de \setmathfont permite tomar parte del alfabeto matemático de otra fuente (véase la página Math fonts). En conjunto, si usas un motor Unicode, unicode-math con \setmathfont es el estándar actual, mucho más sencillo de configurar que los paquetes heredados.

Qué elegir: emparejar texto y matemáticas

Al final, el consejo clave es uno: elige la fuente de texto y la matemática como pareja. En pdfLaTeX, usa combinaciones diseñadas para ir juntas: newtxtext + newtxmath (Times) o mathpazo (Palatino). En XeLaTeX o LuaLaTeX, empareja las familias con \setmainfont{...} y \setmathfont{...}: texto Libertinus con Libertinus Math, texto TeX Gyre Pagella con su Math, etc.

  • No hacer nada: Computer Modern (pdfLaTeX) o Latin Modern Math (valor por defecto de unicode-math); texto y matemáticas ya coinciden.
  • Cambiar el texto en pdfLaTeX: usa un paquete emparejado: Times con newtxtext+newtxmath, Palatino con mathpazo/newpxmath, Utopia con fourier o mathdesign.
  • En XeLaTeX/LuaLaTeX: carga amsmath y luego unicode-math, y nombra texto y matemáticas OpenType a juego con \setmainfont y \setmathfont.
  • Qué no hacer: mezclar texto y matemáticas no emparejados, por ejemplo texto Times con matemáticas Palatino.

Ten en cuenta que los comandos que ponen solo ciertas letras dentro de una fórmula en otra cara, como \mathbb, \mathcal, \mathfrak, son un tema distinto de elegir la fuente matemática global del documento; están en la página “Math fonts” del área de matemáticas. Para las caras de texto, consulta “Western font families”; para nombrar fuentes de texto en un motor Unicode, “fontspec”; y para la maquinaria subyacente (NFSS), “Font system”.