冷めたコーヒー

Weniger, aber besser

VSCode で LaTeX をビルドする際のメモ(TeXLive 2020)

バージョン

  • macOS Catalina バージョン 10.15.3
  • Homebrew 2.3.0
  • pdfTeX 3.14159265-2.6-1.40.21 (TeX Live 2020)

Homebrewのインストール

macOSのターミナルに下記のコードを貼り付けて実行します(Ref: brew.sh)。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

インストールが終わったら、以下のコマンドを実行し、versionが表示されるか確認をしておきます。

$ brew --version

LaTeXのインストール

以下のコマンドを実行し、Homebrewを介してLaTeXのインストールを行います。このとき、お手元の回線の状況にもよりますが、30分程度の時間がかかります。

$ brew cask install mactex-no-gui

この時点でtexファイルをpdfにすることができます。例えば次のようなファイルをmain.texとして保存します。

\documentclass[a4j,uplatex]{jsarticle}
\begin{document}
\title{{\LaTeX} build on VSCode}
\author{\texttt{miruca}}
\date{\today}
\maketitle
\section{概要}
これは \LaTeX が Visual Studio Code でビルドできるかどうかのテスト文章です.
\end{document}

作成したmain.texがあるディレクトリにおいて、次のコマンドを実行します。

uplatex main.tex

これによって、texファイルからdviファイルが生成されます。次にdviファイルからpdfを生成するために次のコマンドを実行します。

dvipdfmx main.dvi

すると次のような文字列がターミナルに表示されてpdfファイルが生成されていることが確認できると思います。

main.dvi -> main.pdf
[1]
25701 bytes written

なお、tex dvi pdfファイル以外にも、aux log flsファイルなどが生成されて同じディレクトリ内に生成されていると思いますが、正常に動作しているので問題ありません。

latexmkの作成

上記のように、毎回dviファイルを生成してpdfファイルを生成するのは面倒なので、latexmkコマンドで一括でコンパイルすることを考えます。以下のコマンドを実行して、latexmkrcというファイルをvimで開きます(もちろん、エディタは何でもよいです)。

$ vim ~/.latexmkrc

このとき、ファイルが存在しなければ新規に作成されます。そして、ファイルに以下のコードを書き込んで保存します。

#!/usr/bin/env perl
$pdf_mode=3;
$latex='uplatex -halt-on-error';
$latex_silent='uplatex -halt-on-error -interaction=batchmode';
$bibtex='upbibtex';
$dvipdf='dvipdfmx %O -o %D %S';
$makeindex='mendex %O -o %D %S';

vimの場合、上記のコードを⌘ + Cで保存し、iでインサートモードに入り、⌘ + Vでペーストし、escノーマルモードに入り、:wqで保存して終了します。

ファイルの作成ができたら、latexmkrcの記述をsourceコマンドで反映します。

source ~/.latexmkrc

VSCodeの設定

VSCodeをインストールしていない場合、次のコマンドでインストールします。

$ brew cask install visual-studio-code

LaTeXを編集する上で便利な拡張機能をインストールします。下記のコマンドをターミナルに打ち込んで実行してもいいし、VSCodeからインストールをしてもいいです。

$ code --install-extension James-Yu.latex-workshop

jsonファイルの設定をします。VSCode上で、⌘ + Shipt + Pを入力すると検索窓が出てくるので、「基本設定:設定(JSON)を開く」もしくは「Preferences:Open Stting (JSON)」を選びます。すると、setting.jsonというファイルが開かれるので、下記のコードを追記します。

{
    // ここまで既存のコード(あれば)

    // LaTeX Setup(以下を追記)
    "latex-workshop.latex.recipes": [
        {  
            "name": "latexmk",  
            "tools": [  
              "latexmk"  
            ]  
        },
    ],
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-interaction=nonstopmode",
            ]
        },
    ],
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux", "*.bbl", "*.blg", "*.idx", "*.ind", "*.lof", "*.lot", "*.out", "*.toc", "*.acn", "*.acr", "*.alg", "*.glg", "*.glo", "*.gls", "*.ist", "*.fls", "*.log", "*.fdb_latexmk", "*.synctex.gz",
        "_minted*", "*.nav", "*.snm", "*.vrb",
        "*.run.xml","*.dvi","*.bcf"
    ],
    "latex-workshop.view.pdf.viewer": "tab",
    "latex-workshop.latex.autoClean.run": "onFailed",
    "latex-workshop.message.update.show": false,
}

編集例

VSCodetexファイルを編集し、⌘ + Sで保存する、もしくは、⌘ + ⌥ + bでビルドが実行されます。以下は表示例です。

参考