Beamer 和 DeclareSymbolFont 的“数学字母太多”

Beamer 和 DeclareSymbolFont 的“数学字母太多”

以下是我的问题的近乎最简单的例子:

\documentclass[dvipsnames]{beamer}

\usepackage{stmaryrd}
\usepackage{MnSymbol}

\DeclareSymbolFont{bbsymbol}{U}{bbold}{m}{n}
\DeclareMathSymbol{\bbsemi}{\mathbin}{bbsymbol}{"3B}

% Import some stuff from mathabx.sty -- because mathabx.sty incompatible with
% amsmath package.
\DeclareFontFamily{U}{matha}{\hyphenchar\font45}
\DeclareFontShape{U}{matha}{m}{n}{
      <5> <6> <7> <8> <9> <10> gen * matha
      <10.95> matha10 <12> <14.4> <17.28> <20.74> <24.88> matha12
      }{}
\DeclareSymbolFont{matha}{U}{matha}{m}{n}

\begin{document}

\begin{frame}
    $\mathbf{0} \mathsf{hello}$
\end{frame}

\end{document}

我希望能够在同一文档中使用 stmaryrd 和 MnSymbol。我还想使用 mathabx 中的一些内容,但由于与 amsmath(由 MnSymbol 自动导入)不兼容,我使用 DeclareSymbolFont 来导入它,如中所述1。另外我还想定义一个黑板分号运算符,所以我还使用 DeclareSymbolFont 引入了 bbsymbol。最后我想要 mathbf 和 mathsf。

不幸的是,Beamer 中似乎没有足够的数学字母空间,但是如果我创建一篇常规文章则不会出现这种情况(例如)。

对于 Beamer,是否有一个解决方案可以满足我的所有要求?(似乎删除任何一种导入或定义的字体都可以解决问题,但这并不能满足我的所有要求。)

答案1

最后我在\DeclareFontFamily上面的业务后面添加了以下内容:

% Use these in preference to stmaryrd (to avoid math alphabet limits).
\DeclareMathSymbol{\ldbrack}{3}{matha}{"76}
\DeclareMathSymbol{\rdbrack}{3}{matha}{"77}

因此看起来,我从中mathabx而不是stmaryrd最后提取了我需要的字符。

我不确定这是否算作我最初问题的答案,但我还是将其发布在这里,以防它有用。

相关内容