我使用 Latin Modern Math 作为数学字体,但由于我不喜欢它自带的黑板粗体字母,我将它们替换为 TeX Gyre Termes Math 中的字母。我认为要实现这一点,以下是正确的
\usepackage{unicode-math}
\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}
\setmathfont{TeX Gyre Termes Math}[range=bb] % blackboard letters
不幸的是,最后一行还在分隔符后引入了空格\big*
:
与之比较:
知道为什么会发生这种情况吗?
\documentclass{article}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{unicode-math}
\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}
\setmathfont{TeX Gyre Termes Math}[range=bb] % blackboard letters
\begin{document}
\[
\Bigl(\frac{d\symbf\varphi}{d\symbf\theta}\Bigr)^{\top} \frac{d\eta}{d\mu}
\quad \mathbb{R}^2
\]
\end{document}
答案1
\left(...\right)
当然,取而代之的是直立的微分算子:
\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}
\setmathfont{TeX Gyre Termes Math}[range=bb] % blackboard letters
\begin{document}
\[
\left(\frac{\mathrm{d}\mbfitphi}{\mathrm{d}\mbfittheta}\right)^{\top}
\frac{\mathrm{d}\eta}{\mathrm{d}\mu}
\quad \BbbR^2
\]
\end{document}
答案2
在 TL 2016 中,LuaTeX 的问题似乎已经消失。但在 XeTeX 中这个问题仍然存在,但是 Unicode 数学排版在 XeTeX 中总体上存在问题。
而且amssymb
和所有符号amsfonts
都是多余的。unicode-math
\documentclass{article}
\pagestyle{empty}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}
\setmathfont{TeX Gyre Termes Math}[range=\mathbb] % blackboard letters
\begin{document}
\[
\Bigl(\frac{d\symbf\varphi}{d\symbf\theta}\Bigr)^{\top} \frac{d\eta}{d\mu}
\quad \mathbb{R}^2
\]
\end{document}
使用 TeX Gyre Termes
没有 TeX Gyre Termes