summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-08 21:35:47 +0000
committerKarl Berry <karl@freefriends.org>2022-01-08 21:35:47 +0000
commite20ffca55d8295daca2e358aecccb6959204d17d (patch)
tree517a30fa437d36b3b97cf1945727b32a143e46c2
parent01dd06d5c332be293f7fab60a3308d3d9675d10e (diff)
iexec (8jan22)
git-svn-id: svn://tug.org/texlive/trunk@61539 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/iexec/DEPENDS.txt1
-rw-r--r--Master/texmf-dist/doc/latex/iexec/iexec.pdfbin107811 -> 124366 bytes
-rw-r--r--Master/texmf-dist/doc/latex/iexec/iexec.tex12
-rw-r--r--Master/texmf-dist/tex/latex/iexec/iexec.sty54
4 files changed, 51 insertions, 16 deletions
diff --git a/Master/texmf-dist/doc/latex/iexec/DEPENDS.txt b/Master/texmf-dist/doc/latex/iexec/DEPENDS.txt
index 6645129e89c..5fa4f92b5c9 100644
--- a/Master/texmf-dist/doc/latex/iexec/DEPENDS.txt
+++ b/Master/texmf-dist/doc/latex/iexec/DEPENDS.txt
@@ -1,2 +1,3 @@
hard shellesc
+hard pgfkeys
hard xkeyval
diff --git a/Master/texmf-dist/doc/latex/iexec/iexec.pdf b/Master/texmf-dist/doc/latex/iexec/iexec.pdf
index 8bae3e0881b..25fa196e423 100644
--- a/Master/texmf-dist/doc/latex/iexec/iexec.pdf
+++ b/Master/texmf-dist/doc/latex/iexec/iexec.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/iexec/iexec.tex b/Master/texmf-dist/doc/latex/iexec/iexec.tex
index cc58780c239..0b9d0470264 100644
--- a/Master/texmf-dist/doc/latex/iexec/iexec.tex
+++ b/Master/texmf-dist/doc/latex/iexec/iexec.tex
@@ -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 @@ 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[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 @@ 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.
diff --git a/Master/texmf-dist/tex/latex/iexec/iexec.sty b/Master/texmf-dist/tex/latex/iexec/iexec.sty
index a96f41b0046..a15cd50942a 100644
--- a/Master/texmf-dist/tex/latex/iexec/iexec.sty
+++ b/Master/texmf-dist/tex/latex/iexec/iexec.sty
@@ -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}
+
\makeatletter\newif\ifiexec@trace
\DeclareOptionX{trace}{\iexec@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@stdout,
+ stdout/.default = iexec.tmp,
+ trace/.estore in = \iexec@traceit,
+ quiet/.estore in = \iexec@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@stdout}%
+ \message{iexec: [#2 > \iexec@stdout]}%
\endgroup%
- \input{#1}%
- \ifiexec@trace\else\ShellEscape{rm #1}\fi%
+ \ifdefined\iexec@quiet
+ \message{iexec: Due to 'quiet' we didn't read the content of '\iexec@stdout'}%
+ \else%
+ \input{\iexec@stdout}%
+ \message{iexec: The content of '\iexec@stdout' was included into the document}%
+ \fi%
+ \ifiexec@trace%
+ \message{iexec: Due to package option 'trace', the file '\iexec@stdout' was not deleted}%
+ \else%
+ \ifdefined\iexec@traceit%
+ \message{iexec: Due to 'trace' option, the file '\iexec@stdout' was not deleted}%
+ \else%
+ \ShellEscape{rm \iexec@stdout}%
+ \message{iexec: The file '\iexec@stdout' was deleted}%
+ \fi%
+ \fi%
}\makeatother
\endinput