数学字符 \prime、活动素数 (')、*、\circ 在 xelatex 中打印双上标位置

数学字符 \prime、活动素数 (')、*、\circ 在 xelatex 中打印双上标位置

我正在尝试重新定义 otf 字体中的数学字符STIX Two Math,我成功地xelatex通过\Umathchardef命令重新定义了所有字符。

我面临的问题是\prime,活动素数(')和符号,这些字符位置被打印为双上标位置,因为字体只有上标位置*\circ

如何重新定义字符以获得实际输出 [\prime和 的正常上标'(应该产生与 \prime 相同的输出)和*, \circ]

提前致谢

在此处输入图片描述

梅威瑟:

\documentclass{book}

\usepackage{fontspec}
\newfontface\StixTwoMath{STIXTwoMath-Regular.otf}[NFSSFamily=stixtwomath]

\DeclareSymbolFont{stixmath}{TU}{stixtwomath}{m}{n}

\DeclareMathSymbol{*}{\mathbin}{stixmath}{"002A} % \ast
\Umathchardef\prime "0 \csname symstixmath\endcsname"2032
\Umathchardef\circ "2 \csname symstixmath\endcsname"2218

\begin{document}

$a'_{i}$  $a^\prime_{i}$ $a\prime$ 

\medskip

$\rho^*$  $\rho*$ \qquad $a^*$  $a*$

\medskip

$\chi^{\circ}$  $\chi {\circ}$ \qquad $a^\circ$  $a\circ$

\end{document}

相关内容