Files
l3-ocr-slides/.devcontainer/devcontainer.json
2026-10-16 16:59:18 +02:00

142 lines
4.6 KiB
JSON

{
"name": "LaTeX Dev Container",
"image": "ghcr.io/khannurien/latex-devcontainer:2026.08",
// "build": {
// "dockerfile": "Dockerfile",
// "context": ".."
// },
"remoteUser": "vscode",
"updateRemoteUserUID": true,
// Local extensions, packaged and installed by the script below:
// .devcontainer/overleaf-keymap -- Overleaf's keyboard shortcuts
// .devcontainer/paste-figure -- Ctrl+V an image -> figure environment
"postCreateCommand": "bash .devcontainer/install-extensions.sh",
"customizations": {
"vscode": {
"settings": {
// VSCode text editor settings
"editor.fontSize": 16,
"editor.tabSize": 2,
"editor.lineHeight": 1.8,
"editor.cursorBlinking": "phase",
"editor.unicodeHighlight.nonBasicASCII": false,
"editor.wordWrap": "on",
"editor.wrappingStrategy": "advanced",
"editor.wordBasedSuggestions": "off",
// "editor.quickSuggestions": {
// "other": "on",
// "comments": "off",
// "strings": "off"
// },
// "editor.acceptSuggestionOnEnter": "off",
// LaTeX Workshop settings
"latex-workshop.intellisense.package.enabled": true,
"latex-workshop.intellisense.unimathsymbols.enabled": true,
"latex-workshop.intellisense.citation.backend": "biblatex",
// Linting and formatting (chktex and latexindent ship with TeX Live)
"latex-workshop.chktex.enabled": true,
"latex-workshop.chktex.run": "onSave",
"latex-workshop.formatting.latex": "latexindent",
"[latex]": {
"editor.formatOnSave": true
},
"latex-workshop.latex.outDir": "build",
"latex-workshop.latex.clean.subfolder.enabled": true,
"search.exclude": {
"**/build": true
},
"latex-workshop.latex.autoBuild.run": "onFileChange",
"latex-workshop.latex.autoBuild.interval": 3000,
"latex-workshop.synctex.afterBuild.enabled": true,
"latex-workshop.view.autoFocus.enabled": false,
"latex-workshop.view.pdf.reload.transition": "fade",
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.view.pdf.zoom": "auto",
"latex-workshop.latex.tools": [
{
"args": [
"-shell-escape",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"-out2dir=.",
"-pdflatex",
"-e",
"$bibtex='biber %O %S';",
"%DOC%"
],
"command": "latexmk",
"name": "latexmk + pdflatex + biber"
},
{
"args": [
"-shell-escape",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"-out2dir=.",
"-xelatex",
"-e",
"$bibtex='biber %O %S';",
"%DOC%"
],
"command": "latexmk",
"name": "latexmk + xelatex + biber"
},
{
"args": [
"-shell-escape",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"-out2dir=.",
"-lualatex",
"-e",
"$bibtex='biber %O %S';",
"%DOC%"
],
"command": "latexmk",
"name": "latexmk + lualatex + biber"
}
],
"latex-workshop.latex.recipes": [
{
"name": "latexmk + lualatex + biber",
"tools": [
"latexmk + lualatex + biber"
]
},
{
"name": "latexmk + xelatex + biber",
"tools": [
"latexmk + xelatex + biber"
]
},
{
"name": "latexmk + pdflatex + biber",
"tools": [
"latexmk + pdflatex + biber"
]
}
],
"latex-workshop.latex.recipe.default": "lastUsed",
// Overleaf-style image paste, from .devcontainer/paste-figure. Ctrl+V (or a
// drag & drop) of an image into a .tex file writes it here and inserts a
// figure environment around it; edit "pasteFigure.template" to change the
// block that gets inserted.
"pasteFigure.directory": "img"
},
"extensions": [
"james-yu.latex-workshop",
"jgclark.vscode-todo-highlight"
]
}
}
}