newtxmath 包扰乱黑板粗体希腊字符

newtxmath 包扰乱黑板粗体希腊字符

我想在大型 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

这不是一个解决方案,而是一个解释:

有两个问题:

  1. 默认情况下,\omega它被定义为不对数学字母表做出反应(与 相对 \Delta)。这是没有任何包的默认情况,并且不会被您加载的包所改变。

  2. 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没有使用bbx系列。没有使用字体的包吗bbold?啊,是的,texdoc bbold告诉我有一个包bbold,并且内容bbold.sty实际上是通过重命名复制到您的代码中的。似乎没有加粗的变体。

您可以使用包 bm来加粗符号,但肯定有更好的选择。无论如何,“黑板粗体”显然不是用来表示“粗体黑板粗体”...

相关内容