# [texhax] Catching a space.

Paul Isambert zappathustra at free.fr
Sat May 1 20:15:19 CEST 2010

Dear all,

I'm trying to write a macro, say \ifspace{true}{false}, that checks
whether the next character is a space. However, I would like to do it in
a purely expandable manner, so that the usual \futurelet technique can't
work here (and, of course, I don't want to change catcodes beforehand).
With LuaTeX, I think it can be done quite easily (inspecting incoming
tokens), but I can't find a solution with other engines (with at least
the eTeX extensions). My best guess would be to launch the following:

\let\emptystring\relax
\def\checkspace#1 {% There's a space after #1
\ifcsname\detokenize{#1}emptystring\endcsname
% it was a space...
% etc.
\fi
}

But, of course, the flaws are blatant, and it'll probably run into a lot
trouble (for instance, at the end of a file). So my best guess is pretty