数学环境中的 \bold

数学环境中的 \bold

忘记了在数学模式下使文本加粗的命令,我天真地尝试了

$\bold{bold var goes here} these maths symbols are not bold$

成功了!我立刻产生了怀疑,因为我知道 LaTeX 字体命令从来都不是那么“好用”。我在网上找不到有关此命令的任何信息。通过实验,我发现 amsfonts 或 amssymb 是罪魁祸首。

我的主要问题是请解释一下这个命令来自哪里:在哪个包中。另一个问题是,如何仅使用计算机就能找出任何给定命令的来源(如果不可能,那么最简单的方法是使用互联网)?

答案1

在回答您的主要问题之前,我先处理一个额外的问题:至少在 TeX Live 中,有一个命令行实用程序,texdef通过它您可以轻松看到命令是如何定义的,有时是在哪里定义的,或者更一般地说,它的含义是什么。

基本语法是

texdef -t <format> <cs>

其中,<format>是 TeX 格式的名称,例如latex<cs>是任意控制序列(不一定是命令或宏名)。还有一大堆命令行选项,我记得其中有:

  • -c <class>,用于指定<class>不同于默认的 article类;

  • -p <package>,或者更一般地讲-p [<options>]{<package>},加载某个<package>,可能带有<options>

  • -s,(尝试)显示定义某个命令的源文件的摘录;

  • -h(帮助)当然也很有用!

例如——现在我要回答你的主要问题了——如果你尝试

texdef -t latex -p amssymb -s \bold

你得到的答案是

% amsfonts.sty, line 115:
\DeclareRobustCommand{\bold}[1]{%
  {\@subst@obsolete{amsfonts}\bold\mathbf{#1}}}

告诉您\bold文件第 115 行定义的amsfonts.sty,作为支持旧的、现已弃用的命令的语法糖,有效地将其转换为\mathbf

答案2

我认为,在 LaTeX 中使用粗体数学有一些选择,但不是全部:

\boldmath如果需要较长的粗体数学字体部分,而不仅仅是几个符号,那么它就是您的好帮手。别忘了\unboldmath稍后使用。

\mathbf{...}是的数学粗体版本\textbf,即字体roman通常为和直立字母。

该软件包bm提供了\bm命令以及其他功能。

\boldsymbol命令保留数学环境中常见的斜体字母。

如果包或已加载,该\bold命令来自并起作用,但有一个已弃用的警告:AMS-TeXamsfontsamssymb\bold

Package amsfonts Warning: Obsolete command \bold; \mathbf should be used instea
d on input line 24


\documentclass{article}


\usepackage{amsfonts}

\usepackage{bm}

\newcommand{\foo}{E=mc^{2}}


\begin{document}
Not bold: $\foo$

From now on all bold with \verb!\boldmath!: \boldmath $\foo$ 

or $E^{2} = p^{2}c^{2} + m^{2}c^{4}$\unboldmath 

-- from here the enduring effect of \verb!\boldmath! has been removed with \verb!\unboldmath!

Local bold math with font change by \verb!\mathbf!: $\mathbf{\foo}$

Local bold math with \verb!\bm! from package \texttt{bm}: $\bm{\foo}$


With \verb!\bold! command:  $\bold{\foo}$ 

\end{document}

还有\boldsymbol来自amsmath\pmb(“穷人的大胆”),后者是字体中没有真正粗体版本的符号的最后手段。

答案3

unicode-math包部分向后兼容,但规则略有不同。

\mathbf命令仍然有效,但仅适用于数学模式下的单词。获取单个数学符号的推荐方法是\symbfup\symbfit。因此该amsmath命令\bold仍然有效。

如果您加载了具有粗体版本的 OpenType 数学字体(截至 2019 年,XITS、Libertinus 或 Minion),则当您选择或unicode-math时将切换到它。您也可以执行类似 的操作。来自的命令仍然有效,并且是一种非常方便的切换到粗体数学版本的方法。\boldmath\mathversion{bold}\setmathfont[version=bold]{MinionMath-Semibold.otf}\boldsymbolamsmath

相关内容