前文讲了LaTeX技巧326:希腊字母的加粗问题仅仅是解决方案,而如下这篇文章详述了数学模式加粗的问题,值得看看。
在 LaTeX 有 mathbf{}
来让字体变粗体。但这是在数学模式才能使用这个指令,要小心的是,他并不是数学粗体,而是数学式里头的『一般文字』的粗体,许多朋友误会他是数学粗体了。
数学式子里头的字母有一定的规范,他通常是使用数学斜体来表示。例如,底下的数学式子:
LaTeX 代码:$f(x,y) = 3(x+y)y / (2xy-7)$
上面一行的才是正确的排版,下面一行的并不符合数学式子的排版规范,英文字母的部份没有使用数学斜体。
那么我们现在来使用 mathbf{} 让他变成粗体显示:
LaTeX 代码:$mathbf{f(x,y) = 3(x+y)y / (2xy-7)}$
好了,他是变成粗体了,但这里会发现,数学斜体不见了,变成是正常的字体,而且运算符号并没有变粗体。
这是怎么一回事呢?我们先来看看 mathbf{} 的定义:
DeclareRobustCommandbfseries
{not@math@alphabetbfseriesmathbf
fontseriesbfdefaultselectfont}
原来 mathbf
会将数学模式取消再来取用字型,当然,此时就是一般的正常字体,而不是数学斜体了,而且也不会取用到数学模式该有的符号。
那么怎么办呢?这至少有两种解决的方式,一个是使用 bm package 的 bm 指令,一个是使用amsmath
package 的 boldmath 指令。
...
usepackage{amsmath,bm}
...
$bm{f(x,y) = 3(x+y)y / (2xy-7)}$
或
boldmath
$f(x,y) = 3(x+y)y / (2xy-7)$
unboldmath
...
这样表现出来将会是:
这才是正确的。以上要详细比较,请 click 图档放大观察,或自行写个简单的 LaTeX 码测试一下就知道了。其他还有
mathsf{}、mathtt{}、mathit{} 等,他们都是为了在数学模式来表现正常字体而用的,并不是真正的数学式子用字,别被他前头 math
字样给骗了!