用 Iwona 替换 CM(U) Bright 中的积分符号,同时保持积分限值的正确位置

用 Iwona 替换 CM(U) Bright 中的积分符号,同时保持积分限值的正确位置

我正在使用字体规范在 CMU Bright OpenType 中排版我的论文。对于数学字体,我使用的是 CM Bright T1 字体。

除了积分符号与其他字形不匹配外,结果看起来不错。因此,我尝试使用 Iwona 字体(数学效果很好)显示该符号。

除了积分的下限和上限位置外,其他一切都正常。使用 Iwona 时,这些显示位置比应有的位置更靠近线的中间。

最小工作示例:

\documentclass[a4paper]{article}

%MATH FONTS: CM Bright (T1)
\usepackage[T1]{fontenc}
\usepackage{cmbright} %for math only

\usepackage{fontspec}
%MAIN FONT: Computer Modern Unicode (CMU) Bright (open type)
\setmainfont[BoldFont={cmunbbx.otf},ItalicFont={cmunbmo.otf},BoldItalicFont={cmunbxo.otf}]{cmunbmr.otf}

\newfontfamily\integralfont{Iwona}
\newcommand{\myint}{$\integralfont ∫$}

\begin{document}
This is some text (CMU Bright OpenType)

Some math (CM Bright T1, except 2nd integral: Iwona T1): $\int_{0}^{10} f(x) = \myint_{0}^{10}  g(x)$
\end{document}

给出以下结果: 积分.png

注意积分限值(0 和 10)位置的差异。当它们遵循第一个积分符号(使用 CM Bright 设置)时,它们之间的距离比遵循第二个积分符号(使用 Iwona 设置)时要远。

有人能帮我修复这个问题吗?我尝试过 \displaylimits 但无法正常工作(或者没有任何效果)。

答案1

将以下代码放入你的序言中:

\DeclareSymbolFont{iwonalargesymbols}{OMX}{iwona}{m}{n}
\DeclareMathSymbol{\intop}{\mathop}{iwonalargesymbols}{"52}

如果你想改变全部大符号到 Iwona (康布赖特使用默认的 Computer Modern Extensions 字体),然后

\DeclareSymbolFont{largesymbols}{OMX}{iwona}{m}{n}

就足够了。

然后您将使用常用\int命令。

相关内容