summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/iexec
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/iexec')
-rw-r--r--macros/latex/contrib/iexec/DEPENDS.txt2
-rw-r--r--macros/latex/contrib/iexec/iexec.pdfbin103987 -> 108202 bytes
-rw-r--r--macros/latex/contrib/iexec/iexec.sty22
-rw-r--r--macros/latex/contrib/iexec/iexec.tex26
4 files changed, 32 insertions, 18 deletions
diff --git a/macros/latex/contrib/iexec/DEPENDS.txt b/macros/latex/contrib/iexec/DEPENDS.txt
new file mode 100644
index 0000000000..6645129e89
--- /dev/null
+++ b/macros/latex/contrib/iexec/DEPENDS.txt
@@ -0,0 +1,2 @@
+hard shellesc
+hard xkeyval
diff --git a/macros/latex/contrib/iexec/iexec.pdf b/macros/latex/contrib/iexec/iexec.pdf
index a12a6b9d2b..044e9bea67 100644
--- a/macros/latex/contrib/iexec/iexec.pdf
+++ b/macros/latex/contrib/iexec/iexec.pdf
Binary files differ
diff --git a/macros/latex/contrib/iexec/iexec.sty b/macros/latex/contrib/iexec/iexec.sty
index a84c53e458..91d10955c3 100644
--- a/macros/latex/contrib/iexec/iexec.sty
+++ b/macros/latex/contrib/iexec/iexec.sty
@@ -21,22 +21,24 @@
% SOFTWARE.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{iexec}[2021/07/08 0.1.0 Inputable Shell Executions]
+\ProvidesPackage{iexec}[2021/07/10 0.3.0 Inputable Shell Executions]
-\makeatletter\newcommand\exec[1]{%
+\RequirePackage{shellesc}
+
+\RequirePackage{xkeyval}
+\newif\iftrace
+\DeclareOptionX{trace}{\tracetrue}
+\ProcessOptionsX\relax
+
+\makeatletter\newcommand\iexec[2][iexec.tmp]{%
\begingroup%
\let\%\@percentchar%
\let\{\@charlb%
\let\}\@charrb%
- \ShellEscape{#1}%
+ \ShellEscape{#2 > #1}%
\endgroup%
-}\makeatother
-
-\newcommand\iexec[1]{%
- \exec{#1 > iexec.tmp}%
- \exec{echo >> iexec.tmp}%
- \input{iexec.tmp}\unskip%
- \exec{rm iexec.tmp}%
+ \input{#1}\unskip%
+ \iftrace\else\exec{rm #1}\fi%
}\makeatother
\endinput
diff --git a/macros/latex/contrib/iexec/iexec.tex b/macros/latex/contrib/iexec/iexec.tex
index a61b55178b..150c8fa882 100644
--- a/macros/latex/contrib/iexec/iexec.tex
+++ b/macros/latex/contrib/iexec/iexec.tex
@@ -21,13 +21,13 @@
% SOFTWARE.
\documentclass[12pt]{article}
+\usepackage[trace]{iexec}
\usepackage[tt=false,type1=true]{libertine}
\usepackage{multicol}
\usepackage{ffcode}
-\usepackage{iexec}
\title{\ff{iexec}: \LaTeX{} Package \\ for Inputable Shell Executions}
\author{Yegor Bugayenko}
-\date{0.1.0 2021/07/08}
+\date{0.3.0 2021/07/10}
\begin{document}
\pagenumbering{gobble}
\raggedbottom
@@ -43,25 +43,35 @@ document and then put their output to the document:
\setlength{\parskip}{0pt}
\scriptsize
\raggedcolumns
-\begin{verbatim}
+\begin{ffcode}
\documentclass{article}
\usepackage{iexec}
\begin{document}
Today is \iexec{date +\%e-\%b-\%Y}.
\end{document}
-\end{verbatim}
+\end{ffcode}
\columnbreak
Today is \iexec{date +\%e-\%b-\%Y}.
\end{multicols}
-You have to run \ff{pdflatex} with the \ff{--shell-escape} flag
+You have to run \ff{pdflatex} (or just \ff{latex}) with the \ff{--shell-escape} flag
in order to let \ff{ShellEscape} (the package we use) to run shell.
-There are two commands: \ff{\char`\\exec} and \ff{\char`\\iexec}.
-The first one executes, while the second one also inputs the output
-of the execution.
+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[date.txt]{date +\%e-\%b-\%Y}.
+\end{ffcode}
+
+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.
More details about this package you can find
in the \ff{yegor256/iexec} GitHub repository.