Sign inSign up

qmcgaw/latexdevcontainer

By qmcgaw

•Updated 7 months ago

Image
9

50K+

qmcgaw/latexdevcontainer repository overview

⁠Latex Dev Container

Ultimate Latex development container for Visual Studio Code

Build status Docker Pulls Docker Stars

Join Slack channel GitHub last commit GitHub commit activity GitHub issues

⁠Features

  • Fastest way to code LaTex and produce a pdf file when saving your .tex file
  • Uses texlive 2026⁠
  • Based on Debian Bullseye Slim, using qmcgaw/basedevcontainer⁠
  • Compatible with amd64 and aarch64
  • Two Docker images:
    • qmcgaw/latexdevcontainer:latest (default) which uses the TexLive basic scheme and has an uncompressed image size of 467MB
    • qmcgaw/latexdevcontainer:latest-full which uses the TexLive full scheme and has an uncompressed image size of 4.2GB - most packages you would need are already installed.
  • Comes with tlmgr to install more LaTex packages as needed
  • Latex compilation to pdf with latexmk⁠
  • Formatting on save using latexindent⁠
  • Latex linting using chktex⁠ built from source
  • Using the LaTex-Workshop VScode extension⁠
  • Compatible with amd64, ARM 64 bit, ARM 32 bit v6 and v7 (TeXLive not available on ARM, create an issue if you need it)
  • Cross platform
    • Easily bind mount your SSH keys to use with git
    • Manage your host Docker from within the dev container, more details at qmcgaw/basedevcontainer⁠
  • Extensible with docker-compose.yml
  • Minimal uncompressed image size of 467MB

Demo

⁠Requirements

⁠Setup for a project

  1. Setup your configuration files
    • With style 💯

      docker run -it --rm -v "/yourrepopath:/repository" qmcgaw/devtainr:v0.4.0 -dev latex -path /repository -name projectname
      

      Or use the built binary⁠

    • Or manually: download this repository and put the .devcontainer⁠ directory in your project.

  2. Open the command palette in Visual Studio Code (CTRL+SHIFT+P) and select Remote-Containers: Open Folder in Container... and choose your project directory

Install

⁠Install LaTex packages

If you need for example the package lastpage, open the integrated terminal in VS Code, select zsh and enter:

tlmgr install lastpage
texhash

Install packages

⁠Update the Latex Docker image

  1. Pull the docker image

    docker pull qmcgaw/latexdevcontainer
    
  2. Open the command palette in Visual Studio Code (CTRL+SHIFT+P) and select Remote-Containers: Rebuild and Reopen in Container.... ⚠️ this will erase your container shell history and custom latex packages you added on top of the base image.

⁠More

⁠devcontainer.json
  • You can change the "postCreateCommand" to be relevant to your situation. For example:

    "postCreateCommand": "tlmgr update --self && tlmgr install acronym pgf && texhash",
    
  • You can change the extensions installed in the Docker image within the "customizations/vscode/extensions" array

  • Other Latex settings can be changed or added in the "customizations/vscode/settings" object.

⁠Development image
  • You can build the development image yourself:

    docker build -t qmcgaw/latexdevcontainer -f Dockerfile https://github.com/qdm12/latexdevcontainer.git
    
  • You can extend the Docker image qmcgaw/latexdevcontainer with your own instructions.

    1. Create a file .devcontainer/Dockerfile with FROM qmcgaw/latexdevcontainer

    2. Append instructions to the Dockerfile created. For example:

      FROM qmcgaw/latexdevcontainer
      RUN tlmgr install lastpage
      
    3. Modify .devcontainer/docker-compose.yml and add build: . in the vscode service.

    4. Open the VS code command palette and choose Remote-Containers: Rebuild container

  • You can bind mount a shell script to /home/vscode/.welcome.sh to replace the current welcome script⁠

⁠TODOs

⁠License

This repository is under an MIT license⁠ unless indicated otherwise.

Tag summary

Content type

Image

Digest

sha256:c6efe6c40…

Size

248.1 MB

Last updated

7 months ago

docker pull qmcgaw/latexdevcontainer