adityam@umich.edu wrote:
On Wed, 5 Apr 2006, WN wrote:
One thing I want to do with a set of subformula's is to reference the main formula but still subnumbering the equations like
Try this. Warning: I do not know everything that is happening here. There may be some unexpected side effects.
\unprotect \def\placesubformulawithnumber{% \dodoubleempty\doplacesubformulawithnumber}
\def\doplacesubformulawithnumber[#1][#2]%#2 gobbles spaces {\iffirstargument \incrementnumber[\v!formula] \makesectionnumber[\v!formula] \rawreference{\s!for}{#1}{\composedsectionnumber} \else \incrementnumber[\v!formula] \fi\placesubformula} \protect
\starttext %% > \incrementnumber[formula] %% > \placesubformula \placesubformulawithnumber[eqn1] %I need to think of a smaller name \startformula \startalign \NC div \vec{E} \NC = \epsilon_{0}^{-1} \rho \NR[eqn1:A][a] \NC rot \vec{E} \NC = 0 \NR \NC div \vec{B} \NC = 0 \NR[eqn1:B][b] \NC rot \vec{B} \NC = \mu_{0} \vec{j} \NR \stopalign \stopformula See *\in[eqn1] *for the static Maxwell equations, where we are going to examine \in[eqn1:A] a bit further .... \stoptext
Also, note that div and rot should be in text font. You should probably do \startmathcollection[default] \definemathcommand [div] [nolop] {\mfunction{div}} \definemathcommand [rot] [nolop] {\mfunction{rot}} \stopmathcollection
and use \div \rot etc.
HTH, Aditya
Hi Aditya, I tested your solution and it works great. I cannot see any problems in my output. I wish I had your Tex programming skills, I am trying to learn the language myself from the TexBook (D.Knuth) but I still have a long way to go. BTW Thanks for your comment on the div, rot. I indeed defined the div and rot in text font, it is defined in one of my environment settings. Attached my small Context script to confirm your solution Again thanks for your help, Kind regards Wim \unprotect % ========= Aditya code ============ \def\placesubformulawithnumber{% \dodoubleempty\doplacesubformulawithnumber} \def\doplacesubformulawithnumber[#1][#2]%#2 gobbles spaces {\iffirstargument \incrementnumber[\v!formula] \makesectionnumber[\v!formula] \rawreference{\s!for}{#1}{\composedsectionnumber} \else \incrementnumber[\v!formula] \fi\placesubformula} \startmathcollection[default] \definemathcommand [div] [nolop] {\mfunction{div}} \definemathcommand [rot] [nolop] {\mfunction{rot}} \stopmathcollection % ================================= \definereferenceformat [informula] [left=(, right=), text=] \protect \starttext Some math tests, use of formula/subformula numbering. \placesubformulawithnumber[kem-chapter1-eqn1] \startformula \startalign \NC \div \vec{E} \NC = \frac{\rho}{\epsilon_{0}}\NR[kem-chapter1-eqn1:A][a] \NC \rot \vec{B} \NC = \mu_{0} \:\vec{j} \NR[kem-chapter1-eqn1:B][b] \NC \div \vec{B} \NC = 0 \NR[kem-chapter1-eqn1:C][c] \NC \rot \vec{E} + \frac{\partial \vec{B} }{\partial t} \NC = 0 \NR[kem-chapter1-eqn1:D][d] \stopalign \stopformula See \informula[kem-chapter1-eqn1] or alternatively \informula[kem-chapter1-eqn1:A], \informula[kem-chapter1-eqn1:B],\informula[kem-chapter1-eqn1:C] or \informula[kem-chapter1-eqn1:D]. \blank Another test to check that the formula numbers work as expected \placeformula[kem-chapter-eqn11] \startformula \cases{ \eqalign{ \widehat{\vec{x}} &= - \vec{x} \cr \widehat{t} & = t \cr }} \quad \text{resp.} \quad \cases{\eqalign{ \widehat{\vec{x}} &= \vec{x} \cr \widehat{t} & = -t \cr }} \stopformula \stoptext