xetex/mathspec 中数学模式中的标点符号

xetex/mathspec 中数学模式中的标点符号

我正在使用 XeTeX 并有以下简短文档:

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amsthm}
\usepackage[MnSymbol]{mathspec}
\usepackage[no-sscript]{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\setallmainfonts{Minion Pro}

\begin{document}

$\phi, \varphi, \delta \ldots A \vee B$

\end{document} 

现在,无论我使用什么字体,数学模式中的标点符号(逗号、点\ldots等)都会以 Computer Modern 形式显示。有办法改变这种情况吗?

答案1

似乎的作者mathspec忘记更改逗号的数学代码和的定义\mathellipsis。以下代码应该可以做到:

\makeatletter
\DeclareMathSymbol{,}{\mathpunct}{\eu@LatinLowercase@symfont}{`,}
\DeclareMathSymbol{.}{\mathord}{\eu@LatinLowercase@symfont}{`.}
\DeclareMathSymbol{<}{\mathrel}{\eu@LatinLowercase@symfont}{`<}
\DeclareMathSymbol{>}{\mathrel}{\eu@LatinLowercase@symfont}{`>}
\DeclareMathSymbol{/}{\mathord}{\eu@LatinLowercase@symfont}{`/}
\XeTeXDeclareMathSymbol{^^^^2026}{\mathinner}{\eu@LatinLowercase@symfont}{"2026}[\mathellipsis]
\makeatother

一些其他字符或命令可能会被重新定义,这至少解决了最常见的未被正确处理的问题mathspec

相关内容