我试图让数字一\mathbb{}
在数学模式下打印字体,但是命令
\mathbb{1}
输出了一些垃圾。我确实在用 latex 生成的一些 pdf 中看到了我想要的字符,因此我有一个问题:你如何让它工作?
答案1
由于\mathbb
不支持数字(带amssymb
或txfonts
),您可以使用bbm
:
\documentclass{article}
\usepackage{bbm}
\begin{document}
\[ \mathbbm{1} \]
\end{document}
或dsfont
doublestroke
包裹:
\documentclass{article}
\usepackage{dsfont}
\begin{document}
\[ \mathds{1} \]
\end{document}
答案2
在这里玩一些巫术,答案在 2021 年看起来非常不同。我特别建议反对使用bbm
,正如接受的答案所建议的那样,因为它加载的老式字体格式将在 PDF 中以像素化形式显示,并且没有人再将 DVI 打印在纸上。
我建议unicode-math
在可以的情况下使用 LuaTeX,必要时使用旧字体。 几乎所有 OpenType 数学字体支持\mathbb{1}
并\Bbbone
开箱即用。很少有支持粗体版本的\boldsymbol{\mathbb{1}}
,但如果需要,您可以伪造它:
\documentclass{article}
\tracinglostchars=2
\usepackage{unicode-math}
\setmathfont{NewCMMath-Book}
\setmathfont{NewCMMath-Book}[
version=bold,
FakeBold = 1.2 ]
\begin{document}
\[ \mathbb{1} \boldsymbol{\mathbb{1}}
\]
\end{document}
如果您的出版商仍然要求您使用 PDFTeX,或者您希望这样做,该mathalpha
软件包提供了一个一致的界面来加载和缩放数学字母,包括 blackboard bold 和 bold blackboard bold。以下是 TeX Live 附带的选项,至少部分可用:
(请注意,您不需要\Bbbbone
在自己的文档中定义这种方式!我将其放在模板中是为了简化测试。)
\documentclass{article}
\usepackage{amsmath}
\usepackage[bb=dsserif]{mathalpha}
\usepackage{bm}
\pagestyle{empty}
\newcommand\Bbbbone{%
\ifdefined\mathbbb%
\mathbbb{1}%
\else%
\boldsymbol{\mathbb{1}}%
\fi}
\begin{document}
\[ \mathbb{1} \Bbbbone
\]
\end{document}
据我所知,该dsserif
字母表是唯一一款支持 Type-1 格式的 blackboard-bold 和 bold-blackboard-bold 数字的免费字母表,并且无需更改其他字体即可加载包。您可能希望使用包选项缩放它以匹配您的数学字体bbscaled=
。
用bb=pazo
代替bb=dsserif
:
和bb=fourier
:
和bb=esstix
:
和bb=boondox
:
还有其他旧版软件包无法使用mathalpha
(截至 2021 年 2 月)。以下是一些尚未提及的更重要的软件包。
包装cmathbb
采用的是基于 Computer Modern bold 的有吸引力的轮廓字体。
使用\usepackage[varbb]{newtxmath}
,您可以获得与 Xovee 答案相同的字母表,但替换标准\mathbb
:
有一个类似的选项newpxmath
(尽管这与不兼容bm
)。
\documentclass{article}
\usepackage{amsmath}
\usepackage[varbb]{newpxmath}
\pagestyle{empty}
\newcommand\Bbbbone{%
\ifdefined\mathbbb%
\mathbbb{1}%
\else%
\boldsymbol{\mathbb{1}}%
\fi}
\begin{document}
\[ \mathbb{1} \Bbbbone
\]
\end{document}
还有另一种黑板粗体字母可通过newtxmath
和使用newpxmath
,带有vvarbb
包选项:
stix
和包stix2
加载类似于 的字母表boondox
。(这是 STIX 字体的一个分支。)以下是使用\usepackage{stix2}
而不是得到的结果mathalpha
:
答案3
另一个选择是使用bbold
包。
\documentclass{article}
\usepackage{bbold}
\begin{document}
\[ \mathbb{1} \]
\end{document}
尽管它毁掉了这些信件。
答案4
一个新的解决方案:使用newtxmath
包。
使用代码:
\usepackage{newtxmath}
$\vmathbb{ABCDEFGHIGKLMNOPQRSTUVWSYZ}$
$\vmathbb{abcdefghijklmnopqrstuvwxyz}$
$\vmathbb{0123456789}$
结果是:
此外,该解决方案与 ACM 模板的白名单限制兼容,因为不需要导入其他包,文档类asmart
已经导入了newtxmath
。
这是的文档newtxmath
:http://ctan.mirror.colo-serv.net/fonts/newtx/doc/newtxdoc.pdf