Skip to content

Instantly share code, notes, and snippets.

@yarakos95
Created April 29, 2022 06:02
Show Gist options
  • Save yarakos95/4b7c2c50cdc3c04407f01c7d7440f46b to your computer and use it in GitHub Desktop.
Save yarakos95/4b7c2c50cdc3c04407f01c7d7440f46b to your computer and use it in GitHub Desktop.
LaTeX をリアルタイムプレビューしながら編集したい!

LaTeX をリアルタイムプレビューしながら編集したい

LaTeX を編集するとき、リアルタイムにプレビューしたいと考える人は少なくないようだ。 リアルタイムプレビューのメリットは、次のようなコンテンツを編集しながら結果を見ることが出来る点である。

  • 数式
  • TikZ

○ What is リアルタイムプレビュー

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 などのツールを使うときには、注意が必要になる。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment