在数学模式下将 \mathbb 字符变为粗体

在数学模式下将 \mathbb 字符变为粗体

我在这里看到了各种主题,讨论如何将数学符号变为粗体,但没有一个主题为\mathbb字符提供合适的选项,如\mathbb{ABC}
我测试了一些选项,以查看哪些命令将哪些符号变为粗体。这是我的代码:

\documentclass{article}
\usepackage{amsmath} % some math-related packages, not sure which of them are necessary
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{bm} % for \bm
\usepackage{fixmath} % for \mathbold
\begin{document}
\section{Some text $\mathbb{ABC}abc\cosh\div+\alpha$ some text} %1
\section{Some text $\boldsymbol{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %2
\section{Some text $\mathbf{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %3
\section{Some text $\pmb{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %4
\section{Some text $\boldmath{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %5
\section{Some text $\bm{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %6
\section{Some text $\mathbold{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %7
\end{document}

在此处输入图片描述

(第 2 和第 6 个中没有\div不是拼写错误,第 3 个中的 ff 也不是。)显然\pmb是唯一一个变成\mathbb{ABC}粗体的命令。但它使字符变得相当丑陋,仔细看看:(右边是正常版本) 在此处输入图片描述

如果没有其他选择,我想我只会使用\pmb角色\mathbb\boldsymbol其他东西来代替其他东西。

还有其他方法可以变得\mathbb{ABC}大胆吗?

答案1

在这里,我通过定义 将三个副本水平放置得非常接近\fakebold{}。显然,可以对其进行修改以使用更多副本,或者同时应用垂直偏移。水平偏移由 给出\bshft,当前设置为 0.18pt。

通过使用\ThisStyle{...\SavedStyle...}的特性scalerel,它应该可以跨数学风格工作,这样$\fakebold{A_b} A_{\fakebold{b}} A_b$就能给出预期的结果。

\documentclass{article}
\usepackage{amsmath} % some math-related packages, not sure which of them are necessary
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{bm} % for \bm
\usepackage{fixmath} % for \mathbold
\usepackage{scalerel}
\newlength\bshft
\bshft=.18pt\relax
\def\fakebold#1{\ThisStyle{\ooalign{$\SavedStyle#1$\cr%
  \kern-\bshft$\SavedStyle#1$\cr%
  \kern\bshft$\SavedStyle#1$}}}
\begin{document}
\section{Some text $\mathbb{ABC}abc\cosh\div+\alpha$ some text} %1
\section{Some text $\boldsymbol{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %2
\section{Some text $\mathbf{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %3
\section{Some text $\pmb{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %4
\section{Some text $\boldmath{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %5
\section{Some text $\bm{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %6
\section{Some text $\mathbold{\mathbb{ABC}abc\cosh\div+\alpha}$ some text} %7
What comes next is new
\section{Some text $\protect\fakebold{\mathbb{ABC}abc\cosh\div+\alpha}$ some text}%8
\LARGE$\fakebold{\mathbb{ABC}a}\mathbb{ABC}a$
\end{document}

在此处输入图片描述

特写一下:

在此处输入图片描述

答案2

有几个软件包可以做到这一点,但unicode-math如果您可以使用它,或者mathalpha如果 PDFLaTeX 兼容性是必需的,我建议您使用它。

mathalpha\mathbbb软件包与 PDFLaTeX 兼容。如果有的话,它将加载您选择的双击数学字母的粗体版本。

\documentclass{book}
\usepackage[bb=boondox]{mathalpha}

\begin{document}
\( \mathbbb{ABCa}
   \mathbb{ABCa} \)
\end{document}

Boondox 字体样本

在现代工具链中,unicode-math如果您选择的数学字体有粗体 Unicode 数学字体,则会自动加载该字体。(截至 2019 年,XITS Math、Libertinus Math 和 Minion Math 都有。)您可以使用、或\boldsymbol来选择它。amsmath\boldmath\mathversion{bold}

\documentclass{book}
\usepackage{amsmath}
\usepackage{unicode-math}

\newcommand\mathbbb[1]{\boldsymbol{\symbb{#1}}}

\setmathfont{XITS Math}

\begin{document}
\( \mathbbb{ABCa}
   \mathbb{ABCa} \)
\end{document}

XITS 数学示例

您还可以使用 手动指定粗体数学字体version=bold,例如:

\setmathfont[version=bold, Scale=MatchUppercase]{Minion Math Semibold}

最后,unicode-math允许您使用 将任意 OpenType 或 TrueType 字体声明为数学字母\DeclareMathAlphabet

相关内容