\mathsfup 和 \symsfup 用于变量

\mathsfup 和 \symsfup 用于变量

Unicode-math 文档 v. 0.8o 在 §3.1 中说:

应使用数学字体打印粗体变量名,而应使用文本字体打印粗体运算符名称。

现在,如何在多排序逻辑中排版多字母变量和多字母排序(换句话说,类型)?它们应该用哪种字体设置,例如,在以下示例中:

“对于变量标识符 var : Int 和函数标识符 fun : Int → Bool,术语 fun(var) 具有 Bool 排序。”

让我们继续:

具有这种行为方式的五个新符号字体命令是:、、、\symup和。这些命令切换到单字母数学符号(通常在同一个 OpenType 字体中)。旧命令切换到设置为在数学中正确表现的文本字体,应该用于多字母标识符。\symit\symbf\symsf\symit\math..

好的,但是\mathsfup应该做什么呢?请注意\mathsfup∉ { \symup, \symit, \symbf,\symsf\symit} 和\mathsfup不是传统命令。表 1 表示\mathsfup与 相同,\symsfup但我缺少的是\symsfup或使用的字体\mathsfup

此外,我甚至找不到以下的正确定义\symsfup

$ grep -air "symsfup" /usr/share/*tex*
$

它在哪里?

答案1

没有\symsfup或其他类似命令的明确定义:它们被隐式定义为设置的一部分。

考虑以下测试文件:

\documentclass{article}
\usepackage{unicode-math}

\pagestyle{empty}

\begin{document}

$\symsf{A}$ $\mathsf{A}$

$\symsfup{A}$ $\mathsfup{A}$

$\symbfsf{A}$ $\mathbfsf{A}$

$\symbfsfup{A}$ $\mathbfsfup{A}$

\showoutput
\end{document}

从日志文件中分离出相关部分,我们可以看到

....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#3126
....\mathoff
....\mathon
....\TU/lmss/m/n/10 glyph#27
....\mathoff

....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#3126
....\mathoff
....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#3126
....\mathoff

....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#3250
....\mathoff
....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#3250
....\mathoff

....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#3250
....\mathoff
....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#3250
....\mathoff

\symsf如您所见,只有和之间存在差异\mathsf,如文档中所写。

如果你需要区分\symbfsf\mathbfsf,你可以用以下方式定义后者

\setmathfontface⟨\mathbfsf⟩{<your text sans font>}[⟨the required features⟩]

这样,中的多字母字符串\mathbfsf就会被视为文本,而不是并列的符号。

相关内容