我正在尝试使用 unicode 字符 ⦡ (U+29A1) 作为二元运算符。我几乎用下面的方法让它工作了:
\usepackage{fontspec}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{unicode-math}
\setmathfont{Symbola}
\newcommand{\ang}{\mathbin{⦡}}
Example: $x\ang y$ works great.
Problem: $\mathbb{R}^n$ looks weird.
如上所述,问题在于指数的副作用。有什么建议吗?
编辑
问题几乎已得到解决,但我还是注意到 n 的这个奇怪的位置:
新设置:
默认 amssymb:
无可否认,现在我变得痴迷起来。
答案1
仅为该一个符号设置数学字体,而不是所有数学符号。由于 Symbola 没有 OpenType 数学表,因此数学布局会在许多方面出现问题。以下方法应该有效:
\setmathfont{Latin Modern Math} % Or your math font of choice
\setmathfont{Symbola}[range=\sphericalangleup,
Scale=MatchUppercase]
\newcommand{\ang}{\mathbin{\sphericalangleup}}
该unicode-math
包将 U+29A1 声明为\sphericalangleup
,但为其留有\mathord
空格。默认数学字体没有它,但一些数学字体有它:XITS Math、STIX Two Math、Fira Math 和 New Computer Modern Math。该albatross
命令可以为您提供完整列表。通常,如果您想坚持使用 Computer Modern 的克隆,New Computer Modern 是您的最佳选择。所以,
% Load amsmath, fontspec, unicode-math, etc. first if they need
% special options.
\usepackage{newcomputermodern} % Add [regular] for the original weight
\newcommand{\ang}{\mathbin{\sphericalangleup}}