阅读软件包的文档bbold
(参见http://mirrors.ctan.org/fonts/bbold/bbold.pdf),说明有些数学符号可以用该\mathbb
格式书写。如+
、(
等。
但是,我不知道如何获得这个结果,因为\mathbb{+}
它没有给出期望的结果。
有任何想法吗?
答案1
其他答案已经向您提供了为什么\mathbb{+}
不能立即工作的原因。如果您想在数学上下文中使用这些符号,您可以将其声明为数学符号,并具有适当的间距(例如,+
在数学模式下,它周围的间距应与\mathbin
因为它是二元运算符等的间距相匹配)。请参阅这个答案更多细节。
在这种情况下,+
是数学符号,定义在fontmath.ltx
像这样:
\DeclareMathSymbol{+}{\mathbin}{operators}{"2B}
受此启发,您可以+
以类似的方式定义黑板数学符号,通过声明符号字体,然后声明数学符号,如下所示:
\documentclass[12pt]{article}
\usepackage{bbold}
\DeclareSymbolFont{bbsymbol}{U}{bbold}{m}{n}
\DeclareMathSymbol{\bbplus}{\mathbin}{bbsymbol}{"2B}
\begin{document}
\noindent
Normal: $a+b$ \\ % No blackboard, correct spacing
\verb|\bbplus|: $a\bbplus b$ \\ % Blackboard, correct spacing
\verb|\mathbb|: $a\mathbb{+}b$ % No blackboard, wrong spacing
\end{document}
这使:
您应该能够据此自行推断其他符号。
如果有更简单的方法,常驻字体专家希望纠正这个问题或发布新的答案。
答案2
软件包bbold
问题:
\DeclareMathAlphabet{\mathbb}{U}{bbold}{m}{n}
但这只会\mathbb
对所谓的可变家庭类型数学事物,例如字母。诸如+
、(
、之类的事物)
默认不属于变量系列类型,因此它们不会对其作出反应。
\documentclass{article}
\usepackage{bbold}
\usepackage{mathastext}
\MTnonlettersobeymathxx
\begin{document}
Mathbb: $\mathbb{+)()}$
Textbb: \textbb{+)()}
\end{document}
然而,这会产生其他影响。请查看mathastext
文档,了解如何在柔和模式 如果可能的话。
您可以mathastext
加载柔和的 模式。然后你需要将非字母的激活移到开始文档之后。
\documentclass{article}
\usepackage{bbold}
\usepackage[subdued, defaultmathsizes, defaultimath, nohbar]{mathastext}
\begin{document}
\MTnonlettersobeymathxx
Mathbb: $\mathbb{+)()}$
Textbb: \textbb{+)()}
\end{document}
的影响mathastext
将被保持在最低水平(但添加basic
选项会关闭\MTnonlettersobeymathxx
对符号的影响)。
详细信息请参阅扩展数学字母命令的范围节数学文本文档。特别是,操作员获得正确的间距,当一切都在\mathbb
争论之中:
Examples to show spacing: (only second case gets it wrong)
\[a+b\]
\[a\mathbb{+}b\]
\[a\mathbb{{}+{}}b\]
\[\mathbb{a+b}\]
答案3
根据粗体包裹:
要使用 LATEX2ε 中的字体,请选择 bbold 包,然后使用 \mathbb 命令获取黑板粗体数学、\textbb 获取文本或 \bbfamily 获取较长的文本。
下面的代码生成
表明\textbb
对于字符+
、(
、更为成功)
:
\documentclass{article}
\usepackage{bbold}
\begin{document}
Mathbb: $\mathbb{+)()}$
Textbb: \textbb{+)()}
\end{document}