かすみん日記

暇なときに何か喋ります

vscode で LaTeX 環境

Microsoft製のエディタVisual Studio Code(略してvscode)上で、LaTeXのタイプセットをできるようにするための環境構築の手順です。

大きくは次のステップで行います:

  1. TeX LiveによるLaTeXのインストール
  2. エディタvscodeのインストール
  3. vscode拡張機能LaTeX Workshopのインストール
  4. LaTeX Workshopの設定を変更
  5. 実際にタイプセット!

最後におまけと蛇足も書きました。

ではさっそく見ていきましょう。

TeX LiveによるLaTeXのインストール

TeX Wikiを参考に、TeX Liveをインストールします。

「インストール」の節にOSごとのインストール方法の説明がありますので、Wikiの指示に従ってTeX Liveをインストールしてください。

なお、ファイルがそこそこ膨大なので、この作業にはかなり時間がかかります。

vscodeのインストール

公式サイトからインストールしてください。

vscode拡張機能LaTeX Workshop

vscodeLaTeXのタイプセットを行うには、拡張機能LaTeX Workshopをインストールします。

vscodeを起動して、左側にある四角いアイコンをクリックし、表示された拡張機能の検索窓に「latex workshop」と入力すれば表示される、「LaTeX Workshop」をインストールします。

LaTeX Workshopの設定を変更

LaTeX Workshopをインストールしただけでは多分ダメで、設定を変更します。

まず cmd + ,windowsなら ctrl + , )でvscodeの設定を開きます。

次に、開いたページの右上にある { } のアイコンをクリックし、 settings.json を表示します。

そしてその設定ファイルの {} の中に以下のコードを追加します:

  "latex-workshop.latex.tools": [
    {
      "name": "latexmk",
      "command": "latexmk",
      "args": [
        "-e",
        "$latex = q/platex %O -synctex=1 -interaction=nonstopmode -file-line-error -halt-on-error -shell-escape %S/",
        "-e",
        "$bibtex = q/pbibtex %O %B/",
        "-e",
        "$biber = q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/",
        "-e",
        "$makeindex = q/pmendex %O -o %D %S/",
        "-e",
        "$dvipdf = q/dvipdfmx %O -o %D %S/",
        "-norc",
        "-pdfdvi",
        "%DOC%",
      ]
    }
  ]

ここで、もし既に {} の中に設定が書かれている場合は、カンマ , で区切ります。

以上で設定は完了です。最後にタイプセットの方法を説明します。

実際にタイプセット!

texファイルをvscodeで開き、macなら cmd + alt + Bwindowsならctrl + alt + B )でタイプセットできます。

また、生成したPDFを表示するには、macなら cmd + alt + Vwindowsならctrl + alt + V )でできます。

補足

LaTeX Workshopではlatexmkを用いてタイプセットをしています。 つまり、上で settings.json に書いた設定は、本来 .latexmkrc に書くものと同じです。

タイプセットがうまくいかない時や設定を変更したいときは latexmk をキーワードにして調べましょう。ちなみに、latexmkの設定はperlで書かれています。

あと、上の設定では platex でタイプセットするように設定しています。

おまけ:タイプセットついでに要らないファイルを消去する

タイプセットを実行すると、PDFファイル以外にも .aux.log などの補助ファイルがいくつか生成されてしまいます。

これらは最終的には不必要であるため、タイプセットが完了したら自動で削除するよう設定を加えましょう。

さっきと同じようにして settings.json を開き、以下のコードを追加します:

  "latex-workshop.latex.autoClean.run": "onBuilt",
  "latex-workshop.latex.clean.fileTypes": [
    "*.aux", "*.toc",
    "*.log", "*.dvi",
    // "*.synctex.gz",
    "*.fdb_latexmk", "*.fls", // latexmk
    "*.nav", "*.snm" // beamer
  ]

既に設定がある場合はカンマ , で区切ります。

この設定を追加すると、タイプセットが完了するたびに、ここで書いた拡張子のファイルが削除されます。

蛇足リンク

styファイルの置き場所についての記事です。

styファイル群を、texファイルと同階層に置くと煩雑であるからフォルダに入れたいと思ったときの話です。ググっても殆どヒットしなかったので誰にも共感されないとは思いますが。

geniusium.hatenablog.com