\circ 与 unicode-math

\circ 与 unicode-math

unicode-math我在序言中这样使用:

\usepackage{unicode-math}
\setmathfont{Latin Modern Math}

使用 XeLaTeX 进行编译,$g \circ f$得到以下结果:

在此处输入图片描述

但这与我删除前两行代码得到的结果不同:

在此处输入图片描述

值得注意的是,\circ没有前两行代码时得到的值比有前两行代码时得到的值要大。

我想知道:有没有一种方法可以让我仍然使用unicode-math(使用前两行代码)但又可以获得\circ没有它们时的效果?

这是一个 MWE:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}

\begin{document}
\[
g \circ f
\]
\end{document}

答案1

显然,Latin Modern 的开发人员认为 Computer Modern\circ符号太大(我并不反对他们)。当您不加载字体包(包括unicode-math)时,XeLaTeX 的默认数学字体是标准的 Computer Modern 系列。当您加载时unicode-math,默认为 Latin Modern Math(无论是否选择\setmathfont)。

另一方面,\accentset{\circ}{U}使用 Computer Modern 数学字体给出不错的结果更多的是偶然而不是特性:这只是因为符号是大的它看起来正好位于字母上方。

让我们尝试一些基于

\documentclass{article}
\usepackage{amsmath}
\usepackage{accents}

%\usepackage{unicode-math}           % for 2 and 3
%\setmathfont{Latin Modern Math}     % for 2
%\setmathfont{NewCMMath-Regular.otf} % for 3

\begin{document}

\begin{gather*}
g \circ f \\
\mathring{U}\accentset{\circ}{U}
\end{gather*}

\end{document}

示例 1 – 否unicode-math

在此处输入图片描述

示例 2 – 拉丁现代

在此处输入图片描述

示例 3 – 使用 NewCMMath

在此处输入图片描述

评论

正如您所见,NewCM 汲取了拉丁现代主义的精髓。

看完结果后,我强烈支持\mathring\accentset{\circ}但由于这只是意见,让我们看看我们能怎么做。

\documentclass{article}
\usepackage{amsmath}
\usepackage{accents}

\usepackage{unicode-math}
\setmathfont{Latin Modern Math}

\DeclareSymbolFont{CMsymbols}{OMS}{cmsy}{m}{n}
\DeclareMathSymbol{\CMcirc}{\mathbin}{CMsymbols}{"0E}


\begin{document}

\begin{gather*}
g \circ f \\
\mathring{U}\accentset{\CMcirc}{U}
\end{gather*}

\end{document}

这定义\CMcirc为计算机现代\circ符号,因此您可以在 中使用它\accentset

在此处输入图片描述

相关内容