Index of /archives/text/CTAN/macros/generic/xstring
Name Last modified Size Description
Parent Directory -
xstring.tex 2023-08-23 00:42 48K
xstring.sty 2023-08-23 00:42 123
xstring-fr.tex 2023-08-23 00:42 69K
xstring-fr.pdf 2023-08-23 00:42 233K
xstring-en.tex 2023-08-23 00:42 62K
xstring-en.pdf 2023-08-23 00:42 240K
test_latex.tex 2023-08-23 00:42 40K
test_latex.pdf 2023-08-23 00:42 49K
test_etex.tex 2023-08-23 00:42 37K
test_etex.pdf 2023-08-23 00:42 97K
README 2023-08-23 00:42 3.7K
_________________
xstring package
v 1.86
2023/08/22
_________________
This package provides macros manipulating strings for programming use.
A "string" is made of TeX code, i.e. chars (catcodes 10, 11 and 12), controls
sequences, groups between braces, tokens with other catcodes, excepted catcodes
6 and 14 (usually chars # and %).
Main features are:
* tests:
- does a string contains at least n times an another?
- does a string starts (or ends) with another? etc.
- is a string an integer? A decimal?
- are 2 strings equal?
- is a string equal to several cases?
* extractions of substrings:
- what is on the left (or the right) of the nth occurrence of a
substring;
- what is between the occurrences of 2 substrings;
- substring between 2 positions;
- split a string;
- find a group with its identifier, etc.
* substitution of all (or the n first) occurrences of a substring
for an other substring;
* n times expansion of the tokens of a string;
* calculation of numbers:
- length of a string;
- position of the nth occurrence of a substring;
- how many times a string contains a substring?
- comparison of strings: position of the first difference;
- identifier of the group in which a macro worked.
For advanced programming needs, other macros allow to use other special
characters forbiden in strings (# %).
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))
* README (this file)
##############################################################################
##############################################################################
Cette extension regroupe un ensemble de macros manipulant des chaînes à des
fins de programmation.
Une "chaîne" est du code TeX, c'est-à-dire des caractères (catcodes 10, 11
et 12), des séquences de contrôle, des groupes entre accolades et des lexèmes
ayant d'autres catcodes excepté les catcodes 6 et 14 (habituellement les
caractères # et %).
Les principales fonctionnalités sont :
* des tests :
- une chaîne en contient elle une autre au moins n fois ?
- une chaîne commence t-elle ou finit-elle par une autre ? etc.
- une chaîne est-elle un entier relatif ? Un décimal ?
- deux chaînes sont-elles égales ?
- une chaîne est elle égale à plusieurs cas ?
* des extractions de chaines :
- renvoi de ce qui se trouve avant (ou après) la nieme occurrence
d'une sous-chaîne;
- renvoi de ce qui se trouve entre les occurrences de 2 sous-chaînes;
- sous-chaîne comprise entre 2 positions;
- coupure d'une chaîne;
- recherche d'un groupe avec son identifiant.
* le remplacement de toutes ou des n premières occurrences d'une
sous-chaîne par une autre sous-chaîne;
* n-développement des tokens d'une chaîne;
* des calculs de nombres :
- longueur d'une chaîne;
- position de la la nieme occurrence d'une sous-chaîne;
- comptage du nombre d'occurrences d'une sous-chaîne dans une autre;
- comparaison de 2 chaînes : position de la 1ere différence;
- identifiant du groupe dans lequel les macros ont opéré.
Pour des méthodes de programmation avancées, d'autres commandes permettent
d'utiliser les caractères spéciaux interdits dans les chaines (# %).
Christian Tellechea
<unbonpetit@netc.fr>