Aditya Mahajan wrote: > On Sun, 2 Jul 2006, David Arnold wrote: > > >> Sanjoy, >> >> Of course. Thanks. >> >> But how about an example in latex or tex where a function eats a >> brace and crashes, as what happens with this context code: >> >> \placeformula[-] >> \startformula >> [9,\infty)=\{x:\,x\ge 9\} >> \stopformula >> >> I know I've seen this in Latex before, but I can't remember where. >> > > \begin{equation} > \begin{aligned} > [g,\infty)=\{...\} > \end{aligned} > \end{equation} > > The package mathtools enforces that the optional arguments of aligned > et al. should come in the same line, that is > > \begin{aligned}[t] takes "t" as an optional arguments which > > \begin{aligned} > [t] > that only can work if one gives the end of line characters a different catcode; a side effect is that the lookahead may fail when the formula is passed in a macro so it will never be robust > does not. > > I do not think that this can be ever enforced in Context, because a > lot of Context code is written like > > \definesomething > [somename] > [some options] > > \dosingleempty et al, could be changed to stop scanning on a newline, > but I am certain it will break some of the internals. > indeed,
for tex (unless one messes around with the endline char) \define[] \define [] \define [] \define [] is the same, and in order to be consistent, context even does some explicit testing so that intermediate newlines and spaces are gobbles (when non standard), think of: \define[][] \define[] [] \define [] [] why should we treat spaces between \define [] and [] [] differently? anyhow, it dates back a long time, is rather optimized, and will not change Hans _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context