summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-02-05 21:54:20 +0000
committerKarl Berry <karl@freefriends.org>2019-02-05 21:54:20 +0000
commit11ab7fc9bf5dd125cdea55cb8e3c15b598ff1641 (patch)
treeda76f2f8e519c0338b3a310c1c0fd51d8da4dcf5
parent554485d7d87fdca34ffb1aa17679afe69e7ff648 (diff)
xstring (5feb19)
git-svn-id: svn://tug.org/texlive/trunk@49946 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/xstring/README4
-rw-r--r--Master/texmf-dist/doc/generic/xstring/xstring-en.pdfbin187658 -> 187648 bytes
-rw-r--r--Master/texmf-dist/doc/generic/xstring/xstring-en.tex2
-rw-r--r--Master/texmf-dist/doc/generic/xstring/xstring-fr.pdfbin201929 -> 201920 bytes
-rw-r--r--Master/texmf-dist/doc/generic/xstring/xstring-fr.tex2
-rw-r--r--Master/texmf-dist/tex/generic/xstring/xstring.tex16
6 files changed, 14 insertions, 10 deletions
diff --git a/Master/texmf-dist/doc/generic/xstring/README b/Master/texmf-dist/doc/generic/xstring/README
index b9a26148664..8234833cb98 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.82
- 2019/02/01
+ v 1.83
+ 2019/02/06
_________________
This package provides macros manipulating strings for programming use.
diff --git a/Master/texmf-dist/doc/generic/xstring/xstring-en.pdf b/Master/texmf-dist/doc/generic/xstring/xstring-en.pdf
index 31f4a888d70..d7581cd5e19 100644
--- a/Master/texmf-dist/doc/generic/xstring/xstring-en.pdf
+++ b/Master/texmf-dist/doc/generic/xstring/xstring-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/xstring/xstring-en.tex b/Master/texmf-dist/doc/generic/xstring/xstring-en.tex
index 0d272ddf910..94c46f9d3f5 100644
--- a/Master/texmf-dist/doc/generic/xstring/xstring-en.tex
+++ b/Master/texmf-dist/doc/generic/xstring/xstring-en.tex
@@ -158,7 +158,7 @@ A "string of tokens" is a list of tokens of any nature, except that braces must
As the arguments may contain any token, advanced users could have problems with catcodes leading to unexpected behaviours. These behaviours can be controlled: read page~\pageref{macrosetoilees}.\medskip
-Certainly, other packages exist (for example \href{http://www.ctan.org/tex-archive/macros/latex/contrib/substr/}{\nolinkurl{substr}} and \href{http://www.ctan.org/tex-archive/macros/latex/contrib/stringstrings/}{\nolinkurl{stringstrings}}), but as well as differences on features, they do not take into account occurrences so I found them too limited and difficult to use for programming.
+Certainly, other packages exist (for example \href{http://mirror.ctan.org/tex-archive/macros/latex/contrib/substr/}{\nolinkurl{substr}} and \href{http://mirror.ctan.org/tex-archive/macros/latex/contrib/stringstrings/}{\nolinkurl{stringstrings}}), but as well as differences on features, they do not take into account occurrences so I found them too limited and difficult to use for programming.
\subsection{Motivation}
I decided to write this package of macros because I have never really found tools in \LaTeX{} suiting my needs for strings. So, over the last few months, I wrote a few macros that I occasionally or regularly used. Their numbers have increased and become a little too dispersed in directories in my computer, so I have grouped them together in this package.
diff --git a/Master/texmf-dist/doc/generic/xstring/xstring-fr.pdf b/Master/texmf-dist/doc/generic/xstring/xstring-fr.pdf
index c964109ec16..a1f72f86351 100644
--- a/Master/texmf-dist/doc/generic/xstring/xstring-fr.pdf
+++ b/Master/texmf-dist/doc/generic/xstring/xstring-fr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/xstring/xstring-fr.tex b/Master/texmf-dist/doc/generic/xstring/xstring-fr.tex
index 340244f7b00..a3394161496 100644
--- a/Master/texmf-dist/doc/generic/xstring/xstring-fr.tex
+++ b/Master/texmf-dist/doc/generic/xstring/xstring-fr.tex
@@ -156,7 +156,7 @@ On appelle \guill{chaîne de tokens} une suite de tokens quelconques, sachant qu
Les arguments contenant des chaînes de tokens sont lus par \Xstring \emph{\US par \US\footnote{Sauf cas particulier, une \US est un caractère lu dans le code à ces exceptions près : une séquence de contrôle est une \US, un groupe entre accolades est aussi une \US. Voir également page~\pageref{developpementarguments}.}}, ce qui revient à les lire caractère par caractère lorsque ceux-ci contiennent des tokens \guill{normaux}, c'est-à-dire dont les catcodes sont 10, 11 et 12. On peut également utiliser \Xstring à des fins de programmation en utilisant des arguments contenant des séquences de contrôle et des tokens dont les catcodes sont moins inoffensifs. Voir le chapitre sur le mode de lecture et de développement des arguments (page~\pageref{developpementarguments}), la commande \verbinline|\verbtocs| (page~\pageref{verbtocs}), la commande \verbinline|\scancs| (page~\pageref{scancs}).\medskip
-Certes d'autres packages manipulant les chaînes de caractères existent (par exemple \href{http://www.ctan.org/tex-archive/macros/latex/contrib/substr/}{\nolinkurl{substr}} et \href{http://www.ctan.org/tex-archive/macros/latex/contrib/stringstrings/}{\nolinkurl{stringstrings}}), mais outre des différences notables quant aux fonctionnalités, ils ne prennent pas en charge les occurrences des sous-chaînes et me semblent soit trop limités, soit trop difficiles à utiliser pour la programmation.\medskip
+Certes d'autres packages manipulant les chaînes de caractères existent (par exemple \href{http://mirror.ctan.org/tex-archive/macros/latex/contrib/substr/}{\nolinkurl{substr}} et \href{http://mirror.ctan.org/tex-archive/macros/latex/contrib/stringstrings/}{\nolinkurl{stringstrings}}), mais outre des différences notables quant aux fonctionnalités, ils ne prennent pas en charge les occurrences des sous-chaînes et me semblent soit trop limités, soit trop difficiles à utiliser pour la programmation.\medskip
Comme les macros manipulent des chaînes de tokens, il peut arriver aux utilisateurs avancés de rencontrer des problèmes de \guill{catcodes\footnote{Codes de catégories, en français.}} conduisant à des comportements inattendus. Ces effets indésirables peuvent être contrôlés. Consulter en particulier le chapitre sur les catcodes des arguments page~\pageref{macrosetoilees}.
diff --git a/Master/texmf-dist/tex/generic/xstring/xstring.tex b/Master/texmf-dist/tex/generic/xstring/xstring.tex
index 6f16dfba0db..654fe462ae0 100644
--- a/Master/texmf-dist/tex/generic/xstring/xstring.tex
+++ b/Master/texmf-dist/tex/generic/xstring/xstring.tex
@@ -4,9 +4,9 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
\def\xstringname {xstring} %
-\def\xstringversion {1.82} %
+\def\xstringversion {1.83} %
% %
-\def\xstringdate {2019/02/01} %
+\def\xstringdate {2019/02/06} %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
@@ -42,15 +42,15 @@
\long\def\xs_gobarg#1{}
\expandafter\def\expandafter\xs_gobspace\space{}
\def\xs_deftok#1#2{\let#1= #2\relax}\xs_deftok\xs_sptoken{ }
-\def\xs_ifnxttok#1#2#3{\xs_deftok\xs_toktotest{#1}\def\__truecode{#2}\def\__falsecode{#3}\xs_ifnxttok_a}
+\long\def\xs_ifnxttok#1#2#3{\xs_deftok\xs_toksmatch{#1}\def\__truecode{#2}\def\__falsecode{#3}\xs_ifnxttok_a}
\def\xs_ifnxttok_a{\futurelet\__futurtok\xs_ifnxttok_b}
\def\xs_ifnxttok_b{%
\xs_ifx{\__futurtok\xs_sptoken}
{\afterassignment\xs_ifnxttok_a\let\__futurtok= }
- {\xs_ifx{\__futurtok\xs_toktotest}\__truecode\__falsecode}%
+ {\xs_ifx{\__futurtok\xs_toksmatch}\__truecode\__falsecode}%
}
\def\xs_ifstar#1{\xs_ifnxttok*{\xs_execfirst{#1}}}
-\def\xs_testopt#1#2{\xs_ifnxttok[{#1}{#1[{#2}]}}
+\long\def\xs_testopt#1#2{\xs_ifnxttok[{#1}{#1[{#2}]}}
\long\def\xs_exparg#1#2{\expandafter\xs_exparg_a\expandafter{#2}{#1}}%
\long\def\xs_exparg_a#1#2{#2{#1}}
\long\def\xs_exptwoargs#1#2#3{\xs_exparg{\xs_exparg{#1}{#2}}{#3}}
@@ -1220,4 +1220,8 @@ v1.81 09/12/2018
v1.82 01/02/2019
- \xs_testopt n'est pas longue et provoque un bug dans \xs_IfStrCase et
\xs_IfStrCase lorsque #1 contient \par : \xs_testopt reste courte et
- \xs_IfStringCase a été modifiée pour que cela fonctionne. \ No newline at end of file
+ \xs_IfStringCase a été modifiée pour que cela fonctionne.
+ ------------------------------------------------------------------------------
+v1.83 06/02/2019
+ - mauvaise approche et mauvais fix dans la v1.82 : \xs_testopt devient
+ longue, pas le choix (et donc aussi \xs_ifnxttok) \ No newline at end of file