texlive[63802] Master/texmf-dist: simples-matrices (3jul22)

commits+karl at tug.org commits+karl at tug.org
Sun Jul 3 22:58:58 CEST 2022


Revision: 63802
          http://tug.org/svn/texlive?view=revision&revision=63802
Author:   karl
Date:     2022-07-03 22:58:58 +0200 (Sun, 03 Jul 2022)
Log Message:
-----------
simples-matrices (3jul22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/simples-matrices/LISEZMOI.md
    trunk/Master/texmf-dist/doc/latex/simples-matrices/MANIFEST.md
    trunk/Master/texmf-dist/doc/latex/simples-matrices/README.md
    trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-eng.pdf
    trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-eng.tex
    trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-fra.pdf
    trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-fra.tex
    trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices.pdf
    trunk/Master/texmf-dist/source/latex/simples-matrices/simples-matrices.dtx
    trunk/Master/texmf-dist/source/latex/simples-matrices/simples-matrices.ins
    trunk/Master/texmf-dist/tex/latex/simples-matrices/simples-matrices.sty

Modified: trunk/Master/texmf-dist/doc/latex/simples-matrices/LISEZMOI.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/simples-matrices/LISEZMOI.md	2022-07-03 20:58:43 UTC (rev 63801)
+++ trunk/Master/texmf-dist/doc/latex/simples-matrices/LISEZMOI.md	2022-07-03 20:58:58 UTC (rev 63802)
@@ -1,4 +1,4 @@
-<!-- Time-stamp: <2022-06-19 17:54:55 Yvon Henel (TdS)> -->
+<!-- Time-stamp: <2022-07-03 11:22:22 Yvon Henel (TdS)> -->
 
 # simples-matrices
 
@@ -22,3 +22,5 @@
 ## Historique
 
 * Version 1.0 — 2022-06-19 — Première version publique
+
+* Version 1.0.1 — 2022-07-03 — Quelques améliorations dans la documentation.

Modified: trunk/Master/texmf-dist/doc/latex/simples-matrices/MANIFEST.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/simples-matrices/MANIFEST.md	2022-07-03 20:58:43 UTC (rev 63801)
+++ trunk/Master/texmf-dist/doc/latex/simples-matrices/MANIFEST.md	2022-07-03 20:58:58 UTC (rev 63802)
@@ -31,7 +31,6 @@
 additional input files for the typeset documentation files listed above.
 
 * LISEZMOI.md ‡
-* MANIFEST.md ‡
 * README.md ‡
 
 ### Text files
@@ -39,7 +38,6 @@
 Plain text files included as documentation or metadata.
 
 * LISEZMOI.md ‡
-* MANIFEST.md ‡
 * README.md ‡
 
 ### Derived files
@@ -80,7 +78,6 @@
 All files included in the `simples-matrices/doc` directory.
 
 * LISEZMOI.md 
-* MANIFEST.md 
 * README.md 
 * simples-matrices-eng.pdf 
 * simples-matrices-fra.pdf 
@@ -94,7 +91,6 @@
 ### CTAN files
 
 * LISEZMOI.md 
-* MANIFEST.md 
 * README.md 
 * simples-matrices-eng.pdf 
 * simples-matrices-fra.pdf 

Modified: trunk/Master/texmf-dist/doc/latex/simples-matrices/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/simples-matrices/README.md	2022-07-03 20:58:43 UTC (rev 63801)
+++ trunk/Master/texmf-dist/doc/latex/simples-matrices/README.md	2022-07-03 20:58:58 UTC (rev 63802)
@@ -1,4 +1,4 @@
-<!-- Time-stamp: <2022-06-19 17:54:49 Yvon Henel (TdS)> -->
+<!-- Time-stamp: <2022-07-03 11:22:16 Yvon Henel (TdS)> -->
 
 # simples-matrices
 
@@ -23,4 +23,4 @@
 
 * Version 1.0 — 2022-06-19 — First public version
 
-
+* Version 1.0.1 — 2022-07-03 — Some improvements in the documentation.

Modified: trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-eng.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-eng.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-eng.tex	2022-07-03 20:58:43 UTC (rev 63801)
+++ trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-eng.tex	2022-07-03 20:58:58 UTC (rev 63802)
@@ -22,7 +22,7 @@
 %%    http://www.latex-project.org/lppl.txt
 %%
 \RequirePackage{expl3}[2020/01/12]
-\GetIdInfo$Id: simples-matrices.dtx 1.0 2022-06-19 TdS $
+\GetIdInfo$Id: simples-matrices.dtx 1.0.1 2022-07-03 TdS $
   {}
 \documentclass[full]{l3doc}
 \usepackage[utf8]{inputenc}
@@ -34,6 +34,7 @@
 \usepackage{xspace}
 \usepackage{csquotes}
 \usepackage{fancyvrb,fancyvrb-ex}
+\usepackage{listings}
 \usepackage{mathtools}
 \usepackage{delarray}
 \usepackage{nicematrix}
@@ -40,17 +41,59 @@
 
 \providecommand\darg[3]{ \texttt{#1} \meta{#2} \texttt{#3} }
 
+\colorlet{keyword20}{cyan} %!75!black
+\colorlet{keyword30}{teal}
+\colorlet{keycolor}{green!50!black}
+\colorlet{dollarcolor}{violet}
+\colorlet{cmdmuette}{blue}
+\colorlet{cmdcausante}{red}
+
+\lstset{frame=single,%
+  language=[LaTeX]{TeX},%
+  showspaces=false,%
+  breaklines=true,%
+  breakatwhitespace=true,%
+  basicstyle=\ttfamily\bfseries,%
+  alsoletter={*-$},%
+  texcsstyle=*[2]\color{cmdcausante},%
+  texcs=[2]{matrice,declarermatrice*,lamatrice,matid,matnulle,MatriceInterieur,LaMatriceInterieur},%
+  texcsstyle=*[3]\color{cmdmuette},%
+  texcs=[3]{declarermatrice,simplesmatricessetup},%
+  keywordstyle=[20]\color{keyword20},%
+  keywordstyle=[30]\color{keyword30},%
+  keywordstyle=[40]\color{keycolor},%
+  keywordstyle=[50]\color{dollarcolor},%
+  keywords=[20]{tabular,array,matrix,matrix*,NiceArray},%
+  keywords=[30]{x,S,T,I,J,C,O,D},%
+  keywords=[40]{out-of-box,prefix,envir,typeord,argopt},%
+  keywords=[50]{$},%
+  escapeinside={\%*@}{@*)}%
+}
+
+\newcommand{\MacroPres}[2]{\textcolor{#1}{\textbf{\cs{#2}}}}
+\newcommand{\csmute}{\MacroPres{cmdmuette}}
+\newcommand{\csprint}{\MacroPres{cmdcausante}}
+\newcommand{\ObjetPres}[2]{\textcolor{#1}{\textbf{\texttt{#2}}}}
+\newcommand{\keyname}{\ObjetPres{keycolor}}
+\newcommand{\envir}{\ObjetPres{keyword20}}
+\newcommand{\TypeMat}{\ObjetPres{keyword30}}
+
 \newcommand{\UnExemple}{%
   \par \medskip \par \noindent
-  \begin{minipage}[c]{0.58\linewidth}
-    \VerbatimInput[gobble=0, frame=single]{code00.tex}
+  \begin{minipage}[c]{0.66\linewidth}
+    \lstinputlisting[gobble=0, frame=single, numbers=left, numberstyle={\small}]{code00.tex}
   \end{minipage}
   \hspace{\stretch{1}}
-  \begin{minipage}[c]{0.38\linewidth}
+  \begin{minipage}[c]{0.32\linewidth}
+    \small
     \input{code00}
   \end{minipage}
-  \par \medskip}
+  \par \medbreak}
 
+\newcommand*{\vliste}{liste\xspace}
+
+ \newcommand{\VoirEx}[1]{(see example on page~\pageref{#1})}
+
 \begin{document}
 \title{\pkg{simples-matrices} user guide\thanks{This file describes
     version~\ExplFileVersion, last revised~\ExplFileDate.\\
@@ -104,42 +147,57 @@
 
 \textbf{Beware}: you have to provide the suitable mathematical environment to
 use the macros which print a matrix. Only the unstarred version of
-\cs{declarermatrice} may be used outside math-mode.
+\csmute{declarermatrice} may be used outside math-mode.
 
 
 \section{The Macros}
 \label{sec:macros}
 
-\pkg{simples-matrices} offers six main document macros.
+\pkg{simples-matrices} offers nine document macros.
 
 
+In the main text (syntaxes and examples), the name of a macro of this package is
+printed in red if the macro produces some text in the document, otherwise it is
+printed in blue.
+
 \subsection{Main Macros}
 \label{sec:main}
 
-This package has five main document macros viz.
+The six main document macros are the following:
+
 \begin{function}{\matrice}
   \begin{syntax}
-    \cs{matrice}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{type}\marg{clist of coefficients}
+    \csprint{matrice}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{type}\marg{clist of coefficients}
   \end{syntax}
-  where \meta{prefix} has the same meaning as the key \texttt{prefix};
-  \meta{clist of key-value pairs}, optional and void by default, can be used to
-  redefined the matrix-like environment; \meta{type} is a string of character
+  where \meta{prefix} has the same meaning as the key \keyname{prefix} (see page~\pageref{key-prefix});
+  \meta{clist of key-value pairs} ---optional and void by default--- can be used to
+  redefined the \envir{matrix}-like environment; \meta{type} is a string of character
   the usage of which is explained later ---see \ref{sec:matrix-type}--- and
   \meta{clist of coefficients} is a clist of the coefficients of the matrix
   given by row order.
 
   The French \emph{matrice} means ``matrix''.
+\end{function}
 
-  With \verb+\(\matrice{1, 2, 3, 4}\)+ we obtain \(\matrice{1, 2, 3, 4}\).
+ With
+\lstinline+$\matrice{1, 2, 3, 4}$+
+ we obtain
+\(\matrice{1, 2, 3, 4}\).
 
-  With \verb+\(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\)+
-  we obtain \(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\).
+ With
+\lstinline+$\matrice(b)[3]{1, 2, 3, 4, 5, 6}$+
+ we obtain
+\(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\).
 
+\begin{function}{\declarermatrice}
+  \begin{syntax}
+    \csmute{declarermatrice}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\marg{matrix name}\oarg{type}\marg{clist of coefficients}
+  \end{syntax}
 \end{function}
 
-\begin{function}{\declarermatrice}
+\begin{function}{\declarermatrice*}
   \begin{syntax}
-    \cs{declarermatrice*}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\marg{matrix name}\oarg{type}\marg{clist of coefficients}
+    \csprint{declarermatrice*}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\marg{matrix name}\oarg{type}\marg{clist of coefficients}
   \end{syntax}
   where \meta{matrix name} is the name of the matrix to be used afterwards. The
   other arguments, optional or mandatory, have the same meaning than above. The
@@ -150,16 +208,19 @@
   the same function. \textbf{No check is done} to ensure that one is not
   redefining a previously defined matrix.
 
+  With the macro \csmute{declarermatrice}, the first two optional arguments have
+  no effect for they are not take into account to define the matrix \VoirEx{sec:declar}.
+
   The French \emph{déclarer une matrice} means ``declare a matrix''.
-
 \end{function}
 
+
 \begin{function}{\lamatrice}
   \begin{syntax}
-    \cs{lamatrice}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\marg{matrix name}
+    \csprint{lamatrice}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\marg{matrix name}
   \end{syntax}
   prints the previously defined matrix the name of which is given by
-  \meta{matrix name}. The two optional arguments have the meaning as before.
+  \meta{matrix name}. The two optional arguments have the meaning as before \VoirEx{sec:declar}.
 
   The French \emph{la matrice} means ``the matrix''.
 \end{function}
@@ -166,11 +227,12 @@
 
 \begin{function}{\MatriceInterieur}
   \begin{syntax}
-    \cs{MatriceInterieur}
+    \csprint{MatriceInterieur}
   \end{syntax}
-  gives the inner part of the last printed ---via \cs{matrice}--- or defined
-  ---via \cs{declarermatrice}--- matrix. It can be used inside an
-  \env{array}-like environment.
+  gives the inner part of the last printed ---via \csprint{matrice} or
+  \csprint{declarermatrice*}--- or defined ---via \csmute{declarermatrice}---
+  matrix. It can be used inside an \envir{array}-like environment
+  \VoirEx{sec:matint}.
 
   The French should be \emph{\foreignlanguage{french}{intérieur de la matrice}}
   which means ``inside of the matrix''. What is implicit is the adjective
@@ -179,16 +241,15 @@
 
 \begin{function}{\LaMatriceInterieur}
   \begin{syntax}
-    \cs{LaMatriceInterieur}\marg{matrix name}
+    \csprint{LaMatriceInterieur}\marg{matrix name}
   \end{syntax}
   gives the inner part of the matrix with name \meta{matrix name}. It can be
-  used inside an \env{array}-like environment.
+  used inside an \envir{array}-like environment \VoirEx{sec:matint}.
 
-  Again false French but the parallel with \cs{lamatrice} should suggest that,
+  Again false French but the parallel with \csprint{lamatrice} should suggest that,
   now, the matrix has a name and we have to use it.
 \end{function}
 
-See examples on page~\pageref{sec:examples}.
 
 \subsection{Setting the Keys}
 \label{sec:setting-keys}
@@ -196,7 +257,7 @@
 One can change the values of the keys of \pkg{simples-matrices} with
 \begin{function}{\simplesmatricessetup}
   \begin{syntax}
-    \cs{simplesmatricessetup}\marg{clist of key-value pairs}
+    \csmute{simplesmatricessetup}\marg{clist of key-value pairs}
   \end{syntax}
   where \meta{clist of key-value pairs} is the usual clist of key-value pairs
   setting one or many of the three keys of the package as presented on
@@ -205,8 +266,9 @@
   To stick to established convention the name of this macro is created from the
   name of the package (reduced to \TeX{} letters) followed by \emph{setup}. I
   apologize for that strange linguistic mixture.
+\end{function}
 
-\end{function}
+\newpage{}
 \subsection{Shortcuts}
 \label{sec:shortcuts}
 
@@ -214,7 +276,7 @@
 
 \begin{function}{\matid}
   \begin{syntax}
-    \cs{matid}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{coefficient}\marg{number of columns}
+    \csprint{matid}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{coefficient}\marg{number of columns}
   \end{syntax}
   which write the identity matrix --- by default --- with \meta{number of
     columns} columns. If \meta{coefficient} is given, we obtain a diagonal
@@ -223,13 +285,13 @@
   The two first optional arguments have the same functionality as in the
   preceding macros.
 
-  \emph{matid} stands for ``\foreignlanguage{French}{matrice identité}'' which means
+  \emph{matid} stands for \emph{\foreignlanguage{French}{matrice identité}} which means
   ``identity matrix''.
 \end{function}
 
 \begin{function}{\matnulle}
   \begin{syntax}
-    \cs{matnulle}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{coefficient}\marg{number of columns}
+    \csprint{matnulle}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{coefficient}\marg{number of columns}
   \end{syntax}
   writes the null matrix with \meta{number of columns} columns ---by default---
   or a matrix containing with \meta{number of columns} columns and all
@@ -238,14 +300,14 @@
   The two first optional arguments have the same functionality as in the
   preceding macros.
 
-  \emph{matnulle} stands for ``\foreignlanguage{French}{matrice nulle}'' which means
+  \emph{matnulle} stands for \emph{\foreignlanguage{French}{matrice nulle}} which means
   ``null matrix''.
 \end{function}
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
-\(\matid{3}\)\qquad \(\matid[9]{3}\)
+$\matid{3}$\qquad $\matid[9]{3}$
 \par \medskip
-\(\matnulle{3}\)\qquad \(\matnulle[2]{3}\)
+$\matnulle{3}$\qquad $\matnulle[2]{3}$
 \end{VerbatimOut}
 \UnExemple{}
 
@@ -253,39 +315,42 @@
 \label{sec:keys}
 
 The package uses key-value options. There are four keys:
-\texttt{envir},
-\texttt{prefix},
-\texttt{typeord}
+\keyname{envir},
+\keyname{prefix},
+\keyname{typeord}
 and
-\texttt{argopt}.
+\keyname{argopt}.
 
 \begin{description}
-\item[\texttt{envir} (\textit{\texttt{string}})] the main and last part of the
+\item[\keyname{envir} (\textit{\texttt{string}})] the main and last part of the
   name of the environment used to print the matrix. Its initial value is
-  \texttt{matrix}.
+  \texttt{matrix}.\label{key-envir}
 
-\item[\texttt{prefix} (\textit{\texttt{string}})] a string which is prefixed to
+\item[\keyname{prefix} (\textit{\texttt{string}})] a string which is prefixed to
   \texttt{envir} to obtain the complete name of the environment. Its initial
   value is \texttt{p}. Therefore, by default, the environment used to print the
-  matrix is \texttt{bmatrix} as defined by \pkg{amsmath}.
+  matrix is \envir{pmatrix} as defined by \pkg{amsmath}.\label{key-prefix}
 
-\item[\texttt{typeord} (\textit{\texttt{string}})] a string which is the
+\item[\keyname{typeord} (\textit{\texttt{string}})] a string which is the
   ordinary ---i.~e. default--- value of the \meta{type} optional argument. The
-  initial value of the key is \texttt{C}.
+  initial value of the key is \TypeMat{C}.\label{key-typeord}
 
-\item[\texttt{argopt} (\textit{\texttt{token list}})] for French
+\item[\keyname{argopt} (\textit{\texttt{token list}})] for French
   \foreignlanguage{french}{\emph{argument optionnel}} (optional argument). That
-  key is initially void. See page~\pageref{sec:delarray} for usage.
+  key is initially void. See page~\pageref{sec:delarray} for usage.\label{key-argopt}
 \end{description}
 
 Moreover, an other key is available which is not an option of the package:
-\texttt{out-of-box} which is a metakey.
+\keyname{out-of-box} which is a metakey.
 
-With |\simplesmatricessetup{out-of-box}| we obtain the same effect as with
-|\simplesmatricessetup{prefix=p,|\BOP| envir=matrix,|%
-  \BOP| argopt=,|\BOP| typeord=C}|.
 
+ With
+\lstinline|\simplesmatricessetup{out-of-box}|
+ we obtain the same effect as with
+\lstinline|\simplesmatricessetup{prefix=p,|\BOP\lstinline| envir=matrix,|%
+  \BOP\lstinline| argopt=,|\BOP\lstinline| typeord=C}|.
 
+\newpage{}
 \section{Examples}
 \label{sec:examples}
 \subsection{Without any special package}
@@ -298,90 +363,98 @@
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \declarermatrice{A}{1, 2, 300, 400}
-\(\declarermatrice*{B}{a, b, c, d}\)
-\qquad \(\lamatrice{A}\) \par \bigskip
-\(\lamatrice(V){A}\)
-\qquad \(\lamatrice(b){B}\)
+$\declarermatrice*{B}{a, b, c, d}$
+\quad $\lamatrice{A}$ \par \bigskip
+$\lamatrice(V){A}$
+\quad $\lamatrice(b){B}$
 \end{VerbatimOut}
 \UnExemple{}
 
+On the first line of this example, the matrix~\texttt{A} is defined but not
+printed. Then, on the second line, the matrix~\texttt{B} is defined and
+printed. We can afterwards call the~\texttt{A} or \texttt{B}-matrix with
+\csprint{lamatrice}.
+
 \subsubsection{The ``\texttt{type}'' argument}
 \label{sec:matrix-type}
 
-The last but one --- optional --- argument of macros \cs{matrice} and
-\cs{declarermatrice} defaults to \texttt{O}. In that case the value of the key
-\texttt{typeord} is used to determine the \emph{type} of the matrix input,
+The last but one --- optional --- argument of macros \csprint{matrice},
+\csmute{declarermatrice} and \csprint{declarermatrice*}
+defaults to \TypeMat{O}. In that case the value of the key
+\keyname{typeord} is used to determine the \emph{type} of the matrix input,
 see~\pageref{sec:matrix-type-key}.
 
 Its value can be a number, in which case it is the number of columns, or a
-string ---presently a one letter string--- among: \texttt{C}, \texttt{D},
-\texttt{I}, \texttt{J}, \texttt{S}, \texttt{T} and \texttt{x}.
+string ---presently a one letter string--- among: \TypeMat{C}, \TypeMat{D},
+\TypeMat{I}, \TypeMat{J}, \TypeMat{S}, \TypeMat{T} and \TypeMat{x}.
 
 
 \medskip{}
 
- \texttt{C} means square matrix for French ``\texttt{C}arré'' means ``square''.
+ \TypeMat{C} means square matrix for French ``\texttt{C}arré'' means ``square''.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-\matrice{1, 2, 3, 4, 5, 6, 7, 8, 9}
-\qquad
-\matrice[C]{1, 2, 3, 4, 5, 6, 7, 8, 9}
+ \matrice{1, 2, 3, 4, 5, 6, 7, 8, 9}
+ \quad
+ \matrice[C]{1, 2, 3, 4, 5, 6, 7, 8, 9}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
- \texttt{D} means \textbf{diagonal} matrix.
+ \TypeMat{D} means \textbf{diagonal} matrix.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice{1, 2, 3, 4}\qquad
-  \matrice[D]{1, 2, 3, 4}
+ \matrice{1, 2, 3, 4}\quad
+ \matrice[D]{1, 2, 3, 4}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
-\texttt{I} means lower triangular matrix. French ``\texttt{I}nférieur'' means
-``lower''; \texttt{J} means lower triangular matrix with zeros on the diagonal.
+\TypeMat{I} means lower triangular matrix. French ``\texttt{I}nférieur'' means
+``lower''; \TypeMat{J} means lower triangular matrix with zeros on the diagonal.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[I]{1, 2, 3}\qquad
-  \matrice[J]{1, 2, 3}
+ \matrice[I]{1, 2, 3}\quad
+ \matrice[J]{1, 2, 3}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
-\texttt{S} means upper triangular matrix. French ``\texttt{S}upérieur'' means
-``upper''; \texttt{T} means upper triangular matrix with zeros on the diagonal.
+\TypeMat{S} means upper triangular matrix. French ``\texttt{S}upérieur'' means
+``upper''; \TypeMat{T} means upper triangular matrix with zeros on the diagonal.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[S]{1, 2, 3}\qquad
-  \matrice[T]{1, 2, 3}
+ \matrice[S]{1, 2, 3}\quad
+ \matrice[T]{1, 2, 3}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
-\texttt{x} means \texttt{xcas}. With that value, one can copy-paste from
+\TypeMat{x} means \texttt{xcas}\footnote{Free computer algebra system, see here:
+\url{https://www-fourier.univ-grenoble-alpes.fr/~parisse/giac.html}.}. With that value, one can copy-paste from
 \texttt{xcas} into the \LaTeX{} document.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[x]{[[7,1,3],[1,0,3],[5,1,2]]}
+ \matrice[x]{[[7,1,3],[1,0,3],[5,1,2]]}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
+\pagebreak[3]
 A number sets up the number of columns of the matrix.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[2]{1, 2, 3, 4, 5, 6}
-  \quad
-  \matrice[3]{1, 2, 3, 4, 5, 6}
+ \matrice[2]{1, 2, 3, 4, 5, 6}
+ \quad
+ \matrice[3]{1, 2, 3, 4, 5, 6}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
-\subsubsection{Using the ``\texttt{typeord}'' Key}
+\subsubsection{Using the ``\keyname{typeord}'' Key}
 \label{sec:matrix-type-key}
 
-In this document, the key \texttt{typeord} has the initial value of~\texttt{C}.
+In this document, the key \keyname{typeord} has the initial value of~\TypeMat{C}.
 
 
 \medskip{}
@@ -388,11 +461,11 @@
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \simplesmatricessetup{typeord=3}
-\(\matrice{1, 2, 3, 4, 5, 6}\)
+$\matrice{1, 2, 3, 4, 5, 6}$\quad
 \simplesmatricessetup{typeord=2}
-\(\matrice{1, 2, 3, 4, 5, 6}\)
+$\matrice{1, 2, 3, 4, 5, 6}$\quad
 \simplesmatricessetup{typeord=C}
-\(\matrice{1, 2, 3, 4}\)
+$\matrice{1, 2, 3, 4}$
 \end{VerbatimOut}
 \UnExemple{}
 
@@ -400,33 +473,42 @@
 one matrix it's more convenient to use the optional argument. However if one
 wants to write a lesson about upper triangular matrices\dots{}
 
-\subsubsection{Using the \cs{(La)MatriceInterieur} Macros}
+\subsubsection{Using the \csprint{(La)MatriceInterieur} Macros}
 \label{sec:matint}
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \declarermatrice{B}[4]{
-\hline ein, zwei, drei, vier,
-\hline unos, dos, tres, cuatro,
-\hline unu, du, tri, kvar}
-\declarermatrice{A}[3]{one, two, three,
-un, deux, trois, uno, due, tre}
+ \hline ein, zwei, drei, vier,
+ \hline unos, dos, tres, cuatro,
+ \hline unu, du, tri, kvar}%
+\declarermatrice{A}[3]{
+ one, two, three,
+ un, deux, trois,
+ uno, due, tre}%
 \begin{tabular}{*{3}{l}}
-\MatriceInterieur
+  \MatriceInterieur %*@\label{anonyme}@*)
 \end{tabular}
-\par \medskip
+\par \bigskip *** \par \bigskip
+\begin{tabular}{*{3}{l}}
+  \LaMatriceInterieur{A} %*@\label{parnom}@*)
+\end{tabular}
+\par \bigskip
 \begin{tabular}{|*{4}{l|}}
-\LaMatriceInterieur{B}\hline
+  \LaMatriceInterieur{B}\hline
 \end{tabular}
 \end{VerbatimOut}
 \UnExemple{}
 
+On lines~\ref{anonyme} and~\ref{parnom} we use the same \emph{internal} because
+the \texttt{A}-matrix is the last defined before line~\ref{anonyme}.
+
 \subsection{Changing the Look}
 \label{sec:changelook}
 
 We can load other packages which deal with matrices such as \pkg{mathtools},
 \pkg{delarray} or \pkg{nicematrix}. In that case we can change the look of our
-matrices thanks to the option-key \texttt{envir}, \texttt{prefix} and
-\texttt{argopt}.
+matrices thanks to the option-key \keyname{envir}, \keyname{prefix} and
+\keyname{argopt}.
 
 This document loads the three packages \pkg{mathtools}, \pkg{delarray} and
 \pkg{nicematrix} in order to give the following examples.
@@ -437,19 +519,18 @@
 \label{sec:mathtools}
 
 As already stated above there are two ways to use the option-keys: through
-\cs{simplesmatricesetup} or through the optional argument
-\darg{\string<}{clist of pairs of key-value}{\string>}. I show both.
+\csmute{simples}\BOP\ObjetPres{cmdmuette}{matrices}\BOP\ObjetPres{cmdmuette}{setup}
+or through the optional argument \darg{\string<}{clist of pairs of
+  key-value}{\string>}. I show both.
 
-
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \simplesmatricessetup{
   envir=matrix*, prefix=p, argopt=[r]}
-\(\matrice{1, 2, 30, 40}\) \qquad
+$\matrice{1, 2, 30, 40}$ \quad
 \simplesmatricessetup{out-of-box}
-\(\matrice{1, 2, 30, 40}\)
+$\matrice{1, 2, 30, 40}$
 \par \medskip
-\(\matrice(b)<envir=matrix*, argopt=[l]>
-    {1, 2, 30, 40}\)
+$\matrice(b)<envir=matrix*,argopt=[l]> {1, 2, 30, 40}$
 \end{VerbatimOut}
 \UnExemple{}
 
@@ -460,10 +541,10 @@
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \simplesmatricessetup{
   envir=array, prefix=,
-  argopt=[c][{l c r}\}}
-\(\matrice{1, 2, 30, 40}\) \qquad
-\(\matid()<envir=array,
-  argopt={[c][{@{}l c r@{}}\}}>{3}\)
+  argopt=[c][{l r}\}}
+$\matrice{1, 2, 30, 40}$ \quad
+$\matid()<envir=array,
+  argopt={[c][{@{}c c c@{}}\}}>{3}$
 \end{VerbatimOut}
 \UnExemple{}
 \simplesmatricessetup{out-of-box}
@@ -472,37 +553,43 @@
 \label{sec:nicematrix}
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
-\(\matrice<prefix=b, envir=NiceArray,
-argopt={{*{2}{c}|cc}}>{1, 2, 3, 4, 5, 6,
-7, 8, 9, 10, 11, 12, 13, 14, 15, 16}\)
+$\matrice<prefix=b, envir=NiceArray,
+argopt={ {cc||rl} }>{1, 2, 3, 4, 5, 6,
+  7, 8, 9, 10, 11, 12, 13, 14, 15, 16}$
 \end{VerbatimOut}
- %| emacs
 \UnExemple{}
 
 In that case we need to double the curly braces around the column descriptors of
-the \texttt{array} environment because the first level is stripped off by
+the \envir{array} environment because the first level is stripped off by
 \LaTeX{} when valuating the key.
 
+\medskip{}
+
 In the following example, for the second matrix, it is not necessary to surround
-the value of \texttt{argopt} with an extra pair of curly braces ---even if it is
-not dangerous--- for the presence of \texttt{[margin]} prevents \LaTeX{} to
-strip off the curly braces.
+the value of \keyname{argopt} with an extra pair of curly braces (see
+line~\ref{sansaccol}) ---even if it is not dangerous (see
+line~\ref{avecaccol})--- for the presence of \texttt{[margin]} prevents \LaTeX{}
+to strip off the curly braces.
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
-\(\matrice<prefix=b, envir=NiceArray,
+$\matrice<prefix=b, envir=NiceArray,
 argopt={{l c r}}>{1, 2, 3, 40, 50, 60,
-  700, 800, 900}\)
+  700, 800, 900}$
 \par \medskip
-\(\matrice<prefix=b, envir=NiceArray,
-argopt={l c r}[margin]>{1, 2, 3,
-  40, 50, 60, 700, 800, 900}\)
+$\matrice<prefix=b, envir=NiceArray,
+argopt={l c r}[margin]>{1, 2, 3, %*@\label{sansaccol}@*)
+  40, 50, 60, 700, 800, 900}$
 \par \medskip
-\(\matrice<prefix=b, envir=NiceArray,
-argopt={{l c r}[margin]}>{1, 2, 3,
-  40, 50, 60, 700, 800, 900}\)
+$\matrice<prefix=b, envir=NiceArray,
+argopt={{l c r}[margin]}>{1, 2, 3, %*@\label{avecaccol}@*)
+  40, 50, 60, 700, 800, 900}$
 \end{VerbatimOut}
 \UnExemple{}
 
+ \section{Thanks}
+Many thanks to Denis \textsc{Bitouzé} for his remarks about the initial state of
+this documentation. Thanks to him, some colours have appeared on these pages.
+
 \vspace{\stretch{2}}
 
 \noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth}

Modified: trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-fra.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-fra.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-fra.tex	2022-07-03 20:58:43 UTC (rev 63801)
+++ trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices-fra.tex	2022-07-03 20:58:58 UTC (rev 63802)
@@ -22,7 +22,7 @@
 %%    http://www.latex-project.org/lppl.txt
 %%
 \RequirePackage{expl3}[2020/01/12]
-\GetIdInfo$Id: simples-matrices.dtx 1.0 2022-06-19 TdS $
+\GetIdInfo$Id: simples-matrices.dtx 1.0.1 2022-07-03 TdS $
   {}
 \documentclass[full]{l3doc}
 \usepackage[utf8]{inputenc}
@@ -34,6 +34,7 @@
 \usepackage{xspace}
 \usepackage{csquotes}
 \usepackage{fancyvrb,fancyvrb-ex}
+\usepackage{listings}
 \usepackage{mathtools}
 \usepackage{delarray}
 \usepackage{nicematrix}
@@ -40,17 +41,59 @@
 
 \providecommand\darg[3]{ \texttt{#1} \meta{#2} \texttt{#3} }
 
+\colorlet{keyword20}{cyan} %!75!black
+\colorlet{keyword30}{teal}
+\colorlet{keycolor}{green!50!black}
+\colorlet{dollarcolor}{violet}
+\colorlet{cmdmuette}{blue}
+\colorlet{cmdcausante}{red}
+
+\lstset{frame=single,%
+  language=[LaTeX]{TeX},%
+  showspaces=false,%
+  breaklines=true,%
+  breakatwhitespace=true,%
+  basicstyle=\ttfamily\bfseries,%
+  alsoletter={*-$},%
+  texcsstyle=*[2]\color{cmdcausante},%
+  texcs=[2]{matrice,declarermatrice*,lamatrice,matid,matnulle,MatriceInterieur,LaMatriceInterieur},%
+  texcsstyle=*[3]\color{cmdmuette},%
+  texcs=[3]{declarermatrice,simplesmatricessetup},%
+  keywordstyle=[20]\color{keyword20},%
+  keywordstyle=[30]\color{keyword30},%
+  keywordstyle=[40]\color{keycolor},%
+  keywordstyle=[50]\color{dollarcolor},%
+  keywords=[20]{tabular,array,matrix,matrix*,NiceArray},%
+  keywords=[30]{x,S,T,I,J,C,O,D},%
+  keywords=[40]{out-of-box,prefix,envir,typeord,argopt},%
+  keywords=[50]{$},%
+  escapeinside={\%*@}{@*)}%
+}
+
+\newcommand{\MacroPres}[2]{\textcolor{#1}{\textbf{\cs{#2}}}}
+\newcommand{\csmute}{\MacroPres{cmdmuette}}
+\newcommand{\csprint}{\MacroPres{cmdcausante}}
+\newcommand{\ObjetPres}[2]{\textcolor{#1}{\textbf{\texttt{#2}}}}
+\newcommand{\keyname}{\ObjetPres{keycolor}}
+\newcommand{\envir}{\ObjetPres{keyword20}}
+\newcommand{\TypeMat}{\ObjetPres{keyword30}}
+
 \newcommand{\UnExemple}{%
   \par \medskip \par \noindent
-  \begin{minipage}[c]{0.58\linewidth}
-    \VerbatimInput[gobble=0, frame=single]{code00.tex}
+  \begin{minipage}[c]{0.66\linewidth}
+    \lstinputlisting[gobble=0, frame=single, numbers=left, numberstyle={\small}]{code00.tex}
   \end{minipage}
   \hspace{\stretch{1}}
-  \begin{minipage}[c]{0.38\linewidth}
+  \begin{minipage}[c]{0.32\linewidth}
+    \small
     \input{code00}
   \end{minipage}
-  \par \medskip}
+  \par \medbreak}
 
+\newcommand*{\vliste}{liste\xspace}
+
+ \newcommand{\VoirEx}[1]{(voir exemple en page~\pageref{#1})}
+
 \begin{document}
 \title{Guide de l'utilisateur de \pkg{simples-matrices}\thanks{Ce fichier décrit
     la version~\ExplFileVersion, dernière révision~\ExplFileDate.\\
@@ -104,78 +147,94 @@
 
 \textbf{Attention}: vous devez fournir l'environnement mathématique adéquat pour
 utiliser les macros qui écrivent les matrices. Seule la version non-étoilée de
-\cs{declarermatrice} peut être utilisée en dehors du mode mathématique.
+\csmute{declarermatrice} peut être utilisée en dehors du mode mathématique.
 
 \section{Les macros}
 \label{sec:macros}
 
-L'extension \pkg{simples-matrices} offre six macros de document.
+L'extension \pkg{simples-matrices} offre neuf macros de document.
 
 
+Dans le texte principal (syntaxes et exemples), le nom d'une macro de cette
+extension est écrit en rouge si la macro produit du texte dans le document,
+autrement il est écrit en bleu.
+
 \subsection{Macros principales}
 \label{sec:principales}
 
-Les cinq macros principales de document sont les suivantes:
-
+Les six macros principales sont les suivantes:
 \begin{function}{\matrice}
   \begin{syntax}
-    \cs{matrice}\parg{prefixe}\darg{\string<}{vliste de paires de clé-valeur}{\string>}\oarg{type}\marg{vliste des coefficients}
+    \csprint{matrice}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\oarg{type}\marg{\vliste des coefficients}
   \end{syntax}
-  où \meta{prefixe} a la même fonction que la clé \texttt{prefix}; \meta{vliste
-    de paires de clé-valeur}, optionnel et vide par défaut, peut être utiliser
-  pour redéfinit l'environnement de type \texttt{matrix};
+  où \meta{prefixe} a la même fonction que la clé \keyname{prefix} (voir page~\pageref{key-prefix});
+  \meta{\vliste de paires de clé-valeur} --- optionnel et vide par défaut ---
+  peut être utilisé pour redéfinir l'environnement de type \envir{matrix};
   \meta{type} est une chaine de caractère dont l'utilisation sera expliquée
-  ci-dessous --- voir~\ref{sec:matrix-type} --- et \meta{vliste des
-    coefficients} est la vliste des coefficients de la matrice donnés ligne par
+  ci-dessous --- voir~\ref{sec:matrix-type} --- et \meta{\vliste des
+    coefficients} est la \vliste des coefficients de la matrice donnés ligne par
   ligne.
+\end{function}
 
-  Avec \verb+\(\matrice{1, 2, 3, 4}\)+ on obtient \(\matrice{1, 2, 3, 4}\).
+ Avec
+\lstinline+$\matrice{1, 2, 3, 4}$+
+ on obtient
+\(\matrice{1, 2, 3, 4}\).
 
-  Avec \verb+\(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\)+
-  on obtient \(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\).
+ Avec
+\lstinline+$\matrice(b)[3]{1, 2, 3, 4, 5, 6}$+
+ on obtient
+\(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\).
 
-\end{function}
 
 \begin{function}{\declarermatrice}
   \begin{syntax}
-    \cs{declarermatrice*}\parg{prefix}\darg{\string<}{vliste de paires de clé-valeur}{\string>}\marg{nom}\oarg{type}\marg{vliste des coefficients}
+    \csmute{declarermatrice}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\marg{nom}\oarg{type}\marg{\vliste des coefficients}
   \end{syntax}
+\end{function}
+
+\begin{function}{\declarermatrice*}
+  \begin{syntax}
+    \csprint{declarermatrice*}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\marg{nom}\oarg{type}\marg{\vliste des coefficients}
+  \end{syntax}
   où \meta{nom} est le nom de la matrice pour utilisation future. Les autres
   arguments, optionnels ou obligatoires, ont la même signification que
   ci-dessus. La version étoilée définit et écrit la matrice. La version
   non-étoilée ne fait que la définir.
 
-  La définition est global mais on peut redéfinir une matrice nommée existante
+  La définition est globale mais on peut redéfinir une matrice nommée existante
   avec la même fonction. \textbf{Aucun contrôle} n'est exercé pour s'assurer que
   l'on n'est pas en train de redéfinir une matrice nommée précédemment définie.
+
+  Avec la macro \csmute{declarermatrice}, les deux premiers arguments optionnels
+  n'ont aucun effet car la définition de la matrice n'en tient pas compte \VoirEx{sec:declar}.
 \end{function}
 
 \begin{function}{\lamatrice}
   \begin{syntax}
-    \cs{lamatrice}\parg{prefix}\darg{\string<}{vliste de paires de clé-valeur}{\string>}\marg{matrix name}
+    \csprint{lamatrice}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\marg{nom}
   \end{syntax}
   écrit la matrice nommée de nom \meta{nom}.
-  Les deux arguments optionnels ont la même signification que ci-dessus.
+  Les deux arguments optionnels ont la même signification que ci-dessus \VoirEx{sec:declar}.
 \end{function}
 
 \begin{function}{\MatriceInterieur}
   \begin{syntax}
-    \cs{MatriceInterieur}
+    \csprint{MatriceInterieur}
   \end{syntax}
-  donne l'intérieur de la dernière matrice écrite --- via \cs{matrice} --- ou
-  définie --- via \cs{declarermatrice}. On peut l'utiliser dans un environnement
-  du genre \env{array}.
+  donne l'intérieur de la dernière matrice écrite --- via \csprint{matrice} ou
+  \csprint{declarermatrice*} --- ou définie --- via \csmute{declarermatrice}. On
+  peut l'utiliser dans un environnement du genre \envir{array} \VoirEx{sec:matint}.
 \end{function}
 
 \begin{function}{\LaMatriceInterieur}
   \begin{syntax}
-    \cs{LaMatriceInterieur}\marg{nom}
+    \csprint{LaMatriceInterieur}\marg{nom}
   \end{syntax}
   donne l'intérieur de la matrice de nom \meta{nom}. On peut l'utiliser dans un
-  environnement du genre \env{array}.
+  environnement du genre \envir{array} \VoirEx{sec:matint}.
 \end{function}
 
-Voir les exemples en page~\pageref{sec:exemples}.
 
 \subsection{Valuer les clés}
 \label{sec:setting-keys}
@@ -183,9 +242,9 @@
 On peut changer les valeurs des clés de \pkg{simples-matrices} avec
 \begin{function}{\simplesmatricessetup}
   \begin{syntax}
-    \cs{simplesmatricessetup}\marg{vliste de paires de clé-valeur}
+    \csmute{simplesmatricessetup}\marg{\vliste de paires de clé-valeur}
   \end{syntax}
-  où \meta{vliste de paires de clé-valeur} est l'habituelle vliste de paires de
+  où \meta{\vliste de paires de clé-valeur} est l'habituelle \vliste de paires de
   clé-valeur valuant une ou plusieurs des trois clés de cette extension
   telles que présentées ci-dessous en page~\pageref{sec:clefs}.
 
@@ -193,8 +252,8 @@
   consiste en le nom de l'extension --- réduite à ces lettres \TeX{}iennes ---
   suivi de l'anglais \emph{setup}. Je demande pardon pour cette étrange mixture
   linguistique.
+\end{function}
 
-\end{function}
 \subsection{Raccourcis}
 \label{sec:shortcuts}
 
@@ -202,7 +261,7 @@
 
 \begin{function}{\matid}
   \begin{syntax}
-    \cs{matid}\parg{prefix}\darg{\string<}{vliste de paires de clé-valeur}{\string>}\oarg{coefficient}\marg{nombre de colonnes}
+    \csprint{matid}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\oarg{coefficient}\marg{nombre de colonnes}
   \end{syntax}
   qui imprime la matrice identité --- par défaut --- avec
   \meta{nombre de colonnes} colonnes.
@@ -215,7 +274,7 @@
 
 \begin{function}{\matnulle}
   \begin{syntax}
-    \cs{matnulle}\parg{prefix}\darg{\string<}{vliste de paires de clé-valeur}{\string>}\oarg{coefficient}\marg{nombre de colonnes}
+    \csprint{matnulle}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\oarg{coefficient}\marg{nombre de colonnes}
   \end{syntax}
   imprime la matrice nulle \meta{nombre de colonnes} colonnes --- par défaut ---
   ou une matrice de \meta{nombre de colonnes} colonnes dont tous les
@@ -226,9 +285,9 @@
 \end{function}
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
-\(\matid{3}\)\qquad \(\matid[9]{3}\)
+$\matid{3}$\qquad $\matid[9]{3}$
 \par \medskip
-\(\matnulle{3}\)\qquad \(\matnulle[2]{3}\)
+$\matnulle{3}$\qquad $\matnulle[2]{3}$
 \end{VerbatimOut}
 \UnExemple{}
 
@@ -237,33 +296,36 @@
 \label{sec:clefs}
 
 L'extension utilise le système de clefs-valeurs pour ses options. Elle possède
-quatre clés: \texttt{envir}, \texttt{prefix}, \texttt{typeord} et \texttt{argopt}.
+quatre clés: \keyname{envir}, \keyname{prefix}, \keyname{typeord} et \keyname{argopt}.
 
 \begin{description}
-\item[\texttt{envir} (\textit{\texttt{chaine de caractères}})] la partie finale
-  du nom de l'environnement utilisé pour imprimer la matrice. Sa valeur initiale
-  est \texttt{matrix}.
+\item[\keyname{envir} (\textit{\texttt{chaine de caractères}})] est la partie
+  finale du nom de l'environnement utilisé pour imprimer la matrice. Sa valeur
+  initiale est \texttt{matrix}.\label{key-envir}
 
-\item[\texttt{prefix} (\textit{\texttt{chaine de caractères}})], caractères
-  placés devant \texttt{envir} pour fournir le nom complet de l'environnement
-  utilisé pour imprimer la matrice. Sa valeur initiale est \texttt{p}. Cela fait
-  que l'environnement par défaut est \texttt{pmatrix} fourni par \pkg{amsmath}.
+\item[\keyname{prefix} (\textit{\texttt{chaine de caractères}})] contient les
+  caractères placés devant \texttt{envir} pour fournir le nom complet de
+  l'environnement utilisé pour imprimer la matrice. Sa valeur initiale est
+  \texttt{p}. Cela fait que l'environnement par défaut est \envir{pmatrix}
+  fourni par \pkg{amsmath}.\label{key-prefix}
 
-\item[\texttt{typeord} (\textit{\texttt{chaine de caractères}})] définit la
+\item[\keyname{typeord} (\textit{\texttt{chaine de caractères}})] définit la
   valeur ordinaire --- c.-à-d. par défaut --- de l'argument optionnel
-  \meta{type}. La valeur initiale de la clé est \texttt{C}.
+  \meta{type}. La valeur initiale de la clé est \TypeMat{C}.\label{key-typeord}
 
-\item[\texttt{argopt} (\textit{\texttt{liste de lexèmes}}, anglais:
-  \foreignlanguage{english}{token list})]. Cette clé est vide par défaut. Voir
-  page~\pageref{sec:delarray} pour son utilisation.
+\item[\keyname{argopt} (\textit{\texttt{liste de lexèmes}}, anglais:
+  \foreignlanguage{english}{token list})] est vide par défaut. Voir
+  page~\pageref{sec:delarray} pour son utilisation.\label{key-argopt}
 \end{description}
 
 De plus, une clé supplémentaire existe qui est une métaclé:
-\texttt{out-of-box}.
+\keyname{out-of-box}.
 
-Avec |\simplesmatricessetup{out-of-box}| on obtient le même effet qu'avec
-|\simplesmatricessetup{prefix=p,|\BOP| envir=matrix,|%
-  \BOP| argopt=,|\BOP| typeord=C}|.
+ Avec
+\lstinline|\simplesmatricessetup{out-of-box}|
+ on obtient le même effet qu'avec
+\lstinline|\simplesmatricessetup{prefix=p,|\BOP\lstinline| envir=matrix,|%
+  \BOP\lstinline| argopt=,|\BOP\lstinline| typeord=C}|.
 
 \section{Exemples}
 \label{sec:exemples}
@@ -277,102 +339,111 @@
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \declarermatrice{A}{1, 2, 300, 400}
-\(\declarermatrice*{B}{a, b, c, d}\)
-\qquad \(\lamatrice{A}\) \par \bigskip
-\(\lamatrice(V){A}\)
-\qquad \(\lamatrice(b){B}\)
+$\declarermatrice*{B}{a, b, c, d}$
+\quad $\lamatrice{A}$ \par \bigskip
+$\lamatrice(V){A}$
+\quad $\lamatrice(b){B}$
 \end{VerbatimOut}
 \UnExemple{}
 
+Sur la première ligne de l'exemple, la matrice~\texttt{A} est définie mais pas
+écrite. Ensuite, sur la seconde ligne, la matrice~\texttt{B} est définie et
+écrite. Nous pouvons ensuite appeler les matrices~\texttt{A} ou~\texttt{B} à
+l'aide de \csprint{lamatrice}.
 
+
 \subsubsection{L'argument \og \texttt{type}\fg}
 \label{sec:matrix-type}
 
-L'avant dernier argument --- optionnel --- des macros \cs{matrice} et
-\cs{declarermatrice} vaut par défaut \texttt{O}. Dans ce cas, c'est la valeur de
-la clé \texttt{typeord} qui est utilisée pour déterminer le \emph{type} des
-données de la matrice, voir~\pageref{sec:matrix-type-key}.
+L'avant dernier argument --- optionnel --- des macros \csprint{matrice},
+\csmute{declarermatrice} et \csprint{declarermatrice*} vaut par défaut
+\TypeMat{O}. Dans ce cas, c'est la valeur de la clé \keyname{typeord} qui est
+utilisée pour déterminer le \emph{type} des données de la matrice,
+voir~\pageref{sec:matrix-type-key}.
 
 Sinon, il peut prendre une valeur numérique qui est le nombre de colonnes de la
 matrice ou encore une chaine de caractères --- à ce jour, une seule lettre ---
-parmi: \texttt{C}, \texttt{D}, \texttt{I}, \texttt{J}, \texttt{S}, \texttt{T} et
-\texttt{x}.
+parmi: \TypeMat{C}, \TypeMat{D}, \TypeMat{I}, \TypeMat{J}, \TypeMat{S}, \TypeMat{T} et
+\TypeMat{x}.
 
 \medskip{}
 
- \texttt{C} signifie matrice \textbf{carrée}.
+ \TypeMat{C} signifie matrice \textbf{carrée}.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-\matrice{1, 2, 3, 4, 5, 6, 7, 8, 9}
-\qquad
-\matrice[C]{1, 2, 3, 4, 5, 6, 7, 8, 9}
+ \matrice{1, 2, 3, 4, 5, 6, 7, 8, 9}
+ \quad
+ \matrice[C]{1, 2, 3, 4, 5, 6, 7, 8, 9}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
- \texttt{D} signifie matrice \textbf{diagonale}.
+ \TypeMat{D} signifie matrice \textbf{diagonale}.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice{1, 2, 3, 4}\qquad
-  \matrice[D]{1, 2, 3, 4}
+ \matrice{1, 2, 3, 4}\quad
+ \matrice[D]{1, 2, 3, 4}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
-\texttt{I} signifie matrice triangulaire \textbf{inférieure}; \texttt{J}
+\TypeMat{I} signifie matrice triangulaire \textbf{inférieure}; \TypeMat{J}
 signifie matrice triangulaire inférieure avec des zéros sur la diagonale.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[I]{1, 2, 3}\qquad
-  \matrice[J]{1, 2, 3}
+ \matrice[I]{1, 2, 3}\quad
+ \matrice[J]{1, 2, 3}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
-\texttt{S} signifie matrice triangulaire \textbf{supérieure}; \texttt{T}
+\TypeMat{S} signifie matrice triangulaire \textbf{supérieure}; \TypeMat{T}
 signifie matrice triangulaire supérieure avec des zéros sur la diagonale.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[S]{1, 2, 3}\qquad
-  \matrice[T]{1, 2, 3}
+ \matrice[S]{1, 2, 3}\quad
+ \matrice[T]{1, 2, 3}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
-\texttt{x} signifie \texttt{xcas}. Avec cette valeur, on peut copier-coller de
-\texttt{xcas} dans le document \LaTeX{}.
+\TypeMat{x} signifie \texttt{xcas}\footnote{Système de calcul formel libre
+  disponible ici:
+  \url{https://www-fourier.univ-grenoble-alpes.fr/~parisse/giac_fr.html}}. Avec
+cette valeur, on peut copier-coller de \texttt{xcas} dans le document \LaTeX{}.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[x]{[[7,1,3],[1,0,3],[5,1,2]]}
+ \matrice[x]{[[7,1,3],[1,0,3],[5,1,2]]}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
+\pagebreak[3]
 Un nombre donne le nombre de colonnes de la matrice.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[2]{1, 2, 3, 4, 5, 6}
-  \quad
-  \matrice[3]{1, 2, 3, 4, 5, 6}
+ \matrice[2]{1, 2, 3, 4, 5, 6}
+ \quad
+ \matrice[3]{1, 2, 3, 4, 5, 6}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
 
-\subsubsection{Utilisation de la clé \og \texttt{typeord}\fg}
+\subsubsection{Utilisation de la clé \og \keyname{typeord}\fg}
 \label{sec:matrix-type-key}
 
-Dans ce document, la clé \texttt{typeord} a comme valeur initiale~\texttt{C}.
+Dans ce document, la clé \keyname{typeord} a comme valeur initiale~\TypeMat{C}.
 
 \medskip{}
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \simplesmatricessetup{typeord=3}
-\(\matrice{1, 2, 3, 4, 5, 6}\)
+$\matrice{1, 2, 3, 4, 5, 6}$\quad
 \simplesmatricessetup{typeord=2}
-\(\matrice{1, 2, 3, 4, 5, 6}\)
+$\matrice{1, 2, 3, 4, 5, 6}$\quad
 \simplesmatricessetup{typeord=C}
-\(\matrice{1, 2, 3, 4}\)
+$\matrice{1, 2, 3, 4}$
 \end{VerbatimOut}
 \UnExemple{}
 
@@ -381,34 +452,44 @@
 utiliser l'argument optionnel. Cependant si on veut rédiger un cours sur les
 matrices triangulaires supérieures\dots{}
 
-\subsubsection{Utilisation des macros \cs{(La)MatriceInterieur}}
+\subsubsection{Utilisation des macros \csprint{(La)MatriceInterieur}}
 \label{sec:matint}
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \declarermatrice{B}[4]{
-\hline ein, zwei, drei, vier,
-\hline unos, dos, tres, cuatro,
-\hline unu, du, tri, kvar}
-\declarermatrice{A}[3]{one, two, three,
-un, deux, trois, uno, due, tre}
+ \hline ein, zwei, drei, vier,
+ \hline unos, dos, tres, cuatro,
+ \hline unu, du, tri, kvar}%
+\declarermatrice{A}[3]{
+ one, two, three,
+ un, deux, trois,
+ uno, due, tre}%
 \begin{tabular}{*{3}{l}}
-\MatriceInterieur
+  \MatriceInterieur %*@\label{anonyme}@*)
 \end{tabular}
-\par \medskip
+\par \bigskip *** \par \bigskip
+\begin{tabular}{*{3}{l}}
+  \LaMatriceInterieur{A} %*@\label{parnom}@*)
+\end{tabular}
+\par \bigskip
 \begin{tabular}{|*{4}{l|}}
-\LaMatriceInterieur{B}\hline
+  \LaMatriceInterieur{B}\hline
 \end{tabular}
 \end{VerbatimOut}
 \UnExemple{}
 
+En lignes~\ref{anonyme} et~\ref{parnom}, nous accédons aux mêmes
+\emph{entrailles} car la matrice~\texttt{A} est la dernière définie avant la
+ligne~\ref{anonyme}.
 
+
 \subsection{Changer l'aspect}
 \label{sec:aspect}
 
 On peut charger d'autres extensions qui permettent de présenter des matrices
 comme \pkg{mathtools}, \pkg{delarray} ou \pkg{nicematrix}. Dans ce cas on peut
-changer l'aspect de nos matrices grace aux clés d'option \texttt{envir},
-\texttt{prefix} et \texttt{argopt}.
+changer l'aspect de nos matrices grace aux clés d'option \keyname{envir},
+\keyname{prefix} et \keyname{argopt}.
 
 Ce document charge les trois extensions \pkg{mathtools}, \pkg{delarray} et
 \pkg{nicematrix} pour présenter les exemples suivants.
@@ -418,19 +499,17 @@
 \label{sec:mathtools}
 
 Comme déjà signalé, il y a deux façons d'utiliser les clés d'option: à l'aide de
-\cs{simplesmatricesetup} ou en utilisant l'argument optionnel
-\darg{\string<}{vliste de paires de clé-valeur}{\string>}.  Je montre les deux.
+\csmute{simplesmatricessetup} ou en utilisant l'argument optionnel
+\darg{\string<}{\vliste de paires de clé-valeur}{\string>}.  Je montre les deux.
 
-
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \simplesmatricessetup{
   envir=matrix*, prefix=p, argopt=[r]}
-\(\matrice{1, 2, 30, 40}\) \qquad
+$\matrice{1, 2, 30, 40}$ \quad
 \simplesmatricessetup{out-of-box}
-\(\matrice{1, 2, 30, 40}\)
+$\matrice{1, 2, 30, 40}$
 \par \medskip
-\(\matrice(b)<envir=matrix*, argopt=[l]>
-    {1, 2, 30, 40}\)
+$\matrice(b)<envir=matrix*,argopt=[l]> {1, 2, 30, 40}$
 \end{VerbatimOut}
 \UnExemple{}
 
@@ -441,10 +520,10 @@
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \simplesmatricessetup{
   envir=array, prefix=,
-  argopt=[c][{l c r}\}}
-\(\matrice{1, 2, 30, 40}\) \qquad
-\(\matid()<envir=array,
-  argopt={[c][{@{}l c r@{}}\}}>{3}\)
+  argopt=[c][{l r}\}}
+$\matrice{1, 2, 30, 40}$ \quad
+$\matid()<envir=array,
+  argopt={[c][{@{}c c c@{}}\}}>{3}$
 \end{VerbatimOut}
 \UnExemple{}
 \simplesmatricessetup{out-of-box}
@@ -453,37 +532,44 @@
 \label{sec:nicematrix}
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
-\(\matrice<prefix=b, envir=NiceArray,
-argopt={{*{2}{c}|cc}}>{1, 2, 3, 4, 5, 6,
-7, 8, 9, 10, 11, 12, 13, 14, 15, 16}\)
+$\matrice<prefix=b, envir=NiceArray,
+argopt={ {cc||rl} }>{1, 2, 3, 4, 5, 6,
+  7, 8, 9, 10, 11, 12, 13, 14, 15, 16}$
 \end{VerbatimOut}
- %| emacs
 \UnExemple{}
 
 Dans ce cas il faut doubler les accolades entourant les descripteurs de colonnes
-de l'environnement \texttt{array} car \LaTeX{} retire un niveau d'accolades en
+de l'environnement \envir{array} car \LaTeX{} retire un niveau d'accolades en
 valuant la clé.
 
+\medskip{}
+
 Dans l'exemple suivant, pour la deuxième matrice, il n'est pas nécessaire
-d'entourer la valeur de \texttt{argopt} d'une paire d'accolades --- même si ça
-n'est pas dangereux --- car la présence de \texttt{[margin]} empêche \LaTeX{} de
-supprimer une paire d'accolades.
+d'entourer la valeur de \keyname{argopt} d'une paire d'accolades (voir
+ligne~\ref{sansaccol}) --- même si ça n'est pas dangereux (voir
+ligne~\ref{avecaccol}) --- car la présence de \texttt{[margin]} empêche \LaTeX{}
+de supprimer une paire d'accolades.
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
-\(\matrice<prefix=b, envir=NiceArray,
+$\matrice<prefix=b, envir=NiceArray,
 argopt={{l c r}}>{1, 2, 3, 40, 50, 60,
-  700, 800, 900}\)
+  700, 800, 900}$
 \par \medskip
-\(\matrice<prefix=b, envir=NiceArray,
-argopt={l c r}[margin]>{1, 2, 3,
-  40, 50, 60, 700, 800, 900}\)
+$\matrice<prefix=b, envir=NiceArray,
+argopt={l c r}[margin]>{1, 2, 3, %*@\label{sansaccol}@*)
+  40, 50, 60, 700, 800, 900}$
 \par \medskip
-\(\matrice<prefix=b, envir=NiceArray,
-argopt={{l c r}[margin]}>{1, 2, 3,
-  40, 50, 60, 700, 800, 900}\)
+$\matrice<prefix=b, envir=NiceArray,
+argopt={{l c r}[margin]}>{1, 2, 3, %*@\label{avecaccol}@*)
+  40, 50, 60, 700, 800, 900}$
 \end{VerbatimOut}
 \UnExemple{}
 
+ \section{Remerciements}
+Mille mercis à Denis \textsc{Bitouzé} pour ses remarques à propos de l'état
+initial de cette documentation. C'est grâce à lui que quelques couleurs sont
+apparues sur ces pages.
+
 \vspace{\stretch{2}}
 
 \noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth}

Modified: trunk/Master/texmf-dist/doc/latex/simples-matrices/simples-matrices.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/simples-matrices/simples-matrices.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/simples-matrices/simples-matrices.dtx	2022-07-03 20:58:43 UTC (rev 63801)
+++ trunk/Master/texmf-dist/source/latex/simples-matrices/simples-matrices.dtx	2022-07-03 20:58:58 UTC (rev 63802)
@@ -13,7 +13,7 @@
 %
 %<*driver|package|doc>
 \RequirePackage{expl3}[2020/01/12]
-\GetIdInfo$Id: simples-matrices.dtx 1.0 2022-06-19 TdS $
+\GetIdInfo$Id: simples-matrices.dtx 1.0.1 2022-07-03 TdS $
   {}
 %</driver|package|doc>
 %<*driver>
@@ -26,7 +26,7 @@
 \usepackage{xspace}
 \usepackage{csquotes}
 
-\providecommand\darg[3]{ \texttt{#1} \meta{#2} \texttt{#3} }
+\providecommand\darg[3]{\texttt{#1}\meta{#2}\texttt{#3}}
 
 \begin{document}
   \DocInput{\jobname.dtx}
@@ -52,8 +52,8 @@
 %
 % \maketitle
 % 
-% \changes{v1.0}{2022/06/08}{First public
-% version.\foreignlanguage{french}{\emph{Première version publique.}}}
+% \changes{v1.0}{2022/06/08}{First public version.\foreignlanguage{french}{\emph{Première version publique.}}}
+% \changes{v1.0.1}{2022/07/03}{Some improvements in the documentation.\foreignlanguage{french}{\emph{Quelques améliorations dans la documentation.}}} 
 %
 % \thispagestyle{empty}
 % 
@@ -156,6 +156,7 @@
 \usepackage{xspace}
 \usepackage{csquotes}
 \usepackage{fancyvrb,fancyvrb-ex}
+\usepackage{listings}
 \usepackage{mathtools}
 \usepackage{delarray}
 \usepackage{nicematrix}
@@ -162,17 +163,63 @@
 
 \providecommand\darg[3]{ \texttt{#1} \meta{#2} \texttt{#3} }
 
+% \colorlet{option}{olive!75!black}
+% Couleur des mots-clés de niveau 1
+\colorlet{keyword20}{cyan} %!75!black
+% Couleur des mots-clés de niveau 2
+\colorlet{keyword30}{teal}
+\colorlet{keycolor}{green!50!black}
+\colorlet{dollarcolor}{violet}
+\colorlet{cmdmuette}{blue}
+\colorlet{cmdcausante}{red}
+
+\lstset{frame=single,%
+  language=[LaTeX]{TeX},%
+  showspaces=false,%
+  breaklines=true,%
+  breakatwhitespace=true,% 
+  basicstyle=\ttfamily\bfseries,%
+  alsoletter={*-$},% 
+  texcsstyle=*[2]\color{cmdcausante},%
+  texcs=[2]{matrice,declarermatrice*,lamatrice,matid,matnulle,MatriceInterieur,LaMatriceInterieur},% 
+  texcsstyle=*[3]\color{cmdmuette},%
+  texcs=[3]{declarermatrice,simplesmatricessetup},% 
+  keywordstyle=[20]\color{keyword20},%
+  keywordstyle=[30]\color{keyword30},%
+  keywordstyle=[40]\color{keycolor},%
+  keywordstyle=[50]\color{dollarcolor},%
+  keywords=[20]{tabular,array,matrix,matrix*,NiceArray},%
+  keywords=[30]{x,S,T,I,J,C,O,D},%
+  keywords=[40]{out-of-box,prefix,envir,typeord,argopt},%
+  keywords=[50]{$},%
+  escapeinside={\%*@}{@*)}%
+}
+
+\newcommand{\MacroPres}[2]{\textcolor{#1}{\textbf{\cs{#2}}}}
+\newcommand{\csmute}{\MacroPres{cmdmuette}}
+\newcommand{\csprint}{\MacroPres{cmdcausante}}
+\newcommand{\ObjetPres}[2]{\textcolor{#1}{\textbf{\texttt{#2}}}}
+\newcommand{\keyname}{\ObjetPres{keycolor}}
+\newcommand{\envir}{\ObjetPres{keyword20}}
+\newcommand{\TypeMat}{\ObjetPres{keyword30}}
+
 \newcommand{\UnExemple}{%
   \par \medskip \par \noindent
-  \begin{minipage}[c]{0.58\linewidth}
-    \VerbatimInput[gobble=0, frame=single]{code00.tex}
+  \begin{minipage}[c]{0.66\linewidth}
+    \lstinputlisting[gobble=0, frame=single, numbers=left, numberstyle={\small}]{code00.tex}
   \end{minipage}
   \hspace{\stretch{1}}
-  \begin{minipage}[c]{0.38\linewidth}
+  \begin{minipage}[c]{0.32\linewidth}
+    \small 
     \input{code00}
   \end{minipage}
-  \par \medskip}
+  \par \medbreak}
 
+\newcommand*{\vliste}{liste\xspace}
+
+%<FRA> \newcommand{\VoirEx}[1]{(voir exemple en page~\pageref{#1})}
+%<ENG> \newcommand{\VoirEx}[1]{(see example on page~\pageref{#1})}
+
 \begin{document}
 %<*FRA>
 \title{Guide de l'utilisateur de \pkg{simples-matrices}\thanks{Ce fichier décrit
@@ -266,7 +313,7 @@
 
 \textbf{Beware}: you have to provide the suitable mathematical environment to
 use the macros which print a matrix. Only the unstarred version of
-\cs{declarermatrice} may be used outside math-mode.
+\csmute{declarermatrice} may be used outside math-mode.
 
 %</ENG>
 %<*FRA>
@@ -276,7 +323,7 @@
 
 \textbf{Attention}: vous devez fournir l'environnement mathématique adéquat pour
 utiliser les macros qui écrivent les matrices. Seule la version non-étoilée de
-\cs{declarermatrice} peut être utilisée en dehors du mode mathématique.
+\csmute{declarermatrice} peut être utilisée en dehors du mode mathématique.
 %</FRA>
 
 %<*ENG>
@@ -283,7 +330,7 @@
 \section{The Macros}
 \label{sec:macros}
 
-\pkg{simples-matrices} offers six main document macros.
+\pkg{simples-matrices} offers nine document macros.
 
 %</ENG>
 %<*FRA>
@@ -290,39 +337,89 @@
 \section{Les macros}
 \label{sec:macros}
 
-L'extension \pkg{simples-matrices} offre six macros de document.
+L'extension \pkg{simples-matrices} offre neuf macros de document.
 
-%</FRA> 
+%</FRA>
 
 %<*ENG>
+In the main text (syntaxes and examples), the name of a macro of this package is
+printed in red if the macro produces some text in the document, otherwise it is
+printed in blue.
+%</ENG>
+%<*FRA>
+Dans le texte principal (syntaxes et exemples), le nom d'une macro de cette
+extension est écrit en rouge si la macro produit du texte dans le document,
+autrement il est écrit en bleu.
+%</FRA>
+
+%<*ENG>
 \subsection{Main Macros}
 \label{sec:main}
 
-This package has five main document macros viz.
+The six main document macros are the following: 
+%</ENG>
+%<*FRA>
+\subsection{Macros principales}
+\label{sec:principales}
+
+Les six macros principales sont les suivantes: 
+%</FRA> 
+%<*ENG>
+
 \begin{function}{\matrice}
   \begin{syntax}
-    \cs{matrice}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{type}\marg{clist of coefficients}
+    \csprint{matrice}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{type}\marg{clist of coefficients}
   \end{syntax}
-  where \meta{prefix} has the same meaning as the key \texttt{prefix};
-  \meta{clist of key-value pairs}, optional and void by default, can be used to
-  redefined the matrix-like environment; \meta{type} is a string of character
+  where \meta{prefix} has the same meaning as the key \keyname{prefix} (see page~\pageref{key-prefix});
+  \meta{clist of key-value pairs} ---optional and void by default--- can be used to
+  redefined the \envir{matrix}-like environment; \meta{type} is a string of character
   the usage of which is explained later ---see \ref{sec:matrix-type}--- and
   \meta{clist of coefficients} is a clist of the coefficients of the matrix
   given by row order.
 
   The French \emph{matrice} means ``matrix''.
+\end{function}
+%</ENG>
+%<*FRA>
+\begin{function}{\matrice}
+  \begin{syntax}
+    \csprint{matrice}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\oarg{type}\marg{\vliste des coefficients}
+  \end{syntax}
+  où \meta{prefixe} a la même fonction que la clé \keyname{prefix} (voir page~\pageref{key-prefix});
+  \meta{\vliste de paires de clé-valeur} --- optionnel et vide par défaut ---
+  peut être utilisé pour redéfinir l'environnement de type \envir{matrix};
+  \meta{type} est une chaine de caractère dont l'utilisation sera expliquée
+  ci-dessous --- voir~\ref{sec:matrix-type} --- et \meta{\vliste des
+    coefficients} est la \vliste des coefficients de la matrice donnés ligne par
+  ligne.
+\end{function}
+%</FRA>
 
-  With \verb+\(\matrice{1, 2, 3, 4}\)+ we obtain \(\matrice{1, 2, 3, 4}\).
+%<ENG> With
+%<FRA> Avec
+\lstinline+$\matrice{1, 2, 3, 4}$+
+%<ENG> we obtain 
+%<FRA> on obtient 
+\(\matrice{1, 2, 3, 4}\).
 
-  With \verb+\(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\)+
-  we obtain \(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\).
-  
-\end{function}
+%<ENG> With
+%<FRA> Avec
+\lstinline+$\matrice(b)[3]{1, 2, 3, 4, 5, 6}$+
+%<ENG> we obtain 
+%<FRA> on obtient 
+\(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\).
 
+%<*ENG>
 \begin{function}{\declarermatrice}
   \begin{syntax}
-    \cs{declarermatrice*}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\marg{matrix name}\oarg{type}\marg{clist of coefficients}
+    \csmute{declarermatrice}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\marg{matrix name}\oarg{type}\marg{clist of coefficients}
   \end{syntax}
+\end{function}
+
+\begin{function}{\declarermatrice*}
+  \begin{syntax}
+    \csprint{declarermatrice*}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\marg{matrix name}\oarg{type}\marg{clist of coefficients}
+  \end{syntax}
   where \meta{matrix name} is the name of the matrix to be used afterwards. The
   other arguments, optional or mandatory, have the same meaning than above. The
   starred version defines and prints the matrix. The unstarred version only
@@ -332,112 +429,108 @@
   the same function. \textbf{No check is done} to ensure that one is not
   redefining a previously defined matrix.
 
+  With the macro \csmute{declarermatrice}, the first two optional arguments have
+  no effect for they are not take into account to define the matrix \VoirEx{sec:declar}.
+
   The French \emph{déclarer une matrice} means ``declare a matrix''.
-  
 \end{function}
+%</ENG>
 
-\begin{function}{\lamatrice}
+%<*FRA>
+\begin{function}{\declarermatrice}
   \begin{syntax}
-    \cs{lamatrice}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\marg{matrix name}
+    \csmute{declarermatrice}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\marg{nom}\oarg{type}\marg{\vliste des coefficients}
   \end{syntax}
-  prints the previously defined matrix the name of which is given by
-  \meta{matrix name}. The two optional arguments have the meaning as before.
-
-  The French \emph{la matrice} means ``the matrix''.
 \end{function}
 
-\begin{function}{\MatriceInterieur}
+
+\begin{function}{\declarermatrice*}
   \begin{syntax}
-    \cs{MatriceInterieur}
+    \csprint{declarermatrice*}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\marg{nom}\oarg{type}\marg{\vliste des coefficients}
   \end{syntax}
-  gives the inner part of the last printed ---via \cs{matrice}--- or defined
-  ---via \cs{declarermatrice}--- matrix. It can be used inside an
-  \env{array}-like environment.
+  où \meta{nom} est le nom de la matrice pour utilisation future. Les autres
+  arguments, optionnels ou obligatoires, ont la même signification que
+  ci-dessus. La version étoilée définit et écrit la matrice. La version
+  non-étoilée ne fait que la définir.
 
-  The French should be \emph{\foreignlanguage{french}{intérieur de la matrice}}
-  which means ``inside of the matrix''. What is implicit is the adjective
-  ``anonymous''. For named matrix see below.
+  La définition est globale mais on peut redéfinir une matrice nommée existante
+  avec la même fonction. \textbf{Aucun contrôle} n'est exercé pour s'assurer que
+  l'on n'est pas en train de redéfinir une matrice nommée précédemment définie.
+
+  Avec la macro \csmute{declarermatrice}, les deux premiers arguments optionnels
+  n'ont aucun effet car la définition de la matrice n'en tient pas compte \VoirEx{sec:declar}.
 \end{function}
+%</FRA> 
 
-\begin{function}{\LaMatriceInterieur}
+%<*ENG> 
+\begin{function}{\lamatrice}
   \begin{syntax}
-    \cs{LaMatriceInterieur}\marg{matrix name}
+    \csprint{lamatrice}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\marg{matrix name}
   \end{syntax}
-  gives the inner part of the matrix with name \meta{matrix name}. It can be
-  used inside an \env{array}-like environment.
+  prints the previously defined matrix the name of which is given by
+  \meta{matrix name}. The two optional arguments have the meaning as before \VoirEx{sec:declar}.
 
-  Again false French but the parallel with \cs{lamatrice} should suggest that,
-  now, the matrix has a name and we have to use it. 
+  The French \emph{la matrice} means ``the matrix''.
 \end{function}
-
-See examples on page~\pageref{sec:examples}.
 %</ENG>
 %<*FRA>
-\subsection{Macros principales}
-\label{sec:principales}
-
-Les cinq macros principales de document sont les suivantes: 
-
-\begin{function}{\matrice}
+\begin{function}{\lamatrice}
   \begin{syntax}
-    \cs{matrice}\parg{prefixe}\darg{\string<}{vliste de paires de clé-valeur}{\string>}\oarg{type}\marg{vliste des coefficients}
+    \csprint{lamatrice}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\marg{nom}
   \end{syntax}
-  où \meta{prefixe} a la même fonction que la clé \texttt{prefix}; \meta{vliste
-    de paires de clé-valeur}, optionnel et vide par défaut, peut être utiliser
-  pour redéfinit l'environnement de type \texttt{matrix};
-  \meta{type} est une chaine de caractère dont l'utilisation sera expliquée
-  ci-dessous --- voir~\ref{sec:matrix-type} --- et \meta{vliste des
-    coefficients} est la vliste des coefficients de la matrice donnés ligne par
-  ligne. 
-
-  Avec \verb+\(\matrice{1, 2, 3, 4}\)+ on obtient \(\matrice{1, 2, 3, 4}\).
-
-  Avec \verb+\(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\)+
-  on obtient \(\matrice(b)[3]{1, 2, 3, 4, 5, 6}\).
-  
+  écrit la matrice nommée de nom \meta{nom}.
+  Les deux arguments optionnels ont la même signification que ci-dessus \VoirEx{sec:declar}.
 \end{function}
+%</FRA>
 
-\begin{function}{\declarermatrice}
+%<*ENG>
+\begin{function}{\MatriceInterieur}
   \begin{syntax}
-    \cs{declarermatrice*}\parg{prefix}\darg{\string<}{vliste de paires de clé-valeur}{\string>}\marg{nom}\oarg{type}\marg{vliste des coefficients}
+    \csprint{MatriceInterieur}
   \end{syntax}
-  où \meta{nom} est le nom de la matrice pour utilisation future. Les autres
-  arguments, optionnels ou obligatoires, ont la même signification que
-  ci-dessus. La version étoilée définit et écrit la matrice. La version
-  non-étoilée ne fait que la définir.
+  gives the inner part of the last printed ---via \csprint{matrice} or
+  \csprint{declarermatrice*}--- or defined ---via \csmute{declarermatrice}---
+  matrix. It can be used inside an \envir{array}-like environment
+  \VoirEx{sec:matint}.
 
-  La définition est global mais on peut redéfinir une matrice nommée existante
-  avec la même fonction. \textbf{Aucun contrôle} n'est exercé pour s'assurer que
-  l'on n'est pas en train de redéfinir une matrice nommée précédemment définie.
+  The French should be \emph{\foreignlanguage{french}{intérieur de la matrice}}
+  which means ``inside of the matrix''. What is implicit is the adjective
+  ``anonymous''. For named matrix see below.
 \end{function}
-
-\begin{function}{\lamatrice}
+%</ENG>
+%<*FRA>
+\begin{function}{\MatriceInterieur}
   \begin{syntax}
-    \cs{lamatrice}\parg{prefix}\darg{\string<}{vliste de paires de clé-valeur}{\string>}\marg{matrix name}
+    \csprint{MatriceInterieur}
   \end{syntax}
-  écrit la matrice nommée de nom \meta{nom}.
-  Les deux arguments optionnels ont la même signification que ci-dessus.
+  donne l'intérieur de la dernière matrice écrite --- via \csprint{matrice} ou
+  \csprint{declarermatrice*} --- ou définie --- via \csmute{declarermatrice}. On
+  peut l'utiliser dans un environnement du genre \envir{array} \VoirEx{sec:matint}.
 \end{function}
+%</FRA>
 
-\begin{function}{\MatriceInterieur}
+%<*ENG>
+\begin{function}{\LaMatriceInterieur}
   \begin{syntax}
-    \cs{MatriceInterieur}
+    \csprint{LaMatriceInterieur}\marg{matrix name}
   \end{syntax}
-  donne l'intérieur de la dernière matrice écrite --- via \cs{matrice} --- ou
-  définie --- via \cs{declarermatrice}. On peut l'utiliser dans un environnement
-  du genre \env{array}.
+  gives the inner part of the matrix with name \meta{matrix name}. It can be
+  used inside an \envir{array}-like environment \VoirEx{sec:matint}.
+
+  Again false French but the parallel with \csprint{lamatrice} should suggest that,
+  now, the matrix has a name and we have to use it. 
 \end{function}
 
+%</ENG>
+%<*FRA>
 \begin{function}{\LaMatriceInterieur}
   \begin{syntax}
-    \cs{LaMatriceInterieur}\marg{nom}
+    \csprint{LaMatriceInterieur}\marg{nom}
   \end{syntax}
   donne l'intérieur de la matrice de nom \meta{nom}. On peut l'utiliser dans un
-  environnement du genre \env{array}.
+  environnement du genre \envir{array} \VoirEx{sec:matint}.
 \end{function}
 
-
-Voir les exemples en page~\pageref{sec:exemples}.
 %</FRA> 
 
 %<*ENG>
@@ -447,7 +540,7 @@
 One can change the values of the keys of \pkg{simples-matrices} with 
 \begin{function}{\simplesmatricessetup}
   \begin{syntax}
-    \cs{simplesmatricessetup}\marg{clist of key-value pairs}
+    \csmute{simplesmatricessetup}\marg{clist of key-value pairs}
   \end{syntax}
   where \meta{clist of key-value pairs} is the usual clist of key-value pairs
   setting one or many of the three keys of the package as presented on
@@ -456,7 +549,6 @@
   To stick to established convention the name of this macro is created from the
   name of the package (reduced to \TeX{} letters) followed by \emph{setup}. I
   apologize for that strange linguistic mixture.
-  
 \end{function}
 %</ENG>
 %<*FRA>
@@ -466,9 +558,9 @@
 On peut changer les valeurs des clés de \pkg{simples-matrices} avec
 \begin{function}{\simplesmatricessetup}
   \begin{syntax}
-    \cs{simplesmatricessetup}\marg{vliste de paires de clé-valeur}
+    \csmute{simplesmatricessetup}\marg{\vliste de paires de clé-valeur}
   \end{syntax}
-  où \meta{vliste de paires de clé-valeur} est l'habituelle vliste de paires de
+  où \meta{\vliste de paires de clé-valeur} est l'habituelle \vliste de paires de
   clé-valeur valuant une ou plusieurs des trois clés de cette extension
   telles que présentées ci-dessous en page~\pageref{sec:clefs}. 
 
@@ -476,18 +568,27 @@
   consiste en le nom de l'extension --- réduite à ces lettres \TeX{}iennes ---
   suivi de l'anglais \emph{setup}. Je demande pardon pour cette étrange mixture
   linguistique. 
-  
 \end{function}
 %</FRA>
+
 %<*ENG>
+\newpage{}
 \subsection{Shortcuts}
 \label{sec:shortcuts}
 
 There are also two \emph{shortcut} macros: 
+%</ENG>
+%<*FRA>
+\subsection{Raccourcis}
+\label{sec:shortcuts}
 
+L'extension propose deux macros \emph{raccourcis}:
+%</FRA>
+
+%<*ENG>
 \begin{function}{\matid}
   \begin{syntax}
-    \cs{matid}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{coefficient}\marg{number of columns}
+    \csprint{matid}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{coefficient}\marg{number of columns}
   \end{syntax}
   which write the identity matrix --- by default --- with \meta{number of
     columns} columns. If \meta{coefficient} is given, we obtain a diagonal
@@ -496,13 +597,29 @@
   The two first optional arguments have the same functionality as in the
   preceding macros.
 
-  \emph{matid} stands for ``\foreignlanguage{French}{matrice identité}'' which means
+  \emph{matid} stands for \emph{\foreignlanguage{French}{matrice identité}} which means
   ``identity matrix''.
 \end{function}
+%</ENG>
+%<*FRA>
+\begin{function}{\matid}
+  \begin{syntax}
+    \csprint{matid}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\oarg{coefficient}\marg{nombre de colonnes}
+  \end{syntax}
+  qui imprime la matrice identité --- par défaut --- avec
+  \meta{nombre de colonnes} colonnes.
+  Si \meta{coefficient} est fourni, on obtient une matrice diagonale
+  dont tous les coefficients non-nuls sont égaux à \meta{coefficient}.
 
+  Les deux premiers arguments optionnels ont la même fonction que dans les
+  macros précédentes.
+\end{function}
+%</FRA>
+
+%<*ENG>
 \begin{function}{\matnulle}
   \begin{syntax}
-    \cs{matnulle}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{coefficient}\marg{number of columns}
+    \csprint{matnulle}\parg{prefix}\darg{\string<}{clist of key-value pairs}{\string>}\oarg{coefficient}\marg{number of columns}
   \end{syntax}
   writes the null matrix with \meta{number of columns} columns ---by default---
   or a matrix containing with \meta{number of columns} columns and all
@@ -511,32 +628,14 @@
   The two first optional arguments have the same functionality as in the
   preceding macros.
 
-  \emph{matnulle} stands for ``\foreignlanguage{French}{matrice nulle}'' which means
+  \emph{matnulle} stands for \emph{\foreignlanguage{French}{matrice nulle}} which means
   ``null matrix''.
 \end{function}
 %</ENG>
 %<*FRA>
-\subsection{Raccourcis}
-\label{sec:shortcuts}
-
-L'extension propose deux macros \emph{raccourcis}:
-
-\begin{function}{\matid}
-  \begin{syntax}
-    \cs{matid}\parg{prefix}\darg{\string<}{vliste de paires de clé-valeur}{\string>}\oarg{coefficient}\marg{nombre de colonnes}
-  \end{syntax}
-  qui imprime la matrice identité --- par défaut --- avec
-  \meta{nombre de colonnes} colonnes.
-  Si \meta{coefficient} est fourni, on obtient une matrice diagonale
-  dont tous les coefficients non-nuls sont égaux à \meta{coefficient}.
-
-  Les deux premiers arguments optionnels ont la même fonction que dans les
-  macros précédentes.
-\end{function}
-
 \begin{function}{\matnulle}
   \begin{syntax}
-    \cs{matnulle}\parg{prefix}\darg{\string<}{vliste de paires de clé-valeur}{\string>}\oarg{coefficient}\marg{nombre de colonnes}
+    \csprint{matnulle}\parg{prefixe}\darg{\string<}{\vliste de paires de clé-valeur}{\string>}\oarg{coefficient}\marg{nombre de colonnes}
   \end{syntax}
   imprime la matrice nulle \meta{nombre de colonnes} colonnes --- par défaut ---
   ou une matrice de \meta{nombre de colonnes} colonnes dont tous les
@@ -548,9 +647,9 @@
 %</FRA>
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
-\(\matid{3}\)\qquad \(\matid[9]{3}\)
+$\matid{3}$\qquad $\matid[9]{3}$
 \par \medskip
-\(\matnulle{3}\)\qquad \(\matnulle[2]{3}\)
+$\matnulle{3}$\qquad $\matnulle[2]{3}$
 \end{VerbatimOut}
 \UnExemple{}
 
@@ -559,37 +658,33 @@
 \label{sec:keys}
 
 The package uses key-value options. There are four keys:
-\texttt{envir}, 
-\texttt{prefix},
-\texttt{typeord}
+\keyname{envir}, 
+\keyname{prefix},
+\keyname{typeord}
 and
-\texttt{argopt}.
+\keyname{argopt}.
 
 \begin{description}
-\item[\texttt{envir} (\textit{\texttt{string}})] the main and last part of the
+\item[\keyname{envir} (\textit{\texttt{string}})] the main and last part of the
   name of the environment used to print the matrix. Its initial value is
-  \texttt{matrix}.
+  \texttt{matrix}.\label{key-envir}
   
-\item[\texttt{prefix} (\textit{\texttt{string}})] a string which is prefixed to
+\item[\keyname{prefix} (\textit{\texttt{string}})] a string which is prefixed to
   \texttt{envir} to obtain the complete name of the environment. Its initial
   value is \texttt{p}. Therefore, by default, the environment used to print the
-  matrix is \texttt{bmatrix} as defined by \pkg{amsmath}.
+  matrix is \envir{pmatrix} as defined by \pkg{amsmath}.\label{key-prefix}
 
-\item[\texttt{typeord} (\textit{\texttt{string}})] a string which is the
+\item[\keyname{typeord} (\textit{\texttt{string}})] a string which is the
   ordinary ---i.~e. default--- value of the \meta{type} optional argument. The
-  initial value of the key is \texttt{C}.
+  initial value of the key is \TypeMat{C}.\label{key-typeord}
 
-\item[\texttt{argopt} (\textit{\texttt{token list}})] for French
+\item[\keyname{argopt} (\textit{\texttt{token list}})] for French
   \foreignlanguage{french}{\emph{argument optionnel}} (optional argument). That
-  key is initially void. See page~\pageref{sec:delarray} for usage.
+  key is initially void. See page~\pageref{sec:delarray} for usage.\label{key-argopt}
 \end{description}
 
 Moreover, an other key is available which is not an option of the package:
-\texttt{out-of-box} which is a metakey.
-
-With |\simplesmatricessetup{out-of-box}| we obtain the same effect as with
-|\simplesmatricessetup{prefix=p,|\BOP| envir=matrix,|%
-  \BOP| argopt=,|\BOP| typeord=C}|.
+\keyname{out-of-box} which is a metakey.
 %</ENG>
 
 %<*FRA>
@@ -597,36 +692,43 @@
 \label{sec:clefs} 
 
 L'extension utilise le système de clefs-valeurs pour ses options. Elle possède
-quatre clés: \texttt{envir}, \texttt{prefix}, \texttt{typeord} et \texttt{argopt}.
+quatre clés: \keyname{envir}, \keyname{prefix}, \keyname{typeord} et \keyname{argopt}.
 
 \begin{description}
-\item[\texttt{envir} (\textit{\texttt{chaine de caractères}})] la partie finale
-  du nom de l'environnement utilisé pour imprimer la matrice. Sa valeur initiale
-  est \texttt{matrix}.
+\item[\keyname{envir} (\textit{\texttt{chaine de caractères}})] est la partie
+  finale du nom de l'environnement utilisé pour imprimer la matrice. Sa valeur
+  initiale est \texttt{matrix}.\label{key-envir}
   
-\item[\texttt{prefix} (\textit{\texttt{chaine de caractères}})], caractères
-  placés devant \texttt{envir} pour fournir le nom complet de l'environnement
-  utilisé pour imprimer la matrice. Sa valeur initiale est \texttt{p}. Cela fait
-  que l'environnement par défaut est \texttt{pmatrix} fourni par \pkg{amsmath}.
+\item[\keyname{prefix} (\textit{\texttt{chaine de caractères}})] contient les
+  caractères placés devant \texttt{envir} pour fournir le nom complet de
+  l'environnement utilisé pour imprimer la matrice. Sa valeur initiale est
+  \texttt{p}. Cela fait que l'environnement par défaut est \envir{pmatrix}
+  fourni par \pkg{amsmath}.\label{key-prefix}
 
-\item[\texttt{typeord} (\textit{\texttt{chaine de caractères}})] définit la
+\item[\keyname{typeord} (\textit{\texttt{chaine de caractères}})] définit la
   valeur ordinaire --- c.-à-d. par défaut --- de l'argument optionnel
-  \meta{type}. La valeur initiale de la clé est \texttt{C}.
+  \meta{type}. La valeur initiale de la clé est \TypeMat{C}.\label{key-typeord}
 
-\item[\texttt{argopt} (\textit{\texttt{liste de lexèmes}}, anglais:
-  \foreignlanguage{english}{token list})]. Cette clé est vide par défaut. Voir
-  page~\pageref{sec:delarray} pour son utilisation.
+\item[\keyname{argopt} (\textit{\texttt{liste de lexèmes}}, anglais:
+  \foreignlanguage{english}{token list})] est vide par défaut. Voir
+  page~\pageref{sec:delarray} pour son utilisation.\label{key-argopt}
 \end{description}
 
 De plus, une clé supplémentaire existe qui est une métaclé:
-\texttt{out-of-box}. 
+\keyname{out-of-box}.
+%</FRA>
 
-Avec |\simplesmatricessetup{out-of-box}| on obtient le même effet qu'avec
-|\simplesmatricessetup{prefix=p,|\BOP| envir=matrix,|%
-  \BOP| argopt=,|\BOP| typeord=C}|.
-%</FRA> 
 
+%<ENG> With 
+%<FRA> Avec
+\lstinline|\simplesmatricessetup{out-of-box}| 
+%<ENG> we obtain the same effect as with
+%<FRA> on obtient le même effet qu'avec
+\lstinline|\simplesmatricessetup{prefix=p,|\BOP\lstinline| envir=matrix,|%
+  \BOP\lstinline| argopt=,|\BOP\lstinline| typeord=C}|.
+
 %<*ENG>
+\newpage{}
 \section{Examples}
 \label{sec:examples}
 \subsection{Without any special package}
@@ -651,25 +753,39 @@
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \declarermatrice{A}{1, 2, 300, 400}
-\(\declarermatrice*{B}{a, b, c, d}\)
-\qquad \(\lamatrice{A}\) \par \bigskip
-\(\lamatrice(V){A}\)
-\qquad \(\lamatrice(b){B}\)
+$\declarermatrice*{B}{a, b, c, d}$
+\quad $\lamatrice{A}$ \par \bigskip
+$\lamatrice(V){A}$
+\quad $\lamatrice(b){B}$
 \end{VerbatimOut}
 \UnExemple{}
 
 %<*ENG>
+On the first line of this example, the matrix~\texttt{A} is defined but not
+printed. Then, on the second line, the matrix~\texttt{B} is defined and
+printed. We can afterwards call the~\texttt{A} or \texttt{B}-matrix with
+\csprint{lamatrice}.
+%</ENG>
+%<*FRA>
+Sur la première ligne de l'exemple, la matrice~\texttt{A} est définie mais pas
+écrite. Ensuite, sur la seconde ligne, la matrice~\texttt{B} est définie et
+écrite. Nous pouvons ensuite appeler les matrices~\texttt{A} ou~\texttt{B} à
+l'aide de \csprint{lamatrice}.
+%</FRA>
+
+%<*ENG>
 \subsubsection{The ``\texttt{type}'' argument}
 \label{sec:matrix-type}
 
-The last but one --- optional --- argument of macros \cs{matrice} and
-\cs{declarermatrice} defaults to \texttt{O}. In that case the value of the key
-\texttt{typeord} is used to determine the \emph{type} of the matrix input,
+The last but one --- optional --- argument of macros \csprint{matrice}, 
+\csmute{declarermatrice} and \csprint{declarermatrice*}
+defaults to \TypeMat{O}. In that case the value of the key
+\keyname{typeord} is used to determine the \emph{type} of the matrix input,
 see~\pageref{sec:matrix-type-key}.
 
 Its value can be a number, in which case it is the number of columns, or a
-string ---presently a one letter string--- among: \texttt{C}, \texttt{D},
-\texttt{I}, \texttt{J}, \texttt{S}, \texttt{T} and \texttt{x}.
+string ---presently a one letter string--- among: \TypeMat{C}, \TypeMat{D},
+\TypeMat{I}, \TypeMat{J}, \TypeMat{S}, \TypeMat{T} and \TypeMat{x}.
 %</ENG>
 
 %<*FRA>
@@ -676,87 +792,92 @@
 \subsubsection{L'argument \og \texttt{type}\fg}
 \label{sec:matrix-type}
 
-L'avant dernier argument --- optionnel --- des macros \cs{matrice} et
-\cs{declarermatrice} vaut par défaut \texttt{O}. Dans ce cas, c'est la valeur de
-la clé \texttt{typeord} qui est utilisée pour déterminer le \emph{type} des
-données de la matrice, voir~\pageref{sec:matrix-type-key}. 
+L'avant dernier argument --- optionnel --- des macros \csprint{matrice},
+\csmute{declarermatrice} et \csprint{declarermatrice*} vaut par défaut
+\TypeMat{O}. Dans ce cas, c'est la valeur de la clé \keyname{typeord} qui est
+utilisée pour déterminer le \emph{type} des données de la matrice,
+voir~\pageref{sec:matrix-type-key}.
 
 Sinon, il peut prendre une valeur numérique qui est le nombre de colonnes de la
 matrice ou encore une chaine de caractères --- à ce jour, une seule lettre ---
-parmi: \texttt{C}, \texttt{D}, \texttt{I}, \texttt{J}, \texttt{S}, \texttt{T} et
-\texttt{x}.
+parmi: \TypeMat{C}, \TypeMat{D}, \TypeMat{I}, \TypeMat{J}, \TypeMat{S}, \TypeMat{T} et
+\TypeMat{x}.
 %</FRA>
 
 \medskip{}
 
-%<FRA> \texttt{C} signifie matrice \textbf{carrée}.
-%<ENG> \texttt{C} means square matrix for French ``\texttt{C}arré'' means ``square''.
+%<FRA> \TypeMat{C} signifie matrice \textbf{carrée}.
+%<ENG> \TypeMat{C} means square matrix for French ``\texttt{C}arré'' means ``square''.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-\matrice{1, 2, 3, 4, 5, 6, 7, 8, 9}
-\qquad 
-\matrice[C]{1, 2, 3, 4, 5, 6, 7, 8, 9}
+ \matrice{1, 2, 3, 4, 5, 6, 7, 8, 9}
+ \quad 
+ \matrice[C]{1, 2, 3, 4, 5, 6, 7, 8, 9}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
-%<FRA> \texttt{D} signifie matrice \textbf{diagonale}.
-%<ENG> \texttt{D} means \textbf{diagonal} matrix.
+%<FRA> \TypeMat{D} signifie matrice \textbf{diagonale}.
+%<ENG> \TypeMat{D} means \textbf{diagonal} matrix.
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice{1, 2, 3, 4}\qquad 
-  \matrice[D]{1, 2, 3, 4}
+ \matrice{1, 2, 3, 4}\quad 
+ \matrice[D]{1, 2, 3, 4}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
 %<*FRA>
-\texttt{I} signifie matrice triangulaire \textbf{inférieure}; \texttt{J}
+\TypeMat{I} signifie matrice triangulaire \textbf{inférieure}; \TypeMat{J}
 signifie matrice triangulaire inférieure avec des zéros sur la diagonale.
 %</FRA>
 %<*ENG>
-\texttt{I} means lower triangular matrix. French ``\texttt{I}nférieur'' means
-``lower''; \texttt{J} means lower triangular matrix with zeros on the diagonal.
+\TypeMat{I} means lower triangular matrix. French ``\texttt{I}nférieur'' means
+``lower''; \TypeMat{J} means lower triangular matrix with zeros on the diagonal.
 %</ENG>
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[I]{1, 2, 3}\qquad 
-  \matrice[J]{1, 2, 3}
+ \matrice[I]{1, 2, 3}\quad 
+ \matrice[J]{1, 2, 3}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
 %<*FRA>
-\texttt{S} signifie matrice triangulaire \textbf{supérieure}; \texttt{T}
+\TypeMat{S} signifie matrice triangulaire \textbf{supérieure}; \TypeMat{T}
 signifie matrice triangulaire supérieure avec des zéros sur la diagonale.
 %</FRA>
 %<*ENG>
-\texttt{S} means upper triangular matrix. French ``\texttt{S}upérieur'' means
-``upper''; \texttt{T} means upper triangular matrix with zeros on the diagonal.
+\TypeMat{S} means upper triangular matrix. French ``\texttt{S}upérieur'' means
+``upper''; \TypeMat{T} means upper triangular matrix with zeros on the diagonal.
 %</ENG>
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[S]{1, 2, 3}\qquad 
-  \matrice[T]{1, 2, 3}
+ \matrice[S]{1, 2, 3}\quad 
+ \matrice[T]{1, 2, 3}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
 %<*FRA>
-\texttt{x} signifie \texttt{xcas}. Avec cette valeur, on peut copier-coller de
-\texttt{xcas} dans le document \LaTeX{}. 
+\TypeMat{x} signifie \texttt{xcas}\footnote{Système de calcul formel libre
+  disponible ici:
+  \url{https://www-fourier.univ-grenoble-alpes.fr/~parisse/giac_fr.html}}. Avec
+cette valeur, on peut copier-coller de \texttt{xcas} dans le document \LaTeX{}.
 %</FRA>
 %<*ENG>
-\texttt{x} means \texttt{xcas}. With that value, one can copy-paste from
+\TypeMat{x} means \texttt{xcas}\footnote{Free computer algebra system, see here:
+\url{https://www-fourier.univ-grenoble-alpes.fr/~parisse/giac.html}.}. With that value, one can copy-paste from
 \texttt{xcas} into the \LaTeX{} document.
 %</ENG>
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[x]{[[7,1,3],[1,0,3],[5,1,2]]}
+ \matrice[x]{[[7,1,3],[1,0,3],[5,1,2]]}
 \]
 \end{VerbatimOut}
 \UnExemple{}
 
+\pagebreak[3]
 %<*FRA>
 Un nombre donne le nombre de colonnes de la matrice.
 %</FRA>
@@ -765,9 +886,9 @@
 %</ENG>
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \[
-  \matrice[2]{1, 2, 3, 4, 5, 6}
-  \quad
-  \matrice[3]{1, 2, 3, 4, 5, 6}
+ \matrice[2]{1, 2, 3, 4, 5, 6}
+ \quad
+ \matrice[3]{1, 2, 3, 4, 5, 6}
 \]
 \end{VerbatimOut}
 \UnExemple{}
@@ -774,17 +895,17 @@
 
 
 %<*ENG>
-\subsubsection{Using the ``\texttt{typeord}'' Key}
+\subsubsection{Using the ``\keyname{typeord}'' Key}
 \label{sec:matrix-type-key}
 
-In this document, the key \texttt{typeord} has the initial value of~\texttt{C}.
+In this document, the key \keyname{typeord} has the initial value of~\TypeMat{C}.
 %</ENG>
 
 %<*FRA>
-\subsubsection{Utilisation de la clé \og \texttt{typeord}\fg}
+\subsubsection{Utilisation de la clé \og \keyname{typeord}\fg}
 \label{sec:matrix-type-key}
 
-Dans ce document, la clé \texttt{typeord} a comme valeur initiale~\texttt{C}.
+Dans ce document, la clé \keyname{typeord} a comme valeur initiale~\TypeMat{C}.
 %</FRA>
 
 \medskip{}
@@ -791,11 +912,11 @@
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \simplesmatricessetup{typeord=3}
-\(\matrice{1, 2, 3, 4, 5, 6}\) 
+$\matrice{1, 2, 3, 4, 5, 6}$\quad 
 \simplesmatricessetup{typeord=2}
-\(\matrice{1, 2, 3, 4, 5, 6}\) 
+$\matrice{1, 2, 3, 4, 5, 6}$\quad  
 \simplesmatricessetup{typeord=C}
-\(\matrice{1, 2, 3, 4}\)
+$\matrice{1, 2, 3, 4}$
 \end{VerbatimOut}
 \UnExemple{}
 
@@ -812,39 +933,55 @@
 %</ENG>
 
 %<*ENG>
-\subsubsection{Using the \cs{(La)MatriceInterieur} Macros}
+\subsubsection{Using the \csprint{(La)MatriceInterieur} Macros}
 \label{sec:matint}
 %</ENG>
 %<*FRA>
-\subsubsection{Utilisation des macros \cs{(La)MatriceInterieur}}
+\subsubsection{Utilisation des macros \csprint{(La)MatriceInterieur}}
 \label{sec:matint}
 %</FRA>
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \declarermatrice{B}[4]{
-\hline ein, zwei, drei, vier, 
-\hline unos, dos, tres, cuatro, 
-\hline unu, du, tri, kvar}
-\declarermatrice{A}[3]{one, two, three, 
-un, deux, trois, uno, due, tre}
+ \hline ein, zwei, drei, vier, 
+ \hline unos, dos, tres, cuatro, 
+ \hline unu, du, tri, kvar}%
+\declarermatrice{A}[3]{
+ one, two, three, 
+ un, deux, trois, 
+ uno, due, tre}%
 \begin{tabular}{*{3}{l}}
-\MatriceInterieur
+  \MatriceInterieur %*@\label{anonyme}@*)
 \end{tabular}
-\par \medskip
+\par \bigskip *** \par \bigskip
+\begin{tabular}{*{3}{l}}
+  \LaMatriceInterieur{A} %*@\label{parnom}@*)
+\end{tabular}
+\par \bigskip
 \begin{tabular}{|*{4}{l|}}
-\LaMatriceInterieur{B}\hline 
+  \LaMatriceInterieur{B}\hline 
 \end{tabular}
 \end{VerbatimOut}
 \UnExemple{}
 
 %<*ENG>
+On lines~\ref{anonyme} and~\ref{parnom} we use the same \emph{internal} because
+the \texttt{A}-matrix is the last defined before line~\ref{anonyme}. 
+%</ENG>
+%<*FRA>
+En lignes~\ref{anonyme} et~\ref{parnom}, nous accédons aux mêmes
+\emph{entrailles} car la matrice~\texttt{A} est la dernière définie avant la
+ligne~\ref{anonyme}.
+%</FRA>
+
+%<*ENG>
 \subsection{Changing the Look}
 \label{sec:changelook}
 
 We can load other packages which deal with matrices such as \pkg{mathtools}, 
 \pkg{delarray} or \pkg{nicematrix}. In that case we can change the look of our
-matrices thanks to the option-key \texttt{envir}, \texttt{prefix} and
-\texttt{argopt}.
+matrices thanks to the option-key \keyname{envir}, \keyname{prefix} and
+\keyname{argopt}.
 
 This document loads the three packages \pkg{mathtools}, \pkg{delarray} and
 \pkg{nicematrix} in order to give the following examples.
@@ -857,8 +994,8 @@
 
 On peut charger d'autres extensions qui permettent de présenter des matrices
 comme \pkg{mathtools}, \pkg{delarray} ou \pkg{nicematrix}. Dans ce cas on peut
-changer l'aspect de nos matrices grace aux clés d'option \texttt{envir},
-\texttt{prefix} et \texttt{argopt}.
+changer l'aspect de nos matrices grace aux clés d'option \keyname{envir},
+\keyname{prefix} et \keyname{argopt}.
 
 Ce document charge les trois extensions \pkg{mathtools}, \pkg{delarray} et
 \pkg{nicematrix} pour présenter les exemples suivants.
@@ -870,9 +1007,9 @@
 \label{sec:mathtools}
 
 As already stated above there are two ways to use the option-keys: through
-\cs{simplesmatricesetup} or through the optional argument
-\darg{\string<}{clist of pairs of key-value}{\string>}. I show both. 
-
+\csmute{simples}\BOP\ObjetPres{cmdmuette}{matrices}\BOP\ObjetPres{cmdmuette}{setup}
+or through the optional argument \darg{\string<}{clist of pairs of
+  key-value}{\string>}. I show both.
 %</ENG>
 %<*FRA>
 \subsubsection{Avec \pkg{mathtools}}
@@ -879,20 +1016,18 @@
 \label{sec:mathtools}
 
 Comme déjà signalé, il y a deux façons d'utiliser les clés d'option: à l'aide de
-\cs{simplesmatricesetup} ou en utilisant l'argument optionnel
-\darg{\string<}{vliste de paires de clé-valeur}{\string>}.  Je montre les deux. 
-
+\csmute{simplesmatricessetup} ou en utilisant l'argument optionnel
+\darg{\string<}{\vliste de paires de clé-valeur}{\string>}.  Je montre les deux. 
 %</FRA>
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \simplesmatricessetup{
   envir=matrix*, prefix=p, argopt=[r]}
-\(\matrice{1, 2, 30, 40}\) \qquad
+$\matrice{1, 2, 30, 40}$ \quad
 \simplesmatricessetup{out-of-box}
-\(\matrice{1, 2, 30, 40}\) 
+$\matrice{1, 2, 30, 40}$ 
 \par \medskip
-\(\matrice(b)<envir=matrix*, argopt=[l]>
-    {1, 2, 30, 40}\)
+$\matrice(b)<envir=matrix*,argopt=[l]> {1, 2, 30, 40}$
 \end{VerbatimOut}
 \UnExemple{}
 
@@ -910,10 +1045,10 @@
 \begin{VerbatimOut}[gobble=0]{code00.tex}
 \simplesmatricessetup{
   envir=array, prefix=, 
-  argopt=[c][{l c r}\}}
-\(\matrice{1, 2, 30, 40}\) \qquad
-\(\matid()<envir=array, 
-  argopt={[c][{@{}l c r@{}}\}}>{3}\)
+  argopt=[c][{l r}\}}
+$\matrice{1, 2, 30, 40}$ \quad
+$\matid()<envir=array, 
+  argopt={[c][{@{}c c c@{}}\}}>{3}$
 \end{VerbatimOut}
 \UnExemple{}
 \simplesmatricessetup{out-of-box}
@@ -929,50 +1064,67 @@
 %</FRA>
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
-\(\matrice<prefix=b, envir=NiceArray, 
-argopt={{*{2}{c}|cc}}>{1, 2, 3, 4, 5, 6, 
-7, 8, 9, 10, 11, 12, 13, 14, 15, 16}\)
+$\matrice<prefix=b, envir=NiceArray, 
+argopt={ {cc||rl} }>{1, 2, 3, 4, 5, 6, 
+  7, 8, 9, 10, 11, 12, 13, 14, 15, 16}$
 \end{VerbatimOut}
- %| emacs
 \UnExemple{}
 
-%<*ENG>
+%<*ENG> 
 In that case we need to double the curly braces around the column descriptors of
-the \texttt{array} environment because the first level is stripped off by
+the \envir{array} environment because the first level is stripped off by
 \LaTeX{} when valuating the key.
 
+\medskip{}
+
 In the following example, for the second matrix, it is not necessary to surround
-the value of \texttt{argopt} with an extra pair of curly braces ---even if it is
-not dangerous--- for the presence of \texttt{[margin]} prevents \LaTeX{} to
-strip off the curly braces.
+the value of \keyname{argopt} with an extra pair of curly braces (see
+line~\ref{sansaccol}) ---even if it is not dangerous (see
+line~\ref{avecaccol})--- for the presence of \texttt{[margin]} prevents \LaTeX{}
+to strip off the curly braces.
 %</ENG>
 %<*FRA>
 Dans ce cas il faut doubler les accolades entourant les descripteurs de colonnes
-de l'environnement \texttt{array} car \LaTeX{} retire un niveau d'accolades en
+de l'environnement \envir{array} car \LaTeX{} retire un niveau d'accolades en
 valuant la clé.
 
+\medskip{}
+
 Dans l'exemple suivant, pour la deuxième matrice, il n'est pas nécessaire
-d'entourer la valeur de \texttt{argopt} d'une paire d'accolades --- même si ça
-n'est pas dangereux --- car la présence de \texttt{[margin]} empêche \LaTeX{} de
-supprimer une paire d'accolades.
+d'entourer la valeur de \keyname{argopt} d'une paire d'accolades (voir
+ligne~\ref{sansaccol}) --- même si ça n'est pas dangereux (voir
+ligne~\ref{avecaccol}) --- car la présence de \texttt{[margin]} empêche \LaTeX{}
+de supprimer une paire d'accolades.
 %</FRA>
 
 \begin{VerbatimOut}[gobble=0]{code00.tex}
-\(\matrice<prefix=b, envir=NiceArray, 
+$\matrice<prefix=b, envir=NiceArray, 
 argopt={{l c r}}>{1, 2, 3, 40, 50, 60, 
-  700, 800, 900}\)
+  700, 800, 900}$
 \par \medskip
-\(\matrice<prefix=b, envir=NiceArray, 
-argopt={l c r}[margin]>{1, 2, 3, 
-  40, 50, 60, 700, 800, 900}\)
+$\matrice<prefix=b, envir=NiceArray, 
+argopt={l c r}[margin]>{1, 2, 3, %*@\label{sansaccol}@*)
+  40, 50, 60, 700, 800, 900}$
 \par \medskip
-\(\matrice<prefix=b, envir=NiceArray, 
-argopt={{l c r}[margin]}>{1, 2, 3, 
-  40, 50, 60, 700, 800, 900}\)
+$\matrice<prefix=b, envir=NiceArray, 
+argopt={{l c r}[margin]}>{1, 2, 3, %*@\label{avecaccol}@*)
+  40, 50, 60, 700, 800, 900}$
 \end{VerbatimOut}
 \UnExemple{}
 
+%<ENG> \section{Thanks}
+%<FRA> \section{Remerciements}
+%<*ENG>
+Many thanks to Denis \textsc{Bitouzé} for his remarks about the initial state of
+this documentation. Thanks to him, some colours have appeared on these pages.
+%</ENG>
+%<*FRA>
+Mille mercis à Denis \textsc{Bitouzé} pour ses remarques à propos de l'état
+initial de cette documentation. C'est grâce à lui que quelques couleurs sont 
+apparues sur ces pages.
+%</FRA>
 
+
 \vspace{\stretch{2}}
 
 \noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth}

Modified: trunk/Master/texmf-dist/source/latex/simples-matrices/simples-matrices.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/simples-matrices/simples-matrices.ins	2022-07-03 20:58:43 UTC (rev 63801)
+++ trunk/Master/texmf-dist/source/latex/simples-matrices/simples-matrices.ins	2022-07-03 20:58:58 UTC (rev 63802)
@@ -1,6 +1,6 @@
 \iffalse meta-comment
 
-File simples-matrices.ins Copyright (C) 2019, 2020 Yvon Henel
+File simples-matrices.ins Copyright (C) 2022 Yvon Henel
 
 It may be distributed and/or modified under the conditions of the
 LaTeX Project Public License (LPPL), either version 1.3c of this

Modified: trunk/Master/texmf-dist/tex/latex/simples-matrices/simples-matrices.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/simples-matrices/simples-matrices.sty	2022-07-03 20:58:43 UTC (rev 63801)
+++ trunk/Master/texmf-dist/tex/latex/simples-matrices/simples-matrices.sty	2022-07-03 20:58:58 UTC (rev 63802)
@@ -22,7 +22,7 @@
 %%    http://www.latex-project.org/lppl.txt
 %%
 \RequirePackage{expl3}[2020/01/12]
-\GetIdInfo$Id: simples-matrices.dtx 1.0 2022-06-19 TdS $
+\GetIdInfo$Id: simples-matrices.dtx 1.0.1 2022-07-03 TdS $
   {}
 \RequirePackage{l3keys2e,xparse}
 \ProvidesExplPackage



More information about the tex-live-commits mailing list.