texlive[61539] Master/texmf-dist: iexec (8jan22)

commits+karl at tug.org commits+karl at tug.org
Sat Jan 8 22:35:48 CET 2022


Revision: 61539
          http://tug.org/svn/texlive?view=revision&revision=61539
Author:   karl
Date:     2022-01-08 22:35:47 +0100 (Sat, 08 Jan 2022)
Log Message:
-----------
iexec (8jan22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/iexec/DEPENDS.txt
    trunk/Master/texmf-dist/doc/latex/iexec/iexec.pdf
    trunk/Master/texmf-dist/doc/latex/iexec/iexec.tex
    trunk/Master/texmf-dist/tex/latex/iexec/iexec.sty

Modified: trunk/Master/texmf-dist/doc/latex/iexec/DEPENDS.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/iexec/DEPENDS.txt	2022-01-08 21:35:20 UTC (rev 61538)
+++ trunk/Master/texmf-dist/doc/latex/iexec/DEPENDS.txt	2022-01-08 21:35:47 UTC (rev 61539)
@@ -1,2 +1,3 @@
 hard shellesc
+hard pgfkeys
 hard xkeyval

Modified: trunk/Master/texmf-dist/doc/latex/iexec/iexec.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/iexec/iexec.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/iexec/iexec.tex	2022-01-08 21:35:20 UTC (rev 61538)
+++ trunk/Master/texmf-dist/doc/latex/iexec/iexec.tex	2022-01-08 21:35:47 UTC (rev 61539)
@@ -27,7 +27,7 @@
 \usepackage{ffcode}
 \title{\ff{iexec}: \LaTeX{} Package \\ for Inputable Shell Executions}
 \author{Yegor Bugayenko}
-\date{0.4.1 2022/01/02}
+\date{0.5.0 2022/01/08}
 \begin{document}
 \pagenumbering{gobble}
 \raggedbottom
@@ -66,7 +66,7 @@
 second optional argument of \ff{\char`\\iexec} (the default value is \ff{iexec.tmp}):
 
 \begin{ffcode}
-Today is \iexec[date.txt]{date +\%e-\%b-\%Y | tr -d '\\n'}.
+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.
@@ -75,6 +75,14 @@
 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.
 

Modified: trunk/Master/texmf-dist/tex/latex/iexec/iexec.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/iexec/iexec.sty	2022-01-08 21:35:20 UTC (rev 61538)
+++ trunk/Master/texmf-dist/tex/latex/iexec/iexec.sty	2022-01-08 21:35:47 UTC (rev 61539)
@@ -21,29 +21,55 @@
 % SOFTWARE.
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{iexec}[2022/01/02 0.4.1 Inputable Shell Executions]
+\ProvidesPackage{iexec}[2022/01/08 0.5.0 Inputable Shell Executions]
 
 \RequirePackage{shellesc}
+\RequirePackage{pgfkeys}
+\RequirePackage{xkeyval}
 
-\RequirePackage{xkeyval}
 \makeatletter\newif\ifiexec at trace
 \DeclareOptionX{trace}{\iexec at tracetrue}
 \ProcessOptionsX\relax\makeatother
 
-\makeatletter\newcommand\iexec[2][iexec.tmp]{%
-  \ifnum\pdfshellescape=1\else
-    \PackageError{iexec}{You must run latex with --shell-escape option}{}
-  \fi
+\makeatletter\pgfkeys{
+  /iexec/.is family,
+  /iexec,
+  stdout/.estore in = \iexec at stdout,
+  stdout/.default = iexec.tmp,
+  trace/.estore in = \iexec at traceit,
+  quiet/.estore in = \iexec at quiet,
+  stdout
+}\makeatother
+
+\makeatletter\newcommand\iexec[2][]{%
+  \pgfkeys{/iexec, #1}%
+  \ifnum\pdfshellescape=1\else%
+    \PackageError{iexec}{You must run latex with --shell-escape option}{}%
+  \fi%
   \begingroup%
-  \let\%\@percentchar%
-  \let\\\@backslashchar%
-  \let\{\@charlb%
-  \let\}\@charrb%
-  \ShellEscape{#2 > #1}%
-  \message{iexec: [#2 > #1]}%
+    \let\%\@percentchar%
+    \let\\\@backslashchar%
+    \let\{\@charlb%
+    \let\}\@charrb%
+    \ShellEscape{#2 > \iexec at stdout}%
+    \message{iexec: [#2 > \iexec at stdout]}%
   \endgroup%
-  \input{#1}%
-  \ifiexec at trace\else\ShellEscape{rm #1}\fi%
+  \ifdefined\iexec at quiet
+    \message{iexec: Due to 'quiet' we didn't read the content of '\iexec at stdout'}%
+  \else%
+    \input{\iexec at stdout}%
+    \message{iexec: The content of '\iexec at stdout' was included into the document}%
+  \fi%
+  \ifiexec at trace%
+    \message{iexec: Due to package option 'trace', the file '\iexec at stdout' was not deleted}%
+  \else%
+    \ifdefined\iexec at traceit%
+      \message{iexec: Due to 'trace' option, the file '\iexec at stdout' was not deleted}%
+    \else%
+      \ShellEscape{rm \iexec at stdout}%
+      \message{iexec: The file '\iexec at stdout' was deleted}%
+    \fi%
+  \fi%
 }\makeatother
 
 \endinput



More information about the tex-live-commits mailing list.