VSCode+LaTeXで楽に執筆する環境設定[Windows/macOS]

レポートや論文の執筆時に LaTeX の利用が求められることがあります.手軽にかつ綺麗に印刷したいというモチベで作られたので,自動でいい感じにレイアウトしてくれます.

しかし,コンパイルや PDF への変換が必要であり,毎回コマンドを打っていくのは面倒なので,Visual Studio Code + LaTeX Workshop で楽に LaTeX が書ける環境をつくろうと思います.

TeX のインストール

\(\LaTeX\) を使うにはコンパイラが必要になりますが,有名なディストリビューションである TeX Live を入れておけば問題ありません.

Windows

ネットワークインストーラーを用いるとウィルス対策ソフトに止められたり,エラーが発生してインストールに失敗したりするので,ISO ファイルをダウンロードする方法が良いです.(32bit 版)

Acquiring TeX Live as an ISO image ページの download from a nearby CTAN mirror をクリックして,texlive.iso を選択します.texlive.iso と texliveYYYY.iso はシンボリックリンクなので同じものをダウンロードしています.

ちなみに、約 3.2GB あるので結構時間がかかります.

ダウンロードが終了したら (Windows 10 なら) ダブルクリックで開けるので,install-tl-windows.bat を実行してください.

開けない場合はバーチャルディスクドライブを作成できるソフトウェアをインストールして ISO ファイルを読み込むか,ネットワークインストーラーを使用してください.

macOS

今回はパッケージ管理システムを利用せず,GUI で操作できるパッケージを使います.Windows 程複雑じゃないので Wiki の MacTeX.pkg でインストールするで確認してください.

VS Code インストール

VS Code は Microsoft の開発する IDE です.説明は省きますが,とても便利なのでコーディングにお勧めです.

Visual Studio Code

インストールが終了したら起動し,Shift + Ctrl + X (Windows) / shift + command + X (macOS) で拡張機能のページを開きます.ここで LaTeX Workshop を検索し,インストール,リロードを行うと \(\LaTeX\) 自体の環境は完成です.

おすすめの拡張機能

  • LaTeX Workshop: この後に設定する環境を設定
  • LaTeX language support: スニペットや自動補完に対応

おすすめの日本語環境の設定

Ctrl + , (Windows) / command + , (macOS) で設定が開きます.

GUI の設定画面が表示される場合は右上の {} を押して以下のように JSON ファイルを編集します.

{
    "latex-workshop.chktex.enabled": false,
    "latex-workshop.latex.recipes": [
        {
            "name": "ptex2pdf*2",
            "tools": [
                "ptex2pdf",
                "ptex2pdf"
            ],
        },
        {
            "name": "ptex2pdf&pbibtex",
            "tools": [
                "ptex2pdf",
                "pbibtex",
                "ptex2pdf",
                "ptex2pdf"
            ],
        }
    ],
    "latex-workshop.latex.tools": [
        {   
            "name": "ptex2pdf",
            "command": "ptex2pdf",
            "args": [
                "-l",
                "-ot",
                "-kanji=utf8 -synctex=1 -file-line-error",
                "%DOC%"
            ]
        },
        {
            "name": "pbibtex"
            "command": "pbibtex",
            "args": [
                "-kanji=utf8",
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.view.pdf.viewer": "tab",
    "editor.wordWrap": "on",
    "latex-workshop.latex.autoBuild.run": "onFlieChange",
    "latex-workshop.latex.clean.enabled": true
}

toolchain が廃止され,tools で定義した内容を recipes で使用する形式になったようです.

日本語対応の platex と pbibtex を使う前提で進めていますが,bibtex や uplatex も利用できます.

設定内容の詳細は以下の通りです.

  • latex-workshop.chktex.enabled: 構文チェックするけど日本語を認識しないのでエラーがたくさん
  • latex-workshop.latex.recipes: ビルドで実行する内容を設定
  • latex-workshop.latex.tools: 実行するコマンドの設定
  • latex-workshop.view.pdf.viewer: PDF をタブで表示する設定
  • latex-workshop.latex.autoBuild.onSave.enabled: 保存されると自動的にビルド
  • (追記)latex-workshop.latex.autoBuild.run: 保存されると自動的にビルド
  • latex-workshop.latex.clean.enabled: ビルドして PDF を作成した後に .aux 諸々のファイルを消す

(Windows) Ctrl + Shift + P / (macOS) command + shift + P で開くコマンドパレットで “LaTeX Workshop: Build with recipe” を選択することで、任意のレシピを使ってビルドできます.

保存コマンドや自動保存が実行されても自動でビルドされますが,このときに実行されるレシピは一番上に書いたものです.

目次や参考資料の紐付けのために複数回ビルドを繰り返す設定になっています.

VS Code 自体にオートセーブ機能がついており,これを使うと保存する手間が省けるので非常に楽です.

ただし,基本的には入力を行う度に保存と自動ビルドを繰り返すため,ビルドが終わらなくなるときがあります.

VS Code 内の \(\TeX\) タブ > [View Log Messages] > [View LaTeX compiler log] でエラー内容を確認して,適切に修正すれば再度レシピを実行することで PDF を出力できます.

もし,ビルドが終わらなくなったら記事最下部の Q&A の内容を試してください.

便利なサイト

知ってると便利かもしれないサイトを紹介しておきます.

  • LaTeXコマンド集:よく使うコマンドたちが載ってる
  • PNG to PDF:PNG ファイルを PDF に変換(画像は PDF で埋め込むのが最良)

おすすめの本

授業で使う教科書だったので購入しましたが,基本的なことからわかりやすく詳細に説明されているのでよくおすすめされている本です.

Web サイトでは全然使い方がわからないという場合はとてもいい参考書になります.

[改訂第7版]LaTeX2ε美文書作成入門 | 奥村 晴彦, 黒木 裕介 |本 | 通販 | Amazon
Amazonで奥村 晴彦, 黒木 裕介のLaTeX2ε美文書作成入門。アマゾンならポイント還元本が多数。奥村 晴彦, 黒木 裕介作品ほか、お急ぎ便対象商品は当日お届けも可能。またLaTeX2ε美文書作成入門もアマゾン配送商品なら通常配送無料。

Q&A

ビルドが失敗するときの対処方法,スタイルファイルの追加・設定方法などは以下の記事に書いてます.

LaTeX の使い方&エラー集
コンパイルできずにエラーが返ってくるけど内容がわからないことはありがちです。私は VS Code を使っていますが、一部エラーは TeX Live でも出るものなので、参考までにご覧ください。
\(\)
タイトルとURLをコピーしました