使用 \mathversion 在数学样式之间切换?

使用 \mathversion 在数学样式之间切换?

这是这个问题. 它解释了如何使用命令在单个文档内切换数学字体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\]

等等。

相关内容