LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Joseph Wright <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Thu, 27 Nov 2008 20:40:54 +0000
Content-Type:
text/plain
Parts/Attachments:
text/plain (62 lines)
Joseph Wright wrote:
 > I'd suggest the following:
>
> New Current Input Output Description
>
> D D Varies Varies Do not use (kernel only)
> E E Single token Unbraced One expansion
> N N Single token Unbraced No expansion
> O O Single token Braced One expansion
> P p Parameters n/a Primitive TeX parameters
> W w Varies Varies "Weird" argument
> X X Single token Braced Full expansion
>
> c c Braced tokens Braced Tokens to csname
> e e Braced tokens Unbraced Expand once
> f F Braced tokens Braced False branch
> n n Braced tokens Braced No expansion
> o o Braced tokens Braced One expansion
> s f Braced tokens Braced "Stop" expansion
> t T Braced tokens Braced True branch
> u d Braced tokens Braced Double expansion
> v C Braced tokens Braced To csname, expand once
> x x Braced tokens Braced Full expansion

Or perhaps by moving D:

New Current Input Output Description

D - Single token Braced Double expansion
N N Single token Unbraced No expansion
O O Single token Braced One expansion
P p Parameters n/a Primitive TeX parameters
R (or K)D Varies Varies Reserved/kernel only
U E Single token Unbraced Expand once unbraced
W w Varies Varies "Weird" argument
X X Single token Braced Full expansion

c c Braced tokens Braced Tokens to csname
u e Braced tokens Unbraced Expand once unbraced
f F Braced tokens Braced False branch
n n Braced tokens Braced No expansion
o o Braced tokens Braced One expansion
s f Braced tokens Braced "Special" expansion
t T Braced tokens Braced True branch
d d Braced tokens Braced Double expansion
e C Braced tokens Braced To csname, expand once
x x Braced tokens Braced Full expansion

I should point out that this leaves only u, U, N, R, W and P where the
output is not braced. The later three I think there is no issue with.
I'd also suggest that "N" (and "n") mean "No change", so again I think
myself this is quite clear. So the only "special" you really end up
with is u/U. I'd suggest that one letter than behaves oddly can be
accepted. (It is a relatively rare one, at least for me at the moment.)

Also, to answer my own original question, this would then mean that
Morten's suggestion \exp_after:NN => \exp_args:NE would make sense. I
think that you simple have to accept that it is slightly odd (the whole
\exp_args:NE { \macro } business).
--
Joseph Wright

ATOM RSS1 RSS2