ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
Subject: Re: Substack in Context
Date: Thu, 30 Mar 2006 13:26:12 +0200	[thread overview]
Message-ID: <442BC054.5090302@wxs.nl> (raw)
In-Reply-To: <43FC7AF2.6050609@elvenkind.com>

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@ntg.nl
>> http://www.ntg.nl/mailman/listinfo/ntg-context
>>     
> _______________________________________________
> ntg-context mailing list
> ntg-context@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
-----------------------------------------------------------------

      parent reply	other threads:[~2006-03-30 11:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-28  6:12 Aditya Mahajan
2006-01-28 10:36 ` Taco Hoekwater
2006-01-28 11:13   ` Aditya Mahajan
2006-01-28 11:52     ` Taco Hoekwater
2006-01-28 13:46       ` Vit Zyka
2006-01-29 11:23         ` Taco Hoekwater
2006-02-22 11:00         ` Aditya Mahajan
2006-02-22 14:53           ` Taco Hoekwater
2006-02-22 17:17             ` Aditya Mahajan
2006-03-30 11:26             ` Hans Hagen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=442BC054.5090302@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).