воскресенье, 7 мая 2017 г.

Разворачивание окружения для работы LaTeX в Docker

Как известно, пакеты содержащие зависимости LaTeX могут достигать больших размеров и для тех кто не хочет захламлять систему лишними пакетами (например если нужно единожды собрать какой-нибудь проект) можно воспользоваться Docker'ом.

Dockerfile такого вида устанавливает необходимые пакеты для работы XeLaTeX и beamer:
FROM ubuntu
MAINTAINER User <[email protected]>

ENV DIR /master-thesis
RUN mkdir $DIR

RUN echo "deb http://archive.ubuntu.com/ubuntu/ trusty multiverse" | tee -a /etc/apt/sources.list.d/multiverse.list && \
   echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections

RUN apt update && \
   apt install -y wget git make apt-transport-https unzip && \
   apt install -y texlive-base texlive-latex-extra texlive-xetex texlive-lang-cyrillic latexmk texlive-fonts-extra texlive-math-extra latex-beamer

RUN apt install -y --reinstall ttf-mscorefonts-installer

RUN wget -O /usr/share/fonts/xits-math.otf https://github.com/khaledhosny/xits-math/raw/master/xits-math.otf && \
   wget http://www.paratype.ru/uni/public/PTSansOFL.zip && \
   wget http://www.paratype.ru/uni/public/PTMono.zip && \
   unzip PTSansOFL.zip -d /usr/share/fonts/ && unzip PTMono.zip -d /usr/share/fonts/ && \
   rm -f PTSansOFL.zip PTMono.zip && \
   fc-cache -f -v

VOLUME $DIR
WORKDIR $DIR

Также тут устанавливаются некоторые шрифты, такие как Times New Roman, XITS Math, PT Sans, PT Mono.
Я например использую такой подход для сборки своего диплома в LaTeX, очень удобно.