在 mathbbol 之后加载 amsfonts 不会重置 \mathbb

在 mathbbol 之后加载 amsfonts 不会重置 \mathbb

我正在使用该mathbbol包,因此我可以使用\mathbb希腊文和小写字母。包装文档状态

如果没有选项,则定义以下命令:

  • \mathbb{A} 生成黑体粗体 A。所有大写和小写拉丁字母都可以通过这种方式访问​​。它会覆盖 AMS-LaTeX 的 \mathbb(如果您在 mathbbol 之后加载 amsfonts,它也会覆盖)

我没有看到此功能

\documentclass{article}

%\usepackage[bbgreekl]{mathbbol}
\usepackage{amsfonts}

\begin{document}

%$\mu = \bbnu(a,b,c)$
$\mathbb{K}$

\end{document}

具体来说:

  • 使用mathbbol注释掉的包,\mathbb{K}打印amsfonts版本(带衬线)
  • 使用mathbbol\mathbb{K}打印mathbbol版本(无衬线),即使amsfonts之后加载

我怎样才能保留amsfonts大写的正常版本\mathbb{},同时添加小写字母和希腊字母mathbbol

答案1

只需添加行

\DeclareSymbolFontAlphabet{\mathbb}{AMSb}
\DeclareSymbolFontAlphabet{\mathbbl}{bbold}

在您的序言中,使用小写拉丁字母\mathbbl代替。\mathbb

平均能量损失

\documentclass{article}

\usepackage[bbgreekl]{mathbbol}
\usepackage{amsfonts}

\DeclareSymbolFontAlphabet{\mathbb}{AMSb}
\DeclareSymbolFontAlphabet{\mathbbl}{bbold}

\begin{document}

$\mu = \bbnu(a,b,c)$

$\mathbb{K}$

$\mathbbl{k}$

\end{document}

在此处输入图片描述

amsfonts简单加载不起作用的原因是amsfonts.sty你有

\@ifundefined{mathbb}{%
    \DeclareSymbolFontAlphabet{\mathbb}{AMSb}%
}{}

这意味着仅当字母表尚未定义时才将其设置\mathbb为。AMSb

但它已经被定义mathbbol

\DeclareSymbolFontAlphabet{\mathbb}{bbold}

所以如果没有那条额外的线它就无法工作。

相关内容