summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-07-09 19:59:07 +0000
committerKarl Berry <karl@freefriends.org>2021-07-09 19:59:07 +0000
commitb0f009a4165cc5ec9f8740cfce773123c6bec62f (patch)
tree18d5735404ec2436f31148af0ce198e298dd3e52
parent4e2ff022addfdb8e2ee9be9b8752a9a19cc92155 (diff)
iexec (9jul21)
git-svn-id: svn://tug.org/texlive/trunk@59884 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/iexec/README.md26
-rw-r--r--Master/texmf-dist/doc/latex/iexec/iexec.pdfbin0 -> 103987 bytes
-rw-r--r--Master/texmf-dist/doc/latex/iexec/iexec.tex69
-rw-r--r--Master/texmf-dist/tex/latex/iexec/iexec.sty42
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/iexec.tlpsrc0
7 files changed, 139 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/iexec/README.md b/Master/texmf-dist/doc/latex/iexec/README.md
new file mode 100644
index 00000000000..2025d21ebd0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/iexec/README.md
@@ -0,0 +1,26 @@
+[![make](https://github.com/yegor256/iexec/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/iexec/actions/workflows/latexmk.yml)
+[![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
+their output. The package uses [`ShellEscape`](https://ctan.org/pkg/ShellEscape) package.
+
+First, [install it](https://en.wikibooks.org/wiki/LaTeX/Installing_Extra_Packages)
+from [CTAN](https://ctan.org/pkg/iexec)
+and then use in the preamble:
+
+```tex
+\documentclass{article}
+\usepackage{iexec}
+\begin{document}
+Today is \iexec{date +\%e-\%b-\%Y}.
+\end{document}
+```
+
+The full example and all commands are available in the
+[`iexec.tex`](https://github.com/yegor256/exec/blob/master/iexec.tex) file.
+
+If you want to contribute yourself, make a fork, then create a branch,
+then run `make` in the root directory.
+It should compile everything without errors. If not, submit an issue and wait.
+Otherwise, make your changes and then run `make` again. If the build is
+still clean, submit a pull request.
diff --git a/Master/texmf-dist/doc/latex/iexec/iexec.pdf b/Master/texmf-dist/doc/latex/iexec/iexec.pdf
new file mode 100644
index 00000000000..a12a6b9d2b1
--- /dev/null
+++ 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
new file mode 100644
index 00000000000..a61b55178b9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/iexec/iexec.tex
@@ -0,0 +1,69 @@
+% (The MIT License)
+%
+% Copyright (c) 2021 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[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}
+\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{verbatim}
+\documentclass{article}
+\usepackage{iexec}
+\begin{document}
+Today is \iexec{date +\%e-\%b-\%Y}.
+\end{document}
+\end{verbatim}
+
+\columnbreak
+
+Today is \iexec{date +\%e-\%b-\%Y}.
+\end{multicols}
+
+You have to run \ff{pdflatex} 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.
+
+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/tex/latex/iexec/iexec.sty b/Master/texmf-dist/tex/latex/iexec/iexec.sty
new file mode 100644
index 00000000000..a84c53e458b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/iexec/iexec.sty
@@ -0,0 +1,42 @@
+% (The MIT License)
+%
+% Copyright (c) 2021 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}[2021/07/08 0.1.0 Inputable Shell Executions]
+
+\makeatletter\newcommand\exec[1]{%
+ \begingroup%
+ \let\%\@percentchar%
+ \let\{\@charlb%
+ \let\}\@charrb%
+ \ShellEscape{#1}%
+ \endgroup%
+}\makeatother
+
+\newcommand\iexec[1]{%
+ \exec{#1 > iexec.tmp}%
+ \exec{echo >> iexec.tmp}%
+ \input{iexec.tmp}\unskip%
+ \exec{rm iexec.tmp}%
+}\makeatother
+
+\endinput
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 3952bc27c17..b44efc20433 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -392,7 +392,7 @@ my @TLP_working = qw(
hyph-utf8 hyphen-base
hyphenat hyphenex hyplain
ibarra ibycus-babel ibygrk icite icsv
- identkey idxcmds idxlayout ieeeconf ieeepes ieeetran ietfbibs
+ identkey idxcmds idxlayout ieeeconf ieeepes ieeetran ietfbibs iexec
ifallfalse iffont ifmslide ifmtarg ifnextok ifoddpage
ifplatform ifptex ifsym iftex ifthenx ifxptex
iitem ijmart ijqc ijsra
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index 4863e260786..4f6e9184f42 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -621,6 +621,7 @@ depend hyphenat
depend identkey
depend idxcmds
depend idxlayout
+depend iexec
depend ifallfalse
depend iffont
depend ifmslide
diff --git a/Master/tlpkg/tlpsrc/iexec.tlpsrc b/Master/tlpkg/tlpsrc/iexec.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/iexec.tlpsrc