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上でLaTeXの拡張機能である「LaTeX Workshop」をインストール
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の情報を参照する際には注意した方が良いでしょう。
Source:TeX Wiki