New CTAN package: bitelist
`bitelist.sty' provides commands for "splitting" a token list at the first occurrence of a contained token list. I.e., for given token lists s, t return b and shortest a, such that t = a s b. As opposed to other packages providing similar features, (i) the method uses TeX's mechanism of reading delimited macro parameters; (ii) the splitting macros work by pure expansion, without assignments, provided the macro doing the search has been defined before processing (e.g., a file); (iii) instead of using one macro for a "substring" test and another one to replace the "substring"--which includes extracting corresponding prefix and suffix--, the *same* macro that detects the occurrence returns the split; (iv) e-TeX is not required. (And LaTeX is not required.) This improves `fifinddo.sty' (v0.51). An elaborated approach (additionally to a simpler one) is provided that does not loose outer braces of prefix/suffix. "Substring" detection and "string" replacement are (implicitly) included with respect to certain representations of characters by tokens. Counting occurrences and "global" replacement could be achieved by applying the operation to earlier results, etc.--so this approach seems to be "fundamental" for a certain larger set of list analysis tasks. The documentation aims to prove the correctness of the methods with mathematical rigour. KEYWORDs: macro programming, text filtering, substrings RELATED PACKAGEs: datatool, stringstrings, ted, texapi, xstring
This package is located at http://mirror.ctan.org/macros/generic/bitelist . More information is at http://www.ctan.org/pkg/bitelist (if the package is new it may take a day for that information to appear). We are supported by the TeX Users Group http://www.tug.org . Please join a users group; see http://www.tug.org/usergroups.html .
Thanks for the upload. For the CTAN Team Rainer Schöpf
bitelist – Split list, in TeX’s mouth
The package provides commands for “splitting” a token list at the first occurrence of another (specified) token list. I.e., for given token lists s, t return b and the shortest a, such that t = a s b.
The package’s mechanism differs from those of packages providing similar features, in the following ways:
- the method uses TeX’s mechanism of reading delimited macro parameters;
- splitting macros work by pure expansion, without assignments;
- the operation is carried out in a single macro call.
A variant of the operation is provided, that retains outer braces.
|Maintainer||Uwe Lück (deceased)|