キーボードをたたくとき このページをアンテナに追加 RSSフィード

Thu, 15 December 2011

数式のボールドイタリック体の boldmath と bm と boldsymbol の比較

LaTeX で行列、ベクトルテンソルを表現するとき、ボールド体ではなくボールドイタリック体が使われます。

ボールドイタリック体は \mathbf や \mathit の組み合わせで表現することができないため幾つかの方法が使われています。

とりあえず、3 つの流儀があるようです。

  1. boldmath を使う方法 (\mbox{\boldmath $x$})
  2. bm を使う方法 (\bm{x})
  3. boldsymbol を使う方法 (\boldmath{x})

boldmath を使う方法では、コマンドが長いので以下のように独自コマンドを定義するのが一般的です。

\newcommand{\bvec}[1]{\mbox{\boldmath $#1$}}

このように定義したら、後は \bvec{x} というように使えます。


bm を使う方法では、bm.sty を読み込む必要があります。

\usepackage{bm}

boldsymbol を使う方法では、amsmath.sty を読み込む必要があります。

\usepackage{amsmath}

さて、これらの比較を行います。

今回は、よく使われている以下の 5 つの数式フォントについて比較を行いました。

  1. Computer Modern (default)
  2. txfonts.sty
  3. pxfonts.sty
  4. mathptmx.sty
  5. mathpazo.sty

txfonts.sty と mathptmx.sty は Times ベース、pxfonts.sty と mathpazo.sty は Palatino ベースの欧文フォントです。

フォントそれ自体の比較は「数式フォントの比較」が視覚的でわかりやすいです。

それでは順に見ていきます。


まずはデフォルトの Computer Modern です。

3 つの方法はどれも正しい出力を得ています。

f:id:yascentur:20111215003800p:image:w360


しかし、Computer Modern 以外のフォントでは差が出てきます。

bm、boldsymbol では、Computer Modern が使われてしまっています。

この状況は、イタリック体とボールドイタリック体が混在する実際の数式中では結構気持ち悪いです。

なので、とりあえず boldmath を使いましょう。

数式フォントを変更しなければいいという話はありますが、個人的に Computer Modern があまり好きじゃないのでやっぱり boldmath を使いましょう。

普段 Computer Modern を使っている人でも、学会テンプレートがこれらのフォントを指定していることが多々あるので学生は全力で boldmath を使いましょう。


ただし、boldmath にも欠点があって、mathptmx.sty では太字になりませんでした。意味がわからないです。

f:id:yascentur:20111215003804p:image:w360

f:id:yascentur:20111215003803p:image:w360

f:id:yascentur:20111215003802p:image:w360

f:id:yascentur:20111215003801p:image:w360

トラックバック - http://d.hatena.ne.jp/yascentur/20111215/1323879218