【Mac】【TeX】MojaveにおいてATOM上でのTeXの快適な環境を0から作る

# 概要
まっさらなMac，それもMojaveでTeXがATOMで使えるようになるまでの最短手続きです（多分）．TeX玄人じゃないので結構苦労しました．なので備忘録です．他の誰かのお役に立ったら嬉しいです．
## 最終的にどうなる？
ATOMで.texファイルを開いたときに，`command + i`を打ち込めば日本語の文章をbibtexも込みでコンパイルしてくれます．

## 環境
端末：MacBook Pro (13-inch, 2017)
OS: macOS Mojave バージョン 10.14.13

# 具体的な手順
まずTeXの設定をした後でATOMの設定をします．
## TeX
### MacTeX-2018のインストール
以下のリンク先の通りにやりましょう．pkgをダウンロードしてGUI付きでインストール．ちなみにHomebrewでのインストールも試みましたが，データのダウンロードが遅すぎて断念しました．
https://texwiki.texjp.org/?MacTeX#j62e687a

### ヒラギノフォントを埋め込むためのpatchの適用
MacはOSのバージョンが変わるたびにフォントの仕様が変わるらしく，TeXでフォントを埋め込む際はバージョンに応じた対応が必要らしいです．今回はMojaveということで以下のリンクのパッチを適用することで対応しました．
https://github.com/munepi/bibunsho7-patch
こうやって簡単に設定できるようにしてくださるパッチ作成者の方に感謝です．

### latexmkの設定
TeXでは.texファイルから.pdfを作成するために色んな工程が必要ですが，それをひとまとめにやっちゃおうというのがlatexmkです．[^1]
Macで日本語を埋め込みたい場合はuplatexを実行することになりますが，どの必要な手続きをlatexmkに設定させて，ワンコマンドで実行できるようにしましょう．latexmkの設定ファイルは`~/.latexmkrc`です．
次のように作成しましょう．


```~/.latexmkrc
#!/usr/bin/env perl

$latex                       = 'uplatex -synctex=1 -halt-on-error %O %S';
$bibtex                      = 'upbibtex %O %B';
$dvipdf                      = 'dvipdfmx %O -o %D %S';
$makeindex                   = 'mendex -U %O -o %D %S';
$max_repeat                  = 5;
$pdf_mode                    = 3; # generates pdf via dvipdfmx

# Prevent latexmk from removing PDF after typeset.
# This enables Skim to chase the update in PDF automatically.
$pvc_view_file_via_temporary = 0;
```
（ぶっちゃけ[参考先](https://qiita.com/ken0nek/items/f98f88c9c45d8499786e#latexmk)の内容をコピペしただけなので私自身は各行の意味をほとんど理解していません）

この状態でターミナル上で

```
latexmk test.tex
```
と実行して無事にコンパイルできれば，TeXの設定はokだと思われます．

[^1]: mkはmakeの略だそうです．あーなるほどねってなる人はなると思います．

## ATOM
### インストール

### 必要なpluginのインストール
[こちら](http://ayihis.hatenablog.com/entry/2016/09/24/143641)を参考にして以下をインストールしましょう．

> 
- latex (atomの中でlatexをコンパイルするやつ)
- language-latex (latexの文章をハイライトするやつ)
- script (ショートカットキーでコードを実行させるやつ)
- pdf-view (atomの中でpdfを見るやつ)

### scriptの設定
ATOMで`Preferences->Packages->script->Settings->View Code`と進みましょう．
するとscriptの設定ファイルのディレクトリが開きます．
そこの`lib/grammars/doc.coffee`の中に以下のような部分があるはずです

```変更前のscript/lib/grammars/doc.coffee
exports.LaTeX =
  'File Based':
    command: 'latexmk'
    args: ({filepath}) -> ['-cd', '-quiet', '-pdf', '-pv', '-shell-escape', filepath]
```
`args:`以降はこのコマンドへの引数を表していると思われます．自分の環境ではオプションのどれかが悪さをしているのかうまく動かなかったので，以下のようにオプション全部取っ払いました．

```変更後のscript/lib/grammars/doc.coffee
exports.LaTeX =
  'File Based':
    command: 'latexmk'
    args: ({filepath}) -> [filepath]
```

オプションは自分の好みで設定してみてください．ターミナルで`latexmk -help`を実行すれば色々教えてくれます．

# これにて完成！
`command+i`を入力するとコンパイルしてくれます．なおかつATOMのsplit機能を活用して，右にpdfを表示しながら作成する，なんてこともできます．やりましたね！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/241529/90b3e659-d9c2-9660-4fea-d46ce355ac57.png)


# 参考文献
MacTeXのインストール
https://texwiki.texjp.org/?MacTeX#j62e687a
Mojaveでヒラギノフォントを埋め込めるようにするパッチ
https://github.com/munepi/bibunsho7-patch
latexmkの設定
https://qiita.com/ken0nek/items/f98f88c9c45d8499786e#latexmk
ATOMに入れるパッケージ
http://ayihis.hatenablog.com/entry/2016/09/24/143641
ATOMのscriptの書き換え[^2]
https://qiita.com/_ha1f/items/01b9e69f93eaea4749d5
[^2]: ただしscriptの仕様変更か，scriptのディレクトリの中にこちらで紹介されているファイルは存在しませんでした．今回紹介したファイルを変更することで同様の設定が可能です．