diff options
author | Karl Berry <karl@freefriends.org> | 2023-12-28 23:03:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-12-28 23:03:57 +0000 |
commit | 514673f256938197511d1c600074fadd288d8cfe (patch) | |
tree | 51a10fed599c648c3c9655eea6e13ab0ca124276 /Master/texmf-dist/tex/latex/eolang/eolang.sty | |
parent | 178327a035c24607bf4f6ccdf09de05680ec9fbe (diff) |
eolang (28dec23)
git-svn-id: svn://tug.org/texlive/trunk@69229 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/eolang/eolang.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/eolang/eolang.sty | 98 |
1 files changed, 66 insertions, 32 deletions
diff --git a/Master/texmf-dist/tex/latex/eolang/eolang.sty b/Master/texmf-dist/tex/latex/eolang/eolang.sty index a8637e129c9..33b104035f6 100644 --- a/Master/texmf-dist/tex/latex/eolang/eolang.sty +++ b/Master/texmf-dist/tex/latex/eolang/eolang.sty @@ -31,7 +31,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{eolang} -[2023-08-10 0.15.0 Formulas and Graphs for EO Programming Language] +[2023-12-28 0.17.0 Formulas and Graphs for EO Programming Language] @@ -99,7 +99,12 @@ } \ProcessPgfPackageOptions{/eolang} -\iexec[null]{mkdir -p "\eolang@tmpdir/\jobname"}% +\ifnum\ShellEscapeStatus=1% + \iexec[null]{mkdir -p "\eolang@tmpdir/\jobname"}% +\else% + \message{eolang: Temporary directory "\eolang@tmpdir/\jobname" + is not created, because --shell-escape is not set^^J}% +\fi% \makeatletter\newcounter{eolang@lineno}\makeatother @@ -113,7 +118,7 @@ $macro = $ARGV[0]; open(my $fh, '<', $ARGV[1]); my $tex; { local $/; $tex = <$fh>; } -print "% This file is auto-generated by 0.15.0\n"; +print "% This file is auto-generated by 0.17.0\n"; print '% There are ', length($tex), ' chars in the input: ', $ARGV[1], "\n"; print '% ---', "\n"; @@ -287,18 +292,40 @@ print '\endinput'; \newcommand\phiSaveTo[1]{\def\eolang@phiSaveTo{#1}} \makeatother +\makeatletter +\newcommand\eolang@ifabsent[2]{% + \IfFileExists + {#1} + {% + \message{eolang: File "#1" already exists ^^J}% + \input{#1}} + {% + \ifnum\ShellEscapeStatus=1\else% + \message{eolang: The --shell-escape command line + option is not provided, most probably compilation + will fail now:^^J}% + \fi% + #2% + }% +} +\makeatother + \makeatletter\newcommand\eolang@process[1]{ \def\hash{\eolang@mdfive - {\eolang@tmpdir/\jobname/phiquation.tex}}% - \iexec[null]{cp "\eolang@tmpdir/\jobname/phiquation.tex" - "\eolang@tmpdir/\jobname/\hash.tex"}% - \message{Start parsing 'phi' at line no. \the\inputlineno^^J} - \iexec[trace,stdout=\eolang@tmpdir/\jobname/\hash-post.tex]{ - perl "\eolang@tmpdir/eolang-phi.pl" - '#1' - "\eolang@tmpdir/\jobname/\hash.tex" - \ifdefined\eolang@nocomments | perl -pe 's/\%.*(\\n|$)//g'\fi - \ifdefined\eolang@phiSaveTo > \eolang@phiSaveTo\fi}% + {\eolang@tmpdir/\jobname/phiquation.tex}-\the\inputlineno}% + \eolang@ifabsent + {\eolang@tmpdir/\jobname/\hash-post.tex} + {% + \iexec[null]{cp "\eolang@tmpdir/\jobname/phiquation.tex" + "\eolang@tmpdir/\jobname/\hash.tex"}% + \message{Start parsing 'phi' at line no. \the\inputlineno^^J} + \iexec[trace,stdout=\eolang@tmpdir/\jobname/\hash-post.tex]{ + perl "\eolang@tmpdir/eolang-phi.pl" + '#1' + "\eolang@tmpdir/\jobname/\hash.tex" + \ifdefined\eolang@nocomments | perl -pe 's/\%.*(\\n|$)//g'\fi + \ifdefined\eolang@phiSaveTo > \eolang@phiSaveTo\fi}% + }% \setcounter{FancyVerbLine}{\value{eolang@lineno}}% \def\eolang@phiSaveTo{\relax}% } @@ -319,17 +346,20 @@ print '\endinput'; \RequirePackage{xstring} \makeatletter\newcommand\phiq[1]{% \StrSubstitute{\detokenize{#1}}{'}{'"'"'}[\clean]% - \iexec[log,trace,quiet,stdout=\eolang@tmpdir/\jobname/phiq.tex]{ - /bin/echo '\clean'}% - \def\hash{\eolang@mdfive - {\eolang@tmpdir/\jobname/phiq.tex}}% - \iexec[null]{cp "\eolang@tmpdir/\jobname/phiq.tex" - "\eolang@tmpdir/\jobname/\hash.tex"}% + \def\hash{\pdf@mdfivesum{\clean}-\the\inputlineno}% \ifdefined\eolang@nodollar\else\catcode`\$=3 \fi% - \iexec[trace,stdout=\eolang@tmpdir/\jobname/\hash-post.tex]{ - perl \eolang@tmpdir/eolang-phi.pl 'phiq' - "\eolang@tmpdir/\jobname/\hash.tex" - \ifdefined\eolang@nocomments | perl -pe 's/\%.*(\\n|$)//g'\fi}% + \eolang@ifabsent + {\eolang@tmpdir/\jobname/\hash-phiq-post.tex} + {% + \iexec[log,trace,quiet,stdout=\eolang@tmpdir/\jobname/phiq.tex]{ + /bin/echo '\clean'}% + \iexec[quiet,null]{cp "\eolang@tmpdir/\jobname/phiq.tex" + "\eolang@tmpdir/\jobname/\hash-phiq.tex"}% + \iexec[trace,stdout=\eolang@tmpdir/\jobname/\hash-phiq-post.tex]{ + perl \eolang@tmpdir/eolang-phi.pl 'phiq' + "\eolang@tmpdir/\jobname/\hash-phiq.tex" + \ifdefined\eolang@nocomments | perl -pe 's/\%.*(\\n|$)//g' \fi}% + }% \ifdefined\eolang@nodollar\else\catcode`\$\active\fi% }\makeatother @@ -722,16 +752,20 @@ print '\endinput'; {\eolang@tmpdir/\jobname/sodg.tex}} {\end{VerbatimOut}% \def\hash{\eolang@mdfive - {\eolang@tmpdir/\jobname/sodg.tex}}% - \iexec[null]{cp "\eolang@tmpdir/\jobname/sodg.tex" - "\eolang@tmpdir/\jobname/\hash.tex"}% + {\eolang@tmpdir/\jobname/sodg.tex}-\the\inputlineno}% \catcode`\$=3 % - \message{Start parsing `sodg' at line no. \the\inputlineno^^J} - \iexec[trace,stdout=\eolang@tmpdir/\jobname/\hash-post.tex]{ - perl "\eolang@tmpdir/eolang-sodg.pl" - "\eolang@tmpdir/\jobname/\hash.tex" - \ifdefined\eolang@nocomments | perl -pe 's/\%.*(\\n|$)//g'\fi - \ifdefined\eolang@sodgSaveTo > \eolang@sodgSaveTo\fi}% + \eolang@ifabsent + {\eolang@tmpdir/\jobname/\hash-sodg-post.tex} + {% + \iexec[null]{cp "\eolang@tmpdir/\jobname/sodg.tex" + "\eolang@tmpdir/\jobname/\hash.tex"}% + \message{eolang: Start parsing `sodg' at line no. \the\inputlineno^^J} + \iexec[trace,stdout=\eolang@tmpdir/\jobname/\hash-sodg-post.tex]{ + perl "\eolang@tmpdir/eolang-sodg.pl" + "\eolang@tmpdir/\jobname/\hash.tex" + \ifdefined\eolang@nocomments | perl -pe 's/\%.*(\\n|$)//g'\fi + \ifdefined\eolang@sodgSaveTo > \eolang@sodgSaveTo\fi}% + } \catcode`\$\active% \setcounter{FancyVerbLine}{\value{eolang@lineno}}% \def\eolang@sodgSaveTo{\relax}% |