这是这个问题. 它解释了如何使用命令在单个文档内切换数学字体unicode-maths
\mathversion
。
文档unicode-math
中说
\setmathfont{math-style=Tex}{Cambria Math}
相当于
\unimathsetup{math-style=Tex}
\setmathfont{Cambria Math}
现在,如果我想使用设计为直立的数学字体,例如 Neo Euler 字体。我必须使用
\setmathfont{math-style=upright}{euler.otf}
如果我想在 Euler 字体和另一种设计为斜体的字体之间切换,可以使用 XITS。使用
\setmathfont[version=XM]{xits-math.otf}
\setmathfont[version=NE,math-style=upright]{euler.otf}
能够像本例一样\mathversion{NE}
使用\mathversion{XM}
\documentclass{minimal}
\usepackage{unicode-math}
\setmathfont[version=XM]{xits-math.otf}
\setmathfont[version=NE,math-style=upright]{euler.otf}
\begin{document}
\[a+b\]
\mathversion{NE}
\[a+b\]
\mathversion{XM}
\[a+b\]
\end{document}
不起作用。math-style
因为包选项也没有切换,所以所有内容都是直排的。我还没有找到解决这个问题的方法,因为包选项是在加载包时设置的。
答案1
我以前错了,但我认为这是不可能的。\mathversion
只需改变每个数学字符指向的字体即可,而要从直立数学更改为斜体数学,您需要重新映射受更改影响的每个符号。
在我看来,人们不太可能愿意在文档中频繁更改这一点,因此我认为改为这样写并不麻烦
\setmathfont[math-style=TeX]{xits-math.otf}
\[a+b\]
\setmathfont[math-style=upright]{euler.otf}
\[a+b\]
等等。