mathml2latex 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +47 -0
- data/Rakefile +19 -0
- data/lib/mathml2latex.rb +27 -0
- data/lib/mathml2latex/mathml_latex_service.rb +42 -0
- data/lib/mathml2latex/symbols.rb +1561 -0
- data/lib/mathml2latex/version.rb +3 -0
- data/lib/mathml2latex/xslt/elements/menclose.xsl +39 -0
- data/lib/mathml2latex/xslt/elements/merror.xsl +8 -0
- data/lib/mathml2latex/xslt/elements/mfenced.xsl +64 -0
- data/lib/mathml2latex/xslt/elements/mfrac.xsl +56 -0
- data/lib/mathml2latex/xslt/elements/mi_mn_mo_mtext_ms.xsl +199 -0
- data/lib/mathml2latex/xslt/elements/mmultiscripts.xsl +61 -0
- data/lib/mathml2latex/xslt/elements/mover.xsl +66 -0
- data/lib/mathml2latex/xslt/elements/mphantom.xsl +10 -0
- data/lib/mathml2latex/xslt/elements/mroot.xsl +21 -0
- data/lib/mathml2latex/xslt/elements/mrow.xsl +8 -0
- data/lib/mathml2latex/xslt/elements/mspace.xsl +24 -0
- data/lib/mathml2latex/xslt/elements/msqrt.xsl +10 -0
- data/lib/mathml2latex/xslt/elements/mstyle.xsl +39 -0
- data/lib/mathml2latex/xslt/elements/msub.xsl +12 -0
- data/lib/mathml2latex/xslt/elements/msubsup.xsl +14 -0
- data/lib/mathml2latex/xslt/elements/msup.xsl +12 -0
- data/lib/mathml2latex/xslt/elements/mtable.xsl +86 -0
- data/lib/mathml2latex/xslt/elements/mtd.xsl +30 -0
- data/lib/mathml2latex/xslt/elements/mtr.xsl +11 -0
- data/lib/mathml2latex/xslt/elements/munder.xsl +73 -0
- data/lib/mathml2latex/xslt/elements/munderover.xsl +92 -0
- data/lib/mathml2latex/xslt/includes.xsl +30 -0
- data/lib/mathml2latex/xslt/mml2latex.xsl +30 -0
- data/lib/mathml2latex/xslt/shared/color.xsl +117 -0
- data/lib/mathml2latex/xslt_functions.rb +29 -0
- data/spec/fixtures/basic/aligned_equations.xml +37 -0
- data/spec/fixtures/basic/arrow_accent.xml +11 -0
- data/spec/fixtures/basic/backspace.xml +6 -0
- data/spec/fixtures/basic/bottom_parenthesis.xml +12 -0
- data/spec/fixtures/basic/definite_integral_with_differential.xml +17 -0
- data/spec/fixtures/basic/digit_space.xml +6 -0
- data/spec/fixtures/basic/double_vertical_bars.xml +10 -0
- data/spec/fixtures/basic/element_over.xml +15 -0
- data/spec/fixtures/basic/element_under.xml +17 -0
- data/spec/fixtures/basic/element_under_over.xml +23 -0
- data/spec/fixtures/basic/enclose_box_matrix.xml +28 -0
- data/spec/fixtures/basic/enclose_left.xml +9 -0
- data/spec/fixtures/basic/enclose_right.xml +8 -0
- data/spec/fixtures/basic/fraction.xml +6 -0
- data/spec/fixtures/basic/greek.xml +30 -0
- data/spec/fixtures/basic/left_right_arrow_accent.xml +12 -0
- data/spec/fixtures/basic/left_subscript.xml +15 -0
- data/spec/fixtures/basic/left_super_sub_script.xml +21 -0
- data/spec/fixtures/basic/left_superscript.xml +15 -0
- data/spec/fixtures/basic/matrix.xml +26 -0
- data/spec/fixtures/basic/matrix_bottom_curly_bracket.xml +32 -0
- data/spec/fixtures/basic/matrix_curly_brackets.xml +30 -0
- data/spec/fixtures/basic/matrix_parenthesis.xml +28 -0
- data/spec/fixtures/basic/matrix_square_brackets.xml +30 -0
- data/spec/fixtures/basic/matrix_top_curly_bracket.xml +32 -0
- data/spec/fixtures/basic/matrix_with_vertical_bar.xml +30 -0
- data/spec/fixtures/basic/n_root.xml +6 -0
- data/spec/fixtures/basic/over_script_with_brace.xml +18 -0
- data/spec/fixtures/basic/parenthesis.xml +9 -0
- data/spec/fixtures/basic/piecewise_function.xml +22 -0
- data/spec/fixtures/basic/square_root.xml +5 -0
- data/spec/fixtures/basic/subscript.xml +13 -0
- data/spec/fixtures/basic/subscript_with_big_operator.xml +10 -0
- data/spec/fixtures/basic/sum_over_under.xml +13 -0
- data/spec/fixtures/basic/sum_super_sub.xml +9 -0
- data/spec/fixtures/basic/super_sub_script.xml +18 -0
- data/spec/fixtures/basic/super_sub_script_big_operator.xml +18 -0
- data/spec/fixtures/basic/superscript.xml +9 -0
- data/spec/fixtures/basic/top_parenthesis.xml +6 -0
- data/spec/fixtures/basic/under_script_with_brace.xml +18 -0
- data/spec/fixtures/basic/vector_accent.xml +13 -0
- data/spec/fixtures/complex/sum_with_nested_matrix.xml +79 -0
- data/spec/lib/mathml2latex/mathml_latex_service_spec.rb +383 -0
- data/spec/lib/mathml2latex/xslt_functions_spec.rb +39 -0
- data/spec/mathml2latex_spec.rb +52 -0
- data/spec/spec_helper.rb +15 -0
- metadata +257 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<?xml version='1.0' encoding="UTF-8"?>
|
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
3
|
+
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
|
4
|
+
version='1.0'>
|
|
5
|
+
<xsl:output method="text" indent="no" encoding="UTF-8"/>
|
|
6
|
+
|
|
7
|
+
<xsl:include href="./elements/menclose.xsl"/>
|
|
8
|
+
<xsl:include href="./elements/merror.xsl"/>
|
|
9
|
+
<xsl:include href="./elements/mfenced.xsl"/>
|
|
10
|
+
<xsl:include href="./elements/mfrac.xsl"/>
|
|
11
|
+
<xsl:include href="./elements/mi_mn_mo_mtext_ms.xsl"/>
|
|
12
|
+
<xsl:include href="./elements/mmultiscripts.xsl"/>
|
|
13
|
+
<xsl:include href="./elements/mover.xsl"/>
|
|
14
|
+
<xsl:include href="./elements/mphantom.xsl"/>
|
|
15
|
+
<xsl:include href="./elements/mroot.xsl"/>
|
|
16
|
+
<xsl:include href="./elements/mrow.xsl"/>
|
|
17
|
+
<xsl:include href="./elements/mspace.xsl"/>
|
|
18
|
+
<xsl:include href="./elements/msqrt.xsl"/>
|
|
19
|
+
<xsl:include href="./elements/mstyle.xsl"/>
|
|
20
|
+
<xsl:include href="./elements/msub.xsl"/>
|
|
21
|
+
<xsl:include href="./elements/msubsup.xsl"/>
|
|
22
|
+
<xsl:include href="./elements/msup.xsl"/>
|
|
23
|
+
<xsl:include href="./elements/mtable.xsl"/>
|
|
24
|
+
<xsl:include href="./elements/mtd.xsl"/>
|
|
25
|
+
<xsl:include href="./elements/mtr.xsl"/>
|
|
26
|
+
<xsl:include href="./elements/munder.xsl"/>
|
|
27
|
+
<xsl:include href="./elements/munderover.xsl"/>
|
|
28
|
+
|
|
29
|
+
<xsl:include href="./shared/color.xsl"/>
|
|
30
|
+
</xsl:stylesheet>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<?xml version='1.0' encoding="UTF-8"?>
|
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
3
|
+
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
|
4
|
+
version='1.0'>
|
|
5
|
+
<xsl:output method="text" indent="no" encoding="UTF-8"/>
|
|
6
|
+
|
|
7
|
+
<xsl:include href="./includes.xsl"/>
|
|
8
|
+
|
|
9
|
+
<xsl:template name="startspace">
|
|
10
|
+
<xsl:param name="symbol"/>
|
|
11
|
+
<xsl:if test="contains($symbol,' ')">
|
|
12
|
+
<xsl:variable name="symbola" select="concat(substring-before($symbol,' '),substring-after($symbol,' '))"/>
|
|
13
|
+
<xsl:call-template name="startspace">
|
|
14
|
+
<xsl:with-param name="symbol" select="$symbola"/>
|
|
15
|
+
</xsl:call-template>
|
|
16
|
+
</xsl:if>
|
|
17
|
+
<xsl:if test="not(contains($symbol,' '))">
|
|
18
|
+
<xsl:value-of select="$symbol"/>
|
|
19
|
+
</xsl:if>
|
|
20
|
+
</xsl:template>
|
|
21
|
+
|
|
22
|
+
<xsl:strip-space elements="m:*"/>
|
|
23
|
+
|
|
24
|
+
<xsl:template match="m:math">
|
|
25
|
+
<xsl:variable name="ouput">
|
|
26
|
+
<xsl:apply-templates/>
|
|
27
|
+
</xsl:variable>
|
|
28
|
+
<xsl:value-of disable-output-escaping="yes" select="normalize-space($ouput)" />
|
|
29
|
+
</xsl:template>
|
|
30
|
+
</xsl:stylesheet>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<?xml version='1.0' encoding="UTF-8"?>
|
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
3
|
+
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
|
4
|
+
version='1.0'>
|
|
5
|
+
<xsl:template name="color">
|
|
6
|
+
<!-- NB: Variables colora and valueColor{n} only for Sablotron -->
|
|
7
|
+
<xsl:param name="color"/>
|
|
8
|
+
<xsl:variable name="colora" select="translate($color,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
|
|
9
|
+
<xsl:choose>
|
|
10
|
+
<xsl:when test="starts-with($colora,'#') and string-length($colora)=4">
|
|
11
|
+
<xsl:variable name="valueColor">
|
|
12
|
+
<xsl:call-template name="Hex2Decimal">
|
|
13
|
+
<xsl:with-param name="arg" select="substring($colora,2,1)"/>
|
|
14
|
+
</xsl:call-template>
|
|
15
|
+
</xsl:variable>
|
|
16
|
+
<xsl:value-of select="$valueColor div 15"/><xsl:text>,</xsl:text>
|
|
17
|
+
<xsl:variable name="valueColor1">
|
|
18
|
+
<xsl:call-template name="Hex2Decimal">
|
|
19
|
+
<xsl:with-param name="arg" select="substring($colora,3,1)"/>
|
|
20
|
+
</xsl:call-template>
|
|
21
|
+
</xsl:variable>
|
|
22
|
+
<xsl:value-of select="$valueColor1 div 15"/><xsl:text>,</xsl:text>
|
|
23
|
+
<xsl:variable name="valueColor2">
|
|
24
|
+
<xsl:call-template name="Hex2Decimal">
|
|
25
|
+
<xsl:with-param name="arg" select="substring($colora,4,1)"/>
|
|
26
|
+
</xsl:call-template>
|
|
27
|
+
</xsl:variable>
|
|
28
|
+
<xsl:value-of select="$valueColor2 div 15"/>
|
|
29
|
+
</xsl:when>
|
|
30
|
+
<xsl:when test="starts-with($colora,'#') and string-length($colora)=7">
|
|
31
|
+
<xsl:variable name="valueColor1">
|
|
32
|
+
<xsl:call-template name="Hex2Decimal">
|
|
33
|
+
<xsl:with-param name="arg" select="substring($colora,2,1)"/>
|
|
34
|
+
</xsl:call-template>
|
|
35
|
+
</xsl:variable>
|
|
36
|
+
<xsl:variable name="valueColor2">
|
|
37
|
+
<xsl:call-template name="Hex2Decimal">
|
|
38
|
+
<xsl:with-param name="arg" select="substring($colora,3,1)"/>
|
|
39
|
+
</xsl:call-template>
|
|
40
|
+
</xsl:variable>
|
|
41
|
+
<xsl:value-of select="($valueColor1*16 + $valueColor2) div 255"/><xsl:text>,</xsl:text>
|
|
42
|
+
<xsl:variable name="valueColor1a">
|
|
43
|
+
<xsl:call-template name="Hex2Decimal">
|
|
44
|
+
<xsl:with-param name="arg" select="substring($colora,4,1)"/>
|
|
45
|
+
</xsl:call-template>
|
|
46
|
+
</xsl:variable>
|
|
47
|
+
<xsl:variable name="valueColor2a">
|
|
48
|
+
<xsl:call-template name="Hex2Decimal">
|
|
49
|
+
<xsl:with-param name="arg" select="substring($colora,5,1)"/>
|
|
50
|
+
</xsl:call-template>
|
|
51
|
+
</xsl:variable>
|
|
52
|
+
<xsl:value-of select="($valueColor1a*16 + $valueColor2a) div 255"/><xsl:text>,</xsl:text>
|
|
53
|
+
<xsl:variable name="valueColor1b">
|
|
54
|
+
<xsl:call-template name="Hex2Decimal">
|
|
55
|
+
<xsl:with-param name="arg" select="substring($colora,6,1)"/>
|
|
56
|
+
</xsl:call-template>
|
|
57
|
+
</xsl:variable>
|
|
58
|
+
<xsl:variable name="valueColor2b">
|
|
59
|
+
<xsl:call-template name="Hex2Decimal">
|
|
60
|
+
<xsl:with-param name="arg" select="substring($colora,7,1)"/>
|
|
61
|
+
</xsl:call-template>
|
|
62
|
+
</xsl:variable>
|
|
63
|
+
<xsl:value-of select="($valueColor1b*16 + $valueColor2b) div 255"/>
|
|
64
|
+
</xsl:when>
|
|
65
|
+
<!-- ====== if color specifed as an html-color-name ============= -->
|
|
66
|
+
<xsl:when test="$colora='aqua'"><xsl:text>0,1,1</xsl:text></xsl:when>
|
|
67
|
+
<xsl:when test="$colora='black'"><xsl:text>0,0,0</xsl:text></xsl:when>
|
|
68
|
+
<xsl:when test="$colora='blue'"><xsl:text>0,0,1</xsl:text></xsl:when>
|
|
69
|
+
<xsl:when test="$colora='fuchsia'"><xsl:text>1,0,1</xsl:text></xsl:when>
|
|
70
|
+
<xsl:when test="$colora='gray'"><xsl:text>.5,.5,.5</xsl:text></xsl:when>
|
|
71
|
+
<xsl:when test="$colora='green'"><xsl:text>0,.5,0</xsl:text></xsl:when>
|
|
72
|
+
<xsl:when test="$colora='lime'"><xsl:text>0,1,0</xsl:text></xsl:when>
|
|
73
|
+
<xsl:when test="$colora='maroon'"><xsl:text>.5,0,0</xsl:text></xsl:when>
|
|
74
|
+
<xsl:when test="$colora='navy'"><xsl:text>0,0,.5</xsl:text></xsl:when>
|
|
75
|
+
<xsl:when test="$colora='olive'"><xsl:text>.5,.5,0</xsl:text></xsl:when>
|
|
76
|
+
<xsl:when test="$colora='purple'"><xsl:text>.5,0,.5</xsl:text></xsl:when>
|
|
77
|
+
<xsl:when test="$colora='red'"><xsl:text>1,0,0</xsl:text></xsl:when>
|
|
78
|
+
<xsl:when test="$colora='silver'"><xsl:text>.75,.75,.75</xsl:text></xsl:when>
|
|
79
|
+
<xsl:when test="$colora='teal'"><xsl:text>0,.5,.5</xsl:text></xsl:when>
|
|
80
|
+
<xsl:when test="$colora='white'"><xsl:text>1,1,1</xsl:text></xsl:when>
|
|
81
|
+
<xsl:when test="$colora='yellow'"><xsl:text>1,1,0</xsl:text></xsl:when>
|
|
82
|
+
<xsl:otherwise>
|
|
83
|
+
<xsl:message>Exception at color template</xsl:message>
|
|
84
|
+
</xsl:otherwise>
|
|
85
|
+
</xsl:choose>
|
|
86
|
+
</xsl:template>
|
|
87
|
+
|
|
88
|
+
<xsl:template name="Hex2Decimal">
|
|
89
|
+
<xsl:param name="arg"/>
|
|
90
|
+
<xsl:choose>
|
|
91
|
+
<xsl:when test="$arg='f'">
|
|
92
|
+
<xsl:value-of select="15"/>
|
|
93
|
+
</xsl:when>
|
|
94
|
+
<xsl:when test="$arg='e'">
|
|
95
|
+
<xsl:value-of select="14"/>
|
|
96
|
+
</xsl:when>
|
|
97
|
+
<xsl:when test="$arg='d'">
|
|
98
|
+
<xsl:value-of select="13"/>
|
|
99
|
+
</xsl:when>
|
|
100
|
+
<xsl:when test="$arg='c'">
|
|
101
|
+
<xsl:value-of select="12"/>
|
|
102
|
+
</xsl:when>
|
|
103
|
+
<xsl:when test="$arg='b'">
|
|
104
|
+
<xsl:value-of select="11"/>
|
|
105
|
+
</xsl:when>
|
|
106
|
+
<xsl:when test="$arg='a'">
|
|
107
|
+
<xsl:value-of select="10"/>
|
|
108
|
+
</xsl:when>
|
|
109
|
+
<xsl:when test="translate($arg, '0123456789', '9999999999')='9'"> <!-- if $arg is number -->
|
|
110
|
+
<xsl:value-of select="$arg"/>
|
|
111
|
+
</xsl:when>
|
|
112
|
+
<xsl:otherwise>
|
|
113
|
+
<xsl:message>Exception at Hex2Decimal template</xsl:message>
|
|
114
|
+
</xsl:otherwise>
|
|
115
|
+
</xsl:choose>
|
|
116
|
+
</xsl:template>
|
|
117
|
+
</xsl:stylesheet>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# provide regex operations to xslt
|
|
2
|
+
# regex is not available to xslt 1.0
|
|
3
|
+
require 'mathml2latex/symbols.rb'
|
|
4
|
+
|
|
5
|
+
module Mathml2latex
|
|
6
|
+
class XsltFunctions
|
|
7
|
+
def replace(str, regex_str, replacement)
|
|
8
|
+
regex = Regexp.new(regex_str)
|
|
9
|
+
str.gsub(regex, replacement)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def matches(str, regex_str, flag = '')
|
|
13
|
+
str.downcase! if flag == 'i'
|
|
14
|
+
regex = Regexp.new(regex_str)
|
|
15
|
+
!(str =~ regex).nil?
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def fetch_symbols(str)
|
|
19
|
+
ret_str = ""
|
|
20
|
+
for i in 0...str.length
|
|
21
|
+
key = str[i].chr.ord
|
|
22
|
+
val = Mathml2latex::Symbols[key]
|
|
23
|
+
val = str[i] if val.nil?
|
|
24
|
+
ret_str << val
|
|
25
|
+
end
|
|
26
|
+
ret_str
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
|
2
|
+
<mtable columnspacing="2px" columnalign="right center left">
|
|
3
|
+
<mtr>
|
|
4
|
+
<mtd>
|
|
5
|
+
<mi>x</mi>
|
|
6
|
+
<mo> </mo>
|
|
7
|
+
<mo>+</mo>
|
|
8
|
+
<mo> </mo>
|
|
9
|
+
<mn>2</mn>
|
|
10
|
+
<mi>y</mi>
|
|
11
|
+
</mtd>
|
|
12
|
+
<mtd>
|
|
13
|
+
<mo>=</mo>
|
|
14
|
+
</mtd>
|
|
15
|
+
<mtd>
|
|
16
|
+
<mn>25</mn>
|
|
17
|
+
</mtd>
|
|
18
|
+
</mtr>
|
|
19
|
+
<mtr>
|
|
20
|
+
<mtd>
|
|
21
|
+
<mn>3</mn>
|
|
22
|
+
<mi>x</mi>
|
|
23
|
+
<mo> </mo>
|
|
24
|
+
<mo>+</mo>
|
|
25
|
+
<mo> </mo>
|
|
26
|
+
<mn>6</mn>
|
|
27
|
+
<mi>y</mi>
|
|
28
|
+
</mtd>
|
|
29
|
+
<mtd>
|
|
30
|
+
<mo>=</mo>
|
|
31
|
+
</mtd>
|
|
32
|
+
<mtd>
|
|
33
|
+
<mn>20</mn>
|
|
34
|
+
</mtd>
|
|
35
|
+
</mtr>
|
|
36
|
+
</mtable>
|
|
37
|
+
</math>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
|
2
|
+
<msubsup>
|
|
3
|
+
<mo>∫</mo>
|
|
4
|
+
<mrow>
|
|
5
|
+
<mi>a</mi>
|
|
6
|
+
<mi>a</mi>
|
|
7
|
+
</mrow>
|
|
8
|
+
<mrow>
|
|
9
|
+
<mi>b</mi>
|
|
10
|
+
<mi>b</mi>
|
|
11
|
+
</mrow>
|
|
12
|
+
</msubsup>
|
|
13
|
+
<mi>c</mi>
|
|
14
|
+
<mi>c</mi>
|
|
15
|
+
<mo>d</mo>
|
|
16
|
+
<mi>x</mi>
|
|
17
|
+
</math>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
|
2
|
+
<munderover>
|
|
3
|
+
<mrow>
|
|
4
|
+
<mi>b</mi>
|
|
5
|
+
<mi>a</mi>
|
|
6
|
+
<mi>s</mi>
|
|
7
|
+
<mi>e</mi>
|
|
8
|
+
</mrow>
|
|
9
|
+
<mrow>
|
|
10
|
+
<mi>u</mi>
|
|
11
|
+
<mi>n</mi>
|
|
12
|
+
<mi>d</mi>
|
|
13
|
+
<mi>e</mi>
|
|
14
|
+
<mi>r</mi>
|
|
15
|
+
</mrow>
|
|
16
|
+
<mrow>
|
|
17
|
+
<mi>o</mi>
|
|
18
|
+
<mi>v</mi>
|
|
19
|
+
<mi>e</mi>
|
|
20
|
+
<mi>r</mi>
|
|
21
|
+
</mrow>
|
|
22
|
+
</munderover>
|
|
23
|
+
</math>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
|
2
|
+
<menclose notation="box">
|
|
3
|
+
<mtable>
|
|
4
|
+
<mtr>
|
|
5
|
+
<mtd>
|
|
6
|
+
<mn>11</mn>
|
|
7
|
+
</mtd>
|
|
8
|
+
<mtd>
|
|
9
|
+
<mn>22</mn>
|
|
10
|
+
</mtd>
|
|
11
|
+
<mtd>
|
|
12
|
+
<mn>33</mn>
|
|
13
|
+
</mtd>
|
|
14
|
+
</mtr>
|
|
15
|
+
<mtr>
|
|
16
|
+
<mtd>
|
|
17
|
+
<mn>44</mn>
|
|
18
|
+
</mtd>
|
|
19
|
+
<mtd>
|
|
20
|
+
<mn>55</mn>
|
|
21
|
+
</mtd>
|
|
22
|
+
<mtd>
|
|
23
|
+
<mn>66</mn>
|
|
24
|
+
</mtd>
|
|
25
|
+
</mtr>
|
|
26
|
+
</mtable>
|
|
27
|
+
</menclose>
|
|
28
|
+
</math>
|