環境構築

dockerでlatexを扱う

はじめに

研究の梗概を書くためにdockerを使って環境を作ろうと思います。

手順

今回はpaperistさんが作成してくださった、apline-texlive-jaイメージを使う方法と自分がapline-texlive-jaイメージをカスタマイズしたイメージを使う方法の2つを紹介します。

alpine-texlive-jaイメージ

まずdockerイメージを用意します。日本語にも対応したdockerイメージが作成されています。paperistさん、ありがとうございます。

docker pull paperist/alpine-texlive-ja

あとはtexファイルがあるディレクトリに移動して

docker run --rm -it -v $PWD:/workdir paperist/alpine-texlive-ja

とすればカレントディレクトリをマウントしたコンテナが作成されます。
そうしたらcliでいじるだけです。

自分の場合は対応する.clsや画像を持ってきて

platex test.tex
dvipdfmx test.dvi

とすればpdfが作成されます。

カスタマイズ

コンテナ上で上記のコマンドを一発で実行したかったため、自分でコンテナイメージを作成してみました。paperistさんのイメージに以下のtex2pdfという名前のfunctionを付け加えました。

#!/bin/sh
if [ -z $1 ]; then
  echo "no argument"
  return 
fi
platex $1.tex
platex $1.tex
dvipdfmx $1.dvi

platexが2つあるのはたまにplatexが反映されないときがあるからです。
このイメージは自分のDockerhubにアップしておきます。

使い方

まず.texがあるディレクトリを開いてください。
次に以下のコマンドでコンテナを立ち上げて、コンテナのcliを開きます

docker pull watanabesota/tex2pdf
docker run --rm -it -v $PWD:/workdir watanabesota/tex2pdf

あとはtest.texというファイルなら

tex2pdf test

とするだけです。

おわりに

texもdockerでできるなんて…
時代はdockerだな!

そーたの技術ブログ

コメント

タイトルとURLをコピーしました