Math Inline
A fragment of math, e.g a variable name, to be treated as inline content.
Properties
The MathInline type has these properties:
| Name | Description | Type | Inherited from | JSON-LD @id |
Aliases |
|---|---|---|---|---|---|
id |
The identifier for this item. | String |
Entity |
schema:id |
- |
code |
The code of the equation in the mathLanguage. |
Cord |
Math |
stencila:code |
- |
mathLanguage |
The language used for the equation e.g tex, mathml, asciimath. | String |
Math |
stencila:mathLanguage |
math-language, math_language |
authors |
The authors of the math. | Author* |
Math |
schema:author |
author |
provenance |
A summary of the provenance of the math. | ProvenanceCount* |
Math |
stencila:provenance |
- |
compilationDigest |
A digest of the code and mathLanguage. |
CompilationDigest |
Math |
stencila:compilationDigest |
compilation-digest, compilation_digest |
compilationMessages |
Messages generated while parsing and compiling the math expression. | CompilationMessage* |
Math |
stencila:compilationMessages |
compilation-messages, compilation_messages, compilationMessage, compilation-message, compilation_message |
mathml |
The MathML transpiled from the code. |
String |
Math |
stencila:mathml |
- |
Related
The MathInline type is related to these types:
- Parents:
Math - Children: none
Formats
The MathInline type can be encoded (serialized) to, and/or decoded (deserialized) from, these formats:
| Format | Encoding | Decoding | Support | Notes |
|---|---|---|---|---|
| DOM HTML | 🟢 No loss | |||
| HTML | 🔷 Low loss | Encoded as <math> |
||
| JATS | 🟢 No loss | 🔷 Low loss | Encoded as <inline-formula> using special function |
|
| Markdown | 🟢 No loss | 🟢 No loss | Encoded using implemented function | |
| Stencila Markdown | 🟢 No loss | 🟢 No loss | ||
| Quarto Markdown | 🟢 No loss | 🟢 No loss | ||
| MyST Markdown | 🟢 No loss | 🟢 No loss | ||
| LLM Markdown | 🟢 No loss | 🟢 No loss | ||
| LaTeX | 🔷 Low loss | 🔷 Low loss | ||
| 🔷 Low loss | ||||
| Plain text | ⚠️ High loss | |||
| IPYNB | 🔷 Low loss | 🔷 Low loss | ||
| Microsoft Word DOCX | 🔷 Low loss | 🔷 Low loss | ||
| OpenDocument ODT | 🔷 Low loss | 🔷 Low loss | ||
| TeX | 🔷 Low loss | 🔷 Low loss | ||
| JSON | 🟢 No loss | 🟢 No loss | ||
| JSON+Zip | 🟢 No loss | 🟢 No loss | ||
| JSON5 | 🟢 No loss | 🟢 No loss | ||
| JSON-LD | 🟢 No loss | 🟢 No loss | ||
| CBOR | 🟢 No loss | 🟢 No loss | ||
| CBOR+Zstandard | 🟢 No loss | 🟢 No loss | ||
| YAML | 🟢 No loss | 🟢 No loss | ||
| Lexical JSON | 🔷 Low loss | 🔷 Low loss | ||
| Koenig JSON | 🔷 Low loss | 🔷 Low loss | ||
| Pandoc AST | 🔷 Low loss | 🔷 Low loss | ||
| Directory | ||||
| Stencila Web Bundle | ||||
| Debug | 🔷 Low loss |
Bindings
The MathInline type is represented in:
- JSON-LD
- JSON Schema
- Python class
MathInline - Rust struct
MathInline - TypeScript class
MathInline
Testing
During property-based (a.k.a generative) testing, the properties of the MathInline type are generated using the following strategies for each complexity level. Any optional properties that are not in this table are set to None.
| Property | Complexity | Description | Strategy |
|---|---|---|---|
code |
Min+ | Generate a simple fixed string of math. | Cord::from("math") |
| Low+ | Generate a random string of up to 10 alphanumeric characters (exclude whitespace which when leading or trailing causes issues for Markdown). | r"[a-zA-Z0-9]{1,10}".prop_map(Cord::from) |
|
| High+ | Generate a random string of up to 100 characters (excluding control characters). | r"[^\p{C}]{1,100}".prop_map(Cord::from) |
|
| Max | Generate an arbitrary string. | String::arbitrary().prop_map(Cord::from) |
|
mathLanguage |
Min+ | Fixed as TeX (for testing with Markdown which uses dollars to delimit TeX by default) | Some(String::from("tex")) |
| High+ | Generate a random string of up to 10 alphanumeric characters. | option::of(r"[a-zA-Z0-9]{1,10}") |
|
| Max | Generate an arbitrary string. | option::of(String::arbitrary()) |
Source
This documentation was generated from MathInline.yaml by docs_types.rs.