パッケージの入れ方が分かんなくてもSublime Text単体でコンパイルを済ませたい!
今回はSublime TextでTeXのコンパイルをしたいけど, パッケージインストールに挫折した人とか,既にw32texがPCに入ってる人のための内容のつもりです.
なんでこうなった
テキストエディタはsublime Textを使ってるけどlatex?のパッケージ入れ方わかんないし,コマンドプロンプトでw32texのplatexを呼んでればいいやと思ってここ数年texをさわさわしてたけど, つい最近sublime textにbuild systemてゆう便利な機能があってその内容も自分で書けるって知ったのが発端です.
結論
このようにしとけばわざわざコマンドプロンプトを開く必要もなくSublime Textのみで完結させることが可能になる.
しかし,texなどの環境はどのpcに入っているわけでもないので出かけ先でtexを使用したい場合はCloud LaTeXやUSBにTeX環境を構築しておくことになる.
その場合,環境変数は指定しないとだし,パスも毎回変えるのは面倒. そこで,usbに構築してあるドライブレターが変わってもフレキシブルに対応できるように中身を書き換えちゃおう.
準備段階
本稿では以下のソフトウェアが必要です.
※adobeだとコンパイルの度に閉じる面倒があるので,SumatraPDFを使うことにする.
本稿の3ステップ
詳しいやり方
説明が面倒なので,どのPCにもw32tex等が入ってることにする.
だから今回はPDF表示の部分だけバッチファイルで補う
ここで,
バッチファイル(Batch File)とは、MS-DOS、OS/2、Windowsでのコマンドプロンプト(シェル)に行わせたい命令列をテキストファイルに記述したもの。
らしい.すなわちwindows向けかもしれない.
buildsystemの作成
コンパイルした後PDFを開きたいけどPDFviewerがUSBに入ってるとき,USBを刺した時にドライブレターが決まるので,この部分はbatファイルで補うことにする.(ワンチャンbuildsystemの変数だけで行けそうな気もする.
{ "cmd": [ "platex","$file","-interaction=nonstopmode","&", "dvipdfm","$file_base_name","&", "${packages}\\User\\platex.bat","$file_base_name.pdf" ], "shell":true }
5行目でbatファイルに対して,dvipdfmxで作成されたPDFファイル名を渡してる.
また5行目からもわかるようにbatファイルは sublime-buildファイルの保存先と同じ場所である,package/User/に保存することにする.名前は適当.
なお,この文章中で,selectorの設定を行うと*.texに対してはbuild sytemが自動でplatexに設定されるようにできたりするらしい.ぜひ導入するべき.
platex.batの作成
PDFを起動するだけ
@echo off set PATH=%~d0\usr\SumatraPDF;%PATH% start SumatraPDF.exe %1 exit /b 0
batファイルの書き方はよくわかんないので不要な文などが多くあるらしい.(動くからいい的な
実行方法
sublimeTextでTeXを開く,toolのbuildsystemをplatexに指定して,ctrl + B
何もエラーがなければ,SumatraPDFが起動し,生成されたPDFファイルが表示される.
まとめ
sublime Textのbuild sytem機能を用いてLaTeXのコンパイル,PDF化,PDFの表示ができるようになりました.今までのmakefileより圧倒的成長✌ やってること的にはEmEditorのコンパイル機能と変わらない気がするけど()
build systemはコマンドプロンプトを省略できるのは細かいけど応用が利きそうです.