From 01949d3ad5d907f8d8be1135494addc199a09acc Mon Sep 17 00:00:00 2001
From: Martin Goik <goik@hdm-stuttgart.de>
Date: Wed, 12 Jul 2017 11:17:59 +0200
Subject: [PATCH] Mathml and TeX based formulas

---
 Doc/Common/glossary.xml                       |  25 +++
 XmlCross/Ref/DbookIntro/sampleTable.png       | Bin 0 -> 3106 bytes
 XmlCross/xmlcross.xml                         | 191 ++++++++++++++++--
 .../Extensions/Tdata/Components/intro.xml     | 158 ++++++++-------
 .../Patch/020_excludeFromSpellCheck.patch     |   1 +
 5 files changed, 282 insertions(+), 93 deletions(-)
 create mode 100644 XmlCross/Ref/DbookIntro/sampleTable.png

diff --git a/Doc/Common/glossary.xml b/Doc/Common/glossary.xml
index a3a1dc42b..07621f99a 100644
--- a/Doc/Common/glossary.xml
+++ b/Doc/Common/glossary.xml
@@ -444,6 +444,14 @@
       </glossdef>
     </glossentry>
 
+    <glossentry xml:id="glo_MathML">
+      <glossterm><acronym>MathML</acronym></glossterm>
+
+      <glossdef>
+        <para>Mathematical Markup Language</para>
+      </glossdef>
+    </glossentry>
+
     <glossentry xml:id="glo_Maven">
       <glossterm><productname>Maven</productname></glossterm>
 
@@ -557,6 +565,15 @@
       </glossdef>
     </glossentry>
 
+    <glossentry xml:id="glo_Schematron">
+      <glossterm><productname>Schematron</productname></glossterm>
+
+      <glossdef>
+        <para><link xlink:href="https://en.wikipedia.org/wiki/Schematron">A
+        rule based validation language</link></para>
+      </glossdef>
+    </glossentry>
+
     <glossentry xml:id="glo_SMB">
       <glossterm><acronym>SMB</acronym></glossterm>
 
@@ -701,6 +718,14 @@
       </glossdef>
     </glossentry>
 
+    <glossentry xml:id="glo_TeX">
+      <glossterm>TeX</glossterm>
+
+      <glossdef>
+        <para>The TeX typesetting system</para>
+      </glossdef>
+    </glossentry>
+
     <glossentry xml:id="glo_TLS">
       <glossterm>TLS</glossterm>
 
diff --git a/XmlCross/Ref/DbookIntro/sampleTable.png b/XmlCross/Ref/DbookIntro/sampleTable.png
new file mode 100644
index 0000000000000000000000000000000000000000..551bc7e05404165aa0fa5e429a1a763157f9d571
GIT binary patch
literal 3106
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
I3_b7t3!K0UmH+?%

literal 0
HcmV?d00001

diff --git a/XmlCross/xmlcross.xml b/XmlCross/xmlcross.xml
index b23bf7e01..118a8feeb 100644
--- a/XmlCross/xmlcross.xml
+++ b/XmlCross/xmlcross.xml
@@ -422,16 +422,6 @@
       </informaltable>
     </figure>
 
-    <figure xml:id="xmlc_fig_schematronTopOfRelax">
-      <title>Schematron on top of RelaxNG</title>
-
-      <mediaobject>
-        <imageobject>
-          <imagedata fileref="Ref/DbookIntro/relaxngSchematron.svg"/>
-        </imageobject>
-      </mediaobject>
-    </figure>
-
     <figure xml:id="xmlc_fig_targetFormats">
       <title>Target format overview</title>
 
@@ -701,14 +691,14 @@
       <para>Block elements are <xref linkend="glo_Docbook"/>'s building
       blocks.</para>
 
-      <figure xml:id="xmlc_fig_para">
+      <figure xml:id="xmlc_fig_dbookPara">
         <title>Paragraph</title>
 
         <informaltable border="1">
           <tr>
             <th>View</th>
 
-            <th>Docbook</th>
+            <th><xref linkend="glo_Docbook"/></th>
 
             <th>HTML</th>
           </tr>
@@ -729,14 +719,14 @@
         <para>This is by design and on purpose.</para>
       </figure>
 
-      <figure xml:id="xmlc_fig_itemizedList">
+      <figure xml:id="xmlc_fig_dbookItemizedList">
         <title>Itemized list</title>
 
         <informaltable border="1">
           <tr>
             <th>View</th>
 
-            <th>Docbook</th>
+            <th><xref linkend="glo_Docbook"/></th>
 
             <th>HTML</th>
           </tr>
@@ -773,14 +763,14 @@
         </informaltable>
       </figure>
 
-      <figure xml:id="xmlc_fig_orderedList">
+      <figure xml:id="xmlc_fig_dbookOrderedList">
         <title>Ordered list</title>
 
         <informaltable border="1">
           <tr>
             <th>View</th>
 
-            <th>Docbook</th>
+            <th><xref linkend="glo_Docbook"/></th>
 
             <th>HTML</th>
           </tr>
@@ -818,14 +808,14 @@
         </informaltable>
       </figure>
 
-      <figure xml:id="xmlc_fig_glossList">
+      <figure xml:id="xmlc_fig_dbookGlossList">
         <title>Glossary list</title>
 
         <informaltable border="1">
           <tr>
             <th>View</th>
 
-            <th>Docbook</th>
+            <th><xref linkend="glo_Docbook"/></th>
 
             <th>HTML</th>
           </tr>
@@ -874,14 +864,14 @@
         </informaltable>
       </figure>
 
-      <figure xml:id="xmlc_fig_nestedLists">
+      <figure xml:id="xmlc_fig_dbookNestedLists">
         <title>Nested lists</title>
 
         <informaltable border="1">
           <tr>
             <th>View</th>
 
-            <th>Docbook</th>
+            <th><xref linkend="glo_Docbook"/></th>
 
             <th>HTML</th>
           </tr>
@@ -939,6 +929,167 @@
           </tr>
         </informaltable>
       </figure>
+
+      <figure xml:id="xmlc_fig_dbookTables">
+        <title>A table</title>
+
+        <informaltable border="1">
+          <tr>
+            <th>View</th>
+
+            <th><xref linkend="glo_Docbook"/></th>
+
+            <th>HTML</th>
+          </tr>
+
+          <tr>
+            <td valign="top"><!--Real table slide rendering is odd --><mediaobject>
+                <imageobject>
+                  <imagedata fileref="Ref/DbookIntro/sampleTable.png"/>
+                </imageobject>
+              </mediaobject></td>
+
+            <td valign="top"><programlisting language="xml">&lt;informaltable border="1"&gt;
+  &lt;tr&gt;
+    &lt;th&gt;Col 1&lt;/th&gt;
+    &lt;th&gt;Col 2&lt;/th&gt;
+  &lt;/tr&gt;
+  &lt;tr&gt;
+    &lt;td&gt;A1&lt;/td&gt;
+    &lt;td&gt;A2&lt;/td&gt;
+  &lt;/tr&gt;
+  &lt;tr&gt;
+    &lt;td colspan="2"&gt;B&lt;/td&gt;
+  &lt;/tr&gt;
+&lt;/informaltable&gt;</programlisting></td>
+
+            <td valign="top"><programlisting language="xml">&lt;table border="1"&gt;
+  &lt;tr&gt;
+    &lt;th&gt;Col 1&lt;/th&gt;
+    &lt;th&gt;Col 2&lt;/th&gt;
+  &lt;/tr&gt;
+  &lt;tr&gt;
+    &lt;td&gt;A1&lt;/td&gt;
+    &lt;td&gt;A2&lt;/td&gt;
+  &lt;/tr&gt;
+  &lt;tr&gt;
+    &lt;td colspan="2"&gt;B&lt;/td&gt;
+  &lt;/tr&gt;
+&lt;/table&gt;</programlisting></td>
+          </tr>
+        </informaltable>
+      </figure>
+
+      <figure xml:id="xmlc_fig_dbookMathmlEquation">
+        <title>A <xref linkend="glo_MathML"/> equation</title>
+
+        <informaltable border="1">
+          <tr>
+            <th>View</th>
+
+            <th><xref linkend="glo_Docbook"/></th>
+
+            <th>HTML</th>
+          </tr>
+
+          <tr>
+            <td valign="top"><informalequation>
+                <m:math display="block">
+                  <m:mrow>
+                    <m:msqrt>
+                      <m:mi>4</m:mi>
+                    </m:msqrt>
+
+                    <m:mo>=</m:mo>
+
+                    <m:mi>2</m:mi>
+                  </m:mrow>
+                </m:math>
+              </informalequation></td>
+
+            <td valign="top"><programlisting language="xml">&lt;informalequation&gt;
+  &lt;m:math display="block"&gt;
+    &lt;m:mrow&gt;
+      &lt;m:msqrt&gt;
+        &lt;m:mi&gt;4&lt;/m:mi&gt;
+      &lt;/m:msqrt&gt;
+      &lt;m:mo&gt;=&lt;/m:mo&gt;
+      &lt;m:mi&gt;2&lt;/m:mi&gt;
+    &lt;/m:mrow&gt;
+  &lt;/m:math&gt;
+&lt;/informalequation&gt;</programlisting></td>
+
+            <td valign="top"><programlisting language="xml">&lt;math display="block"&gt;
+  &lt;mrow&gt;
+     &lt;msqrt&gt;
+        &lt;mi&gt;4&lt;/mi&gt;
+     &lt;/msqrt&gt;
+     &lt;mo&gt;=&lt;/mo&gt;
+     &lt;mi&gt;2&lt;/mi&gt;
+   &lt;/mrow&gt;
+&lt;/math&gt;</programlisting></td>
+          </tr>
+        </informaltable>
+      </figure>
+
+      <figure xml:id="xmlc_fig_dbookTexEquation">
+        <title>A <xref linkend="glo_TeX"/> equation</title>
+
+        <informaltable border="1">
+          <tr>
+            <th>View</th>
+
+            <th><xref linkend="glo_Docbook"/></th>
+
+            <th>HTML</th>
+          </tr>
+
+          <tr>
+            <td valign="top"><informalequation>
+                <mathphrase>$ |x| = \left\{ \begin{array}{rl} -x &amp;\mbox{
+                if $x&lt;0$} \\ x &amp;\mbox{ otherwise} \end{array} \right.
+                $</mathphrase>
+              </informalequation></td>
+
+            <td valign="top"><programlisting language="xml">&lt;informalequation&gt;
+  &lt;mathphrase&gt;$ |x| = \left\{
+  \begin{array}{rl} -x &amp;amp;
+  \mbox{if $x&amp;lt;0$} \\ x &amp;amp;
+  \mbox{ otherwise} \end{array}
+  \right.$&lt;/mathphrase&gt;
+&lt;/informalequation&gt;</programlisting></td>
+
+            <td valign="top"><programlisting language="xml">&lt;span class="mathphrase"
+ &gt;$ |x| = \left\{
+  \begin{array}{rl} -x &amp;amp;
+  \mbox{if $x&amp;lt;0$} \\ x &amp;amp;
+  \mbox{ otherwise} \end{array}
+  \right.$&lt;/span&gt;</programlisting></td>
+          </tr>
+        </informaltable>
+      </figure>
+    </section>
+
+    <section xml:id="xmlc_sect_profiling">
+      <title>Profiling</title>
+
+      <informalequation>
+        <mathphrase role="latex">E = mc^2</mathphrase>
+      </informalequation>
+    </section>
+
+    <section xml:id="xmlc_sect_Schematron">
+      <title>Schematron</title>
+
+      <figure xml:id="xmlc_fig_schematronTopOfRelax">
+        <title><xref linkend="glo_Schematron"/> on top of RelaxNG</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="Ref/DbookIntro/relaxngSchematron.svg"/>
+          </imageobject>
+        </mediaobject>
+      </figure>
     </section>
   </chapter>
 
diff --git a/ws/Docbook/Extensions/Tdata/Components/intro.xml b/ws/Docbook/Extensions/Tdata/Components/intro.xml
index dc8c6e7b1..644e56fc0 100644
--- a/ws/Docbook/Extensions/Tdata/Components/intro.xml
+++ b/ws/Docbook/Extensions/Tdata/Components/intro.xml
@@ -1,101 +1,116 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<chapter version="5.1" xml:id="intro"
-            xmlns:xlink="http://www.w3.org/1999/xlink"
-            xmlns:xi="http://www.w3.org/2001/XInclude"
-            xmlns:svg="http://www.w3.org/2000/svg"
-            xmlns:ns="http://docbook.org/ns/transclusion"
-            xmlns:m="http://www.w3.org/1998/Math/MathML"
-            xmlns:html="http://www.w3.org/1999/xhtml"
-            xmlns="http://docbook.org/ns/docbook">
+<chapter annotations="slide" version="5.1" xml:id="intro"
+         xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         xmlns:svg="http://www.w3.org/2000/svg"
+         xmlns:ns2="http://docbook.org/ns/docbook"
+         xmlns:ns="http://docbook.org/ns/transclusion"
+         xmlns:m="http://www.w3.org/1998/Math/MathML"
+         xmlns:html="http://www.w3.org/1999/xhtml">
   <title>Introduction</title>
 
   <para>Some MathML:</para>
 
-  <informalequation>
-    <m:math display="block">
-      <m:mroot>
-        <m:mi>x</m:mi>
+  <figure xml:id="fig_Mathml">
+    <title>MathML examples</title>
 
-        <m:mn>3</m:mn>
-      </m:mroot>
-    </m:math>
-  </informalequation>
+    <informalequation>
+      <m:math display="block">
+        <m:mroot>
+          <m:mi>x</m:mi>
 
-  <orderedlist>
-    <listitem xml:id="sw1PhytagoreanTripletCondition1">
-      <para><inlineequation>
-          <m:math display="inline">
-            <m:mrow>
-              <m:mi>a</m:mi>
+          <m:mn>3</m:mn>
+        </m:mroot>
+      </m:math>
+    </informalequation>
 
-              <m:mo>≤</m:mo>
-
-              <m:mi>b</m:mi>
-
-              <m:mo>&lt;</m:mo>
-
-              <m:mi>c</m:mi>
-            </m:mrow>
-          </m:math>
-        </inlineequation></para>
-    </listitem>
-
-    <listitem xml:id="sw1PhytagoreanTripletCondition2">
-      <para><inlineequation>
-          <m:math display="inline">
-            <m:mrow>
+    <orderedlist>
+      <listitem xml:id="sw1PhytagoreanTripletCondition1">
+        <para><inlineequation>
+            <m:math display="inline">
               <m:mrow>
                 <m:mi>a</m:mi>
 
-                <m:mo>+</m:mo>
+                <m:mo>≤</m:mo>
 
                 <m:mi>b</m:mi>
 
-                <m:mo>+</m:mo>
+                <m:mo>&lt;</m:mo>
 
                 <m:mi>c</m:mi>
               </m:mrow>
+            </m:math>
+          </inlineequation></para>
+      </listitem>
+
+      <listitem xml:id="sw1PhytagoreanTripletCondition2">
+        <para><inlineequation>
+            <m:math display="inline">
+              <m:mrow>
+                <m:mrow>
+                  <m:mi>a</m:mi>
+
+                  <m:mo>+</m:mo>
+
+                  <m:mi>b</m:mi>
+
+                  <m:mo>+</m:mo>
+
+                  <m:mi>c</m:mi>
+                </m:mrow>
 
-              <m:mo>=</m:mo>
+                <m:mo>=</m:mo>
 
-              <m:mi>1000</m:mi>
-            </m:mrow>
-          </m:math>
-        </inlineequation></para>
-    </listitem>
+                <m:mi>1000</m:mi>
+              </m:mrow>
+            </m:math>
+          </inlineequation></para>
+      </listitem>
 
-    <listitem>
-      <para><inlineequation>
-          <m:math display="inline">
-            <m:mrow>
+      <listitem>
+        <para><inlineequation>
+            <m:math display="inline">
               <m:mrow>
-                <m:msup>
-                  <m:mi>a</m:mi>
+                <m:mrow>
+                  <m:msup>
+                    <m:mi>a</m:mi>
 
-                  <m:mn>2</m:mn>
-                </m:msup>
+                    <m:mn>2</m:mn>
+                  </m:msup>
+
+                  <m:mo>+</m:mo>
 
-                <m:mo>+</m:mo>
+                  <m:msup>
+                    <m:mi>b</m:mi>
+
+                    <m:mn>2</m:mn>
+                  </m:msup>
+                </m:mrow>
+
+                <m:mo>=</m:mo>
 
                 <m:msup>
-                  <m:mi>b</m:mi>
+                  <m:mi>c</m:mi>
 
                   <m:mn>2</m:mn>
                 </m:msup>
               </m:mrow>
+            </m:math>
+          </inlineequation></para>
+      </listitem>
+    </orderedlist>
+  </figure>
 
-              <m:mo>=</m:mo>
+  <para>What about LaTeX?</para>
 
-              <m:msup>
-                <m:mi>c</m:mi>
+  <figure xml:id="fig_TeXmath">
+    <title>TeX math example</title>
 
-                <m:mn>2</m:mn>
-              </m:msup>
-            </m:mrow>
-          </m:math>
-        </inlineequation></para>
-    </listitem>
-  </orderedlist>
+    <informalequation>
+      <mathphrase role="latex">$ e = mc^2 $</mathphrase>
+    </informalequation>
+  </figure>
 
   <para>Some sql code:</para>
 
@@ -103,7 +118,7 @@
 
   <para>A <filename>Fig</filename> figure:</para>
 
-  <figure annotations="slide" xml:id="xslAxisDefinitions">
+  <figure xml:id="xslAxisDefinitions">
     <title>XSL axis directions</title>
 
     <mediaobject>
@@ -113,8 +128,7 @@
     </mediaobject>
   </figure>
 
-  <para>A <filename>Svg</filename> figure containing a
-  screenshot:</para>
+  <para>A <filename>Svg</filename> figure containing a screenshot:</para>
 
   <figure xml:id="xhtmlRendering">
     <title>Rendering Html</title>
@@ -126,8 +140,7 @@
     </mediaobject>
   </figure>
 
-  <para>A <filename>.fig</filename> containing TeX based
-  math:</para>
+  <para>A <filename>.fig</filename> containing TeX based math:</para>
 
   <mediaobject>
     <imageobject>
@@ -164,6 +177,5 @@
     </mediaobject>
   </figure>
 
-  <para>This is a cross reference to <xref
-  linkend="slideCallouts"/>.</para>
+  <para>This is a cross reference to <xref linkend="slideCallouts"/>.</para>
 </chapter>
diff --git a/ws/Xmlmind/Patch/020_excludeFromSpellCheck.patch b/ws/Xmlmind/Patch/020_excludeFromSpellCheck.patch
index b8fab1bc6..75ad8ee0b 100644
--- a/ws/Xmlmind/Patch/020_excludeFromSpellCheck.patch
+++ b/ws/Xmlmind/Patch/020_excludeFromSpellCheck.patch
@@ -32,6 +32,7 @@
 +                     db:keycode
 +                     db:keysym
 +                     db:markup
++                     db:mathphrase
 +                     db:mousebutton
 +                     db:option
 +                     db:productnumber
-- 
GitLab