diff options
Diffstat (limited to 'macros/latex/contrib/runcode/runcode.sty')
-rw-r--r-- | macros/latex/contrib/runcode/runcode.sty | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/macros/latex/contrib/runcode/runcode.sty b/macros/latex/contrib/runcode/runcode.sty index 27202b469a..873fab14c1 100644 --- a/macros/latex/contrib/runcode/runcode.sty +++ b/macros/latex/contrib/runcode/runcode.sty @@ -4,7 +4,7 @@ % % This package is based on an ongoing work by Haim Bar and HaiYing Wang, and comments and questions are welcome! -\ProvidesPackage{runcode}[2022/08/10 runcode v1.6] +\ProvidesPackage{runcode}[2022/08/20 runcode v1.7] \newif\ifruncode % Change to \runcodefalse if you want to suspend code execution @@ -144,7 +144,8 @@ \usepackage{fvextra} \fi -\immediate\write18{mkdir -p tmp} +\newcommand{\generated}{generated} +\immediate\write18{mkdir -p \generated} \definecolor{bg}{rgb}{0.95,0.95,0.95} % code block background color @@ -226,8 +227,8 @@ \IfFileExists{#2}{ \stepcounter{codeOutput} \ifthenelse{\isempty{#3}} - { \setvalue{\tmpname}{tmp/\jobname_tmp\thecodeOutput.tex} } - { \setvalue{\tmpname}{tmp/#3.tex} } + { \setvalue{\tmpname}{\generated/\jobname_tmp\thecodeOutput.tex} } + { \setvalue{\tmpname}{\generated/#3.tex} } % toggle \runcode above if you want to enable/disable code execution \ifthenelse{\isempty{#4}} { \ifruncode @@ -250,8 +251,8 @@ \NewDocumentCommand{\includeOutput}{m O{vbox}}{\- \ifthenelse{\isempty{#1}} - {\setvalue{\tmpname}{tmp/\jobname_tmp\thecodeOutput.tex}} - {\unskip\setvalue{\tmpname}{tmp/#1.tex}\unskip}\unskip + {\setvalue{\tmpname}{\generated/\jobname_tmp\thecodeOutput.tex}} + {\unskip\setvalue{\tmpname}{\generated/#1.tex}\unskip}\unskip % even if the code is not executed, but we ran it before, we can use a % cached version if it exists. \IfFileExists{\tmpname} @@ -288,7 +289,7 @@ \NewDocumentCommand{\inln}{m m O{inline}}{\- \stepcounter{codeOutput}\unskip - \unskip\setvalue{\tmpname}{tmp/\jobname_inln\thecodeOutput}\unskip\unskip\unskip + \unskip\setvalue{\tmpname}{\generated/\jobname_inln\thecodeOutput}\unskip\unskip\unskip \ifruncode % cache mode - don't try to run the code, just get the previous results \IfBeginWith{#2}{```}{\ifruncode\immediate\write18{#1 > \tmpname.tex}\unskip\fi} {\newwrite\tempfile @@ -362,17 +363,17 @@ \NewDocumentCommand{\runPythonBatch}{m m}{%\-\\ \stepcounter{codeOutput} \ifthenelse{\isempty{#2}} % set the output file name - { \setvalue{\tmpname}{tmp/\jobname_tmp\thecodeOutput.tex} } - { \setvalue{\tmpname}{tmp/#2.tex} } + { \setvalue{\tmpname}{\generated/\jobname_tmp\thecodeOutput.tex} } + { \setvalue{\tmpname}{\generated/#2.tex} } \IfFileExists{#1}{ \ifruncode \newwrite\tempfile - \immediate\openout\tempfile=tmp/\jobname_#1 + \immediate\openout\tempfile=\generated/\jobname_#1 \immediate\write\tempfile{import dill} \immediate\write\tempfile{from os.path import exists} - \immediate\write\tempfile{if exists('tmp/session'):} - \immediate\write\tempfile{ dill.load_session('tmp/session')} + \immediate\write\tempfile{if exists('\generated/session'):} + \immediate\write\tempfile{ dill.load_session('\generated/session')} \immediate\write\tempfile{} \newread\infile \openin\infile=#1 @@ -383,10 +384,10 @@ \repeat \endgroup \closein\infile - \immediate\write\tempfile{dill.dump_session('tmp/session')} + \immediate\write\tempfile{dill.dump_session('\generated/session')} \immediate\write\tempfile{} \immediate\closeout\tempfile - \immediate\write18{python3 tmp/\jobname_#1 > \tmpname} + \immediate\write18{python3 \generated/\jobname_#1 > \tmpname} \fi } { |