我的目标是在所有图形中使用无衬线数学字体,我发现了几种方法,我最喜欢的是使用\mathversion
和unicode-math
包在不同的数学字体之间切换。但是,由于警告,我无法在字体之间切换
软件包 fontspec 警告:字体“Latin Modern Math”不包含请求的(fontspec)脚本“Math”。
我对使用参数导入的所有字体都重复此操作[version=]
。但是,我可以更改整个文档的数学字体。
所以我的问题是:我做错了什么?我基本上是从另一个答案中复制了我的代码(当我再次找到它时会添加链接)。
我的测试 mwe 是
\documentclass[authoryear,preprint,5p,11pt]{scrartcl}
\usepackage{amsmath}
\usepackage{pgfplots}
\usepackage{fontspec}
\usepackage[]{unicode-math}
\defaultfontfeatures{ Scale=MatchLowercase, Ligatures=TeX }
\setmathfont{XITS Math}
\setmathfont{Latin Modern Math}[version=lm]
\setmathfont{TeX Gyre Pagella Math}[version=pagella]
\begin{document}
This is some text.
And a figure with maths elements
\begin{figure}[ht]
% \mathversion{sansmath}
\begin{pgfpicture}
\pgftext[x=0.691229in,y=0.540666in,,top]{\sffamily\selectfont 125}%
\pgftext[x=0.354158in,y=0.432447in,left,base]{\sffamily\selectfont \(\displaystyle \frac{-\pi}{2}\)}%
\pgftext[x=1.054158in,y=0.432447in,left,base]{\sffamily\selectfont \(\displaystyle 10^{3123x} \cdot 12389\)}%
\end{pgfpicture}
\end{figure}
and a formula
\[ \frac{\pi}{2.42132}= \beta\]
and some math in another font
\mathversion{lm}
\[ \frac{\pi}{2.42132}= \beta\]
and yet another one
\mathversion{pagella}
\[\frac{123456} {some text}\]
\end{document}
完整的日志文件在这里:https://pastebin.com/kS3quC7A
答案1
您的日志显示 xelatex 正在寻找 mathjax 字体:
LatinModernMathJax_Size1-Regular/OT
和 Pagella 类似:GyrePagellaMathJax_Symbols-Regular/OT
这些字体让人感到困惑。
尝试使用文件名而不是字体名称是否有效latinmodern-math.otf
。
答案2
我所知道的唯一的 OpenType 无衬线数学字体是 GFS Neohellenic Math。
\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage[]{unicode-math}
\setsansfont{GFSNeohellenic}[
Extension=.otf,
UprightFont=*,
ItalicFont=*It,
BoldFont=*Bold,
BoldItalicFont=*BoldIt,
]
\setmathfont{Latin Modern Math}
\setmathfont{GFSNeohellenicMath.otf}[version=sansmath]
\begin{document}
This is some text.
And a figure with maths elements
\begin{figure}[ht]
\centering
\sffamily\mathversion{sansmath}
\[
125+\frac{-\pi}{2}+10^{3123x} \cdot 12389+\sin3
\]
\caption{Whatever}
\end{figure}
and a formula
\[ \frac{\pi}{2.42132}= \beta\]
\end{document}