忘记了在数学模式下使文本加粗的命令,我天真地尝试了
$\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-TeX
amsfonts
amssymb
\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}
\boldsymbol
amsmath