diff options
author | Karl Berry <karl@freefriends.org> | 2021-07-09 19:59:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-07-09 19:59:07 +0000 |
commit | b0f009a4165cc5ec9f8740cfce773123c6bec62f (patch) | |
tree | 18d5735404ec2436f31148af0ce198e298dd3e52 | |
parent | 4e2ff022addfdb8e2ee9be9b8752a9a19cc92155 (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.md | 26 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/iexec/iexec.pdf | bin | 0 -> 103987 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/iexec/iexec.tex | 69 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/iexec/iexec.sty | 42 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/iexec.tlpsrc | 0 |
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 Binary files differnew file mode 100644 index 00000000000..a12a6b9d2b1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/iexec/iexec.pdf 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 |