summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-12-29 03:01:31 +0000
committerNorbert Preining <norbert@preining.info>2023-12-29 03:01:31 +0000
commita5ae3453af00d8ec9eb8bf64151fc4c8bcb18021 (patch)
tree49722f55b01f8ce69a0cd1c783383e40bdb53473 /macros/latex
parent8806b2d6c55426cb0ba19311d2acf7c4f522a291 (diff)
CTAN sync 202312290301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/asmeconf/README.md7
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.pdfbin476945 -> 481906 bytes
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.tex2
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf.cls15
-rw-r--r--macros/latex/contrib/decimalcomma/decimalcomma.dtx61
-rw-r--r--macros/latex/contrib/decimalcomma/decimalcomma.pdfbin95558 -> 102789 bytes
-rw-r--r--macros/latex/contrib/eolang/README.md2
-rw-r--r--macros/latex/contrib/eolang/eolang.dtx67
-rw-r--r--macros/latex/contrib/eolang/eolang.pdfbin1933472 -> 1935887 bytes
-rw-r--r--macros/latex/contrib/iexec/LICENSE.txt2
-rw-r--r--macros/latex/contrib/iexec/README.md7
-rw-r--r--macros/latex/contrib/iexec/iexec.dtx42
-rw-r--r--macros/latex/contrib/iexec/iexec.ins4
-rw-r--r--macros/latex/contrib/iexec/iexec.pdfbin334401 -> 335292 bytes
14 files changed, 141 insertions, 68 deletions
diff --git a/macros/latex/contrib/asmeconf/README.md b/macros/latex/contrib/asmeconf/README.md
index 0a4a3a9c0c..d5e7791076 100644
--- a/macros/latex/contrib/asmeconf/README.md
+++ b/macros/latex/contrib/asmeconf/README.md
@@ -1,7 +1,7 @@
#asmeconf: A latex template for ASME conference papers#
- Version 1.35 dated 2022/10/19.
+ Version 1.36 dated 2022/12/28.
####Overview####
This class provides a LaTeX template for ASME Conference papers formatted according to
@@ -79,6 +79,9 @@
---
####Change log####
+ v1.36 (2022/12/28)
+ - Change option-passing to xcolor package to address recent changes that package's code which lead to an error message.
+
v1.35 (2022/10/19)
- Adjust pdf-a code to accommodate recent changes to hyperxmp package. NOTE: \\DocumentMetadata{ ..} is now preferred to using class option [pdf-a].
- Add option to not use boldface text in captions: [unboldcaption]
@@ -97,7 +100,7 @@
v1.31 (2022/07/04)
- Minor updates to address changes in the June 2022 release of LaTeX (PL 4) and the textcase package.
-- Add option to asmewide.sty to suppress final page column balancing, \[raggedend\], expand error message text.
+ - Add option to asmewide.sty to suppress final page column balancing, \[raggedend\], expand error message text.
v1.30 (2022/03/14)
- Edit code loading fonts for Greek, Vietnamese, and cyrillic languages under pdflatex, to ensure compatibility with newtx v1.71. These options now require LaTeX distributions 2020/02/02 or later.
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.pdf b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
index f3cf860b33..335d1e2daa 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.pdf
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.tex b/macros/latex/contrib/asmeconf/asmeconf-template.tex
index 318e173221..c45170adb3 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.tex
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.tex
@@ -4,7 +4,7 @@
%% This file is asmeconf-template.tex, a LaTeX template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages, and including hypertext support for the pdf.
%%
-%% This file is version 1.35 dated 2023/10/19
+%% This file is version 1.36 dated 2023/12/28
%%
%% As of version 1.11, this template defaults to ASME's newer conference guidelines first posted July 2019.
%% Those guidelines changed the requested author block formatting to be inline.
diff --git a/macros/latex/contrib/asmeconf/asmeconf.cls b/macros/latex/contrib/asmeconf/asmeconf.cls
index 2d523be750..31cb16cb71 100644
--- a/macros/latex/contrib/asmeconf/asmeconf.cls
+++ b/macros/latex/contrib/asmeconf/asmeconf.cls
@@ -5,8 +5,8 @@
%% ASME conference requirements as represented on ASME's conference web pages in 2022.
%%
%% This file's version and date:
- \def\versionno{1.35}
- \def\versiondate{2023/10/19\space}
+ \def\versionno{1.36}
+ \def\versiondate{2023/11/19\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -47,7 +47,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2022 John H. Lienhard
+%% Copyright (c) 2023 John H. Lienhard
%%
%% 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,
@@ -333,7 +333,7 @@
\define@key{pdfaopt}{pdfaconformance}[u]{%
% \PassOptionsToPackage{pdfaconformance=#1}{hyperref}%
\str_set:Ne \l_tmp_str { \str_uppercase:n {#1} }
- \typeout{\l_tmp_str}
+% \typeout{\l_tmp_str}
\AtBeginDocument{\hypersetup{pdfaconformance=\l_tmp_str}}
}
\ExplSyntaxOff
@@ -452,9 +452,8 @@
\RequirePackage[sort&compress,numbers]{natbib}
\setlength\bibsep{1pt plus 1pt minus 1pt}
-\RequirePackage{graphicx}
-\ifpdftex\def\MyColorOption{fixpdftex}\else\ifluatex\def\MyColorOption{luatex}\else\def\MyColorOption{}\fi\fi
-\RequirePackage[hyperref,\MyColorOption,dvipsnames,svgnames,x11names]{xcolor}
+\RequirePackage{graphicx} % remove obsolete options, 2023/11/19
+\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
%%%%%%%%%%%% Table related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1372,7 +1371,7 @@
%% A separate command command for nomenclature subheadings
\NewDocumentCommand\EntryHeading{m}{%
\itemsep3\p@ plus 1\p@ minus 1\p@%
- \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000%
+ \goodbreak\item[\itshape#1\hfill]\mbox{}\setlength\itemsep\savitemsep\@itempenalty=1000%
}
%% Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns.
diff --git a/macros/latex/contrib/decimalcomma/decimalcomma.dtx b/macros/latex/contrib/decimalcomma/decimalcomma.dtx
index 087e63bde5..5ee720ea2c 100644
--- a/macros/latex/contrib/decimalcomma/decimalcomma.dtx
+++ b/macros/latex/contrib/decimalcomma/decimalcomma.dtx
@@ -20,10 +20,12 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{decimalcomma}
- [2023/12/20 v1.2 .dtx decimalcomma file]
+ [2023/12/28 v1.3 .dtx Comma for decimal numbers]
%</package>
%<*driver>
\documentclass{ltxdoc}
+%\usepackage{doc}
+%\MakeShortVerb|
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
@@ -58,7 +60,7 @@
%</driver>
% \fi
%
-% \CheckSum{36}
+% \CheckSum{24}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -79,6 +81,7 @@
% \changes{v1.0}{2023/12/06}{Initial version}
% \changes{v1.1}{2023/12/19}{Error message when unicode-math loaded after decimalcomma}
% \changes{v1.2}{2023/12/20}{Bug correction: bad typo for the boolean DC@unicodemath}
+% \changes{v1.3}{2023/12/28}{Loading icomma to avoid babel-french + numprint problems}
%
% \GetFileInfo{decimalcomma.sty}
%
@@ -89,7 +92,7 @@
%
% \section{Why this package?}
%
-% In many countries, except notably in Anglo-Saxon countries,
+% In many countries, except notably in the English-speaking countries,
% the comma is used as the decimal separator for numbers.
% However, in the math mode of \LaTeX, the comma is always, by default,
% treated as a punctuation symbol and therefore is followed by a space.
@@ -150,7 +153,7 @@
%
% \section{Implementation}
%
-% This first peace of code aims to generate an appropriate error message, if you load
+% This first piece of code aims to generate an appropriate error message, if you load
% \textsf{unicode-math} \emph{after} \textsf{decimalcomma}.
% To achieve this, first we check if \textsf{unicode-math} has been loaded before.
% In that case, the boolean "DC@unicodemath" will be set to true.
@@ -174,36 +177,56 @@
}
% \end{macrocode}
-% We have taken up Walter Schmidt's fundamental idea for looking up the next character,
+% We have taken up Walter Schmidt's code for looking up the next character,
+% and define the comma as active in math mode,
% but with an execution loop to test all the digits from 0 to 9 instead of "\space".
% We could have also used ten nested "\if" \ldots "\else" \ldots "\fi" structures
% and that works very well.
-%
-% At |\begin{document}|, we store the original "\mathcode" of the comma,
-% in the |\mathcomma| macro, and then we make the comma active in math mode.
+%
+%We chose to directly load \textsf{icomma} instead of transcribing
+% the beginning portion of its code.
+% This avoids potential conflicts with an extension
+% that also uses \textsf{icomma}\footnote{The loading of \textsf{icomma} ensures also
+% proper functioning when using \textsf{babel-french} and \textsf{numprint}
+% with its \texttt{autolanguage} option
+% (an issue that does not arise with \textsf{babel-spanish}, for example).}.
% \begin{macrocode}
-\AtBeginDocument{%
- \mathchardef\mathcomma\mathcode`\,%
- \mathcode`\,="8000%
-}
+\RequirePackage{icomma}
% \end{macrocode}
-% The active comma checks the next input character. If the next character is in
-% the list 0123456789,
+%
+% First we introduce what \textsf{icomma} does.
+% At |\begin{document}|, the original "\mathcode" of the comma is stored,
+% in the |\mathcomma| macro, and then the comma is defined as active in math mode.
+% The active comma checks the next input character.
+% \begin{verbatim}
+%\AtBeginDocument{%
+% \mathchardef\mathcomma\mathcode`\,%
+% \mathcode`\,="8000 %
+%}
+%{\catcode`,=\active
+% \gdef,{\futurelet\@let@token\sm@rtcomma}
+%}
+% \end{verbatim}
+%
+% Then \textsf{icomma} defines the |\sm@rtcomma| macro, but this macro
+% is redefined here to match the expected behavior.
+% If the next character is in the list 0123456789,
% the active comma returns |\mathord| with the saved |\mathcomma|,
% so that no space will be added after the comma.
% Otherwise, |\mathcomma| is returned without |\mathord|, thus the comma behaves
% by default as a |\mathpunct|.
+% Note that |\@decimal@digit| must be called before |\@let@token| after |\ifx|.
% \begin{macrocode}
-{\catcode`,=\active
- \gdef,{\futurelet\@next\sm@rtcomma}}
-
\def\sm@rtcomma{%
- \@tfor\@let@token:=0123456789%
- \do{\expandafter\ifx\@let@token\@next\mathord\@break@tfor\fi}%
+ \@tfor\decimal@digit:=0123456789%
+ \do{\expandafter\ifx\decimal@digit\@let@token\mathord%
+ \@break@tfor\fi}%
\mathcomma}
% \end{macrocode}
+% Special thanks to J.F. Burnol for his insightful remarks and valuable advice
+% and let us pay tribute to Walter Schmidt, who is regrettably deceased.
%
% \begin{thebibliography}{5}
% % \begin{raggedright}
diff --git a/macros/latex/contrib/decimalcomma/decimalcomma.pdf b/macros/latex/contrib/decimalcomma/decimalcomma.pdf
index 398a9e61d0..a7c42c84b7 100644
--- a/macros/latex/contrib/decimalcomma/decimalcomma.pdf
+++ b/macros/latex/contrib/decimalcomma/decimalcomma.pdf
Binary files differ
diff --git a/macros/latex/contrib/eolang/README.md b/macros/latex/contrib/eolang/README.md
index 27d09c503e..588b155780 100644
--- a/macros/latex/contrib/eolang/README.md
+++ b/macros/latex/contrib/eolang/README.md
@@ -22,7 +22,7 @@ x -> [
\end{document}
```
-Otherwise, you can download [`eolang.sty`](https://raw.githubusercontent.com/objectionary/eolang.sty/gh-pages/eolang/eolang.sty) and add to your project.
+Otherwise, you can download [`eolang.sty`](https://yegor256.github.io/eolang/eolang.sty) and add to your project.
If you want to contribute yourself, make a fork, then create a branch,
then run `l3build ctan` in the root directory.
diff --git a/macros/latex/contrib/eolang/eolang.dtx b/macros/latex/contrib/eolang/eolang.dtx
index 8df6d7b2f3..9407f46eb6 100644
--- a/macros/latex/contrib/eolang/eolang.dtx
+++ b/macros/latex/contrib/eolang/eolang.dtx
@@ -50,7 +50,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{eolang}
%<*package>
-[2023-12-27 0.16.0 Formulas and Graphs for EO Programming Language]
+[2023-12-28 0.17.0 Formulas and Graphs for EO Programming Language]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -86,7 +86,14 @@
% \textbf{\color{red}NB!}
% You must run \TeX{} processor with |--shell-escape| option
% and you must have \href{https://www.perl.org}{Perl} installed.
-% This package doesn't work on Windows.
+% If you omit the |--shell-escape| option, the package will try
+% to use cached files, if they exist. If they don't, compilation will
+% crash. Thus, when you must prepare your document for a compilation
+% without the |--shell-escape| option, run it locally with the option
+% and then package all files (including the files in the |_eolang| directory)
+% into a single ZIP archive.
+%
+% If |--shell-escape| is set, this package doesn't work on Windows.
% \section{Introduction}
%
@@ -771,7 +778,12 @@
% Then, we make a directory where all temporary files will be kept:
% \begin{macrocode}
-\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%
% \end{macrocode}
% \begin{macro}{\eolang@lineno}
@@ -820,7 +832,7 @@
$macro = $ARGV[0];
open(my $fh, '<', $ARGV[1]);
my $tex; { local $/; $tex = <$fh>; }
-print "% This file is auto-generated by 0.16.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";
@@ -1002,6 +1014,30 @@ print '\endinput';
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\eolang@ifabsent}
+% \changes{0.17.0}{2023/12/28}{A new supplementary \texttt{eolang@ifabsent} command added}
+% Then, we define the |\eolang@ifabsent| command, which if a given file is absent, runs a processing command, otherwise just inputs it:
+% \begin{macrocode}
+\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
+% \end{macrocode}
+% \end{macro}
+
% \begin{macro}{phiquation}
% \changes{0.16.0}{2023/12/27}{The processing of \texttt{phiquation} data is done only if it's the first time processing, otherwise cache is used, thus making processing faster.}
% Then, we define the |phiquation| and the |phiquation*| environments through a supplementary
@@ -1009,10 +1045,9 @@ print '\endinput';
% \begin{macrocode}
\makeatletter\newcommand\eolang@process[1]{
\def\hash{\eolang@mdfive
- {\eolang@tmpdir/\jobname/phiquation.tex}}%
- \IfFileExists
+ {\eolang@tmpdir/\jobname/phiquation.tex}-\the\inputlineno}%
+ \eolang@ifabsent
{\eolang@tmpdir/\jobname/\hash-post.tex}
- {\input{\eolang@tmpdir/\jobname/\hash-post.tex}}
{%
\iexec[null]{cp "\eolang@tmpdir/\jobname/phiquation.tex"
"\eolang@tmpdir/\jobname/\hash.tex"}%
@@ -1052,19 +1087,18 @@ print '\endinput';
\RequirePackage{xstring}
\makeatletter\newcommand\phiq[1]{%
\StrSubstitute{\detokenize{#1}}{'}{'"'"'}[\clean]%
- \def\hash{\pdf@mdfivesum{\clean}}%
+ \def\hash{\pdf@mdfivesum{\clean}-\the\inputlineno}%
\ifdefined\eolang@nodollar\else\catcode`\$=3 \fi%
- \IfFileExists
+ \eolang@ifabsent
{\eolang@tmpdir/\jobname/\hash-phiq-post.tex}
- {\input{\eolang@tmpdir/\jobname/\hash-phiq-post.tex}}
{%
\iexec[log,trace,quiet,stdout=\eolang@tmpdir/\jobname/phiq.tex]{
/bin/echo '\clean'}%
- \iexec[null]{cp "\eolang@tmpdir/\jobname/phiq.tex"
- "\eolang@tmpdir/\jobname/\hash.tex"}%
+ \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.tex"
+ "\eolang@tmpdir/\jobname/\hash-phiq.tex"
\ifdefined\eolang@nocomments | perl -pe 's/\%.*(\\n|$)//g' \fi}%
}%
\ifdefined\eolang@nodollar\else\catcode`\$\active\fi%
@@ -1516,15 +1550,14 @@ print '\endinput';
{\eolang@tmpdir/\jobname/sodg.tex}}
{\end{VerbatimOut}%
\def\hash{\eolang@mdfive
- {\eolang@tmpdir/\jobname/sodg.tex}}%
+ {\eolang@tmpdir/\jobname/sodg.tex}-\the\inputlineno}%
\catcode`\$=3 %
- \IfFileExists
+ \eolang@ifabsent
{\eolang@tmpdir/\jobname/\hash-sodg-post.tex}
- {\input{\eolang@tmpdir/\jobname/\hash-sodg-post.tex}}
{%
\iexec[null]{cp "\eolang@tmpdir/\jobname/sodg.tex"
"\eolang@tmpdir/\jobname/\hash.tex"}%
- \message{Start parsing `sodg' at line no. \the\inputlineno^^J}
+ \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"
diff --git a/macros/latex/contrib/eolang/eolang.pdf b/macros/latex/contrib/eolang/eolang.pdf
index 29ec974711..c970e3b189 100644
--- a/macros/latex/contrib/eolang/eolang.pdf
+++ b/macros/latex/contrib/eolang/eolang.pdf
Binary files differ
diff --git a/macros/latex/contrib/iexec/LICENSE.txt b/macros/latex/contrib/iexec/LICENSE.txt
index bd949ffdab..5744f745f0 100644
--- a/macros/latex/contrib/iexec/LICENSE.txt
+++ b/macros/latex/contrib/iexec/LICENSE.txt
@@ -1,6 +1,6 @@
(The MIT License)
-Copyright (c) 2021-2022 Yegor Bugayenko
+Copyright (c) 2021-2023 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
diff --git a/macros/latex/contrib/iexec/README.md b/macros/latex/contrib/iexec/README.md
index 93f1afce39..f1c96a5dc1 100644
--- a/macros/latex/contrib/iexec/README.md
+++ b/macros/latex/contrib/iexec/README.md
@@ -12,13 +12,14 @@ and then use in the preamble:
```tex
\documentclass{article}
-\usepackage{iexec}
+\usepackage[unskip]{iexec}
\begin{document}
-Today is \iexec{date +\%e-\%b-\%Y | tr -d '\\n'}.
+Today is \iexec{date +\%e-\%b-\%Y}.
\end{document}
```
-Otherwise, you can download [`iexec.sty`](https://raw.githubusercontent.com/yegor256/iexec/gh-pages/iexec/iexec.sty) and add to your project.
+Otherwise, you can download
+[`iexec.sty`](https://yegor256.github.io/iexec/iexec.sty) and add to your project.
The full example and all commands are available in the
[`iexec.pdf`](https://ftp.agdsn.de/pub/mirrors/latex/dante/macros/latex/contrib/iexec/iexec.pdf) file.
diff --git a/macros/latex/contrib/iexec/iexec.dtx b/macros/latex/contrib/iexec/iexec.dtx
index 12eabd6e28..e6e9905fb2 100644
--- a/macros/latex/contrib/iexec/iexec.dtx
+++ b/macros/latex/contrib/iexec/iexec.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% (The MIT License)
%
-% Copyright (c) 2021-2022 Yegor Bugayenko
+% Copyright (c) 2021-2023 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
@@ -50,7 +50,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{iexec}
%<*package>
-[2023-10-12 0.12.0 Inputable Shell Executions]
+[2023-12-28 0.13.0 Inputable Shell Executions]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -109,6 +109,10 @@
% in order to let \href{https://ctan.org/pkg/shellesc}{shellesc}
% execute your shell command.
+% It is important to remember that \LaTeX{} always uses ``|/bin/sh|'' shell.
+% This can't be changed,
+% as \href{https://tex.stackexchange.com/questions/698312}{explained here}.
+
% \section{Options}
% \DescribeMacro{quiet}
@@ -396,20 +400,30 @@ Today is \iexec{date +\%Y}!
% \changes{0.11.2}{2022/10/25}{If execution fails, we print the content of ``\texttt{stdout}'' anyway, even if the ``\texttt{log}'' is not turned on.}
% \begin{macrocode}
\ifdefined\iexec@null\else%
- \ifdefined\iexec@log%
- \message{iexec: This is the content of '\iexec@stdout':^^J}%
- \iexec@typeout{\iexec@stdout}%
- \message{<EOF>^^J}%
- \else%
- \ifnum\iexec@code=0\else%
- \ifdefined\iexec@ignore\else%
- \message{iexec: See the content of '\iexec@stdout'
- after failure:^^J}%
- \iexec@typeout{\iexec@stdout}%
- \message{<EOF>^^J}%
+ \IfFileExists
+ {\iexec@stdout}
+ {}
+ {\PackageError{iexec}{The "\iexec@stdout" file is absent
+ after processing, looks like some internal error}{}}%
+ \ifdefined\iexec@log%
+ \message{iexec: This is the content of '\iexec@stdout':^^J}%
+ \IfFileExists
+ {\iexec@stdout}
+ {\iexec@typeout{\iexec@stdout}}
+ {\PackageError{iexec}{The "\iexec@stdout" file is absent
+ after processing, looks like some internal error}{}}%
+ \message{<EOF>^^J}%
+ \else%
+ \ifnum\iexec@code=0\else%
+ \ifdefined\iexec@ignore\else%
+ \message{iexec: See the content of '\iexec@stdout'
+ after failure:^^J}%
+ \iexec@typeout{\iexec@stdout}%
+ \message{<EOF>^^J}%
+ \fi%
\fi%
\fi%
- \fi\fi%
+ \fi%
% \end{macrocode}
% Then, we check whether it's zero or not (if not zero, we either print a message or fail the build, depending on the presence of |ignore| option):
% \begin{macrocode}
diff --git a/macros/latex/contrib/iexec/iexec.ins b/macros/latex/contrib/iexec/iexec.ins
index 8d2fd38a42..186a9c813e 100644
--- a/macros/latex/contrib/iexec/iexec.ins
+++ b/macros/latex/contrib/iexec/iexec.ins
@@ -1,6 +1,6 @@
%% (The MIT License)
%%
-%% Copyright (c) 2021-2022 Yegor Bugayenko
+%% Copyright (c) 2021-2023 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
@@ -26,7 +26,7 @@
\preamble
(The MIT License)
-Copyright (c) 2021-2022 Yegor Bugayenko
+Copyright (c) 2021-2023 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
diff --git a/macros/latex/contrib/iexec/iexec.pdf b/macros/latex/contrib/iexec/iexec.pdf
index df2af77a58..53aac0a7a1 100644
--- a/macros/latex/contrib/iexec/iexec.pdf
+++ b/macros/latex/contrib/iexec/iexec.pdf
Binary files differ