Author: milde Date: 2010-12-06 14:02:19 +0100 (Mon, 06 Dec 2010) New Revision: 6492 Modified: trunk/docutils/docutils/math/latex2mathml.py trunk/docutils/docutils/writers/html4css1/__init__.py trunk/docutils/test/functional/expected/math.xhtml trunk/docutils/test/functional/expected/standalone_rst_latex.tex trunk/docutils/test/functional/input/data/math.txt Log: Math2HTML: \\\\mathcal (or \\\\mathscr) for mathematical script, line breaks Modified: trunk/docutils/docutils/math/latex2mathml.py =================================================================== --- trunk/docutils/docutils/math/latex2mathml.py 2010-12-03 10:03:27 UTC (rev 6491) +++ trunk/docutils/docutils/math/latex2mathml.py 2010-12-06 13:02:19 UTC (rev 6492) @@ -105,8 +105,14 @@ xml.extend(child.xml()) return xml -class mrow(math): pass -class mtable(math): pass +class mrow(math): + def xml_start(self): + return ['\n<%s>' % self.__class__.__name__] + +class mtable(math): + def xml_start(self): + return ['\n<%s>' % self.__class__.__name__] + class mtr(mrow): pass class mtd(mrow): pass @@ -377,7 +383,7 @@ node = node.append(mi(c)) elif c.isdigit(): node = node.append(mn(c)) - elif c in "+-/()[]|=<>,.!'": + elif c in "+-/()[]|=<>,.!':": node = node.append(mo(c)) elif c == '_': child = node.delete_child() @@ -418,7 +424,8 @@ return tree -mathbb = {'A': u'\U0001D538', +mathbb = { + 'A': u'\U0001D538', 'B': u'\U0001D539', 'C': u'\u2102', 'D': u'\U0001D53B', @@ -443,8 +450,64 @@ 'W': u'\U0001D54E', 'X': u'\U0001D54F', 'Y': u'\U0001D550', - 'Z': u'\u2124'} + 'Z': u'\u2124', + } +mathscr = { + 'A': u'\U0001D49C', + 'B': u'\u212C', # bernoulli function + 'C': u'\U0001D49E', + 'D': u'\U0001D49F', + 'E': u'\u2130', + 'F': u'\u2131', + 'G': u'\U0001D4A2', + 'H': u'\u210B', # hamiltonian + 'I': u'\u2110', + 'J': u'\U0001D4A5', + 'K': u'\U0001D4A6', + 'L': u'\u2112', # lagrangian + 'M': u'\u2133', # physics m-matrix + 'N': u'\U0001D4A9', + 'O': u'\U0001D4AA', + 'P': u'\U0001D4AB', + 'Q': u'\U0001D4AC', + 'R': u'\u211B', + 'S': u'\U0001D4AE', + 'T': u'\U0001D4AF', + 'U': u'\U0001D4B0', + 'V': u'\U0001D4B1', + 'W': u'\U0001D4B2', + 'X': u'\U0001D4B3', + 'Y': u'\U0001D4B4', + 'Z': u'\U0001D4B5', + 'a': u'\U0001D4B6', + 'b': u'\U0001D4B7', + 'c': u'\U0001D4B8', + 'd': u'\U0001D4B9', + 'e': u'\u212F', + 'f': u'\U0001D4BB', + 'g': u'\u210A', + 'h': u'\U0001D4BD', + 'i': u'\U0001D4BE', + 'j': u'\U0001D4BF', + 'k': u'\U0001D4C0', + 'l': u'\U0001D4C1', + 'm': u'\U0001D4C2', + 'n': u'\U0001D4C3', + 'o': u'\u2134', # order of + 'p': u'\U0001D4C5', + 'q': u'\U0001D4C6', + 'r': u'\U0001D4C7', + 's': u'\U0001D4C8', + 't': u'\U0001D4C9', + 'u': u'\U0001D4CA', + 'v': u'\U0001D4CB', + 'w': u'\U0001D4CC', + 'x': u'\U0001D4CD', + 'y': u'\U0001D4CE', + 'z': u'\U0001D4CF', + } + negatables = {'=': u'\u2260', '\in': u'\u2209', '\equiv': u'\u2262'} @@ -523,6 +586,11 @@ raise SyntaxError(r'Expected something like "\mathbb{A}"!') node = node.append(mi(mathbb[string[1]])) skip += 3 + elif name in ('mathscr', 'mathcal'): + if string[0] != '{' or string[2] != '}': + raise SyntaxError(r'Expected something like "\mathscr{A}"!') + node = node.append(mi(mathscr[string[1]])) + skip += 3 elif name in letters: node = node.append(mi(letters[name])) elif name in Greek: Modified: trunk/docutils/docutils/writers/html4css1/__init__.py =================================================================== --- trunk/docutils/docutils/writers/html4css1/__init__.py 2010-12-03 10:03:27 UTC (rev 6491) +++ trunk/docutils/docutils/writers/html4css1/__init__.py 2010-12-06 13:02:19 UTC (rev 6492) @@ -1135,6 +1135,8 @@ self.document.reporter.error(err, base_node=node) math_out = unicode(err) # TODO: generate system message and link. self.body.append(math_out) + if not inline: + self.body.append('\n') # Content already processed: raise nodes.SkipNode @@ -1146,18 +1148,6 @@ def depart_math_block(self, node): pass - # for testing: - # def visit_math(self, node): - # self.visit_literal(node) - # - # def depart_math(self, node): - # self.depart_literal(node) - # - # def visit_math_block(self, node): - # self.visit_literal_block(node) - # - # def depart_math_block(self, node): - # self.depart_literal_block(node) def visit_meta(self, node): meta = self.emptytag(node, 'meta', **node.non_default_attributes()) Modified: trunk/docutils/test/functional/expected/math.xhtml =================================================================== --- trunk/docutils/test/functional/expected/math.xhtml 2010-12-03 10:03:27 UTC (rev 6491) +++ trunk/docutils/test/functional/expected/math.xhtml 2010-12-06 13:02:19 UTC (rev 6492) @@ -12,12 +12,59 @@ <h1 class="title">Testing Math</h1> <p>Docutils supports inline math with the prefix or postfix <tt class="docutils literal">:math:</tt> -role specificator, <math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>n</mi><mo>!</mo><mo>+</mo><mo>sin</mo><mo>(</mo><msubsup><mi>x</mi><mi>n</mi><mn>2</mn></msubsup><mo>)</mo></mrow></math> and <math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><msub><mi>A</mi><mtext>c</mtext></msub><mo>=</mo><mfrac><mrow><mi>π</mi></mrow><mrow><mn>4</mn></mrow></mfrac><msup><mi>d</mi><mn>2</mn></msup></mrow></math>, as well as displayed math via the +role specificator, <math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mi>n</mi><mo>!</mo><mo>+</mo><mo>sin</mo><mo>(</mo><msubsup><mi>x</mi><mi>n</mi><mn>2</mn></msubsup><mo>)</mo></mrow></math> and <math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><msub><mi>A</mi><mtext>c</mtext></msub><mo>=</mo><mfrac> +<mrow><mi>π</mi></mrow> +<mrow><mn>4</mn></mrow></mfrac><msup><mi>d</mi><mn>2</mn></msup></mrow></math>, as well as displayed math via the <tt class="docutils literal">math</tt> directive:</p> -<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"><mtable><mtr><mtd><mi>f</mi><mo>(</mo><mi>ϵ</mi><mo>)</mo><mo>=</mo><mfrac><mrow><mn>1</mn></mrow><mrow><mn>1</mn><mo>+</mo><mo>exp</mo><mfenced open="(" close=")"><mrow><mfrac><mrow><mi>ε</mi></mrow><mrow><msub><mi>k</mi><mtext>B</mtext></msub><mi>T</mi></mrow></mfrac></mrow></mfenced></mrow></mfrac></mtd></mtr></mtable></math><math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"><mtable><mtr><mtd><mi>N</mi><mo>=</mo><mfrac><mrow><mtext>number of apples</mtext></mrow><mrow><mn>7</mn></mrow></mfrac></mtd></mtr></mtable></math><p>The determinant of the matrix</p> -<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"><mtable><mtr><mtd><mstyle fontweight="bold"><mrow><mi>M</mi></mrow></mstyle><mo>=</mo><mfenced open="(" close=")"><mrow><mtable><mtr><mtd><mi>a</mi></mtd><mtd><mi>b</mi></mtd></mtr><mtr><mtd><mi>c</mi></mtd><mtd><mi>d</mi></mtd></mtr></mtable></mrow></mfenced></mtd></mtr></mtable></math><p>is <math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo>|</mo><mstyle fontweight="bold"><mrow><mi>M</mi></mrow></mstyle><mo>|</mo><mo>=</mo><mi>a</mi><mi>d</mi><mo>-</mo><mi>b</mi><mi>c</mi></mrow></math>.</p> +<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"> +<mtable> +<mtr> +<mtd><mi>f</mi><mo>(</mo><mi>ϵ</mi><mo>)</mo><mo>=</mo><mfrac> +<mrow><mn>1</mn></mrow> +<mrow><mn>1</mn><mo>+</mo><mo>exp</mo><mfenced open="(" close=")"> +<mrow><mfrac> +<mrow><mi>ε</mi></mrow> +<mrow><msub><mi>k</mi><mtext>B</mtext></msub><mi>T</mi></mrow></mfrac></mrow></mfenced></mrow></mfrac></mtd></mtr></mtable></math> +<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"> +<mtable> +<mtr> +<mtd><mi>N</mi><mo>=</mo><mfrac> +<mrow><mtext>number of apples</mtext></mrow> +<mrow><mn>7</mn></mrow></mfrac></mtd></mtr></mtable></math> +<p>The determinant of the matrix</p> +<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"> +<mtable> +<mtr> +<mtd><mstyle fontweight="bold"> +<mrow><mi>M</mi></mrow></mstyle><mo>=</mo><mfenced open="(" close=")"> +<mrow> +<mtable> +<mtr> +<mtd><mi>a</mi></mtd> +<mtd><mi>b</mi></mtd></mtr> +<mtr> +<mtd><mi>c</mi></mtd> +<mtd><mi>d</mi></mtd></mtr></mtable></mrow></mfenced></mtd></mtr></mtable></math> +<p>is <math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mo>|</mo><mstyle fontweight="bold"> +<mrow><mi>M</mi></mrow></mstyle><mo>|</mo><mo>=</mo><mi>a</mi><mi>d</mi><mo>-</mo><mi>b</mi><mi>c</mi></mrow></math>.</p> <p>Sum and Integral with limits:</p> -<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"><mtable><mtr><mtd><munderover><mo>∫</mo><mn>0</mn><mn>1</mn></munderover><msup><mi>x</mi><mi>n</mi></msup><mi>d</mi><mi>x</mi><mo>=</mo><mfrac><mrow><mn>1</mn></mrow><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></mfrac></mtd></mtr></mtable></math><math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"><mtable><mtr><mtd><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mi>n</mi><mo>=</mo><mfrac><mrow><mi>m</mi><mo>(</mo><mi>m</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mrow><mn>2</mn></mrow></mfrac></mtd></mtr></mtable></math><dl class="docutils"> +<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"> +<mtable> +<mtr> +<mtd><munderover><mo>∫</mo><mn>0</mn><mn>1</mn></munderover><msup><mi>x</mi><mi>n</mi></msup><mi>d</mi><mi>x</mi><mo>=</mo><mfrac> +<mrow><mn>1</mn></mrow> +<mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></mfrac></mtd></mtr></mtable></math> +<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"> +<mtable> +<mtr> +<mtd><munderover><mo>∑</mo> +<mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mi>n</mi><mo>=</mo><mfrac> +<mrow><mi>m</mi><mo>(</mo><mi>m</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow> +<mrow><mn>2</mn></mrow></mfrac></mtd></mtr></mtable></math> +<dl class="docutils"> <dt>Math-Accents:</dt> <dd><table border="1" class="borderless first last docutils"> <colgroup> @@ -26,21 +73,45 @@ <col width="33%" /> </colgroup> <tbody valign="top"> -<tr><td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>a</mi></mrow><mo>´</mo></mover></mrow></math> <tt class="docutils literal">\acute{a}</tt></td> -<td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>t</mi></mrow><mo>˙</mo></mover></mrow></math> <tt class="docutils literal">\dot{t}</tt></td> -<td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>γ</mi></mrow><mo>^</mo></mover></mrow></math> <tt class="docutils literal"><span class="pre">\hat{\gamma}</span></tt></td> +<tr><td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>a</mi></mrow><mo>´</mo></mover></mrow></math> <tt class="docutils literal">\acute{a}</tt></td> +<td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>t</mi></mrow><mo>˙</mo></mover></mrow></math> <tt class="docutils literal">\dot{t}</tt></td> +<td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>γ</mi></mrow><mo>^</mo></mover></mrow></math> <tt class="docutils literal"><span class="pre">\hat{\gamma}</span></tt></td> </tr> -<tr><td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>a</mi></mrow><mo>`</mo></mover></mrow></math> <tt class="docutils literal">\grave{a}</tt></td> -<td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>t</mi></mrow><mo>¨</mo></mover></mrow></math> <tt class="docutils literal">\ddot{t}</tt></td> -<td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>α</mi></mrow><mo>˜</mo></mover></mrow></math> <tt class="docutils literal"><span class="pre">\tilde{\alpha}</span></tt></td> +<tr><td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>a</mi></mrow><mo>`</mo></mover></mrow></math> <tt class="docutils literal">\grave{a}</tt></td> +<td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>t</mi></mrow><mo>¨</mo></mover></mrow></math> <tt class="docutils literal">\ddot{t}</tt></td> +<td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>α</mi></mrow><mo>˜</mo></mover></mrow></math> <tt class="docutils literal"><span class="pre">\tilde{\alpha}</span></tt></td> </tr> -<tr><td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>x</mi></mrow><mo>˘</mo></mover></mrow></math> <tt class="docutils literal">\breve{x}</tt></td> -<td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>t</mi></mrow><mo>⃛</mo></mover></mrow></math> <tt class="docutils literal">\dddot{t}</tt></td> -<td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>ı</mi></mrow><mo>⃗</mo></mover></mrow></math> <tt class="docutils literal"><span class="pre">\vec{\imath}</span></tt></td> +<tr><td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>x</mi></mrow><mo>˘</mo></mover></mrow></math> <tt class="docutils literal">\breve{x}</tt></td> +<td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>t</mi></mrow><mo>⃛</mo></mover></mrow></math> <tt class="docutils literal">\dddot{t}</tt></td> +<td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>ı</mi></mrow><mo>⃗</mo></mover></mrow></math> <tt class="docutils literal"><span class="pre">\vec{\imath}</span></tt></td> </tr> -<tr><td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>a</mi></mrow><mo>ˇ</mo></mover></mrow></math> <tt class="docutils literal">\check{a}</tt></td> -<td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>a</mi></mrow><mo>¯</mo></mover></mrow></math> <tt class="docutils literal">\bar{a}</tt></td> -<td><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mover><mrow><mi>R</mi></mrow><mo>⃗</mo></mover></mrow></math> <tt class="docutils literal">\vec{R}</tt></td> +<tr><td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>a</mi></mrow><mo>ˇ</mo></mover></mrow></math> <tt class="docutils literal">\check{a}</tt></td> +<td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>a</mi></mrow><mo>¯</mo></mover></mrow></math> <tt class="docutils literal">\bar{a}</tt></td> +<td><math xmlns="http://www.w3.org/1998/Math/MathML"> +<mrow><mover> +<mrow><mi>R</mi></mrow><mo>⃗</mo></mover></mrow></math> <tt class="docutils literal">\vec{R}</tt></td> </tr> </tbody> </table> @@ -49,9 +120,58 @@ <!-- \widetilde{xxx} \widehat{xxx} --> <p>Quantum mechanics:</p> -<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"><mtable><mtr><mtd><mo>-</mo><mfrac><mrow><mn>1</mn></mrow><mrow><mn>2</mn></mrow></mfrac><msup><mo>∇</mo><mn>2</mn></msup><mi>ψ</mi><mo>+</mo><mi>v</mi><mi>ψ</mi><mo>=</mo><mi>ε</mi><mi>ψ</mi></mtd></mtr></mtable></math><p>Math split over two lines:</p> -<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"><mtable><mtr><mtd><mi>g</mi><mo>(</mo><mi>α</mi><mo>)</mo><mo>=</mo></mtd><mtd><mo>(</mo><mn>1</mn><mo>+</mo><mi>α</mi><mo>+</mo><msup><mi>α</mi><mn>2</mn></msup><mo>+</mo><msup><mi>α</mi><mn>3</mn></msup><mo>+</mo><msup><mi>α</mi><mn>4</mn></msup></mtd></mtr><mtr><mtd></mtd><mtd><mo>+</mo><msup><mi>α</mi><mn>5</mn></msup><mo>)</mo></mtd></mtr></mtable></math><p>Cases ("manually", with <tt class="docutils literal">matrix</tt> environment):</p> -<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"><mtable><mtr><mtd><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo><mo>=</mo><mfenced open="{" close=""><mrow><mtable><mtr><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mi>x</mi><mo><</mo><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mi>x</mi><mo>></mo><mn>0</mn></mtd></mtr></mtable></mrow></mfenced></mtd></mtr></mtable></math><p>Cases with the AMSmath <tt class="docutils literal">cases</tt> environment is not (yet) +<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"> +<mtable> +<mtr> +<mtd><mo>-</mo><mfrac> +<mrow><mn>1</mn></mrow> +<mrow><mn>2</mn></mrow></mfrac><msup><mo>∇</mo><mn>2</mn></msup><mi>ψ</mi><mo>+</mo><mi>v</mi><mi>ψ</mi><mo>=</mo><mi>ε</mi><mi>ψ</mi></mtd></mtr></mtable></math> +<p>Modulation Transfer Function:</p> +<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"> +<mtable> +<mtr> +<mtd><mtext>MTF</mtext><mo>=</mo><mfenced open="|" close="|"> +<mrow><mfrac> +<mrow><mi>ℱ</mi><mfenced open="{" close="}"> +<mrow><mi>s</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mfenced></mrow> +<mrow><mi>ℱ</mi><mfenced open="{" close="}"> +<mrow><mi>s</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mfenced><msub><mo>|</mo> +<mrow><msub><mi>ω</mi> +<mrow><mi>x</mi></mrow></msub><mo>=</mo><mn>0</mn></mrow></msub></mrow></mfrac></mrow></mfenced><mo>=</mo><mtext>abs</mtext><mfenced open="(" close=")"> +<mrow><mfrac> +<mrow><munderover><mo>∫</mo> +<mrow><mo>-</mo><mo>∞</mo></mrow> +<mrow><mo>∞</mo></mrow></munderover><mi>s</mi><mo>(</mo><mi>x</mi><mo>)</mo><msup><mtext>e</mtext> +<mrow><mtext>i</mtext><msub><mi>ω</mi> +<mrow><mi>x</mi></mrow></msub><mi>x</mi></mrow></msup><mtext>d</mtext> +<mrow><mi>x</mi></mrow></mrow> +<mrow><munderover><mo>∫</mo> +<mrow><mo>-</mo><mo>∞</mo></mrow> +<mrow><mo>∞</mo></mrow></munderover><mi>s</mi><mo>(</mo><mi>x</mi><mo>)</mo><mtext>d</mtext> +<mrow><mi>x</mi></mrow></mrow></mfrac></mrow></mfenced><mo>.</mo></mtd></mtr></mtable></math> +<p>Math split over two lines:</p> +<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"> +<mtable> +<mtr> +<mtd><mi>g</mi><mo>(</mo><mi>α</mi><mo>)</mo><mo>=</mo></mtd> +<mtd><mo>(</mo><mn>1</mn><mo>+</mo><mi>α</mi><mo>+</mo><msup><mi>α</mi><mn>2</mn></msup><mo>+</mo><msup><mi>α</mi><mn>3</mn></msup><mo>+</mo><msup><mi>α</mi><mn>4</mn></msup></mtd></mtr> +<mtr> +<mtd></mtd> +<mtd><mo>+</mo><msup><mi>α</mi><mn>5</mn></msup><mo>)</mo></mtd></mtr></mtable></math> +<p>Cases ("manually", with <tt class="docutils literal">matrix</tt> environment):</p> +<math xmlns="http://www.w3.org/1998/Math/MathML" mode="display"> +<mtable> +<mtr> +<mtd><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo><mo>=</mo><mfenced open="{" close=""> +<mrow> +<mtable> +<mtr> +<mtd><mo>-</mo><mn>1</mn></mtd> +<mtd><mi>x</mi><mo><</mo><mn>0</mn></mtd></mtr> +<mtr> +<mtd><mn>1</mn></mtd> +<mtd><mi>x</mi><mo>></mo><mn>0</mn></mtd></mtr></mtable></mrow></mfenced></mtd></mtr></mtable></math> +<p>Cases with the AMSmath <tt class="docutils literal">cases</tt> environment is not (yet) supported by latex2MathML.</p> <!-- math: Modified: trunk/docutils/test/functional/expected/standalone_rst_latex.tex =================================================================== --- trunk/docutils/test/functional/expected/standalone_rst_latex.tex 2010-12-03 10:03:27 UTC (rev 6491) +++ trunk/docutils/test/functional/expected/standalone_rst_latex.tex 2010-12-06 13:02:19 UTC (rev 6492) @@ -1710,6 +1710,16 @@ \begin{equation*} -\frac{1}{2}\nabla^2 \psi + v \psi = \varepsilon \psi \end{equation*} +Modulation Transfer Function: +% +\begin{equation*} +\text{MTF}=\left|\frac{\mathcal{F}\left\{ s(x)\right\} } + {\mathcal{F}\left\{ s(x)\right\} |_{\omega_{x}=0}}\right| + =\text{abs}\left(\frac{\int_{-\infty}^{\infty}s(x) + \text{e}^{\text{i}\omega_{x}x}\text{d}{x}} + {\int_{-\infty}^{\infty}s(x)\text{d}{x}} + \right). +\end{equation*} Math split over two lines: % \begin{align*} Modified: trunk/docutils/test/functional/input/data/math.txt =================================================================== --- trunk/docutils/test/functional/input/data/math.txt 2010-12-03 10:03:27 UTC (rev 6491) +++ trunk/docutils/test/functional/input/data/math.txt 2010-12-06 13:02:19 UTC (rev 6492) @@ -62,6 +62,17 @@ -\frac{1}{2}\nabla^2 \psi + v \psi = \varepsilon \psi +Modulation Transfer Function: + +.. math:: + + \text{MTF}=\left|\frac{\mathcal{F}\left\{ s(x)\right\} } + {\mathcal{F}\left\{ s(x)\right\} |_{\omega_{x}=0}}\right| + =\text{abs}\left(\frac{\int_{-\infty}^{\infty}s(x) + \text{e}^{\text{i}\omega_{x}x}\text{d}{x}} + {\int_{-\infty}^{\infty}s(x)\text{d}{x}} + \right). + Math split over two lines: .. math:: |