XeTeX/LyX: Utilizar la misma fuente (OpenType) en texto y fórmulas

El paquete Unicode-math, del cual hablé hace ya un tiempo, tiene una seria limitación: el número de fuentes «matemáticas» disponibles es más bien pequeño.

Hoy propongo una opción que nos permitirá utilizar cualquier fuente del sistema para escribir nuestras fórmulas: el paquete mathspec.

mathspec

Como puede verse en la captura de pantalla, los símbolos (la integral, el ±, los paréntesis) provienen de las fuentes estándar LaTeX, pero tanto las variables como el nombre de las funciones y las letras griegas provienen de otra tipografía.

Utilizar mathspec en LyX tiene sus vueltas, pero conociendo el secreto no es un verdadero problema. Veamos como aprovecharnos de esta gran herramienta.

Primero que nada, es importante notar que mathspec llama al paquete fontspec que es el que nos permite configurar las fuentes en XeTeX, por lo tanto, si activamos la opción que ofrece LyX de «utilizar fuentes no TeX» (opción que se dedica a configurar el paquete fontspec) junto con mathspec pues tendremos una larga serie de errores al tratar de compilar el documento ya que estaríamos llamando a fontspec dos veces. ¿Solución? Olvidarnos de las opciones que LyX nos ofrece para configurar las fuentes tipográficas y hacer todo «a mano» en el preámbulo.

mathspec1

Al menú Documento → Configuración → Tipografías lo miramos rápidamente y solo para confirmar que todo está en «Predeterminado» y «Automático» y que nada ha sido marcado

En Documento → Configuración → Tipografías dejamos SIN marcar la opción Usar tipografías no TeX (via XeTeX/LuaTeX), asegurándonos que todas las opciones estén en Predeterminado/Automático. Luego, en Salidas → Formato de salida elegimos de utilizar PDF (XeTeX) (con LuaTeX también debería funcionar).

mathspec2

Ahora, el Preámbulo LaTeX.

Allí escribimos algo como lo siguiente:

\usepackage{mathspec}
\setmathfont(Digits,Latin)[]{Sukhumala}
\setmathfont(Greek)[Uppercase=Plain,Lowercase=Regular]{Sukhumala}

\setmainfont[Mapping=tex-text,Ligatures=NoContextual]{Sukhumala}
\setsansfont[Mapping=tex-text]{Libertine Sans}
\setmonofont{Libertine Mono}

La primer línea dice de utilizar el paquete mathspec. La segunda y tercer líneas configuran la fuente a utilizar en las expresiones matemáticas: en la segunda línea simplemente decimos de utilizar Sukhumala para los números y el texto (variables, nombres de funciones, constantes, etcétera) mientras que en la tercera no solo decimos de dónde tomar los caracteres griegos, también pasamos algunas «opciones» como hacer que las letras griegas en minúscula no se muestren en bastardilla (la opción Lowercase=Regular).

Las últimas tres líneas solo definen la fuente principal, la fuente «sans» y la monoespaciada, tal y como alguna vez comentamos que podía hacerse.

Ciertamente, el lector es libre de elegir sus tipografías preferidas para cada opción😉


En Linux y con TeXLive, la documentación de mathspec se instala en

/usr/share/texmf/doc/xelatex/mathspec/mathspec.pdf

Fuente de inspiración para este artículo: Using old style numerals in XeLaTeX in math mode

,

A %d blogueros les gusta esto: