ローカルでLaTeXでタイプセットしたい
今やOverleafなどのクラウド型LaTeXサービスは存在しますが、例えば卒業論文を書こうとすると画像の大きさでタイムアウト...なんてことが頻発します。
ローカルでできるようにすれば簡単ですが、macOS上でTeX Liveをセットアップしようとして一悶着あったのでまとめてみました
環境
macOS Monterey 12.6 (21G115)
TeX Live 2022
IntelliJ IDEA 2022.2.3 (Ultimate Edition (Student Licenseも可、Communityは未検証))
MacTeXをインストール
macOSではMacTeXを使ってTeX Liveを入れることができる。MacTeXの入れ方自体はさまざまなサイトに書いてあるのであまり深入りしないが、
参考までに日本語コミュニティのページを記載しておく。
ちなみに、こちらではhomebrewを使った。 brew install --cask mactex
IntelliJ IDEAをTeXに対応させる
IntelliJ IDEAは元々Java関係のプログラムを開発するために作られているが、Ultimate EditionではPHPやRuby、Goなどにも対応させることができる。
さらに、プラグインを入れることで元々どのエディションもサポートしない言語に対応させることができる。
TeX/LaTeXに対応させるためにインストールするプラグインはこれ:
これをインストールすると、TeXファイルのシンタックスハイライトが有効になるだけではなく、TeXコマンドの補完が可能になり、
さらにはコンパイル用のRun Configurationのテンプレを追加してくれる。
今回はこのテンプレを使ってIDEA上でタイプセットまでできるようにする。
Run Configuration としてTeXファイルをコンパイルする
ここが一番躓いた。
まず、日本語環境にインストールするTeX Liveの場合、実際の論文が日本語を含むかどうかに関わらず、
LaTeXのタイプセット関連のツールをまとめて呼んでくれる latexmk
を使うのが良いようだ。
そこで、まずは latexmkrc
を用意する。
これはホームディレクトリの中かプロジェクトルートのどちらかに.latexmkrc
のファイル名で置いておけば良い。
日本語用latexmkrc
の設定内容は様々なところで紹介されているが、どこもだいたいこのような内容で紹介しているはずだ。
#!/usr/bin/env perl
$pdf_mode = 3;
$latex = 'platex -halt-on-error';
$latex_silent = 'platex -halt-on-error -interaction=batchmode';
$bibtex = 'pbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';
次に Run Configuration を作る。
まず、Run Configurationの追加ボタンからLaTeX
をテンプレとして選択する。
そしてここからがつまずきポイントなのだが、macOSはセキュリティの関係上、「特定の場所にインストールされたコマンドを実行するのにユーザの明示的なパス指定が必要」となっていて、
TeX Liveのコマンドはこの「特定の場所にインストール」されている。
そのため、Compiler
を Latexmk
に指定しただけではエラーばかり出てコンパイルできない。
(これに気づくまで小一時間ハマり散らかしていた)
よほどのことをしていない限りは、次のパスにあるはずだ。
/Library/TeX/texbin/latexmk
もちろん which
コマンドの結果をクリップボードにコピーしても良い。
which latexmk | pbcopy
この値を Select custom compiler executable path (required on Mac OS X)
を有効にした下のテキストボックスにペーストすれば良い。
[ちなみに]
PDF ViewerはPDF Viewer
というプラグインを入れているとBuilt-in PDF Viewer
という名前で出現する。
ただし、場合によってはPDFにはちゃんと日本語文字があるはずなのに
このViewerで見た時だけ全部消えることもあるようなので、
しっかり確認するにはmacOS付属のプレビュー.appを使った方が良い。
少しスクロールして下の部分に存在するこれらの値はそれぞれ
項目 | 値 |
---|---|
Main file to compile | コンパイルするTeXファイルへのフルパス(画像ではファイル名だけだがフルパスでなければ実行できない) |
Directory for output files | 出力するPDFなどの場所、 {projectDir}/output としておくとプロジェクトの output ディレクトリに出力される |
Output format | DEFAULTを選択 |
としておく。特に、 Directory for output files
は {projectDir}/output
と入力しておく方が良い。
というのも、LaTeXはコンパイル時にPDF以外にも高速化のために様々なファイルを出力するからである。
プロジェクトフォルダにそのまま出力してしまうと結構大変なことになるのでおすすめしない。
Name:
の部分に適当に Run Configuration の名前を与えて [OK] をクリックし、これを Run
(画面上部緑色の矢印) から実行すれば、LaTeXファイルに問題がない限りはコンパイルされるはずである。
ちなみに、IDEAの設定画面の Languages & Frameworks > TeXiFy
から確認できる設定のうち、
赤枠で囲まれた部分にチェックを入れておくと、保存するごとにコンパイルしてくれる。
CPUに余裕のある場合はチェックしていても良いだろう。