Am 13.01.2011 um 17:18 schrieb Mathieu Boespflug: > Hi all, > > today's beta introduced a really strange problem. Consider two source files: > > definitions.tex: > \startmodule[definitions] > \def\lambdax{\lambda_x} > \stopmodule[definitions] > > main.tex: > \usemodule[definitions] > \starttext > blah $\lambdax$ blah. > \stoptext > > This results in the following compile error: > > ! Undefined control sequence. > \lambdax ->\lambda_x > > l.5 blah $\lambdax > $ blah. > ? > > However, if you change "\usemodule[definitions]" into "\input > definitions" instead, then there is no compile error! My understanding > is that the underscore is a valid character for macro names now > outside of math mode, which is what is causing the problem. But I > really don't understand what magic is going on in the modules code to > trigger this. > > I would be very interested in an explanation of what is going on.
You need \normalsubscript in your module. You define a command and in this case it doesn’t matter that you plan to use it in math mode, the _ is now a normal letter like “a” and this won’t change when you call \lambdax in your document. Write \def\lambdax{\lambda\normalsubscript x} and it will work again. Wolfgang ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________