Skip to content

Natural Language and Mathematics #71

Open

Description

@AdamSobieski

Introduction

We can consider scenarios where it is desired to utilize presentation content comprised of or containing natural language while also utilizing MathML4 features.

Examples are indicated, herein, towards a discussion of making it possible to style <math> elements such that presentation content can be displayed in an inline manner, flowing with surrounding hypertext and wrapping lines.

HTML5

In the following examples, it is shown that HTML5 can be used to present natural language for a mathematical expression for which a semantic component is also provided.

Can the <math> element be styled so that both of the following examples render in the same way?

Can the <math> element be styled to display in an inline manner, flowing with surrounding hypertext and wrapping lines?

Example 1

<p>
  <span>This is a previous sentence.</span>
  <span>Two plus two is four.</span>
  <span>This is a next sentence.</span>
</p>

Example 2

<p>
  <span>This is a previous sentence.</span>
  <math style="display:inline;text-wrap:wrap">
    <semantics>
      <annotation-xml encoding="application/xhtml+xml">
        <span>Two plus two is four.</span>
      </annotation-xml>
      <annotation-xml name="contentequiv" encoding="application/mathml-content+xml">
        <apply><eq />
          <apply><plus /><cn>2</cn><cn>2</cn></apply>
          <cn>4</cn>
        </apply>
      </annotation-xml>
    </semantics>
  </math>
  <span>This is a next sentence.</span>
</p>

MathML’s mtext

The following example shows that the mtext element can also be utilized to present natural language content in MathML.

<p>
  <span>This is a previous sentence.</span>
  <math style="display:inline;text-wrap:wrap">
    <semantics>
      <annotation-xml encoding="application/mathml-presentation+xml">
        <mtext>Two plus two is four.</mtext>
      </annotation-xml>
      <annotation-xml name="contentequiv" encoding="application/mathml-content+xml">
        <apply><eq />
          <apply><plus /><cn>2</cn><cn>2</cn></apply>
          <cn>4</cn>
        </apply>
      </annotation-xml>
    </semantics>
  </math>
  <span>This is a next sentence.</span>
</p>

Expression Metadata

We can make use of metadata to indicate mappings between some natural language content and mathematical semantics.

<math id="eq1">
  <semantics>
    <annotation-xml lang="en" encoding="application/xhtml+xml">
      <span><span id="eq1-p-s"><span id="eq1-p-e1"><span id="eq1-p-a1">Two</span> <span id="eq1-p-o1">plus</span> <span id="eq1-p-a2">two</span></span> <span id="eq1-p-o2">is</span> <span id="eq1-p-e2">four</span></span>.</span>
    </annotation-xml>
    <annotation-xml lang="fr" encoding="application/xhtml+xml">
      <span><span id="eq1-p-s-fr"><span id="eq1-p-e1-fr"><span id="eq1-p-a1-fr">Deux</span> <span id="eq1-p-o1-fr">plus</span> <span id="eq1-p-a2-fr">deux</span></span> <span id="eq1-p-o2-fr">c’est</span> <span id="eq1-p-e2-fr">quatre</span></span>.</span>
    </annotation-xml>
    <annotation-xml name="contentequiv" encoding="application/mathml-content+xml">
      <apply id="eq1-s-s"><eq id="eq1-s-o2" />
        <apply id="eq1-s-e1"><plus id="eq1-s-o1" /><cn id="eq1-s-a1">2</cn><cn id="eq1-s-a2">2</cn></apply>
        <cn id="eq1-s-e2">4</cn>
      </apply>
    </annotation-xml>
    <annotation-xml name="metadata" encoding="application/rdf+xml">
      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
               xmlns:mm="http://example.com/math-metadata/">
        <rdf:Description rdf:about="eq1-p-s">
          <mm:mapsTo rdf:resource="eq1-s-s" />
        </rdf:Description>
        <rdf:Description rdf:about="eq1-p-o2">
          <mm:mapsTo rdf:resource="eq1-s-o2" />
        </rdf:Description>
        <rdf:Description rdf:about="eq1-p-e1">
          <mm:mapsTo rdf:resource="eq1-s-e1" />
        </rdf:Description>
        <rdf:Description rdf:about="eq1-p-e2">
          <mm:mapsTo rdf:resource="eq1-s-e2" />
        </rdf:Description>
        ...
        <rdf:Description rdf:about="eq1-p-s-fr">
          <mm:mapsTo rdf:resource="eq1-s-s" />
        </rdf:Description>
        <rdf:Description rdf:about="eq1-p-o2-fr">
          <mm:mapsTo rdf:resource="eq1-s-o2" />
        </rdf:Description>
        <rdf:Description rdf:about="eq1-p-e1-fr">
          <mm:mapsTo rdf:resource="eq1-s-e1" />
        </rdf:Description>
        <rdf:Description rdf:about="eq1-p-e2-fr">
          <mm:mapsTo rdf:resource="eq1-s-e2" />
        </rdf:Description>
        ...
      </rdf:RDF>
    </annotation-xml>
  </semantics>
</math>

MathML4 in HTML5 in MathML4

We can consider natural language content for expressions like: x plus y is z. The following example shows how such expressions can be represented utilizing MathML4 in HTML5 in MathML4.

<p>
  <span>This is a previous sentence.</span>
  <math>
    <semantics>
      <annotation-xml encoding="application/xhtml+xml">
        <span><math>{{x}}</math> plus <math>{{y}}</math> is <math>{{z}}</math>.</span>
      </annotation-xml>
      <annotation-xml name="contentequiv" encoding="application/mathml-content+xml">
        <apply><eq />
          <apply><plus /><ci>x</ci><ci>y</ci></apply>
          <ci>z</ci>
        </apply>
      </annotation-xml>
    </semantics>
  </math>
  <span>This is a next sentence.</span>
</p>

Conclusion

Some examples were indicated on the topics of natural language and mathematics which explore some of the reasons why it might be desirable to be able to style math elements to display presentation content in an inline manner, flowing with surrounding hypertext and wrapping lines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    MathML-NextIdeas for future releasesaccessibilityIssues related to improving accessibility

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions