diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/xstring/test_etex.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/xstring/test_etex.tex | 418 |
1 files changed, 406 insertions, 12 deletions
diff --git a/Master/texmf-dist/doc/generic/xstring/test_etex.tex b/Master/texmf-dist/doc/generic/xstring/test_etex.tex index a629c1a9958..8268b043e56 100644 --- a/Master/texmf-dist/doc/generic/xstring/test_etex.tex +++ b/Master/texmf-dist/doc/generic/xstring/test_etex.tex @@ -1,34 +1,43 @@ -%%%%%%%% ATTENTION %%%%%%%% -% Ceci n'est pas un fichier LaTeX, c'est un fichier TeX. -% Il doit être compilé avec eteX en tapant <etex test_etex> %%%%%%%% WARNING %%%%%%%% % This is not a LaTeX file, it is a TeX file. % It must be compiled with eTeX typing <etex test_etex> +%%%%%%%% ATTENTION %%%%%%%% +% Ceci n'est pas un fichier LaTeX, c'est un fichier TeX. +% Il doit être compil\'e avec eteX en tapant <etex test_etex> \input xstring \def\delimiteur{-{}} \font\hugerm=cmr10 scaled 1750 +\font\hugett=cmtt10 scaled 1750 \font\largeboldrm=cmbx10 scaled 1300 \font\largett=cmtt10 scaled 1300 \catcode`\@=11\relax \gdef\exemple{\@ifstar{\def\frontiere{\delimiteur}\@xs@MakeVerb}{\def\frontiere{}\@xs@MakeVerb}} -\gdef\@xs@afterreadverb#1{% +\def\@xs@afterreadverb#1{% \normalexpandarg \tokenize\cs@resultat{#1}% \fullexpandarg - \hbox to 16.5cm{\hbox to 11.5cm{\hfil\tt#1}\hskip1em\frontiere\cs@resultat\frontiere\hfil}\par} + \leavevmode\hbox to13cm{\hfil\tt#1}\hskip1em\frontiere\cs@resultat\frontiere\hfil\par} \catcode`\@=12\relax \def\chapitre#1#2{\vskip 6pt plus 2pt minus 2pt{{\largeboldrm#1} {\largett#2}}\vskip 3pt plus 1pt minus 1pt} \def\AvecArgOptionnel{\vskip 6pt plus 2pt minus 2pt M\^emes exemples avec l'argument optionnel :\par} -\parindent0pt +\hoffset-1.54cm\hsize19cm\parindent0pt % debut du texte -\hfil{\hugerm Ceci est le fichier de test de xstring}\hfil{}\vskip2em +\hfil{\hugerm Ceci est le fichier de test de xstring}\hfil{} + +\hrule\vskip0.5ex + +\hrule\vskip2ex -Ce fichier {\tt test\_etex.tex} produit une sortie quasiment identique au fichier {\tt test\_latex.tex}, mais il doit se lancer avec Plain $\varepsilon$-\TeX. Pour des raison d'encodage, contrairement au fichier {\tt test\_latex.tex}, les arguments des macros pr\'esent\'ees ici ne contiennent pas de lettres accentu\'ees.\vskip2em +Attention : ce fichier {\tt test\_etex.tex} produit une sortie quasiment identique au fichier {\tt test\_latex.tex}, mais il doit se lancer avec Plain $\varepsilon$-\TeX. Pour des raison d'encodage, contrairement au fichier {\tt test\_latex.tex}, les arguments des macros pr\'esent\'ees ici ne contiennent pas de lettres accentu\'ees.\vskip2em Toutes les situations ne sont pas envisag\'ees, mais au moins un grand nombre ! Les macros sont examin\'ees dans l'ordre logique du code. Lorsque le r\'esultat contient des espaces ou peut conduire \`a des doutes, il sera entour\'e de ''\delimiteur``, \'etant entendu que ''\delimiteur\delimiteur`` est une cha\^\i ne vide.\vskip2em +\hfill{\hugerm Le mode \hugett\string\fullexpandarg}\hfill{} + +\vskip-1ex\hfil\hbox to8cm{\hrulefill}\hfil{}\vskip3.5ex + \chapitre{Le test}{IfSubStr} \exemple|\IfSubStr{abcdef}{cd}{vrai}{faux}| @@ -528,7 +537,6 @@ Lorsque le r\'esultat contient des espaces ou peut conduire \`a des doutes, il s La tol\'erance normale :\par \exemple|\StrCompare{abcdefghij}{abc}| \exemple|\StrCompare{A}{A}| -\exemple|\StrCompare{éçà}{éçà}| \exemple|\StrCompare{abcdef}{a bd}| \exemple|\StrCompare{ }{ }| \exemple|\StrCompare{}{abcd}| @@ -544,7 +552,6 @@ La tol\'erance normale :\par \AvecArgOptionnel \exemple|\StrCompare{abcdefghij}{abc}[\aa]\aa| \exemple|\StrCompare{A}{A}[\aa]\aa| -\exemple|\StrCompare{éçà}{éçà}[\aa]\aa| \exemple|\StrCompare{abcdef}{a bd}[\aa]\aa| \exemple|\StrCompare{ }{ }[\aa]\aa| \exemple|\StrCompare{}{abcd}[\aa]\aa| @@ -560,7 +567,6 @@ La tol\'erance normale :\par La tol\'erance stricte :\par\comparestrict \exemple|\StrCompare{abcdefghij}{abc}| \exemple|\StrCompare{A}{A}| -\exemple|\StrCompare{éçà}{éçà}| \exemple|\StrCompare{abcdef}{a bd}| \exemple|\StrCompare{ }{ }| \exemple|\StrCompare{}{abcd}| @@ -576,7 +582,6 @@ La tol\'erance stricte :\par\comparestrict \AvecArgOptionnel \exemple|\StrCompare{abcdefghij}{abc}[\aa]\aa| \exemple|\StrCompare{A}{A}[\aa]\aa| -\exemple|\StrCompare{éçà}{éçà}[\aa]\aa| \exemple|\StrCompare{abcdef}{a bd}[\aa]\aa| \exemple|\StrCompare{ }{ }[\aa]\aa| \exemple|\StrCompare{}{abcd}[\aa]\aa| @@ -588,4 +593,393 @@ La tol\'erance stricte :\par\comparestrict \exemple|\StrCompare{eeee}{eee}[\aa]\aa| \exemple|\StrCompare{totutu}{tututu}[\aa]\aa| \exemple|\StrCompare{abcd}{abyz}[\aa]\aa| +\vskip5em + +\hfill{\hugerm Le mode \hugett\string\noexpandarg}\hfill{} + +\vskip-1ex\hfil\hbox to8cm{\hrulefill}\hfil{}\vskip3.5ex + +Dans toute la suite sauf si c'est pr\'ecis\'e, la commande {\tt\string\noexpandarg} est activ\'ee.\vskip1.5ex + +\catcode`\@=11\relax +\long\def\@xs@afterreadverb#1{% + \tokenize\cs@resultat{#1}% + \leavevmode\hbox to13cm{\hfil\tt#1}\quad\frontiere\cs@resultat\frontiere\hfil\par}% +\catcode`\@=12\relax +\noexpandarg + +\chapitre{Le test}{IfSubStr} + +\exemple|\noexploregroups| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{2}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{34}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{{34}}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{\b}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{\bc}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{\bc5}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{\bc{5}}{vrai}{faux}| +\exemple|\IfSubStr[1]{\a1{\a1{\a1}\a2}\a3}{\a}{vrai}{faux}| +\exemple|\IfSubStr[2]{\a1{\a1{\a1}\a2}\a3}{\a}{vrai}{faux}| +\exemple|\IfSubStr[3]{\a1{\a1{\a1}\a2}\a3}{\a}{vrai}{faux}| +\exemple|\IfSubStr[4]{\a1{\a1{\a1}\a2}\a3}{\a}{vrai}{faux}| +\exemple|\exploregroups| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{2}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{34}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{{34}}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{\b}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{\bc}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{\bc5}{vrai}{faux}| +\exemple|\IfSubStr{1$2$\a{34}\bc5}{\bc{5}}{vrai}{faux}| +\exemple|\IfSubStr[1]{\a1{\a1{\a1}\a2}\a3}{\a}{vrai}{faux}| +\exemple|\IfSubStr[2]{\a1{\a1{\a1}\a2}\a3}{\a}{vrai}{faux}| +\exemple|\IfSubStr[3]{\a1{\a1{\a1}\a2}\a3}{\a}{vrai}{faux}| +\exemple|\IfSubStr[4]{\a1{\a1{\a1}\a2}\a3}{\a}{vrai}{faux}| + +\chapitre{Le test}{IfBeginWith} + +Les tests doivent donner des r\'esultats identiques ci-dessous puisque {\tt\string\IfBeginWith} est indiff\'erent au mode d'exploration des groupes !\vskip0.7ex + +\exemple|\noexploregroups| +\exemple|\IfBeginWith{{\a}123\b456}{\a}{vrai}{faux}| +\exemple|\IfBeginWith{{\a}123\b456}{{\a}}{vrai}{faux}| +\exemple|\IfBeginWith{{\a1}\b\c\d}{\a}{vrai}{faux}| +\exemple|\IfBeginWith{{1}23456}{12}{vrai}{faux}| +\exemple|\IfBeginWith{{1}23456}{1}{vrai}{faux}| +\exemple|\IfBeginWith{{1}23456}{{1}2}{vrai}{faux}| +\exemple|\exploregroups| +\exemple|\IfBeginWith{{\a}123\b456}{\a}{vrai}{faux}| +\exemple|\IfBeginWith{{\a}123\b456}{{\a}}{vrai}{faux}| +\exemple|\IfBeginWith{{\a1}\b\c\d}{\a}{vrai}{faux}| +\exemple|\IfBeginWith{{1}23456}{12}{vrai}{faux}| +\exemple|\IfBeginWith{{1}23456}{1}{vrai}{faux}| +\exemple|\IfBeginWith{{1}23456}{{1}2}{vrai}{faux}| + +\chapitre{Le test}{IfEndWith} + +Les tests doivent donner des r\'esultats identiques ci-dessous puisque {\tt\string\IfEndWith} est indiff\'erent au mode d'exploration des groupes !\vskip0.7ex + +\exemple|\noexploregroups| +\exemple|\IfEndWith{\a1\b2{\c3}}{\c3}{vrai}{faux}| +\exemple|\IfEndWith{\a1\b2{\c3}}{{\c3}}{vrai}{faux}| +\exemple|\IfEndWith{\a1\b2{\c3}}{3}{vrai}{faux}| +\exemple|\IfEndWith{12345{6}}{56}{vrai}{faux}| +\exemple|\IfEndWith{12345{6}}{6}{vrai}{faux}| +\exemple|\IfEndWith{12345{6}}{5{6}}{vrai}{faux}| +\exemple|\exploregroups| +\exemple|\IfEndWith{\a1\b2{\c3}}{\c3}{vrai}{faux}| +\exemple|\IfEndWith{\a1\b2{\c3}}{{\c3}}{vrai}{faux}| +\exemple|\IfEndWith{\a1\b2{\c3}}{3}{vrai}{faux}| +\exemple|\IfEndWith{12345{6}}{56}{vrai}{faux}| +\exemple|\IfEndWith{12345{6}}{6}{vrai}{faux}| +\exemple|\IfEndWith{12345{6}}{5{6}}{vrai}{faux}| + +\chapitre{Le test}{IfSubStrBefore} + +\exemple|\noexploregroups| +\exemple|\IfSubStrBefore[1,1]{\a1\a2\a3\b1\b2\b3}{2}{\b}{vrai}{faux}| +\exemple|\IfSubStrBefore[2,1]{\a1\a2\a3\b1\b2\b3}{2}{\b}{vrai}{faux}| +\exemple|\IfSubStrBefore[2,3]{\a1\a2\a3\b1\b2\b3}{\a}{\b}{vrai}{faux}| +\exemple|\IfSubStrBefore[1,1]{\a1{\a2\a3\b1}\b2\b3}{2}{\b}{vrai}{faux}| +\exemple|\IfSubStrBefore[1,2]{\a1{\a2\a3\b1}\b2\b3}{3}{\b}{vrai}{faux}| +\exemple|\exploregroups| +\exemple|\IfSubStrBefore[1,1]{\a1\a2\a3\b1\b2\b3}{2}{\b}{vrai}{faux}| +\exemple|\IfSubStrBefore[2,1]{\a1\a2\a3\b1\b2\b3}{2}{\b}{vrai}{faux}| +\exemple|\IfSubStrBefore[2,3]{\a1\a2\a3\b1\b2\b3}{\a}{\b}{vrai}{faux}| +\exemple|\IfSubStrBefore[1,1]{\a1{\a2\a3\b1}\b2\b3}{2}{\b}{vrai}{faux}| +\exemple|\IfSubStrBefore[1,2]{\a1{\a2\a3\b1}\b2\b3}{3}{\b}{vrai}{faux}| + +\chapitre{Le test}{IfStrBehind} + +\exemple|\noexploregroups| +\exemple|\IfSubStrBehind[2,1]{\a1\a2\a3\b1\b2\b3}{2}{\b}{vrai}{faux}| +\exemple|\IfSubStrBehind[3,1]{\a1\a2\a3\b1\b2\b3}{\a}{\b}{vrai}{faux}| +\exemple|\IfSubStrBehind[1,1]{\a1\a2\a3\b1\b2\b3}{\b}{3}{vrai}{faux}| +\exemple|\IfSubStrBehind[2,1]{\a1{\a2\a3\b1}\b2\b3}{\b}{3}{vrai}{faux}| +\exemple|\IfSubStrBehind[1,1]{\a1{\a2\a3\b1}\b2\b3}{3}{\b}{vrai}{faux}| +\exemple|\exploregroups| +\exemple|\IfSubStrBehind[2,1]{\a1\a2\a3\b1\b2\b3}{2}{\b}{vrai}{faux}| +\exemple|\IfSubStrBehind[3,1]{\a1\a2\a3\b1\b2\b3}{\a}{\b}{vrai}{faux}| +\exemple|\IfSubStrBehind[1,1]{\a1\a2\a3\b1\b2\b3}{\b}{3}{vrai}{faux}| +\exemple|\IfSubStrBehind[2,1]{\a1{\a2\a3\b1}\b2\b3}{\b}{3}{vrai}{faux}| +\exemple|\IfSubStrBehind[1,1]{\a1{\a2\a3\b1}\b2\b3}{3}{\b}{vrai}{faux}| + +\chapitre{Le test}{IfInteger} + +Dans les exemples ci-dessous, on examine la diff\'erence de comportement de la macro {\tt\string\IfInteger} selon les modes de d\'eveloppement des arguments.\vskip0.7ex + +\exemple|\def\nbA{-12}\def\nbB{498}| +\exemple|\def\nbAA{\nbA}\def\nbBB{\nbB}|\vskip0.7ex +\exemple|\fullexpandarg| +\exemple|\IfInteger{\nbA}{vrai}{faux}| +\exemple|\IfInteger{\nbA5\nbA}{vrai}{faux}| +\exemple|\IfInteger{\nbA6\nbB}{vrai}{faux}| +\exemple|\IfInteger{\nbAA7\nbBB}{vrai}{faux}|\vskip0.7ex +\exemple|\expandarg| +\exemple|\IfInteger{\nbA}{vrai}{faux}| +\exemple|\IfInteger{\nbA5\nbA}{vrai}{faux}| +\exemple|\IfInteger{\nbA6\nbB}{vrai}{faux}| +\exemple|\IfInteger{\nbAA7\nbBB}{vrai}{faux}|\vskip0.7ex +\exemple|\noexpandarg| +\exemple|\IfInteger{\nbA}{vrai}{faux}| +\exemple|\IfInteger{\nbA5\nbA}{vrai}{faux}| +\exemple|\IfInteger{\nbA6\nbB}{vrai}{faux}| +\exemple|\IfInteger{\nbAA7\nbBB}{vrai}{faux}| + +\chapitre{Le test}{IfDecimal} + +Dans les exemples ci-dessous, on examine la diff\'erence de comportement de la macro {\tt\string\IfDecimal} selon les modes de d\'eveloppement des arguments.\vskip0.7ex + +\exemple|\def\nbA{-12}\def\nbB{498}| +\exemple|\def\nbAA{\nbA}\def\nbBB{\nbB}|\vskip0.7ex +\exemple|\fullexpandarg| +\exemple|\IfDecimal{\nbA,\nbB}{vrai}{faux}| +\exemple|\IfDecimal{\nbAA.\nbB}{vrai}{faux}| +\exemple|\IfDecimal{\nbB,777}{vrai}{faux}| +\exemple|\IfDecimal{3\nbB,777}{vrai}{faux}| +\exemple|\IfDecimal{\nbB,\nbB}{vrai}{faux}|\vskip0.7ex +\exemple|\expandarg| +\exemple|\IfDecimal{\nbA,\nbB}{vrai}{faux}| +\exemple|\IfDecimal{\nbAA.\nbB}{vrai}{faux}| +\exemple|\IfDecimal{\nbB,777}{vrai}{faux}| +\exemple|\IfDecimal{3\nbB,777}{vrai}{faux}| +\exemple|\IfDecimal{\nbB,\nbB}{vrai}{faux}|\vskip0.7ex +\exemple|\noexpandarg| +\exemple|\IfDecimal{\nbA,\nbB}{vrai}{faux}| +\exemple|\IfDecimal{\nbAA.\nbB}{vrai}{faux}| +\exemple|\IfDecimal{\nbB,777}{vrai}{faux}| +\exemple|\IfDecimal{3\nbB,777}{vrai}{faux}| +\exemple|\IfDecimal{\nbB,\nbB}{vrai}{faux}| + +\chapitre{La macro}{StrBefore} + +\exemple|\noexploregroups| +\exemple|\StrBefore[2]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBefore[3]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBefore[4]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBefore[5]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBefore[6]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\exploregroups| +\exemple|\StrBefore[2]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBefore[3]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBefore[4]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBefore[5]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBefore[6]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}| + +\chapitre{La macro}{StrBehind} + +\exemple|\noexploregroups| +\exemple|\StrBehind[2]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBehind[3]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBehind[4]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBehind[5]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBehind[6]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\exploregroups| +\exemple|\StrBehind[2]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBehind[3]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBehind[4]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBehind[5]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBehind[6]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}| + +\chapitre{La macro}{StrBetween} + +La commande {\tt\string\StrBetween} op\`ere en mode {\tt\string\noexploregroups}, quelque soit le mode d'exploration en cours.\vskip0.7ex + +\exemple|\StrBetween[1,3]{\a1\a2{3\a4}5\a6{7\a8}9\a0}{2}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBetween[2,3]{\a1\a2{3\a4}5\a6{7\a8}9\a0}{\a}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBetween[1,3]{\a1\a2{3\a4}5\a6{7\a8}9\a0}{3}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrBetween[2,4]{\a1\a2{3\a4}5\a6{7\a8}9\a0}{\a}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex + +\chapitre{La macro}{StrSubstitute} + +\exemple|\noexploregroups| +\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{\a}{\X}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrSubstitute[2]{\a1{2\a{3\a}4\a}\a5\a}{\a}{\X}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{2}{X}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{{3\a}}{XXX}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{3\a}{XXX}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\exploregroups| +\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{\a}{\X}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrSubstitute[2]{\a1{2\a{3\a}4\a}\a5\a}{\a}{\X}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{2}{X}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{{3\a}}{XXX}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{3\a}{XXX}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}| + +\chapitre{La macro}{StrDel} + +\exemple|\noexploregroups| +\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrDel[2]{\a1{2\a{3\a}4\a}\a5\a}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{2}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{{3\a}}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{3\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\exploregroups| +\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrDel[2]{\a1{2\a{3\a}4\a}\a5\a}{\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{2}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{{3\a}}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{3\a}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex + +\chapitre{La macro}{StrLen} + +\exemple|\noexploregroups| +\exemple|\StrLen{a1{a2}{\a\b}{a3}a4}| +\exemple|\exploregroups| +\exemple|\StrLen{a1{a2}{\a\b}{a3}a4}| + +\chapitre{la macro}{StrSplit} + +\exemple|\noexploregroups| +\exemple|\StrSplit{\a{\b{\c\d}\e}\f\g}{2}\xx\yy| +\exemple|\#\detokenize\expandafter{\xx}\#\quad\#\detokenize\expandafter{\yy}\#| +\exemple|\StrSplit{\a{\b{\c\d}\e}\f\g}{3}\xx\yy| +\exemple|\#\detokenize\expandafter{\xx}\#\quad\#\detokenize\expandafter{\yy}\#| +\exemple|\exploregroups| +\exemple|\StrSplit{\a{\b{\c\d}\e}\f\g}{2}\xx\yy| +\exemple|\#\detokenize\expandafter{\xx}\#\quad\#\detokenize\expandafter{\yy}\#| +\exemple|\StrSplit{\a{\b{\c\d}\e}\f\g}{3}\xx\yy| +\exemple|\#\detokenize\expandafter{\xx}\#\quad\#\detokenize\expandafter{\yy}\#| + +\chapitre{la macro}{StrMid} + +La commande {\tt\string\StrMid} op\`ere en mode {\tt\string\noexploregroups}, quelque soit le mode d'exploration en cours.\vskip0.7ex + +\exemple|\StrMid{\a\b{\c\d}\e\f\g\h}{2}{6}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\StrMid{\a\b{\c\d}\e\f\g\h}{3}{4}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex + +\chapitre{La macro}{StrGobbleLeft} + +\exemple|\noexploregroups| +\exemple|\StrGobbleLeft{\a\b{\c\d\e}\f}{3}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\exploregroups| +\exemple|\StrGobbleLeft{\a\b{\c\d\e}\f}{3}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}| + +\chapitre{La macro}{StrGobbleRight} + +\exemple|\noexploregroups| +\exemple|\StrGobbleRight{\a\b{\c\d\e}\f}{3}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\exploregroups| +\exemple|\StrGobbleRight{\a\b{\c\d\e}\f}{3}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex + +\chapitre{La macro}{StrLeft} + +\exemple|\noexploregroups| +\exemple|\StrLeft{\a\b{\c\d\e}\f}{3}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\exploregroups| +\exemple|\StrLeft{\a\b{\c\d\e}\f}{3}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}| + +\chapitre{La macro}{StrRight} + +\exemple|\noexploregroups| +\exemple|\StrRight{\a\b{\c\d\e}\f}{3}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\exploregroups| +\exemple|\StrRight{\a\b{\c\d\e}\f}{3}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex + +\chapitre{la macro}{StrChar} + +\exemple|\noexploregroups| +\exemple|\StrChar{\a\b{\c\d\e}\f}{3}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\exploregroups| +\exemple|\StrChar{\a\b{\c\d\e}\f}{3}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex + +\chapitre{La macro}{StrCount} + +\exemple|\noexploregroups| +\exemple|\StrCount{\a1{\a2{\a3\a4}\a5}\a6\a7}{\a}| +\exemple|\StrCount{\a1{\a2{\a3\a4}\a5}\a6\a7}{2}| +\exemple|\exploregroups| +\exemple|\StrCount{\a1{\a2{\a3\a4}\a5}\a6\a7}{\a}| +\exemple|\StrCount{\a1{\a2{\a3\a4}\a5}\a6\a7}{2}| + +\chapitre{La macro}{StrPosition} + +\exemple|\noexploregroups| +\exemple|\StrPosition[3]{\a0\a1{\a{2\a3}4}\a5\a6}{\a}| +\exemple|\StrPosition[4]{\a0\a1{\a{3\a4}5}\a6\a7}{\a}| +\exemple|\StrPosition[1]{\a0\a1{\a{2\a3}4}\a5\a6}{2}| +\exemple|\exploregroups| +\exemple|\StrPosition[3]{\a0\a1{\a{2\a3}4}\a5\a6}{\a}| +\exemple|\StrPosition[4]{\a0\a1{\a{2\a3}4}\a5\a6}{\a}| +\exemple|\StrPosition[1]{\a0\a1{\a{2\a3}4}\a5\a6}{2}| + +\chapitre{La macro}{StrCompare} + +La commande {\tt\string\StrCompare} n'est pas affect\'ee par le mode d'exploration.\vskip0.7ex + +\exemple|\comparenormal| +\exemple|\StrCompare{\a{\b1}\c2}{\a\b1\c2}| +\exemple|\StrCompare{{1\a2}3}{{1\a2}3}| +\exemple|\StrCompare{{1\a2}3}{1\a23}| +\exemple|\StrCompare{\a{\b\c}}{\a{\b\c}\d}| +\exemple|\StrCompare{{\a}\b}{\a\b}| +\exemple|\comparestrict| +\exemple|\StrCompare{\a{\b1}\c2}{\a\b1\c2}| +\exemple|\StrCompare{{1\a2}3}{{1\a2}3}| +\exemple|\StrCompare{{1\a2}3}{1\a23}| +\exemple|\StrCompare{\a{\b\c}}{\a{\b\c}\d}| +\exemple|\StrCompare{{\a}\b}{\a\b}| + +\chapitre{La macro}{StrRemoveBraces} + +\exemple|\noexploregroups| +\exemple|\StrRemoveBraces{\a1{\b2{\c3{\d4}}}\e5}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex +\exemple|\exploregroups| +\exemple|\StrRemoveBraces{\a1{\b2{\c3{\d4}}}\e5}[\cmd]| +\exemple|\detokenize\expandafter{\cmd}|\vskip0.7ex \end
\ No newline at end of file |