LoginSignup
2
3

More than 1 year has passed since last update.

DockerでGhostscript対応LaTeX環境構築

Last updated at Posted at 2020-05-17

はじめに

普段はmacメインだけれども、在宅勤務で久々にWindows環境を使っています。
Windows環境にも論文執筆のためのLaTeX環境を導入しようと思いましたが、面倒なのでDocker上に構築することにしました。

調べてみると、既にQiitaに記事を書いてくださっている方がいました。

DockerでらくらくLaTeX環境構築

しかし、EPS画像を含む英語論文をpdflatexしようとしたところうまくいきませんでした。

本記事では上記記事で紹介されているDockerイメージをGhostscript対応に拡張した環境を構築していきます。
などと大仰なことを書いていますが、作成したDockerイメージは公開しているので、これをpullしてくるだけです。

2021/07/15追記

M1 macでも動くように、TeXLive 2021以降でイメージを刷新しました。

docker pull pman0214/alpine-texlive-ja-epspdf 

すれば、Intel macでもM1 macでも同様に動作します。
追記した現在はTeXLive 2021が最新です。
pman0214/alpine-texlive-ja-epspdf:2021は圧縮サイズで約520MBです。

検証環境

以下の2つの環境で検証しています。

  • Docker version 19.03.8, build afacb8b with macOS 10.15.4 on Mac mini (2018)
  • Docker version 19.03.8, build afacb8b with Windows 10 Education version 2004 (build 19041.264) on Intel NUC

導入方法

Dockerはあらかじめインストールしておきましょう。
あとはDockerイメージをpullしてくるだけです。

docker pull pman0214/alpine-texlive-ja-epspdf 

取得しているDockerイメージはここで公開しているものです。

pman0214/alpine-texlive-ja-epspdf

上記記事で紹介されているpaperist/alpine-texlive-jaにGhostscriptとepstopdfを追加しています。
paperist/alpine-texlive-jaにGhostscriptとepstopdfを直接インストールしようとしたところ、TeXLiveのバージョンが古いためにインストールできませんでした。
このためTeXLive2020で新たにDockerイメージを作りました。

現時点での最新バージョンpman0214/alpine-texlive-ja-epspdf:2020は圧縮サイズで約610MBです。

使い方

docker pullした後は以下の例のようにdockerコンテナを起動して各種texコマンドを実行してください。

docker run --rm -it -v $PWD:/app pman0214/alpine-texlive-ja-epspdf latexmk main.tex

試しに使ってみる

今回はEPSファイルを参照しているダミーtexファイルを使います。
EPSファイルも含めてGistに置いてあるので、これを取得して使います。

pdflatex with eps testing

main.tex
%#!pdflatex main.tex
\documentclass[twocolumn]{article}
\usepackage{graphicx}

\title{Test Report}
\author{pman0214}

\begin{document}
\maketitle
\section{Introduction}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec in justo
semper, sagittis elit vel, eleifend arcu.
Phasellus accumsan id ipsum non varius.
Suspendisse nec nulla nunc.
Pellentesque rutrum commodo lacinia.
Sed molestie ullamcorper tellus, in aliquet mauris egestas non.
Maecenas sed lectus ac neque eleifend fermentum.
Donec id purus felis.
Nam ornare sagittis ullamcorper.

Donec commodo enim nec leo tincidunt varius.
Aliquam vulputate sit amet nibh nec facilisis.
Aliquam lobortis nec urna vel convallis.
Fusce facilisis libero leo, sed pretium dui imperdiet id.
Duis in est et nunc molestie vestibulum vel eget nunc.
Suspendisse potenti.
Mauris scelerisque magna at ex scelerisque, vel tempus turpis eleifend.
Phasellus efficitur elementum ex vel ultrices.
Sed eget arcu magna.
Maecenas dignissim imperdiet lorem, sit amet gravida lorem bibendum at.
Aenean non blandit metus, id viverra velit.
Integer ut sapien sapien.
Sed quam nisi, vehicula quis nunc ullamcorper, molestie accumsan augue.

\begin{figure}[bt]
 \centering
 \includegraphics[width=.8\hsize]{dummy.eps}
 \caption{Dummy figure}
\end{figure}
\end{document}

Gistから取得したZipファイルを展開したディレクトリに入り、以下を実行すればEPS画像を含むmain.pdfが出力されます。

docker run --rm -it -v $PWD:/workdir pman0214/alpine-texlive-ja-epspdf latexmk main.tex

おわりに

本記事では、eps画像を含むtexファイルをタイプセットしてPDFを生成できる環境をDockerを用いて構築しました。
新しいmacを導入する際もこれを使うと導入が楽で幸せになれそうです。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3