\sin
我需要正直的数学运算符(例如\tan
等)、斜体大写希腊字母和一个有效的\partial
运算符。使用下面的代码,我能够得到三个中的两个,但我被告知这不是实现我需要的推荐方法(见评论)。而且我仍然需要一个\partial
符号。
\documentclass[convert]{standalone}
\usepackage[math-style=ISO]{unicode-math}
\usepackage{amsmath}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setsansfont[Ligatures=TeX,Scale=.9]{TeX Gyre Heros}
\setmonofont[Scale=MatchLowercase]{TeX Gyre Cursor}
\setmathfont[Ligatures=TeX]{TeX Gyre Pagella Math}
\setmathfont[range=\mathup] {TeX Gyre Pagella}
\setmathfont[range=\mathbfup]{TeX Gyre Pagella Bold}
\setmathfont[range=\mathbfit]{TeX Gyre Pagella Bold Italic}
\setmathfont[range=\mathit] {TeX Gyre Pagella Italic}
\begin{document}
$x\partial x$
\end{document}
我怎样才能使这三件事发挥作用?
答案1
最终,在问题评论的帮助下,我终于找到了原因。对于那些发现类似问题的人,我在这里发布了一个答案。
- 缺失
\partial
是由于将 unicode 范围重新分配给不同的字体造成的。除非您知道副作用是什么,否则不要这样做。我不知道,因此这个错误的解决方案隐藏了另一个问题。 - 该选项
math-style=ISO
没有破坏我的数学运算符。问题amsmath
在于之后的加载unicode-math
(unicode-math 手册中指出,必须先加载 amsmath,但我在其他地方搜索错误,认为斜体运算符是 unicode-math 故意设置的)。
因此,在 unicode-math 之前加载 amsmath 并删除问题代码中的范围重新分配可以解决所有问题。
\usepackage[no-math]{fontspec}
\setmainfont[Ligatures={TeX,Common}]{TeX Gyre Pagella}
\usepackage{amsmath}
\usepackage[math-style=ISO]{unicode-math}
\setmathfont{TeX Gyre Pagella Math}