esvect 和 unicode-math 之间有冲突吗?

esvect 和 unicode-math 之间有冲突吗?

我对 esvect 和 unicode-math 有疑问。这是一个 MWE(当然,在这个例子中我不需要 esvect):

\documentclass[10pt,a4paper]{article}

\usepackage{unicode-math}
\setmainfont{STIX two Text}
\setmathfont{STIX two Math}
\usepackage{esvect}


\begin{document}
    $x+y$
\end{document}

我用更短的 MWE 编辑了我的第一条消息。

我收到此警告消息:LaTeX 字体警告:字体形状“U/esvect/m/n”大小<5.5>不可用(字体)大小<5>在输入行 10 上替换。

[1

{C:/Users/didie/AppData/Local/MiKTeX/fonts/map/pdftex/pdftex.map}](./probleme_esvect.aux)

LaTeX 字体警告:字体大小替换的差异已达到 0.5pt。

我不明白,因为我在这个例子中没有使用 esvec。我不知道我是否提供了足够的信息,但我不知道日志文件的哪一部分是相关的。

我检查了 C:\Users\didie\AppData\Local\MiKTeX\fonts\tfm\public\esvect,发现有:vect5.tfm、vect6.tfm、vect7.tfm、vect8.tfm 和 vect10.tfm

答案1

使用您的代码

\documentclass[10pt,a4paper]{article}

\usepackage{unicode-math}
\setmainfont{STIX Two Text}
\setmathfont{STIX Two Math}
\usepackage{esvect}

\begin{document}

$x+y+\vv{x+y}+\overrightarrow{x+y}$

\end{document}

我分别添加了箭头上方的示例esvect和 STIX Two Math,结果如下

在此处输入图片描述

你可以决定你喜欢哪种箭。但也有警告

LaTeX Font Warning: Font shape `U/esvect/m/n' in size <5.5> not available
(Font)              size <5> substituted on input line 11.

这有点烦人。这是因为在以前没有 Type1 字体的时候,字体都是固定大小的,这样就不会用无用的位图字体副本填充磁盘空间。

如果你查看uesvect.fd(字体描述文件),你会看到

\DeclareFontFamily{U}{esvect}{}
\DeclareFontShape{U}{esvect}{m}{n}{%
      <5><6><7><8><9><10>gen*vect%
      <10.95><12><14.4><17.28><20.74><24.88>vect10%
      }{}

您可以轻松修复此描述以允许任意大小的字体。

\documentclass[10pt,a4paper]{article}

\usepackage{unicode-math}
\setmainfont{STIX Two Text}
\setmathfont{STIX Two 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}

$x+y+\vv{x+y}+\overrightarrow{x+y}$

\end{document}

相关内容