如何在 XeTeX 中使用超过 16 种数学符号字体​​?

如何在 XeTeX 中使用超过 16 种数学符号字体​​?

粗略地说,XeTeX(和 LuaTeX)将数学字体的数量从 16 种扩展到 256 种,但目前(texlive 2019)latex2e 仅允许使用 0-255 范围内的数学字母,并限制符号字体 0-15(在这次提交,2015年)。

作为 XeTeX 用户,我如何使用完整的 0-255 符号字体?


相关信息:

要扩展到超过 16 种符号字体,需要进行更广泛的更改,用版本替换所有使用\mathchardef \mathaccent \radical\U...

David Carlisle 2015 年 3 月 12 日,来自此评论

也许我应该学习原语的用法,如第 2.3 节\U...所述。texdoc xetex

答案1

使用超过 16 的问题实际上并不是您需要在核心 xetex 支持代码中进行任何更改,但如果您使 \newfam 分配超过 16,则任何“正常”数学字体包都将无法工作,因为\mathchardef如果使用大于 15 的系列编号,所有字体都会出错。

但是如果你保持分配的家庭数量较低,那么你可以选择一个你知道通过正常分配永远不会达到的“安全”家庭,比如 100 个,然后按如下方式使用它

在此处输入图片描述

\documentclass{article}

% abc from dunhill in family 100

\font\cmdx =cmdunh10
\font\cmdvii =cmdunh10 at 7pt
\font\cmdv =cmdunh10 at 5pt
\textfont 100 = \cmdx
\scriptfont 100 = \cmdvii
\scriptscriptfont 100 = \cmdv
\Umathchardef \da 0 100 `a
\Umathchardef \db 0 100 `b
\Umathchardef \dc 0 100 `c

\begin{document}

$abc\da\db\dc$

\end{document}

相关内容