[NTG-context] Substack in Context
Hans Hagen
pragma at wxs.nl
Thu Mar 30 13:26:12 CEST 2006
Taco Hoekwater wrote:
> Does this look ok?
> (code is not production-ready yet, but seems reasonable to me)
>
> Taco
>
> \def\startsubstack
> {\begingroup
> \null
> \vcenter\bgroup
> \pushmacro\domatrixNC
> \let\endmath\relax
> \def\NC{\domatrixNC}%
> \def\MC{\domatrixNC\ifmmode\else$\def\endmath{$}\fi}%
> \global\let\domatrixNC\dodomatrixNC
> \def\NR{\endmath%
> \global\let\domatrixNC\dodomatrixNC
> \vadjust{\kern -.33\bodyfontsize}\crcr}%
> \mathsurround\zeropoint
> \everycr\emptytoks
> \halign\bgroup \hfil$\scriptstyle ##$\hfil\crcr }
>
> \def\stopsubstack
> {\crcr
> \egroup
> \popmacro\domatrixNC
> \egroup
> \endgroup}
>
without vadjust: (mathstrut + nointerlineskip)
\def\startsubstack
{\begingroup
\null
\vcenter\bgroup
\pushmacro\domatrixNC
\let\stopmathmode\relax % to be sure, will go away
\def\NC{\domatrixNC}%
\def\MC{\domatrixNC\startmathmode}%
\global\let\domatrixNC\dodomatrixNC
\def\NR{\stopmathmode
\global\let\domatrixNC\dodomatrixNC
\crcr\noalign{\nointerlineskip}}%
\mathsurround\zeropoint
\everycr\emptytoks
\halign\bgroup\hfil$\scriptstyle\mathstrut##$\hfil\crcr }
\def\stopsubstack
{\crcr
\egroup
\popmacro\domatrixNC
\egroup
\endgroup}
> \starttext
>
> \startformula
> \sum_{%
> \startsubstack
> i = 1 \NR
> i \neq n \NR
> i \neq m
> \stopsubstack
> }a_i
> \stopformula
>
> \stoptext
>
> Aditya Mahajan wrote:
>
>> <--- On Jan 28, Taco Hoekwater wrote --->
>>
>>
>>> Aditya Mahajan wrote:
>>>
>>>
>>>>> The definition from m-newmat is at least partly superceded by the
>>>>> new core math definitions Hans added last week, so a new implementation
>>>>> would be better.
>>>>>
>>>> Can you suggest something?
>>>>
>>> Like this maybe?
>>>
>>> \def\substack#1%
>>> {\begingroup
>>> \let\\\cr
>>> \startmathmatrix #1\stopmathmatrix
>>> \endgroup}
>>>
>>> Probably needs a bit of tweaking to make it look better
>>> (perhaps a [strut=no] parameter?).
>>>
>>>
>> <--- On Jan 28, Vit Zyka wrote --->
>>
>>
>>> What about use math primitive \atop:
>>>
>>> \def\substack#1%
>>> {\begingroup
>>> \let\\\atop
>>> #1
>>> \endgroup}
>>>
>>>
>>
>> Sorry for not getting back for almost a month. Both suggestions work
>> only partially. Consider
>>
>> \startmathformula
>> \sum_{%
>> \startmathmatrix
>> i = 1 \NR i \neq n \NR i \neq m
>> \stopmathmatrix
>> }a_i
>> \stopformula
>>
>> As Taco mentioned, the spacing is bad.
>>
>> \atop gives correct spacing but you need to put subscripts in groups
>> of two.
>>
>> \startformula
>> \sum_{ {i = 1 \atop i \neq n}\atop i \neq m } a_i
>> \stopformula
>>
>> Moreover, the font size is incorrect in both cases. Compare with the
>> size of the subscript in \sum_{i = 1}.
>>
>> Any suggestions?
>>
>> Aditya
>> _______________________________________________
>> ntg-context mailing list
>> ntg-context at ntg.nl
>> http://www.ntg.nl/mailman/listinfo/ntg-context
>>
> _______________________________________________
> ntg-context mailing list
> ntg-context at ntg.nl
> http://www.ntg.nl/mailman/listinfo/ntg-context
>
--
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
More information about the ntg-context
mailing list