【Mac】emathを使ってTeXで数学の図を描く


emathはTeXで数学で使われるような図を描けるようにするマクロ集です。これを使うと数学の本でよく見かける図を作ることが出来ます。
インストール自体は簡単なのですが実際に使えるようにするのに少し手間取ったのでメモ。

emathについてひとつ言っておくと、日本人が開発したためコマンドが日本語のローマ字になっています。日本語とかラッキーやんけ！と思う人もいるかもしれませんが個人的には逆にわかりづらいです。

設定はひと通り読んでから始めることをオススメします。


# Perlについて
emathはTeXで図をかけるようにしてくれます。しかし考えてみてください。TeXは組版ソフトであって計算ツールではありません。でもグラフをかくには計算が必要になります。少しでも複雑な計算をしよとすればもうTeXの守備範囲外になってしまう。そこでemathではPerlに計算をさせることでこの問題を解決しています。
ですのでemathを使うにはPerlのインストールが必要です。ただの線などならPerlがなくても描けますが基本的にはPerlがないと何も出来ない状況です。Perlのインストール方法については省略しますので調べてインストールしてください。Macには標準でインストールされているはずです。コマンドラインで

```
perl -V
```

すればインストールされているか確認できます。
Perlを使っているがために多少面倒なのですが詳しくは下の方のTeXShopでemathを使うを読んでください。


# 環境
まず僕の環境です。
・Mac
・UpTeX
・TeXShop(TeX + DVI)
以上です。これと違う方は参考程度に見てください。そもそもemathについてうまくまとめてくれた記事が見当たらなかったので、その辺りに気を使って書くつもりです。少しは役に立つかもしれません。ダウンロードするファイルについてはWindowsでも変わらないと思います。

# ダウンロード
まず必要なファイルをダウンロードします。

[emathダウンロード](http://homepage3.nifty.com/emath/)

ダウンロードにユーザ名とパスワードが必要になりますが、ページ内に書いてあるので確認して下さい。
入口からダウンロードページヘ飛びます。スタイルファイルに「丸ごとパック」と「訂正版」がありますが、丸ごとパックのうちいくつかのファイルが新しくなっているらしく、それらのファイルは訂正版を使う必要があります(確か…訂正版を使わないと動かなかった記憶)。ですのでとりあえず両方ダウンロードしてください。
またパールとの連携に必要なファイルもダウンロードします。丸ごとパックのページの下に「また，perl との連携をおこなうためのスクリプトファイルの訂正版は　こちら　からダウンロードできます。」とあるのでそこからダウンロードできます。本来は「emath に必要なスタイルファイルなど」のページにある「2. perl と連携するための補助ファイル emath.pl など」からダウンロードします。どちらも同じものなのでどちらからダウンロードしても問題ありません。

また、これ以外にもいくつかスタイルファイルが必要になります。

[浅岡信義のTeXと図形のページ](http://members.jcom.home.ne.jp/nob.asaoka/kpic/download.html)

このページの方法1にある4つのスタイルファイルをダウンロードします。

# インストール
必要なファイルは揃ったのでインストールします。この項はTeXの環境によって異なります。
僕はUpTeXを使っているので以下のようになりました。
アプリケーションフォルダにあるUpTeX.appを右クリックして「パッケージの内容を表示」をクリックします。中身が見れたらteTeX→share→texmf-dist→tex→latexとたどります。ここ以外のフォルダにもインストール出来ると思いますしここにインストールするのがよいのかはわかりませんがとりあえずここにインストールするとします。latexの中に適当にemathなんて名前のフォルダを作成します。ダウンロードした丸ごとパックを回答するとstyというフォルダがあるのでこの中身のスタイルファイルを作成したemathフォルダ内にコピーします。コピーしたら訂正版のスタイルファイルを上書きコピーしてください。
更に「浅岡信義のTeXと図形のページ」でダウンロードしたスタイルファイルもコピーしてください。
終わったらターミナルで

```
sudo /Applications/UpTeX.app/teTeX/bin/mktexlsr 
```

して追加したスタイルファイルをTeXに認識させます。

続いてパールとの連携を行います。コマンドラインで

```
perl -V
```

するといろいろな情報が出てきますが、必要なのは最後の方にある``@INC``という項目です。これらがライブラリファイルの配置場所になるのでこのどこかにダウンロードしたPerlとの連携ファイルをコピーしてください。

以上でemath自体のインストールは完了です。以降はTeXShopでemathを使う方法です。

# TeXShopでemathを使う
ここが本題です。emath自体のインストールは調べればなんとかわかるのですがTeXShopで使うのに少し苦労しました。
最初の方にemathはPerlを使っていると書きましたが、Perlを使うということはTeXからPerlのプログラムを起動するということです。これにはwrite18コマンドを使うのですが悪意のあるプログラムを実行してしまう可能性があるため基本的に使用できません。使用するには``--shell-escape``オプションを利用します。このオプションを使うとwrite18コマンドが利用可能になりますので変なファイルをコンパイルするときは注意してください。

では以下TeXShopで使えるようにする方法です。TeXShop.appを右クリックして「パッケージの内容を表示」を選んでください。開いたらteTeX→binとたどってXtexShopという名前のファイルを探してください(TeXShopの設定で内部設定タブにある「TeX + dvips + distiller」のLatexが「XtexShop」になっている場合)。見つかったらファイルを別名でコピーしてください。コピーしたものを適当なエディタで開き、16行目の

```
$PLATEX $KANJI $TEX
```
を

```
$PLATEX --shell-escape $KANJI $TEX
```
にしてください。

後は最後にTeXShopの設定を変更します。設定のタイプセットタブにある「デフォルトのスクリプト」を「デフォルトのスクリプト」にしてください。次に詳細タブの「パーソナルスクリプト」で「LaTeXプログラム」の欄を先ほどXtexShopをコピーして付けた名前にしてください。例えばファイル名を「XtexShop-emath」にしたなら入力欄にそのまま「XtexShop-emath」と打ち込んでください。最後に再起動すれば使えるようになります。


# リンク
PerlとTeXShop関連で参考になったサイトのリンクを貼っておきます。僕の説明では不十分な部分もあるので一度目を通しておくといいかと思います。

[perlとの連携](http://emath.s40.xrea.com/ydir/Wiki/index.php?perl%A4%C8%A4%CE%CF%A2%B7%C8)
[emath BBS](http://hpcgi3.nifty.com/emath/treebbs.cgi?kako=1&log=9194)
[pTeX/UpTeX.app + TeXShopでshell-escapeを使う](http://www2.kumagaku.ac.jp/teacher/herogw/shell.html)