見出し画像

VSCodeでLaTeXを書く最低限(←ここ重要)の環境をとにかく楽に構築したかった

初カキコ…ども…

理系の大学生であれば一度はLaTeXを使ったことがあると思います。使ったことがない人は理系ではないと思います(対偶)。そんなLaTeX、ブラウザで書いたり、TeXworksを使ったり、色々な方法があると思いますが、僕はVSCodeにLaTeX Workshopを入れて使うのが結構気に入ってます。まあ、他のを使ったことがないだけなんですが。

そんな僕はこれまでjsclassesで書いて、pLaTeXとdvipdfmxでコンパイルをしていました。どっかからコピペしたよくわからないコードをsetting.jsonに書き加え、.latexmkrcなるよくわからんファイルをホームディレクトリに置いておき、どこで調べたかもよく分からないコマンドをターミナルに入れて最後にファイル名を加えてEnterを押すとしばらくして出来上がるというものです。1年前に初めてLaTeXに触った時からずっとこのやり方でした。しかし、この前LaTeX WorkshopのRecipeを試しに使おうとしたらエラーが出るわ、なぜかTeXworksが起動するわと意味不明な状態になり、自分でどこをいじったのか分かってないのはまずいなーと思ってTeXLiveとVSCodeを一旦消してもう一度環境を構築し直しました。

僕は機械に弱いので、「コードを書き加えたりよくわからないファイルを置くようなことはしない。調節は設定画面で完結させる」という方針のもと、最低限の環境を構築しました。ここでいう「最低限」とは「エンジンを選べないけどとりあえずLaTeX書いてPDF出力はできる」程度です。pLaTeXとかupLaTeXとか知らない。当面の間はLuaLaTeXとだけ仲良くするぞー。

Google先生にVSCodeでLaTeXを書く方法を聞くと、上記のように.latexmkrcなるよく分からないファイルを作らせる方法ばかり紹介してきます。多分、僕みたいに「エンジンとかどうでもいいんでとにかくPDFに出力したい。だけどそのための環境構築でよく分からない危なさそうないじり方はしたくない」という人はいると思うので、参考までに以下に僕のやり方を記しておきます。

TeXLiveとVSCodeのアンインストール

よく分からなかったので両方消しちゃいました。今思い返せばVSCodeだけでよかったなー。TeXLiveはアンインストール作業途中だったのに間違えてコマンドプロンプトを閉じてしまったので、Cドライブ直下のTeXLiveフォルダをゴミ箱にポイしました。VSCodeはインストーラによるアンインストールだと拡張機能とか自分でいじった設定とか全部残っちゃうらしいです。今回はクリーンにやり直したいのでこれも消しました。このページを参考にしました。そして、最後に忘れずよく分からなくて気持ち悪い.latexmkrcファイルもゴミ箱に。

TeXLiveのインストール

僕は昨年なぜか「LaTeX2e美文書作成入門 改訂第8版」を買っていたのでその付属のDVD-ROMからインストールしました。持ってない人(が多いと思うけど)はTeX Wikiが詳しいのでこれに従えばできると思います。2時間くらいかかりました。

VSCodeのインストールと拡張機能の導入

ここからダウンロードしてインストール。起動するといきなり大量の英語がお出迎え。画面の左端にある「悪いな、3人用なんだ」と言わんばかりに四角形が1個だけハブられているところをクリックすると検索窓が出てくるので「japanese」と入力。Microsoftの「Japanese Language Pack for Visual Studio Code」が出てくるのでインストール。VSCodeの再起動を促されるので従います。すると今度は日本語で出迎えてくれます。もう一度拡張機能の検索窓を出して「latex」と入力すると「LaTeX Workshop」が出てくるのでこれもインストールします。

LaTeX Workshopの設定

まあ、はっきり言ってここまでの内容はググればどこでも同じこと書いてあります。しかし、巷に出回る方法は、この後setting.jsonやら.latexmkrcやらをいじるという小難しいことを始めます。ましてや、サイトごとに書いてある内容が違うので、僕のような初心者は不安のどん底に突き落とされます。しかし、そのようなことをしなくても、LaTeX Workshopの設定を一ついじるだけで「最低限」の環境は出来上がります。

実は設定を全くいじらなくても書けるには書けるのですが、保存するたびに勝手にビルドを開始してして大量のエラーを吐き出すというあまりに不便な点があるので修正します。

3度目の登場、の〇太がハブられている拡張機能のアイコンをクリックすると、「インストール済み」の中にLaTeX Workshopがあります。その名前のすぐ近くに歯車の記号があるのでこれをクリックし、「拡張機能の設定」を選びます。

画像1

LaTeX Workshopの設定画面が現れます。英語が多いですが、我慢してスクロールしていくと、

画像2

「Latex-workshop > Latex > Auto Build: Run」という項目が出てきます。これは、「ファイルが変更されたとき(VSCode以外のソフトからの変更も含む)」、または「保存したとき(VSCodeだけ)」に勝手にデフォルトのレシピでビルドするよーという機能です。LaTeX Workshopでは、newcommandを自動入力スニペットに反映させるためには保存する必要がありますが、保存するたびに勝手なレシピでビルドを始めて100個以上のエラーを吐かれていたら精神衛生に悪いのは自明です。既定では「onfileChange」となっていますが、「never」に切り替えます。これで設定は完了です。

文書を書くとき・ビルドするとき

文書を書くときは、LuaLaTeXに対応した文書クラスを使います。ltjsclasses でもいいですが、jlreqがかなり良いらしいので僕はこっちを使っています。文書クラス以上に重要なのが、ファイルを置くフォルダとファイル名です。.texファイルのパスに日本語や全角/半角空白が含まれるとエラーの元です。作業フォルダの場所には気を付けましょう。

2021-02-12 - コピー

ビルドをするときは、左端の「TeX」アイコンを押します。「Build LaTeX project」を展開すると、その中に「Recipe:latexmk (lualatex)」があるのでこれをクリックするとビルドが始まります。うまくいくと、画面の左下のほうにチェックマークが出ます。PDFビューワーも自動で更新してくれます。開いているファイルをロックしてビルドの邪魔をするどこぞのアクロバットなソフトとは大違いです。

以上がVSCodeでLaTeXを書くために僕がやった最低限の環境構築です。

おまけ:中間ファイルの消去

上記の最低限の環境でももちろん良いのですが、大量の中間ファイルが作成され残されます。この邪魔なファイルもLaTeX Workshopの設定を変更することで残らないようにできます。さっき変更した設定項目のすぐ下に「Latex-workshop > Latex > Auto Clean: Run」という項目があります。既定では「never」になっていますが、これを「onBuilt」にすることで、自動で中間ファイルを消去するようになります。

さらに少しスクロールすると、拡張子がいっぱい並んだリストが出てくると思います。この設定項目「Latex-workshop > Latex > Clean: File Types」は、消去するファイルの拡張子の一覧ですが、1か所だけ修正が必要です。「.synctex.gz(busy)」は、最後の「(busy)」を消去してください。(間違えて「.synctex(busy)」の方を消さないように!

以上の設定によって中間ファイルは残らず消えることになります。ビルドしてもフォルダが散らかることはありません。

読みにくい駄文だったとは思いますが、ここまで読んでいただきありがとうございました。

この記事が参加している募集

最近の学び

この記事が気に入ったらサポートをしてみませんか?