Docker image for writing environment for Japanese documents with LaTeX / TeX Live
- Docker Hub: nukopy/ubuntu-texlive-ja
This Docker image supports:
linux/amd64
(TeX Live x86_64-linux build)linux/arm64v8
(TeX Live aarch64-linux build)
Platforms supported by Docker are here.
Platforms supported by TeX Live are here.
docker pull nukopy/ubuntu-texlive-ja
# on local machine
docker run --rm -it -v $(pwd):/workdir nukopy/ubuntu-texlive-ja
# in Docker container
cd ./test/document
latexmk -pvc ./main.tex
# When you edit ./main.tex, ./main.pdf is automatically updated.
You can create TeX documents in any location and with any filename you prefer. Try to create <filename>.tex
and latexmk -pvc path/to/<filename>.tex
in the container.
- Update the environment variable
TEXLIVE_VERSION
inDockerfile
is updated to the new version - Update the variable
TAG
inMakefile
is updated to the new version - Build Docker image with tag of new version
- Run tests for the new version with Docker container built on local
- Push Docker image to Docker Hub
- Run tests for the new version with Docker container pulled from Docker Hub
If the last step is passed, release the new version!
- Build Docker image with tag of new version
docker build . -t nukopy/ubuntu-texlive-ja:[tag]
- Build Docker image with tag of new version for multi-platforms
docker buildx build . --platform linux/amd64,linux/arm64 -t nukopy/ubuntu-texlive-ja:[tag]
make test
make test-slide # test for beamer
To deploy new Docker image to Docker Hub, run the following commands:
- Before push to Docker Hub, login to Docker Hub
docker login
- Push Docker image to Docker Hub
docker push nukopy/ubuntu-texlive-ja:[tag]
- Push Docker image to Docker Hub for multi-platforms
docker buildx build . --platform linux/amd64,linux/arm64 -t nukopy/ubuntu-texlive-ja:[tag] --push
In this repository, build and push Docker image to Docker Hub with GitHub Actions workflow automatically when tags are pushed to GitHub repository.
For tests, push Docker image to Docker Hub with a tag for test like test-ci
. Don't use tags like texlive2023
on test because it is used for release versions.
# push a tag for test
git tag -a test-ci -m "Release test-ci :tada:" && git push origin test-ci
# pull Docker image with a tag for test from Docker Hub
docker pull nukopy/ubuntu-texlive-ja:test-ci
# before run tests, you should change the tag of Docker image `TAG` in `Makefile` like `TAG := test-ci`
# run tests with Docker container pulled from Docker Hub
make test
Official documentation of TeX Live:
- TeX Live - TeX Users Group
- TeX Live HP
- TeX Live Guide 2022 - TeX Users Group(ja)
- An installation guide in Japanese
- install-tl - TeX Live cross-platform installer
- Documentation of TeX Live Installer
install-tl
- Documentation of TeX Live Installer
Blog posts about TeX Live:
This repository is inspired by the following repositories:
- Paperist/docker-alpine-texlive-ja
- johejo/debian-latex-jp
- t-hishinuma/tex-docker
- csg-projects/latexindent-dockerfile
Official documentation of Docker: