Mauritz
Thanks for the template. But I am a bit confused about how to apply the 
implementation.

The code in my doc is like this:

<equation><title>Z-R Relation</title>
      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; 
href="e5-math-zr-basic.xml"/>
</equation>

and the included file is:

<?xml version="1.0" encoding="utf-16"?>
<!--
  File: e5-math-zr-basic.xml
  Date : Sept 15, 2007
  ;-->

     <!DOCTYPE mml:math PUBLIC "-//W3C//DTD MathML 2.0//EN"
        "http://www.w3.org/TR/MathML2/dtd/mathml2.dtd"; [
        <!ENTITY % MATHML.prefixed "INCLUDE">
        <!ENTITY % MATHML.prefix "mml">
        ]>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"; id="mymath"> 

    <mml:mrow>
      <mml:mn>Z</mml:mn>
      <mml:mo>=</mml:mo>
      <mml:mn>a</mml:mn>
      <mml:msup><mml:mi>R</mml:mi><mml:mn>b</mml:mn></mml:msup>
    </mml:mrow>
</mml:math>


However, the formula shows up left aligned and I need it centered. So how do I 
specify the "alignment" when using your template?


I am using SAXON and FOP 0.94.


Dean




-----Original Message-----
From: Mauritz Jeanson [mailto:[EMAIL PROTECTED]
Sent: Wed 10/24/2007 12:12 PM
To: Nelson, Dean; [email protected]
Subject: RE: [docbook-apps] Equation alignment 
 
> -----Original Message-----
> From: Nelson, Dean 
> 
> Does anyone know how to align a MathML equation on the page? 
> I am using the equation tag, but there is no horizontal 
> alignment feature. In the past, I used graphics via the 
> mediaobject and they are aligned in the imagedata. But when 
> using MathML there is no such feature.
>  
> Any ideas?


The current stylesheets are not very sophisticated. The MathML markup gets
through to the output, but that's about it.

The following customization adds support for @align and @valign on imagedata
(the original template is in math.xsl):

<xsl:template match="mml:math"
xmlns:mml="http://www.w3.org/1998/Math/MathML";>
  <xsl:choose>
    <!-- * If user is using passivetex, we don't wrap the output in -->
    <!-- * fo:instream-foreign-object (which passivetex doesn't support).
-->
    <xsl:when test="not($passivetex.extensions = 0)">
      <xsl:copy>
        <xsl:copy-of select="@*"/>
        <xsl:apply-templates/>
      </xsl:copy>
    </xsl:when>
    <xsl:otherwise>
      <fo:instream-foreign-object>

        <!-- Support for two imagedata attributes -->
        <xsl:if test="../@align">
          <xsl:attribute name="text-align">
            <xsl:value-of select="../@align"/>
          </xsl:attribute>
        </xsl:if>
        
        <xsl:if test="../@valign">
          <xsl:attribute name="display-align">
            <xsl:choose>
              <xsl:when test="../@valign = 'top'">before</xsl:when>
              <xsl:when test="../@valign = 'middle'">center</xsl:when>
              <xsl:when test="../@valign = 'bottom'">after</xsl:when>
              <xsl:otherwise>auto</xsl:otherwise>
            </xsl:choose>
          </xsl:attribute>
        </xsl:if>
     <!-- End of customization -->
        
        <xsl:copy>
          <xsl:copy-of select="@*"/>
          <xsl:apply-templates/>
        </xsl:copy>
      </fo:instream-foreign-object>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

I'm not sure if this is the way to go in the long run. I guess that it would
be better if the process.image template in graphics.xsl could be reworked so
that it also supports imagedata attributes for MathML (and SVG).

/Mauritz





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to