hogashi.*

日記から何から

Windows 10で素朴にlatexmkを叩く

 以前からWindowsSublime Textを使ってLatexToolsプラグインを入れて……とやっていたものの、久しぶりに使ったらどうしようにも上手くビルドできなくなっていた。なのでなんとかした。

 Windows 10 では Bash on Windows を使うと apt で全てが手に入る。確か以下をインストールした。足りなかったら texlive-fonts-recommend とか入れなきゃならないかもしれない。というか texlive-lang-japanese でいいのかもしれない。

$ apt-get install texlive-lang-cjk xpdf

 インストールできたら

$ latexmk -pvc hoge.tex

で監視モードができる。ファイルを更新するごとにタイプセットし直してくれるので、保存するたびにPDFが最新になる。
 監視せず一回だけ走らせたいときは -pvc を外すとよい。

 往々にして ujarticle など日本語文書を使うときに latex とか platex とかをエンジンとして使っていると JY1 なり JY2 なりと書かれたエラーで怒られるけど、
~/.latexmkrc をつくると解決する。以下を参考にした。
qiita.com

 この方法では、ディスプレイを共有できない(少なくとも僕は知らない)のでプレビューが開かない。が、Windows側の SumatraPDF で該当のPDFファイルを開いておけば随時更新されるので、同等といえる。

 どのみち latex をインストールするのであんまり素朴とは言い難いかもしれないけど、 latex なので避けられない*1

蛇足

 最初は、既にWindowslatexをインストールしてしまったので、素朴にコマンドプロンプトからlatexmkを叩こうと思いたった。

latexmk -pvc -e "$latex='uplatex %%O -interaction=batchmode -synctex=1 %%S'" -e "$dvipdf='dvipdfmx %%O -o %%D %%S'" -f -norc -gg -pdfdvi %1

 これをbatファイルにして、環境変数PATHの通った場所に置くと、コマンドプロンプトから呼び出せて便利。SumatraPDFをインストールしてあればそれが起動する、気がする。
 たとえばこのbatファイルを mylatexmk.bat として保存したときは、

> mylatexmk hoge.tex

とすると起動できる。
 この方法ではプレビューがそのまま開く。


 ちなみに、コマンドオプションはよく見ていなくて、LatexToolsの設定からとってきた部分と、 -pvc ってつけると監視モードになるって記憶のみで構成されている。なので後々修正したりしそう。

 ちなみにちなみに、エクスプローラで開いているフォルダを起点にしてコマンドプロンプトを立ち上げるときは、エクスプローラのアドレスバーに cmd と打ち込むと素早い。
 Windowsに拘っている訳は、Sublime Textの日本語入力ができるから。

*1:CloudLatex に curl で POST したら PDF が降ってくるみたいなAPIがほしい