Visual Studio Codeで日本語LaTeXを書くための設定(macOS Catalina)

Visual Studio Codeで日本語LaTeXを書くための設定(macOS Catalina)

Visual Studio Code(VSCode)でLaTeXを書くにあたり行った設定を備忘録代わりにメモしておきます。ここで設定しておけば、VSCodeでTeXを保存すると、自動的にPDFを出力してくれる用になります。

環境とできるようになること

環境

  • OS:macOS Catalina
  • LuaLaTex(MacTeX)
  • Visual Studio Code

筆者の手元のMacBook Air上で、Visual Studio CodeでLaTexを書いて、保存すると自動的にPDFが出力される環境を作成したいと思います。

できるようになること

  • VSCodeでTeXを保存すると、自動的に同じ階層にPDFファイルを出力

目指すのは上の状態。そのためにLaTeX用の設定ファイル「.latexmkrc」と、VSCode上で設定を行います。

設定項目:LatexmkとVSCode

ざっくりとした概要

「Latexmkはなんぞや?」というところですが、まずざっくりとLaTeXについて筆者が情報を収集したレベルでまとめてみます。(知っている人は読み飛ばしてください)

LaTeXは一つではなく、pLaTeX、pdfLaTeX、LuaLaTeX etc….様々なLaTeXが存在します。使用するLaTeXエンジンによって、日本語への対応や出力の方式(pLaTeX:TeX→DVI→PDF, LuaLaTeX:TeX→PDF)などが異なり、出力するコマンドも「lualatex hogehoge.tex」などそれぞれ違います。

基本的に使用するLaTeXは一つだと思いますが、コマンドにも様々なオプションがあり、それらを毎回打ち込んで変換するのは非常に面倒。それらのコマンドやオプションなどを一纏めにして、「latexmk hogehoge.tex」と打ち込むだけで、オプション設定を組み込んだ上でPDFファイルの出力を行える様にするのがLatexmkの役割。

.latexmkrc

$pdflatex                    = 'lualatex -shell-escape';
$biber                       = 'biber --bblencoding=utf8 -u -U --output_safechars';
$max_repeat                  = 5;
$pvc_view_file_via_temporary = 0;
$pdf_mode                    = 1;
$pvc_view_file_via_temporary = 0;
$pdf_previewer = "open -ga /Applications/Skim.app";

VSCodeでもMacのテキストエディタでも何でも良いので、新規に上記の内容を記載した「.latexmkrc」ファイルを作成します。保存する場所はMacのホームディレクトリ。Finderを見ると「🏠(ユーザー名)」といった、家アイコンにユーザー名が書かれたフォルダがありますが、そこに保存します。

基本的に「.(ドット)」で始まるファイルは隠しファイル扱いなので、保存すると見えなくなります。間違って別の場所に保存したり、場所がわからなくなったりしたら「Command + Shift + .」の3つのキーを押すことで、隠しファイル表示・非表示を切り替えることができます。

VSCodeの設定

VSCode
まず、VSCode上でLaTeXの拡張機能である「LaTeX Workshop」をインストール

VSCode
VSCodeを起動し、「表示→コマンドパレット」または「Command + Shift + P」でコマンドパレットを表示し、Setting.JSONを開きます。

{
    
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
             "-e",
             "$lualatex=q/lualatex %O -synctex=1 -interaction=nonstopmode -file-line-error %S/",
             "-e",
             "$bibtex=q/upbibtex %O %B/",
             "-e",
             "$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/",
             "-e",
             "$makeindex=q/upmendex %O -o %D %S/",
             "-norc",
             "-gg",
             "-pdflua",
             "%DOC%"
            ]
        }
    ],
    "latex-workshop.view.pdf.viewer": "tab",
}

上記の内容を追記します。既になにかしら記入されている場合は、「,」で区切った上で「”latex-workshop ~~ er”: “tab”,」までを「{}」にコピペします。これで再起動すると、TeXファイルを保存すると、そのTeXファイルがあるフォルダに、PDFが出力されます。

LuaLaTeXの注意点

\documentclass{ltjsarticle} % jsarticle
\documentclass{ltjsbook}    % jsbook
\documentclass{ltjreport}   % jsreport

LuaLaTeXは、pLaTeXで使用できていたdocumentclassは利用不可。上記の様に書き直す必要があります。LuaLaTeXからLaTeXに入門した人は、ネットでLaTexの情報を参照する際には注意した方が良いでしょう。


TeX界隈(のごく一部)では**「(u)pLaTeXからLuaLaTeXへの移行は容易であるか」**という議論があるようです。議論の内容についてはともかくとして…
qiita.com

Source:TeX Wiki