Saltar al contenido

¿Cuál es la diferencia entre unicode-math y mathspec?

Solución:

(Tenga en cuenta que esta respuesta se ha revisado para reflejar los problemas planteados en los comentarios).

matemáticas unicode

los unicode-math y mathspec los paquetes tienen objetivos muy diferentes. los unicode-math El paquete está diseñado para mapear el marcado matemático en caracteres Unicode como lo proporcionan las fuentes matemáticas OpenType reales, como Latin Modern Math, STIX, Asana Math. También permite (tanto como tenga sentido / sea posible) Unicode aporte de matemática, así como la salida para que pueda ingresar caracteres matemáticos Unicode en la fuente y hacer que TeX los interprete correctamente como matemática.

Por ejemplo, podría crear el siguiente documento:

% !TEX TS-program = XeLaTeX

documentclass[12pt]{article}
usepackage{unicode-math}

begin{document}

This is some math text entered with math in the source:
[
∀X [ ∅ ∉ X ⇒ ∃f:X ⟶  ⋃ X ∀A ∈ X (f(A) ∈ A ) ]]

This is some math text entered with regular markup

[
forall X [emptyset notin X Rightarrow exists f:X rightarrow  bigcup X 
    forall A in X (f(A) in A ) ]]
end{document}

que produciría

salida de Unicode-Math

los unicode-math El paquete es compatible con XeTeX y LuaTeX.

mathspec

los mathspec El paquete no está diseñado para permitirle utilizar caracteres Unicode en su entrada matemática de origen. En cambio, está diseñado para permitirle usar fuentes de tipo abierto dentro de las matemáticas para que pueda, por ejemplo, hacer coincidir la fuente del texto de sus matemáticas con la fuente del texto en su documento.

Entonces, por ejemplo, puede usar:

% !TEX TS-program = XeLaTeX

documentclass[12pt]{article}
usepackage{mathspec}
setmainfont{Linux Libertine O}
setmathfont(Digits,Latin)[Scale=MatchLowercase]{Linux Libertine O}


begin{document}
This is some text in Libertine emph{X(f(A))}
[
forall X [emptyset notin X Rightarrow exists f:X rightarrow  bigcup X 
    forall A in X (f(A) in A ) ]]
end{document}

que producirá:

salida mathspec

los mathspec el paquete solo se puede usar con XeTeX; no se puede utilizar con LuaTeX.

Que deberías usar

Si desea utilizar una de las fuentes matemáticas OpenType disponibles, utilice unicode-math tiene sentido.

Si desea hacer coincidir una fuente no matemática con la fuente matemática, entonces mathspec puede ayudar, pero debido a que TeX no aplica el kerning entre caracteres de diferentes fuentes, mathspec tiene sus inconvenientes, ya que puede encontrar lugares en los que el cambio de la fuente de texto a la fuente matemática produce un espaciado incorrecto, como en el ejemplo dado.

mathspec es un intento inteligente de hacer posible el uso de matemáticas en documentos XeLaTeX, con fuentes del sistema para las letras y símbolos de fuentes matemáticas estándar.

Con unicode-math Básicamente, se pueden usar solo fuentes matemáticas OpenType especialmente diseñadas, como Latin Modern Math, TeX Gyre Termes Math, TeX Gyre Pagella Math, XITS Math, Asana Math (entre las gratuitas) o Cambria Math y Lucida Bright Math (no gratuitas).

mathspec

Con este paquete puede hacer cálculos matemáticos limitados con la fuente del sistema principal. Solo un ejemplo tonto:

documentclass{article}
usepackage{mathspec}
setmainfont[Ligatures=TeX]{Old Standard}
setmathsfont(Digits,Latin,Greek){Old Standard}
begin{document}
Some text and a formula $a+b=int_{xi}^{theta} f(x),dx$.
end{document}

ingrese la descripción de la imagen aquí

La matemática emulada no es mala, y el paquete tiene características para corregir manualmente los posibles espacios incorrectos, que ocurren porque las fuentes realmente no tienen soporte para las matemáticas. Por ejemplo, ingresando la fórmula como

$a+b=int_{xi}^{theta} "f(x),dx$

daría el mejor resultado

ingrese la descripción de la imagen aquí

los " significa “agregar algo de espacio a ambos lados de la siguiente letra”.

Se pueden tomar dígitos, letras latinas y griegas de diferentes fuentes.

unicode-math

los unicode-math es compatible tanto con XeLaTeX como con LuaLaTeX. Aquí está el mismo ejemplo con Lucida Bright:

documentclass{article}
usepackage{unicode-math}
setmainfont[Ligatures=TeX,Scale=0.85]{Lucida Bright OT}
setmathfont[Scale=0.85]{Lucida Bright Math OT}
begin{document}
Some text and a formula $a+b=int_{xi}^{theta} f(x),dx$.
end{document}

ingrese la descripción de la imagen aquí

El espaciado es correcto sin intervención manual, porque la fuente utilizada para matemáticas es una verdadero fuente matemática. Esto es lo mismo con TeX Gyre Pagella:

documentclass{article}
usepackage{unicode-math}
setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
setmathfont{TeX Gyre Pagella Math}
begin{document}
Some text and a formula $a+b=int_{xi}^{theta} f(x),dx$.
end{document}

ingrese la descripción de la imagen aquí

Entrada Unicode

Uno pueden Ingrese matemáticas con símbolos Unicode, pero esto no es obligatorio. Es posible ambos con mathspec y unicode-math. Por ejemplo, la integral con mathspec podría introducirse como

$∫_ξ^θ "f(x),dx$

siempre que se da a conocer al medio ambiente, por ejemplo con

usepackage{newunicodechar}
newunicodechar{∫}{int}

Algunos símbolos (en particular letras) ya se conocen.

No se necesita nada en particular para ingresar la integral como

$∫_ξ^θ f(x),dx$

con unicode-math. Sin embargo, el paquete comprende la sintaxis tradicional.

unicode-math se preocupa principalmente por facilitar el uso de fuentes matemáticas Unicode, a saber, fuentes matemáticas OpenType en LaTeX. Tiempo mathspec se trata de permitir tomar alfabetos matemáticos de fuentes de texto en ausencia de una fuente matemática coincidente.

Unicode define un gran conjunto de símbolos matemáticos y muchas fuentes los incluyen, pero la composición tipográfica matemática adecuada requiere muchos parámetros de fuente para ayudar al motor de composición y estos deben ser proporcionados por la fuente. Tradicionalmente, las fuentes TeX proporcionarían los parámetros necesarios en la dimensión de fuente de los archivos TFM, lo que significaba que las fuentes que no eran TFM no se pueden usar para componer matemáticas en XeTeX (y luego en LuaTeX). Cuando Microsoft comenzó a agregar tipografía matemática similar a TeX en Word, extendió OpenType con un MATH tabla para contener los parámetros necesarios para la composición tipográfica matemática y XeTeX lo implementó (y luego LuaTeX) y unicode-math fue escrito para proporcionar soporte de macros para el uso de las nuevas fuentes. Así que con unicode-math obtienes una composición tipográfica adecuada con las fuentes matemáticas OpenType adecuadas, como TeX Gyre Pagelle Math, pero estás limitado a esas fuentes especialmente preparadas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *