A Lightweight TeXLive Docker image. It includes:
- some ready-made collections (written in texlive.profile)
- collection-basic
- collection-fontsrecommended
- collection-latex
- collection-latexrecommended
- latexmk
- latexindent
- latexdiff
- synctex
- lacheck
- texcount
- chktex
- biblatex & biber
- extra packages (written in install-additional-packages.sh)
See texlive-version.txt, installed-packages.txt for details.
The following command builds project-top/tex/master.tex with lualatex:
docker run --rm -v ${PWD}:/workdir shena4746/alpine-texlive-base:0.0.1 \
sh -c 'cd tex && latexmk -outdir=../out -lualatex -shell-escape -synctex=1 master.tex'The image is available on Docker Hub.
# replace tag with your intended version (e.g., 0.0.1)
docker pull shena4746/alpine-textlive-base:tagIf you want to add packages available via tlmgr, edit install-additional-packages.sh and build a new image by running make build at the project root. If you want to add collection-xxxx, editing textlive.profile would be a better choice.
To run an additional apk add, the Dockerfile must be rewritten.
# install xetex
FROM shena4746/alpine-texlive-base:tag
RUN apk update \
&& apk add --no-cache fontconfig \
&& tlmgr install collection-xetexIf you are concerned about image size, a sensible approach is to rewrite the 'base' image definition for the purpose of exploiting multi-stage builds.
make test tries to build and latexindent ./tex/master.tex by executing ./script/test.sh. See Makefile for detail.
When you use make xxx, remember to update variables in the Makefile, such as USERNAME and VERSION.
This repository is inspired by: