LoginSignup
3
2

More than 3 years have passed since last update.

VSCode と Docker で LaTeX 執筆環境の構築

Last updated at Posted at 2021-01-21

モチベーション

昔に比べればましになったものの、やっぱり LaTeX の環境構築は時間がかかる
→ Docker で構築すれば解決するのでは

TL;DR

  • とりあえず環境構築したい人向け
  • Docker イメージを作成 & DockerHub に公開 → 別記事
  • VSCode + 拡張機能で LaTeX 執筆環境を構築

必要なもの

  • Git + Github アカウント
  • Docker (Desktop)
  • VSCode

インストール

Docker Desktop はインストール後、起動させる必要あり

作業フォルダの作成

特にこだわりがなければ このテンプレート を使用(既にフォルダがある場合

緑の Use this template ボタンを押す

自分の Github アカウントにフォーク

無事作成できたらローカルにクローンしてくる

(Mac向け) フォルダ共有の設定

作業フォルダの作成 で作ったフォルダを Docker で共有するための設定が必要

Docker Desktop の設定を開いて、 Resources -> FILE SHARING からフォルダを追加する
追加したら Apply & Restart で設定を適用させる

Docker サービスの起動

Windows や Mac だとバックグランドで Docker のサービスを起動させておく必要がある。
基本は Docker Desktop を起動させておけばOK

  • Win → スタートメニューから Docker Desktop を起動
  • Mac → Launchpad から Docker Desktop を起動

執筆!

VS Code を起動させ ⌘ + O を押して作業フォルダを開く
tex フォルダ内の sample.tex を選択する

右上の でビルドを開始。左下に進捗が表示される。
(最初はコンテナを pull してくるので時間がかかる)

無事ビルドできたら左側のツリーに sample.pdf が表示される
ビルドボタンのひとつ右のボタンがプレビューボタンなので押してプレビュータブを開く
スクリーンショット 2021-01-21 16.28.30.png

Tips: プレビュータブで キーを押しながらクリックすると、tex ファイルの該当箇所がハイライトされる

カスタマイズ

作業フォルダの .vscode/setting.json を開くと、ビルド時の引数など編集できる

ビルド設定

以下の引数を https://texwiki.texjp.org/?Latexmk を参考に変更

    {
      "name": "latexmk",
      "command": "latexmk",
      "args": ["-gg", "-pdfdvi", "%DOC%"]
    }

Docker コンテナの変更

以下の項目を変更
デフォルトのコンテナ → https://hub.docker.com/r/nshun/latex

"latex-workshop.docker.image.latex": "nshun/latex"

自動ビルドの設定

以下の項目を変更
onSave にすると、ファイルを保存するたびにビルドされる

"latex-workshop.latex.autoBuild.run": "never"

既にある作業フォルダでビルドしたい

  1. インストールを済ませる
  2. .vscode/settings.json ファイルを作成
  3. 中身を以下のようにする
{
  "latex-workshop.latex.tools": [
    {
      "name": "latexmk",
      "command": "latexmk",
      "args": ["-gg", "-pdfdvi", "%DOC%"]
    }
  ],
  "latex-workshop.chktex.enabled": false,
  "latex-workshop.docker.enabled": true,
  "latex-workshop.docker.image.latex": "nshun/latex",
  "latex-workshop.latex.autoBuild.run": "never",
  "latex-workshop.latex.outDir": ".",
  "latex-workshop.synctex.afterBuild.enabled": true,
  "latex-workshop.view.pdf.viewer": "tab"
}

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2