字体 bbold11 中缺少字符 1

字体 bbold11 中缺少字符 1

我的(刚刚更新的)MiKTeX 安装有问题:我喜欢使用软件包\mathbbold{1}中的bbold字体来获得黑板粗体 1。这适用于 Linux 下的 TeX Live,但对于字体大小 11,它不适用于 MiKTeX。如果我编译

\documentclass[11pt]{article}
\DeclareSymbolFont{bbold}{U}{bbold}{m}{n}
\DeclareSymbolFontAlphabet{\mathbbold}{bbold}
\newcommand{\ind}{\mathbbold{1}}
\begin{document}
$a$ \tracingall $\mathbbold{1}$
\end{document}

然后在日志文件中我得到了这一行

Missing character: There is no 1 in font bbold11!

输出中没有 blackboard bold 1。使用 TeX Live(字体大小为 10),一切都按预期运行。

问题似乎是在 TeX Live 下,bbold/Ubbold.fd加载了 ,而在 MiKTeX 下,jknappen\ubbold.fd加载了 。前者使用bbold10.tfm,后者使用bbold11.tfm

我怎么解决这个问题?

答案1

如果两个包使用相同的文件名,我不会将其视为 miktex 错误,并且在我看来,包维护者应该解决这个问题,而不是 tex 分发。

当此类名称在 texmf 树的同一分支中发生冲突时,搜索结果是不可预测的——例如,它可能取决于安装顺序、日期或其他任何因素。

因此,我认为您有以下可能性:

  • 将正确的 fd 文件移动到首先搜索的根目录中的 tex\latex(例如,本地 texmf)。
  • 将字体定义直接复制到你的文档中。这样就不会加载任何 fd 文件:

    \documentclass[11pt]{article}
    \DeclareFontEncoding{U}{}{}
    \DeclareFontFamily{U}{bbold}{}
    \DeclareFontShape{U}{bbold}{m}{n}
     {  <5> <6> <7> <8> <9> gen * bbold
       <10> <10.95> bbold10
      <12> <14.4> bbold12
     <17.28> <20.74> <24.88> bbold17
      }{}
    \DeclareSymbolFont{bbold}{U}{bbold}{m}{n}
    \DeclareSymbolFontAlphabet{\mathbbold}{bbold}
    
    \begin{document}
    $\mathbbold{1}$
    \end{document}
    
  • 复制正确的 fd 文件(例如 as)Umybbold.fd并将其存储在可以找到的地方,然后调用将字体声明为

    \DeclareSymbolFont{bbold}{U}{mybbold}{m}{n}
    

答案2

修订 4975TeX Live(2007-09-18)我们发现注释

从 jknapltx 中省略 ubbold.fd,与 Ubbold.fd 发生冲突 + sauter bbold 功能失调?(Zdenek Wagner,2007 年 8 月 9 日 16:20:21 +0200)

因此我的建议是从ubbold.fd您的系统中删除该文件并向 MiKTeX 的维护者提交错误报告。

相关内容