Hi,
What is the context equivalent of latex's substack? How do I type the following $$ \sum_{\substack i \in P \ j \in Q} a_{ij} $$
I search on source browser shows that this command was defined in newmat but pruned out. Is there a replacement for it? Is it safe to simply copy the definitions from m-newmat.tex and use them in my project?
Thanks Aditya
Aditya Mahajan wrote:
Hi,
What is the context equivalent of latex's substack? How do I type the following $$ \sum_{\substack i \in P \ j \in Q} a_{ij} $$
Where is that defined? LateX gives me and 'Undefined control sequence', and with \usepackage{amsmath} I get no error, but not a stack either.
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.
Cheers, Taco
<--- On Jan 28, Taco Hoekwater wrote --->
Aditya Mahajan wrote:
Hi,
What is the context equivalent of latex's substack? How do I type the following $$ \sum_{\substack i \in P \ j \in Q} a_{ij} $$
Where is that defined? LateX gives me and 'Undefined control sequence', and with \usepackage{amsmath} I get no error, but not a stack either.
This is defined in amsmath. Sorry, I made a mistake in typing. It should be
$$ \sum_{\substack{ a \ b}} c $$
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?
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?).
Cheers ,taco
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?).
What about use math primitive \atop:
\def\substack#1% {\begingroup \let\\atop #1 \endgroup}
Vit
<--- 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
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}
\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
<--- On Feb 22, Taco Hoekwater wrote --->
Does this look ok? (code is not production-ready yet, but seems reasonable to me)
[code snipped]
Yes, looks good to my eyes. Thanks a lot.
Aditya
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