# [tex-eplain] (was optional arguments)

Oleg Katsitadze olegkat at gmail.com
Sun Mar 2 06:15:10 CET 2008

```On Tue, Feb 26, 2008 at 10:41:29AM +0100, Helmut Jarausch wrote:
> Unfortunately Knuth's TeXbook is quite short about things
> like \futurelet, \expandafter, depth of evaluation and so on.

It _is_ occasionally (but rarely enough) quite terse on some of the
more advanced topics, but it is still complete.  There is only one
topic I discovered so far was not discussed at all, it is just listed
in some table.  I'm not sure now what that was, but I think it was one
of fontdimens.  Apart from that, I think that The TeXbook is amazingly
complete in describing the one complex system (and I mean
_describing_, not merely documenting).

> It looks much easier than Eplain's \@getoptionalarg,
> so where is the bug or limitation of my variant?

Well, I wouldn't go as far as saying "much easier", but it is slightly
shorter in terms of the number of tokens (~30 in Eplain against ~25 in
Helmut's solution).  And AFAICT, they are practically identical
functionally, except that Eplain (actually, btxmac.tex) defines and
uses \@futurenonspacelet instead of \futurelet, but that can be just
as well be used in Helmut's solution.

BTW, IIRC from my meanderings through LaTeX's sources, LaTeX uses a
solution similar to Helmut's for its \@ifnextchar.