マクロによる数式用フォントに変換

数式エディタ (Microsoft数式 3.0) は,2018年1月の更新プログラムから削除され, 新しい数式エディタに置き換えられた。
新数式エディタで使用されるフォントは Cambria Math(標準)で,数学用フォントとしては不満である。
そこで,代替の数式用フォントLatin Modern Mathをインストールして使用するのがよい。

ブログ 2022年2月13日 参照

MS-Word の数式エディタ・数式ツールに関わる諸問題への解決について」(日本機械学会)に記載されていたことであるが, フォント Latin Modern Math は,数式処理用の LaTeX 互換のフォントセットであるため 本文用のフォントとして使用できないという。
そこで,本文用として,LaTeX 用の Bakoma フォントを利用するとよいようだ。

数式フォントLatin Modern Math および BKM-cmmi10 のダウンロードは 以下からダウンロードができる。

数式フォントLatin Modern Math のダウンロード

数式フォントBKM-cmmi10 のダウンロード

これまでは,数式の綺麗さに拘って自作のオリジナルフォントを利用していた。 変数のイタリック体と,ギリシャ文字などのシンボル体のオリジナルフォントである。 個人的には,これ以上修正する必要がないと思っていた。 Math Type7からは永久ライセンスではなくなり,それ以前は永久ライセンスで, 試用期間の30日を越えると,機能に制限がかかるものの無料で使用し続けることができた。
今でも使い続けることができるが,起動するたびに確認メッセージが表示されて面倒である。 また,機能制限によって文字の色を変更することができない。

この機会に,Word標準の数式エディタと同じタイプのフォントで本文中に手軽に数式が描けるようにしようと考えた。 そうすれば,フォントをインストールすることは必要であるが, Word標準の設定で数式を手軽に作成できるように,より多くの人に利用してもらうことができる。

上記の参考サイトでは,本文用に利用する LaTeX 用の Bakoma フォントが幾つか紹介されていたが, W手軽に利用するために cmmi10のみを使用することにした。

すべての数式を,数式エディタで作成・編集すると時間がかかる。 本文中に手軽に入力できると時短になる。
それを簡単にするのがマクロである。 本文中に簡単に数式を入力するために,これまで使ってきた数式変換用マクロを修正して 今回のフォントに対応できるようにした。 以下にその使い方等を簡単に説明する。 興味のある方は,使ってみてください。

<作成したマクロの使い方>
作成したマクロファイルを以下からダウンロードすることができる。
formcv.basをダウンロード

このファイルには,4 つのマクロ「数式変換_小文字()」「数式変換_大文字()」「formcv(変数)」「フォント設定の復元()」がある。
マクロ「formcv(変数)」の変数を 1 に指定すると, アルファベットの小文字は変数としてイタリック体に変換するが,大文字はイタリック体に変換しない。 変数を 2 に指定すると,大文字も変数としてイタリック体に変換する。
その指定を実行するマクロが「数式変換_小文字()」と「数式変換_大文字()」である。
マクロ「フォント設定の復元()」は数式用に変換された文字列を元に戻すマクロである。 ただし,ギリシャ文字や等号付き不等号に変換されたものを元に戻すことはできない。
このマクロファイルは,メモ帳などのテキストエディタで開くことができる。

以下の手順で,Word のマクロとして登録するができる。
(1) ファイル「formcv.bas」をダウンロードして,zipファイルを展開する。
(2) Wordを起動する。
 リボンに「開発」タブが表示されていなければ,「開発」タブをで表示させる。
 その方法か以下の手順
「ファイル」→「オプション」→「リボンのユーザー設定」から, 右側の「メインタブ」で,「開発」にチェック☑を入れて「OK」
(3) 「開発」タブを選択し,「コード」グループの「Visual Basic」をクリックして,VBAエディタを起動する。
(4) 左側にある「プロジェクトエクスプローラ」で,Normal文書を選択して,メニュー「ファイル」から「ファイルのインポート」を選択する。
(5) ダウンロードしたファイル「formcv.bas」を選択して,「開く」をクリック。
これで,マクロの登録が完了。

インポートしたマクロ「数式変換_小文字()」または「数式変換_大文字()」を,ショートカットキーに登録して利用すると便利である。
ショートカットキーへの登録方法については,ここでは省略する。

使い方は,
数式(文字列)を記述し,記述した数式全体を選択して,マクロ「数式変換_小文字()」または「数式変換_大文字()」を実行する。
入力の仕方としては,
べき乗は「^」,添え字は「_」を付けて記入する。
数式エディタのショートカットキーと同様の入力である。
その他,ギリシャ文字に変換するときは変換するアルファベットの前に「¥」を付ける。

変換例


上記の数式を,Web上の数式表現で表示してみた。
\begin{eqnarray} 123 \leq ABC \leqq ax^{3} + b \left\lbrace \left( p_{2}^{3}+p_{2} \right) + c_{ n+1 } t^{ 2k-3 }+t^{ j } \right\rbrace \geq yz \geqq \alpha \gamma \omega \nonumber\\ \end{eqnarray} それぞれでフォントのサイズなど若干違うが,入力しやすいように使い分けて利用するとよい。