![\typecolon 是 \mathbin;它应该是 \mathrel](https://linux22.com/image/335827/%5Ctypecolon%20%E6%98%AF%20%5Cmathbin%EF%BC%9B%E5%AE%83%E5%BA%94%E8%AF%A5%E6%98%AF%20%5Cmathrel.png)
在 中unimath-symbols.pdf
,开冒号 ⦂ (U+02982),称为 Z 符号类型冒号,声明为\mathbin
。据我所知,您可以按照以下示例所示使用此类型冒号。以下几行
x ⦂ int
f ⦂ int → int
声明一个整数类型的零元符号x
(或整数类型,取决于你的词汇)和一个f
类型的一元函数符号int → int
。因此,开冒号⦂是一个关系符号,这意味着它应该是\mathrel
。例如,参见http://czt.sourceforge.net/latex/z/czt-guide.pdf(尽管截至今天,这个符号可能已不再在 Z 中使用)。
- 知道为什么该符号被列为吗
\mathbin
? - 我们是否遇到了文档/解释错误?
更新:阅读后LaTeX 数学简明指南,我不再确信粗结肠周围的间距一定是对称的。对称间距只是:
迄今为止用于打字判断的一种方法(我和显然成千上万的人多年来一直使用这种方法)和一些其他来源的方法,例如,形式规范 - Z 符号 - 语法、类型和语义。所以,如果有人对此有强烈的反对意见,请他/她自由地提倡\mathpunct
。但无论如何,\mathbin
都是错误的。
答案1
理想情况下,Unicode 字符数学分类的默认值将由 Unicode 指定,就像指定字母或非字母的默认分类和大小写变化属性一样。
Unicode 有一份技术报告
http://www.unicode.org/Public/math/revision-14/MathClassEx-14.html
列出这些内容目前还不是 Unicode 字符数据库的正式组成部分,但将来可能会成为其中的一部分。
有代码可以将 Unicode 文本文件直接读入 TeX,目前用于设置 xe(la)tex 和 lua(la)tex 中的默认大写和小写值。我们尝试使用 mathclass-14.txt 设置默认数学代码,但目前尚未启用。但是文件在 ctan 和 tex 分布中
<texmf> /2016/texmf-dist/tex/generic/unicode-data/MathClass.txt
普通冒号:
通常具有两种数学代码分类,默认分类使其 \mathrel
成为通常左右两侧都有较大空间的冒号,并且\colon
是相同的字形,但声明为\mathpunct
在大多数情况下左侧没有空间而右侧空间较窄的冒号。
查看 Z 规范
http://www.open-std.org/jtc1/sc22/open/n3187.pdf
它对间距没有过多的规定,但用法似乎有对称空间,所以匹配的数学代码:
似乎是合理的。
MathML 的默认运算符词典中缀的间距很窄,因此更像 \mathbin 而不是 \mathrel。
MathClassEx-14.html 底部有一个评论链接,但由于技术报告的一位作者是这里的常客,她已经在聊天中讨论过此问题
如果要建议更改 unicode-math,最好打开一个问题在 github 上