VSCodeでLaTeXをコンパイルできない場合、原因はVSCodeそのものではなく、LaTeX環境や拡張機能の設定にあることが多いです。
特に多いのが、LaTeX本体の未インストール、PATHの設定不足、LaTeX Workshopのレシピ設定、使用するコンパイラの不一致、LaTeXソース内のエラーです。
VSCodeでLaTeXを利用する場合は、VSCodeだけでなく、LaTeX WorkshopとTeX Live・MiKTeX・MacTeXなどのLaTeXディストリビューションも必要になります。
VSCodeでLaTeXをコンパイルするために必要な環境
VSCodeだけではLaTeXをコンパイルできない
VSCodeには、LaTeXを直接コンパイルする機能は搭載されていません。
一般的には、次の3つを組み合わせてLaTeX環境を構築します。
- VSCode
- LaTeX Workshop
- TeX Live・MiKTeX・MacTeXなどのLaTeXディストリビューション
LaTeX Workshopは、VSCodeからlatexmkやpdflatexなどを実行するための拡張機能です。
LaTeXコンパイラ本体を内蔵しているわけではありません。
そのため、LaTeX Workshopだけをインストールしても、TeX Liveなどがインストールされていなければコンパイルできません。
LaTeX本体がインストールされているか確認する
Windowsの場合
Windowsでは、TeX LiveまたはMiKTeXがよく利用されます。
インストール後、VSCodeの統合ターミナルで次のコマンドを実行します。
pdflatex --version
LaTeX Workshopで一般的に使用されるlatexmkも確認します。
latexmk --version
バージョン情報が表示されれば、LaTeX環境がコマンドとして認識されています。
macOSの場合
macOSでは、MacTeXやBasicTeXなどが利用できます。
確認する場合は、次のように実行します。
latex --version
latexmk --version
正常にバージョン情報が表示されれば、LaTeX本体は利用できる状態です。
Linuxの場合
Linuxでも、一般的にはTeX Liveを利用します。
次のコマンドで確認できます。
latex --version
latexmk --version
PATHが通っているか確認する
latexmkが見つからない場合
LaTeXをインストールしていても、VSCodeから実行ファイルを見つけられなければコンパイルできません。
例えば、次のようなエラーが表示されることがあります。
spawn latexmk ENOENT
または、ターミナルで次のように表示される場合があります。
latexmk: command not found
この場合は、LaTeXの実行ファイルがPATHから参照できているか確認します。
WindowsでPATHを確認する
Windowsでは、次のコマンドを利用できます。
where latexmk
例えば、次のようなパスが表示されれば認識されています。
C:\texlive\2026\bin\windows\latexmk.exe
macOS・LinuxでPATHを確認する
macOSやLinuxでは、次のコマンドを使用します。
which latexmk
実行ファイルのパスが表示されれば、PATHから認識されています。
VSCodeを再起動する
TeX Liveなどをインストールした直後は、VSCodeが古い環境変数を保持していることがあります。
その場合は、VSCodeを完全に終了してから再起動してください。
改善しない場合は、OSへの再ログインや再起動も試します。
なお、Windows版TeX Liveではインストーラーによって必要な環境設定が行われる場合があるため、必ず手動でPATH設定が必要というわけではありません。
latexmkが利用できるか確認する
LaTeX Workshopではlatexmkがよく使われる
LaTeX Workshopでは、標準的なビルド方法としてlatexmkを利用する設定が用意されています。
そのため、pdflatexは使えるのにlatexmkだけ使えない場合、LaTeX Workshopからのビルドに失敗する可能性があります。
次のコマンドを実行してください。
latexmk --version
正常にバージョン情報が表示されれば問題ありません。
MiKTeXではPerlも確認する
latexmkはPerlで動作するスクリプトです。
特にMiKTeXを利用している場合は、Perlが別途必要になることがあります。
次のコマンドで確認できます。
perl --version
ただし、TeX Liveなどでは利用者がPerlを個別に意識しなくてもlatexmkが動作する構成になっている場合があります。
そのため、LaTeX Workshopを使うために必ずPerlを手動インストールしなければならないという意味ではありません。
LaTeX Workshopがインストールされているか確認する
拡張機能を確認する
VSCodeでLaTeXを利用する場合は、一般的にLaTeX Workshopを使用します。
VSCodeで拡張機能画面を開きます。
WindowsやLinuxでは、次のショートカットが利用できます。
Ctrl + Shift + X
検索欄に次のように入力します。
LaTeX Workshop
インストールされていなければ、インストールしてください。
LaTeX Workshopからビルドする
LaTeXファイルを開いた状態でコマンドパレットを表示します。
Ctrl + Shift + P
次のコマンドを実行します。
LaTeX Workshop: Build LaTeX project
キーボードショートカットとしては、環境によってCtrl + Alt + Bが利用できます。
使用するLaTeXコンパイラを確認する
LaTeXには複数のコンパイラがある
LaTeXでは、文書によって適切なコンパイラが異なります。
代表的なものは次のとおりです。
- pdfLaTeX
- LuaLaTeX
- XeLaTeX
- pLaTeX
- upLaTeX
文書が想定しているコンパイラと、実際に使用しているコンパイラが異なると、コンパイルエラーが発生することがあります。
日本語LaTeXでは文書クラスを確認する
日本語LaTeXでは、どの文書クラスやパッケージを利用しているかによって適切なコンパイラが変わります。
例えば、従来のpLaTeX・upLaTeX系の文書では、platexやuplatexを利用することがあります。
一方、LuaTeX-jaを利用した文書ではLuaLaTeXを使用します。
例えば、次のような文書クラスがあります。
\documentclass{ltjsarticle}
このような場合は、LuaLaTeXを利用する構成が一般的です。
重要なのは、「日本語LaTeXなら必ずこのコンパイラを使う」と決めるのではなく、使用している文書クラスやテンプレートが想定するエンジンを確認することです。
LaTeX Workshopのビルドレシピを確認する
レシピとは
LaTeX Workshopでは、LaTeXをどのような順序でビルドするかをrecipeと呼ばれる設定で管理します。
例えば、単純にlatexmkを実行する方法や、複数のコマンドを組み合わせる方法があります。
pdflatex
↓
bibtex
↓
pdflatex
↓
pdflatex
のような処理もレシピとして定義できます。
Build with recipeを試す
コマンドパレットから次を実行します。
LaTeX Workshop: Build with recipe
別のレシピを選択してコンパイルできるか確認してください。
使用するコンパイラとレシピが合っていない場合、ここを変更することで解決することがあります。
settings.jsonの設定を確認する
独自設定が原因になる場合がある
LaTeX Workshopでは、settings.jsonでビルド方法を変更できます。
代表的な設定には次のようなものがあります。
"latex-workshop.latex.tools"
"latex-workshop.latex.recipes"
独自にこれらを編集している場合、設定ミスによってビルドできなくなることがあります。
原因が分からない場合は、一度独自設定を無効にし、LaTeX Workshopの標準設定でビルドしてみると切り分けしやすくなります。
ルートファイルを正しく設定する
複数ファイル構成ではrootファイルが重要
LaTeXプロジェクトでは、複数の.texファイルを使用することがあります。
例えば、次のような構成です。
project/
├── main.tex
├── chapter1.tex
├── chapter2.tex
└── images/
この場合、main.texがメインファイルであるにもかかわらず、chapter1.texを単独でビルドすると失敗することがあります。
rootファイルを明示する
子ファイルの先頭に次のように記述できます。
% !TEX root = main.tex
子ファイルがサブディレクトリにある場合は、次のように指定します。
% !TEX root = ../main.tex
これにより、LaTeX Workshopがどのファイルをルートとしてビルドすればよいか判断しやすくなります。
LaTeXソース自体にエラーがないか確認する
基本文法のエラーを確認する
環境が正常でも、LaTeXソース自体にエラーがあればコンパイルできません。
例えば、次のような終了タグの不足があります。
\begin{document}
Hello
この場合は、次が必要です。
\end{document}
また、環境の閉じ忘れも典型的な原因です。
\begin{itemize}
\item A
この場合は次を追加します。
\end{itemize}
最小構成でテストする
原因を切り分ける場合は、次のような最小構成のLaTeXファイルを作成すると効果的です。
\documentclass{article}
\begin{document}
Hello, LaTeX!
\end{document}
例えば、test.texとして保存します。
pdfLaTeXを使用する場合は次を実行します。
latexmk -pdf test.tex
LuaLaTeXを使用する場合は次のようにします。
latexmk -lualatex test.tex
XeLaTeXを使用する場合は次のようにします。
latexmk -xelatex test.tex
最小構成で成功する場合、LaTeX環境そのものではなく、元の文書のソースコードやパッケージに原因がある可能性が高いです。
必要なLaTeXパッケージが不足していないか確認する
styファイルが見つからない場合
次のようなエラーが表示されることがあります。
LaTeX Error: File `xxxx.sty' not found.
これは、必要なLaTeXパッケージがインストールされていない場合によく発生します。
TeX LiveやMiKTeX側で必要なパッケージを追加してください。
特に最小構成のLaTeX環境を使用している場合は、必要なパッケージが含まれていないことがあります。
画像ファイルのパスを確認する
includegraphicsのパスミス
LaTeXで画像を読み込む場合、次のように記述します。
\includegraphics{images/sample.png}
指定した画像が存在しなければ、コンパイルに失敗する場合があります。
また、複数ファイル構成では、相対パスの基準や\graphicspathの設定にも注意が必要です。
単純に「必ず現在開いているファイル基準」とは限らないため、ルートファイルと画像パスの関係を確認してください。
BibTeX・Biberのエラーを確認する
参考文献を使っている場合
参考文献を使用している文書では、BibTeXやBiber関連のエラーが発生することがあります。
例えば、次のように設定している場合があります。
\usepackage[backend=biber]{biblatex}
この場合はBiberを使用します。
Biberが利用できるか確認するには、次を実行します。
biber --version
また、参考文献は1回LaTeXを実行するだけでは反映されない場合があります。
latexmkを使用すると、必要な処理を自動的に判断して実行しやすくなります。
補助ファイルの不整合を解消する
古い補助ファイルが原因になる場合がある
LaTeXをコンパイルすると、次のような補助ファイルが生成されます。
.aux
.log
.fls
.fdb_latexmk
.toc
.out
.synctex.gz
設定を大きく変更した場合や、途中でビルドに失敗した場合、古い補助ファイルの内容が原因で問題が起こることがあります。
LaTeX Workshopからクリーンアップする
コマンドパレットから次を実行します。
LaTeX Workshop: Clean up auxiliary files
その後、もう一度ビルドします。
latexmkから削除する場合は、次のコマンドも利用できます。
latexmk -C
ただし、latexmk -Cはlatexmkが管理対象としている生成ファイルを削除するコマンドであり、プロジェクト内のすべての生成物を無条件に削除するわけではありません。
ファイル名やフォルダー名を確認する
単純なパスで試す
現在のLaTeX環境ではUnicodeへの対応が進んでいるため、日本語のファイル名やフォルダー名を使用できる場合も多いです。
ただし、トラブルシューティング中は、特殊文字や長いパスを避けると原因を特定しやすくなります。
例えば、一時的に次のような場所へファイルを移動します。
C:\latex\test\
ASCII文字だけの短いパスで正常に動作するか確認すると、パスに起因する問題を切り分けやすくなります。
WSL・Remote SSH・Dev Containerを使用している場合
LaTeXは実行環境側に必要
VSCodeでは、WSLやRemote SSH、Dev Containerなどのリモート環境を利用できます。
例えば、Windows側にTeX Liveをインストールしていても、VSCodeをWSL環境で開いている場合、実際にLaTeXを実行するのはWSL側です。
そのため、WSL側でも次を確認する必要があります。
latexmk --version
Remote SSHやDev Containerでも同様です。
ホストOSにLaTeXが入っているだけでは不十分な場合があります。
エラーメッセージから原因を判断する
よくあるエラーと原因
代表的なエラーを整理すると次のようになります。
| エラー | 主な原因 |
|---|---|
| spawn latexmk ENOENT | latexmkが見つからない |
| latexmk: command not found | latexmk未導入・PATHの問題 |
| pdflatex: command not found | LaTeX本体未導入・PATHの問題 |
| File xxx.sty not found | 必要なLaTeXパッケージ不足 |
| Undefined control sequence | 未定義コマンド、スペルミス、パッケージ不足、エンジンの不一致など |
| Emergency stop | 重大なLaTeXエラー |
| Missing $ inserted | 数式モードや_・^などの記述ミス |
| Runaway argument | {}などの対応ミス |
| 参考文献が表示されない | BibTeX・Biber・ビルド回数の問題 |
| 子ファイルだけ失敗する | rootファイルの認識問題 |
LaTeX Workshopのログを確認する
出力パネルを見る
原因が分からない場合は、LaTeX Workshopのログを確認します。
VSCodeで次を開きます。
表示
↓
出力
出力パネルの対象をLaTeX Workshopに変更します。
ここでは、次のような情報を確認できます。
- 使用したレシピ
- 実行したコマンド
- ビルド対象のファイル
- コマンドが失敗した位置
- エラーメッセージ
例えば、次のようにlatexmkを実行しようとしている場合があります。
command: latexmk
直後に、
ENOENT
が表示されている場合は、LaTeX文書の文法よりもlatexmkのPATHを疑うべきです。
ターミナルから直接コンパイルして切り分ける
LaTeX Workshopを介さず実行する
LaTeXのトラブルシューティングでは、VSCodeの統合ターミナルから直接コンパイルする方法が非常に有効です。
pdfLaTeXの場合は次を実行します。
latexmk -pdf main.tex
LuaLaTeXの場合は次です。
latexmk -lualatex main.tex
XeLaTeXの場合は次です。
latexmk -xelatex main.tex
ターミナルでも失敗する場合
ターミナルから直接実行しても失敗する場合は、主に次の原因が考えられます。
- TeX環境
- PATH
- latexmk
- LaTeXソース
- 必要なパッケージ
- 使用しているコンパイラ
この場合は、LaTeX Workshopだけの問題ではない可能性が高いです。
ターミナルでは成功する場合
ターミナルから直接コンパイルできるのに、LaTeX Workshopからだけ失敗する場合は、次を重点的に確認します。
- LaTeX Workshopの設定
- recipe
- root file
- working directory
- VSCodeが認識しているPATH
VSCodeでLaTeXをコンパイルできないときの確認手順
1.LaTeX本体を確認する
まず次を実行します。
pdflatex --version
必要に応じて、使用するエンジンも確認します。
lualatex --version
xelatex --version
2.latexmkを確認する
次を実行します。
latexmk --version
3.VSCodeの統合ターミナルでも確認する
OS標準のターミナルでは動作しても、VSCode側からPATHを認識できていない場合があります。
そのため、必ずVSCodeの統合ターミナルでも確認してください。
4.最小構成のtexファイルを作る
次の内容をtest.texとして保存します。
\documentclass{article}
\begin{document}
Hello, LaTeX!
\end{document}
5.ターミナルからコンパイルする
pdfLaTeXなら次を実行します。
latexmk -pdf test.tex
6.LaTeX Workshopからビルドする
ターミナルでは成功したら、LaTeX Workshopからビルドします。
LaTeX Workshop: Build LaTeX project
7.別のレシピを試す
次を実行します。
LaTeX Workshop: Build with recipe
文書に適したレシピを選択してください。
8.LaTeX Workshopのログを確認する
最後に、VSCodeの出力パネルから詳細なエラーを確認します。
VSCodeでLaTeXをコンパイルできないときは順番に切り分けることが重要
VSCodeでLaTeXをコンパイルできない場合、最初に確認したいのは、LaTeX本体・latexmk・PATHの3点です。
LaTeX WorkshopをインストールしただけではLaTeX本体は利用できないため、TeX Live・MiKTeX・MacTeXなどのLaTeXディストリビューションも必要です。
まず、VSCodeの統合ターミナルで次を確認してください。
latexmk --version
さらに、使用するコンパイラに応じて次のようなコマンドも確認します。
pdflatex --version
lualatex --version
xelatex --version
その後、ターミナルから直接LaTeXをコンパイルしてみます。
ターミナルからは成功するのにLaTeX Workshopから失敗する場合は、LaTeX Workshopのレシピやrootファイル、設定を確認します。
ターミナルからも失敗する場合は、TeX環境、PATH、LaTeXソース、必要なパッケージなどを確認します。
このように、LaTeX本体、ターミナル、LaTeX Workshopの順番で切り分けていくと、VSCodeでLaTeXをコンパイルできない原因を効率的に特定できます。
以上、VSCodeでLaTeXをコンパイルできない原因と対処法についてでした。
最後までお読みいただき、ありがとうございました。










