在unicode-math-table.tex
数学课中,许多符号的定义如下:
\UnicodeMathSymbol{"026AC}{\mdsmwhtcircle}{\mathord}{medium small white circle}%
现在,如果我想将这个特定的圆用作函数组合的二元运算符,我必须将其数学类更改为\mathbin
。我想在序言中做的事情是:
\usepackage{unicode-math}%
\UnicodeMathSymbol{"026AC}{\mdsmwhtcircle}{\mathbin}{medium small white circle}%`
从而覆盖unicode-math’s
默认值。然而,宏似乎仅在进程\UnicodeMathSymbol
内部可用。unicode-math
unicode-math-table.tex
当然,我可以复制unicode-math-table.tex
到本地 texmf 树,对其进行修改并实现所需的结果。但我更愿意将此更改保留在文档本地,并在序言中进行更改。
如何覆盖unicode-math’s
与符号数学类有关的默认值?
答案1
有两个选择,一个比较简单:
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{XITS Math}
\newcommand{\bcirc}{\mathbin{\mdsmwhtcircle}}
\begin{document}
$f\bcirc g$
\end{document}
第二个更复杂一些:
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{XITS Math}
\ExplSyntaxOn
\AtBeginDocument
{
\um_process_symbol_noparse:nnn {"026AC}{\mdsmwhtcircle}{\mathbin}
}
\ExplSyntaxOff
\begin{document}
$f\mdsmwhtcircle g$
\end{document}
不幸的是,显然没有用于设置符号的更高级别的工具。