From 16e2a54e986d8a4c8dc07bcfda3c559af75da703 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 1 Oct 2022 19:52:55 +0000 Subject: iexec (1oct22) git-svn-id: svn://tug.org/texlive/trunk@64575 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/iexec/LICENSE.txt | 21 ++ Master/texmf-dist/doc/latex/iexec/README.md | 5 +- Master/texmf-dist/doc/latex/iexec/iexec.pdf | Bin 124370 -> 284051 bytes Master/texmf-dist/doc/latex/iexec/iexec.tex | 89 -------- Master/texmf-dist/source/latex/iexec/iexec.dtx | 284 +++++++++++++++++++++++++ Master/texmf-dist/source/latex/iexec/iexec.ins | 55 +++++ Master/texmf-dist/tex/latex/iexec/iexec.sty | 88 +++++--- 7 files changed, 420 insertions(+), 122 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/iexec/LICENSE.txt delete mode 100644 Master/texmf-dist/doc/latex/iexec/iexec.tex create mode 100644 Master/texmf-dist/source/latex/iexec/iexec.dtx create mode 100644 Master/texmf-dist/source/latex/iexec/iexec.ins (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/iexec/LICENSE.txt b/Master/texmf-dist/doc/latex/iexec/LICENSE.txt new file mode 100644 index 00000000000..bd949ffdabc --- /dev/null +++ b/Master/texmf-dist/doc/latex/iexec/LICENSE.txt @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Master/texmf-dist/doc/latex/iexec/README.md b/Master/texmf-dist/doc/latex/iexec/README.md index b147ac146cd..018bf2a7647 100644 --- a/Master/texmf-dist/doc/latex/iexec/README.md +++ b/Master/texmf-dist/doc/latex/iexec/README.md @@ -1,4 +1,5 @@ -[![make](https://github.com/yegor256/iexec/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/iexec/actions/workflows/latexmk.yml) +[![l3build](https://github.com/yegor256/iexec/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/iexec/actions/workflows/l3build.yml) +[![CTAN](https://img.shields.io/ctan/v/iexec)](https://ctan.org/pkg/iexec) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/iexec/blob/master/LICENSE.txt) This LaTeX package helps you execute commands from the document and then input @@ -18,7 +19,7 @@ Today is \iexec{date +\%e-\%b-\%Y | tr -d '\\n'}. ``` The full example and all commands are available in the -[`iexec.tex`](https://github.com/yegor256/exec/blob/master/iexec.tex) file. +[`iexec.pdf`](https://ftp.agdsn.de/pub/mirrors/latex/dante/macros/latex/contrib/iexec/iexec.pdf) file. If you want to contribute yourself, make a fork, then create a branch, then run `make` in the root directory. diff --git a/Master/texmf-dist/doc/latex/iexec/iexec.pdf b/Master/texmf-dist/doc/latex/iexec/iexec.pdf index 2b9c52cd383..74233b48102 100644 Binary files a/Master/texmf-dist/doc/latex/iexec/iexec.pdf and b/Master/texmf-dist/doc/latex/iexec/iexec.pdf differ diff --git a/Master/texmf-dist/doc/latex/iexec/iexec.tex b/Master/texmf-dist/doc/latex/iexec/iexec.tex deleted file mode 100644 index 2af507e7b36..00000000000 --- a/Master/texmf-dist/doc/latex/iexec/iexec.tex +++ /dev/null @@ -1,89 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\documentclass[12pt]{article} -\usepackage[trace]{iexec} -\usepackage[tt=false,type1=true]{libertine} -\usepackage{multicol} -\usepackage{ffcode} -\title{\ff{iexec}: \LaTeX{} Package \\ for Inputable Shell Executions} -\author{Yegor Bugayenko} -\date{0.5.1 2022/01/09} -\begin{document} -\pagenumbering{gobble} -\raggedbottom -\setlength{\parindent}{0pt} -\setlength{\columnsep}{32pt} -\setlength{\parskip}{6pt} -\maketitle - -This package helps you execute shell commands right from the -document and then put their output to the document: - -\begin{multicols}{2} -\setlength{\parskip}{0pt} -\scriptsize -\raggedcolumns -\begin{ffcode} -\documentclass{article} -\usepackage{iexec} -\begin{document} -Today is \iexec{date +\%e-\%b-\%Y} -\end{document} -\end{ffcode} - -\columnbreak - -Today is \iexec{date +\%e-\%b-\%Y | tr -d '\\n'} -\end{multicols} - -You have to run \ff{pdflatex} (or just \ff{latex}) with the \ff{--shell-escape} flag -in order to let \ff{shellesc} (the package we use) to run shell. - -If you don't want the output to be visible, -use \ff{\char`\\phantom\char`\{\char`\\iexec\char`\{...\char`\}\char`\}}. - -The output of your code is saved into the file provided as the -second optional argument of \ff{\char`\\iexec} (the default value is \ff{iexec.tmp}): - -\begin{ffcode} -Today is \iexec[stdout=date.txt]{date +\%e-\%b-\%Y | tr -d '\\n'}. -\end{ffcode} - -The tailing part of the command here removes all ends-of-line. - -The file specified will be deleted right after its usage. If you don't -want this to happen, use \ff{trace} package option: all files will remain -in the directory. - -There are a few options you can provide for the \ff{\char`\\iexec} command: - -\begin{itemize} - \item \ff{trace}: to prevent the deletion of the file; - \item \ff{stdout=...}: to set the name of the file where the standard output of the command will be saved; - \item \ff{quiet}: to prevent including of the content into the document. -\end{itemize} - -More details about this package you can find -in the \ff{yegor256/iexec} GitHub repository. - -\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/source/latex/iexec/iexec.dtx b/Master/texmf-dist/source/latex/iexec/iexec.dtx new file mode 100644 index 00000000000..fb38432b0ea --- /dev/null +++ b/Master/texmf-dist/source/latex/iexec/iexec.dtx @@ -0,0 +1,284 @@ +% \iffalse meta-comment +% (The MIT License) +% +% Copyright (c) 2021-2022 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% \fi + +% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} + +% \GetFileInfo{iexec.dtx} +% \DoNotIndex{\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment} + +% \iffalse +%<*driver> +\ProvidesFile{iexec.dtx} +% +%\NeedsTeXFormat{LaTeX2e} +%\ProvidesPackage{iexec} +%<*package> +[01.10.2022 0.6.1 Inputable Shell Executions] +% +%<*driver> +\documentclass{ltxdoc} +\usepackage[tt=false, type1=true]{libertine} +\usepackage{iexec} +\usepackage{href-ul} +\raggedbottom +\setlength{\parindent}{0pt} +\setlength{\columnsep}{32pt} +\setlength{\parskip}{6pt} +\PageIndex +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{iexec.dtx} + \PrintChanges + \PrintIndex +\end{document} +% +% \fi + +% \title{|iexec|: \LaTeX{} Package \\ for Inputable Shell Executions\thanks{The sources are in GitHub at \href{https://github.com/yegor256/iexec}{yegor256/iexec}}} +% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}} +% \date{\filedate, \fileversion} +% +% \maketitle +% +% \section{Introduction} +% +% This package helps you execute shell commands right from the +% document and then put their output to the document: +% +% \begin{multicols}{2} +% \setlength{\parskip}{0pt} +% \small +% \raggedcolumns +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage{iexec} +\begin{document} +Today is + \iexec{date +\%e-\%b-\%Y} +\end{document} +\end{verbatim} +%\iffalse +% +%\fi +% +% \columnbreak +% +% Today is \iexec{date +\%e-\%b-\%Y} +% \end{multicols} + +% \begin{macro}{\iexec} +% The only command provided by this package is |\iexec| \oarg{options} \marg{cmd}. +% Its only mandatory argument \meta{cmd} is the command to be executed +% through the terminal shell (bash, or whatever is set as the default one +% on your user console). +% \end{macro} + +% You have to run |pdflatex| (or just |latex|) +% with the |--shell-escape| flag +% in order to let |shellesc| (the package we use) +% to execute your shell command. + +% \section{Options} + +% \begin{macro}{quiet} +% If you don't want the output to be visible, +% use |\phantom\{\iexec{...}}|. +% Otherwise, you can use |quiet| option: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage{iexec} +\begin{document} +I just want to delete some file: +\iexec[quiet]{rm -f foo.txt} +\end{document} +\end{verbatim} +%\iffalse +% +%\fi +% \end{macro} +% In this case, whatever the shell command produces will not be included +% into the document. + +% \begin{macro}{stdout} +% The output of your code is saved into the file provided as the +% second optional argument of |\iexec| (the default value is |iexec.tmp|): +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage{iexec} +\begin{document} +Today is \iexec[stdout=date.txt]{date +\%e-\%b-\%Y | tr -d '\\n'}. +\end{document} +\end{verbatim} +%\iffalse +% +%\fi +% The tailing part of the command here removes all ends-of-line. +% \end{macro} + +% \begin{macro}{trace} +% The file specified will be deleted right after its usage. If you don't +% want this to happen, use |trace| package option: all files will remain +% in the directory where they were created. +% It's possible to turn tracing on globbaly, for the entire document, using +% |trace| option of the package: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage[trace]{iexec} +\begin{document} +This file won't be deleted: \iexec[stdout=me.txt]{whoami}. +\end{document} +\end{verbatim} +%\iffalse +% +%\fi +% \end{macro} + +% \StopEventually{} + +% \section{Implementation} + +% \changes{v0.2.0}{2021/07/10}{Initial version} +% \changes{v0.4.0}{2021/08/01}{Runtime verification for --shell-escape option} +% \changes{v0.4.1}{2021/08/08}{Options trace, stdout, and quiet added} +% \changes{v0.5.0}{2022/01/08}{Major bug fixes} + +% \iffalse +\RequirePackage{shellesc} +\RequirePackage{pgfkeys} +\RequirePackage{xkeyval} +\makeatletter\newif\ifiexec@trace +\DeclareOptionX{trace}{\iexec@tracetrue} +\ProcessOptionsX\relax\makeatother +\makeatletter\pgfkeys{ + /iexec/.is family, + /iexec, + stdout/.estore in = \iexec@stdout, + stdout/.default = iexec.tmp, + trace/.estore in = \iexec@traceit, + quiet/.estore in = \iexec@quiet, + stdout +}\makeatother +% \fi + +% \begin{macro}{\iexec} +% It is implemented with the help of |\ShellEscape| from |shellesc| package: +% \begin{macrocode} +\makeatletter\newcommand\iexec[2][]{% + \begingroup + \pgfqkeys{/iexec}{#1}% +% \end{macrocode} +% First, we verify that |latex| is running with |--shell-escape| option, since without +% it nothing will work; so, it's better to throw an error earlier than later: +% \begin{macrocode} + \ifdefined\pdfshellescape\ifnum\pdfshellescape=1\else% + \PackageError{iexec}{You must run latex with + --shell-escape option}{}% + \fi\fi% + \begingroup% +% \end{macrocode} +% Then, we define a few special chars in order to escape them in the shell +% (the full +% list of them is in \href{https://ctan.mirror.norbert-ruehl.de/info/macros2e/macros2e.pdf}{macros2e}): +% \begin{macrocode} + \let\%\@percentchar% + \let\\\@backslashchar% + \let\{\@charlb% + \let\}\@charrb% +% \end{macrocode} +% Then, we execute it: +% \begin{macrocode} + \ShellEscape{#2 > \iexec@stdout}% +% \end{macrocode} +% Then, a message is printed to TeX log: +% \begin{macrocode} + \message{^^Jiexec: [#2 > \iexec@stdout]^^J}% + \endgroup% +% \end{macrocode} +% Then, include the produced output into the current document: +% \begin{macrocode} + \ifdefined\iexec@quiet + \message{^^Jiexec: Due to 'quiet' we didn't read + the content of '\iexec@stdout'^^J}% + \else% + \input{\iexec@stdout}% + \message{^^Jiexec: The content of '\iexec@stdout' + was included into the document^^J}% + \fi% +% \end{macrocode} +% Finally, delete the file or leave it untouched: +% \begin{macrocode} + \ifiexec@trace% + \message{^^Jiexec: Due to package option 'trace', + the file '\iexec@stdout' was not deleted^^J}% + \else% + \ifdefined\iexec@traceit% + \message{^^Jiexec: Due to 'trace' option, + the file '\iexec@stdout' was not deleted^^J}% + \else% + \ShellEscape{rm \iexec@stdout}% + \message{^^Jiexec: The file '\iexec@stdout' was deleted^^J}% + \fi% + \fi% + \endgroup +}\makeatother +% \end{macrocode} +% \end{macro} + +% \Finale + +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex diff --git a/Master/texmf-dist/source/latex/iexec/iexec.ins b/Master/texmf-dist/source/latex/iexec/iexec.ins new file mode 100644 index 00000000000..36172278a67 --- /dev/null +++ b/Master/texmf-dist/source/latex/iexec/iexec.ins @@ -0,0 +1,55 @@ +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + +\input docstrip.tex +\keepsilent +\usedir{macros/latex/contrib/iexec} +\preamble +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +\endpreamble +\generate{\file{iexec.sty}{\from{iexec.dtx}{package}}} +\obeyspaces +\Msg{*** To finish the installation you have to move the ".sty"} +\Msg{*** file into a directory searched by TeX. To produce the} +\Msg{*** documentation run the file ".dtx" through LaTeX. If any} +\Msg{*** questions, submit a new GitHub issue.} +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/iexec/iexec.sty b/Master/texmf-dist/tex/latex/iexec/iexec.sty index e4cd6a57808..1476f02bdc5 100644 --- a/Master/texmf-dist/tex/latex/iexec/iexec.sty +++ b/Master/texmf-dist/tex/latex/iexec/iexec.sty @@ -1,36 +1,54 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. +%% +%% This is file `iexec.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% iexec.dtx (with options: `package') +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + + \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{iexec}[2022/01/09 0.5.1 Inputable Shell Executions] +\ProvidesPackage{iexec} +[01.10.2022 0.6.1 Inputable Shell Executions] + + + + + + + + + + \RequirePackage{shellesc} \RequirePackage{pgfkeys} \RequirePackage{xkeyval} - \makeatletter\newif\ifiexec@trace \DeclareOptionX{trace}{\iexec@tracetrue} \ProcessOptionsX\relax\makeatother - \makeatletter\pgfkeys{ /iexec/.is family, /iexec, @@ -44,9 +62,10 @@ \makeatletter\newcommand\iexec[2][]{% \begingroup \pgfqkeys{/iexec}{#1}% - \ifnum\pdfshellescape=1\else% - \PackageError{iexec}{You must run latex with --shell-escape option}{}% - \fi% + \ifdefined\pdfshellescape\ifnum\pdfshellescape=1\else% + \PackageError{iexec}{You must run latex with + --shell-escape option}{}% + \fi\fi% \begingroup% \let\%\@percentchar% \let\\\@backslashchar% @@ -56,16 +75,20 @@ \message{^^Jiexec: [#2 > \iexec@stdout]^^J}% \endgroup% \ifdefined\iexec@quiet - \message{^^Jiexec: Due to 'quiet' we didn't read the content of '\iexec@stdout'^^J}% + \message{^^Jiexec: Due to 'quiet' we didn't read + the content of '\iexec@stdout'^^J}% \else% \input{\iexec@stdout}% - \message{^^Jiexec: The content of '\iexec@stdout' was included into the document^^J}% + \message{^^Jiexec: The content of '\iexec@stdout' + was included into the document^^J}% \fi% \ifiexec@trace% - \message{^^Jiexec: Due to package option 'trace', the file '\iexec@stdout' was not deleted^^J}% + \message{^^Jiexec: Due to package option 'trace', + the file '\iexec@stdout' was not deleted^^J}% \else% \ifdefined\iexec@traceit% - \message{^^Jiexec: Due to 'trace' option, the file '\iexec@stdout' was not deleted^^J}% + \message{^^Jiexec: Due to 'trace' option, + the file '\iexec@stdout' was not deleted^^J}% \else% \ShellEscape{rm \iexec@stdout}% \message{^^Jiexec: The file '\iexec@stdout' was deleted^^J}% @@ -74,4 +97,7 @@ \endgroup }\makeatother + \endinput +%% +%% End of file `iexec.sty'. -- cgit v1.2.3