LaTeX を編集するとき、リアルタイムにプレビューしたいと考える人は少なくないようだ。 リアルタイムプレビューのメリットは、次のようなコンテンツを編集しながら結果を見ることが出来る点である。
- 数式
- TikZ
- 表
LaTeX を編集するときに利用する、以下 2 つの機能のこと。
- 編集画面と PDF ビューワの分割表示
- LaTeX ファイルに変更が加わった際に、自動的にコンパイルを実行する(自動コンパイル)
多くの LaTeX エディタでは画面分割の表示をすることが出来る。しかし、編集と同期してファイルに変更が加わった時にコンパイルする機能はエディタに搭載されていないことが多い。
今回は、自動コンパイルが可能になるように考えたい。
自動コンパイルを実現するには、2 つの方法がある。
- サポートしているエディタを利用する
- ツールのオプションを利用する
以下でこれらの例を紹介したい。もちろん、これらに留まるものではないことに注意してほしい。
以下 2 つのエディタの拡張機能から自動コンパイルが提供されている。 自動コンパイルに対応している場合、次のツールによる自動コンパイルは避けた方が良いだろう。
エディタ | 拡張機能 | 設定 |
---|---|---|
Atom | LaTeX package | “Build on Save” を有効にする |
VSCode | LaTeX Workshop | latex-workshop.latex.autoBuild.run を有効にする |
他にも、Emacs や Vim などのエディタがあるが、これらも拡張機能から自動コンパイルの機能が提供されていそうである。調べてみては。
TeXworks や TeXShop や TeXstudio は LaTeX の専用エディタだが、これらには自動コンパイルの機能が搭載されていない。以下のツールを利用して自動コンパイルを実現することを考えると良いだろう。
以下のツールは相互参照などの問題が解決するまで繰り返しコンパイルを実行するためのツールだが、オプション機能としてファイルの変更を監視するシステムがある。
ツール | 設定オプション |
---|---|
latexmk | -pvc (preview continuously) |
cluttex | --watch |
すなわち、次のように利用することで、ファイルの更新時にコンパイルが実行される。
$ latexmk -pvc <fileName.tex>
$ cluttex --watch <fileName.tex>
ただし、エラーをパースして表示できるエディタを利用する場合には注意が必要になる。これは、エラーをパースするためのトリガーがコンパイル実行の終了となっているためである。(コンパイル実行中にエラーをパースしない)
リアルタイムプレビューはエディタにこだわらず実現できる。
ただし、エラーを表示できるエディタで latexmk などのツールを使うときには、注意が必要になる。