On Tue, 5 Dec 2006, Aditya Mahajan wrote: > On Mon, 4 Dec 2006, Hubertus Schmidt wrote: > > > Hi all, > > for some weeks I need to tex formulas again and tried the way I used to do > > it: > > > > \placeformula > > $$ > > f(t)={1\over2\pi}\int_0^\infty e^{i(\omega t-kx)} dx > > $$ > > > > It didn't work anymore?!? It doesn't place a number nor does it do the > > spacing > > properly. It does work the "context" way using > > > > \placeformula > > \startformula > > f(t)={1\over2\pi}\int_0^\infty e^{i(\omega t-kx)} dx > > \stopformula > > This is a bug in doplaceformula. I do not know how to avoid it, but > the next code illustrates what is happening. > > \def\dotest{ > \def\nextnext{$}% > \ifx\next\nextnext > Inside dispplaceformula\ldots % This always fails > \else > Inside dodoplaceformula\ldots > \fi} > > \def\test{\futurelet\next\dotest} > > \test$$A = B$$ > > This prints "Inside dodoplaceformula" even though the next character > is \$. > > So, the \next=\nextnext branch never matches. I do not know why this > happens, but a more robust check is needed in doplaceformula.
\ifcat seems to be working, but I do not really know how robust this is? \unprotect \def\doplaceformula[#1][#2]% #2 = dummy, gobbles spaces {\def\redoplaceformula {\bgroup \ifx\next\bgroup \egroup [EMAIL PROTECTED] % [ref]{} \else % \def\nextnext{$}% % \ifx\next\nextnext \ifcat\next$% \egroup [EMAIL PROTECTED] % [ref]$$ \else \egroup [EMAIL PROTECTED] % [ref]\start \fi \fi[#1]{}}% \futurelet\next\redoplaceformula} \long\def\moreplaceformula[#1]#2#3#4% #2 dummy #4 gobbles spaces {\def\redoplaceformula {\bgroup % \def\nextnext{$}% % \ifx\next\nextnext \ifcat\next$% \egroup [EMAIL PROTECTED] % [ref]$$ \else \egroup [EMAIL PROTECTED] % [ref]\start \fi [#1]{#3}}% \futurelet\next\redoplaceformula#4} \protect \starttext \placeformula[eq:test] $$A = B$$ \stoptext Aditya _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context