[texhax] What's legal about \halign and backward braces?
Donald Arseneau
asnd at triumf.ca
Sun Jun 26 02:42:33 CEST 2011
Doug McKenna <doug at mathemaesthetics.com> writes:
> \halign{}
>
> This unexpectedly (to those versed in usual computer language syntax)
> leads to a runawy preamble error, because the '}' doesn't end the
> command's parsing; a # and then a \cr must happen first, and they're
> missing.
My immediate reaction is surprise.
> \halign{}#{\cr\omit A\cr}
>...
> order has no effect, and hence the alignment executes fine. But if one
> omits the \omit, things go wrong: TeX's error message says there's a
> missing \cr right after the "A", which is pretty confusing, since there
> IS a \cr right after the "A", both in one's source code and in the line
> shown in the error message.
You are misreading the error message. The message says that there
is a missing \cr before the (template-inserted) brace, but TeX has
already read as far as the A before the error was detected. Of
course that has to be the case because the u-template isn't inserted
until TeX sees the A.
> Can any cogniscenti here give an example of an alignment of the form
>
> \halign{}...#...{\cr}
>
> that (without suppressing the column's template with \omit) remains error
> free?
I hope not. But then I am surprised about the template scanning.
Donald Arseneau asnd at triumf.ca
More information about the texhax
mailing list