{"id":14128200,"url":"https://github.com/blang/latex-docker","last_synced_at":"2026-01-25T04:30:16.116Z","repository":{"id":25086174,"uuid":"28506894","full_name":"blang/latex-docker","owner":"blang","description":"Docker-based latex compilation","archived":false,"fork":false,"pushed_at":"2021-01-12T14:51:46.000Z","size":12,"stargazers_count":588,"open_issues_count":16,"forks_count":148,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-12-30T07:10:33.603Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-26T09:49:20.000Z","updated_at":"2024-12-03T11:42:14.000Z","dependencies_parsed_at":"2022-07-22T04:48:08.525Z","dependency_job_id":null,"html_url":"https://github.com/blang/latex-docker","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blang%2Flatex-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blang%2Flatex-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blang%2Flatex-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blang%2Flatex-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blang","download_url":"https://codeload.github.com/blang/latex-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239768924,"owners_count":19693760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-15T16:01:23.801Z","updated_at":"2026-01-25T04:30:16.054Z","avatar_url":"https://github.com/blang.png","language":"Makefile","readme":"Latex docker container [![Docker hub](https://img.shields.io/docker/pulls/blang/latex.svg)](https://hub.docker.com/r/blang/latex/)\n======================\n\nThis container helps compiling latex sources without the need to install all latex packages on your system.\n\nWhy should I use this container?\n-----\n\n- Easy setup, compile immediately after image download\n- Preserves UID and GID of local user\n- Use container like local command: `latexdockercmd.sh pdflatex main.tex`\n- Multiple distributions like ubuntu's `texlive-full` to cover all needs\n\nVersions\n--------\nAll versions are based on Ubuntu: ([See all tags](https://hub.docker.com/r/blang/latex/))\n\n- [blang/latex:ubuntu (:latest) - Dockerfile.ubuntu](Dockerfile.ubuntu) Ubuntu TexLive distribution: Old but stable, most needed package: texlive-full (3.9GB)\n- [blang/latex:ctanbasic - Dockerfile.basic](Dockerfile.basic) CTAN TexLive Scheme-basic: Up-to-date, only basic packages, base for custom builds (500MB)\n- [blang/latex:ctanfull - Dockerfile.full](Dockerfile.full) CTAN TexLive Scheme-full: Up-to-date, all packages (5.6GB)\n\nIf you need...\n- ...the most-stuff-works-out-of-the-box package, try `blang/latex:ubuntu`.\n- ...the most recent version of everything, try `blang/latex:ctanfull`.\n- ...a stable base for your custom texlive build, try `blang/latex:ctanbasic`.\n\nFor stability, choose a more specific version tag ([See all tags](https://hub.docker.com/r/blang/latex/))\n\nQuick Setup\n-----------\n\nCompile latex sources using docker:\n```bash\n# Change to your project\ncd my_latex_project\n\n# Download the command wrapper and make it executable\nwget https://raw.githubusercontent.com/blang/latex-docker/master/latexdockercmd.sh\nchmod +x latexdockercmd.sh\n\n# Optional: Change the version (see above, default blang/latex:ubuntu)\nedit ./latexdockercmd.sh\n\n# Compile using pdflatex (docker will pull the image automatically)\n./latexdockercmd.sh pdflatex main.tex\n\n# Or use latexmk (best option)\n./latexdockercmd.sh latexmk -cd -f -interaction=batchmode -pdf main.tex\n# Cleanup: ./dockercmd.sh latexmk -c or -C\n\n# Or make multiple passes (does not start container twice)\n../latexdockercmd.sh /bin/sh -c \"pdflatex main.tex \u0026\u0026 pdflatex main.tex\"\n```\n\nRequirements\n------------\n\nFirst, add your local user to docker group (should already be the case):\n```bash\nsudo usermod -aG docker YOURUSERNAME\n```\n\nThe `latexdockercmd.sh` will use your current user and group id to compile.\n\n\nDaemon setup\n------------\n\nIf you're working on source in latex, you might want to compile it multiple times and don't want to start a container each time.\n\n```\ncd my_latex_source\n\n# Start a daemon container on this path, it accepts commands from latexdockerdaemoncmd.sh\nlatexdockerdaemon.sh\n\n# Execute the command in the daemon container, only the daemon container is running\nlatexdockerdaemoncmd.sh pdflatex main.tex\n\n# Stop the daemon\ndocker stop latex_daemon\n```\n\nCustomize\n---------\n\nIf software is missing, extend this base image with your own software:\n\nCreate a Dockerfile or download [Dockerfile.blueprint](Dockerfile.blueprint) for examples:\n```\nFROM blang/latex:ubuntu\n\n# Minted + Pygments\nRUN tlmgr install minted\n```\n\nBuild your custom image:\n```bash\ndocker build -t mycustomlateximg .\n```\n\nEdit `latexdockercmd.sh` to use your image `mycustomlateximg`.\n\nLatex Make\n-----------------\n\nClean build using `latexmk`:\n```\nmkdir compile\nlatexmk -cd -f -jobname=output -outdir=./compile -auxdir=./compile -interaction=batchmode -pdf ./main.tex\n```\n\nUse `latexmkrc` in your project root:\n```\n# Example: Make glossaries\nadd_cus_dep( 'glo', 'gls', 0, 'makeglo2gls' );\nsub makeglo2gls {\n    system(\"makeindex -s \\\"$_[0].ist\\\" -t \\\"$_[0].glg\\\" -o \\\"$_[0].gls\\\" \\\"$_[0].glo\\\"\" );\n}\n```\n\n\nCTAN Packages\n-------------\nA list of available ctan packages can be found here: [http://mirror.ctan.org/systems/texlive/tlnet/archive](http://mirror.ctan.org/systems/texlive/tlnet/archive)\n\nInstall texlive packages:\n```\nRUN tlmgr install minted\n```\n\nContribution\n------------\n\nIf the image is missing a package only specific for you, please don't open an issue or pull request but build your own image as described above.\nIf a critical package is missing or you have a recipe for missing packages in a common scenario, please create an issue / PR on [Dockerfile.blueprint](Dockerfile.blueprint).\n\nLicense\n-------\n\nSee [LICENSE](LICENSE) file.\n","funding_links":[],"categories":["Makefile","Virtualization"],"sub_categories":["Containers"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblang%2Flatex-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblang%2Flatex-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblang%2Flatex-docker/lists"}