Skip to content

Instantly share code, notes, and snippets.

@AkashiSN
Last active December 19, 2021 07:31
Show Gist options
  • Save AkashiSN/36c48982ddc4738ec47ff6df675be4c9 to your computer and use it in GitHub Desktop.
Save AkashiSN/36c48982ddc4738ec47ff6df675be4c9 to your computer and use it in GitHub Desktop.
LaTeX in Docker with VS Code Remote Development
#!/usr/bin/env perl
$latex = "uplatex -synctex=1 -interaction=nonstopmode -shell-escape -halt-on-error";
$latex_silent = "uplatex -synctex=1 -interaction=batchmode -shell-escape -halt-on-error";
$lualatex = "lualatex -synctex=1 -interaction=nonstopmode -shell-escape -halt-on-error";
$xelatex = "xelatex -synctex=1 -interaction=nonstopmode -shell-escape -halt-on-error";
$bibtex = "upbibtex";
$biber = "biber --bblencoding=utf8 -u -U --output_safechars";
$dvipdf = "dvipdfmx %O -o %D %S";
$makeindex = "upmendex %O -o %D %S";
$max_repeat = 5;
$pdf_previewer = ":"; # do nothing
$pvc_view_file_via_temporary = 0;
$ tree -a
.
├── .devcontainer
│   ├── devcontainer.json
│   └── docker-compose.yml
└── .latexmkrc
{
"name": "latexmk",
"dockerComposeFile": "docker-compose.yml",
"extensions": ["james-yu.latex-workshop"],
"service": "latexmk",
"settings": {
"latex-workshop.latex.autoBuild.interval": 0,
"latex-workshop.latex.autoBuild.run": "onSave",
"latex-workshop.latex.autoClean.run": "onFailed",
"latex-workshop.latex.outDir": "out",
"latex-workshop.latex.recipe.default": "lastUsed",
"latex-workshop.latex.recipes": [
{
"name": "latexmk 🔃",
"tools": ["latexmk", "make-output-dir", "copy-artifacts"]
},
{
"name": "latexmk with lualatex 🔃",
"tools": ["latexmk-lualatex", "make-output-dir", "copy-artifacts"]
},
{
"name": "latexmk with xelatex 🔃",
"tools": ["latexmk-xelatex", "make-output-dir", "copy-artifacts"]
}
],
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": ["-outdir=%TMPDIR%", "-pdfdvi", "%DOC_EXT%"],
"env": {}
},
{
"name": "latexmk-lualatex",
"command": "latexmk",
"args": ["-outdir=%TMPDIR%", "-pdflua", "%DOC_EXT%"],
"env": {}
},
{
"name": "latexmk-xelatex",
"command": "latexmk",
"args": ["-outdir=%TMPDIR%", "-pdfxe", "%DOC_EXT%"],
"env": {}
},
{
"name": "make-output-dir",
"command": "mkdir",
"args": ["-p", "./out"],
"env": {}
},
{
"name": "copy-artifacts",
"command": "cp",
"args": ["%TMPDIR%/%DOCFILE%.pdf", "%TMPDIR%/%DOCFILE%.synctex.gz", "./out/"],
"env": {}
},
],
"latex-workshop.synctex.afterBuild.enabled": true,
"latex-workshop.view.pdf.viewer": "tab"
},
"workspaceFolder": "/workdir",
"shutdownAction": "stopCompose"
}
version: "3"
services:
latexmk:
image: akashisn/latexmk:full
environment:
SHELL: "/bin/bash"
command: sleep infinity
volumes:
- ../:/workdir
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment