我偶然注意到了这一点(我其实是想渲染\mathbb{N}_0
)。请看以下示例
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
$$\mathbb{N_0}$$
\end{document}
计算结果如下
我本来期望有一块N
带有下标黑板的黑板0
。
根据解纤,有问题的符号也是来自 amssymb,是\nvdash
。为什么会这样?这是 amssymb 中的错误吗?我的 TeX 安装中的字体是否已损坏?
值得一提的是,我还注意到 MathJax 按照您的预期执行,以黑板字体呈现下标 0。
答案1
黑板符号仅支持部分可用字体插槽。运行 MWE
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\pagestyle{empty}
\begin{document}
\[\mathbb{N_0}\]
\end{document}
通过 pdfLaTeX 显示使用的字体:
<.../texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb>
<.../texmf-dist/fonts/type1/public/amsfonts/symbols/msbm7.pfb>
字体字形表可通过以下方式获取testfont.tex
:
$ pdftex testfont
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdftex)
restricted \write18 enabled.
entering extended mode
(/cygdrive/c/Users/one/tl/tldevsrc/Master/texmf-dist/tex/plain/knuth-lib/testfo
nt.tex
Name of the font to test = msbm10
Now type a test command (\help for help):)
*\table\bye
[1{.../texmf-dist/fonts/map/pdftex/updmap/pdftex.map}]
<.../texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb>
<.../texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb>
<.../texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb>
<.../texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb>
<.../texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb>
Output written on testfont.pdf (1 page, 74724 bytes).
Transcript written on testfont.log.
穷人的黑板模拟
PDF 模式下的 pdfTeX 或 LuaTeX 引擎允许矢量字体描边轮廓。软件包pdfrender
提供了一个接口:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pdfrender}
\DeclareRobustCommand*{\pmbb}[1]{%
\textpdfrender{
TextRenderingMode=Stroke,
LineWidth=.1pt,
}{#1}%
}
\pagestyle{empty}
\begin{document}
\[\mathbb{N}_{\pmbb{0}}\]
\end{document}
自然数
如果下标 0 有在自然数列表中添加零的含义,那么这就是不是用黑板字体排版,因为零是元素,而不是集合。下标设置为正常 0:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\[\mathbb{N}_0\]
\end{document}
答案2
$\mathbb{0}$
意思是从 AMS 符号字体中选择 ascii 编号为 0(即 48)的插槽中的字符,但该字体没有任何数字,它有各种 AMS 字符,所以您得到的恰好位于通常用于 0 的插槽中的字符。
TeX 的设计并不遵循一致编码的 Unicode 思维,每种字体都有自定义编码。
所有原始 TeX 和 AMS 字体每个字体只有 128 个字符,您无法将所需的所有符号放入合理数量的字体中,并保持数字和大小写字母出现在所有字体中。