Windows10（64bit）にTeXとemathをインストールした

特別なことはない（はず）ですし，2019/10/5 現在の私の環境での話なので，自分のための記録です。Markdown記法の勉強も兼ねてQiita初投稿。

#1. 概要
増税前＆サポート終了間近ということで，調子の悪かったWindows7（もとはVista)パソコンとはおさらばして買い替えとなりました。新しいのはWindows10（64bit）です。
買い替え前のパソコン（ともう1台のパソコン）と同様に，TeX+emathで数式の入った文書を作ったり関数のグラフをかいたりしたくてTeXとemathをインストールしました。したのは

- TeX（ｗ32TeX）とemathのインストール（Perlとの連携含む）
- GSView5.0 のインストールと設定
- TeXworksの設定（Perlとの連携，psファイルの作成など）

といったところ。TeXworksはこれまでほとんど使ったことがなかったのですが，一緒にインストールされたし情報も多そうなので，これからはこれを使おうかということで設定。


#2. TeX（本体）のインストール

Windowsなら，TeX ディストリビューションはTeX Live か W32TeX だそうですが，「簡単そう」という理由でTeXインストーラ 3 を使うことにしたのでW32TeXになりました。


[TeXインストーラ3のページ](https://www.ms.u-tokyo.ac.jp/~abenori/soft/abtexinst.html)[^1]に行って，最新版（abtexinst_0_91.zip）をダウンロードし，展開したフォルダにあるabtexinst.exeをダブルクリック。デフォルトの設定のまま「次へ」とかをクリックしていって完了（簡単！）。

dviout for Windows，Ghostscript，texworksも同時にインストールされました（一部のみのインストールも可能とのこと）。以前はあったGSViewのインストール機能は1つ前の0.90(2019/01/04)からなくなっています。Ghostscriptは 9.27の32bit版みたいです。texworksはどこだろうと探したら，C:\w32tex\share\texworksにtexworks.exeがありました。

texworksを立ち上げ，テスト用の.texファイルを作ります。

```tex:ex1.tex
\documentclass{article}
\begin{document}
Hello, \TeX!
\[ \int dx = x +C \]
\end{document}
```

と打ち込んで左上の緑の三角形を押したら，ちゃんと数式入りのpdfができて一安心。TeXインストーラ3のおかげで簡単にインストールできました。ありがたい。

[^1]: https://www.ms.u-tokyo.ac.jp/~abenori/soft/abtexinst.html （TeXインストーラ3）




#3. emathのインストール（Perlとの連携以外）
インストールといっても，ダウンロードしたファイルを “しかるべき場所” に置くだけです。

###3-1 ファイルのダウンロードとemath.styの置き場所

[emathのページ](http://emath.s40.xrea.com/ "emath")[^2]に行き，ダウンロードページに進み，
[^2]: http://emath.s40.xrea.com/ （emath）
・丸ごとパック（emathf051107c.zip）
・訂正版（emathc190703）
・perl との連携用スクリプトファイルの訂正版　emathpl130521 (emathpl16.zip)
をダウンロード。

このほかに「emathに必要なその他のファイル」も必要ですが，以前にダウンロードしたのをコピーして持ってきたので（perlとの連携用ファイル以外），今回は省略。ダウンロードしたのはずいぶん前で，必要なファイルとか変わってるかもしれないのですが，面倒なのでとりあえずはこれで。

展開してできたファイルやフォルダの置き場所は[emath.styの置き場所- PukiWiki][] [^3]に従って調べました。
[emath.styの置き場所- PukiWiki]:http://emath.s40.xrea.com/ydir/Wiki/index.php?emath.sty%A4%CE%C3%D6%A4%AD%BE%EC%BD%EA "emath.styの置き場所 - PukiWiki" 


結論から言うと，先ほどのページの事例11の
　　c:/Users/ユーザー名/texmf/tex/platex/misc/emath　（ c:\Users\ユーザー名\texmf\tex\platex\misc\emath ）
となりました。存在していないディレクトリは，すべて新規に作成します。私の場合，texmfより下をすべて作成。

ここに丸ごとパックを解凍し得られるzip をさらに解凍して得られるファイルとフォルダすべて（doc，sty，pdfのフォルダとreadme.txt）を 4.で作ったemathフォルダにコピー。さらに，styフォルダに修正パックを解凍して得られるファイルを入れて，修正があったファイルを上書き。

####＜参考：置き場所を調べる過程＞
emath.sty などを置くべき場所 `myTEXMF/mySUBDIR/misc/emath` の　myTEXMF　や mySUBDIR に相当するものを，コマンドプロンプトにコマンドを打って決定します（参考にしたページ：[emath.styの置き場所- PukiWiki][]）。

<strong>（準備） ホームディレクトリの確認とユーザ用 texmf の作成 </strong>
`echo %USERPROFILE%`とすると，C:\Users\ユーザー名 が返ってきたので，これがホームディレクトリ。
ユーザー名は半角英数のみなので，ホームディレクトリの下にtexmfフォルダを作成。
<strong>（操作A) myTEXMFの決定 </strong>
`kpsewhich --expand-path=$TEXMF`（操作A）とすると，たくさん出てきたので，
`kpsewhich --expand-path=$TEXMFHOME`（操作A1）をすると c:/Users/(ユーザー名)/texmf が返ってきました。
これがmyTEXMFなので
　　myTEXMF=c:/Users/ユーザー名/texmf
<strong>（操作B)  mySUBDIR（texmf の下のサブディレクトリ名）の決定 </strong>
`kpsewhich --progname=platex jarticle.cls`（操作B）とすると
　　c:/w32tex/share/texmf-dist/tex/platex/base/jarticle.cls
でした。.../texmf-dist/ （または.../texmf/）の次の文字から，/base/...の直前の文字までの部分が mySUBDIR なので
　　mySUBDIR=tex/platex
<strong>（結論）  emath.sty などの置き場所 </strong>
emath.sty などを置くべき場所は `myTEXMF/mySUBDIR/misc/emath` なので，私の場合
　　c:/Users/ユーザー名/texmf/tex/platex/misc/emath　（ c:\Users\ユーザー名\texmf\tex\platex\misc\emath ）
となります（存在していないディレクトリは，すべて新規に作成）。



###3-2 mktexlsrのこと
ls-R ファイル（スタイルファイルとかのファイルを探しやすくするためのファイル）をつくるコマンドですが，Win32TeXではmktexlsrは使わなくてもいいらしいので，使いませんでした。
※使ってしまうと，新しいstyとかを入れるたびに忘れずに更新しないといけなくなるのですが，[ここ](https://texwiki.texjp.org/?jsclasses "jsclasses - TeX Wiki")[^4]によるとdeltexlsr コマンドを打ち込めば，$TEXMF/ls-R ファイルが削除されるそうです。

###3-3 emathのコマンドのテスト
texworksでemathのコマンドを試してみます。

```tex:ex2.tex
\documentclass{article}
\usepackage{emath}
\begin{document}
Hello!, \TeX!
\[ \int dx = x +C \]
$\bunsuu12 +\teisekibun{x^2+1}01$
\end{document}
```
とすると，ちゃんと分数や定積分の式も出てきました。
perlとの連携とepsファイルの作成ための環境づくりはまだですが，基本的なことはできるようになりました。これでひと安心。

[^3]: http://emath.s40.xrea.com/ydir/Wiki/index.php?emath.sty%A4%CE%C3%D6%A4%AD%BE%EC%BD%EA （emath.styの置き場所 - PukiWiki）
[^4]: https://texwiki.texjp.org/?jsclasses （jsclasses - TeX Wiki）

###3-4 その他のファイルの置き場所（emathに必要なもの，それ以外のもの）

「emathに必要なその他のファイル」のことは後から思い出したのですが，emath-sonotaフォルダにまとめて，emathと同じフォルダ（C:\Users\ユーザー名\texmf\tex\platex\misc）に置きました。ついでに，一般には配布されていない，その他のローカルなスタイルファイルやクラスファイルもフォルダにまとめて同じところに置きました。
※前はemathフォルダと同じフォルダに置いてたので，とりあえずこれで。間違ってるかもしれませんが，困ったときに考えます…。
※emath関連のファイルのうち，perl との連携用のファイルは別のところに置きます。



#4. emathとPerlの連携

emathPp.styを使ってPerlと連携させると，グラフを作るときも関数の式や座標の設定で分数とか$\sqrt{\ \ }$とか三角関数とかもそのまま使えるなど，めちゃくちゃ便利です。連携には [3-1](#3-1 ) でダウンロードした「perl との連携用スクリプトファイルの訂正版」を使います。もちろんPerlも必要です。

参考にしたページ：
（参考1）[perlとの連携 - PukiWiki][][^5] （PerlのダウンロードとemathとPerlの連携）
（参考2）[TeXWorks で perl との連携 - PukiWiki][][^6] 
（参考3）[emathのインストール方法　私の場合　Windows10 64bit | 数樂管理人のブログだよ][][^7]（Perlとの連携も含めたemathのインストール。途中の過程も詳しいです）


[perlとの連携 - PukiWiki]: http://emath.s40.xrea.com/ydir/Wiki/index.php?perl%A4%C8%A4%CE%CF%A2%B7%C8 
[TeXWorks で perl との連携 - PukiWiki]: http://emath.s40.xrea.com/ydir/Wiki/index.php?TeXWorks%20%A4%C7%20perl%20%A4%C8%A4%CE%CF%A2%B7%C8
[emathのインストール方法　私の場合　Windows10 64bit | 数樂管理人のブログだよ]: https://www.mathtext.info/blog/2018/04/20/emathのインストール%e3%80%80私の場合%e3%80%80win10-64bit/

[^5]: http://emath.s40.xrea.com/ydir/Wiki/index.php?perl%A4%C8%A4%CE%CF%A2%B7%C8 （perlとの連携 - PukiWiki)

[^6]: http://emath.s40.xrea.com/ydir/Wiki/index.php?TeXWorks%20%A4%C7%20perl%20%A4%C8%A4%CE%CF%A2%B7%C88 （TeXWorks で perl との連携 - PukiWiki)

[^7]: https://www.mathtext.info/blog/2018/04/20/emathのインストール%e3%80%80私の場合%e3%80%80win10-64bit/ (emathのインストール方法　私の場合　Windows10 64bit | 数樂管理人のブログだよ)

###4-1 Active Perlのインストール
[Active Perlのダウンロードページ](https://www.activestate.com/products/activeperl/downloads/)[^8]から，Windows(64bit)用のActive Perl5.28をダウンロードし，ActivePerl-5.28.1.0000-MSWin32-x64-832ee6ab.exe をダブルクリック。すべてデフォルトのままクリックしていって完了。
（補足）アカウント（無料）をつくらないとダウンロードファイルがあるところに行けなかったので，アカウントを作りました。

[^8]: https://www.activestate.com/products/activeperl/downloads/ （Download Perl: ActivePerl | ActiveState）


再起動して（再起動しないとダメでした），コマンドプロンプトで `perl -v` と打ってエンターキーを押します。バージョン情報が出てきて，perlがインストールされていること確認。



###4-2 連携ファイルを置く

[（参考1）][perlとの連携 - PukiWiki]の「連携の準備 」に従って進めます（[（参考3）][emathのインストール方法　私の場合　Windows10 64bit | 数樂管理人のブログだよ]でも同じ）。

コマンドプロンプトで `perl -V` （-V の 'V' は大文字）と打ってエンターキーを押すして最後のほう（`@INC:` の後）を見ると

```
  @INC:
     C:/Perl64/site/lib
     C:/Perl64/lib
```

でした。このうちのどちらかに「perl との連携用スクリプトファイルの訂正版」を展開して得たファイルを置きます。
（補足1）連携用スクリプトファイルは，BignCr.pl，degsine.pl，emath.pl，nCr.pl の4つでした
（補足2）2か所のうち，C:/Perl64/lib におきました。


###4-3 TeXworksの設定

普通にコンパイルしてもperlと連携してくれないので，[（参考2）][TeXWorks で perl との連携 - PukiWiki]に従って  `-shell-escape` オプションつけてコンパイルしてくれるタイプセットの方法を新規作成します。
※ptex2pdf.exe が存在したので「ptex2pdf.exe が存在する場合」に従ってます。

TeXworksのメニューの編集の設定を選択し，タイプセットのタブをクリックし，下の「タイプセットの方法」で[+]ボタンを押すと作成画面が出ます。

```
名前：shellescape
プログラム：ptex2pdf
引数：
-l
-ot
-shell-escape -kanji=utf8 -guess-input-enc $synctexoption
$fullname
```

として，OKを何回か押して作成。
※名前はわかれば何でもいいです。
※引数は1行ずつ入れることになります
※引き数の1行目の`-l` の -（ハイフン）の後は小文字のエルです。


使うときには緑の三角の右のプルダウンメニューから「shellescape」を選んで緑の三角をクリックするだけでOK。

動作確認(1)のperllib.tex

> \documentclass{jarticle}
> \begin{document}
> start
> \write18{perl -V>perllib.txt}
> end.
> \end{document}

も問題なし。動作確認(1)でできたperllib.txtの`@INC:` の後の部分は[4-2](#4-2-連携ファイルを置く)で `perl -V` したときのと同じだったので，連携ファイルの配置は追加せず。

動作確認(2)のかわりに自分でつくったファイルをコンパイルして→OK。emathとperlとの連携もできるようになりました。


####【-shell-escape オプションについての注意】
perlと連携するには `-shell-escape` （省略形なら `-shell-e` ） オプションをつけてコンパイルする必要がありますが

> 上のサンプルリスト rootii.tex は，普通にタイプセットしたのではエラーになります。
> perl との連携を実現するには，emath から tex のコマンド
> 　　\write18{......}
> を呼び出しますが，このコマンドは危険なコマンドであるため，デフォルトでは使用禁止となっています。
> これを使用可能とする方法はありますが，\write18 の危険性は失われません。
> \write18 を使用するのは，自分の作ったソースリストなどに限定して用いないといけません。

> 実行時オプション -shell-escape
> \write18 の使用を認めるオプションが -shell-escape です。

だそうですので（[（参考1）「perlとの連携 - PukiWiki」][perlとの連携 - PukiWiki]より），注意してください。


#5. epsファイルをつくるために

[ここ](http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/insert_pdf/index.php "LaTeX:: PDF の挿入")[^9]によると，挿入する図はPDFのほうがいいらしいですし，GSView5.0はGhostscript9.27に対応していない部分もあるみたいですが，とりあえずは図のepsファイルを作れるようにGSView5.0をダウンロード＆設定します。

###5-1 GSView5.0 のダウンロードと設定

参考にしたページ：
[TeX Wiki　GSview](https://texwiki.texjp.org/?GSview)[^10]
[W32TeX](http://w32tex.org/index-ja.html)[^11]の「GPL Ghostscript 9.27 バイナリ」のところ


[Obtaining GSview 5.0](http://www.ghostgum.com.au/software/gsview.htm)[^12] からGSview 5.0 インストーラを ダウンロードします。32bit版/64bit版は使用するGhostscript の 64-bit 版/32-bit 版に合わせる必要があるそうです。

PCは64bitですが，TeXインストーラ3でインストールされたGhostscript9.27が32bit版だったので[^13]，32bit版（gsv50w32.exe）をダウンロード。ダブルクリックしてすべてデフォルトでインストール完了。

[^9]: http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/insert_pdf/index.php （LaTeX　PDF 挿入/Yamamoto's Laboratory ）
[^10]: https://texwiki.texjp.org/?GSview （TeX Wiki　GSview）
[^11]: http://w32tex.org/index-ja.html （W32TeX）角藤さんのWindowsに移植されたpTeXであるW32TeXのページ　 
[^12]: http://www.ghostgum.com.au/software/gsview.htm （Obtaining GSview 5.0）
[^13]: C:\Program Files (x86)\gs\gs9.27\bin に gswin32.exe と gswin32c.exe があった。

インストール後の設定は

- Optionsのメニューの Safer のチェックをはずす

- OptionsのメニューからAdvanced Configure...を選択して
　Ghostscript Optionsの枠の最後に「-dWINKANJI」と「-dSAFER」を加える
　※「-dNOPLATFONTS -sFONTPATH="c:\psfonts" -dWINKANJI -dSAFER」なる。
　　オプションとオプションの間に半角空白が必要なので注意。
  （「-dWINKANJI」オプションはなくてもいいのかも）。
- Optionsのメニューの Show Bounding Box にチェックを入れておくとepsを見るとき便利です。

psファイルからepsファイルをつくるには，psファイル（1ページのもの）をGSViewで開いて
[File] → [PS to EPS ] →「Aoutomatically calculate Bounding Box」 にチェックが入ってることをを確認して「Yes]をクリック。
名前をつけて保存してepsにします（名前に拡張子`.eps`をつけるのを忘れないこと！）。


###5-2 TeXworksの設定～psファイルをつくるために

TeXworksでpsファイルが作れないかなと思って調べました。
dviファイルからpsファイルを作るのですが，TeXworksはデフォルトではdviファイルを消してしまうのでdviを残す設定も必要です。
参考ページ：[QA: TeXworksにdvips 用タイプセットを設定するには？](https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2594)[^13]

[^13]: https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2594 （QA: TeXworksにdvips 用タイプセットを設定するには？（TeX Forum 内のページ））

perlとの連携のときと同様，タイプセットの方法を新規作成します。
（TeXworksのメニューの編集の設定を選択し，タイプセットのタブをクリックし，下の「タイプセットの方法」で[+]ボタンを押すと新規作成画面が出ます）。

####設定1：dviを残す
pdfpLaTeX（perlと連携する場合は，4-3で新規作成したshellescape）にdviを残すオプション（-i）をつけます。いつもdviを残すなら 修正でもいいでしょう。perlと連携しない場合（pdfpLaTeXがベース）は次の通り

```
名前（例）：pdfpLaTeX-dvi
プログラム：ptex2pdf
引数：
-l
-i
-ot
$synctexoption
$fullname
```

※perlと連携する場合は，`$synctexoption`の代わりに`-shell-escape -kanji=utf8 -guess-input-enc $synctexoption`とする


####設定2：psファイルの作成

```
名前（例）：DVItoPS
プログラム：dvips
引数：
-D800 -Ppdf
$basename
```

「pdfpLaTeX-dvi」でコンパイルした後，「DVItoPS」でコンパイルするとpsファイルができます。

これで，TeXの設定はひとまず完了。



#6. 文字コードのこと

TeXworksの初期設定はUTF-8です。texファイルは，UTF-8で作るのが標準になりつつある（なった？）のかな。

####6-1 .texファイルについて

Shift-JIS で作ったtexファイル（これまでに作ったのは全部これ）なので，そのまま開くと文字化けしてしまいます…
（Shift-JISで設定したTeXworksで，UTF-8のファイルを開いた場合も文字化けします)。

対処法は，いったん，ファイルを <strong>編集せずにそのまま</strong> 閉じて

- (ア) 　TeXworksのエンコードの設定を変える
　[編集]→[設定]→「エディタ」タブの「エンコーディング」でファイルの文字コードを選ぶ

- (イ) 　texファイルの文字コードを変える
　texファイルをTeraPadなどのテキストエディタで開いて，文字コードをTeXworksと同じものに指定して保存する

のどちらかをしてからもう一度TeXworksで開いたら，文字化けしませんでした。

####6-2 スタイルファイル等について

これで以前に作ったtexファイルも問題なし！…のはずだったのですが，もらいもののローカルなスタイルファイルを使ったファイルがコンパイルできない・・・。Shift-JISで書かれてるスタイルファイルなどを使ってるとダメみたいです。これについては

- (ウ) 　読み込むファイル（スタイルファイルなど）の文字コードを，Shift-JIS から JISに変換する

でうまくいきました（Shift-JIS → JIS　は Shift-JIS → UTF-8のときみたいに文字化けしなかった）。JIS で書かれたスタイルファイルは大昔の pLaTeX でも今の (u)pLaTeX でも常に正しく読み込めるそうです。

（補足）文字コードの合ってないファイルをごちゃごちゃいじってたら修復不能に…。文字コードのわからない大事なファイルはコピーしてから開くのがよさそうです。

参考にしたページ：[LaTeX のファイルの文字コードをどうするか - Qiita](https://qiita.com/zr_tex8r/items/beda5a7702b84409436e)[^14]
[^14]: https://qiita.com/zr_tex8r/items/beda5a7702b84409436e （LaTeX のファイルの文字コードをどうするか - Qiita）


#7. おぼえがき

- tex本体とPerlとの連携なしのemathなら簡単（置き場所はとりあえず参考ページと同じようなことにおいてみて，ダメならきちんと調べて置きなおせばいいし）。とりあえずならこれだけでも。

- インストールがスムーズに進んだのは，ユーザーフォルダのフォルダ名はアルファベットのみ（かつ空白なし）だったからかも。

- 文字コードに注意。これから作るTeXのファイルの文字コードは UTF-8 のほうがよさそう。スタイルファイル等は特別な理由がない限りShift-JISで作らないこと（JIS か BOM 付 UTF-8 がいいらしい）。

- pdfの図を挿入するのもできるようにしておこう。

- VSCodeとかにもTeXの拡張機能があるようなので，試してみたい。

<br>
（投稿日：2019/10/10（修正はリンクミス等））