Atomやっと使い慣れてきて,CでもPythonでもTeXでも便利に使っていたのですが,なんと開発終了という悲しい情報を知り,さて何に乗り換えようかと考えています。
ウインドウを散らかす性格のため,TeXのプレビューが同じウインドウに表示されるエディタがいいので,vimやemacsは選択肢から外れます。
そうすると,にMicrosoftのVisual Studio Codeが上がってきました。
Microsoft?という先入観でちょっと抵抗があったのですが,Atomと似ていて使いやすそう。
早速導入。
環境は,MacPortsでTexLive2022がインストールされている状況。
Visual Studio Codeのバージョンは1.71.2
取り急ぎLaTeX機能拡張が欲しかったので,LaTex Workshop v8.29.0をインストール。
⌘+,で環境設定。
右上のアイコンをクリックすると,設定ファイル(settings.json)をエディットできる。私は最近uplatexを主に使っているので,ここでtoolとしてptex2pdfに-uオプションをわたして実行すればいいのだが,bibtexをまわすときとまわさないときでレシピを分ける必要がありそう。
ここで色々調べてみると,latexmkをつかうと,その辺を判断してbibtexをまわしたりまわさなかったりしてくれる模様。
日本語の処理を楽ちんにするため,uplatexでdviをつくってdvipdfmxでpdf化する方向で設定したい。
latexmkは,ホームディレクトリの下に.latexmkrcというファイルを用意しておけばその通り実行してくれる模様。
公式マニュアル($ man latexmk)を実行してざっと文章を斜め読みしながら.latexmkrcの書式について一通りしらべて,私の目的(VSCodeから実行する)なら,以下の項目だけを設定すればいい模様。
まず一番大切なのは,$pdf_mode。
dviからpdfの流れにする場合は3にする。
次にtypesetコマンドの設定。
これは,$latex。
それから$bibtexと$dvipdf,$makeindexを設定しておけば最低限動きそう。
それだけ設定した私の.latexmkrcはこんな感じ。
#!/usr/bin/env perl
$pdf_mode = 3;
$latex = 'uplatex -halt-on-error';
$bibtex = 'upbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';
これを動かすVSCodeのsettings.jsonはこんな感じ。
すっかり忘れていたけど,iCloud Drive上のファイルは扱えません。
VSCode側かLaTeX Workshop側かわかりませんが,おそらくフルパスで処理しようとしてパスにスペースが入っているところでおかしなことになるのかと思われます。それさえなければこの環境はよさそう。