diff options
author | Karl Berry <karl@freefriends.org> | 2010-03-29 23:35:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-03-29 23:35:06 +0000 |
commit | ddbdb3f4d5aab38f7e6fc17ad7456dc968579140 (patch) | |
tree | 77373b3c46854424ed19fb8949b301239864cd74 | |
parent | 17036ad38f780e71d150dd4b6272d79dd19e9997 (diff) |
xstring 1.5d (28mar10)
git-svn-id: svn://tug.org/texlive/trunk@17614 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/generic/xstring/README | 14 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/xstring/test_etex.pdf | bin | 56902 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/xstring/test_etex.tex | 1007 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/xstring/test_latex.pdf | bin | 66636 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/xstring/test_latex.tex | 1094 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/xstring/xstring_doc_en.pdf | bin | 309313 -> 772855 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/xstring/xstring_doc_en.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.pdf | bin | 340719 -> 791211 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xstring/xstring.sty | 3 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xstring/xstring.tex | 47 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/xstring/xstring.sty | 3 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 |
13 files changed, 40 insertions, 2133 deletions
diff --git a/Master/texmf-dist/doc/generic/xstring/README b/Master/texmf-dist/doc/generic/xstring/README index 979482d357f..7cd8ca61ad5 100644 --- a/Master/texmf-dist/doc/generic/xstring/README +++ b/Master/texmf-dist/doc/generic/xstring/README @@ -1,8 +1,8 @@ _________________ xstring package - v 1.5bc - 2009/06/05 + v 1.5d + 2010/03/28 _________________ This package provides macros manipulating strings for programming use. @@ -37,13 +37,11 @@ Main features are: For advanced programming needs, other macros allow to use other special characters forbiden in strings (# %). -This bundle contains 11 files: +This bundle contains 7 files: * xstring.sty (the sty file for LaTeX) * xstring.tex (the package itself) * xstring_doc_en.tex and xstring_doc_en.pdf (manual in english) - * xstring_doc_fr.tex and xstring_doc_fr.pdf (manual in french) - * test_etex.tex and test_etex.pdf (test file to compile with etex) - * test_latex.tex and test_latex.pdf (test file to compile with LaTeX) + * xstring_doc_fr.tex and xstring_doc_fr.pdf (manual in french)) * README (this file) ############################################################################## @@ -83,13 +81,11 @@ Les principales fonctionnalités sont : Pour des méthodes de programmation avancées, d'autres commandes permettent d'utiliser les caractères spéciaux interdits dans les chaines (# %). -Ce paquet contient 11 fichiers suivants : +Ce paquet contient les 7 fichiers suivants : * xstring.sty (le fichier sty pour LaTeX) * xstring.tex (le package lui même) * xstring_doc_en.tex and xstring_doc_en.pdf (manuel en anglais) * xstring_doc_fr.tex and xstring_doc_fr.pdf (manuel en français) - * test_etex.tex and test_etex.pdf (fichier test à compiler avec etex) - * test_latex.tex and test_latex.pdf (fichier test à compiler avec LaTeX) * README (ce fichier) Christian Tellechea diff --git a/Master/texmf-dist/doc/generic/xstring/test_etex.pdf b/Master/texmf-dist/doc/generic/xstring/test_etex.pdf Binary files differdeleted file mode 100644 index 1a7352bee4f..00000000000 --- a/Master/texmf-dist/doc/generic/xstring/test_etex.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/generic/xstring/test_etex.tex b/Master/texmf-dist/doc/generic/xstring/test_etex.tex deleted file mode 100644 index 5ad98f0b7fb..00000000000 --- a/Master/texmf-dist/doc/generic/xstring/test_etex.tex +++ /dev/null @@ -1,1007 +0,0 @@ -%##################### 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> -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Ceci est test_latex.tex, le fichier de test de xstring à compiler avec LaTeX -% This is test_latex.tex, the test file of xstring to compile with LaTeX -% -% Christian Tellechea 2009 -% -% email : unbonpetit@gmail.com -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% -% http://www.latex-project.org/lppl.txt -% -% and version 1.3 or later is part of all distributions of LaTeX -% version 2005/12/01 or later. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\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}} -\def\@xs@afterreadverb#1{% - \normalexpandarg - \tokenize\cs@resultat{#1}% - \fullexpandarg - \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} -\hoffset-1.54cm\hsize19cm\parindent0pt -% debut du texte -\hfil{\hugerm Ceci est le fichier de test de xstring}\hfil{} - -\hrule\vskip0.5ex - -\hrule\vskip2ex - -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}| -\exemple|\IfSubStr{a b c d }{b c}{vrai}{faux}| -\exemple|\IfSubStr{a b c d }{bc}{vrai}{faux}| -\exemple|\IfSubStr{abcdef}{}{vrai}{faux}| -\exemple|\IfSubStr{a}{a}{vrai}{faux}| -\exemple|\IfSubStr{aaaa}{aa}{vrai}{faux}| -\exemple|\IfSubStr{a}{aa}{vrai}{faux}| -\exemple|\IfSubStr{a}{}{vrai}{faux}| -\exemple|\IfSubStr{}{a}{vrai}{faux}| -\exemple|\IfSubStr{}{}{vrai}{faux}| -\exemple|\IfSubStr[2]{abaca}{a}{vrai}{faux}| -\exemple|\IfSubStr[3]{abaca}{a}{vrai}{faux}| -\exemple|\IfSubStr[4]{abaca}{a}{vrai}{faux}| -\exemple|\IfSubStr[-2]{abaca}{a}{vrai}{faux}| - -\chapitre{Le test}{IfBeginWith} - -\exemple|\IfBeginWith{abcdef}{adc}{vrai}{faux}| -\exemple|\IfBeginWith{abcdef}{abcd}{vrai}{faux}| -\exemple|\IfBeginWith{ a b c }{ a}{vrai}{faux}| -\exemple|\IfBeginWith{a b c d}{ab}{vrai}{faux}| -\exemple|\IfBeginWith{a}{a}{vrai}{faux}| -\exemple|\IfBeginWith{a}{aa}{vrai}{faux}| -\exemple|\IfBeginWith{a}{}{vrai}{faux}| -\exemple|\IfBeginWith{}{a}{vrai}{faux}| -\exemple|\IfBeginWith{}{}{vrai}{faux}| - -\chapitre{Le test}{IfEndWith} - -\exemple|\IfEndWith{abcdef}{ab}{vrai}{faux}| -\exemple|\IfEndWith{abcdef}{f}{vrai}{faux}| -\exemple|\IfEndWith{ a b c }{c}{vrai}{faux}| -\exemple|\IfEndWith{ a b c }{ }{vrai}{faux}| -\exemple|\IfEndWith{a}{a}{vrai}{faux}| -\exemple|\IfEndWith{a}{aa}{vrai}{faux}| -\exemple|\IfEndWith{a}{}{vrai}{faux}| -\exemple|\IfEndWith{}{a}{vrai}{faux}| -\exemple|\IfEndWith{}{}{vrai}{faux}| - -\chapitre{Le test}{IfSubStrBefore} - -\exemple|\IfSubStrBefore{abcdef}{b}{e}{vrai}{faux}| -\exemple|\IfSubStrBefore{abcdef}{e}{c}{vrai}{faux}| -\exemple|\IfSubStrBefore{ a b c }{ }{b}{vrai}{faux}| -\exemple|\IfSubStrBefore{ a b c }{ b}{c }{vrai}{faux}| -\exemple|\IfSubStrBefore{abcdef}{z}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore{abcdef}{y}{z}{vrai}{faux}| -\exemple|\IfSubStrBefore{abcdef}{a}{z}{vrai}{faux}| -\exemple|\IfSubStrBefore{aaa}{a}{aa}{vrai}{faux}| -\exemple|\IfSubStrBefore{abcdef}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore{a}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore{}{a}{b}{vrai}{faux}| -\exemple|\IfSubStrBefore{a}{}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore{}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore{}{}{}{vrai}{faux}| -\exemple|\IfSubStrBefore[1,1]{abacada}{d}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore[1,2]{abacada}{d}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore[1,3]{abacada}{d}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore[1,4]{abacada}{d}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore[2,1]{maman papa}{a}{p}{vrai}{faux}| -\exemple|\IfSubStrBefore[2,2]{maman papa}{a}{p}{vrai}{faux}| -\exemple|\IfSubStrBefore[4,2]{maman papa}{a}{p}{vrai}{faux}| - -\chapitre{Le test}{IfStrBehind} - -\exemple|\IfSubStrBehind{abcdef}{b}{e}{vrai}{faux}| -\exemple|\IfSubStrBehind{abcdef}{e}{c}{vrai}{faux}| -\exemple|\IfSubStrBehind{ a b c }{ }{b}{vrai}{faux}| -\exemple|\IfSubStrBehind{ a b c }{ c}{ a}{vrai}{faux}| -\exemple|\IfSubStrBehind{abcdef}{z}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind{abcdef}{y}{z}{vrai}{faux}| -\exemple|\IfSubStrBehind{abcdef}{a}{z}{vrai}{faux}| -\exemple|\IfSubStrBehind{aaa}{a}{aa}{vrai}{faux}| -\exemple|\IfSubStrBehind{abcdef}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind{a}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind{}{a}{b}{vrai}{faux}| -\exemple|\IfSubStrBehind{a}{}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind{}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind{}{}{}{vrai}{faux}| -\exemple|\IfSubStrBehind[1,1]{abacada}{c}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind[1,2]{abacada}{c}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind[1,3]{abacada}{c}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind[2,1]{maman papa}{a}{p}{vrai}{faux}| -\exemple|\IfSubStrBehind[3,1]{maman papa}{a}{p}{vrai}{faux}| -\exemple|\IfSubStrBehind[3,2]{maman papa}{a}{p}{vrai}{faux}| -\exemple|\IfSubStrBehind[4,2]{maman papa}{a}{p}{vrai}{faux}| - -\chapitre{Le test}{IfInteger} - -\exemple|\IfInteger{156}{vrai}{faux}| -\exemple|\IfInteger{1.6}{vrai}{faux}| -\exemple|\IfInteger{7a5}{vrai}{faux}| -\exemple|\IfInteger{+9}{vrai}{faux}| -\exemple|\IfInteger{-15}{vrai}{faux}| -\exemple|\IfInteger{0}{vrai}{faux}| -\exemple|\IfInteger{-1,2}{vrai}{faux}| -\exemple|\IfInteger{1.}{vrai}{faux}| -\exemple|\IfInteger{-00}{vrai}{faux}| -\exemple|\IfInteger{+}{vrai}{faux}| -\exemple|\IfInteger{-}{vrai}{faux}| -\exemple|\IfInteger{.}{vrai}{faux}| -\exemple|\IfInteger{}{vrai}{faux}| - -\chapitre{Le test}{IfDecimal} - -\exemple|\IfDecimal{6}{vrai}{faux}| -\exemple|\IfDecimal{-78}{vrai}{faux}| -\exemple|\IfDecimal{3.14}{vrai}{faux}| -\exemple|\IfDecimal{3,14}{vrai}{faux}| -\exemple|\IfDecimal{1..5}{vrai}{faux}| -\exemple|\IfDecimal{-9.8}{vrai}{faux}| -\exemple|\IfDecimal{+9.8}{vrai}{faux}| -\exemple|\IfDecimal{-9,8}{vrai}{faux}| -\exemple|\IfDecimal{+9,8}{vrai}{faux}| -\exemple|\IfDecimal{+6.7.}{vrai}{faux}| -\exemple|\IfDecimal{.5}{vrai}{faux}| -\exemple|\IfDecimal{1.}{vrai}{faux}| -\exemple|\IfDecimal{-.99}{vrai}{faux}| -\exemple|\IfDecimal{-5.}{vrai}{faux}| -\exemple|\IfDecimal{5a9.}{vrai}{faux}| -\exemple|\IfDecimal{+}{vrai}{faux}| -\exemple|\IfDecimal{-}{vrai}{faux}| -\exemple|\IfDecimal{.}{vrai}{faux}| -\exemple|\IfDecimal{}{vrai}{faux}| - -\chapitre{Le test}{IfStrEq} - -\exemple|\IfStrEq{abcdef}{abcdef}{vrai}{faux}| -\exemple|\IfStrEq{a b c}{a b c}{vrai}{faux}| -\exemple|\IfStrEq{abcd}{abc}{vrai}{faux}| -\exemple|\IfStrEq{aab}{ab}{vrai}{faux}| -\exemple|\IfStrEq{aab}{aa}{vrai}{faux}| -\exemple|\IfStrEq{1.2}{1.20}{vrai}{faux}| -\exemple|\IfStrEq{3,4}{3.4}{vrai}{faux}| -\exemple|\IfStrEq{ }{ }{vrai}{faux}| -\exemple|\IfStrEq{}{a}{vrai}{faux}| -\exemple|\IfStrEq{a}{}{vrai}{faux}| -\exemple|\IfStrEq{}{}{vrai}{faux}| - -\chapitre{Le test}{IfEq} - -\exemple|\IfEq{abcdef}{abcdef}{vrai}{faux}| -\exemple|\IfEq{a b c}{a b c}{vrai}{faux}| -\exemple|\IfEq{abcd}{abc}{vrai}{faux}| -\exemple|\IfEq{aab}{ab}{vrai}{faux}| -\exemple|\IfEq{aab}{aa}{vrai}{faux}| -\exemple|\IfEq{1.2}{1.20}{vrai}{faux}| -\exemple|\IfEq{+1.0000}{1}{vrai}{faux}| -\exemple|\IfEq{-10}{10}{vrai}{faux}| -\exemple|\IfEq{1,2}{1.2}{vrai}{faux}| -\exemple|\IfEq{.5}{0.5}{vrai}{faux}| -\exemple|\IfEq{,5}{0,5}{vrai}{faux}| -\exemple|\IfEq{10}{dix}{vrai}{faux}| -\exemple|\IfEq{123}{1a3}{vrai}{faux}| -\exemple|\IfEq{0}{}{vrai}{faux}| -\exemple|\IfEq{++10}{+10}{vrai}{faux}| -\exemple|\IfEq{--10}{+10}{vrai}{faux}| -\exemple|\IfEq{a}{}{vrai}{faux}| -\exemple|\IfEq{}{a}{vrai}{faux}| -\exemple|\IfEq{}{}{vrai}{faux}| - -\chapitre{La macro}{StrBefore} - -\exemple|\StrBefore{abcedef}{e}| -\exemple*|\StrBefore{abcdef}{a}| -\exemple*|\StrBefore{abcdef}{z}| -\exemple*|\StrBefore{a b c d}{c}| -\exemple*|\StrBefore{a b c d}{ }| -\exemple*|\StrBefore[2]{a b c d}{ }| -\exemple*|\StrBefore[3]{a b c d}{ }| -\exemple*|\StrBefore[9]{a b c d}{ }| -\exemple*|\StrBefore[-7]{a b c d}{ }| -\exemple*|\StrBefore{abcdef}{Z}| -\exemple*|\StrBefore[1]{aaaaaa}{aa}| -\exemple|\StrBefore[2]{aaaaaa}{aa}| -\exemple|\StrBefore[3]{aaaaaa}{aa}| -\exemple*|\StrBefore[4]{aaaaaa}{aa}| -\exemple*|\StrBefore{a}{}| -\exemple*|\StrBefore{}{a}| -\exemple*|\StrBefore{}{}| - -\AvecArgOptionnel -\exemple|\StrBefore{abcedef}{e}[\aa]\aa| -\exemple*|\StrBefore{abcdef}{a}[\aa]\aa| -\exemple*|\StrBefore{abcdef}{z}[\aa]\aa| -\exemple*|\StrBefore{a b c d}{c}[\aa]\aa| -\exemple*|\StrBefore{a b c d}{ }[\aa]\aa| -\exemple*|\StrBefore[2]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBefore[3]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBefore[9]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBefore[-7]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBefore{abcdef}{Z}[\aa]\aa| -\exemple*|\StrBefore[1]{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrBefore[2]{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrBefore[3]{aaaaaa}{aa}[\aa]\aa| -\exemple*|\StrBefore[4]{aaaaaa}{aa}[\aa]\aa| -\exemple*|\StrBefore{a}{}[\aa]\aa| -\exemple*|\StrBefore{}{a}[\aa]\aa| -\exemple*|\StrBefore{}{}[\aa]\aa| - -\chapitre{La macro}{StrBehind} - -\exemple|\StrBehind{abcedef}{e}| -\exemple*|\StrBehind{abcdef}{a}| -\exemple*|\StrBehind{abcdef}{z}| -\exemple*|\StrBehind{a b c d}{c}| -\exemple*|\StrBehind{a b c d}{ }| -\exemple*|\StrBehind[2]{a b c d}{ }| -\exemple*|\StrBehind[3]{a b c d}{ }| -\exemple*|\StrBehind[9]{a b c d}{ }| -\exemple*|\StrBehind[-7]{a b c d}{ }| -\exemple*|\StrBehind{abcdef}{Z}| -\exemple|\StrBehind[1]{aaaaaa}{aa}| -\exemple|\StrBehind[2]{aaaaaa}{aa}| -\exemple*|\StrBehind[3]{aaaaaa}{aa}| -\exemple*|\StrBehind[4]{aaaaaa}{aa}| -\exemple*|\StrBehind{a}{}| -\exemple*|\StrBehind{}{a}| -\exemple*|\StrBehind{}{}| - -\AvecArgOptionnel -\exemple|\StrBehind{abcedef}{e}[\aa]\aa| -\exemple*|\StrBehind{abcdef}{a}[\aa]\aa| -\exemple*|\StrBehind{abcdef}{z}[\aa]\aa| -\exemple*|\StrBehind{a b c d}{c}[\aa]\aa| -\exemple*|\StrBehind{a b c d}{ }[\aa]\aa| -\exemple*|\StrBehind[2]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBehind[3]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBehind[9]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBehind[-7]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBehind{abcdef}{Z}[\aa]\aa| -\exemple|\StrBehind[1]{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrBehind[2]{aaaaaa}{aa}[\aa]\aa| -\exemple*|\StrBehind[3]{aaaaaa}{aa}[\aa]\aa| -\exemple*|\StrBehind[4]{aaaaaa}{aa}[\aa]\aa| -\exemple*|\StrBehind{a}{}[\aa]\aa| -\exemple*|\StrBehind{}{a}[\aa]\aa| -\exemple*|\StrBehind{}{}[\aa]\aa| - -\chapitre{La macro}{StrBetween} - -\exemple|\StrBetween{abcdef}{b}{e}| -\exemple*|\StrBetween{aZaaaaZa}{Z}{Z}| -\exemple*|\StrBetween[1,2]{aZaaaaZa}{Z}{Z}| -\exemple*|\StrBetween{a b c d}{a}{c}| -\exemple*|\StrBetween{a b c d}{a }{ d}| -\exemple*|\StrBetween{abcdef}{a}{Z}| -\exemple*|\StrBetween{abcdef}{Y}{Z}| -\exemple*|\StrBetween[2,5]{aAaBaCaDa}{a}{a}| -\exemple*|\StrBetween[4,1]{ab1ab2ab3ab4ab}{b}{a}| -\exemple*|\StrBetween[3,4]{a b c d e f}{ }{ }| -\exemple|\StrBetween[1,3]{aaaaaa}{aa}{aa}| -\exemple*|\StrBetween{abcdef}{a}{}| -\exemple*|\StrBetween{abcdef}{}{f}| -\exemple*|\StrBetween{}{a}{b}| - -\AvecArgOptionnel -\exemple|\StrBetween{abcdef}{b}{e}[\aa]\aa| -\exemple*|\StrBetween{aZaaaaZa}{Z}{Z}[\aa]\aa| -\exemple*|\StrBetween[1,2]{aZaaaaZa}{Z}{Z}[\aa]\aa| -\exemple*|\StrBetween{a b c d}{a}{c}[\aa]\aa| -\exemple*|\StrBetween{a b c d}{a }{ d}[\aa]\aa| -\exemple*|\StrBetween{abcdef}{a}{Z}[\aa]\aa| -\exemple*|\StrBetween{abcdef}{Y}{Z}[\aa]\aa| -\exemple*|\StrBetween[2,5]{aAaBaCaDa}{a}{a}[\aa]\aa| -\exemple*|\StrBetween[4,1]{ab1ab2ab3ab4ab}{b}{a}[\aa]\aa| -\exemple*|\StrBetween[3,4]{a b c d e f}{ }{ }[\aa]\aa| -\exemple|\StrBetween[1,3]{aaaaaa}{aa}{aa}[\aa]\aa| -\exemple*|\StrBetween{abcdef}{a}{}[\aa]\aa| -\exemple*|\StrBetween{abcdef}{}{f}[\aa]\aa| -\exemple*|\StrBetween{}{a}{b}[\aa]\aa| - -\chapitre{La macro}{StrSubstitute} - -\exemple|\StrSubstitute{abcdef}{c}{ZZ}| -\exemple|\StrSubstitute{aaaaaaa}{aa}{w}| -\exemple|\StrSubstitute[0]{abacada}{a}{.}| -\exemple|\StrSubstitute[1]{abacada}{a}{.}| -\exemple|\StrSubstitute[2]{abacada}{a}{.}| -\exemple|\StrSubstitute[3]{abacada}{a}{.}| -\exemple|\StrSubstitute[4]{abacada}{a}{.}| -\exemple|\StrSubstitute[5]{abacada}{a}{.}| -\exemple|\StrSubstitute{a b c d e}{ }{,}| -\exemple|\StrSubstitute{a b c d e}{ }{}| -\exemple|\StrSubstitute{abcdef}{}{A}| -\exemple|\StrSubstitute{abcdef}{}{}| -\exemple*|\StrSubstitute{}{a}{b}| -\exemple*|\StrSubstitute{}{}{}| - -\AvecArgOptionnel -\exemple|\StrSubstitute{abcdef}{c}{ZZ}[\aa]\aa| -\exemple|\StrSubstitute{aaaaaaa}{aa}{w}[\aa]\aa| -\exemple|\StrSubstitute[0]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute[1]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute[2]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute[3]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute[4]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute[5]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute{a b c d e}{ }{,}[\aa]\aa| -\exemple|\StrSubstitute{a b c d e}{ }{}[\aa]\aa| -\exemple|\StrSubstitute{abcdef}{}{A}[\aa]\aa| -\exemple|\StrSubstitute{abcdef}{}{}[\aa]\aa| -\exemple*|\StrSubstitute{}{a}{b}[\aa]\aa| -\exemple*|\StrSubstitute{}{}{}[\aa]\aa| - -\chapitre{La macro}{StrDel} - -\exemple|\StrDel{a1a2a3a4}{a}| -\exemple|\StrDel[2]{a1a2a3a4}{a}| -\exemple|\StrDel[-2]{a1a2a3a4}{a}| -\exemple|\StrDel[10]{a1a2a3a4}{a}| -\exemple|\StrDel[3]{a b c d e}{a}| - -\AvecArgOptionnel -\exemple|\StrDel{a1a2a3a4}{a}[\aa]\aa| -\exemple|\StrDel[2]{a1a2a3a4}{a}[\aa]\aa| -\exemple|\StrDel[-2]{a1a2a3a4}{a}[\aa]\aa| -\exemple|\StrDel[10]{a1a2a3a4}{a}[\aa]\aa| -\exemple|\StrDel[3]{a b c d e}{a}[\aa]\aa| - -\chapitre{La macro}{StrLen} - - -\exemple|\StrLen{abcdef}| -\exemple|\StrLen{a b c}| -\exemple|\StrLen{ a b c }| -\exemple|\StrLen{a}| -\exemple|\StrLen{}| - -\AvecArgOptionnel -\exemple|\StrLen{abcdef}[\aa]\aa| -\exemple|\StrLen{a b c}[\aa]\aa| -\exemple|\StrLen{ a b c }[\aa]\aa| -\exemple|\StrLen{a}[\aa]\aa| -\exemple|\StrLen{}[\aa]\aa| - -\chapitre{la macro}{StrMid} - -\exemple|\StrMid{abcdef}{2}{5}| -\exemple*|\StrMid{a b c d}{2}{6}| -\exemple*|\StrMid{abcdef}{4}{2}| -\exemple|\StrMid{abcdef}{-4}{3}| -\exemple*|\StrMid{abcdef}{-4}{-1}| -\exemple|\StrMid{abcdef}{-4}{20}| -\exemple*|\StrMid{abcdef}{8}{10}| -\exemple|\StrMid{abcdef}{2}{2}| -\exemple|\StrMid{aaaaaa}{3}{6}| -\exemple*|\StrMid{}{4}{5}| - -\AvecArgOptionnel -\exemple|\StrMid{abcdef}{2}{5}[\aa]\aa| -\exemple*|\StrMid{a b c d}{2}{6}[\aa]\aa| -\exemple*|\StrMid{abcdef}{4}{2}[\aa]\aa| -\exemple|\StrMid{abcdef}{-4}{3}[\aa]\aa| -\exemple*|\StrMid{abcdef}{-4}{-1}[\aa]\aa| -\exemple|\StrMid{abcdef}{-4}{20}[\aa]\aa| -\exemple*|\StrMid{abcdef}{8}{10}[\aa]\aa| -\exemple|\StrMid{abcdef}{2}{2}[\aa]\aa| -\exemple|\StrMid{aaaaaa}{3}{6}[\aa]\aa| -\exemple*|\StrMid{}{4}{5}[\aa]\aa| - -\chapitre{La macro}{StrGobbleLeft} - -\exemple|\StrGobbleLeft{abcdef}{3}| -\exemple*|\StrGobbleLeft{a b c d}{3}| -\exemple|\StrGobbleLeft{abcdef}{-3}| -\exemple*|\StrGobbleLeft{abcdef}{9}| -\exemple|\StrGobbleLeft{aaaaa}{4}| -\exemple*|\StrGobbleLeft{}{2}| - -\AvecArgOptionnel -\exemple|\StrGobbleLeft{abcdef}{3}[\aa]\aa| -\exemple*|\StrGobbleLeft{a b c d}{3}[\aa]\aa| -\exemple|\StrGobbleLeft{abcdef}{-3}[\aa]\aa| -\exemple*|\StrGobbleLeft{abcdef}{9}[\aa]\aa| -\exemple|\StrGobbleLeft{aaaaa}{4}[\aa]\aa| -\exemple*|\StrGobbleLeft{}{2}[\aa]\aa| - -\chapitre{La macro}{StrGobbleRight} - -\exemple|\StrGobbleRight{abcdef}{3}| -\exemple*|\StrGobbleRight{a b c d}{3}| -\exemple|\StrGobbleRight{abcdef}{-3}| -\exemple*|\StrGobbleRight{abcdef}{9}| -\exemple|\StrGobbleRight{aaaaa}{4}| -\exemple*|\StrGobbleRight{}{2}| - -\AvecArgOptionnel -\exemple|\StrGobbleRight{abcdef}{3}[\aa]\aa| -\exemple*|\StrGobbleRight{a b c d}{3}[\aa]\aa| -\exemple|\StrGobbleRight{abcdef}{-3}[\aa]\aa| -\exemple*|\StrGobbleRight{abcdef}{9}[\aa]\aa| -\exemple|\StrGobbleRight{aaaaa}{4}[\aa]\aa| -\exemple*|\StrGobbleRight{}{2}[\aa]\aa| - -\chapitre{La macro}{StrLeft} - -\exemple|\StrLeft{abcdef}{3}| -\exemple*|\StrLeft{a b c d}{3}| -\exemple*|\StrLeft{abcdef}{-3}| -\exemple*|\StrLeft{abcdef}{9}| -\exemple|\StrLeft{aaaaa}{4}| -\exemple*|\StrLeft{}{2}| - -\AvecArgOptionnel -\exemple|\StrLeft{abcdef}{3}[\aa]\aa| -\exemple*|\StrLeft{a b c d}{3}[\aa]\aa| -\exemple*|\StrLeft{abcdef}{-3}[\aa]\aa| -\exemple*|\StrLeft{abcdef}{9}[\aa]\aa| -\exemple|\StrLeft{aaaaa}{4}[\aa]\aa| -\exemple*|\StrLeft{}{2}[\aa]\aa| - -\chapitre{La macro}{StrRight} - -\exemple|\StrRight{abcdef}{3}| -\exemple*|\StrRight{a b c d}{3}| -\exemple*|\StrRight{abcdef}{-3}| -\exemple*|\StrRight{abcdef}{9}| -\exemple|\StrRight{aaaaa}{4}| -\exemple*|\StrRight{}{2}| - -\AvecArgOptionnel -\exemple|\StrRight{abcdef}{3}[\aa]\aa| -\exemple*|\StrRight{a b c d}{3}[\aa]\aa| -\exemple*|\StrRight{abcdef}{-3}[\aa]\aa| -\exemple*|\StrRight{abcdef}{9}[\aa]\aa| -\exemple|\StrRight{aaaaa}{4}[\aa]\aa| -\exemple*|\StrRight{}{2}[\aa]\aa| - -\chapitre{la macro}{StrChar} - -\exemple|\StrChar{abcdef}{5}| -\exemple*|\StrChar{a b c d}{4}| -\exemple|\StrChar{a b c d}{7}| -\exemple*|\StrChar{abcdef}{10}| -\exemple*|\StrChar{abcdef}{-5}| -\exemple*|\StrChar{}{3}| - -\AvecArgOptionnel -\exemple|\StrChar{abcdef}{5}[\aa]\aa| -\exemple*|\StrChar{a b c d}{4}[\aa]\aa| -\exemple|\StrChar{a b c d}{7}[\aa]\aa| -\exemple*|\StrChar{abcdef}{10}[\aa]\aa| -\exemple*|\StrChar{abcdef}{-5}[\aa]\aa| -\exemple*|\StrChar{}{3}[\aa]\aa| - -\chapitre{La macro}{StrCount} - -\exemple|\StrCount{abcdef}{d}| -\exemple|\StrCount{a b c d}{ }| -\exemple|\StrCount{aaaaaa}{aa}| -\exemple|\StrCount{abcdef}{Z}| -\exemple|\StrCount{abcdef}{}| -\exemple|\StrCount{}{a}| -\exemple|\StrCount{}{}| - -\AvecArgOptionnel -\exemple|\StrCount{abcdef}{d}[\aa]\aa| -\exemple|\StrCount{a b c d}{ }[\aa]\aa| -\exemple|\StrCount{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrCount{abcdef}{Z}[\aa]\aa| -\exemple|\StrCount{abcdef}{}[\aa]\aa| -\exemple|\StrCount{}{a}[\aa]\aa| -\exemple|\StrCount{}{}[\aa]\aa| - -\chapitre{La macro}{StrPosition} - -\exemple|\StrPosition{abcdef}{c}| -\exemple|\StrPosition{abcdef}{Z}| -\exemple|\StrPosition{a b c d}{ }| -\exemple|\StrPosition[3]{a b c d}{ }| -\exemple|\StrPosition[8]{a b c d}{ }| -\exemple|\StrPosition{aaaaaa}{aa}| -\exemple|\StrPosition[2]{aaaaaa}{aa}| -\exemple|\StrPosition[3]{aaaaaa}{aa}| -\exemple|\StrPosition{abcdef}{}| -\exemple|\StrPosition{}{a}| -\exemple|\StrPosition{}{}| - -\AvecArgOptionnel -\exemple|\StrPosition{abcdef}{c}[\aa]\aa| -\exemple|\StrPosition{abcdef}{Z}[\aa]\aa| -\exemple|\StrPosition{a b c d}{ }[\aa]\aa| -\exemple|\StrPosition[3]{a b c d}{ }[\aa]\aa| -\exemple|\StrPosition[8]{a b c d}{ }[\aa]\aa| -\exemple|\StrPosition{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrPosition[2]{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrPosition[3]{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrPosition{abcdef}{}[\aa]\aa| -\exemple|\StrPosition{}{a}[\aa]\aa| -\exemple|\StrPosition{}{}[\aa]\aa| - -\chapitre{La macro}{StrCompare} - -La tol\'erance normale :\par -\exemple|\StrCompare{abcdefghij}{abc}| -\exemple|\StrCompare{A}{A}| -\exemple|\StrCompare{abcdef}{a bd}| -\exemple|\StrCompare{ }{ }| -\exemple|\StrCompare{}{abcd}| -\exemple|\StrCompare{abcd}{}| -\exemple|\StrCompare{123456}{1234}| -\exemple|\StrCompare{a b c d}{a bcd}| -\exemple|\StrCompare{}{}| -\exemple|\StrCompare{eee}{eeee}| -\exemple|\StrCompare{eeee}{eee}| -\exemple|\StrCompare{totutu}{tututu}| -\exemple|\StrCompare{abcd}{abyz}| - -\AvecArgOptionnel -\exemple|\StrCompare{abcdefghij}{abc}[\aa]\aa| -\exemple|\StrCompare{A}{A}[\aa]\aa| -\exemple|\StrCompare{abcdef}{a bd}[\aa]\aa| -\exemple|\StrCompare{ }{ }[\aa]\aa| -\exemple|\StrCompare{}{abcd}[\aa]\aa| -\exemple|\StrCompare{abcd}{}[\aa]\aa| -\exemple|\StrCompare{123456}{1234}[\aa]\aa| -\exemple|\StrCompare{a b c d}{a bcd}[\aa]\aa| -\exemple|\StrCompare{}{}[\aa]\aa| -\exemple|\StrCompare{eee}{eeee}[\aa]\aa| -\exemple|\StrCompare{eeee}{eee}[\aa]\aa| -\exemple|\StrCompare{totutu}{tututu}[\aa]\aa| -\exemple|\StrCompare{abcd}{abyz}[\aa]\aa| - -La tol\'erance stricte :\par\comparestrict -\exemple|\StrCompare{abcdefghij}{abc}| -\exemple|\StrCompare{A}{A}| -\exemple|\StrCompare{abcdef}{a bd}| -\exemple|\StrCompare{ }{ }| -\exemple|\StrCompare{}{abcd}| -\exemple|\StrCompare{abcd}{}| -\exemple|\StrCompare{123456}{1234}| -\exemple|\StrCompare{a b c d}{a bcd}| -\exemple|\StrCompare{}{}| -\exemple|\StrCompare{eee}{eeee}| -\exemple|\StrCompare{eeee}{eee}| -\exemple|\StrCompare{totutu}{tututu}| -\exemple|\StrCompare{abcd}{abyz}| - -\AvecArgOptionnel -\exemple|\StrCompare{abcdefghij}{abc}[\aa]\aa| -\exemple|\StrCompare{A}{A}[\aa]\aa| -\exemple|\StrCompare{abcdef}{a bd}[\aa]\aa| -\exemple|\StrCompare{ }{ }[\aa]\aa| -\exemple|\StrCompare{}{abcd}[\aa]\aa| -\exemple|\StrCompare{abcd}{}[\aa]\aa| -\exemple|\StrCompare{123456}{1234}[\aa]\aa| -\exemple|\StrCompare{a b c d}{a bcd}[\aa]\aa| -\exemple|\StrCompare{}{}[\aa]\aa| -\exemple|\StrCompare{eee}{eeee}[\aa]\aa| -\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|\StrSubstitute{a1{b1\bgroup c1}\egroup d1}{1}{X}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\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}| -\exemple|\StrSubstitute{a1{b1\bgroup c1}\egroup d1}{1}{X}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip - -\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 diff --git a/Master/texmf-dist/doc/generic/xstring/test_latex.pdf b/Master/texmf-dist/doc/generic/xstring/test_latex.pdf Binary files differdeleted file mode 100644 index 88f96060d64..00000000000 --- a/Master/texmf-dist/doc/generic/xstring/test_latex.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/generic/xstring/test_latex.tex b/Master/texmf-dist/doc/generic/xstring/test_latex.tex deleted file mode 100644 index b79d23ec17e..00000000000 --- a/Master/texmf-dist/doc/generic/xstring/test_latex.tex +++ /dev/null @@ -1,1094 +0,0 @@ -% Ceci est test_latex.tex, le fichier de test de xstring à compiler avec LaTeX -% This is test_latex.tex, the test file of xstring to compile with LaTeX -% -% Christian Tellechea 2009 -% -% email : unbonpetit@gmail.com -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% -% http://www.latex-project.org/lppl.txt -% -% and version 1.3 or later is part of all distributions of LaTeX -% version 2005/12/01 or later. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[a4paper,10pt]{article} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{lmodern} -\usepackage[dvips,margin=1cm,noheadfoot]{geometry} -\pagestyle{empty} -\usepackage{xstring} - -\makeatletter - -\newcommand*\exemple{\@ifstar{\def\frontiere{|}\@xs@MakeVerb}{\def\frontiere{}\@xs@MakeVerb}} -\def\@xs@afterreadverb#1{% - \noexpandarg - \tokenize\cs@resultat{#1}% - \fullexpandarg - \leavevmode\hbox to0.7\linewidth{\hfil\tt#1}\quad\frontiere\cs@resultat\frontiere\hfil\par}% -\makeatother - -\newcommand\chapitre[2]{\bigskip{\large\textbf{#1} \texttt{\textbackslash#2}}\smallskip} -\def\delimiteur{|} - -\begin{document} -\parindent0pt - -\begin{center}\Large{Ceci est le fichier de test de xstring}.\end{center} -\vspace{-1.8ex}\hrule\smallskip - -\hrule - -\bigskip -Toutes les situations ne sont pas envisagées, mais au moins un grand nombre ! Les macros sont examinées dans l'ordre logique du code. - -Lorsque le résultat contient des espaces ou peut conduire à des doutes, il sera entouré de ''\delimiteur``, étant entendu que ''\delimiteur\delimiteur`` est une chaîne vide.\bigskip - -\hfill{\Large Le mode \tt\textbackslash fullexpandarg}\hfill{} - -\vspace{-1.5ex}\hspace{6cm}\hrulefill\hspace{6cm} - -\bigskip -\chapitre{Le test}{IfSubStr} - -\exemple|\IfSubStr{abcdef}{cd}{vrai}{faux}| -\exemple|\IfSubStr{a b c d }{b c}{vrai}{faux}| -\exemple|\IfSubStr{a b c d }{bc}{vrai}{faux}| -\exemple|\IfSubStr{abcdef}{}{vrai}{faux}| -\exemple|\IfSubStr{a}{a}{vrai}{faux}| -\exemple|\IfSubStr{aaaa}{aa}{vrai}{faux}| -\exemple|\IfSubStr{a}{aa}{vrai}{faux}| -\exemple|\IfSubStr{éàèï}{à}{vrai}{faux}| -\exemple|\IfSubStr{éàèï}{ù}{vrai}{faux}| -\exemple|\IfSubStr{ÉÀÇ}{Ç}{vrai}{faux}| -\exemple|\IfSubStr{a}{}{vrai}{faux}| -\exemple|\IfSubStr{}{a}{vrai}{faux}| -\exemple|\IfSubStr{}{}{vrai}{faux}| -\exemple|\IfSubStr[2]{abaca}{a}{vrai}{faux}| -\exemple|\IfSubStr[3]{abaca}{a}{vrai}{faux}| -\exemple|\IfSubStr[4]{abaca}{a}{vrai}{faux}| -\exemple|\IfSubStr[-2]{abaca}{a}{vrai}{faux}| - -\chapitre{Le test}{IfBeginWith} - -\exemple|\IfBeginWith{abcdef}{adc}{vrai}{faux}| -\exemple|\IfBeginWith{abcdef}{abcd}{vrai}{faux}| -\exemple|\IfBeginWith{ a b c }{ a}{vrai}{faux}| -\exemple|\IfBeginWith{a b c d}{ab}{vrai}{faux}| -\exemple|\IfBeginWith{a}{a}{vrai}{faux}| -\exemple|\IfBeginWith{a}{aa}{vrai}{faux}| -\exemple|\IfBeginWith{éàèï}{è}{vrai}{faux}| -\exemple|\IfBeginWith{éàèï}{éà}{vrai}{faux}| -\exemple|\IfBeginWith{ÉÀÇ}{É}{vrai}{faux}| -\exemple|\IfBeginWith{a}{}{vrai}{faux}| -\exemple|\IfBeginWith{}{a}{vrai}{faux}| -\exemple|\IfBeginWith{}{}{vrai}{faux}| - -\chapitre{Le test}{IfEndWith} - -\exemple|\IfEndWith{abcdef}{ab}{vrai}{faux}| -\exemple|\IfEndWith{abcdef}{f}{vrai}{faux}| -\exemple|\IfEndWith{ a b c }{c}{vrai}{faux}| -\exemple|\IfEndWith{ a b c }{ }{vrai}{faux}| -\exemple|\IfEndWith{a}{a}{vrai}{faux}| -\exemple|\IfEndWith{a}{aa}{vrai}{faux}| -\exemple|\IfEndWith{éàèï}{è}{vrai}{faux}| -\exemple|\IfEndWith{éàèï}{ï}{vrai}{faux}| -\exemple|\IfEndWith{ÉÀÇ}{Ç}{vrai}{faux}| -\exemple|\IfEndWith{a}{}{vrai}{faux}| -\exemple|\IfEndWith{}{a}{vrai}{faux}| -\exemple|\IfEndWith{}{}{vrai}{faux}| - -\chapitre{Le test}{IfSubStrBefore} - -\exemple|\IfSubStrBefore{abcdef}{b}{e}{vrai}{faux}| -\exemple|\IfSubStrBefore{abcdef}{e}{c}{vrai}{faux}| -\exemple|\IfSubStrBefore{ a b c }{ }{b}{vrai}{faux}| -\exemple|\IfSubStrBefore{ a b c }{ b}{c }{vrai}{faux}| -\exemple|\IfSubStrBefore{abcdef}{z}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore{abcdef}{y}{z}{vrai}{faux}| -\exemple|\IfSubStrBefore{abcdef}{a}{z}{vrai}{faux}| -\exemple|\IfSubStrBefore{aaa}{a}{aa}{vrai}{faux}| -\exemple|\IfSubStrBefore{abcdef}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore{éàèï}{à}{ï}{vrai}{faux}| -\exemple|\IfSubStrBefore{éàèï}{é}{à}{vrai}{faux}| -\exemple|\IfSubStrBefore{ÉÀÇ}{Ç}{É}{vrai}{faux}| -\exemple|\IfSubStrBefore{a}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore{}{a}{b}{vrai}{faux}| -\exemple|\IfSubStrBefore{a}{}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore{}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore{}{}{}{vrai}{faux}| -\exemple|\IfSubStrBefore[1,1]{abacada}{d}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore[1,2]{abacada}{d}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore[1,3]{abacada}{d}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore[1,4]{abacada}{d}{a}{vrai}{faux}| -\exemple|\IfSubStrBefore[2,1]{maman papa}{a}{p}{vrai}{faux}| -\exemple|\IfSubStrBefore[2,2]{maman papa}{a}{p}{vrai}{faux}| -\exemple|\IfSubStrBefore[4,2]{maman papa}{a}{p}{vrai}{faux}| - -\chapitre{Le test}{IfStrBehind} - -\exemple|\IfSubStrBehind{abcdef}{b}{e}{vrai}{faux}| -\exemple|\IfSubStrBehind{abcdef}{e}{c}{vrai}{faux}| -\exemple|\IfSubStrBehind{ a b c }{ }{b}{vrai}{faux}| -\exemple|\IfSubStrBehind{ a b c }{ c}{ a}{vrai}{faux}| -\exemple|\IfSubStrBehind{abcdef}{z}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind{abcdef}{y}{z}{vrai}{faux}| -\exemple|\IfSubStrBehind{abcdef}{a}{z}{vrai}{faux}| -\exemple|\IfSubStrBehind{aaa}{a}{aa}{vrai}{faux}| -\exemple|\IfSubStrBehind{abcdef}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind{éàèï}{ï}{à}{vrai}{faux}| -\exemple|\IfSubStrBehind{éàèï}{à}{é}{vrai}{faux}| -\exemple|\IfSubStrBehind{ÉÀÇ}{À}{Ç}{vrai}{faux}| -\exemple|\IfSubStrBehind{a}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind{}{a}{b}{vrai}{faux}| -\exemple|\IfSubStrBehind{a}{}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind{}{a}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind{}{}{}{vrai}{faux}| -\exemple|\IfSubStrBehind[1,1]{abacada}{c}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind[1,2]{abacada}{c}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind[1,3]{abacada}{c}{a}{vrai}{faux}| -\exemple|\IfSubStrBehind[2,1]{maman papa}{a}{p}{vrai}{faux}| -\exemple|\IfSubStrBehind[3,1]{maman papa}{a}{p}{vrai}{faux}| -\exemple|\IfSubStrBehind[3,2]{maman papa}{a}{p}{vrai}{faux}| -\exemple|\IfSubStrBehind[4,2]{maman papa}{a}{p}{vrai}{faux}| - -\chapitre{Le test}{IfInteger} - -\exemple|\IfInteger{156}{vrai}{faux}| -\exemple|\IfInteger{1.6}{vrai}{faux}| -\exemple|\IfInteger{7a5}{vrai}{faux}| -\exemple|\IfInteger{+9}{vrai}{faux}| -\exemple|\IfInteger{-15}{vrai}{faux}| -\exemple|\IfInteger{0}{vrai}{faux}| -\exemple|\IfInteger{-1,2}{vrai}{faux}| -\exemple|\IfInteger{1.}{vrai}{faux}| -\exemple|\IfInteger{-00}{vrai}{faux}| -\exemple|\IfInteger{+}{vrai}{faux}| -\exemple|\IfInteger{-}{vrai}{faux}| -\exemple|\IfInteger{.}{vrai}{faux}| -\exemple|\IfInteger{}{vrai}{faux}| - -\chapitre{Le test}{IfDecimal} - -\exemple|\IfDecimal{6}{vrai}{faux}| -\exemple|\IfDecimal{-78}{vrai}{faux}| -\exemple|\IfDecimal{3.14}{vrai}{faux}| -\exemple|\IfDecimal{3,14}{vrai}{faux}| -\exemple|\IfDecimal{1..5}{vrai}{faux}| -\exemple|\IfDecimal{-9.8}{vrai}{faux}| -\exemple|\IfDecimal{+9.8}{vrai}{faux}| -\exemple|\IfDecimal{-9,8}{vrai}{faux}| -\exemple|\IfDecimal{+9,8}{vrai}{faux}| -\exemple|\IfDecimal{+6.7.}{vrai}{faux}| -\exemple|\IfDecimal{.5}{vrai}{faux}| -\exemple|\IfDecimal{1.}{vrai}{faux}| -\exemple|\IfDecimal{-.99}{vrai}{faux}| -\exemple|\IfDecimal{-5.}{vrai}{faux}| -\exemple|\IfDecimal{5a9.}{vrai}{faux}| -\exemple|\IfDecimal{+}{vrai}{faux}| -\exemple|\IfDecimal{-}{vrai}{faux}| -\exemple|\IfDecimal{.}{vrai}{faux}| -\exemple|\IfDecimal{}{vrai}{faux}| - -\chapitre{Le test}{IfStrEq} - -\exemple|\IfStrEq{abcdef}{abcdef}{vrai}{faux}| -\exemple|\IfStrEq{a b c}{a b c}{vrai}{faux}| -\exemple|\IfStrEq{abcd}{abc}{vrai}{faux}| -\exemple|\IfStrEq{aab}{ab}{vrai}{faux}| -\exemple|\IfStrEq{aab}{aa}{vrai}{faux}| -\exemple|\IfStrEq{1.2}{1.20}{vrai}{faux}| -\exemple|\IfStrEq{3,4}{3.4}{vrai}{faux}| -\exemple|\IfStrEq{ }{ }{vrai}{faux}| -\exemple|\IfStrEq{}{a}{vrai}{faux}| -\exemple|\IfStrEq{a}{}{vrai}{faux}| -\exemple|\IfStrEq{}{}{vrai}{faux}| - -\chapitre{Le test}{IfEq} - -\exemple|\IfEq{abcdef}{abcdef}{vrai}{faux}| -\exemple|\IfEq{a b c}{a b c}{vrai}{faux}| -\exemple|\IfEq{abcd}{abc}{vrai}{faux}| -\exemple|\IfEq{aab}{ab}{vrai}{faux}| -\exemple|\IfEq{aab}{aa}{vrai}{faux}| -\exemple|\IfEq{1.2}{1.20}{vrai}{faux}| -\exemple|\IfEq{+1.0000}{1}{vrai}{faux}| -\exemple|\IfEq{-10}{10}{vrai}{faux}| -\exemple|\IfEq{1,2}{1.2}{vrai}{faux}| -\exemple|\IfEq{.5}{0.5}{vrai}{faux}| -\exemple|\IfEq{,5}{0,5}{vrai}{faux}| -\exemple|\IfEq{10}{dix}{vrai}{faux}| -\exemple|\IfEq{123}{1a3}{vrai}{faux}| -\exemple|\IfEq{0}{}{vrai}{faux}| -\exemple|\IfEq{++10}{+10}{vrai}{faux}| -\exemple|\IfEq{--10}{+10}{vrai}{faux}| -\exemple|\IfEq{a}{}{vrai}{faux}| -\exemple|\IfEq{}{a}{vrai}{faux}| -\exemple|\IfEq{}{}{vrai}{faux}| - -\chapitre{La macro}{StrBefore} - -\exemple|\StrBefore{abcedef}{e}| -\exemple*|\StrBefore{abcdef}{a}| -\exemple*|\StrBefore{abcdef}{z}| -\exemple*|\StrBefore{a b c d}{c}| -\exemple*|\StrBefore{a b c d}{ }| -\exemple*|\StrBefore[2]{a b c d}{ }| -\exemple*|\StrBefore[3]{a b c d}{ }| -\exemple*|\StrBefore[9]{a b c d}{ }| -\exemple*|\StrBefore[-7]{a b c d}{ }| -\exemple*|\StrBefore{abcdef}{Z}| -\exemple|\StrBefore{éàèï}{è}| -\exemple|\StrBefore[2]{étété}{é}| -\exemple|\StrBefore{ÉÀÇ}{À}| -\exemple*|\StrBefore[1]{aaaaaa}{aa}| -\exemple|\StrBefore[2]{aaaaaa}{aa}| -\exemple|\StrBefore[3]{aaaaaa}{aa}| -\exemple*|\StrBefore[4]{aaaaaa}{aa}| -\exemple*|\StrBefore{a}{}| -\exemple*|\StrBefore{}{a}| -\exemple*|\StrBefore{}{}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrBefore{abcedef}{e}[\aa]\aa| -\exemple*|\StrBefore{abcdef}{a}[\aa]\aa| -\exemple*|\StrBefore{abcdef}{z}[\aa]\aa| -\exemple*|\StrBefore{a b c d}{c}[\aa]\aa| -\exemple*|\StrBefore{a b c d}{ }[\aa]\aa| -\exemple*|\StrBefore[2]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBefore[3]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBefore[9]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBefore[-7]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBefore{abcdef}{Z}[\aa]\aa| -\exemple|\StrBefore{éàèï}{è}[\aa]\aa| -\exemple|\StrBefore[2]{étété}{é}[\aa]\aa| -\exemple|\StrBefore{ÉÀÇ}{À}[\aa]\aa| -\exemple*|\StrBefore[1]{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrBefore[2]{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrBefore[3]{aaaaaa}{aa}[\aa]\aa| -\exemple*|\StrBefore[4]{aaaaaa}{aa}[\aa]\aa| -\exemple*|\StrBefore{a}{}[\aa]\aa| -\exemple*|\StrBefore{}{a}[\aa]\aa| -\exemple*|\StrBefore{}{}[\aa]\aa| - -\chapitre{La macro}{StrBehind} - -\exemple|\StrBehind{abcedef}{e}| -\exemple*|\StrBehind{abcdef}{a}| -\exemple*|\StrBehind{abcdef}{z}| -\exemple*|\StrBehind{a b c d}{c}| -\exemple*|\StrBehind{a b c d}{ }| -\exemple*|\StrBehind[2]{a b c d}{ }| -\exemple*|\StrBehind[3]{a b c d}{ }| -\exemple*|\StrBehind[9]{a b c d}{ }| -\exemple*|\StrBehind[-7]{a b c d}{ }| -\exemple*|\StrBehind{abcdef}{Z}| -\exemple|\StrBehind{éàèï}{è}| -\exemple|\StrBehind{ÉÀÇ}{À}| -\exemple|\StrBehind[1]{aaaaaa}{aa}| -\exemple|\StrBehind[2]{aaaaaa}{aa}| -\exemple*|\StrBehind[3]{aaaaaa}{aa}| -\exemple*|\StrBehind[4]{aaaaaa}{aa}| -\exemple*|\StrBehind{a}{}| -\exemple*|\StrBehind{}{a}| -\exemple*|\StrBehind{}{}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrBehind{abcedef}{e}[\aa]\aa| -\exemple*|\StrBehind{abcdef}{a}[\aa]\aa| -\exemple*|\StrBehind{abcdef}{z}[\aa]\aa| -\exemple*|\StrBehind{a b c d}{c}[\aa]\aa| -\exemple*|\StrBehind{a b c d}{ }[\aa]\aa| -\exemple*|\StrBehind[2]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBehind[3]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBehind[9]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBehind[-7]{a b c d}{ }[\aa]\aa| -\exemple*|\StrBehind{abcdef}{Z}[\aa]\aa| -\exemple|\StrBehind{éàèï}{è}[\aa]\aa| -\exemple|\StrBehind{ÉÀÇ}{À}[\aa]\aa| -\exemple|\StrBehind[1]{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrBehind[2]{aaaaaa}{aa}[\aa]\aa| -\exemple*|\StrBehind[3]{aaaaaa}{aa}[\aa]\aa| -\exemple*|\StrBehind[4]{aaaaaa}{aa}[\aa]\aa| -\exemple*|\StrBehind{a}{}[\aa]\aa| -\exemple*|\StrBehind{}{a}[\aa]\aa| -\exemple*|\StrBehind{}{}[\aa]\aa| - -\chapitre{La macro}{StrBetween} - -\exemple|\StrBetween{abcdef}{b}{e}| -\exemple*|\StrBetween{aZaaaaZa}{Z}{Z}| -\exemple*|\StrBetween[1,2]{aZaaaaZa}{Z}{Z}| -\exemple*|\StrBetween{a b c d}{a}{c}| -\exemple*|\StrBetween{a b c d}{a }{ d}| -\exemple*|\StrBetween{abcdef}{a}{Z}| -\exemple*|\StrBetween{abcdef}{Y}{Z}| -\exemple*|\StrBetween[2,5]{aAaBaCaDa}{a}{a}| -\exemple*|\StrBetween[4,1]{ab1ab2ab3ab4ab}{b}{a}| -\exemple*|\StrBetween[3,4]{a b c d e f}{ }{ }| -\exemple|\StrBetween[1,3]{aaaaaa}{aa}{aa}| -\exemple|\StrBetween{éàèï}{é}{ï}| -\exemple|\StrBetween{ÉÀÇ}{É}{Ç}| -\exemple*|\StrBetween{abcdef}{a}{}| -\exemple*|\StrBetween{abcdef}{}{f}| -\exemple*|\StrBetween{}{a}{b}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrBetween{abcdef}{b}{e}[\aa]\aa| -\exemple*|\StrBetween{aZaaaaZa}{Z}{Z}[\aa]\aa| -\exemple*|\StrBetween[1,2]{aZaaaaZa}{Z}{Z}[\aa]\aa| -\exemple*|\StrBetween{a b c d}{a}{c}[\aa]\aa| -\exemple*|\StrBetween{a b c d}{a }{ d}[\aa]\aa| -\exemple*|\StrBetween{abcdef}{a}{Z}[\aa]\aa| -\exemple*|\StrBetween{abcdef}{Y}{Z}[\aa]\aa| -\exemple*|\StrBetween[2,5]{aAaBaCaDa}{a}{a}[\aa]\aa| -\exemple*|\StrBetween[4,1]{ab1ab2ab3ab4ab}{b}{a}[\aa]\aa| -\exemple*|\StrBetween[3,4]{a b c d e f}{ }{ }[\aa]\aa| -\exemple|\StrBetween[1,3]{aaaaaa}{aa}{aa}[\aa]\aa| -\exemple|\StrBetween{éàèï}{é}{ï}[\aa]\aa| -\exemple|\StrBetween{ÉÀÇ}{É}{Ç}[\aa]\aa| -\exemple*|\StrBetween{abcdef}{a}{}[\aa]\aa| -\exemple*|\StrBetween{abcdef}{}{f}[\aa]\aa| -\exemple*|\StrBetween{}{a}{b}[\aa]\aa| - -\chapitre{La macro}{StrSubstitute} - -\exemple|\StrSubstitute{abcdef}{c}{ZZ}| -\exemple|\StrSubstitute{aaaaaaa}{aa}{w}| -\exemple|\StrSubstitute[0]{abacada}{a}{.}| -\exemple|\StrSubstitute[1]{abacada}{a}{.}| -\exemple|\StrSubstitute[2]{abacada}{a}{.}| -\exemple|\StrSubstitute[3]{abacada}{a}{.}| -\exemple|\StrSubstitute[4]{abacada}{a}{.}| -\exemple|\StrSubstitute[5]{abacada}{a}{.}| -\exemple|\StrSubstitute{a b c d e}{ }{,}| -\exemple|\StrSubstitute{a b c d e}{ }{}| -\exemple|\StrSubstitute{éàèï}{è}{Z}| -\exemple|\StrSubstitute{ÉÀÇ}{Ç}{c}| -\exemple|\StrSubstitute{abcdef}{}{A}| -\exemple|\StrSubstitute{abcdef}{}{}| -\exemple*|\StrSubstitute{}{a}{b}| -\exemple*|\StrSubstitute{}{}{}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrSubstitute{abcdef}{c}{ZZ}[\aa]\aa| -\exemple|\StrSubstitute{aaaaaaa}{aa}{w}[\aa]\aa| -\exemple|\StrSubstitute[0]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute[1]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute[2]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute[3]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute[4]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute[5]{abacada}{a}{.}[\aa]\aa| -\exemple|\StrSubstitute{a b c d e}{ }{,}[\aa]\aa| -\exemple|\StrSubstitute{a b c d e}{ }{}[\aa]\aa| -\exemple|\StrSubstitute{éàèï}{è}{Z}[\aa]\aa| -\exemple|\StrSubstitute{ÉÀÇ}{Ç}{c}[\aa]\aa| -\exemple|\StrSubstitute{abcdef}{}{A}[\aa]\aa| -\exemple|\StrSubstitute{abcdef}{}{}[\aa]\aa| -\exemple*|\StrSubstitute{}{a}{b}[\aa]\aa| -\exemple*|\StrSubstitute{}{}{}[\aa]\aa| - -\chapitre{La macro}{StrDel} - -\exemple|\StrDel{a1a2a3a4}{a}| -\exemple|\StrDel[2]{a1a2a3a4}{a}| -\exemple|\StrDel[-2]{a1a2a3a4}{a}| -\exemple|\StrDel[10]{a1a2a3a4}{a}| -\exemple|\StrDel[3]{a b c d e}{a}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrDel{a1a2a3a4}{a}[\aa]\aa| -\exemple|\StrDel[2]{a1a2a3a4}{a}[\aa]\aa| -\exemple|\StrDel[-2]{a1a2a3a4}{a}[\aa]\aa| -\exemple|\StrDel[10]{a1a2a3a4}{a}[\aa]\aa| -\exemple|\StrDel[3]{a b c d e}{a}[\aa]\aa| - -\chapitre{La macro}{StrLen} - -\exemple|\StrLen{abcdef}| -\exemple|\StrLen{a b c}| -\exemple|\StrLen{ a b c }| -\exemple|\StrLen{a}| -\exemple|\StrLen{éàèï}|% fonctionne mal en utf8 : donne 8 au lieu de 4 -\exemple|\StrLen{ÉÀÇ}|% idem -\exemple|\StrLen{}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrLen{abcdef}[\aa]\aa| -\exemple|\StrLen{a b c}[\aa]\aa| -\exemple|\StrLen{ a b c }[\aa]\aa| -\exemple|\StrLen{a}[\aa]\aa| -\exemple|\StrLen{éàèï}[\aa]\aa|% fonctionne mal en utf8 : donne 8 au lieu de 4 -\exemple|\StrLen{ÉÀÇ}[\aa]\aa|% idem -\exemple|\StrLen{}[\aa]\aa| - -\chapitre{la macro}{StrSplit} - -\exemple|\StrSplit{abcde}{3}{\xx}{\yy}\#\xx\#\quad\#\yy\#| -\exemple|\StrSplit{abcde}{1}{\xx}{\yy}\#\xx\#\quad\#\yy\#| -\exemple|\StrSplit{abcde}{0}{\xx}{\yy}\#\xx\#\quad\#\yy\#| -\exemple|\StrSplit{abcde}{-5}{\xx}{\yy}\#\xx\#\quad\#\yy\#| -\exemple|\StrSplit{abcde}{20}{\xx}{\yy}\#\xx\#\quad\#\yy\#| -\exemple|\StrSplit{a b c}{4}{\xx}{\yy}\#\xx\#\quad\#\yy\#| -\exemple|\StrSplit{éàçù}{2}{\xx}{\yy}\#\xx\#\quad\#\yy\#| -\exemple|\StrSplit{}{3}{\xx}{\yy}\#\xx\#\quad\#\yy\#| - -\chapitre{la macro}{StrMid} - -\exemple|\StrMid{abcdef}{2}{5}| -\exemple*|\StrMid{a b c d}{2}{6}| -\exemple*|\StrMid{abcdef}{4}{2}| -\exemple|\StrMid{abcdef}{-4}{3}| -\exemple*|\StrMid{abcdef}{-4}{-1}| -\exemple|\StrMid{abcdef}{-4}{20}| -\exemple*|\StrMid{abcdef}{8}{10}| -\exemple|\StrMid{abcdef}{2}{2}| -\exemple|\StrMid{éàèï}{2}{3}| -\exemple|\StrMid{ÉÀÇ}{2}{3}| -\exemple|\StrMid{aaaaaa}{3}{6}| -\exemple*|\StrMid{}{4}{5}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrMid{abcdef}{2}{5}[\aa]\aa| -\exemple*|\StrMid{a b c d}{2}{6}[\aa]\aa| -\exemple*|\StrMid{abcdef}{4}{2}[\aa]\aa| -\exemple|\StrMid{abcdef}{-4}{3}[\aa]\aa| -\exemple*|\StrMid{abcdef}{-4}{-1}[\aa]\aa| -\exemple|\StrMid{abcdef}{-4}{20}[\aa]\aa| -\exemple*|\StrMid{abcdef}{8}{10}[\aa]\aa| -\exemple|\StrMid{abcdef}{2}{2}[\aa]\aa| -\exemple|\StrMid{éàèï}{2}{3}[\aa]\aa| -\exemple|\StrMid{ÉÀÇ}{2}{3}[\aa]\aa| -\exemple|\StrMid{aaaaaa}{3}{6}[\aa]\aa| -\exemple*|\StrMid{}{4}{5}[\aa]\aa| - -\chapitre{La macro}{StrGobbleLeft} - -\exemple|\StrGobbleLeft{abcdef}{3}| -\exemple*|\StrGobbleLeft{a b c d}{3}| -\exemple|\StrGobbleLeft{abcdef}{-3}| -\exemple*|\StrGobbleLeft{abcdef}{9}| -\exemple|\StrGobbleLeft{éàèï}{2}| -\exemple|\StrGobbleLeft{ÉÀÇ}{1}| -\exemple|\StrGobbleLeft{aaaaa}{4}| -\exemple*|\StrGobbleLeft{}{2}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrGobbleLeft{abcdef}{3}[\aa]\aa| -\exemple*|\StrGobbleLeft{a b c d}{3}[\aa]\aa| -\exemple|\StrGobbleLeft{abcdef}{-3}[\aa]\aa| -\exemple*|\StrGobbleLeft{abcdef}{9}[\aa]\aa| -\exemple|\StrGobbleLeft{éàèï}{2}[\aa]\aa| -\exemple|\StrGobbleLeft{ÉÀÇ}{1}[\aa]\aa| -\exemple|\StrGobbleLeft{aaaaa}{4}[\aa]\aa| -\exemple*|\StrGobbleLeft{}{2}[\aa]\aa| - -\chapitre{La macro}{StrGobbleRight} - -\exemple|\StrGobbleRight{abcdef}{3}| -\exemple*|\StrGobbleRight{a b c d}{3}| -\exemple|\StrGobbleRight{abcdef}{-3}| -\exemple*|\StrGobbleRight{abcdef}{9}| -\exemple|\StrGobbleRight{éàèï}{2}| -\exemple|\StrGobbleRight{ÉÀÇ}{1}| -\exemple|\StrGobbleRight{aaaaa}{4}| -\exemple*|\StrGobbleRight{}{2}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrGobbleRight{abcdef}{3}[\aa]\aa| -\exemple*|\StrGobbleRight{a b c d}{3}[\aa]\aa| -\exemple|\StrGobbleRight{abcdef}{-3}[\aa]\aa| -\exemple*|\StrGobbleRight{abcdef}{9}[\aa]\aa| -\exemple|\StrGobbleRight{éàèï}{2}[\aa]\aa| -\exemple|\StrGobbleRight{ÉÀÇ}{1}[\aa]\aa| -\exemple|\StrGobbleRight{aaaaa}{4}[\aa]\aa| -\exemple*|\StrGobbleRight{}{2}[\aa]\aa| - -\chapitre{La macro}{StrLeft} - -\exemple|\StrLeft{abcdef}{3}| -\exemple*|\StrLeft{a b c d}{3}| -\exemple*|\StrLeft{abcdef}{-3}| -\exemple*|\StrLeft{abcdef}{9}| -\exemple|\StrLeft{éàèï}{2}| -\exemple|\StrLeft{ÉÀÇ}{1}| -\exemple|\StrLeft{aaaaa}{4}| -\exemple*|\StrLeft{}{2}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrLeft{abcdef}{3}[\aa]\aa| -\exemple*|\StrLeft{a b c d}{3}[\aa]\aa| -\exemple*|\StrLeft{abcdef}{-3}[\aa]\aa| -\exemple*|\StrLeft{abcdef}{9}[\aa]\aa| -\exemple|\StrLeft{éàèï}{2}[\aa]\aa| -\exemple|\StrLeft{ÉÀÇ}{1}[\aa]\aa| -\exemple|\StrLeft{aaaaa}{4}[\aa]\aa| -\exemple*|\StrLeft{}{2}[\aa]\aa| - -\chapitre{La macro}{StrRight} - -\exemple|\StrRight{abcdef}{3}| -\exemple*|\StrRight{a b c d}{3}| -\exemple*|\StrRight{abcdef}{-3}| -\exemple*|\StrRight{abcdef}{9}| -\exemple|\StrRight{éàèï}{2}| -\exemple|\StrRight{ÉÀÇ}{1}| -\exemple|\StrRight{aaaaa}{4}| -\exemple*|\StrRight{}{2}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrRight{abcdef}{3}[\aa]\aa| -\exemple*|\StrRight{a b c d}{3}[\aa]\aa| -\exemple*|\StrRight{abcdef}{-3}[\aa]\aa| -\exemple*|\StrRight{abcdef}{9}[\aa]\aa| -\exemple|\StrRight{éàèï}{2}[\aa]\aa| -\exemple|\StrRight{ÉÀÇ}{1}[\aa]\aa| -\exemple|\StrRight{aaaaa}{4}[\aa]\aa| -\exemple*|\StrRight{}{2}[\aa]\aa| - -\chapitre{la macro}{StrChar} - -\exemple|\StrChar{abcdef}{5}| -\exemple*|\StrChar{a b c d}{4}| -\exemple|\StrChar{a b c d}{7}| -\exemple*|\StrChar{abcdef}{10}| -\exemple*|\StrChar{abcdef}{-5}| -\exemple*|\StrChar{}{3}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrChar{abcdef}{5}[\aa]\aa| -\exemple*|\StrChar{a b c d}{4}[\aa]\aa| -\exemple|\StrChar{a b c d}{7}[\aa]\aa| -\exemple*|\StrChar{abcdef}{10}[\aa]\aa| -\exemple*|\StrChar{abcdef}{-5}[\aa]\aa| -\exemple*|\StrChar{}{3}[\aa]\aa| - -\chapitre{La macro}{StrCount} - -\exemple|\StrCount{abcdef}{d}| -\exemple|\StrCount{a b c d}{ }| -\exemple|\StrCount{aaaaaa}{aa}| -\exemple|\StrCount{étété}{é}| -\exemple|\StrCount{abcdef}{Z}| -\exemple|\StrCount{éàèï}{é}| -\exemple|\StrCount{ÉÀÇ}{Ç}| -\exemple|\StrCount{abcdef}{}| -\exemple|\StrCount{}{a}| -\exemple|\StrCount{}{}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrCount{abcdef}{d}[\aa]\aa| -\exemple|\StrCount{a b c d}{ }[\aa]\aa| -\exemple|\StrCount{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrCount{étété}{é}[\aa]\aa| -\exemple|\StrCount{abcdef}{Z}[\aa]\aa| -\exemple|\StrCount{éàèï}{é}[\aa]\aa| -\exemple|\StrCount{ÉÀÇ}{Ç}[\aa]\aa| -\exemple|\StrCount{abcdef}{}[\aa]\aa| -\exemple|\StrCount{}{a}[\aa]\aa| -\exemple|\StrCount{}{}[\aa]\aa| - -\chapitre{La macro}{StrPosition} - -\exemple|\StrPosition{abcdef}{c}| -\exemple|\StrPosition{abcdef}{Z}| -\exemple|\StrPosition{a b c d}{ }| -\exemple|\StrPosition[3]{a b c d}{ }| -\exemple|\StrPosition[8]{a b c d}{ }| -\exemple|\StrPosition{étété}{é}| -\exemple|\StrPosition[3]{étété}{é}| -\exemple|\StrPosition[5]{étété}{é}| -\exemple|\StrPosition{aaaaaa}{aa}| -\exemple|\StrPosition[2]{aaaaaa}{aa}| -\exemple|\StrPosition[3]{aaaaaa}{aa}| -\exemple|\StrPosition{éàèï}{è}| -\exemple|\StrPosition{ÉÀÇ}{À}| -\exemple|\StrPosition{abcdef}{}| -\exemple|\StrPosition{}{a}| -\exemple|\StrPosition{}{}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\exemple|\StrPosition{abcdef}{c}[\aa]\aa| -\exemple|\StrPosition{abcdef}{Z}[\aa]\aa| -\exemple|\StrPosition{a b c d}{ }[\aa]\aa| -\exemple|\StrPosition[3]{a b c d}{ }[\aa]\aa| -\exemple|\StrPosition[8]{a b c d}{ }[\aa]\aa| -\exemple|\StrPosition{étété}{é}[\aa]\aa| -\exemple|\StrPosition[3]{étété}{é}[\aa]\aa| -\exemple|\StrPosition[5]{étété}{é}[\aa]\aa| -\exemple|\StrPosition{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrPosition[2]{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrPosition[3]{aaaaaa}{aa}[\aa]\aa| -\exemple|\StrPosition{éàèï}{è}[\aa]\aa| -\exemple|\StrPosition{ÉÀÇ}{À}[\aa]\aa| -\exemple|\StrPosition{abcdef}{}[\aa]\aa| -\exemple|\StrPosition{}{a}[\aa]\aa| -\exemple|\StrPosition{}{}[\aa]\aa| - -\chapitre{La macro}{StrCompare} - -La tolérance normale :\par\comparenormal -\exemple|\StrCompare{abcdefghij}{abc}| -\exemple|\StrCompare{A}{A}| -\exemple|\StrCompare{éçà}{éçà}| -\exemple|\StrCompare{abcdef}{a bd}| -\exemple|\StrCompare{ }{ }| -\exemple|\StrCompare{}{abcd}| -\exemple|\StrCompare{abcd}{}| -\exemple|\StrCompare{123456}{1234}| -\exemple|\StrCompare{a b c d}{a bcd}| -\exemple|\StrCompare{}{}| -\exemple|\StrCompare{eee}{eeee}| -\exemple|\StrCompare{eeee}{eee}| -\exemple|\StrCompare{totutu}{tututu}| -\exemple|\StrCompare{abcd}{abyz}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\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| -\exemple|\StrCompare{abcd}{}[\aa]\aa| -\exemple|\StrCompare{123456}{1234}[\aa]\aa| -\exemple|\StrCompare{a b c d}{a bcd}[\aa]\aa| -\exemple|\StrCompare{}{}[\aa]\aa| -\exemple|\StrCompare{eee}{eeee}[\aa]\aa| -\exemple|\StrCompare{eeee}{eee}[\aa]\aa| -\exemple|\StrCompare{totutu}{tututu}[\aa]\aa| -\exemple|\StrCompare{abcd}{abyz}[\aa]\aa| - -La tolérance stricte :\comparestrict\par -\exemple|\StrCompare{abcdefghij}{abc}| -\exemple|\StrCompare{A}{A}| -\exemple|\StrCompare{éçà}{éçà}| -\exemple|\StrCompare{abcdef}{a bd}| -\exemple|\StrCompare{ }{ }| -\exemple|\StrCompare{}{abcd}| -\exemple|\StrCompare{abcd}{}| -\exemple|\StrCompare{123456}{1234}| -\exemple|\StrCompare{a b c d}{a bcd}| -\exemple|\StrCompare{}{}| -\exemple|\StrCompare{eee}{eeee}| -\exemple|\StrCompare{eeee}{eee}| -\exemple|\StrCompare{totutu}{tututu}| -\exemple|\StrCompare{abcd}{abyz}| -\par\bigskip Mêmes exemples avec l'argument optionnel : - -\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| -\exemple|\StrCompare{abcd}{}[\aa]\aa| -\exemple|\StrCompare{123456}{1234}[\aa]\aa| -\exemple|\StrCompare{a b c d}{a bcd}[\aa]\aa| -\exemple|\StrCompare{}{}[\aa]\aa| -\exemple|\StrCompare{eee}{eeee}[\aa]\aa| -\exemple|\StrCompare{eeee}{eee}[\aa]\aa| -\exemple|\StrCompare{totutu}{tututu}[\aa]\aa| -\exemple|\StrCompare{abcd}{abyz}[\aa]\aa| -\vspace{10ex} - -\hfill{\Large Le mode \tt\textbackslash noexpandarg}\hfill{} - -\vspace{-1.5ex}\hspace{6cm}\hrulefill\hspace{6cm} - -\bigskip -Dans toute la suite sauf si c'est précisé, la commande \verb|\noexpandarg| est activée.\bigskip -\makeatletter - -\long\def\@xs@afterreadverb#1{% - \tokenize\cs@resultat{#1}% - \leavevmode\hbox to0.7\linewidth{\hfil\tt#1}\quad\frontiere\cs@resultat\frontiere\hfil\par}% -\makeatother -\noexpandarg - -\bigskip -\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ésultats identiques ci-dessous puisque \verb|\IfBeginWith| est indifférent au mode d'exploration des groupes !\smallskip - -\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ésultats identiques ci-dessous puisque \verb|\IfEndWith| est indifférent au mode d'exploration des groupes !\smallskip - -\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érence de comportement de la macro \verb|\IfInteger| selon les modes de développement des arguments.\smallskip - -\exemple|\def\nbA{-12}\def\nbB{498}| -\exemple|\def\nbAA{\nbA}\def\nbBB{\nbB}|\smallskip -\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}|\smallskip -\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}|\smallskip -\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érence de comportement de la macro \verb|\IfDecimal| selon les modes de développement des arguments.\smallskip - -\exemple|\def\nbA{-12}\def\nbB{498}| -\exemple|\def\nbAA{\nbA}\def\nbBB{\nbB}|\smallskip -\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}|\smallskip -\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}|\smallskip -\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}|\smallskip -\exemple|\StrBefore[3]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBefore[4]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBefore[5]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBefore[6]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\exploregroups| -\exemple|\StrBefore[2]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBefore[3]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBefore[4]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBefore[5]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\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}|\smallskip -\exemple|\StrBehind[3]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBehind[4]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBehind[5]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBehind[6]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\exploregroups| -\exemple|\StrBehind[2]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBehind[3]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBehind[4]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBehind[5]{1\a2\a3{4\a5{6\a7}8\a}9\a0}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\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 \verb|\StrBetween| opère en mode \verb|\noexploregroups|, quelque soit le mode d'exploration en cours.\smallskip - -\exemple|\StrBetween[1,3]{\a1\a2{3\a4}5\a6{7\a8}9\a0}{2}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBetween[2,3]{\a1\a2{3\a4}5\a6{7\a8}9\a0}{\a}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBetween[1,3]{\a1\a2{3\a4}5\a6{7\a8}9\a0}{3}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrBetween[2,4]{\a1\a2{3\a4}5\a6{7\a8}9\a0}{\a}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip - -\chapitre{La macro}{StrSubstitute} - -\exemple|\noexploregroups| -\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{\a}{\X}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrSubstitute[2]{\a1{2\a{3\a}4\a}\a5\a}{\a}{\X}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{2}{X}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{{3\a}}{XXX}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{3\a}{XXX}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrSubstitute{a1{b1\bgroup c1}\egroup d1}{1}{X}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\exploregroups| -\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{\a}{\X}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrSubstitute[2]{\a1{2\a{3\a}4\a}\a5\a}{\a}{\X}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{2}{X}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{{3\a}}{XXX}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrSubstitute{\a1{2\a{3\a}4\a}\a5\a}{3\a}{XXX}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}| -\exemple|\StrSubstitute{a1{b1\bgroup c1}\egroup d1}{1}{X}[\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}|\smallskip -\exemple|\StrDel[2]{\a1{2\a{3\a}4\a}\a5\a}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{2}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{{3\a}}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{3\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\exploregroups| -\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrDel[2]{\a1{2\a{3\a}4\a}\a5\a}{\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{2}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{{3\a}}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrDel{\a1{2\a{3\a}4\a}\a5\a}{3\a}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip - -\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 \verb|\StrMid| opère en mode \verb|\noexploregroups|, quelque soit le mode d'exploration en cours.\smallskip - -\exemple|\StrMid{\a\b{\c\d}\e\f\g\h}{2}{6}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\StrMid{\a\b{\c\d}\e\f\g\h}{3}{4}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip - -\chapitre{La macro}{StrGobbleLeft} - -\exemple|\noexploregroups| -\exemple|\StrGobbleLeft{\a\b{\c\d\e}\f}{3}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\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}|\smallskip -\exemple|\exploregroups| -\exemple|\StrGobbleRight{\a\b{\c\d\e}\f}{3}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip - -\chapitre{La macro}{StrLeft} - -\exemple|\noexploregroups| -\exemple|\StrLeft{\a\b{\c\d\e}\f}{3}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\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}|\smallskip -\exemple|\exploregroups| -\exemple|\StrRight{\a\b{\c\d\e}\f}{3}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip - -\chapitre{la macro}{StrChar} - -\exemple|\noexploregroups| -\exemple|\StrChar{\a\b{\c\d\e}\f}{3}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\exemple|\exploregroups| -\exemple|\StrChar{\a\b{\c\d\e}\f}{3}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip - -\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 \verb|\StrCompare| n'est pas affectée par le mode d'exploration.\smallskip - -\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}|\smallskip -\exemple|\exploregroups| -\exemple|\StrRemoveBraces{\a1{\b2{\c3{\d4}}}\e5}[\cmd]| -\exemple|\detokenize\expandafter{\cmd}|\smallskip -\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.pdf b/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.pdf Binary files differindex 839e1339597..d48edf585cd 100644 --- a/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.pdf +++ b/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.pdf diff --git a/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.tex b/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.tex index 74cf0bb2301..19b9c760278 100644 --- a/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.tex +++ b/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.tex @@ -17,7 +17,7 @@ \documentclass[a4paper,10pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[dvips,colorlinks=true,hyperfootnotes=false,citecolor=black,filecolor=black,linkcolor=blue,urlcolor=magenta,bookmarks=false,pdfauthor={Christian Tellechea},pdftitle={xstring},pdfsubject={package for strings of tokens},pdfkeywords={xstring,latex,string},pdfcreator={LaTeX}]{hyperref} +\usepackage[bookmarks=true,bookmarksopen=true,colorlinks=true,hyperfootnotes=false,filecolor=black,linkcolor=blue,urlcolor=magenta,pdfauthor={Christian Tellechea},pdftitle={xstring},pdfsubject={package for strings of tokens},pdfkeywords={xstring,latex,string},pdfcreator={LaTeX}]{hyperref} \usepackage[a4paper,dvips,margin=1.9cm]{geometry} \usepackage{amsmath,amssymb,amsfonts} \usepackage{color} diff --git a/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.pdf b/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.pdf Binary files differindex c41fa6f9693..67b73684722 100644 --- a/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.pdf +++ b/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.pdf diff --git a/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.tex b/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.tex index f378c4eaa79..987d90a85d3 100644 --- a/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.tex +++ b/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.tex @@ -18,7 +18,7 @@ \documentclass[a4paper,10pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[a4paper,dvips,colorlinks=true,hyperfootnotes=false,citecolor=black,filecolor=black,linkcolor=blue,urlcolor=magenta,bookmarks=false,pdfauthor={Christian TELLECHEA},pdftitle={xstring},pdfsubject={package pour la manipulation de chaines de tokens},pdfkeywords={xstring,latex,tex,string,chaine},pdfcreator={LaTeX}]{hyperref} +\usepackage[bookmarks=true,bookmarksopen=true,colorlinks=true,hyperfootnotes=false,filecolor=black,linkcolor=blue,urlcolor=magenta,pdfauthor={Christian TELLECHEA},pdftitle={xstring},pdfsubject={package pour la manipulation de chaines de tokens},pdfkeywords={xstring,latex,tex,string,chaine},pdfcreator={LaTeX}]{hyperref} \usepackage[a4paper,dvips,margin=1.9cm]{geometry} \usepackage{amsmath,amssymb,amsfonts} \usepackage{color} diff --git a/Master/texmf-dist/tex/generic/xstring/xstring.sty b/Master/texmf-dist/tex/generic/xstring/xstring.sty new file mode 100644 index 00000000000..9dc5a187f7c --- /dev/null +++ b/Master/texmf-dist/tex/generic/xstring/xstring.sty @@ -0,0 +1,3 @@ +\input xstring.tex +\ProvidesPackage{xstring}[\xstringdate\space\space v\xstringversion\space\space String manipulations (C Tellechea)] +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/xstring/xstring.tex b/Master/texmf-dist/tex/generic/xstring/xstring.tex index 2367211bcd3..cbad33e6490 100644 --- a/Master/texmf-dist/tex/generic/xstring/xstring.tex +++ b/Master/texmf-dist/tex/generic/xstring/xstring.tex @@ -1,24 +1,22 @@ % __________________________________________________ % | | % | | -% | xstring v1.5c | +% | xstring v1.5d | % | | -% | June 5 2009 | +% | March 28 2010 | % | | % |__________________________________________________| % % This is xtring.tex % -% "xstring" package consists of the 11 following files: +% "xstring" package consists of the 7 following files: % xstring.tex (this file) % xstring.sty % README % xstring_doc_fr.tex, xstring_doc_fr.pdf (manual in french) % xstring_doc_en.tex, xstring_doc_en.pdf (manual in english) -% test_latex.tex, test_latex.pdf (test file with LaTeX) -% test_etex.tex, test_etex.pdf (test file with Plain eTeX) % -% Christian Tellechea 2009 +% Christian Tellechea 2008-2010 % email : unbonpetit@gmail.com % ------------------------------------------------------------------- % This work may be distributed and/or modified under the @@ -35,10 +33,10 @@ % % The Current Maintainer of this work is Christian Tellechea % ------------------------------------------------------------------- -\def\xstringversion {1.5c} -\def\xstringdate {2009/06/05} -\def\xstringfrenchdate {5 juin 2009} -\def\xstringenglishdate {June $5^{\mathrm{th}}$ 2009} +\def\xstringversion {1.5d} +\def\xstringdate {2010/03/28} +\def\xstringfrenchdate {28 mars 2010} +\def\xstringenglishdate {March $28^{\mathrm{th}}$ 2010} \edef\CurrentAtCatcode {\the\catcode`\@} \catcode`\@=11 \newwrite\@xs@message% canal pour les messages @@ -580,13 +578,21 @@ \fi} \@xs@newmacro\IfInteger{}{1}{0}{% - \expandafter\@xs@formatnumber\expandafter{\detokenize{#1}}\@xs@reserved@A + \@xs@formatnumber{#1}\@xs@reserved@A \decimalpart\z@ \afterassignment\@xs@defafterinteger\integerpart\@xs@reserved@A\relax\@xs@nil + \let\@xs@after@intpart\@xs@afterinteger \expandafter\@xs@testdot\@xs@afterinteger\@xs@nil - \let\@xs@next\@secondoftwo \ifx\@empty\@xs@afterdecimal - \ifnum\decimalpart=\z@\let\@xs@next\@firstoftwo\fi + \ifnum\decimalpart=\z@ + \let\@xs@next\@firstoftwo% partie décimale constituée de 0 --> seul cas où on renvoie vrai + \else + \let\@xs@afterinteger\@xs@after@intpart + \let\@xs@next\@secondoftwo + \fi + \else + \let\@xs@afterinteger\@xs@after@intpart + \let\@xs@next\@secondoftwo \fi \@xs@next} @@ -598,13 +604,12 @@ \ifx\@empty\@xs@afterdecimal \expandafter\@firstoftwo \else - \expandafter\tokenize\expandafter\@xs@afterdecimal\expandafter{\@xs@afterdecimal}% \expandafter\@secondoftwo \fi} \def\@xs@defafterinteger#1\relax\@xs@nil{\def\@xs@afterinteger{#1}} -\def\@xs@testdot{\@ifnextchar.{\@xs@readdecimalpart}{\@xs@testcomma}} -\def\@xs@testcomma{\@ifnextchar,{\@xs@readdecimalpart}{\@xs@endnumber}} +\def\@xs@testdot{\let\xs@decsep\@empty\@ifnextchar.{\def\xs@decsep{.}\@xs@readdecimalpart}{\@xs@testcomma}} +\def\@xs@testcomma{\@ifnextchar,{\def\xs@dessep{,}\@xs@readdecimalpart}{\@xs@endnumber}} \def\@xs@readdecimalpart#1#2\@xs@nil{% \ifx\@empty#2\@empty\def\@xs@reserved@A{0X}\else\def\@xs@reserved@A{0#2}\fi \afterassignment\@xs@defafterinteger\decimalpart\@xs@reserved@A\relax\@xs@nil @@ -1150,4 +1155,12 @@ % faisait que \truc se développait en un espace. % - Correction d'un bug dans \@xs@removefirstsyntaxunit où le cas % \@xs@removefirstsyntaxunit{ {b}}\truc -% donnait \truc se développant en «b» au lieu de «{b}».
\ No newline at end of file +% donnait \truc se développant en «b» au lieu de «{b}». +%------------------------------------------------------------------------------ +% v1.5d 28/3/2010 +% - Correction d'un bug dans \IfInteger : \@xs@afterinteger ne donnait pas le +% bon r\'esultat. Par exemple avec 1.23 il renvoyait {} au lieu de {.23} +% - \xs@formatnumber ne detokenize plus ses arguments (que m'est-il pass\'e +% par la t\^ete pour que je code un truc comme ca ?), et donc +% \@xs@afterinteger et \@xs@afterdecimal ont des tokens ayant le bon +% catcode
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/xstring/xstring.sty b/Master/texmf-dist/tex/latex/xstring/xstring.sty deleted file mode 100644 index 23e4b1a6e5e..00000000000 --- a/Master/texmf-dist/tex/latex/xstring/xstring.sty +++ /dev/null @@ -1,3 +0,0 @@ -\input xstring.tex -\ProvidesPackage{xstring}[\xstringdate\space v\xstringversion\space String manipulations (C Tellechea)] -\endinput
\ No newline at end of file diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index e3d68bac2ed..23f6c8a3162 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -658,7 +658,6 @@ $Master = "$mydir/../.."; 'xmltex', "&MAKExmltex", 'xor', "die 'will be in xpackages when ready (Morten says)'", 'xparse', "die 'already in xpackages'", - 'xstring', "&MAKEcopy", 'xtheorem', "die 'will be in xpackages when ready (Morten says)'", 'xymtex', "&MAKExymtex", 'xypic', "&MAKExypic", |