diff options
author | Karl Berry <karl@freefriends.org> | 2008-11-17 01:39:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-11-17 01:39:17 +0000 |
commit | a2b37753f4b3df3c66f5e8e1644f4a9646c9aabb (patch) | |
tree | 0276fd468cf82730031fe18a29505e84fc894365 /Master/texmf-dist/tex/generic/xstring | |
parent | ff8d5e7c0f057c2c1a7abafc338b6f0b84020855 (diff) |
xstring update (16nov08)
git-svn-id: svn://tug.org/texlive/trunk@11321 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xstring')
-rw-r--r-- | Master/texmf-dist/tex/generic/xstring/xstring.tex | 52 |
1 files changed, 31 insertions, 21 deletions
diff --git a/Master/texmf-dist/tex/generic/xstring/xstring.tex b/Master/texmf-dist/tex/generic/xstring/xstring.tex index ff173dcadab..9da9444bb2c 100644 --- a/Master/texmf-dist/tex/generic/xstring/xstring.tex +++ b/Master/texmf-dist/tex/generic/xstring/xstring.tex @@ -1,9 +1,9 @@ % __________________________________________________ % | | % | | -% | xstring v1.4 | +% | xstring v1.4b | % | | -% | November 4 2008 | +% | November 16 2008 | % | | % |__________________________________________________| % @@ -35,10 +35,10 @@ % test_latex.tex, test_latex.pdf (test file with LaTeX) % test_etex.tex, test_etex.pdf (test file with Plain eTeX) % -\def\xstringversion {1.4} -\def\xstringdate {2008/11/04} -\def\xstringfrenchdate {4 novembre 2008} -\def\xstringenglishdate{November $4^{\mathrm{th}}$ 2008} +\def\xstringversion {1.4b} +\def\xstringdate {2008/11/16} +\def\xstringfrenchdate {16 novembre 2008} +\def\xstringenglishdate{November $16^{\mathrm{th}}$ 2008} \edef\CurrentAtCatcode{\the\catcode`\@} \catcode`\@=11 \newwrite\@xs@unused% pour les messages @@ -221,9 +221,8 @@ \ifx\@xs@toks\bgroup \begingroup \escapechar48\relax% 0 est le caractère d'échappement - \expandafter\if\expandafter0\expandafter\@xs@returnfirstsyntaxunit@i\detokenize{#1}\@xs@nil - \def\@xs@reserved@A{\def#2{##1}}% si commence par 0, ##1 est un «\bgroup» - \let\@xs@toks0\relax + \expandafter\expandafter\expandafter\ifx\expandafter\@xs@returnfirstsyntaxunit@ii\detokenize{#1}\@xs@nil0% + \def\@xs@reserved@A{\def#2{##1}\let\@xs@toks0\relax}% si commence par 0, ##1 est un «\bgroup» \else \def\@xs@reserved@A{\def#2{{##1}}}% si ne commence pas par 0, ##1 est un groupe {...} \fi @@ -251,7 +250,7 @@ \def\@xs@beforespace#1 #2\@xs@nil{#1} \def\@xs@behindspace#1 #2\@xs@nil{#2} \def\@xs@gobblefirstchar#1{} -\def\@xs@returnfirstsyntaxunit@i#1#2\@xs@nil{#1} +\def\@xs@returnfirstsyntaxunit@ii#1#2\@xs@nil{#1} % Cette macro interne est utilisée dans les macros étoilées pour : % 1) développer l'argument selon qu'on a choisit \fullexpandarg @@ -660,7 +659,7 @@ \@xs@next}% \def\@xs@reserved@D{}\def\@xs@reserved@C{#2}% \@xs@count\ifnum#1>\z@\z@\else\@ne\fi - \@xs@StrSubstitute@ii + \@xs@StrSubstitute@ii \expandafter\@xs@ReturnResult\expandafter{\@xs@reserved@D}{#5}} % Supprime les #1 premières occurrences de #3 dans #2 @@ -725,8 +724,11 @@ \fi \fi \@xs@next}% - \let#3\@empty\def#4{#2}\@xs@count\z@ - \@xs@StrSplit@ii} + \def#4{#2}\let#3\@empty + \ifnum#1>\z@ + \@xs@count\z@ + \@xs@StrSplit@ii + \fi} % De la chaine #1, renvoie ce qui se trouve entre les positions % #2 et #3, caractères aux positions compris ! @@ -870,10 +872,10 @@ \endinput % % Historique -%------------------------------------------------------------ +%------------------------------------------------------------------------------ %% v1.0 4/7/2008 : - Package achevé. % 7/7/2008 : - Package publié sur CTAN. -%------------------------------------------------------------ +%------------------------------------------------------------------------------ % v1.1 15/8/2008 % - Le package ne nécessite plus LaTeX et est désormais utilisable sous Plain % eTeX. @@ -896,7 +898,7 @@ % a) ajout de ce qui se trouve après la dernière occurrence dans la sc% % \@xs@StrCount@afterlastocccur % b) la macro ne dépend plus d'aucune autre -%------------------------------------------------------------ +%------------------------------------------------------------------------------ % v1.2 23/8/2008 % - Amélioration du code de \StrMid \StrGobbleLeft, \StrLeft, \StrGobbleRight % et \StrRight à l'aide de la nouvelle macro \@xs@StrSplit@i @@ -906,7 +908,7 @@ % - Correction d'un bug dans \@xs@formatnumber. La macro n'envisageait pas le % cas où son argument était vide ce qui faiasait planter \IfDecimal{}{V}{F} % et \IfInteger{}{V}{F} -%------------------------------------------------------------ +%------------------------------------------------------------------------------ % v1.3 21/9/2008 % - Amélioration du code, mise en place de récursivités terminales dans toutes % les macros récursives, simplification de \@xs@TestEqual en utilisant \ifx @@ -918,7 +920,7 @@ % - Nouvelle macro \StrCompare % Compare 2 chaînes et renvoie la position du 1er caractère différent. % Renvoie 0 si elles sont égales. -%------------------------------------------------------------ +%------------------------------------------------------------------------------ % v1.3a 29/9/2008 % - Correction d'un bug : \expandafter#1 % dans les macros \IfSubStrBefore et \StrBetween qui buggue si #1 est un @@ -930,11 +932,11 @@ % Coupe la chaine après la nième occurrence d'une sous chaine. % - Code amélioré de \StrMid, \StrLeft, \StrGobbleLeft, \StrRight, % \StrGobbleRight grace à \@xs@cutafteroccur -%------------------------------------------------------------ +%------------------------------------------------------------------------------ % v1.4 4/11/2008 % - xstring traite ses arguments par unité syntaxique, et donc toutes les % macros internes ont été ré-écrites à cette fin. -% - Le manuel a été ré-écrit, et rendu plus clair et mieux structuré. +% - Le manuel a été ré-écrit, rendu plus clair et mieux structuré. % - Nouvelle fonctionnalité : \expandarg % le 1er lexème de chaque argument est 1-développé avant que la macro ne % soit appelée. Si un argument comporte plus qu'1 lexème, il faut passer @@ -942,4 +944,12 @@ % - Correction de 2 erreurs dans le manuel anglais : 0 est la valeur par % défaut dans \StrSubstitute et \StrDel % - Cohérence dans les nom des séquences de contrôles temporaires qui sont -% \@xs@reserved@A -> \@xs@reserved@E
\ No newline at end of file +% \@xs@reserved@A -> \@xs@reserved@E +%------------------------------------------------------------------------------ +% v1.4a 12/11/2008 +% - Correction d'un bug dans \@xs@StrSplit dans le cas où l'argument numérique +% est <1 : la 1ere coupure doit être vide et le seconde doit être égale à +% l'argument. +%------------------------------------------------------------------------------ +% v1.4b 16/11/2008 +% - Correction de 2 bugs dans \@xs@returnfirstsyntaxunit
\ No newline at end of file |