OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


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





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]