デフォルトのTexWorksで書くより使い慣れたVSCodeで書きたい!

シンタックスハイライト、自動コンパイル、スニペットを備えた最強プラグインLaTeX Workshopを使ってTeX環境を作る。
日本語にも対応

パスを通す

普通にtexをtexインストーラーなどを使ってインストールした場合にはすでに完了していると思われる

「Terminal」→「New Terminal」

「ptex2pdf」と入力しエンター

英語でごちゃごちゃ出てきたら成功。

出てこない場合は「ptex2pdf」へのパスが通っていません。

その場合はw32tex/bin と w32tex/bin64 フォルダを Windowsの環境変数に設定しておく。このへんの説明は割愛します。「パス 通す」でググれば良質な情報が手に入るはず。

ターミナルからtexをコンパイルしてみる

好きにtexファイルを書いたあと、ターミナルからコンパイルする。オプションの指定方法は使用している環境によって異なるが、筆者の環境ではこれを使っている。

先程と同様に以下を入力してエンター。

ptex2pdf -u -l -ot "-synctex=1 -file-line-error" [ファイル名].tex

成功すると、[ファイル名].pdfが生成されているはずだ。

コンパイル成功時の出力例

また、uplatexを使っていない場合も多く、先程のコンパイルに失敗した場合は-uを省略した以下コマンドで成功することがある。

ptex2pdf -l -ot "-synctex=1 -file-line-error" [ファイル名].tex

これでもできない場合はwikiを読もう。

https://texwiki.texjp.org/?ptex2pdf

VSCodeでLaTeX Workshopプラグインをインストール

https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop

VSCodeを開き、Extensionsタブで「LaTeX Workshop」を検索する。URLから飛んでもよし。

「Install」をクリック。

LaTeX Workshop の tools を設定する。

コンパイル時、どのように元のtexファイルを処理するかをtoolsに設定する。初期状態では欧文しかコンパイルできない設定になっているので追加する必要がある。

「File」メニューの「Preferences」から「Settings」を選ぶ

Ctrl と 「,」の同時押しでも良い

検索バーに「latex tools」と入力後、「Latex - workshop > Latex: Tools」欄の「Edit in setting.json」をクリックする。

開かれたjsonファイルにはLaTeX Workshopに限らず、VSCodeのあらゆるユーザー設定が保存されるようになっている。

「latex-workshop.latex.tools」の値の配列に、下記を追加する。argsには最初にターミナルからコンパイルした時の引数に加え、いくつかVSCode環境特有の引数を追加する必要がある(表4.1参照)

        {
            "name": "my tex tool",
            "command": "ptex2pdf",
            "args": [
                "-u",
                "-l",
                "-interaction=nonstopmode",
                "-ot",
                "\"-synctex=1 -file-line-error\"",
                "%DOC%"
            ],
            "env": {}
        },

表4.1

toolをrecipeに追加

先程作成したtoolをレシピに書き込むことで、ユーザーが使えるようになる。

同様に検索バーに「latex recipes」と入力し、『Latex-workshop > Latex: Recipes』の欄の「Edit in settings.json」をクリック

「latex-workshop.latex.recipes」の配列に、以下を貼り付けして追加する。

        {
            "name": "my tex recipe",
            "tools": [
                "my tex tool"
            ]
        },

作成したレシピをデフォルトにする

作成したレシピをデフォルトに選択しておく。

例によって検索バーに「latex recipe default」と入力し、「Latex-workshop > Latex > Recipe: Default」のテキストボックスにレシピ名「my tex recipe」と入力する。

動作確認

適当なtexファイルを書いてCtrl+Sなどで保存したときに、自動でビルドが走れば成功

右上部のアイコンを選択し、「Web browser」を選べばPDFを横目に筆記作業に励むことができるよ

buildがどうしても止まらないときは

よくある不具合として、コンパイルを開始してエラーが発生したとき、buildのぐるぐるがずっと止まらないということがある。

理由としてはコンパイラがエラーを出力した後、処理をvscode側に引き渡さずに、ユーザーの無効化されているキー入力を待ち続けるために起こる。

tools作成時、args に “-interaction=nonstopmode” が設定されていれば基本的にはエラーが発生しても正しく止まるはずなのだが、別の対処法もある。

latexのバージョンが古い可能性があるため、アップデートをするか、

暫定的な策では、「Ctrl + Shift + P」を押してコマンドパレットを開き、「kill latex compiler process」を入力しエンターキーを押すことで強制終了できる

また、これをキーボードショートカットとして登録しておくことも可能。

kill latex compiler processのショートカットを追加する

「Ctrl + Shift + P」でコマンドパレットを開き、「open keyboard shortcuts」と入力し、Preferencesを開く。(JSONじゃない方)

検索窓に「kill latex compiler process」を入力し、Keybindingをクリック後、好きな割り当てのキーを同時押しした後エンターで決定する。

こうすることでbuildが止まらなくなった時、設定したキーバインド(写真では Alt + x)を押すことで強制停止する。