On 02/09/2009, at 7:34 AM, Paul Thompson wrote:
> I really appreciated Frank's clear discussion of the levels of
> language from the other day. It clarified much of my confusion in
> reading many of these posts.
Regarding your 'wishlist':
> 1) tools for character manipulation (index - find a substring in a
> string; scan - get substring from string; and so forth). It has
> always seemed the height of irony that a system dedicated to working
> with text cannot manipulate text in any convenient manner
There are some tools for this in expl3, but the packages ted and
xstrings and stringstring (I think that's all of them) currently
provide more in this regard. How much of their functionality we should
pull into expl3 is an open question at this stage (I suspect more
could be done). One difficulty here is that string processing and
token processing are rather different (where a string is a detokenised
token list). Currently expl3 only does token processing (see module
> 2) some better looping or array mechanism
> 3) some better storage mechanism, so that a rudimentary database can
> be constructed. I have done this in newlfm, but it should be a bit
> Really 2 & 3 are connected. To work with arrays, you need loops.
> To have arrays, you need storage control.
I think the current expl3 code should provide this. If not, it would
be good to hear your feedback about what more you'd like from the
'kernel' (or layer 3) in this regard. Possibly Nicola Talbot's
datatool package would come in handy, as well.
> 4) some better mid-document margin control, so that margins can
> change by user choice. Several have told me that this is not
> possible, but I have hacked the output routine and am quite clear
> that it is.
This is at a higher level of document processing than the present
level of discussion, but I'm sure this is an aspect of page design
that will be made easier. For the record, I presume you mean by "mid-
document" that the changing of the margins occur between one page and
another where text is not reflowing?