On Wed, Apr 30, 2008 at 7:02 PM, Aditya Mahajan
On Wed, 30 Apr 2008, Mikael Persson wrote:
On Tue, Apr 29, 2008 at 6:49 AM, Aditya Mahajan
wrote: On Mon, 28 Apr 2008, Mikael Persson wrote:
Hello again,
* snip *
I could reproduce the result and have also a fix but I don't know what the correct reults should be and other people like Aditya should decide if it makes sense to change the current behaviour.
\def\startdisplaymath {\ifgridsnapping \beforedisplayspace \snapmathtogrid\vbox
* snip *
Wolfgang
This fix seems not to solve the problem entirely. With this fix applied, If one now put a formula inside an enumeration one gets "double" space before the formula. This is a test file that shows the problem:
This is basically because in enumerations indenting is set to never.
You can see the same affect with
\setupindenting[no] \testtext
One possible fix is to add
indenting=(reset|next|first) %default is never
to the \setupenumeration command. For example
\defineenumeration[example] [text=Example, location=serried, width=fit, indenting=reset, %%<<<---- Add This
distance=0.5em, way=bysection, ]
Another is to change \startdisplaymath to
\def\startdisplaymath {\ifgridsnapping \beforedisplayspace \snapmathtogrid\vbox
\bgroup \informulatrue %\forgetall % breaks side floats \else \bgroup \parskip\formulaparskip % ! ! \informulatrue %\forgetall % otherwise backgrounds fail \ifdim\lastskip<\zeropoint\else \par \ifvmode \ifdim\parskip>\zeropoint\relax \whitespace \vskip-\parskip % kind of forces and cancels again \fi \fi \fi \doif\displaygridcorrection{-\v!top}{\kern-\strutht}% new, currently only option/default \beforedisplayspace \par \ifvmode \ifdim\parskip>\zeropoint\relax \else
\ifindentfirstparagraph \verticalstrut \vskip-\struttotal \vskip-\baselineskip \fi\fi \fi \fi $$\setdisplaydimensions \setpredisplaysize\lastlinewidth \startinnermath}
But this is getting ugly.
Aditya
Thank you Aditya, but I don't get that to work. Both with
ConTeXt ver: 2007.04.03 13:01 MKII fmt: 2008.4.24 int: english/english (with the fix earlier in this thread) and ConTeXt ver: 2007.09.28 16:52 MKII fmt: 2008.4.24 int: english/english (which is the one from new ubuntu, without the fix)
this fails with the following error msg:
%% Start error msg ! Illegal unit of measure (pt inserted). <to be read again> \chardef \@@in:reset ...rue \parindent \zerocount \chardef \indentingtoggle \zerocount \next1 #1,->\docomplexsetupindentingB {#1} \doprocesscommaitem \doprocesscommalist ...item \gobbleoneargument #1, ]\relax \global \advance \... <argument> ...ndenting ]\docomplexsetupindentingB \checkeverypar \ifindentfi...
\firstofoneargument #1->#1
An old bug (more than two month old :)
Also add this
\unprotect \defineindentingmethod [\v!reset] {\indentfirstparagraphtrue \parindent\zeropoint%AM was \zerocount \chardef\indentingtoggle\zerocount} \protect Aditya
Thank you Aditya (and also thank you Wolfgang!) Your help is really appreciated! Micke P