打开冒号⦂使用 \Umathchar 作为普通符号

打开冒号⦂使用 \Umathchar 作为普通符号

默认情况下,开冒号“⦂”是unicode-math中的关系符号。如何排版“⦂”直接地在 { xe| lua}中latex用作\Umathchar普通符号,即无空格符号?

到目前为止我一直在写\mathord{⦂}

\newcommand{\unspacedOpenColon}{\mathord{⦂}}

或者

\newcommand{\unspacedOpenColon}{{⦂}}

但是,这两个命令都是先取一个空格符号,然后从中删除空格。有没有更直接的形式定义

\newcommand{\unspacedOpenColon}{\Umathchar"…"…"02982 }

? 我不知道数学类型和家庭论点该放些什么。

下面是一些可供参考的代码:

\documentclass{article}
\pagestyle{empty}
\usepackage[math-style=ISO]{unicode-math}
\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}
\setmathfont[Ligatures=TeX,Extension=.otf,range={"2982},BoldFont=XITSMath-Bold]{XITSMath-Regular}
\newcommand{\unspacedOpenColon}{{⦂}}
\begin{document}
\(a⦂b\ c\unspacedOpenColon d\)
\end{document}

输出

答案1

与下面四种定义本质上没有区别:

\newcommand{\testA}{\mathord⦂}
\newcommand{\testB}{\mathord{⦂}}
\newcommand{\testC}{{⦂}}
\Umathchardef\testD="0 "2 `⦂

也可以这样做

\newcommand{\testD}{\Umathchar"0 "2 `⦂ }

对于第四个,但效率较低。实际上有一些微不足道不同之处:在情况 2 和 3 中,TeX 创建了一个子公式,但随后意识到它包含一个符号,因此将子公式提升到上层。

当然,数字 4 是最有效的,但缺点是你需要猜测数学组,"2如果加载了更多数学字体,可能就无需猜测了。

当 TeX 发现已声明或已支撑的内容\mathord(情况 1、2 和 3)时,它不会在其周围添加空格。

如果您认为它首先插入空格然后删除它们,那您就错了。

插入(或不插入)空格的阶段比制作数学列表要深远。当 TeX 检查数学公式以制作数学列表时,它会用其类型(例如关系或普通)标记其中的每个原子。然后,当数学列表转换为水平列表(框和胶水)时,它会传递到下一个阶段:在此阶段,根据有关连续原子类型的规则将空格插入到适当的位置。由于\mathord⦂已经产生了奥德原子,其周围不插入空格,除非其前面或后面有其他原子,例如相对或者操作,按照规则。本身是关系符号的事实在此阶段不起作用。

相关内容