<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Writing Mathematics</title><link rel="stylesheet" type="text/css" href="manual.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.76.1" /><link rel="home" href="index.html" title="DocBook to LaTeX Publishing" /><link rel="up" href="ch03.html" title="Chapter 3. Using dblatex" /><link rel="prev" href="ch03s09.html" title="Correcting Poor Formatting" /><link rel="next" href="sec-music.html" title="Musical Notation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing Mathematics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s09.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using dblatex</th><td width="20%" align="right"> <a accesskey="n" href="sec-music.html">Next</a></td></tr></table><hr /></div><div class="section" title="Writing Mathematics"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="idp3497912"></a>Writing Mathematics</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="ch03s10.html#idm688160">Writing LaTeX Mathematical Equations</a></span></dt><dt><span class="section"><a href="ch03s10.html#idp3791488">
Writing MathML equations
</a></span></dt></dl></div><div class="section" title="Writing LaTeX Mathematical Equations"><div class="titlepage"><div><div><h3 class="title"><a id="idm688160"></a>Writing LaTeX Mathematical Equations</h3></div></div></div><div class="toc"><dl><dt><span class="section"><a href="ch03s10.html#idm1368096">Presentation</a></span></dt><dt><span class="section"><a href="ch03s10.html#idp9260976">Implementation choice</a></span></dt><dt><span class="section"><a href="ch03s10.html#sec-alttex-delimiters">Mathematical Delimiters</a></span></dt><dt><span class="section"><a href="ch03s10.html#idp49296">Compatibility</a></span></dt><dt><span class="section"><a href="ch03s10.html#idp2989088">Examples</a></span></dt></dl></div><div class="section" title="Presentation"><div class="titlepage"><div><div><h4 class="title"><a id="idm1368096"></a>Presentation</h4></div></div></div><p>DocBook doesn't define elements for writing mathematical equations. Only
few elements exist that tell how equation should be displayed (inlined,
block):</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="sgmltag-element">inlineequation</code> tells that the equation is
inlined,</p></li><li class="listitem"><p><code class="sgmltag-element">informalequation</code> tells that the equation is displayed
as a block, without a title.</p></li><li class="listitem"><p><code class="sgmltag-element">equation</code> tells that the equation is displayed as a
block, with or without a title.</p></li></ul></div><p>These tags include a graphic (<code class="sgmltag-element">graphic</code> or
<code class="sgmltag-element">mediaobject</code>) or an alternative text equation, as shown by
the example.</p><div class="example"><a id="idp13072904"></a><p class="title"><strong>Example 3.7. Equation taken from TDG</strong></p><div class="example-contents"><pre class="programlisting">
<equation><title>Last Theorem of Fermat</title>
<alt>x^n + y^n &ne; z^n &forall; n &ne; 2</alt>
<graphic fileref="figures/fermat"></graphic>
</equation>
</pre></div></div><br class="example-break" /></div><div class="section" title="Implementation choice"><div class="titlepage"><div><div><h4 class="title"><a id="idp9260976"></a>Implementation choice</h4></div></div></div><p>The principle is to use only the <code class="sgmltag-element">alt</code> element. If
initially <code class="sgmltag-element">alt</code> contains actually the text to print, it is
chosen to use this element to embed LaTeX mathematical equations. This choice
has the following advantages:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>The translation done by dblatex is really easy, since the equation is
already written in LaTeX.</p></li><li class="listitem"><p>LaTeX is one of the best word processor to render mathematical
formulas.</p></li><li class="listitem"><p>One doesn't need to write the equations in MathML.</p></li><li class="listitem"><p>This method isn't specific to this tool (see the following
section).</p></li></ul></div></div><div class="section" title="Mathematical Delimiters"><div class="titlepage"><div><div><h4 class="title"><a id="sec-alttex-delimiters"></a>Mathematical Delimiters</h4></div></div></div><p>The dblatex implementation is as light as possible. This is why it is
up to the writer to properly use the mathematical delimiters ($, \(, \), \[,
\]). By this way the writer fully controls how he writes equations.</p><p><a id="pi-texmath-user"></a>By default <span class="command"><strong>dblatex</strong></span> checks that
consistent mathematical
delimiters or environment are used in <code class="sgmltag-element">alt</code> and it inserts the
default math mode delimiters if dblatex thinks they are missing, but
you can ask dblatex to write directly the <code class="sgmltag-element">alt</code> content
without any action. To do this, use the <code class="literal">texmath</code> Processing
Instruction with <code class="literal">delimiters</code> set to 'user'.</p><p>For example, <a class="xref" href="ch03s10.html#eq-with-texmath-pi" title="Example 3.8. Equation with user delimiters">Example 3.8, “Equation with user delimiters”</a> has user specific
delimiters:</p><div class="example"><a id="eq-with-texmath-pi"></a><p class="title"><strong>Example 3.8. Equation with user delimiters</strong></p><div class="example-contents"><div class="equation"><a id="idp2752440"></a><p class="title"><strong>Equation 3.1. Equation block with align tabs</strong></p><div class="equation-contents"></div></div><br class="equation-break" /><p>In the XML source this equation uses a specific <code class="literal">align*</code> environment and the <code class="literal">texmath</code> PI to let the equation as is:</p><pre class="programlisting">
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE para PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<equation>
<title>Equation block with align tabs</title>
<alt><?texmath delimiters="user"?><![CDATA[\begin{align*}
S & = \left\lfloor { { N \bmod 65536 } \over 32768 } \right\rfloor \\
E & = \left\lfloor { { N \bmod 32768 } \over 1024 } \right\rfloor \\
M & = N \bmod 1024.
\end{align*}]]></alt>
</equation>
</pre></div></div><br class="example-break" /></div><div class="section" title="Compatibility"><div class="titlepage"><div><div><h4 class="title"><a id="idp49296"></a>Compatibility</h4></div></div></div><p>This implementation is not contradictory nor specific. In particular,
the <a class="ulink" href="http://ricardo.ecn.wfu.edu/~cottrell/dbtexmath/" target="_top">DBTeXMath</a>
proposal to extend the DSSSL stylesheets used by jade follows the same
approach, and is integrated in the Norman Walsh XSL stylesheets.</p></div><div class="section" title="Examples"><div class="titlepage"><div><div><h4 class="title"><a id="idp2989088"></a>Examples</h4></div></div></div><p>The following examples show how to write the equations.</p><div class="example"><a id="idp4801528"></a><p class="title"><strong>Example 3.9. Inlined Equation</strong></p><div class="example-contents"><p>The formula
<img src="figures/eq1.png" />
is inlined in the paragraph. Its XML source is:</p><pre class="programlisting">
<para>The formula
<inlineequation id="eg-inlineequation">
<alt>$C = \alpha + \beta Y^{\gamma} + \epsilon$</alt>
<graphic fileref="figures/eq1"/>
</inlineequation>
is inlined in the paragraph. Its XML source is:</para>
</pre></div></div><br class="example-break" /><div class="example"><a id="idp2886440"></a><p class="title"><strong>Example 3.10. Equation in a block</strong></p><div class="example-contents"><p>The following formula:
</p><div class="informalequation"><div><img src="figures/eq1.png" /></div></div><p>
is displayed in a separate block. The XML source is:</p><pre class="programlisting">
<para>The following formula:
<informalequation>
<alt>\[C = \alpha + \beta Y^{\gamma} + \epsilon\]</alt>
<graphic fileref="figures/eq1"/>
</informalequation>
is displayed in a separate block. The XML source is:</para>
</pre></div></div><br class="example-break" /><div class="example"><a id="idp49152"></a><p class="title"><strong>Example 3.11. Equation in a float</strong></p><div class="example-contents"><p>The formula <a class="xref" href="ch03s10.html#eq-with-title" title="Equation 3.2. Simple Formula">Equation 3.2, “Simple Formula”</a> below:
</p><div class="equation"><a id="eq-with-title"></a><p class="title"><strong>Equation 3.2. Simple Formula</strong></p><div class="equation-contents"><div><img src="figures/eq1.png" /></div></div></div><p><br class="equation-break" />
is displayed in a block with a title. Its XML source is:</p><pre class="programlisting">
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE para PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<para>The formula <xref linkend="eq-with-title"/> below:
<equation id="eq-with-title">
<title>Simple Formula</title>
<alt>\[C = \alpha + \beta Y^{\gamma} + \epsilon\]</alt>
<graphic fileref="figures/eq1"/>
</equation>
is displayed in a block with a title. Its XML source is:</para>
</pre></div></div><br class="example-break" /><div class="example"><a id="idp9381968"></a><p class="title"><strong>Example 3.12. Equation without a title</strong></p><div class="example-contents"><p>The formula <a class="xref" href="ch03s10.html#eq-with-no-title" title="Equation 3.3. ">Equation 3.3</a> below:
</p><div class="equation"><a id="eq-with-no-title"></a><p class="title"><strong>Equation 3.3. </strong></p><div class="equation-contents"><div><img src="figures/eq4.png" /></div></div></div><p><br class="equation-break" />
is displayed as a latex equation with its own equation numbering.
Its XML source is:</p><pre class="programlisting">
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE para PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<para>The formula <xref linkend="eq-with-no-title"/> below:
<equation id="eq-with-no-title">
<alt>C = \alpha + \beta Y^{\gamma} + \epsilon</alt>
<graphic fileref="figures/eq4"/>
</equation>
is displayed as a latex equation with its own equation numbering.
Its XML source is:</para>
</pre></div></div><br class="example-break" /></div></div><div class="section" title="Writing MathML equations"><div class="titlepage"><div><div><h3 class="title"><a id="idp3791488"></a>
Writing MathML equations
</h3></div></div></div><p>
You can write MathML equations in a DocBook based document, by using the <a class="ulink" href="http://www.oasis-open.org/docbook/xml/mathml/index.1.shtml" target="_top">MathML Module for DocBook XML</a> instead of the DocBook DTD.
</p><p>
dblatex now translates the MathML equations to latex by using the excellent stylesheets of the <a class="ulink" href="http://xsltml.sourceforge.net" target="_top">XSLT MathML Library</a> by Vasil Yaroshevich. A large amount of tests from the <a class="ulink" href="http://www.w3.org/Math/testsuite/" target="_top">W3C MathML Test Suite 2.0</a> is supported (657 of 712 tests). The test file used to validate the MathML stylesheets is provided in the package.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s09.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="sec-music.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Correcting Poor Formatting </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Musical Notation</td></tr></table></div></body></html>