From 44fde4a143b75ae4f383b05832343d497c254989 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Wed, 3 Jun 2020 03:02:11 +0000
Subject: CTAN sync 202006030302

---
 macros/latex/contrib/conditext/CondiTeXt.sty | 813 +++++++++++++++++++++++++++
 1 file changed, 813 insertions(+)
 create mode 100644 macros/latex/contrib/conditext/CondiTeXt.sty

(limited to 'macros/latex/contrib/conditext/CondiTeXt.sty')

diff --git a/macros/latex/contrib/conditext/CondiTeXt.sty b/macros/latex/contrib/conditext/CondiTeXt.sty
new file mode 100644
index 0000000000..d069e56665
--- /dev/null
+++ b/macros/latex/contrib/conditext/CondiTeXt.sty
@@ -0,0 +1,813 @@
+%////////////////////////////////////////////////////////////////////////////////
+%//// IDENTIFICATION ////////////////////////////////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{conditext}[2020/06/01 Extension personnelle, V1.5%
+    (Jean-Louis Brabant), released under the LaTeX Project Public License %
+     v1.3c or later]
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// CODE PRÉLIMINAIRE /////////////////////////////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+\RequirePackage{simplekv}                                                           % Gestion des options clé-valeur
+\setKVdefault[display]{%
+    defaultdisplayall=false,%
+    condispaceenabled=false}
+\setKVdefault[icf]{%
+    icf=none}
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// DECLARATION DES OPTIONS ///////////////////////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+\DeclareOption{defaultdisplayall}{%
+    \setKV[display]{defaultdisplayall=true}}
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// EXÉCUTION DES OPTIONS /////////////////////////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+\ProcessOptions
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// CHARGEMENT DES PAQUETS ////////////////////////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+\RequirePackage{xifthen}                                                            % Gestion des conditions
+\RequirePackage{xparse}
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// COMMANDES /////////////////////////////////////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// Commandes : gestion conditionnelle ////////////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+
+%//// Commandes : gestion conditionnelle : domaine de condition implicite ///////
+%////////////////////////////////////////////////////////////////////////////////
+\NewDocumentCommand\setimplicitcondifield{m}{%                                      % Interface pour définir un domaine de condition implicite
+    \ifcfemptythenelse{#1}                                                                  % dc renseigné ?
+        {\errorifcfempty{setimplicitcondifield}}                                                % non : message d'erreur sur dc
+        {\ifcfokthenelse{#1}                                                                    % oui : dc valide [créé] ?
+            {\setKV[icf]{icf=#1} \edef\icf{\useKV[icf]{icf}}}                                       % oui : définit le dc comme dc implicite
+            {\errorifcfnoncreated{setimplicitcondifield}{#1}}}}                                     % non : message d'erreur sur dc
+
+%//// Commandes : gestion conditionnelle : domaines de condition ////////////////
+%////////////////////////////////////////////////////////////////////////////////
+\NewDocumentCommand\newcondifield{s m}{%                                            % Interface pour créer un domaine de condition
+    \ifcfemptythenelse{#2}                                                                  % dc renseigné ?
+        {\errorifcfempty{newcondifield}}                                                        % non : message d'erreur sur dc
+        {\ifcfalreadycreatedthenelse{#2}                                                        % oui : dc déjà créé ?
+            {\errorifcfalreadycreated{newcondifield}{#2}}                                               % oui : message d'erreur sur dc
+            {\setKVdefault[cf#2]{cf=#2}%                                                                % non : crée le dc
+             \IfBooleanTF{#1}                                                                                   % étoile ?
+                {\ifcpalreadycreatedthenelse{#2}{#2}                                                                % oui : pc de même nom déjà créée pour le même dc ?
+                    {\errorifcpalreadycreated{newcondifield*}{#2}}                                                      % oui : message d'erreur sur pc
+                    {\setKVdefault[cp#2#2]{cp=#2#2}}}                                                                   % non : crée la pc
+                {}}}}                                                                                               % non : ne fait rien
+
+%//// Commandes : gestion conditionnelle : domaines de condition : tests ////////
+\NewDocumentCommand\ifcfalreadycreatedthenelse{m m m}{%                             Teste si le domaine de condition existe déjà
+    \ifthenelse{\equal{\useKV[cf#1]{cf}}{#1}}
+        {#2}
+        {#3}}
+
+\NewDocumentCommand\ifcfokthenelse{m m m}{%                                         % Teste si le domaine de condition est valide
+    \ifthenelse{\equal{\useKV[cf#1]{cf}}{#1}}%
+        {#2}
+        {#3}}
+
+\NewDocumentCommand\ifcfemptythenelse{m m m}{%                                      % Teste si le domaine de condition est renseigné
+    \ifthenelse{\equal{#1}{}}
+        {#2}
+        {#3}}
+
+%//// Commandes : gestion conditionnelle : propriétés de condition //////////////
+%////////////////////////////////////////////////////////////////////////////////
+\NewDocumentCommand\newcondiprop{m m}{%                                             % Interface pour créer une propriété de condition
+    \ifcfemptythenelse{#1}                                                                  % dc renseigné ?
+        {\errorifcfempty{newcondiprop}}                                                         % non : message d'erreur sur dc
+        {\ifcfokthenelse{#1}                                                                    % oui : dc valide [créé] ?
+            {\ifcpemptythenelse{#2}                                                                 % oui : pc renseignée ?
+                {\errorifcpempty{newcondiprop}}                                                         % non : message d'erreur sur pc
+                {\ifcpalreadycreatedthenelse{#1}{#2}                                                    % oui : pc déjà créée ?
+                    {\errorifcpalreadycreated{newcondiprop}{#2}}                                           % oui : message d'erreur sur pc
+                    {\setKVdefault[cp#1#2]{cp=#1#2}}}}                                                     % non : crée la pc
+            {\errorifcfnoncreated{newcondiprop}{#1}}}}                                              % non : message d'erreur sur dc
+
+%//// Commandes : gestion conditionnelle : propriétés de condition : tests //////
+\NewDocumentCommand\ifcpalreadycreatedthenelse{m m m m}{%                           % Teste si la propriété de condition existe déjà
+    \ifthenelse{\equal{\useKV[cp#1#2]{cp}}{#1#2}}
+        {#3}
+        {#4}}
+
+\NewDocumentCommand\ifcpokthenelse{m m m m}{%                                       % Teste si la propriété de condition est valide
+    \ifthenelse{\equal{\useKV[cp#1#2]{cp}}{#1#2}}%
+        {#3}
+        {#4}}
+
+\NewDocumentCommand\ifcpemptythenelse{m m m}{%                                      % Teste si la propriété de condition est renseignée
+    \ifthenelse{\equal{#1}{}}
+        {#2}
+        {#3}}
+
+%//// Commandes : gestion conditionnelle : espaces de condition /////////////////
+%////////////////////////////////////////////////////////////////////////////////
+\NewDocumentCommand\setcondispace{s O{} m}{%                                          % Interface pour définir un espace de condition
+    \ifcfemptythenelse{#2}%                                                                 % dc renseigné ?
+        {\ifcpemptythenelse{#3}                                                                 % non : pc renseignée ?
+            {\errorifcpempty{setcondispace}}                                                        % non : message d'erreur sur pc
+            {\ifcpokthenelse{\icf}{#3}                                                              % oui : (dc implicite) pc valide ?
+                {\ifcsalreadydefinedthenelse{\icf}{#3}                                                  % oui : ec déjà défini ?
+                    {\errorifcsalreadydefined{setcondispace}{\icf}{#3}}                                     % oui : message d'erreur sur ec
+                    {\setKVdefault[cs\icf#3]{cs=\icf#3}%                                                    % non : définit l'ec
+                     \setKV[display]{condispaceenabled=true}                                                        % indique qu'un ec est défini
+                     \IfBooleanT{#1}                                                                                % étoile ?
+                         {\ifthenelse{\equal{\icf}{language}}                                                           % oui : contexte de sémantique linguistique ?
+                            {\setminicondispace{#3}}                                                                        % oui : définit un mini-ec correspondant à la langue
+                            {}}}}                                                                                           % non : ne fait rien
+                {\errorifcpnonok{setcondispace}{#3}}}}                                                  % non : message d'erreur sur pc
+        {\ifcfokthenelse{#2}                                                                    % oui : dc valide [créé] ?
+            {\ifcpemptythenelse{#3}                                                                % oui : pc renseignée ?
+                {\ifcsalreadydefinedthenelse{#2}{all}                                                   % non : ec global déjà défini ?
+                    {\errorifcsalreadydefined{setcondispace}{#2}{all}}                                      % oui : message d'erreur sur ec
+                    {\setKVdefault[cs#2all]{cs=#2all}                                                       % non : définit l'ec global
+                        \setKV[display]{condispaceenabled=true}}}                                                   % indique qu'un ec est défini
+                {\ifcpokthenelse{#2}{#3}                                                                % oui : pc valide ?
+                    {\ifcsalreadydefinedthenelse{#2}{#3}                                                    % oui : ec déjà défini ?
+                        {\errorifcsalreadydefined{conditext}{#2}{#3}}                                           % oui : message d'erreur sur ec
+                        {\setKVdefault[cs#2#3]{cs=#2#3}%                                                        % non : définit l'ec
+                         \setKV[display]{condispaceenabled=true}                                                        % indique qu'un ec est défini
+                         \IfBooleanT{#1}                                                                                % étoile ?
+                             {\ifthenelse{\equal{\#2}{language}}                                                            % oui : contexte de sémantique linguistique ?
+                                {\setminicondispace{#3}}                                                                        % oui : définit un mini-ec correspondant à la langue
+                                {}}}}                                                                                           % non : ne fait rien
+                    {\errorifcpnonok{setcondispace}{#3}}}}                                                  % non : message d'erreur sur pc
+            {\errorifcfnoncreated{setcondispace}{#2}}}}                                             % non : message d'erreur sur dc
+
+%//// Commandes : gestion conditionnelle : espaces de condition : tests /////////
+\NewDocumentCommand\ifcsalreadydefinedthenelse{m m m m}{%                           % Teste si l'espace de condition est déjà défini
+    \ifthenelse{\equal{\useKV[cs#1#2]{cs}}{#1#2}}
+        {#3}
+        {#4}}
+
+\NewDocumentCommand\ifmatchingcsthenelse{m m m m}{%                                 % Teste s'il existe un espace de condition correspondant au domaine de condition et à la propriété de condition renseignés
+    \ifthenelse{\equal{\useKV[cs#1#2]{cs}}{#1#2}}
+        {#3}
+        {#4}}
+
+%//// Commandes : gestion conditionnelle : contenu conditionnel /////////////////
+%////////////////////////////////////////////////////////////////////////////////
+\NewDocumentEnvironment{conditext}{O{} m s +b}{%                                    % Interface pour contenu conditionnel
+    \ifthenelse{\equal{\useKV[display]{condispaceenabled}}{true}}                           % Au moins un ec défini ?
+        {\ifcfemptythenelse{#1}                                                                 % oui : dc renseigné ?
+            {\ifcpemptythenelse{#2}                                                                 % non : pc renseignée ?
+                {\errorifcpempty{conditext}}                                                            % non : message d'erreur sur pc
+                {\ifcpokthenelse{\icf}{#2}                                                              % oui : (dc implicite) pc valide ?
+                    {\ifmatchingcsthenelse{\icf}{all}                                                       % oui : ec global correspondant ?
+                        {\IfBooleanTF{#3}                                                                       % oui : étoile ?
+                            {}                                                                                      % oui : n'affiche rien
+                            {\textdisplay{\icf}{#2}{#4}}}                                                           % non : affiche le contenu
+                        {\ifmatchingcsthenelse{\icf}{#2}                                                        % non : ec correspondant ?
+                            {\IfBooleanTF{#3}                                                                       % oui : étoile ?
+                                {}                                                                                      % oui : n'affiche rien
+                                {\textdisplay{\icf}{#2}{#4}}}                                                           % non : affiche le contenu
+                            {\IfBooleanTF{#3}                                                                       % non : étoile ?
+                                {\textdisplay{\icf}{#2}{#4}}                                                            % oui : affiche le contenu
+                                {}}}}                                                                                   % non : n'affiche rien
+                    {\errorifcpnonok{conditext}{#2}}}}                                                        % non : message d'erreur sur pc
+            {\ifcfokthenelse{#1}                                                                    % oui : dc valide ?
+                {\ifcpemptythenelse{#2}                                                                 % oui : pc renseignée ?
+                    {\errorifcpempty{conditext}}                                                            % non : message d'erreur sur pc
+                    {\ifcpokthenelse{#1}{#2}                                                                % oui : pc valide ?
+                        {\ifmatchingcsthenelse{#1}{all}                                                         % oui : ec global correspondant ?
+                            {\IfBooleanTF{#3}                                                                       % oui : étoile ?
+                                {}                                                                                      % oui : n'affiche rien
+                                {\textdisplay{#1}{#2}{#4}}}                                                             % non : affiche le contenu
+                            {\ifmatchingcsthenelse{#1}{#2}                                                          % non : ec correspondant ?
+                                {\IfBooleanTF{#3}                                                                       % oui : étoile ?
+                                    {}                                                                                      % oui : n'affiche rien
+                                    {\textdisplay{#1}{#2}{#4}}}                                                             % non : affiche le contenu
+                                {\IfBooleanTF{#3}                                                                       % non : étoile ?
+                                    {\textdisplay{#1}{#2}{#4}}                                                              % oui : affiche le contenu
+                                    {}}}}                                                                                   % non : n'affiche rien
+                        {\errorifcpnonok{conditext}{#2}}}}                                                       % non : message d'erreur sur pc
+                {\errorifcfnoncreated{conditext}{#1}}}}                                                 % non : message d'erreur sur dc
+        {\ifthenelse{\equal{\useKV[display]{defaultdisplayall}}{true}}                          % non : affichage total par défaut ?
+            {\ifcfemptythenelse{#1}                                                                 % oui : dc renseigné ?
+                {\ifcpemptythenelse{#2}                                                                 % non : pc renseignée ?
+                    {\errorifcpempty{conditext}}                                                            % non : message d'erreur sur pc
+                    {\ifcpokthenelse{\icf}{#2}                                                              % oui : (dc implicite) pc valide ?
+                        {\IfBooleanTF{#3}                                                                       % oui : étoile ?
+                            {}                                                                                      % oui : n'affiche rien
+                            {\textdisplay{\icf}{#2}{#4}}}                                                           % non : affiche le contenu
+                        {\errorifcpnonok{conditext}{#2}}}}                                                       % non : message d'erreur sur pc
+                {\ifcfokthenelse{#1}                                                                    % oui : dc valide ?
+                    {\ifcpemptythenelse{#2}                                                                 % oui : pc renseignée ?
+                        {\errorifcpempty{conditext}}                                                            % non : message d'erreur sur pc
+                        {\ifcpokthenelse{#1}{#2}                                                                % oui : pc valide ?
+                            {\IfBooleanTF{#3}                                                                       % oui : étoile ?
+                                {}                                                                                      % oui : n'affiche rien
+                                {\textdisplay{#1}{#2}{#4}}}                                                             % non : affiche le contenu
+                            {\errorifcpnonok{conditext}{#2}}}}                                                      % non : message d'erreur sur pc
+                    {\errorifcfnoncreated{conditext}{#1}}}}                                                % non : message d'erreur sur dc
+            {\ifcfemptythenelse{#1}                                                                 % non : dc renseigné ?
+                {\ifcpemptythenelse{#2}                                                                 % non : pc renseignée ?
+                    {\errorifcpempty{conditext}}                                                            % non : message d'erreur sur pc
+                    {\ifcpokthenelse{\icf}{#2}                                                              % oui : (dc implicite) pc valide ?
+                        {\IfBooleanTF{#3}                                                                       % oui : étoile ?
+                            {\textdisplay{\icf}{#2}{#4}}                                                            % oui : affiche le contenu
+                            {}}                                                                                     % non : n'affiche rien
+                        {\errorifcpnonok{conditext}{#2}}}}                                                      % non : message d'erreur sur pc
+                {\ifcfokthenelse{#1}                                                                    % oui : dc valide ?
+                    {\ifcpemptythenelse{#2}                                                                 % oui : pc renseignée ?
+                        {\errorifcpempty{conditext}}                                                            % non : message d'erreur sur pc
+                        {\ifcpokthenelse{#1}{#2}                                                                % oui : pc valide ?
+                            {\IfBooleanTF{#3}                                                                       % oui : étoile ?
+                                {\textdisplay{#1}{#2}{#4}}                                                              % oui : affiche le contenu
+                                {}}                                                                                     % non : n'affiche rien
+                            {\errorifcpnonok{conditext}{#2}}}}                                                      % non : message d'erreur sur pc
+                    {\errorifcfnoncreated{conditext}{#1}}}}}}                                                % non : message d'erreur sur dc
+
+
+\NewDocumentCommand\textdisplay{m m m}{%                                            % Affiche une forme substituable selon que le domaine de condition est linguistique ou autre
+    \ifthenelse{\equal{#1}{language}}%
+        {\begin{otherlanguage}{#2}#3\end{otherlanguage}}%
+        {#3}}
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// Commandes : mini-gestion conditionnelle ///////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+
+%//// Commandes : mini-gestion conditionnelle : propriétés de condition /////////
+%////////////////////////////////////////////////////////////////////////////////
+\setKVdefault[mncpi]{mncpi=french}
+\setKVdefault[mncpii]{mncpii=english}
+\setKVdefault[mncpiii]{mncpiii=german}
+\setKVdefault[mncpiv]{mncpiv=spanish}
+\setKVdefault[mncpv]{mncpv=italian}
+\setKVdefault[mncpvi]{mncpvi=portuguese}
+\setKVdefault[mncpvii]{mncpvii=dutch}
+\setKVdefault[mncpviii]{mncpviii=danish}
+\setKVdefault[mncpix]{mncpix=norsk}
+\setKVdefault[mncplanguage]{mncplanguage=true}
+\setKVdefault[mncpreset]{mncpreset=false}
+
+\NewDocumentCommand\resettingminicondiprops{s}{%                                    % Interface pour réinitialiser les propriétés de condition
+    \IfBooleanTF{#1}
+        {\setKV[mncpi]{mncpi=french}
+         \setKV[mncpii]{mncpii=english}
+         \setKV[mncpiii]{mncpiii=german}
+         \setKV[mncpiv]{mncpiv=spanish}
+         \setKV[mncpv]{mncpv=italian}
+         \setKV[mncpvi]{mncpvi=portuguese}
+         \setKV[mncpvii]{mncpvii=dutch}
+         \setKV[mncpviii]{mncpviii=danish}
+         \setKV[mncpix]{mncpix=norsk}
+         \setKV[mncplanguage]{mncplanguage=true}
+         \setKV[mncpreset]{mncpreset=true}}
+        {\setKV[mncpi]{mncpi=none}
+         \setKV[mncpii]{mncpii=none}
+         \setKV[mncpiii]{mncpiii=none}
+         \setKV[mncpiv]{mncpiv=none}
+         \setKV[mncpv]{mncpv=none}
+         \setKV[mncpvi]{mncpvi=none}
+         \setKV[mncpvii]{mncpvii=none}
+         \setKV[mncpviii]{mncpviii=none}
+         \setKV[mncpix]{mncpix=none}
+         \setKV[mncplanguage]{mncplanguage=false}
+         \setKV[mncpreset]{mncpreset=true}}}
+
+\NewDocumentCommand\setminicondiprop{m m}{%                                         % Interface générale pour redéfinir une propriété de condition pour mini-gestion conditionnelle
+    \ifmncpnoresettingthenelse                                                              % réinitialisation préalable ?
+        {\errorifmncpnoresetting{setminicondiprop-}}                                            % non : message d'erreur
+        {\ifmncpemptythenelse{#2}                                                               % oui : pc renseignée ?
+            {\errorifmncpempty{setminicondiprop#1}}                                                 % non : message d'erreur sur pc
+            {\ifmncpalreadyredefinedthenelse{#1}{#2}                                                % oui : pc déjà redéfinie ?
+                {\errorifmncpalreadyredefined{setminicondiprop#1}{#2}}                                  % oui : message d'erreur sur pc
+                {\setKV[mncp#1]{mncp#1=#2}}}}}                                                          % non : redéfinit la pc
+
+\NewDocumentCommand\setminicondipropi{m}{%                                          % Interface pour redéfinir une propriété de condition pour la forme substituable n° 1 de la mini-gestion conditionnelle
+    \setminicondiprop{i}{#1}}
+\NewDocumentCommand\setminicondipropii{m}{%                                         % Interface pour redéfinir une propriété de condition pour la forme substituable n° 2 de la mini-gestion conditionnelle
+    \setminicondiprop{ii}{#1}}
+\NewDocumentCommand\setminicondipropiii{m}{%                                        % Interface pour redéfinir une propriété de condition pour la forme substituable n° 3 de la mini-gestion conditionnelle
+    \setminicondiprop{iii}{#1}}
+\NewDocumentCommand\setminicondipropiv{m}{%                                         % Interface pour redéfinir une propriété de condition pour la forme substituable n° 4 de la mini-gestion conditionnelle
+    \setminicondiprop{iv}{#1}}
+\NewDocumentCommand\setminicondipropv{m}{%                                          % Interface pour redéfinir une propriété de condition pour la forme substituable n° 5 de la mini-gestion conditionnelle
+    \setminicondiprop{v}{#1}}
+\NewDocumentCommand\setminicondipropvi{m}{%                                         % Interface pour redéfinir une propriété de condition pour la forme substituable n° 6 de la mini-gestion conditionnelle
+    \setminicondiprop{vi}{#1}}
+\NewDocumentCommand\setminicondipropvii{m}{%                                        % Interface pour redéfinir une propriété de condition pour la forme substituable n° 7 de la mini-gestion conditionnelle
+    \setminicondiprop{vii}{#1}}
+\NewDocumentCommand\setminicondipropviii{m}{%                                       % Interface pour redéfinir une propriété de condition pour la forme substituable n° 8 de la mini-gestion conditionnelle
+    \setminicondiprop{viii}{#1}}
+\NewDocumentCommand\setminicondipropix{m}{%                                         % Interface pour redéfinir une propriété de condition pour la forme substituable n° 9 de la mini-gestion conditionnelle
+   \setminicondiprop{ix}{#1}}
+
+%//// Commandes : mini-gestion conditionnelle : propriétés de condition : tests /
+\NewDocumentCommand\ifmncpnoresettingthenelse{m m}{%                                % Teste s'il y a eu réinitialisation des propriétés de condition
+    \ifthenelse{\equal{\useKV[mncpreset]{mncpreset}}{false}}
+        {#1}
+        {#2}}
+
+\NewDocumentCommand\ifmncpemptythenelse{m m m}{%                                    % Teste si la propriété de condition est renseignée
+    \ifthenelse{\equal{#1}{}}
+        {#2}
+        {#3}}
+
+\NewDocumentCommand\ifmncpnonethenelse{m m m}{%                                     % Teste si la propriété de condition est neutre
+    \ifthenelse{\equal{\useKV[mncp#1]{mncp#1}}{none}}
+        {#2 \errmsgifmncpnone{#1}}
+        {#3}}
+
+\NewDocumentCommand\ifmncpokthenelse{m m m}{%                                       % Teste si la propriété de condition est valide
+    \ifthenelse{\equal{\useKV[mncpi]{mncpi}}{#1}
+                \AND \not\equal{\useKV[mncpi]{mncpi}}{none}}
+        {#2}
+        {\ifthenelse{\equal{\useKV[mncpii]{mncpii}}{#1}
+                     \AND \not\equal{\useKV[mncpii]{mncpii}}{none}}
+            {#2}
+            {\ifthenelse{\equal{\useKV[mncpiii]{mncpiii}}{#1}
+                         \AND \not\equal{\useKV[mncpiii]{mncpiii}}{none}}
+                {#2}
+                {\ifthenelse{\equal{\useKV[mncpiv]{mncpiv}}{#1}
+                             \AND \not\equal{\useKV[mncpiv]{mncpiv}}{none}}
+                    {#2}
+                    {\ifthenelse{\equal{\useKV[mncpv]{mncpv}}{#1}
+                                 \AND \not\equal{\useKV[mncpv]{mncpv}}{none}}
+                        {#2}
+                        {\ifthenelse{\equal{\useKV[mncpvi]{mncpvi}}{#1}
+                                     \AND \not\equal{\useKV[mncpvi]{mncpvi}}{none}}
+                            {#2}
+                            {\ifthenelse{\equal{\useKV[mncpvii]{mncpvii}}{#1}
+                                         \AND \not\equal{\useKV[mncpvii]{mncpvii}}{none}}
+                                {#2}
+                                {\ifthenelse{\equal{\useKV[mncpviii]{mncpviii}}{#1}
+                                             \AND \not\equal{\useKV[mncpviii]{mncpviii}}{none}}
+                                    {#2}
+                                    {\ifthenelse{\equal{\useKV[mncpix]{mncpix}}{#1}
+                                                 \AND \not\equal{\useKV[mncpix]{mncpix}}{none}}
+                                        {#2}
+                                        {#3}}}}}}}}}}
+
+\NewDocumentCommand\ifmncpalreadyredefinedthenelse{m m m m}{%                       % Teste si une propriété de condition de même nom existe déjà
+    \ifthenelse{\equal{#1}{i}}
+        {\ifthenelse{%
+         \equal{\useKV[mncpii]{mncpii}}{#2} \OR%
+         \equal{\useKV[mncpiii]{mncpiii}}{#2} \OR%
+         \equal{\useKV[mncpiv]{mncpiv}}{#2} \OR%
+         \equal{\useKV[mncpv]{mncpv}}{#2} \OR%
+         \equal{\useKV[mncpvi]{mncpvi}}{#2} \OR%
+         \equal{\useKV[mncpvii]{mncpvii}}{#2} \OR%
+         \equal{\useKV[mncpviii]{mncpviii}}{#2} \OR%
+         \equal{\useKV[mncpix]{mncpix}}{#2}}
+            {#3}
+            {#4}}
+        {\ifthenelse{\equal{#1}{ii}}
+            {\ifthenelse{%
+             \equal{\useKV[mncpi]{mncpi}}{#2} \OR%
+             \equal{\useKV[mncpiii]{mncpiii}}{#2} \OR%
+             \equal{\useKV[mncpiv]{mncpiv}}{#2} \OR%
+             \equal{\useKV[mncpv]{mncpv}}{#2} \OR%
+             \equal{\useKV[mncpvi]{mncpvi}}{#2} \OR%
+             \equal{\useKV[mncpvii]{mncpvii}}{#2} \OR%
+             \equal{\useKV[mncpviii]{mncpviii}}{#2} \OR%
+             \equal{\useKV[mncpix]{mncpix}}{#2}}
+                {#3}
+                {#4}}
+            {\ifthenelse{\equal{#1}{iii}}
+                {\ifthenelse{%
+                 \equal{\useKV[mncpi]{mncpi}}{#2} \OR%
+                 \equal{\useKV[mncpii]{mncpii}}{#2} \OR%
+                 \equal{\useKV[mncpiv]{mncpiv}}{#2} \OR%
+                 \equal{\useKV[mncpv]{mncpv}}{#2} \OR%
+                 \equal{\useKV[mncpvi]{mncpvi}}{#2} \OR%
+                 \equal{\useKV[mncpvii]{mncpvii}}{#2} \OR%
+                 \equal{\useKV[mncpviii]{mncpviii}}{#2} \OR%
+                 \equal{\useKV[mncpix]{mncpix}}{#2}}
+                    {#3}
+                    {#4}}
+                {\ifthenelse{\equal{#1}{iv}}
+                    {\ifthenelse{%
+                     \equal{\useKV[mncpi]{mncpi}}{#2} \OR%
+                     \equal{\useKV[mncpii]{mncpii}}{#2} \OR%
+                     \equal{\useKV[mncpiii]{mncpiii}}{#2} \OR%
+                     \equal{\useKV[mncpv]{mncpv}}{#2} \OR%
+                     \equal{\useKV[mncpvi]{mncpvi}}{#2} \OR%
+                     \equal{\useKV[mncpvii]{mncpvii}}{#2} \OR%
+                     \equal{\useKV[mncpviii]{mncpviii}}{#2} \OR%
+                     \equal{\useKV[mncpix]{mncpix}}{#2}}
+                        {#3}
+                        {#4}}
+                    {\ifthenelse{\equal{#1}{v}}
+                        {\ifthenelse{%
+                         \equal{\useKV[mncpi]{mncpi}}{#2} \OR%
+                         \equal{\useKV[mncpii]{mncpii}}{#2} \OR%
+                         \equal{\useKV[mncpiii]{mncpiii}}{#2} \OR%
+                         \equal{\useKV[mncpiv]{mncpiv}}{#2} \OR%
+                         \equal{\useKV[mncpvi]{mncpvi}}{#2} \OR%
+                         \equal{\useKV[mncpvii]{mncpvii}}{#2} \OR%
+                         \equal{\useKV[mncpviii]{mncpviii}}{#2} \OR%
+                         \equal{\useKV[mncpix]{mncpix}}{#2}}
+                            {#3}
+                            {#4}}
+                        {\ifthenelse{\equal{#1}{vi}}
+                            {\ifthenelse{%
+                             \equal{\useKV[mncpi]{mncpi}}{#2} \OR%
+                             \equal{\useKV[mncpii]{mncpii}}{#2} \OR%
+                             \equal{\useKV[mncpiii]{mncpiii}}{#2} \OR%
+                             \equal{\useKV[mncpiv]{mncpiv}}{#2} \OR%
+                             \equal{\useKV[mncpv]{mncpv}}{#2} \OR%
+                             \equal{\useKV[mncpvii]{mncpvii}}{#2} \OR%
+                             \equal{\useKV[mncpviii]{mncpviii}}{#2} \OR%
+                             \equal{\useKV[mncpix]{mncpix}}{#2}}
+                                {#3}
+                                {#4}}
+                            {\ifthenelse{\equal{#1}{vii}}
+                                {\ifthenelse{%
+                                 \equal{\useKV[mncpi]{mncpi}}{#2} \OR%
+                                 \equal{\useKV[mncpii]{mncpii}}{#2} \OR%
+                                 \equal{\useKV[mncpiii]{mncpiii}}{#2} \OR%
+                                 \equal{\useKV[mncpiv]{mncpiv}}{#2} \OR%
+                                 \equal{\useKV[mncpv]{mncpv}}{#2} \OR%
+                                 \equal{\useKV[mncpvi]{mncpvi}}{#2} \OR%
+                                 \equal{\useKV[mncpviii]{mncpviii}}{#2} \OR%
+                                 \equal{\useKV[mncpix]{mncpix}}{#2}}
+                                    {#3}
+                                    {#4}}
+                                {\ifthenelse{\equal{#1}{viii}}
+                                    {\ifthenelse{%
+                                     \equal{\useKV[mncpi]{mncpi}}{#2} \OR%
+                                     \equal{\useKV[mncpii]{mncpii}}{#2} \OR%
+                                     \equal{\useKV[mncpiii]{mncpiii}}{#2} \OR%
+                                     \equal{\useKV[mncpiv]{mncpiv}}{#2} \OR%
+                                     \equal{\useKV[mncpv]{mncpv}}{#2} \OR%
+                                     \equal{\useKV[mncpvi]{mncpvi}}{#2} \OR%
+                                     \equal{\useKV[mncpviii]{mncpvii}}{#2} \OR%
+                                     \equal{\useKV[mncpix]{mncpix}}{#2}}
+                                        {#3}
+                                        {#4}}
+                                    {\ifthenelse{\equal{#1}{ix}}
+                                        {\ifthenelse{%
+                                         \equal{\useKV[mncpi]{mncpi}}{#2} \OR%
+                                         \equal{\useKV[mncpii]{mncpii}}{#2} \OR%
+                                         \equal{\useKV[mncpiii]{mncpiii}}{#2} \OR%
+                                         \equal{\useKV[mncpiv]{mncpiv}}{#2} \OR%
+                                         \equal{\useKV[mncpv]{mncpv}}{#2} \OR%
+                                         \equal{\useKV[mncpvi]{mncpvi}}{#2} \OR%
+                                         \equal{\useKV[mncpvii]{mncpvii}}{#2} \OR%
+                                         \equal{\useKV[mncpviii]{mncpvii}}{#2}}
+                                            {#3}
+                                            {#4}}
+                                        {}}}}}}}}}}
+
+%//// Commandes : mini-gestion conditionnelle : espaces de condition ////////////
+%////////////////////////////////////////////////////////////////////////////////
+\NewDocumentCommand\setminicondispace{m}{%                                          % Interface pour définir l'espace de condition relatif à la mini-gestion conditionnelle
+    \ifmncsemptythenelse{#1}                                                                % pc renseignée ?
+        {\errorifmncsempty{setminicondispace}}                                                  % non : message d'erreur sur ec
+        {\ifmncpokthenelse{#1}                                                                  % oui : pc valide ?
+            {\ifmncsalreadydefinedthenelse{#1}                                                      % oui : ec déjà défini ?
+                {\errorifmncsalreadydefined{setminicondispace}{#1}}                                     % oui : message d'erreur sur ec
+                {\setKVdefault[mncs]{cs=#1}}}                                                           % non : définit l'ec
+            {\errorifmncpnonok{setminicondispace}}}}                                                % non : message d'erreur sur pc
+
+\NewDocumentCommand\ifmncsemptythenelse{m m m}{%                                    % Teste si l'espace de condition relatif à la mini-gestion conditionnelle est renseigné
+    \ifthenelse{\equal{#1}{}}
+        {#2 \errmsgifmncsempty{}}
+        {#3}}
+
+%//// Commandes : mini-gestion conditionnelle : espaces de condition : test /////
+\NewDocumentCommand\ifmncsalreadydefinedthenelse{m m m}{%                           % Teste si l'espace de condition relatif à la mini-gestion conditionnelle est déjà défini
+    \ifthenelse{\equal{\useKV[mncs]{cs}}{#1}}
+        {#2}
+        {#3}}
+
+%//// Commandes : mini-gestion conditionnelle : formes substituables ////////////
+%////////////////////////////////////////////////////////////////////////////////
+\NewDocumentCommand\minidisplay{m m m}{%                                            % Affiche une forme substituable en mini-gestion conditionnelle
+    \ifmncpnonethenelse{#1}                                                                 % pc neutre ?
+        {}                                                                                      % oui : n'affiche rien
+        {\ifmatchingmncsthenelse{#1}                                                            % non : ec correspondant ?
+            {#2}                                                                                    % oui
+            {#3}}}                                                                                  % non
+
+\NewDocumentCommand\ifmatchingmncsthenelse{m m m}{%                                 % Teste s'il existe un espace de condition pour mini-gestion condit. correspondant à la propriété de condition renseignée
+    \ifthenelse{\equal{\useKV[mncs]{cs}}{\useKV[mncp#1]{mncp#1}}}
+        {#2}
+        {#3}}
+
+\NewDocumentCommand\minidisplayi{m m}{\minidisplay{i}{#1}{#2}}                      % Affiche la forme substituable n° 1 de la mini-gestion conditionnelle
+\NewDocumentCommand\minidisplayii{m m}{\minidisplay{ii}{#1}{#2}}                    % Affiche la forme substituable n° 2 de la mini-gestion conditionnelle
+\NewDocumentCommand\minidisplayiii{m m}{\minidisplay{iii}{#1}{#2}}                  % Affiche la forme substituable n° 3 de la mini-gestion conditionnelle
+\NewDocumentCommand\minidisplayiv{m m}{\minidisplay{iv}{#1}{#2}}                    % Affiche la forme substituable n° 4 de la mini-gestion conditionnelle
+\NewDocumentCommand\minidisplayv{m m}{\minidisplay{v}{#1}{#2}}                      % Affiche la forme substituable n° 5 de la mini-gestion conditionnelle
+\NewDocumentCommand\minidisplayvi{m m}{\minidisplay{vi}{#1}{#2}}                    % Affiche la forme substituable n° 6 de la mini-gestion conditionnelle
+\NewDocumentCommand\minidisplayvii{m m}{\minidisplay{vii}{#1}{#2}}                  % Affiche la forme substituable n° 7 de la mini-gestion conditionnelle
+\NewDocumentCommand\minidisplayviii{m m}{\minidisplay{viii}{#1}{#2}}                % Affiche la forme substituable n° 8 de la mini-gestion conditionnelle
+\NewDocumentCommand\minidisplayix{m m}{\minidisplay{xi}{#1}{#2}}                    % Affiche la forme substituable n° 9 de la mini-gestion conditionnelle
+
+\NewDocumentCommand\miniconditext{m  O{}  O{}  O{}  O{}  O{}  O{}  O{}  O{}}{%      % Interface pour contenus substituables en mini-gestion conditionnelle
+    \minidisplayi{#1}{%
+        \minidisplayii{#2}{%
+            \minidisplayiii{#3}{%
+                \minidisplayiv{#4}{%
+                    \minidisplayv{#5}{%
+                        \minidisplayvi{#6}{%
+                            \minidisplayvii{#7}{%
+                                \minidisplayviii{#8}{%
+                                    \minidisplayix{#9}{}}}}}}}}}}
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// MESSAGES D'ERREUR /////////////////////////////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// Messages d'erreur : gestion conditionnelle ////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+
+%//// Messages d'erreur : gestion conditionnelle : domaines de condition ////////
+%////////////////////////////////////////////////////////////////////////////////
+
+%//// Messages d'erreur : gestion conditionnelle : domaines de condition : non renseigné
+\edef\errtxtifcfempty{no condition field entered}                                   % Message d'erreur en cas de domaine de condition non renseigné
+\edef\hlptxtifcfempty{You must not leave the argument empty : %                     % Message d'aide en cas de domaine de condition non renseigné
+                      a condition field must be entered}
+
+\NewDocumentCommand\errorifcfempty{m}{%                                             % Erreur déclenchée en cas de domaine de condition non renseigné
+    \PackageError{conditext}%
+        {#1 statement failed --> \errtxtifcfempty}%
+        {\hlptxtifcfempty.}}
+
+%//// Messages d'erreur : gestion conditionnelle : domaines de condition : non créé
+\edef\errtxtifcfnoncreated{condition field not created}                             % Message d'erreur en cas de domaine de condition non créé
+\edef\hlptxtifcfnoncreated{You may not have created the condition field %           % Message d'aide en cas de domaine de condition non créé
+                           whose name is entered : use a newcondifield %
+                           statement to make it}
+
+\NewDocumentCommand\errorifcfnoncreated{m m}{%                                      % Erreur déclenchée en cas de domaine de condition non créé
+    \PackageError{conditext}%
+        {#1 statement with "#2" failed --> \errtxtifcfnoncreated}%
+        {\hlptxtifcfnoncreated.}}
+
+%//// Messages d'erreur : gestion conditionnelle : domaines de condition : déjà créé
+\edef\errtxtifcfalreadycreated{condition field already created}                     % Message d'erreur en cas de domaine de condition déjà créé
+\edef\hlptxtifcfalreadycreated{There must not be two condition fields with %        % Message d'aide en cas de domaine de condition déjà créé
+                               the same name : you should check in the preamble %
+                               if there is not another newcondifield statement %
+                               already defined with the same name as argument}
+
+\NewDocumentCommand\errorifcfalreadycreated{m m}{%                                  % Erreur déclenchée en cas de domaine de condition déjà créé
+    \PackageError{conditext}%
+        {#1 statement with "#2" failed --> \errtxtifcfalreadycreated}%
+        {\hlptxtifcfalreadycreated.}}
+
+%//// Messages d'erreur : gestion conditionnelle : propriétés de condition //////
+%////////////////////////////////////////////////////////////////////////////////
+
+%//// Messages d'erreur : gestion conditionnelle : propriétés de condition : non renseignée
+\edef\errtxtifcpempty{no condition property entered}                                % Message d'erreur en cas de propriété de condition non renseignée
+\edef\hlptxtifcpempty{You must not leave the argument empty : %                     % Message d'aide en cas de propriété de condition non renseignée
+                      a condition property must be entered}
+
+\NewDocumentCommand\errorifcpempty{m}{%                                             % Erreur déclenchée en cas de propriété de condition non renseignée
+    \PackageError{conditext}%
+        {#1 statement failed --> \errtxtifcpempty}%
+        {\hlptxtifcpempty.}}
+
+%//// Messages d'erreur : gestion conditionnelle : propriétés de condition : non créée
+\edef\errtxtifcpnoncreated{condition property non created}                          % Message d'erreur en cas de propriété de condition non créée
+\edef\hlptxtifcpnoncreated{You may not have created the condition property %        % Message d'aide en cas de propriété de condition non créée
+                           whose name you have entered : use a newcondiprop %
+                           statement to make it}
+
+\NewDocumentCommand\errorifcpnoncreated{m m}{%                                      % Erreur déclenchée en cas de propriété de condition non créée
+    \PackageError{conditext}%
+        {#1 statement with "#2" failed --> \errtxtifcpnoncreated}%
+        {\hlptxtifcpnoncreated.}}
+
+%//// Messages d'erreur : gestion conditionnelle : propriétés de condition : non créée ou inapproprié
+\edef\errtxtifcpnonok{\errtxtifcpnoncreated, or unsuitable}                         % Message d'erreur en cas de propriété de condition non créée ou inappropriée
+\edef\hlptxtifcpnonok{\hlptxtifcpnoncreated. Or maybe, you should look for %        % Message d'aide en cas de propriété de condition non créée ou inappropriée
+                       a suitable condition property among the ones created %
+                       with link to the condition field entered in the first argument}
+
+\NewDocumentCommand\errorifcpnonok{m m}{%                                           % Erreur déclenchée en cas de propriété de condition non créée ou inappropriée
+    \PackageError{conditext}%
+        {#1 statement with "#2" failed --> \errtxtifcpnonok}%
+        {\hlptxtifcpnonok.}}
+
+%//// Messages d'erreur : gestion conditionnelle : propriétés de condition : déjà créée
+\edef\errtxtifcpalreadycreated{condition property already created}                  % Message d'erreur en cas de propriété de condition déjà créée
+\edef\hlptxtifcpalreadycreated{There must not be two condition properties with %    % Message d'aide en cas de propriété de condition déjà créée
+                               the same name when linked to the same condition field : %
+                               you should check in the preamble if there is not %
+                               another newcondiprop statement already defined %
+                               with the same names of condition field and %
+                               condition property as arguments}
+
+\NewDocumentCommand\errorifcpalreadycreated{m m}{%                                  % Erreur déclenchée en cas de propriété de condition déjà créée
+    \PackageError{conditext}%
+        {#1 statement with "#2" failed --> \errtxtifcpalreadycreated}%
+        {\hlptxtifcpalreadycreated.}}
+
+%//// Messages d'erreur : gestion conditionnelle : espaces de condition /////////
+%////////////////////////////////////////////////////////////////////////////////
+
+%//// Messages d'erreur : gestion conditionnelle : espaces de condition : déjà défini
+\edef\errtxtifcsalreadydefined{condition space already defined}                     % Message d'erreur en cas d'espace de condition déjà défini
+\edef\hlptxtifcsalreadydefined{You should check if there is not another %           % Message d'aide en cas d'espace de condition déjà défini
+                               setcondispace statement already defined %
+                               with the same names of condition field and %
+                               condition property as arguments}
+
+\NewDocumentCommand\errorifcsalreadydefined{m m m}{%                                % Erreur déclenchée en cas d'espace de condition déjà défini
+    \PackageError{conditext}%
+        {#1 statement with "#2" et "#3" failed --> \errtxtifcsalreadydefined}%
+        {\hlptxtifcsalreadydefined.}}
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// Messages d'erreur : mini-gestion conditionnelle ///////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+
+%//// Messages d'erreur : mini-gestion conditionnelle : propriétés de condition /
+%////////////////////////////////////////////////////////////////////////////////
+
+%//// Messages d'erreur : mini-gestion conditionnelle : propriétés de condition : non réinitialisation
+\edef\errtxtifmncpnoresetting{no resetting of the condition properties %            % Message d'erreur en cas de non réinitialisation
+                              has been made}
+\edef\hlptxtifmncpnoresetting{You must use a resettingminicondiprops statement %    % Message d'aide en cas de propriété de non réinitialisation
+                              before redefining the condition properties}
+
+\NewDocumentCommand\errorifmncpnoresetting{m}{%                                     % Erreur déclenchée en cas de propriété de non réinitialisation
+    \PackageError{conditext}%
+        {#1 statement failed --> \errtxtifmncpnoresetting}%
+        {\hlptxtifmncpnoresetting.}}
+
+%//// Messages d'erreur : mini-gestion conditionnelle : propriétés de condition : non renseignée
+\edef\errtxtifmncpempty{no condition property entered}                              % Message d'erreur en cas de propriété de condition non renseignée
+\edef\hlptxtifmncpempty{You must not leave the argument empty : %                   % Message d'aide en cas de propriété de condition non renseignée
+                        a condition property must be entered}
+
+\NewDocumentCommand\errorifmncpempty{m}{%                                           % Erreur déclenchée en cas de propriété de condition non renseignée
+    \PackageError{conditext}%
+        {#1 statement failed --> \errtxtifmncpempty}%
+        {\hlptxtifmncpempty.}}
+
+%//// Messages d'erreur : mini-gestion conditionnelle : propriétés de condition : déjà redéfinie
+\edef\errtxtifmncpalreadyredefined{condition property already redefined}            % Message d'erreur en cas de propriété de condition déjà redéfinie
+\edef\hlptxtifmncpalreadyredefined{There must not be two condition properties %     % Message d'aide en cas de propriété de condition déjà redéfinie
+                                   with the same name in a mini conditional management : %
+                                   you should check in the preamble if there is not %
+                                   another setminicondiprop- statement already defined %
+                                   with the same name as argument}
+
+\NewDocumentCommand\errorifmncpalreadyredefined{m m}{%                              % Erreur déclenchée en cas de propriété de condition déjà redéfinie
+    \PackageError{conditext}%
+        {#1 statement with "#2" failed --> \errtxtifmncpalreadyredefined}%
+        {\hlptxtifmncpalreadyredefined.}}
+
+%//// Messages d'erreur : mini-gestion conditionnelle : propriétés de condition : neutre
+\edef\errtxtifmncpnone{condition property with "none" status}                       % Message d'erreur en cas de propriété de condition neutre
+\edef\hlptxtifmncpnone{You must not use a condition property with a "none" status : % Message d'aide en cas de propriété de condition neutre
+                       redefine it using a setminicondiprop- statement}
+
+\NewDocumentCommand\errorifmncpnone{m m}{%                                          % Erreur déclenchée en cas de propriété de condition neutre
+    \PackageError{conditext}%
+        {#1 statement failed --> \errtxtifmncpalreadyredefined}%
+        {\hlptxtifmncpalreadyredefined.}}
+
+%//// Messages d'erreur : mini-gestion conditionnelle : propriétés de condition : valide
+\edef\errtxtifmncpnonok{\errtxtifmncpnone, or unknown}                              % Message d'erreur en cas de propriété de condition neutre ou saisie erronément
+\edef\hlptxtifmncpnonok{\hlptxtifmncpnone. Or you should check if %                 % Message d'aide en cas de propriété de condition neutre ou saisie erronément
+                        the condition property is correctly entered}
+
+\NewDocumentCommand\errorifmncpnonok{m}{%                                           % Erreur déclenchée en cas de propriété de condition neutre ou saisie erronément
+    \PackageError{conditext}%
+        {#1 statement failed --> \errtxtifmncpnonok}%
+        {\hlptxtifmncpnonok.}}
+
+%//// Messages d'erreur : mini-gestion conditionnelle : espaces de condition ////
+%////////////////////////////////////////////////////////////////////////////////
+
+%//// Messages d'erreur : mini-gestion conditionnelle : espaces de condition : non renseigné
+\edef\errtxtifmncsempty{no condition space entered}                                 % Message d'erreur en cas d'espace de condition non renseigné
+\edef\hlptxtifmncsempty{You must not leave the argument empty : %                   % Message d'aide en cas d'espace de condition non renseigné
+                        a condition space must be entered}
+
+\NewDocumentCommand\errorifmncsempty{m}{%                                           % Erreur déclenchée en cas d'espace de condition non renseigné
+    \PackageError{conditext}%
+        {#1 statement failed --> \errtxtifmncsempty}%
+        {\hlptxtifmncsempty.}}
+
+%//// Messages d'erreur : mini-gestion conditionnelle : espaces de condition : déjà défini
+\edef\errtxtifmncsalreadydefined{condition space already defined}                   % Message d'erreur en cas d'espace de condition déjà défini
+\edef\hlptxtifmncsalreadydefined{You should check if there is not %                 % Message d'aide en cas d'espace de condition déjà défini
+                                 another setminicondispace statement already defined %
+                                 with the same name as argument}
+
+\NewDocumentCommand\errorifmncsalreadydefined{m m}{%                                % Erreur déclenchée en cas d'espace de condition déjà défini
+    \PackageError{conditext}%
+        {#1 statement with "#2" failed --> \errtxtifmncsalreadydefined}%
+        {\hlptxtifmncsalreadydefined.}}
+
+%////////////////////////////////////////////////////////////////////////////////
+%//// Valeurs d'éléments prédéfinis /////////////////////////////////////////////
+%////////////////////////////////////////////////////////////////////////////////
+
+%//// Valeurs d'éléments prédéfinis : domaine de condition linguistique /////////
+%////////////////////////////////////////////////////////////////////////////////
+\newcondifield{language}
+
+%//// Valeurs d'éléments prédéfinis : domaine de condition implicite ////////////
+%////////////////////////////////////////////////////////////////////////////////
+\setimplicitcondifield{language}
+
+%//// Valeurs d'éléments prédéfinis : domaines de condition génériques //////////
+%////////////////////////////////////////////////////////////////////////////////
+\newcondifield{fieldi}
+\newcondifield{fieldii}
+\newcondifield{fieldiii}
+
+%//// Valeurs d'éléments prédéfinis : propriétés de condition linguistiques /////
+%////////////////////////////////////////////////////////////////////////////////
+\newcondiprop{language}{albanian}
+\newcondiprop{language}{american}
+\newcondiprop{language}{arabic}
+\newcondiprop{language}{armenian}
+\newcondiprop{language}{bosnian}
+\newcondiprop{language}{brazilian}
+\newcondiprop{language}{breton}
+\newcondiprop{language}{canadian}
+\newcondiprop{language}{cantonese}
+\newcondiprop{language}{catalan}
+\newcondiprop{language}{chinese}
+\newcondiprop{language}{croatian}
+\newcondiprop{language}{czech}
+\newcondiprop{language}{danish}
+\newcondiprop{language}{dutch}
+\newcondiprop{language}{english}
+\newcondiprop{language}{esperanto}
+\newcondiprop{language}{estonian}
+\newcondiprop{language}{finnish}
+\newcondiprop{language}{french}
+\newcondiprop{language}{georgian}
+\newcondiprop{language}{german}
+\newcondiprop{language}{greek}
+\newcondiprop{language}{hebrew}
+\newcondiprop{language}{hungarian}
+\newcondiprop{language}{icelandic}
+\newcondiprop{language}{irish}
+\newcondiprop{language}{italian}
+\newcondiprop{language}{japanese}
+\newcondiprop{language}{lithuanian}
+\newcondiprop{language}{luxemburgish}
+\newcondiprop{language}{macedonian}
+\newcondiprop{language}{mexican}
+\newcondiprop{language}{norsk}
+\newcondiprop{language}{occitan}
+\newcondiprop{language}{portuguese}
+\newcondiprop{language}{romanian}
+\newcondiprop{language}{romansh}
+\newcondiprop{language}{russian}
+\newcondiprop{language}{sanskrit}
+\newcondiprop{language}{serbian}
+\newcondiprop{language}{slovenian}
+\newcondiprop{language}{spanish}
+\newcondiprop{language}{swedish}
+\newcondiprop{language}{tibetan}
+\newcondiprop{language}{turkish}
+\newcondiprop{language}{ukrainian}
+\newcondiprop{language}{vietnamese}
+
+%//// Valeurs d'éléments prédéfinis : propriétés de condition génériques ////////
+%////////////////////////////////////////////////////////////////////////////////
+\newcondiprop{fieldi}{propa}
+\newcondiprop{fieldi}{propb}
+\newcondiprop{fieldi}{propc}
+\newcondiprop{fieldi}{propd}
+\newcondiprop{fieldi}{prope}
+\newcondiprop{fieldi}{propf}
+\newcondiprop{fieldi}{propg}
+\newcondiprop{fieldi}{proph}
+\newcondiprop{fieldi}{propi}
+
+\newcondiprop{fieldii}{propaa}
+\newcondiprop{fieldii}{propbb}
+\newcondiprop{fieldii}{propcc}
+\newcondiprop{fieldii}{propdd}
+\newcondiprop{fieldii}{propee}
+\newcondiprop{fieldii}{propff}
+\newcondiprop{fieldii}{propgg}
+\newcondiprop{fieldii}{prophh}
+\newcondiprop{fieldii}{propii}
+
+\newcondiprop{fieldiii}{propaaa}
+\newcondiprop{fieldiii}{propbbb}
+\newcondiprop{fieldiii}{propccc}
+\newcondiprop{fieldiii}{propddd}
+\newcondiprop{fieldiii}{propeee}
+\newcondiprop{fieldiii}{propfff}
+\newcondiprop{fieldiii}{propggg}
+\newcondiprop{fieldiii}{prophhh}
+\newcondiprop{fieldiii}{propiii}
-- 
cgit v1.2.3

