61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
---
|
||
-
|
||
name: "laplacian"
|
||
tag: mrow
|
||
match: "count(*)=2 and
|
||
*[1][self::m:msup and
|
||
*[1][ self::m:mo[.='∇' or .='𝛁'] or self::m:mover[*[1][.='∇'] and *[2][.='→' or .='⇀']] ] and
|
||
*[2][self::m:mn[.='2']]]"
|
||
replace:
|
||
- intent:
|
||
name: "laplacian"
|
||
attrs: "data-intent-property='concat(data-intent-property, \":function:\")'"
|
||
children: [x: "*[2]"]
|
||
|
||
-
|
||
# could be stand alone operator -- catch this case
|
||
name: "laplacian"
|
||
tag: msup
|
||
match: "*[1][ self::m:mo[.='∇' or .='𝛁'] or self::m:mover[*[1][.='∇'] and *[2][.='→' or .='⇀']] ] and
|
||
*[2][self::m:mn[.='2']]"
|
||
replace:
|
||
- intent:
|
||
name: "laplacian"
|
||
attrs: "id='@id'"
|
||
children: []
|
||
|
||
-
|
||
name: divergence-and-curl
|
||
tag: mrow
|
||
match: "count(*)=2 and *[1][@data-acts_as_operator[.='∇' or .='𝛁']]"
|
||
replace:
|
||
- intent:
|
||
xpath-name: "IfThenElse(*[1]/*[2][.='×'] , 'curl', 'divergence')"
|
||
attrs: "data-intent-property='concat(data-intent-property, \":function:\")'"
|
||
children: [x: "*[2]"]
|
||
|
||
-
|
||
name: gradient
|
||
tag: mrow
|
||
match: "count(*)=2 and
|
||
*[1][ self::m:mo[.='∇' or .='𝛁'] or self::m:mover[*[1][.='∇'] and *[2][.='→' or .='⇀']] ] and
|
||
name(BaseNode(*[2])) != 'mo'"
|
||
replace:
|
||
- intent:
|
||
name: "gradient"
|
||
attrs: "data-intent-property='concat(data-intent-property, \":function:\")'"
|
||
children: [x: "*[2]"]
|
||
|
||
-
|
||
name: vector-nabla
|
||
tag: mover
|
||
# normal modified-variable rule is only for "mi"
|
||
match: "*[1][self::m:mo[.='∇' or .='𝛁']] and *[2][.='→' or .='⇀']"
|
||
replace:
|
||
- intent:
|
||
name: "modified-variable"
|
||
attrs: "data-intent-property='concat(data-intent-property, \":function:\")'"
|
||
children:
|
||
- x: "*[1]"
|
||
- x: "*[2]"
|