diff --git a/ts/output/chtml.ts b/ts/output/chtml.ts index aac87af66..82711afdd 100644 --- a/ts/output/chtml.ts +++ b/ts/output/chtml.ts @@ -156,7 +156,9 @@ export class CHTML extends CommonOutputJax< 'mjx-block': { display: 'block' }, 'mjx-itable': { display: 'inline-table' }, 'mjx-row': { display: 'table-row' }, - 'mjx-row > *': { display: 'table-cell' }, + [['cell', 'base', 'under', 'over', 'den'] + .map((node) => `mjx-row > mjx-${node}`) + .join(', ')]: { display: 'table-cell' }, 'mjx-container [inline-breaks]': { display: 'inline' }, diff --git a/ts/output/chtml/Wrappers/menclose.ts b/ts/output/chtml/Wrappers/menclose.ts index e1734d553..774e7441f 100644 --- a/ts/output/chtml/Wrappers/menclose.ts +++ b/ts/output/chtml/Wrappers/menclose.ts @@ -250,45 +250,63 @@ export const ChtmlMenclose = (function (): ChtmlMencloseClass< height: 0, width: 0, }, - 'mjx-menclose > mjx-arrow > *': { + 'mjx-menclose > mjx-arrow > mjx-aline': { display: 'block', position: 'absolute', - 'transform-origin': 'bottom', - 'border-left': em(Notation.THICKNESS * Notation.ARROWX) + ' solid', - 'border-right': 0, 'box-sizing': 'border-box', - }, - 'mjx-menclose > mjx-arrow > mjx-aline': { + 'transform-origin': 'bottom', left: 0, top: em(-Notation.THICKNESS / 2), right: em(Notation.THICKNESS * (Notation.ARROWX - 1)), height: 0, 'border-top': em(Notation.THICKNESS) + ' solid', 'border-left': 0, + 'border-right': 0, }, 'mjx-menclose > mjx-arrow[double] > mjx-aline': { + display: 'block', + position: 'absolute', + 'box-sizing': 'border-box', + 'transform-origin': 'bottom', left: em(Notation.THICKNESS * (Notation.ARROWX - 1)), height: 0, + 'border-left': em(Notation.THICKNESS * Notation.ARROWX) + ' solid', + 'border-right': 0, }, 'mjx-menclose > mjx-arrow > mjx-rthead': { + display: 'block', + position: 'absolute', + 'box-sizing': 'border-box', + 'transform-origin': 'bottom', transform: 'skewX(' + ANGLE + 'rad)', right: 0, bottom: '-1px', + 'border-left': em(Notation.THICKNESS * Notation.ARROWX) + ' solid', + 'border-right': 0, 'border-bottom': '1px solid transparent', 'border-top': em(Notation.THICKNESS * Notation.ARROWY) + ' solid transparent', }, 'mjx-menclose > mjx-arrow > mjx-rbhead': { + display: 'block', + position: 'absolute', + 'box-sizing': 'border-box', transform: 'skewX(-' + ANGLE + 'rad)', 'transform-origin': 'top', right: 0, top: '-1px', + 'border-left': em(Notation.THICKNESS * Notation.ARROWX) + ' solid', + 'border-right': 0, 'border-top': '1px solid transparent', 'border-bottom': em(Notation.THICKNESS * Notation.ARROWY) + ' solid transparent', }, 'mjx-menclose > mjx-arrow > mjx-lthead': { + display: 'block', + position: 'absolute', + 'box-sizing': 'border-box', transform: 'skewX(-' + ANGLE + 'rad)', + 'transform-origin': 'bottom', left: 0, bottom: '-1px', 'border-left': 0, @@ -298,6 +316,9 @@ export const ChtmlMenclose = (function (): ChtmlMencloseClass< em(Notation.THICKNESS * Notation.ARROWY) + ' solid transparent', }, 'mjx-menclose > mjx-arrow > mjx-lbhead': { + display: 'block', + position: 'absolute', + 'box-sizing': 'border-box', transform: 'skewX(' + ANGLE + 'rad)', 'transform-origin': 'top', left: 0, @@ -314,7 +335,7 @@ export const ChtmlMenclose = (function (): ChtmlMencloseClass< bottom: '50%', left: 0, width: em(1.5 * Notation.PADDING), - border: em(Notation.THICKNESS) + ' solid', + 'border-width': em(Notation.THICKNESS), 'border-style': 'solid solid none none', 'border-radius': '0 100% 0 0', 'box-sizing': 'border-box', diff --git a/ts/output/chtml/Wrappers/mfrac.ts b/ts/output/chtml/Wrappers/mfrac.ts index 61bf7e198..a890aeae8 100644 --- a/ts/output/chtml/Wrappers/mfrac.ts +++ b/ts/output/chtml/Wrappers/mfrac.ts @@ -154,7 +154,7 @@ export const ChtmlMfrac = (function (): ChtmlMfracClass { display: 'inline-table', width: '100%' }, - 'mjx-dtable > *': { + 'mjx-dtable > mjx-line, mjx-dtable > mjx-row': { 'font-size': '2000%' }, 'mjx-dbox': { diff --git a/ts/output/chtml/Wrappers/mo.ts b/ts/output/chtml/Wrappers/mo.ts index 66d7af3f1..ad607a802 100644 --- a/ts/output/chtml/Wrappers/mo.ts +++ b/ts/output/chtml/Wrappers/mo.ts @@ -141,7 +141,9 @@ export const ChtmlMo = (function (): ChtmlMoClass { 'mjx-stretchy-h': { display: 'inline-block', }, - 'mjx-stretchy-h > *': { + [['beg', 'ext', 'end', 'mid'] + .map((node) => `mjx-stretchy-h > mjx-${node}`) + .join(', ')]: { display: 'inline-block', width: 0, 'text-align': 'right', @@ -158,7 +160,9 @@ export const ChtmlMo = (function (): ChtmlMoClass { display: 'inline-block', 'text-align': 'center', }, - 'mjx-stretchy-v > *': { + [['beg', 'ext', 'end', 'mid'] + .map((node) => `mjx-stretchy-v > mjx-${node}`) + .join(', ')]: { display: 'block', height: 0, margin: '0 auto', diff --git a/ts/output/chtml/Wrappers/munderover.ts b/ts/output/chtml/Wrappers/munderover.ts index d342e3383..d94b6de5f 100644 --- a/ts/output/chtml/Wrappers/munderover.ts +++ b/ts/output/chtml/Wrappers/munderover.ts @@ -298,7 +298,9 @@ export const ChtmlMover = (function (): ChtmlMoverClass { 'mjx-mover:not([limits="false"])': { 'padding-top': '.1em', // big_op_spacing5 }, - 'mjx-mover:not([limits="false"]) > *': { + [['base', 'over'] + .map((node) => `mjx-mover:not([limits="false"]) > mjx-${node}`) + .join(', ')]: { display: 'block', 'text-align': 'left', }, @@ -436,7 +438,9 @@ export const ChtmlMunderover = (function (): ChtmlMunderoverClass< 'mjx-munderover:not([limits="false"])': { 'padding-top': '.1em', // big_op_spacing5 }, - 'mjx-munderover:not([limits="false"]) > *': { + [['over', 'box'] + .map((node) => `mjx-munderover:not([limits="false"]) > mjx-${node}`) + .join(', ')]: { display: 'block', }, }; diff --git a/ts/output/common/Wrappers/mo.ts b/ts/output/common/Wrappers/mo.ts index 50b178927..fc2ff6ed0 100644 --- a/ts/output/common/Wrappers/mo.ts +++ b/ts/output/common/Wrappers/mo.ts @@ -531,7 +531,7 @@ export function CommonMoMixin< */ public setBreakStyle(linebreak: string = '') { this.breakStyle = - this.node.parent.isEmbellished && !linebreak + this.node.parent?.isEmbellished && !linebreak ? '' : this.getBreakStyle(linebreak); if (!this.breakCount) return;