Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • M MathJax
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 304
    • Issues 304
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MathJax
  • MathJax
  • Wiki
  • Semantic Embedding Examples

Semantic Embedding Examples · Changes

Page history
Updated Semantic Embedding Examples (markdown) authored Apr 14, 2015 by Volker Sorge's avatar Volker Sorge
Show whitespace changes
Inline Side-by-side
Semantic-Embedding-Examples.md
View page @ 0d18d87c
......@@ -183,3 +183,66 @@ Semantically enriched MathML:
</math>
```
The latter contains an implicit operation, resulting in an empty mrow. The question is: What should we do with elements that are introduced by the semantic interpretation but not part of the original MathML. All these are invisible characters: invisible times, invisible comma, function application.
## Implicit multiplication
To illustrate the point clearer:
Original MathML:
```html
<math>
<mi>a</mi>
<mi>b</mi>
</math>
```
Semantic Tree:
```html
<stree>
<infixop role="implicit" id="3">
⁢
<content>
<operator role="multiplication" id="2">⁢</operator>
</content>
<children>
<identifier role="latinletter" font="italic" id="0">a</identifier>
<identifier role="latinletter" font="italic" id="1">b</identifier>
</children>
</infixop>
</stree>
```
Semantically enriched MathML:
```html
<math>
<mrow semantic-type="infixop" semantic-role="implicit" id="3" semantic-content="2" semantic-children="0,1">
<mi semantic-type="identifier" semantic-role="latinletter" id="0" semantic-parent="0">a</mi>
<mrow semantic-type="operator" semantic-role="multiplication" id="2" semantic-children="" semantic-operator="infixop,⁢" semantic-parent="2"/>
<mi semantic-type="identifier" semantic-role="latinletter" id="1" semantic-parent="1">b</mi>
</mrow>
</math>
```
While in the semantic tree a new content operator is introduced, there is no equivalent MathML element. Do empty mrows really matter? This is the rendering:
Original MathML:
<math>
<mi>a</mi>
<mi>b</mi>
</math>
Semantically enriched MathML:
<math>
<mrow semantic-type="infixop" semantic-role="implicit" id="3" semantic-content="2" semantic-children="0,1">
<mi semantic-type="identifier" semantic-role="latinletter" id="0" semantic-parent="0">a</mi>
<mrow semantic-type="operator" semantic-role="multiplication" id="2" semantic-children="" semantic-operator="infixop,⁢" semantic-parent="2"/>
<mi semantic-type="identifier" semantic-role="latinletter" id="1" semantic-parent="1">b</mi>
</mrow>
</math>
\ No newline at end of file
Clone repository

MathJax Wiki

  • Contributing
    • Contributor License Agreement etc
    • Quick guide to translating mathjax
  • Development
    • Development Process
      • Release Process Checklist
      • Documentation Update Process
      • Source Control Policies
    • Design Documents
      • MathJax Roadmap
      • CDN Hosting
        • CDN requirements
        • CDN Hosting at Google Cloud Storage
      • Performance Discussion
      • Profiling and Diagnostics Tools
      • Documentation generation guide
      • Testing
        • Platforms supported
        • Test Machines
  • MathJax web presence