选择这种字体后,我收到以下警告:
字体形状“U/esvect/m/n”的大小 <6.5> 不可用(字体)大小 <6> 在输入行 11 中替换。
我理解它的含义和原因(所选字体没有指定的大小,因此用其他可用大小代替)。我尝试的每种字体都不会发生这种情况。我可以忍受,但希望能够消除它。我的问题是,除了使用其他字体外,我是否可以在字体设置中做任何事情来消除它。我搜索了这个网站、文档unicode-math
、fontspec
文档和整个网络,但没有找到任何明显相关的内容。
% !TEX TS-program = lualatexmk
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{TeX Gyre DejaVu Math}
\usepackage{esvect}
\begin{document}
\( \vv{a} \)
\end{document}
答案1
附带的字体定义文件esvect
仅定义固定大小的字体,即 5、6、7、8、9、10、10.95、12、14.4、17.28、20.74、24.88,以 10 之后的通常平方根级数进行。
您可以利用字体采用 Type1 格式这一事实来解决此问题,这样就可以随意缩放它们。
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{TeX Gyre DejaVu Math}
\usepackage{esvect}
\DeclareFontFamily{U}{esvect}{}
\DeclareFontShape{U}{esvect}{m}{n}{%
<-5.5> vect5
<5.5-6.5> vect6
<6.5-7.5> vect7
<7.5-8.5> vect8
<8.5-9.5> vect9
<9.5-> vect10
}{}
\begin{document}
\( \vv{a} \)
\end{document}
这样,LaTeX 就可以选择任意大小的字体,对于较小的尺寸仍然使用光学字体。