我正在使用从中找到的实现本网站使用 Calibri 字体编写文档,包括数学模式。它看起来很棒,但是有一个主要缺陷:“大”符号无法正确缩放。这包括积分符号和括号。
梅威瑟:
\documentclass[10pt]{article}
\usepackage{amsmath} % Same for amsmath.
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont[Mapping=tex-text,Ligatures={NoRequired,NoCommon,NoContextual}]{Calibri}
\setmathfont[slash-delimiter=frac]{Cambria Math}
\setmathfont[range={"0000-"FFFF}]{Calibri}
\setmathfont[range=up]{Calibri}
\setmathfont[range=sfup]{Calibri}
\setmathfont[range=it]{Calibri Italic}
\setmathfont[range=bfup]{Calibri Bold}
\setmathfont[range=bfit]{Calibri Bold Italic}
\setsansfont{Calibri} % Make \mathsf and \textsf also Calibri
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit...
\[ x^2y = 2z\left(\frac{\alpha \beta^2}{73c}\right)^2 \]
\[ \frac{d}{dx}\int f(x)\,dx = f(x) \]
\end{document}
有什么简单的方法可以解决这个问题吗?如果没有简单的通用解决方案,那么只需修复括号就可以了,因为就我的目的而言,其他“大”符号不会出现。
提前致谢。
附言:我使用这个有点奇怪的实现,而不是 sansmath 包或 cmbright 字体,因为我主观上更喜欢它呈现的外观。此外,它与我用于正文的 Calibri 字体的兼容性更好。
答案1
\documentclass[10pt]{article}
\usepackage{amsmath} % Same for amsmath.
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont[Mapping=tex-text,Ligatures={NoRequired,NoCommon,NoContextual}]{Calibri}
\setmathfont[slash-delimiter=frac]{Cambria Math}
\setmathfont[range={"0000-"FFFF}]{Calibri} %removing this fixes the issue
% Or if you _really_ want to keep that, at least put the () back
\setmathfont[range={"0028-"0029}]{Cambria Math}
\setmathfont[range=up]{Calibri}
\setmathfont[range=sfup]{Calibri}
\setmathfont[range=it]{Calibri Italic}
\setmathfont[range=bfup]{Calibri Bold}
\setmathfont[range=bfit]{Calibri Bold Italic}
\setsansfont{Calibri} % Make \mathsf and \textsf also Calibri
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit...
\[ x^2y = 2z\left(\frac{\alpha \beta^2}{73c}\right)^2 \]
\[ \frac{d}{dx}\int f(x)\,dx = f(x) \]
\end{document}
基本上
\setmathfont[range={"0000-"FFFF}]{Calibri} %removing this fixes the issue
会破坏数学设置,因为 Calibri 不是数学字体。你添加了一行来修复(仅)分数,我添加了另一行来修复(仅)可扩展,()
但根本不这样做似乎更安全。(例如,正如您的输出所示,\int
在此设置下几乎不可用)