TeXLiveしたい(texlive)
# compose.yaml
services:
tex:
image: texlive/texlive:latest-full
volumes:
- .:/workdir
working_dir: /workdir
command: ["latexmk", "main.tex"]
コンテナーを起動したい
$ docker compose up
コンテナーで操作したい
$ docker compose exec tex bash
コンテナーを終了したい
$ docker compose down
ディレクトリ構造
project/
├── compose.yaml
├── main.tex
├── chapters/
│ ├── chapter1.tex
│ └── chapter2.tex
└── figures/
└── image.png
compose.yamlと同じディレクトリが作業ディレクトリ(/workdir)としてマウントされます。
main.texや関連ファイルはすべて
compose.yamlと同じ階層に配置してください。
% main.tex
\input{chapters/chapter1}
\input{chapters/chapter2}
\includegraphics{figures/image}
\input{}や\include{}で読み込むファイル、画像、.bibファイルなどはサブディレクトリに整理しても構いません。
compose.yamlより外側(親ディレクトリなど)に置いたファイルはマウントできないため、コンテナ内からは参照できません。
TeXLiveについて
TeXLiveはLaTeX環境のDockerイメージです。
サービス名をtexとしており、イメージは最新版を指定しています。
ボリュームでホストディレクトリを/workdirにバインドマウントすることで、手元のファイルをコンテナ内で処理できるようにしています。
docker compose upするとcommandに設定した内容が実行され、LaTeX文書をPDFに変換できます。
コンテナー内でlatexmkやpdflatexといったコマンドを使って文書を処理できます。