On 5/29/11, Joseph Wright <[log in to unmask]> wrote:
> On 28/05/2011 18:33, Bruno Le Floch wrote:
>> I have to say that I'm not fully keen either. The reason I'm asking
>> here is that I don't want to put some code out there which shows how
>> to add extra arguments types to xparse: as discussed earlier, this
>> would lead to clashes between packages, and is a bad idea. I don't
>> really have a use case (and I don't think that the OP's example is a
>> real use case). Perhaps for people who like syntax like "\input foo "
>> instead of "\input{foo}"? Or to grab the next word (or whatever)...
>
> The nearest I've got so far in thinking about it is something like the
> case where you are reading from an external table. There, however, you'd
> normally grab 'up to' some token (tab, space, ',', ...), then split up
> the input with dedicated code. I think that, like verbatim input, the
> idea looks a bit too specialised for coverage by xparse.

Note that verbatim input cannot be done reliably, while this one can.
Actually, I can see it used if someone wants the first word of each
paragraph bold (but who would?):

\DeclareDocumentCommand { \bw }
  { w { ! \token_if_letter_p:N } w { \token_if_letter_p:N } }
  { #1 \textbf {#2} }
\toks_put_right:Nn \tex_everypar:D { \bw }

(where \everypar should have a LaTeX3 interface). This grabs
everything before the first letter as #1, then all letters which
follow as #2, and puts that second argument in bold. It fails if there
is a space or brace between \bw and the following word. There are
probably better ways of doing that, though (I don't know).

Regards,
Bruno