我想在大型 TeX 文件中使用某种黑板粗体大写 Delta。过去我曾使用下面显示的代码来排版它,但当我包含一个用于某些特殊字符的新包“newtxmath,newtxtext”时,它会将显示从通常的黑板粗体 Delta 更改为普通粗体 Delta。黑板粗体数字 1、2、... 不受影响。
\documentclass{amsbook}
\usepackage{newtxtext,newtxmath}%\normalfont\Nearrow
\usepackage{amsfonts, amsmath, amssymb}
%special blackboard bold characters
\newcommand{\bbefamily}{\fontencoding{U}\fontfamily{bbold}\selectfont}
\newcommand{\textbbe}[1]{{\bbefamily #1}}
\DeclareMathAlphabet{\mathbbe}{U}{bbold}{m}{n}
\def\DDelta{{\mathbbe{\Delta}}}
\newcommand{\1}{\mathbbe{1}}
\newcommand{\2}{\mathbbe{2}}
\begin{document}
$\1$ and $\2$ and $\DDelta$ and $\mathbbe{\omega}$
\end{document}
谁能帮我弄清楚发生了什么事?
附加问题:我还希望能够在黑板上排版粗体小写字母 omega。
答案1
在序言中使用\usepackage[bbgreekl]{mathbbol}
。空心 omega(或任何其他小希腊字母)可以用 键入\bbomega
。[对于空心 epsilon,请使用\bbespilon
。]
答案2
这不是一个解决方案,而是一个解释:
有两个问题:
默认情况下,
\omega
它被定义为不对数学字母表做出反应(与 相对\Delta
)。这是没有任何包的默认情况,并且不会被您加载的包所改变。bbold
在编码的字体中U
(请参阅返回的文件以kpsewhich Ubbold.fd
获取特定的 tfm 文件名),在占用的默认位置(插槽 33)处没有 omega\omega
,而是包含一个黑板粗体感叹号。
检查:
\documentclass{amsbook}
\usepackage{newtxtext,newtxmath}%\normalfont\Nearrow
\usepackage{amsfonts, amsmath, amssymb}
%special blackboard bold characters
\newcommand{\bbefamily}{\fontencoding{U}\fontfamily{bbold}\selectfont}
\newcommand{\textbbe}[1]{{\bbefamily #1}}
\DeclareMathAlphabet{\mathbbe}{U}{bbold}{m}{n}
\def\DDelta{{\mathbbe{\Delta}}}
\newcommand{\1}{\mathbbe{1}}
\newcommand{\2}{\mathbbe{2}}
% check in the (long) compilation log lines containing XXXXXXX to find
% some info on this modification to let \omega obey math alphabet:
\typeout{XXXXXXX Current meaning of \string\omega: \meaning\omega}
\count255\omega
\mathchardef\omega\numexpr \count255+"7000\relax
\typeout{XXXXXXX New meaning of \string\omega: \meaning\omega}
\begin{document}
$\1$ and $\2$ and $\DDelta$ and $\mathbbe{\omega}$
% for testing
% \ttfamily
% \meaning\omega
% \meaning\Delta
\end{document}
生成结果:
玩pdflatex nfssfont
(但看看(*)接下来)在插槽(127)中可以找到黑板欧米茄"7F
。您可以在设置中获得它,\mathbbe{\mathchar"717F}
但定义符号字体而不是数学字母表会更合适。
(*)最后一件事:不清楚您所说的“粗体”是什么意思,因为您的数学字母表没有使用字体的包吗m
没有使用b
或bx
系列。bbold
?啊,是的,texdoc bbold
告诉我有一个包bbold
,并且内容bbold.sty
实际上是通过重命名复制到您的代码中的。似乎没有加粗的变体。
您可以使用包 无论如何,“黑板粗体”显然不是用来表示“粗体黑板粗体”...bm
来加粗符号,但肯定有更好的选择。