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