VScodeではLatexコンパイル時の中間ファイルを自動削除できます
最初はこちらの記事を参考に設定を進めていきました.
VSCCodeのsetting.jason
の設定
"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", ".snm", ".nav", ".dvi", ".synctex.gz"
],
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.outDir": "out"
とりあえずこれを書いておけばビルド時にoutディレクトリの中の要らないファイルを消してくれます.
- 保存時に変更にしたい場合は
"onBuilt"
を"onSave"
に変更. - [tex]とかで囲んだところに書かなくてok.
- これ以降にも設定ある場合は
,
最後に追加するのを忘れずに.
【問題】~.dvi
,~.synctex.gz
のファイルだけ消えない!!
とりあえずChatGPTに聞いてみました.
- 上記の設定がきちんとできているか
- ターミナルで
rm out/*.dvi out/*.synctex.gz
してみて手動削除できるか - ファイルが他のプロセスによってロックされていないか,権限周りの設定は間違っていないか
等を確認されましたがどれも問題なく手詰まり(;;).シェルスクリプトを書いて実行して消す方法などもありましたが,とにかくめんどくさい操作をせず一発で中間ファイルを消したかったので一旦無視.
.latexmkrc
に一行付け足したら解決しました
$clean_ext = "aux log synctex.gz dvi";
これをとりあえず一番下に追加で解決.
追記_自分の環境
EndeavorOS(Arch系Linux) i3
コマンドとかの関係上一応書いたけど本記事にはあんまり関係ないと思います