以下是我的问题的近乎最简单的例子:
\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
最后提取了我需要的字符。
我不确定这是否算作我最初问题的答案,但我还是将其发布在这里,以防它有用。