はじめに
今回はMac環境でLaTex環境を構築しました。
一度、Macに直接環境を構築したものの、研究室で使っているUbuntu環境と同じ実行結果にならなかったため、Dockerで環境構築をして、全く同じ環境を構築しました。
ディレクトリ構成
用意するディレクトリは、今回LaTex-app
としました。
treeコマンドで出力するとディレクトリ構成はこんな感じ。
devのディレクトリにコンパイルしたいtexファイルを置いておきます。
LaTex-app
├── Dockerfile
├── README.md
├── dev/
└── docker-compose.yml
Dockerfile
私の研究室ではUbuntu20.04を使っていましたので、同じものをイメージに使いました。
Latexのインストールは以下の記事を参考にしました。
Ubuntu 18.04 LTS に LaTeX をインストール
# imageの選択
FROM ubuntu:20.04
# インストール時にダイアログ・ボックスを開こうとして、エラーがあっても停止しないようにする。
# 参考:http://docs.docker.jp/v1.11/engine/faq.html#dockerfile-debian-frontend-noninteractive
ENV DEBIAN_FRONTEND noninteractive
# デフォルトのシェルをbashに設定
SHELL ["/bin/bash", "-c"]
# 各種必要なファイルをインストール
RUN apt-get update && apt-get install -y\
texlive-lang-cjk xdvik-ja evince\
texlive-fonts-recommended texlive-fonts-extra
RUN apt-get -y upgrade
docker-compose.yml
docker-compose.ymlは見ての通りですね。
version: '3'
services:
ubuntu20.04:
restart: always
build: .
container_name: ubuntu20.04
working_dir: '/root/dev/'
tty: true
volumes:
- ./dev:/root/dev/
docker-composeの使い方
(あらかじめ、$ cd LaTex-app
でLaTex-app
に移動しておく)
コンテナ起動
(初めての起動には-bオプションをつけるとなおよし)
$ docker-compose up -d
コンテナに入る
$ docker-compose exec ubuntu20.04 bash
コンテナから出る
コンテナ内で実行する。
$ exit
コンテナ削除
$ docker-compose down --rmi all
LaTeXの使い方
ドキュメント化
(参考文献がある場合は2回くりかえす)
$ platex hoge.tex
dviファイルをpdfに変換(PCで見る用)
$ dvipdfmx hoge.dvi
dviファイルをpsファイルに変換(印刷用、きれいに印刷できる)
$ dvips hoge.dvi
まとめ
docker-composeでUbuntu環境を立ち上げて、LaTex環境を構築しました。
起動時間が結構かかってました。
毎回、LaTex環境を立ち上げるのはあまり向いてないってことなのか。
ですが、確実に環境を合わせられることが結構便利ではある。
最適なやり方があるのであれば知りたいです。