pyてよn日記

一寸先は闇が人生

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

n 番煎じだけど,ようやく Docker + VSCodeLaTeX 環境構築の戦いに終止符を打った.沼から抜け出せそう.

本記事は作成した LaTeX 用の Docker イメージ,VSCode でそのまま使えるテンプレートリポジトリの宣伝用の記事であり.この記事を見れば環境構築ができるとかではない.各リポジトリのドキュメントを読めば環境構築できるようになっているはず.本記事見て有用だなと思ったらリポジトリにスターくださると嬉しいです.

前提知識

  • Docker の基本的な使い方(docker build, pull, run が分かる程度)
  • VSCode の基本的な使い方(ファイル編集と拡張機能のインストールできる程度)

実行環境

  • OS Mac OS X 10.15.7 19H2
  • Docker version 20.10.0, build 7287ab3
  • Docker Compose version 1.27.4, build 40524192
  • VSCode 1.52.1
  • VSCode Extension
    • Remote - Containers v0.154.1
    • LaTeX Workshop v8.15.0

やりたかったこと

  • LaTeX 環境構築の再現性を担保したい
  • LaTeX 環境構築でローカル環境を汚したくない

やったこと

LaTeX 用の Docker イメージ

下記に GitHub リポジトリ,Docker Hub リポジトリを示した.Fork とか docker pull して使ってみてください.なんかあれば PR お願いします.リポジトリにスターくれたら嬉しいです.

github.com

hub.docker.com

LaTeX 執筆用の GitHub テンプレートリポジトリ

リポジトリのページから "Use this template" で新しくリポジトリ作って clone するだけですぐに VSCodeLaTeX 執筆環境が整えられるテンプレートリポジトリを作った.

詳しい手順は README を参照.

github.com

反省,苦労したこと

適当なこと書くのでスルーしてください.

  • エラーメッセージ読め
  • apt-get でインストールした TeX Live だとバージョンが古くて tlmgr が動かなかった.そのせいで latexmk や latexindent が上手くインストール出来なくてハマった.さっさと TeX Live の最新版をインストーラでインストールする方法を選べばよかった.
  • 始めの段階では他人の Dockerfile をコピペしながら書いてた.おまじない(というより自分が知らないコマンドとか)が多くてデバッグがしづらくて,でも面倒だから放置してたらハマった.結局 1 コマンドずつ理解しながら地道に Dockerfile 書いた方が早いよねってなった.最終的に原型を止めない感じになった.
  • LaTeX のエコシステムを学びたくない,とにかく最小の労力で LaTex の環境構築をしたという思いが返ってハマりどころを作ることになってしまった.急がば回れ
  • Perl のパッケージ管理システムは cpan でなく cpnam(cpanminus)を使うらしい(そもそも cpan も初めて聞いた).あんま覚えてないけど Perl のパッケージインストールしたときにビルド出来なくて苦しんでた.
  • もう LaTeX 環境構築で苦しむのはやめよう,やめたい.疲れました.
  • 環境構築は何も進捗を生んでくれない.
  • エラーメッセージ読め