Mathematica のフォントを TeX で用いる


注意

ここで説明する私の PC のシステムは、 OS が Windows XP Home Edition、 Mathematica のバージョンは 4.1、 TeX は乙部氏の本の付属 CD でインストールしたもので、 Ghostscript のバージョンは 8.00 です。 私は TeX にあまり強いわけではありませんので、 おかしなことを書いているかもしれません。 何かお気付きの方はお知らせ頂ければ幸いです。 このページの内容は、私と同レベルの方々に参考になれば、 と考えて書いています。なお、 システムに大きなダメージを与えるような操作は無いはずですが、 一応バックアップを取るなどして、 元の状態に戻せるようにしておいて下さい。 何か不都合が起きても責任は持てませんので御了承下さい。

事の始まり

Mathematica のメニューバーに、「ファイル」→「特別な形式で保存」 →「TeX」というコマンドがある。 適当にいじっていて見付け、TeX ファイルで保存できるのか、 と感動して試してみたのだが、できた TeX ファイルがコンパイルできない。 "notebook2e.sty" というスタイルファイルが見付からないというのだ。 そこで Mathematica のメインフォルダの中からそのファイルを見付けてきて、 TeX のフォルダの中に置いてみたのだが、今度はフォントが見付からない、 というエラーが出る。 Mathematica のヘルプや Wolfram Research のホームページを調べたのだが、 対処法がよく分からずにその場はそれであきらめてしまった。
その後、「数式処理」という授業を担当することになり、 レジュメを作ろう、と思い立った。 しかし、Mathematica の命令を TeX の標準のフォントで書くとどこかピンと来ないのである。 市販の Mathematica の解説本のようなフォントで書きたいと思い、 不十分ながら、いろいろ調べてみた。 以下の内容は

榊原進 著、第2版はやわかり Mathematica、共立出版


を参考にし、私の PC 環境に翻訳して必要最低限の操作のみ記している。

準備

(1) 念のため、 TeX と Ghostscript のフォルダをバックアップしておく。 例えば、c:\ptex (resp. c:\gs) をコピーして c:\ptex.bak (resp. c:\gs.bak) としておく。

(2) Mathematica のフォルダ (例えば c:\Program Files\Wolfram Research\Mathematica\4.1) の中の \SystemFiles\IncludeFiles\TeX\texmf の中の、次の3つのフォルダをコピーして TeX の対応する場所 (例えば c:\ptex\texmf 以下) におく。

\fonts\tfm\wolfram
\fonts\vf\wolfram
\tex\latex\wolfram

(3) 同じ深さにある \dvips\init\wolfram.map をコピーして c:\ptex\texmf\dvips フォルダにおく。
(4) このファイルをテキストエディタで開き、 各行の < 以下を削除する。
(5) TeX の dvips\config\config.ps に p +wolfram.map という一行を付け加える。
(6) Mathematica の \SystemFiles\Fonts\AFM 以下のファイル群を c\gs\fonts フォルダにコピーする。
(7) c\gs\gs8.00\lib\Fontmap.GS をエディタで開き、 既存の行を真似して

/Math1 (Math1.pfb);

などと書く。(6) でコピーした他のファイルに付いても同様にする。 具体的には、/Math*、/Math*-Bold、/Math*Mono、/Math*Mono-Bold (* には1から5までの数字が入る) の計20行を付け加える。

使用する

準備が完了したら、Mathematica ファイルのメニューバーから、 「ファイル」→「特別な形式で保存」→「TeX」 として TeX ファイルを作り、コンパイルする。 dviout でプレビューはできないので、 dvipsk で ps ファイルに変換して gsview などでプレビューする。 wrisym パッケージをロードすると、 自分で Mathematica フォントを使えるらしい (が、コマンド等まだよく調べていません)。

問題点

ps ファイルに変換しなければプレビューできないとは煩わしい。 何故か Mathematica の開発スタッフの方々にはそれが標準方法らしいのである。 私ははじめ、そのことを知らずに dviout にフォントを認識させようとして、 かなりの時間を無駄にしてしまった。

私は普段、プレビューに dviout を用いているので、 Mathematica フォントを用いない文書まで影響を受けて、 dviout のプレビューがおかしくなってしまうことが最も困る。 例えば、根号の表示がおかしくなることが確認できる (ps に変換すればよくなる)。そのため、 私はバックアップしておいた ptex.bak フォルダの名前を ptex に戻すことにした。Mathematica フォントを用いたいときのみ、 先の操作をしたフォルダの名前を ptex とするのである。 かなりアナログな方法で恥ずかしいが、少なくとも私は Mathematica フォントを使うことはまれなので、 この方法で良いと思っている。

ネット上の情報では、このシステムには結構バグが存在するらしい。 バグかどうかは知らないが、例えばべきの記号 (^) を表すと思われる \RawWedge という命令がコンパイルでひっかかってしまう。 そのため、私は
\renewcommand{\RawWedge}{\mbox{\textasciicircum}}
という行を notebook2e.sty に書き加えた (他にもコンパイルや私の好みの問題でいろいろ書き換えたのだが、 詳細は忘れてしまった)。

[戻る]