VSCode で LaTeX を使う (Windows)
1. TeX自体の準備:TeX Live のインストール
TeX Live/Windows - TeX Wiki に詳述されている。Installing TeX Live over the Internet - TeX Users Group から install-tl-windows.exe を入手し、インストールを行う。インストール時間は本体の性能に依存するようで、1時間程度で済む場合から10時間くらいかかる場合まで…。
2. VSCode側の準備
settings.json の編集
本項は以下の記事を参考にしている。
- VSCode でLatexの日本語環境を作る · GitHub
- VSCode で LaTeX を書く (2018) - Qiita
- VSCodeでLaTeX環境を構築する際にハマったこと - Qiita
- VSCodeでLaTeXコンパイルが終わらないのを直した - Qiita
VSCode の settings.json 内に、ツール・レシピ・オプションを記載することで、VSCode からコンパイルを行うことができる。ツールは、コンパイルのための具体的なコマンドを記載したもの。レシピは、ツールの使用順番を記載したもの。レシピを用意することで、コンパイルを一気通貫に行うことができる。
bibtex の有無、参照(figure など)の有無に応じて、6 通りのレシピを用意した。platex / uplatex のそれぞれについて、bibtex も 参照もないもの用 (nobib/noref)、bibtex はないが参照はあるもの用 (nobib/ref)、bibtex も参照もあるもの用 (bib/ref) のレシピがある。
以下に settings.json の中身を示す。
{ "editor.wordSeparators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~? 、。「」【】『』()!?てにをはがのともへでや", // latex-workshop.latex.tools: Tool の定義 "latex-workshop.latex.tools": [ { "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1", "-interaction=nonstopmode", "%DOC%" ], "name": "ptex2pdf (platex)" }, { "command": "ptex2pdf", "args": [ "-l", "-u", "-ot", "-kanji=utf8 -synctex=1", "-interaction=nonstopmode", "%DOC%" ], "name": "ptex2pdf (uplatex)" }, { "command": "pbibtex", "args": [ "%DOCFILE%", "-kanji=utf8" ], "name": "pbibtex" }, { "command": "upbibtex", "args": [ "%DOCFILE%", "-kanji=utf8" ], "name": "upbibtex" } ], // latex-workshop.latex.recipes: recipeの定義 "latex-workshop.latex.recipes": [ { "name": "bib/ref (uplatex)", "tools": [ "ptex2pdf (uplatex)", "upbibtex", "ptex2pdf (uplatex)", "ptex2pdf (uplatex)" ] }, { "name": "bib/ref (platex)", "tools": [ "ptex2pdf (platex)", "pbibtex", "ptex2pdf (platex)", "ptex2pdf (platex)" ] }, { "name": "nobib/ref (uplatex)", "tools": [ "ptex2pdf (uplatex)", "ptex2pdf (uplatex)" ] }, { "name": "nobib/ref (platex)", "tools": [ "ptex2pdf (platex)", "ptex2pdf (platex)" ] }, { "name": "nobib/noref (uplatex)", "tools": [ "ptex2pdf (uplatex)" ] }, { "name": "nobib/noref (platex)", "tools": [ "ptex2pdf (platex)" ] } ], "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", ], "latex-workshop.view.pdf.viewer": "tab", "latex-workshop.latex.autoBuild.run": "never", "latex-workshop.latex.autoClean.run": "onBuilt" }
以下にオプションの説明を示す。
- 文法ミスが存在するとコンパイルが終わらない場合がある。コンパイルに失敗してもひとまず終了するよう、 "-interaction=nonstopmode" をコマンドの引数に加える。
- editor.wordSeparators は区切り文字の指示。
- latex-workshop.latex.clean.fileTypes はコンパイル中に生まれる中間ファイルの消去対象の指示。
- latex-workshop.view.pdf.viewer はできた pdf の表示ツールの指示。tab にすれば VSCode 上で確認できる。
- latex-workshop.latex.autoBuild.run はセーブしたときに自動でコンパイルするか否かの指示。onFileChange にするとセーブしたとき自動でコンパイルされるが、煩わしければ never にする。
- latex-workshop.latex.autoClean.run は中間ファイルの自動消去をいつ行うかの指示。onBuild にするとコンパイルの成否にかかわらず消去を行う。onFailed にするとコンパイルに失敗した時だけ消去を行う。never は自動消去を行わない。