Salvete, I finally managed to make t-nath work with \eqalign and \eqalignno. (I assume I was not the only one having trouble there?) As it appears, nath gets really confused when subformulas are enclosed in {} and contain some form of delimiters. Therefore, the original definitions just don't work, but these modifications do, at least in some sense of “work”: \def\eqalignno#1% {\displ@y \tabskip\centering \vcenter{% \openup\jot\m@th \halign to \displaywidth {\hfil{\startnathdmath\@lign ##\stopnathdmath}\tabskip\z@skip &{\startnathdmath\@lign {}##\stopnathdmath}\hfil\tabskip\centering &\llap{$\@lign##$}\tabskip\z@skip\crcr #1\crcr}}} \def\eqalign#1% {\null \,% \vcenter {\openup \jot\m@th \ialign {\strut\hfil{\startnathdmath ##\stopnathdmath}&% {\startnathdmath {}##\stopnathdmath}\hfil\crcr #1\crcr}}% \,} And I've got another snippet I'd like to share, which helps displaying continued fractions in a linear format, using the “best” way of doing so I've met so far: \def\contfrac#1#2{% % To get the lines at the top right and bottom left % at the correct lengths, we need to know the final heights % of both top and bottom. Since styles ``C-up'' and ``C-down'' % are used only in generalized fractions, we need a trial % typesetting run for this. \begingroup \setbox\!!boxa\hbox{\trialtypesettingtrue\o@math\dcurrstyle@ {\setbox\nathbox\currstyle@hbox{%\vrule\!!depth .7\mex\!!width 0pt \botrestricted@false #1}% \!!dimena=\ht\nathbox \advance\!!dimena-\ht\sizebox@ \global\htdecrement@=\!!dimena % \!!dimena=\dp\nathbox \advance\!!dimena .5ex \dp\nathbox=\!!dimena \global\!!dimend=\dp\nathbox \box\nathbox \above\fracrulethickness@ \setbox\nathbox\currstyle@hbox{%\vrule\!!height 2\mex\!!width 0pt \toprestricted@false #2}% \!!dimenb=\dp\nathbox \advance\!!dimenb-\dp\sizebox@ \global\dpdecrement@=\!!dimenb % \!!dimenb=\ht\nathbox \advance\!!dimenb .5ex \ht\nathbox=\!!dimenb \global\!!dimene=\ht\nathbox \box\nathbox }% \o@math}% % % %% See the TeXbook, page 444 f., for what is happening here. \ifcase\mathcount@ \!!dimenf=\fontdimen8\textfont2 \!!dimeng=\fontdimen11\textfont2 \!!dimenh=3\fracrulethickness@ \!!dimeni=\fontdimen22\textfont2 \or \!!dimenf=\fontdimen9\scriptfont2 \!!dimeng=\fontdimen12\scriptfont2 \!!dimenh=\fracrulethickness@ \!!dimeni=\fontdimen22\scriptfont2 \else \!!dimenf=\fontdimen9\scriptscriptfont2 \!!dimeng=\fontdimen12\scriptscriptfont2 \!!dimenh=\fracrulethickness@ \!!dimeni=\fontdimen22\scriptscriptfont2 \fi % \!!dimenj=\dimexpr(\!!dimenf-\!!dimend)- (\!!dimeni+0.5\fracrulethickness@)\relax \ifdim\!!dimenj<\!!dimenh \advance\!!dimenf by \dimexpr(\!!dimenh-\!!dimenj)\relax \fi \!!dimenj=\dimexpr(\!!dimeni-0.5\fracrulethickness@)- (\!!dimene-\!!dimeng)\relax \ifdim\!!dimenj<\!!dimenh \advance\!!dimeng by \dimexpr(\!!dimenh-\!!dimenj)\relax \fi % \advance\!!dimenf by\dimexpr(-\!!dimeni)\relax \advance\!!dimeng by\dimexpr(+\!!dimeni)\relax % \setbox\!!boxa\hbox{% \o@math\dcurrstyle@ {\setbox\nathbox\currstyle@hbox{%\vrule\!!depth .7\mex\!!width 0pt \botrestricted@false #1}% \ifdim\ht\nathbox<1.6ex \ht\nathbox=1.6ex \fi \!!dimena=\ht\nathbox \advance\!!dimena-\ht\sizebox@ \global\htdecrement@=\!!dimena \setbox\!!boxb\hbox{% \vrule \!!depth\!!dimenf \!!height\ht\nathbox \!!width\fracrulethickness@ }% \dp\!!boxb=0pt \hfill\, \box\nathbox \,\hfill \hskip\fracrulethickness@\box\!!boxb \above\fracrulethickness@ \setbox\nathbox\currstyle@hbox{%\vrule\!!height 2\mex\!!width 0pt \toprestricted@false #2}% \ifdim\dp\nathbox<.4ex \dp\nathbox=.4ex \fi \!!dimenb=\dp\nathbox \advance\!!dimenb-\dp\sizebox@ \global\dpdecrement@=\!!dimenb \setbox\!!boxb\hbox{% \vrule \!!depth\dp\nathbox \!!height\!!dimeng \!!width\fracrulethickness@ }% \ht\!!boxb=0pt \box\!!boxb\hskip\fracrulethickness@ \hfill\, \box\nathbox \,\hfill }% \o@math}% \setbox\nathbox\copy\!!boxa \iftoprestricted@ \else \!!dimenb=\ht\nathbox \advance\!!dimenb .4\mex \ht\nathbox=\!!dimenb \fi \ifbotrestricted@ \else \!!dimenb=\dp\nathbox \advance\!!dimenb .5\mex \dp\nathbox=\!!dimenb \fi \box\nathbox % print \!!dimena=\ht\!!boxa \advance\!!dimena-\htdecrement@ \ht\!!boxa=\!!dimena \!!dimena=\dp\!!boxa \advance\!!dimena-\dpdecrement@ \dp\!!boxa=\!!dimena \global\setbox\sizebox@\copy\!!boxa \endgroup \resizebox@{\sizebox@}} I do assume the whole thing could be done with about half as many lines of code, but I was glad to finally understand how TeX typesets fractions and just ignored beautifying the code. Also note that the snippet uses \fracrulethickness@ from t-nath.tex, while I honestly consider using \fontdimen8\textfont3 or whichever font size is in use for the fraction. Well, work in progress. regards, Christopher Creutzig
Christopher Creutzig wrote:
\setbox\nathbox\currstyle@hbox{%\vrule\!!height 2\mex\!!width 0pt
since you are going the fast and efficient way (\using \!!dimena etc), 0pt can become \zeropoint (less space interference as well)
\!!dimenf=\fontdimen8\textfont2
\!!dimenf\fontdimen8\textfont\syfam is more independent; maybe i should define symbolic names for the font dimens as well (no time to make a list now)
(\!!dimeni+0.5\fracrulethickness@)\relax
is \fracrulethickness@ a nath specific thing?
\hfill\,
maybe you need a % after this line
I do assume the whole thing could be done with about half as many lines of code, but I was glad to finally understand how TeX typesets fractions and just ignored beautifying the code. Also note that the snippet uses
it's not that bad, tricky code seldom looks nice Hans ----------------------------------------------------------------- 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 -----------------------------------------------------------------
Hans Hagen wrote:
\!!dimenf=\fontdimen8\textfont2
\!!dimenf\fontdimen8\textfont\syfam
OK, I should look those names up.
is more independent; maybe i should define symbolic names for the font
Independent of what? \textfont2 is exactly the font TeX would use, no?
(\!!dimeni+0.5\fracrulethickness@)\relax
is \fracrulethickness@ a nath specific thing?
Yes. As I said, I'm thinking of using the proper fontdimen of the correct font instead.
\hfill\,
maybe you need a % after this line
Should have one just for code cleanliness, yes. But it's all in math mode, so the spce should not do anything. Christopher
Christopher Creutzig wrote:
Should have one just for code cleanliness, yes. But it's all in math mode, so the spce should not do anything.
ah .. i'm not that math aware -) if you make that fontdimen list i'll add the names to the kernel also, i think that we need to sort out nath interference some day soon is there a test suite? if not, maybe it's worth the effort to cook up a nice math example document (like the one with tables and chemistry) Hans ----------------------------------------------------------------- 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 -----------------------------------------------------------------
Le 26 oct. 04, à 17:55, Hans Hagen a écrit :
Christopher Creutzig wrote:
also, i think that we need to sort out nath interference some day soon
is there a test suite? if not, maybe it's worth the effort to cook up a nice math example document (like the one with tables and chemistry)
Or perhaps the nath manual itself? -- Maurice,
Is there a nath manual? At 06:18 PM 10/26/04 +0200, you wrote:
Le 26 oct. 04, à 17:55, Hans Hagen a écrit :
Christopher Creutzig wrote:
also, i think that we need to sort out nath interference some day soon
is there a test suite? if not, maybe it's worth the effort to cook up a nice math example document (like the one with tables and chemistry)
Or perhaps the nath manual itself?
-- Maurice,
_______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Le 27 oct. 04, à 05:50, David Arnold a écrit :
Is there a nath manual?
http://www.ctan.org/tex-archive/macros/latex/contrib/nath/ But it is for LaTeX only, and I'm am not sure of what is already implemented in the m-nath module from Giuseppe Bilotta ... Hum, I just see that this is already mention on the context portail http://contextgarden.net/Math_with_nath (So I just had the url) -- Maurice
Maurice Diamantini wrote:
Hum, I just see that this is already mention on the context portail http://contextgarden.net/Math_with_nath (So I just had the url)
as far as i know most functionality is available Hans ----------------------------------------------------------------- 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 -----------------------------------------------------------------
* Hans Hagen
Hum, I just see that this is already mention on the context portail http://contextgarden.net/Math_with_nath (So I just had the url)
as far as i know most functionality is available
Are there any plans of integrating stuff from m-nath to the math support in ConTeXt any time soon? nikolai -- ::: name: Nikolai Weibull :: aliases: pcp / lone-star / aka ::: ::: born: Chicago, IL USA :: loc atm: Gothenburg, Sweden ::: ::: page: www.pcppopper.org :: fun atm: gf,lps,ruby,lisp,war3 ::: main(){printf(&linux["\021%six\012\0"],(linux)["have"]+"fun"-97);}
Nikolai Weibull wrote:
* Hans Hagen
[Oct 27, 2004 12:50]: Hum, I just see that this is already mention on the context portail http://contextgarden.net/Math_with_nath (So I just had the url)
as far as i know most functionality is available
Are there any plans of integrating stuff from m-nath to the math support in ConTeXt any time soon?
as soon as mr GB declares the module 'finished' i'll go over it and see where we can resolve conflicts with the context kernel Hans ----------------------------------------------------------------- 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 -----------------------------------------------------------------
Wednesday, October 27, 2004 Hans Hagen wrote:
Nikolai Weibull wrote:
* Hans Hagen
[Oct 27, 2004 12:50]: Hum, I just see that this is already mention on the context portail http://contextgarden.net/Math_with_nath (So I just had the url)
as far as i know most functionality is available
Are there any plans of integrating stuff from m-nath to the math support in ConTeXt any time soon?
as soon as mr GB declares the module 'finished' i'll go over it and see where we can resolve conflicts with the context kernel
That's gonna take *some* time :) -- Giuseppe "Oblomov" Bilotta
participants (6)
-
Christopher Creutzig
-
David Arnold
-
Giuseppe Bilotta
-
Hans Hagen
-
Maurice Diamantini
-
Nikolai Weibull