情報系音ゲーマーの手記

Splatoon2とかDDRとか

MacTeXを導入した話

今回の記事はMacTeXの導入とパッケージの追加についてです。他の方がとてもわかりやすい記事を書いてくださっていたので、それを紹介するという形になります。

 

 

少し前のお話です。

 

「よーし今日もレポート書くぞ〜!」と意気込み、例のごとくCloud LaTeXさんを使わせていただこうと思ったんですが、その前日までコンパイル出来てたものがコンパイル出来ない。

 

エラーメッセージを確認したところ"urlパッケージが使えないよ!"とのこと。

なんでやと思いTwitterでサーチをかけてみると、同時刻に同じ症状になっていた人が多数。(現在は復旧しています。)

また、なぜか年末にCloud LaTeXが使えなくなることが多いとの情報も得た。卒論が迫っている人は死ぬ。

 

自分もレポートの締め切りが近く、復旧が間に合わなければマズいと思い代替案を探すことに。

 

そこで見つけたのがMacTeXなるもの。

MacOS Sierra(Version 10.12.1)を使っているのでこちらのサイトを参考にさせていただき導入を行なった。

qiita.com

こちらに書かれている通りに進めれば必要なものセットはほぼほぼ入ります。

(Ghostscriptのことはよくわからなかったので2番目の項目から始めました。)

 

注意点としてはMacTeX.pkgの容量が3GBか4GBくらいあるのでダウンロードにそれなりに時間がかかること。(正確には覚えてないですが、自分の場合は40分くらいだった気がします。)

もう一点の注意点はコマンド"sudo tlmgr update --self --all"で更新されるファイルが500個くらいあるのでこちらも時間がかかるということです。(20分強くらい?)

 

無事にインストール等々が終わるとアプリケーションにTeXというフォルダができます。こんな感じです↓

f:id:eiki1253:20161216140929p:plain

 

 

その中を確認すると以下のようになってます。

f:id:eiki1253:20161216141030p:plain

TeXを書くのであればTeXShopを使います。

Keynoteとか用に数式を作るんだったらLaTeXiTを使います。

 

 

ここからはパッケージの追加についてです。

MacTeXの環境が無事に整ったので、Cloud LaTexにおいて作成途中だったレポートのソースをコピペして動作させようとしたところ"パッケージjlistingが使えないよ!"という旨のエラーが出ました。

他のパッケージはよく利用されるパッケージらしくMacTeX標準搭載でしたが、これだけ引っかかってしまったようです。

 

そこでドンピシャなサイトを発見。先人の知恵は偉大です。

www.takunoko.com

 

途中に書いてある移動先のフォルダについてですが、"kpsewhich listings.sty"というコマンドをターミナルに打ち込むことにより、すでに導入されているパッケージlistingsの場所がわかるので、その結果を参考にするといいかもしれません。

ちなみに上記のコマンドで僕は次のようになりました。

f:id:eiki1253:20161216143608p:plain

 

参考にさせていただいた記事だと"sudo mktexlsr"のコマンドが実行できないということでしたが、僕の環境だとそのまま通っちゃいました。よくわからんですね。

 

最後にサンプルプログラムを動かしてみます。

前述のTeXShopを開くと次のような画面になります。

f:id:eiki1253:20161216144423p:plain

 

ハローワールド的なプログラムを作成し、保存。

(⚠️保存場所について、様々なファイルがpdfファイルを作るまでの副産物として生成されるので、1つのtexファイルにつき1つのフォルダを用意しておいた方がいいと思います。)

f:id:eiki1253:20161216144751p:plain

ここで左上にある「タイプセット」をクリックするとコンパイルが開始されます。導入がうまく行われていれば、次のようになります。

f:id:eiki1253:20161216145036p:plain

pdfファイルが画面上に出力されていればコンパイル成功です。

 

画像左下のコンソール画面はエラーがあった時に知らせてくれます。Enterキーを押していけば1つずつエラーを表示してくれます。また、コンソール内の右上にある「作業ファイルを削除」ボタンを押すと先ほど言った副産物をまとめて処理してくれます。(ゴミ箱に送るだけなので気がついたときに空にしておきましょう。)

 

 

そんなこんなで今回もおしまい。