[NTG-context] Override MathML formula label

Hans Hagen j.hagen at xs4all.nl
Sun Jul 28 22:04:48 CEST 2019


On 7/27/2019 8:23 AM, Duncan Hothersall wrote:
> Hi all.
> 
> In processing MathML if I want a formula to be numbered I add a 
> label="X" attribute to the <formula> tag as per:
> 
> \usemodule[mathml]
> \starttext
> \xmlprocessdata{}{<formula label='X'>
>   <math xmlns='http://www.w3.org/1998/Math/MathML'>
>    <mi>p</mi><mo>=</mo><mi>c</mi><mo>-</mo><mi>t</mi>
>   </math>
> </formula>}{}
> \stoptext
> 
> This will label the formula as (1). I know I can adjust how the 
> automatic numbering is generated using \setupformulae, but how can I 
> override the label used for a specific formula, say to set it to (36A)?
> **
> 
> Basically I have a setup where formulae are mostly numbered sequentially 
> but occasionally individual formulae need to have an out-of-sequence or 
> differently formatted number.
> 
> Thanks as ever for any help.

\usemodule[mathml]

\startxmlsetups mml:formula
     \edef\mmlformulalabel{\xmlatt{#1}{label}}
     \edef\mmlformulatitle{\xmlatt{#1}{title}}
     \doifsomethingelse {\mmlformulalabel\mmlformulatitle} {
 
\startplaceformula[reference=\mmlformulalabel,title=\mmlformulatitle]
             \startformula
                 \xmlfirst{#1}{/mml:math}
             \stopformula
         \stopplaceformula
     } {
         \startformula
             \xmlfirst{#1}{/mml:math}
         \stopformula
     }
\stopxmlsetups


\starttext
\xmlprocessdata {} {
     <document>
     <formula label='X'>
         <math xmlns='http://www.w3.org/1998/Math/MathML'>
             <mi>p</mi><mo>=</mo><mi>c</mi><mo>-</mo><mi>t</mi>
         </math>
     </formula>
     <formula label='Y' title="whatever">
         <math xmlns='http://www.w3.org/1998/Math/MathML'>
             <mi>p</mi><mo>=</mo><mi>c</mi><mo>-</mo><mi>t</mi>
         </math>
     </formula>
     <formula label='Z'>
         <math xmlns='http://www.w3.org/1998/Math/MathML'>
             <mi>p</mi><mo>=</mo><mi>c</mi><mo>-</mo><mi>t</mi>
         </math>
     </formula>
     </document>
}{}
\stoptext

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the ntg-context mailing list