dorapon2000’s diary

忘備録的な。セキュリティとかネットワークすきです。

VSCodeのLaTeX Workshopでコンパイルできない

環境

症状

.texファイルをコンパイルしようとすると,VSCodeの左下に赤く×と表示されてコンパイルされない

f:id:dorapon2000:20200107142834p:plain

LaTeX Workshopのログには実行パスが存在しないみたいなエラーが吐かれている.

[14:17:08] LaTeX build process spawned. PID: undefined.
[14:17:08] LaTeX fatal error: spawn ptex2pdf ENOENT, . PID: undefined.
[14:17:08] Does the executable exist? PATH: /usr/bin:/bin:/usr/sbin:/sbin
[14:17:10] LOG command invoked.

platexのコマンドパスを調べてみた.

$ which platex
/usr/local/bin/platex

/usr/local/binがPATHにないからエラーが出ているみたい.

$ echo $PATH | tr " " \n | grep /usr/local/bin
/usr/local/bin

でもシェル変数のPATHには/usr/local/binがある.

???

解決策

github.com

github.com

github.com

同じようなエラーで何度もissueが立てられているみたいだった.まとめると,

  • VSCodeをDockから起動したとき,シェルで設定されている$PATHをインクルードしないのは仕様
  • したがって,使用しているシェルに依存する問題ではなく,あらゆるシェルで発生する問題
  • シェルからVSCodeを起動することによって$PATHもインクルードでき,エラーはでなくなる(シェルからVSCodeを起動できるようにするには設定の必要あり)
$ cd path/to/tex/dir
$ code .

Dockから起動させても同じように/usr/local/binをパスとして含めさせたいなら,LaTeXレシピのenvプロパティで実行パスの追加ができるみたい.

手順 → Install · James-Yu/LaTeX-Workshop Wiki · GitHub