我在这里看到了各种主题,讨论如何将数学符号变为粗体,但没有一个主题为\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}
在现代工具链中,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}
您还可以使用 手动指定粗体数学字体version=bold
,例如:
\setmathfont[version=bold, Scale=MatchUppercase]{Minion Math Semibold}
最后,unicode-math
允许您使用 将任意 OpenType 或 TrueType 字体声明为数学字母\DeclareMathAlphabet
。