LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

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

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

Print Reply
Will Robertson <[log in to unmask]>
Thu, 4 Dec 2008 09:56:34 +1030
text/plain (27 lines)
On 04/12/2008, at 3:03 AM, Arno Trautmann wrote:

> why is \if:w, but \if_meaning:NN, \if_cs_meaning:NN and  
> \if_token_eq:NN?
> The syntax is the same in all cases  I would have expected :w after  
> all.

\if:w corresponds to the primitive \if, whereas \if_meaning:NN and so  
on are \ifx. From TeX by Topic:

> After \if TEX will expand until two unexpandable tokens are  
> obtained, so it is necessary to prefix expandable control sequences  
> and active characters with \noexpand when testing them with \if.

So while \if does take two tokens as input, it will also expands them  
in a weird kind of way; actually, it might even be possible to name it  
\if:ff ! But I'm not really for that idea :)

* * *

Regarding the three different names for \ifx -- yes, that needs to be  
cleaned up; but in the end there still may well be more than one name  
for it. (Well, I'm not opposed to the idea, at least.)