macOSにTeX Liveを入れてIntelliJ IDEAでタイプセットする

ローカルで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の入れ方自体はさまざまなサイトに書いてあるのであまり深入りしないが、 参考までに日本語コミュニティのページを記載しておく。

https://texwiki.texjp.org/?MacTeX

MacTeX - TeX Wiki

MacTeX は TeX Live をベースにした macOS 専用の TeX ディストリビューションです。 TeX Live をフルインストールし,オプションでいくつかの追加アプリケーションもインストールします。...

ちなみに、こちらではhomebrewを使った。 brew install --cask mactex

IntelliJ IDEAをTeXに対応させる

https://www.jetbrains.com/idea/

IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains

A Capable and Ergonomic Java IDE for Enterprise Java, Scala, Kotlin and much more...

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をテンプレとして選択する。

Image from Gyazo

そしてここからがつまずきポイントなのだが、
macOSはセキュリティの関係上、「特定の場所にインストールされたコマンドを実行するのにユーザの明示的なパス指定が必要」となっていて、 TeX Liveのコマンドはこの「特定の場所にインストール」されている。

そのため、CompilerLatexmk に指定しただけではエラーばかり出てコンパイルできない。
(これに気づくまで小一時間ハマり散らかしていた)

よほどのことをしていない限りは、次のパスにあるはずだ。

/Library/TeX/texbin/latexmk

もちろん which コマンドの結果をクリップボードにコピーしても良い。

which latexmk | pbcopy

pbcopyはmacOS特有のコマンドで、パイプで繋いだコマンドの出力をクリップボードにコピーしてくれます

この値を Select custom compiler executable path (required on Mac OS X) を有効にした下のテキストボックスにペーストすれば良い。

Image from Gyazo

[ちなみに]
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以外にも高速化のために様々なファイルを出力するからである。
プロジェクトフォルダにそのまま出力してしまうと結構大変なことになるのでおすすめしない。

Image from Gyazo

Name: の部分に適当に Run Configuration の名前を与えて [OK] をクリックし、これを Run (画面上部緑色の矢印) から実行すれば、LaTeXファイルに問題がない限りはコンパイルされるはずである。

Image from Gyazo

ちなみに、IDEAの設定画面の Languages & Frameworks > TeXiFy から確認できる設定のうち、 赤枠で囲まれた部分にチェックを入れておくと、保存するごとにコンパイルしてくれる。 CPUに余裕のある場合はチェックしていても良いだろう。

Image from Gyazo