VSCodeでLaTeXの環境を整える
パソコンを買い換えるたびにLaTeXの執筆環境の構築をしているので、方法をメモとして残しておきます。 ファイルを保存すると自動でコンパイルが実行されPDFに反映される、我ながら最強の環境です。
この記事では、(u)platex→dvipdfmxの順でPDFを生成する方法を紹介します。
事前にLaTeXのインストールを済ませてください。
拡張機能のインストール
拡張機能の検索欄で「LaTeX Workshop」と検索し、James Yuさんが作成された拡張機能をインストールします。 マーケットプレイスのページ にある「Install」ボタンをクリックしてもインストールできます。
自動実行の設定
自動実行の設定は2種類あります。1つ目の「ユーザ設定」はエディタ自体に設定をするものであり、2つ目の「ワークスペース設定」はフォルダごとに設定します。 メリットとデメリットは以下の通りです。
ユーザー設定 | ワークスペース設定 | |
---|---|---|
メリット | 1箇所で設定すればすべての執筆物で 同じ環境が使える |
執筆物ごとに設定ができる |
デメリット | 執筆物ごとの設定ができない (ワークスペース設定として上書きはできる) |
執筆物ごとに設定ファイルを置く必要がある |
個人的には、フォルダごとコピーすればどのコンピュータでも環境を再現できるので、ワークスペース設定のほうが好みです。 ユーザー設定はこちら 、ワークスペース設定はこちら で紹介しています。
ユーザー設定
ここでは、Windowsで日本語化拡張機能を入れない環境のスクリーンショットを載せながら手順を紹介します。 VSCodeのバージョンや日本語化拡張機能の有無で表示は変わりますが、大体同じ手順だと思います。
まず、「File」→「Preferences」→「Setting」を選択します。
(Macで日本語化拡張機能を入れた状態では「Code」→「基本設定」→「設定」です)
個人設定用のJSONファイルが開きます。
このファイルに設定を記述すると、現在コンピュータにサインインしているアカウントでVSCodeを使った時に、この設定が反映されます。
このファイルに、以下の内容を上書きします。既存の設定がある場合、最後の"ほげほげ": "ふがふが"
のような行の最後に,
をつけ、以下のテキストの一番外側の{}
の内側を"ほげほげ": "ふがふが",
の次の行に続けて貼り付けてください。
|
|
この設定はこちらのサイト から引用いたしました。これはplatexでコンパイルする時の最低限の設定です。platexでコンパイルする際はこの設定で完璧ですが、他のコマンドでコンパイルしたい場合は書き換えたり追記してください。
これでLaTeXファイルを自動コンパイルできるようになりました。
ワークスペース設定
ここで紹介する全ての設定を実施したものをGitHubにあげました。LaTeX文章を書き始めるテンプレートのようになっています。LaTeX、VSCode、拡張機能をインストールし、あとはこのテンプレートをもとに文章を作成すれば自動コンパイルされます。
以下からZipファイルをダウンロードできます。
ファイル構成は以下のようになっています。.vscode
ディレクトリの中に、インストールを推奨する拡張機能を指定するextensions.json
、設定を記述するsettings.json
が入っています。.latexmkrc
ファイルにはLaTeXでのコンパイル方法を記述します。test.tex
が文書ファイルで、ファイル名は自由です。
インストールを推奨する拡張機能を指定(オプション)
LaTeXの自動コンパイルには「LaTeX Workshop」という拡張機能が必要であり、これまでの手順ですでにインストールしています。 しかし、新しい環境ではまだインストールしていないかもしれません。
ここでは、指定した拡張機能がインストールされていない場合に、インストールするように推奨するメッセージをVSCodeが出せるようにします。 そのため、この設定は必須ではありません。
-
最初に
.vscode
ディレクトリを作成します。 Windowsではエラーが表示されるかもしれませんが、その場合はフォルダ名を.vscode.
としてみてください。 -
.vscode
ディレクトリの下にextensions.json
ファイルを作成します。extensions.json
ファイルを開いて、以下のテキストを貼り付けてください。
|
|
これで「LaTeX Workshop」がインストールされていない環境でこのフォルダをVSCodeで開くと、「LaTeX Workshop」をインストールするようにメッセージが表示されます。
VSCodeの設定
.vscode
ディレクトリの下にsettings.json
ファイルをおくと、このワークスペース(フォルダ)内でのみ有効な設定が読み込まれます(ユーザ設定と競合していたらこちらの設定が優先されます)。
コンパイルにはLatexmkを使うため、この設定ファイルにLatexmkを呼び出す設定を記述します。 「LaTeX Workshop」によって、LaTeX文書を保存するとこの設定に従って文章のコンパイルが開始されます。
-
.vscode
ディレクトリの下にsettings.json
ファイルを作成します。 -
settings.json
ファイルを開いて、以下のテキストを貼り付けてください。
|
|
"latex-workshop.view.pdf.viewer":"tab"
はPDFの開き方を指定する項目で、他には外部アプリやブラウザを指定できます。設定方法はwebでお探しください。
LaTeXのコンパイル方法の設定
コンパイルにはLatexmkというツールを使います。 Latexmkとは、「文書を作成するのに必要な回数タイプセットしてくれるツール」1で、少ない行数でコンパイル方法の指定ができます。
-
.latexmkrc
ファイルを作成します。Windowsではエラーが表示されるかもしれませんが、その場合はフォルダ名を.latexmkrc.
としてみてください。 -
.latexmkrc
ファイルを開いて、以下のテキストを貼り付けてください。
|
|
今回の設定では、uplatex, dvipdfmxを使ってPDF化しています。
コンパイルしてみよう!(動作確認)
これで自動コンパイルの設定が終わりました! 動作を確認してみます。
test.tex
というファイルを作成し、以下のテキストを貼り付けてください。
|
|
ファイルを保存すると、自動でコンパイルが開始され、PDFファイルが生成されるはずです。 PDFファイルの開き方は、以下の通りです。
- PDFファイルをダブルクリックして「このまま開きますか?」をクリック
- LaTeXファイルを開いている時に「Ctrl + Alt + v」(Macなら「option + command + v」)を同時押し
PDFファイルを開いておけば、LaTeXファイルを保存すると自動でコンパイルが開始されPDFが更新されます。
以上です。お疲れ様でした!
【おまけ】web表示用に最適化
QPDFというコマンドを使うと、PDFをweb表示用に最適化できます。PDFの内部構造を変更するだけであり、画質が落ちるなどデメリットが特にあるわけではないので、最適化しておくと良いと思います(しなくてもあまり問題ありませんが)。
ここでは、自動でqpdfコマンドを実行し、web表示用に最適化する方法を紹介します。
まず、QPDFというコマンドがインストールされている必要があります。LaTeXのインストール時にWindowsでは標準でインストールされ、MacやLinuxではインストールされないようです(詳しく確かめていないのでわかりません)。ターミナルでqpdf --version
と入力して実行すると、インストールされているかを確認できます。
インストールされていない場合、インストール方法はここでは紹介しませんのでwebでお探しください。
qpdfコマンドがインストールされていることを確認できたら、.vscode/settings.json
を以下のテキストに置き換えます。
|
|
“latex-workshop.latex.recipes"の"tools"に"web_optimisation"
を追加し、“latex-workshop.latex.tools"に"web_optimisation"
の設定を追加しました。
これで、元々生成されていたPDFファイルに加えて、web.pdf
ファイルが生成されます。
実際にWeb表示用に最適化されているか、確認します。
まずはVSCodeでPDFファイルを開きます。PDFの上部にカーソルを持っていきメニューバーを表示させ、「»」というアイコンをクリックし、「文章のプロパティ…」を選択します。
「Web表示用に最適化」の項目を確認し、「はい」になっていれば最適化されています(「いいえ」の場合は最適化されていません)。