TeX のプレビュー用アプリを作った

LiveTeX というアプリをオープンソースで公開しました。
このアプリは TeX のプレビュー用アプリで、好きなエディタで tex を編集 → LiveTeX でプレビューという使い方ができます。

LiveTeX は tex ファイルを監視して、ファイルが変更されると自動でコンパイルするようになっています。
自動コンパイルのタイミングやコンパイルに使うスクリプトは自由に設定できます。
また、ショートカットキーを使って手動でコンパイルすることもできます。

f:id:questbeat:20160216154351p:plain:w400

TeX 環境の変遷

これまで、僕の TeX 環境は常に変化を続けてきました。
ここでは LiveTeX を作るに至るまでの流れを紹介します。

1. TeXShop

はじめに使っていたのは TeXShop という TeX エディタ兼プレビューアでした。
MacTeX にもバンドルされているので皆さんご存知かと思います。
TeXShop は十分に高機能なのですが、Vim などに慣れてくるとエディタに不満を感じるようになりました。

2. Vim + Vim-LaTeX + プレビュー.app

Vim を使うのに慣れてくると、TeXVim で書きたいと思うようになりました。
その頃に使っていたのが Vim-LaTeX というプラグインです。
このプラグインのおかげで、Vim からコマンドを実行するだけで texコンパイルとプレビューができるようになりました。
しかし、結局は手動でコマンドを実行しないといけないので、そこが少し面倒に感じられました。
(知らなかっただけで自動でコマンドを実行する設定はあったのかもしれない)

3. Texpad

次に試したのが Texpad というアプリです。
Texpad にはソースコードの自動補完や文書のアウトライン表示機能、プレビューの自動更新などの機能が備わっていて、文書作成がとても快適になりました。
しかし値段が高く(現在 $24.99/license)、また Mac を変える度にライセンスを購入し直す必要があるということが分かり、使うのをやめました。

Texpad は Mac App Store でも購入できますが、公式サイトで購入できるものに比べてバージョンがかなり古いです。(MAS のは 1.4.7 だけど最新は 1.7.23)
おそらく Sandbox の制約などで最新版が出せないのでしょう。

Texpad に興味のある方は、まずは14日間使える試用版を使ってみることをおすすめします。

4. 好きなエディタ + Guard + プレビュー.app

次に試したのは、Guardtex ファイルを監視し、ファイルが変更される度にコンパイルするスクリプトを走らせプレビュー.appで開く、という構成でした。
こうすることで自分の好きなエディタを使えるようになりました。
しかしプレビューに難があり、ファイルが更新されるとスクロール位置が変わってしまうという問題がありました。

5. 好きなエディタ + LiveTeX

上記の問題を解決するために、いっそのこと TeX のプレビュー専用アプリを作ってしまおう、ということで出来上がったのが LiveTeX です。
例えば Markdown には Marked というプレビュー専用のアプリがありますが、そんな感じの位置付けです。

できるのは簡単なプレビューだけで、機能も拡大縮小くらいしかありませんが、いまのところ快適に使えています。
研究発表の資料や修論を書くときにはこれを使っていました。

ただ、ひとつ問題があって、エディタによってはファイルの変更が拾えずプレビューの自動更新ができません。
これについては今後ファイルの監視方法を変える必要があるかなと思っています。

Skim

これを作った後に Skim でも同じことができるのに気づきました。
Skim は PDF に特化したプレビュー.app という感じです。
LiveTeX との大きな違いはコンパイルをユーザがするかアプリがするかというところでしょうか。
しかし Skim は SyncTeX とかいうのに対応してるみたいなので、こっちを使うともっと便利なことがあるのかもしれません。

おわりに

別にどんなツール使ってもいいんで卒業成功させましょう