From 82028ad2d65f29d3351af8602bb6648185c10ae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Vescera?= Date: Thu, 16 Nov 2023 11:18:41 +0000 Subject: [PATCH 1/3] feat: texliveonfly Add and install Texliveonfly tool for automatic LaTex package installation. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f1bf6a6..406d2ef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -63,7 +63,7 @@ RUN apt-get update -y && \ apt-get clean autoclean && \ apt-get autoremove -y && \ rm -rf /var/lib/{apt,dpkg,cache,log}/ -RUN tlmgr install latexindent latexmk && \ +RUN tlmgr install latexindent latexmk texliveonfly && \ texhash && \ rm /usr/local/texlive/${TEXLIVE_VERSION}/texmf-var/web2c/*.log && \ rm /usr/local/texlive/${TEXLIVE_VERSION}/tlpkg/texlive.tlpdb.main.* From 6b7db9b183b96a956cc91b1c2d3376e839ef5161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Vescera?= Date: Sat, 18 Nov 2023 09:33:46 +0000 Subject: [PATCH 2/3] feat: Texliveonfly dependencies Add dependencies for texliveonfly: `python` and `python-is-python3`. The inclusion of `python-is-python3` is necessary as texliveonfly requires the "python" executable instead of "python3". --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 406d2ef..a739fae 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,7 +52,7 @@ ENV PATH ${PATH}:\ WORKDIR /workspace # Latexindent dependencies RUN apt-get update -y && \ - apt-get install -y --no-install-recommends cpanminus make gcc libc6-dev && \ + apt-get install -y --no-install-recommends cpanminus make gcc libc6-dev python3 python-is-python3 && \ cpanm -n -q Log::Log4perl && \ cpanm -n -q XString && \ cpanm -n -q Log::Dispatch::File && \ From a351b7b123de6871d9ac3524b8fbeecb3be6503f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Vescera?= Date: Sat, 18 Nov 2023 16:04:08 +0000 Subject: [PATCH 3/3] feat: LaTex Workshop recipes Added LaTex Workshop recipes and integrated texliveonfly. Includes two recipes: one using the default compiler and the other utilizing lualatex. --- .devcontainer/devcontainer.json | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 2b0e62d..8d027ce 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -23,6 +23,7 @@ "files.eol": "\n", // Latex settings "latex-workshop.linting.chktex.enabled": true, + "latex-workshop.latex.recipe.default": "latexmk", "latex-workshop.linting.chktex.exec.path": "chktex", "latex-workshop.latex.clean.subfolder.enabled": true, "latex-workshop.latex.autoClean.run": "onBuilt", @@ -30,6 +31,58 @@ "files.associations": { "*.tex": "latex" }, + "latex-workshop.latex.recipes": [ + { + "name": "latexmk", + "tools": [ + "texliveonfly", + "latexmk" + ] + }, + { + "name": "latexmk (lualatex)", + "tools": [ + "texliveonfly-lualatex", + "latexmk-lualatex" + ] + } + ], + "latex-workshop.latex.tools": [ + { + "name": "texliveonfly", + "command": "texliveonfly", + "args": [ + "%DOC%.tex" + ] + }, + { + "name": "texliveonfly-lualatex", + "command": "texliveonfly", + "args": [ + "--compiler=lualatex", // if you want to have the shell-escape flag + "%DOC%.tex" + ] + }, + { + "name": "latexmk", + "command": "latexmk", + "args": [ + "-synctex=1", // if you want to have the shell-escape flag + "-interaction=nonstopmode", + "%DOC%.tex" + ] + }, + { + "name": "latexmk-lualatex", + "command": "latexmk", + "args": [ + "-lualatex", + "-synctex=1", // if you want to have the shell-escape flag + "-interaction=nonstopmode", + "%DOC%.tex" + ] + } + ], "latex-workshop.latexindent.path": "latexindent", "latex-workshop.latexindent.args": [ "-c",