\mathchar 使用的字符有编号列表吗?

\mathchar 使用的字符有编号列表吗?

我在玩这个答案由 Steven B. Segletes 撰写,其中使用了字符\mathchar"0362。他如何(或者说能够)发现 0362 是正确的数字?

我找到了这个相关答案这解释了(a)这 4 个数字是十六进制的,并且(b)被分成 3 组,但是除了手动输入文件之外,我仍然不知道如何找到这些字符.tex

我知道如何编码,以便我可以使用 for 循环自动执行 .tex 文件,然后编译它,但我想知道是否还有其他(更好的?)方法。

答案1

正如解释的那样https://tex.stackexchange.com/a/229705/,四个十六进制数字指定符号的数学类型、数学字体系列和字体中的插槽。

没有“数学字符列表”。LaTeX 内核设置了字体系列 0、1、2 和 3,这些系列是排版数学所必需的。但是,字体包可以更改分配,添加新的系列或符号,甚至更改插槽。

例如,LaTeX 内核定义

\DeclareMathSymbol{\parallel}{\mathrel}{symbols}{"6B}

fourier.sty定义

\DeclareMathSymbol{\parallel}{\mathrel}{symbols}{141}

在这两种情况下,symbols指的是数学家族 2,结果是\parallel在 LaTeX 内核中基本上等同于\mathchar"326B,但有了fourier它就变成了\mathchar"328D

stmaryrd包提供了额外的符号,例如

\DeclareMathSymbol\shortleftarrow\mathrel{stmry}{"00}

我们甚至无法将其直接翻译成\mathchar语法,因为字体系列编号的分配是stmry事先不知道的,这取决于几个不同的因素。这将相当于

\mathchar"3<stmry>00

其中<stmry>是从 4 到 15 的某个整数(转换成十六进制数字)。

相关内容