Ark's Blog

数学とか競プロとか参加記とか備忘録とか

ようこそ

Dockerで動くいい感じのLaTeX環境をつくった話

Docker上で動くいい感じのLaTeX環境をつくりました。

github.com

対象ディレクトリで

$ docker run --rm -it -v $PWD:/workdir -u $(id -u):$(id -g) arkark/latexmk

を叩くだけで、Docker上のlatexmkが動いてファイルの編集を感知したら自動コンパイルしてくれます。長いので.bashrcなどでaliasするといいです。

  • ホストでは適当なエディタとpdfビューワで、編集と閲覧
  • コンテナでは編集の感知→コンパイル
  • コンソール上ではコンパイル結果のlogを監視

といった使用方法を想定しています。

他のDocker上のlatex環境との違いとして↓こんな感じでlatexmkの出力に色を付けてみました。

f:id:ark4rk:20190210213209p:plain

中身の処理としてはlatexmkの出力結果をパイプに流してsedでごりごり着色しています。エラーやワーニング等を視覚的にわかりやすくしました。

ついでに「、」「。」→「,」「.」の自動変換機能も加えました。もちろんIMEの設定でデフォルトの変更は可能ですが、普段は「、」「。」を使いたい人が毎回変更する手間を軽減するためです。(この機能が不要であれば自前の.latexmkrcファイルをつくって作業ディレクトリに追加すればいいです)

latex環境として、Cloud LaTeXやOverleafなどのクラウドサービスを使うのもありですが、ファイル管理がめんどいのとエディタが選択できない欠点があります。一方で、この方法だとローカルを汚さない上にワンコマンドでlatex環境が完結するので便利です。

Docker Hubに公開しているので、よかったらイメージをpullして使ってみてください!