2007/4/11, Aditya Mahajan : > > On Thu, 22 Mar 2007, Taco Hoekwater wrote: > > > Wolfgang Werners-Lucchini wrote: > >> Hallo! > >> > >> The following simple example doesn't compile > >> (ConTeXt ver. 2007.01.02 and Live ConTeXt). > >> > >> What am I doing wrong? > > > > Diagnostics: > > > > The problem is not caused by the \framed, but by the (lack of) > > parsing done by the buffering routines. > > Because the \startformula is not expanded, TeX does not realise > > you are in math mode, so it objects to the ^ character. > > > > > > This is 'not right' but I suspect it is not all that simple > > to fix the context core to do this properly (I would love to be > > proved wrong). > > This is a serious bug. Even a simple example fails with the same > error. > > \starttext > \framed{ > \startformula > x^2 = x\cdot x > \stopformula} > \stoptext > > A quick workaround is to use frametext instead of framed, but I am > pretty sure that the above example used to work at some stage. > > Aditya Hi Aditya, it is more a problem related to horizontal and vertical modes/boxes, you can test it by placing \startformula .. \startformula into a hbox/vbox and only the vbox solution works. This is working \vbox {\startformula x^2 = x\cdot x \stopformula} This fails \hbox {\startformula x^2 = x\cdot x \stopformula} You can use disply math in a frame by setting explivied values for width and height of the frame. \framed [width=5cm,height=4cm] {\startformula x^2 = x\cdot x \stopformula} This solution works also in combination with a buffer \startbuffer \startformula x^2 = x\cdot x \stopformula \stopbuffer \framed[width=6cm,height=4cm]{\getbuffer} Wolfgang