From be8a644f25a81c7a7254a8acd633951996eae46b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Wang?= Date: Sat, 9 May 2020 15:52:56 +0200 Subject: [PATCH] Add menclose element from MathML3 https://github.com/mathml-refresh/mathml/issues/105 --- index.html | 465 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 465 insertions(+) diff --git a/index.html b/index.html index 58f9cef..fc50f50 100644 --- a/index.html +++ b/index.html @@ -198,6 +198,7 @@

XML

  • <annotation-xml>
  • <maction>
  • <math>
  • +
  • <menclose>
  • <merror>
  • <mfrac>
  • <mi>
  • @@ -1505,6 +1506,7 @@

    Dictionary-based attributes

  • If the embellished operator is the first in-flow child of an mrow-like element, + <menclose>, <mpadded> or <msqrt> with more than one in-flow child (ignoring all space-like children) then it has @@ -1513,6 +1515,7 @@

    Dictionary-based attributes

  • Or, if the embellished operator is the last in-flow child of an mrow-like element, + <menclose>, <mpadded> or <msqrt> with more than one in-flow child @@ -3050,6 +3053,468 @@

    Making Sub-Expressions Invisible <mphantom>

    <mphantom> is implemented for compatibility with full MathML. Authors whose only target is MathML Core are encouraged to use CSS for styling. +
    +

    Enclose Expression Inside Notation <menclose>

    +
    Can this element be simplified?
    +
    OpenType MATH values for menclose notations?
    +

    + The + <menclose> + element renders its content inside the enclosing notation. + It accepts the attributes described in + as well as the + following attribute: +

    + +

    + The + notation + attribute, if present, must have a value that is a + set of space-separated tokens. + A token value that is an + ASCII case-insensitive + match to one of + left, + right, + top, + bottom, + box, + roundedbox, + actuarial, + madruwb, + horizontalstrike, + verticalstrike + updiagonalstrike, + downdiagonalstrike, + longdiv, + circle is handled as described in the following + subsections. Any other token value is ignored. If the + notation attribute is absent then it is treated as + equal to longdiv. +

    +
    + If the notation attribute is empty or equal to the + MathML3 value radical then the notation + attribute is valid and the + <menclose> element will be rendered without + any notation rather than with the default longdiv + notation. +
    +

    + If the <menclose> element does not have its + computed + display property equal to math + then it is laid out according to the CSS specification where + the corresponding value is described. + Otherwise, the layout below is performed. +

    +

    + The notations must only be painted if the + visibility of + the <menclose> element is visible. + In that case, the notations must be painted with the + color + of the <menclose> element. +

    +

    + In-flow + children of the <menclose> element are laid out + using the algorithm of the <mrow> element + to produce a box B corresponding to the content. + In particular, they use the + algorithm for stretching operators along the block axis. + ξ8 is used below to denote the + default rule thickness and is set to OverbarRuleThickness. +

    +
    + ξ8 is the notation used in [[?TEXBOOK]] for the + default rule thickness. +
    +
    +
    Multiple notations
    +

    + If the notation attribute contains the + box value, + then it is treated as it was replaced with the set of values + left right top bottom, removing duplicates values + with the other of the notations, if any. + Similarly, actuarial and + madruwb notations are respectively treated as + equivalent to right top and + and right bottom. +

    +
    Specify in which order the notations are painted?
    +

    + The layout of other individual notation is explained in the + following sections. In general when the notation + attribute contains multiple + values, each algorithm is applied individually to obtain + boxes B1, B2, ... Bn + corresponding to their content. The layout + of the <menclose> element is then performed + as follows: +

    + +
    + The above description explains how to take the union of all + the notations. In the layout of Bi, + B is placed at line-left position sleft,i and + its alphabetic baseline is at line-over position the line-ascent of + Bi. So the final shifts are compatible for + the box B: It will be at line-left position sleft and + its alphabetic baseline aligned with the alphabetic baseline. +
    +
    +
    +
    Border-like notations
    + +
    +
    +
    Strike notations
    + +
    +
    +
    Enclosing notations
    + +
    +

    Script and Limit Schemata