summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/iexec/DEPENDS.txt1
-rw-r--r--macros/latex/contrib/iexec/iexec.dtx96
-rw-r--r--macros/latex/contrib/iexec/iexec.ins8
-rw-r--r--macros/latex/contrib/iexec/iexec.pdfbin284051 -> 294434 bytes
-rw-r--r--macros/latex/contrib/thalie/CHANGELOG.md6
-rw-r--r--macros/latex/contrib/thalie/README.md10
-rw-r--r--macros/latex/contrib/thalie/thalie.dtx44
-rw-r--r--macros/latex/contrib/thalie/thalie.pdfbin475823 -> 484998 bytes
8 files changed, 125 insertions, 40 deletions
diff --git a/macros/latex/contrib/iexec/DEPENDS.txt b/macros/latex/contrib/iexec/DEPENDS.txt
index 5fa4f92b5c..3e3774f0e2 100644
--- a/macros/latex/contrib/iexec/DEPENDS.txt
+++ b/macros/latex/contrib/iexec/DEPENDS.txt
@@ -1,3 +1,4 @@
hard shellesc
hard pgfkeys
hard xkeyval
+hard expl3
diff --git a/macros/latex/contrib/iexec/iexec.dtx b/macros/latex/contrib/iexec/iexec.dtx
index fb38432b0e..2478ac224a 100644
--- a/macros/latex/contrib/iexec/iexec.dtx
+++ b/macros/latex/contrib/iexec/iexec.dtx
@@ -50,17 +50,14 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{iexec}
%<*package>
-[01.10.2022 0.6.1 Inputable Shell Executions]
+[09.10.20220 0.7.0 Inputable Shell Executions]
%</package>
%<*driver>
\documentclass{ltxdoc}
\usepackage[tt=false, type1=true]{libertine}
+\usepackage{microtype}
\usepackage{iexec}
\usepackage{href-ul}
-\raggedbottom
-\setlength{\parindent}{0pt}
-\setlength{\columnsep}{32pt}
-\setlength{\parskip}{6pt}
\PageIndex
\EnableCrossrefs
\CodelineIndex
@@ -105,7 +102,7 @@ Today is
%
% \columnbreak
%
-% Today is \iexec{date +\%e-\%b-\%Y}
+% Today is \iexec[log]{date +\%e-\%b-\%Y}
% \end{multicols}
% \begin{macro}{\iexec}
@@ -184,6 +181,43 @@ This file won't be deleted: \iexec[stdout=me.txt]{whoami}.
%\fi
% \end{macro}
+% \begin{macro}{append}
+% The stdout produced will be appended to the file specified:
+%\iffalse
+%<*verb>
+%\fi
+\begin{verbatim}
+\documentclass{article}
+\usepackage[trace]{iexec}
+\begin{document}
+\iexec[append,stdout=foo.txt,quiet]{echo 'Hello, '}
+\iexec[append,stdout=foo.txt,quiet]{echo 'Jeffrey!'}
+\input{foo.txt}
+\end{document}
+\end{verbatim}
+%\iffalse
+%</verb>
+%\fi
+% \end{macro}
+
+% \begin{macro}{log}
+% The stdout produced will be printed in \TeX{} log:
+%\iffalse
+%<*verb>
+%\fi
+\begin{verbatim}
+\documentclass{article}
+\usepackage{iexec}
+\begin{document}
+\iexec[log]{echo 'Hello, \\LaTeX!'}
+\input{foo.txt}
+\end{document}
+\end{verbatim}
+%\iffalse
+%</verb>
+%\fi
+% \end{macro}
+
% \StopEventually{}
% \section{Implementation}
@@ -193,9 +227,15 @@ This file won't be deleted: \iexec[stdout=me.txt]{whoami}.
% \changes{v0.4.1}{2021/08/08}{Options trace, stdout, and quiet added}
% \changes{v0.5.0}{2022/01/08}{Major bug fixes}
-% \iffalse
+% First, we include a few packages:
+% \begin{macrocode}
\RequirePackage{shellesc}
\RequirePackage{pgfkeys}
+\RequirePackage{expl3}
+% \end{macrocode}
+
+% Then, we parse package options:
+% \begin{macrocode}
\RequirePackage{xkeyval}
\makeatletter\newif\ifiexec@trace
\DeclareOptionX{trace}{\iexec@tracetrue}
@@ -206,12 +246,34 @@ This file won't be deleted: \iexec[stdout=me.txt]{whoami}.
stdout/.estore in = \iexec@stdout,
stdout/.default = iexec.tmp,
trace/.estore in = \iexec@traceit,
+ append/.estore in = \iexec@append,
+ log/.estore in = \iexec@log,
quiet/.estore in = \iexec@quiet,
stdout
}\makeatother
-% \fi
+% \end{macrocode}
+
+% \begin{macro}{\iexec@typeout}
+% Then, we define an internal command |\iexec@typeout| for printing the content of a file,
+% as suggested \href{https://tex.stackexchange.com/questions/660808}{here}:
+% \begin{macrocode}
+\makeatletter\ExplSyntaxOn
+\NewDocumentCommand{\iexec@typeout}{m}{
+ \iexec_typeout_file:n { #1 }}
+\ior_new:N \g_iexec_typeout_ior
+\cs_new_protected:Nn \iexec_typeout_file:n
+{
+ \ior_open:Nn \g_iexec_typeout_ior { #1 }
+ \ior_str_map_inline:Nn \g_iexec_typeout_ior
+ {\iow_term:n { ##1 }}
+ \ior_close:N \g_iexec_typeout_ior
+}
+\ExplSyntaxOff\makeatother
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\iexec}
+% Then, we define |\iexec| command.
% It is implemented with the help of |\ShellEscape| from |shellesc| package:
% \begin{macrocode}
\makeatletter\newcommand\iexec[2][]{%
@@ -222,7 +284,7 @@ This file won't be deleted: \iexec[stdout=me.txt]{whoami}.
% it nothing will work; so, it's better to throw an error earlier than later:
% \begin{macrocode}
\ifdefined\pdfshellescape\ifnum\pdfshellescape=1\else%
- \PackageError{iexec}{You must run latex with
+ \PackageError{iexec}{You must run TeX processor with
--shell-escape option}{}%
\fi\fi%
\begingroup%
@@ -238,19 +300,29 @@ This file won't be deleted: \iexec[stdout=me.txt]{whoami}.
% \end{macrocode}
% Then, we execute it:
% \begin{macrocode}
- \ShellEscape{#2 > \iexec@stdout}%
+ \ShellEscape{#2 \ifdefined\iexec@append>\fi> \iexec@stdout}%
% \end{macrocode}
% Then, a message is printed to TeX log:
% \begin{macrocode}
\message{^^Jiexec: [#2 > \iexec@stdout]^^J}%
\endgroup%
% \end{macrocode}
+% Then, if required, the content of the stdout file will be printed to the log:
+% \begin{macrocode}
+ \ifdefined\iexec@log
+ \message{^^Jiexec: this is the content of \iexec@stdout:^^J}%
+ \iexec@typeout{\iexec@stdout}
+ \message{^^J<EOF>^^J}%
+ \fi%
+% \end{macrocode}
% Then, include the produced output into the current document:
% \begin{macrocode}
\ifdefined\iexec@quiet
- \message{^^Jiexec: Due to 'quiet' we didn't read
- the content of '\iexec@stdout'^^J}%
+ \message{^^Jiexec: Due to 'quiet' option we didn't read
+ the content of '\iexec@stdout' (\pdffilesize{} bytes)^^J}%
\else%
+ \message{^^Jiexec: We include the content of
+ '\iexec@stdout' (\pdffilesize{} bytes)...^^J}%
\input{\iexec@stdout}%
\message{^^Jiexec: The content of '\iexec@stdout'
was included into the document^^J}%
diff --git a/macros/latex/contrib/iexec/iexec.ins b/macros/latex/contrib/iexec/iexec.ins
index 36172278a6..8d2fd38a42 100644
--- a/macros/latex/contrib/iexec/iexec.ins
+++ b/macros/latex/contrib/iexec/iexec.ins
@@ -48,8 +48,8 @@ SOFTWARE.
\endpreamble
\generate{\file{iexec.sty}{\from{iexec.dtx}{package}}}
\obeyspaces
-\Msg{*** To finish the installation you have to move the ".sty"}
-\Msg{*** file into a directory searched by TeX. To produce the}
-\Msg{*** documentation run the file ".dtx" through LaTeX. If any}
-\Msg{*** questions, submit a new GitHub issue.}
+\Msg{To finish the installation you have to move the ".sty"}
+\Msg{file into a directory searched by TeX. To produce the}
+\Msg{documentation run the file ".dtx" through LaTeX. If any}
+\Msg{questions, submit a new GitHub issue.}
\endbatchfile
diff --git a/macros/latex/contrib/iexec/iexec.pdf b/macros/latex/contrib/iexec/iexec.pdf
index 74233b4810..6030b3fa7a 100644
--- a/macros/latex/contrib/iexec/iexec.pdf
+++ b/macros/latex/contrib/iexec/iexec.pdf
Binary files differ
diff --git a/macros/latex/contrib/thalie/CHANGELOG.md b/macros/latex/contrib/thalie/CHANGELOG.md
index 6321921e29..f91eca7082 100644
--- a/macros/latex/contrib/thalie/CHANGELOG.md
+++ b/macros/latex/contrib/thalie/CHANGELOG.md
@@ -1,3 +1,9 @@
+* thalie 0.12a (2022-10-09)
+
+ * The `xspace` option also affects \did.
+
+ -- Louis Paternault <spalax@gresille.org>
+
* thalie 0.11b (2022-06-16)
* Fix sloppy previous release.
diff --git a/macros/latex/contrib/thalie/README.md b/macros/latex/contrib/thalie/README.md
index 96ee7129e8..f6babe79fe 100644
--- a/macros/latex/contrib/thalie/README.md
+++ b/macros/latex/contrib/thalie/README.md
@@ -5,13 +5,13 @@ It defines commands to introduce characters' lines, to render stage direction,
to divide a play into acts and scenes, to automatically build the dramatis
personae, etc.
-- Version 0.11b (2022-06-16)
+- Version 0.12a (2022-10-09)
- Usage and installation instruction are available in the [documentation](http://mirrors.ctan.org/macros/latex/contrib/thalie/thalie.pdf).
- Examples
- - [French play, in verse](https://framagit.org/spalax/thalie/raw/v0.11b/examples/cyrano.pdf) ([source](https://framagit.org/spalax/thalie/raw/v0.11b/examples/cyrano.tex))
- - [French play, in prose](https://framagit.org/spalax/thalie/raw/v0.11b/examples/domjuan.pdf) ([source](https://framagit.org/spalax/thalie/raw/v0.11b/examples/domjuan.tex))
- - [English play, in prose](https://framagit.org/spalax/thalie/raw/v0.11b/examples/hamlet.pdf) ([source](https://framagit.org/spalax/thalie/raw/v0.11b/examples/hamlet.tex))
- - [English play, in verse](https://framagit.org/spalax/thalie/raw/v0.11b/examples/henry.pdf) ([source](https://framagit.org/spalax/thalie/raw/v0.11b/examples/henry.tex))
+ - [French play, in verse](https://framagit.org/spalax/thalie/raw/v0.12a/examples/cyrano.pdf) ([source](https://framagit.org/spalax/thalie/raw/v0.12a/examples/cyrano.tex))
+ - [French play, in prose](https://framagit.org/spalax/thalie/raw/v0.12a/examples/domjuan.pdf) ([source](https://framagit.org/spalax/thalie/raw/v0.12a/examples/domjuan.tex))
+ - [English play, in prose](https://framagit.org/spalax/thalie/raw/v0.12a/examples/hamlet.pdf) ([source](https://framagit.org/spalax/thalie/raw/v0.12a/examples/hamlet.tex))
+ - [English play, in verse](https://framagit.org/spalax/thalie/raw/v0.12a/examples/henry.pdf) ([source](https://framagit.org/spalax/thalie/raw/v0.12a/examples/henry.tex))
License
-------
diff --git a/macros/latex/contrib/thalie/thalie.dtx b/macros/latex/contrib/thalie/thalie.dtx
index 646c4e41dd..d9ba447489 100644
--- a/macros/latex/contrib/thalie/thalie.dtx
+++ b/macros/latex/contrib/thalie/thalie.dtx
@@ -25,7 +25,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{thalie}
%<*package>
- [2022/06/16 v0.11b A package to typeset drama plays]
+ [2022/10/09 v0.12a A package to typeset drama plays]
%</package>
%
%<*driver>
@@ -80,7 +80,7 @@
%
% \GetFileInfo{thalie.dtx}
%
-% \DoNotIndex{\@backslashchar, \@ifnextchar, \protect\`}
+% \DoNotIndex{\@backslashchar, \@ifnextchar}
% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ ,\!,\(,\),\,}
% \DoNotIndex{\addcontentsline, \addto, \ae, \AND, \arabic, \abovedisplayshortskip, \abovedisplayskip, \addtolength}
% \DoNotIndex{\begin, \bfseries, \boolean, \baselineskip, \belowdisplayskip, \belowdisplayshortskip, \boolfalse, \booltrue}
@@ -119,9 +119,10 @@
% \@speaks,
% \@verseadjust,
% }
-% \DoNotIndex{\newcommand, \newcounter, \newenvironment, \noindent, \noexpand, \NOT, \newif, \newlength, \newline, \nopagebreak}
+% \DoNotIndex{\newcommand, \newcounter, \newenvironment, \noindent, \noexpand, \NOT, \newif, \newlength, \newline, \nopagebreak, \notbool}
% \DoNotIndex{\OR}
-% \DoNotIndex{\par, \pgfkeys, \ProcessPgfPackageOptions, \protect, \protected@xappto, \parindent, \parskip, \predisplaysize, \prevgraf, \providebool}
+% \DoNotIndex{\par, \pgfkeys, \ProcessPgfPackageOptions, \protect, \protected@xappto, \parindent, \parskip, \predisplaysize, \prevgraf, \providebool, \providecommand}
+% \expandafter\DoNotIndex\expandafter{\string\ } ^^A From https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex%2F3540
% \DoNotIndex{\quad}
% \DoNotIndex{\refstepcounter, \renewcommand, \RequirePackage, \right, \Roman, \relax, \rightmargin}
% \DoNotIndex{\section, \setboolean, \setlength, \sffamily, \smallskip}
@@ -260,7 +261,7 @@
% \label{sec:usage}
%
% \subsection{Localization}
-% \changes{v0.9a}{2017/04/22}{Add section \emph{Localization}.}
+% \changes{v0.09a}{2017/04/22}{Add section \emph{Localization}.}
%
% By default, commands \lstinline|\act|, \lstinline|\scene|, etc. use English words, but they are
% translated to the current language used by |babel| or
@@ -303,8 +304,9 @@
% \label{table:packageoptions}
% \end{table}
%
-% \subsubsection{Space following character commands}
-% \changes{v0.7}{2015/12/28}{New package option \texttt{xspace}.}
+% \subsubsection{Space following character commands and stage directions}
+% \label{option:xspace}
+% \changes{v0.07}{2015/12/28}{New package option \texttt{xspace}.}
% As commands introducing characters' lines and displaying characters' names
% may be frequently used, it might be tempting to omit the following \lstinline|{}| For
% instance, one might prefer to write:
@@ -331,7 +333,7 @@
% If package option |xspace| is set (e.g. |xspace=true|), space is automatically
% added after those commands if necessary\footnote{This is done with
% the |$\backslash$xspace| command (from the |xspace| package), hence the name.};
-% otherwise, it is not.
+% otherwise, it is not. The same rule applies after a |\did| command.
%
% For historical reasons, the option |xspace| default is |true|, but this might
% change in some later non-backward compatible version.
@@ -925,7 +927,7 @@ No! It's a bit short, young man\ldots
% \ref{fig:character_example}).
%
% \paragraph{Choose style}
-% \changes{v0.6}{2014/06/25}{New character styles \texttt{imprimerie-verse}, \texttt{imprimerie-prose} and \texttt{arden}.}
+% \changes{v0.06}{2014/06/25}{New character styles \texttt{imprimerie-verse}, \texttt{imprimerie-prose} and \texttt{arden}.}
% Several styles are available, to typeset character's name and lines in
% different ways. Change the style by loading package using option
% |characterstyle=|\marg{style} (available styles are |bold|, |center|,
@@ -969,11 +971,14 @@ No! It's a bit short, young man\ldots
% \DescribeMacro{\did}
% \DescribeEnv{dida}
% We define two ways to render stage directions: a short one, that is printed
-% inline, and a long one, printed in its own paragraph. They act a bit like
-% \lstinline|$\formula$| and \lstinline|\[\formula\]| for formulas.
+% inline, and a long one, printed in its own paragraph\footnote{For people writing math:
+% They act a bit like \lstinline|$1+1=2$| and \texttt{\bbackslash[1+1=2\bbackslash]} for formulas.}.
% The first way is the command \lstinline|\did|\marg{directions}. The second way is the
% environment |dida|.
%
+% Note that option \lstinline|xspace| may be used to automatically add a space,
+% if necessary, after a \lstinline|\did| command (see section \ref{option:xspace}, page \pageref{option:xspace}).
+%
% \DescribeMacro{\onstage}
% Some stage directions are displayed centered under the scene or act
% definition (I often see it in classical drama, where the list of characters
@@ -1207,7 +1212,7 @@ So is Lysander.
% \subsection{Localization}
% \label{sec:l10n}
%
-% \changes{v0.9a}{2017/04/22}{Use package |translations| for localization.}
+% \changes{v0.09a}{2017/04/22}{Use package |translations| for localization.}
%
% Language cannot be defined directly in this package. Instead, the language
% currently used by |babel| or |polyglossia| is used to translate the following
@@ -1280,7 +1285,7 @@ So is Lysander.
%
% \section{Examples}
% \label{sec:examples}
-% \changes{v0.9a}{2017/04/22}{Add section \emph{Examples}.}
+% \changes{v0.09a}{2017/04/22}{Add section \emph{Examples}.}
%
% \subsection{Characters' lines}
% \label{sec:examples:characterslines}
@@ -1850,13 +1855,13 @@ One!
% \end{environment}
%
% \begin{environment}{dramatisenv}
-% \changes{v0.9a}{2017/04/22}{It is now possible to customize style of dramatis person\ae.}
+% \changes{v0.09a}{2017/04/22}{It is now possible to customize style of dramatis person\ae.}
% \begin{macro}{\dramatischaracter}
% \begin{macro}{\dramatischaractername}
% \begin{macro}{\dramatischaracterdescription}
% \begin{macro}{\characterspace}
% \begin{environment}{charactergroup}
-% \changes{v0.6}{2013/11/02}{Groups of characters are now aligned with other caracters.}
+% \changes{v0.06}{2013/11/02}{Groups of characters are now aligned with other caracters.}
% Customizable commands to build dramatis person\ae.
% \begin{macrocode}
% Environment used to *display* dramatis personae.
@@ -2053,8 +2058,9 @@ One!
%
% \begin{macro}{\did}
% Inline stage directions.
+% \changes{v0.12a}{2022/10/09}{The \texttt{xspace} option also affects \texttt{\bbackslash{}did}.}
% \begin{macrocode}
-\newcommand{\did}[1]{\emph{(#1)} }
+\newcommand{\did}[1]{\emph{(#1)}\@maybexspace}
% \end{macrocode}
% \end{macro}
%
@@ -2080,7 +2086,7 @@ One!
% \subsection{Splitting verses}
% \begin{macro}{\pauseverse}
-% \changes{v0.7}{2015/12/28}{New commands \texttt{\bbackslash{}pauseverse}, \texttt{\bbackslash{}resumeverse}, \texttt{\bbackslash{}adjustverse}.}
+% \changes{v0.07}{2015/12/28}{New commands \texttt{\bbackslash{}pauseverse}, \texttt{\bbackslash{}resumeverse}, \texttt{\bbackslash{}adjustverse}.}
% \changes{v0.10c}{2021/09/26}{Document other implementations of \texttt{\bbackslash{}pauseverse} and \texttt{\bbackslash{}resumeverse}}
% \begin{macro}{\resumeverse}
% \begin{macro}{\adjustverse}
@@ -2218,7 +2224,7 @@ One!
% \end{macrocode}
%
% \begin{macro}{\setthalieoptions}
-% \changes{v0.9a}{2017/04/22}{Add command \texttt{\bbackslash{}setthalieoptions}.}
+% \changes{v0.09a}{2017/04/22}{Add command \texttt{\bbackslash{}setthalieoptions}.}
% Redefine package options.
% \begin{macrocode}
\newcommand{\setthalieoptions}[1]{%
@@ -2227,7 +2233,7 @@ One!
% \end{macrocode}
% \end{macro}
%
-% \changes{v0.5}{2013/06/08}{First published version.}
+% \changes{v0.05}{2013/06/08}{First published version.}
%
% \addcontentsline{toc}{section}{Change History}
% \PrintChanges
diff --git a/macros/latex/contrib/thalie/thalie.pdf b/macros/latex/contrib/thalie/thalie.pdf
index 2cc0c71438..5cb97d8e2f 100644
--- a/macros/latex/contrib/thalie/thalie.pdf
+++ b/macros/latex/contrib/thalie/thalie.pdf
Binary files differ